-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
1/20
SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
ERP
When you search for "ERP" on the web, the sheer amount of information that comes up can be
overwhelming—not to mention a little confusing. Every website seems to have its own denition ofERP, and one ERP implementation can vary widely from the net. !hese dierences, however,
underscore the #eibility that can ma$e ERP such a powerful business tool.
!o get a deeper understanding of how ERP solutions can transform your business, it helps to get a
better sense of what ERP actually is and how it wor$s. %ere&s a brief introduction to ERP and why it
seems li$e everyone&s tal$ing about it.
ERP is an acronym for Enterprise Resource Planning, but even its full name doesn&t shed much light
on what ERP is or what it does. 'or that, you need to ta$e a step bac$ and thin$ about all of the
various processes that are essential to running a business, including inventory and ordermanagement, accounting, human resources, customer relationship management ()R*+, and beyond.
t its most basic level, ERP software integrates these various functions into one complete system to
streamline processes and information across the entire organi-ation.
!he central feature of all ERP systems is a shared database that supports multiple functions used by
dierent business units. n practice, this means that employees in dierent divisions—for eample,
accounting and sales—can rely on the same information for their specic needs.
ERP software also oers some degree of synchroni-ed reporting and automation. nstead of forcing
employees to maintain separate databases and spreadsheets that have to be manually merged togenerate reports, some ERP solutions allow sta to pull reports from one system. 'or instance, with
sales orders automatically #owing into the nancial system without any manual re/$eying, the order
management department can process orders more 0uic$ly and accurately, and the nance
department can close the boo$s faster. 1ther common ERP features include a portal or dashboard to
enable employees to 0uic$ly understand the business& performance on $ey metrics.
A Brief History of ERP
!he term ERP was coined in 2334 by 5artner2, but its roots date to the 2364s. 7ac$ then, the concept
applied to inventory management and control in the manufacturing sector. 8oftware engineerscreated programs to monitor inventory, reconcile balances, and report on status. 7y the 2394s, this
had evolved into *aterial Re0uirements Planning (*RP+ systems for scheduling production processes.
n the 23:4s, *RP grew to encompass more manufacturing processes, prompting many to call it *RP/
or *anufacturing Resource Planning. 7y 2334, these systems had epanded beyond inventory
control and other operational processes to other bac$/o;ce functions li$e accounting and human
resources, setting the stage for ERP as we&ve come to $now it.
!oday, ERP has epanded to encompass business intelligence (7+ while also handling "front/o;ce"
functions such as sales force automation (8'+, mar$eting automation and ecommerce. With theseproduct advancements and the success stories coming out of these systems, companies in a broad
range of industries—from wholesale distribution to ecommerce—use ERP solutions.
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
2/20
*oreover, even though the "e" in ERP stands for "enterprise," high/growth and mid/si-e companies
are now rapidly adopting ERP systems. 8oftware/as/a/8ervice (8aa8+ solutions—also referred to as
"cloud computing"—have helped fuel this growth. )loud/based solutions not only ma$e ERP software
more aordable, they also ma$e these systems easier to implement and manage. Perhaps even more
importantly, cloud ERP enables real-time reporting and 7, ma$ing them even valuable to eecutives
and sta see$ing visibility into the business.
s a result, companies of all si-es and a wide range of industries are transitioning to cloud ERPsystems. n fact, 'orrester predicts that 8aa8/based ERP adoption will rise
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
3/20
Three-tier Client/Server Implementations
%n threetier architectures, the database and application functions are separated. !his is very typical of large production
ERP deployments. %n this scenario, satisfying client re"uests re"uires two or more networ& connections. %nitially, the
client establishes communications with the application server. !he application server then creates a second connection to
the database server.
SAP ERP[2] is enterprise resource planning software developed by the German company SAP SE. SAP EP
incorporates the !ey business functions of an organi"ation. #he latest version $SAP EP %.&' was made
available in 2&&%. #he most recent Enhancement Pac!age $E(P)' for SAP EP %.& was released in 2&*+.
,usiness Processes included in SAP EP include -perations $Sales /istribution0 1aterials 1anagement0
Production Planning0 ogistics E3ecution0 and 4uality 1anagement' 5inancials $5inancial Accounting0
1anagement Accounting0 5inancial Supply 6hain 1anagement' and (uman 6apital 1anagement $Payroll0 e7
ecruiting'.[+]
'verview [edit]
SAP ERP is part of the applications in the SAP ,usiness Suite $and SAP ,usiness All
(evelopment[edit]
SAP EP was built based on the former SAP 8+ software. SAP 8+ through version 9.%c consisted of various
applications on top of SAP ,asis0 SAP:s set of middleware programs and tools. ;hen SAP 8+ Enterprise was
launched in 2&&20 all applications were built on top of the SAP ;eb Application Server . E3tension sets were
used to deliver new features and !eep the core as stable as possible. #he ;eb Application Server contained
all the capabilities of SAP ,asis.
As a result of mar!eting changes and changes in the industry0 new versions of SAP have been released. #he
first edition of mySAP EP was launched in 2&&+ and bundled previously separate products0 including SAP
8+ Enterprise0 SAP Strategic Enterprise 1anagement $SE1' and e3tension sets. #he SAP ;eb Application
Server was wrapped into
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
4/20
(eployment and maintenance costs[edit]
Effectively implemented SAP EP systems can have cost benefits [citation needed ]. =ntegration is the !ey in this
process. ?Generally0 a company:s level of data integration is highest when the company uses one vendor to
supply all of its modules.? An out7of7bo3 software pac!age has some level of integration but it depends on the
e3pertise of the company to install the system and how the pac!age allows the users to integrate the different
modules.[@]
=t is estimated that ?for a 5ortune @&& company0 software0 hardware0 and consulting costs can easily e3ceed
*&& million $around @& million to @&& million'. arge companies can also spend @& million to *&& million
on upgrades. 5ull implementation of all modules can ta!e years0? which also adds to the end price. 1idsi"ed
companies $fewer than *0&&& employees' are more li!ely to spend around *& million to 2& million at most0
and small companies are not li!ely to have the need for a fully integrated SAP EP system unless they have
the li!elihood of becoming midsi"ed and then the same data applies as would a midsi"ed company.[@]=ndependent studies have shown that deployment and maintenance costs of a SAP solution can greatly vary
depending on the organi"ation. 5or e3ample0 some point out that because of the rigid model imposed by SAP
tools0 a lot of customi"ation code to adapt to the business process may have to be developed and maintained.[%] Some others pointed out that a return on investment could only be obtained when there was both a sufficient
number of users and sufficient freBuency of use. [)][C] /eploying SAP itself can also involve a lot of time and
resources.[D]
)*P +asis[edit]
After e3tensive developments in SAP0 it is now divided into two subgroups stating ,asis into one and Security
into other $previously ,asis consultants used to wor! on both basis as well as Security issues' very difficult in
use
ERP advantages and disadvantages[edit]
Advantage
• Allows easier global integration $barriers of currency e3change rates0 language0 and culture can be
bridged automatically'
• pdates only need to be done once to be implemented company7wide
• Provides real7time information0 reducing the possibility of redundancy errors
• 1ay create a more efficient wor! environment for employees[@]
• Fendors have past !nowledge and e3pertise on how to best build and implement a system
• ser interface is completely customi"able allowing end users to dictate the operational structure of the
product
Disadvantages
• oc!ed into relationship by contract and manageability with vendor 7 a contract can hold a company to
the vendor until it e3pires and it can be unprofitable to switch vendors if switching costs are too high
https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit§ion=4https://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-6https://en.wikipedia.org/wiki/Return_on_investmenthttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-7https://en.wikipedia.org/wiki/SAP_ERP#cite_note-8https://en.wikipedia.org/wiki/SAP_ERP#cite_note-8https://en.wikipedia.org/wiki/SAP_ERP#cite_note-9https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit§ion=5https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit§ion=6https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/Switching_barriershttps://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit§ion=4https://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/SAP_ERP#cite_note-6https://en.wikipedia.org/wiki/Return_on_investmenthttps://en.wikipedia.org/wiki/SAP_ERP#cite_note-7https://en.wikipedia.org/wiki/SAP_ERP#cite_note-8https://en.wikipedia.org/wiki/SAP_ERP#cite_note-9https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit§ion=5https://en.wikipedia.org/w/index.php?title=SAP_ERP&action=edit§ion=6https://en.wikipedia.org/wiki/SAP_ERP#cite_note-Monk_Wagner_2009_p23-34-5https://en.wikipedia.org/wiki/Switching_barriers
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
5/20
• =nfle3ibility 7 vendor pac!ages may not fit a company:s business model well and customi"ation can be
e3pensive
• eturn on =nvestment may ta!e too long to be profitable
• =mplementations have a ris! of pro>ect failure[@]
#he SAP
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
6/20
=n the SAP system0 these functions are provided by the 56 interface system. #he 56 interface enables function calls
between two SAP systems0 or between an SAP system and an e3ternal system.
#he 56 interface system is made up of the following elementsI
• Calling interface for A*A$ programs
Each 7P program can call a remote function module using the command )CC
'D@)[email protected]!@!1@. !he parameter E8!@!1@ informs the 8P system that the called function
module runs in a dierent system to the calling system. R') communication with the remote system
ta$es place as a part of the )CC 'D@)!1@ command.
R') function modules in an 8P system must be real function modules and must be registered
as remote enabled in the 8P system.
f the calling program and the called program are both 7P programs, the R') interface provides both
communication partners. !he calling program can be any 7P program. !he called program must be a
function module that is registered as remote enabled.
• Interfaces for calling non2A*A$ programs
f either the calling program or the called partner is not an 8P program, the program in 0uestion must
be programmed in such a way that it can play the role of the other partner in R') communication.
R')/supported and 5D/supported interfaces can be used by eternal programs to call function modules
in 8P systems, and eecute them in these systems. Ci$ewise, 7P programs can also use these
interfaces to use functions supplied by eternal programs.
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
7/20
ntegration
!here are the following installation options for the 8P @etWeaver 8?
F A*A$ &'stem (with integrated A* )ontainer+. n the graphic these are the components in the blue bo
on the left. With this installation you can run 7P programs and selected 8P Bava applications.
F +aa s'stem. n the graphic these are the components in the green bo on the right. With thisinstallation you can run Bects of applications running in the A,AP environment to benefit from their
business logic and persistence.
Integration layer
#he local integration engine is an integral part of SAP ;eb AS and allows instant connection to SAP
= which is currently called as SAP P=. #he local integration engine provides messaging services that
e3change messages between the components that are connected in SAP =.
Conne"tivity layer
#he =nternet 6ommunication 1anager $=61' dispatches user interface reBuests to the presentation layer
and provides a single framewor! for connectivity using various communication protocols. 6urrently0 modules
are available for (yperte3t #ransfer Protocol $(##P'0 (##PS $e3tension of (##P running under theSecure
Soc!et ayer $SS''0 Simple 1ail #ransfer Protocol $S1#P'0 Simple -b>ect Access Protocol $S-AP'0
and 5ast 6ommon Gateway =nterface $5ast6G='.
Persisten"e layer
#he persistence layer supports database independence and scalable transaction handling. ,usiness logic
can be developed completely independent of the underlying database and operating system. /atabase
independence is also made possible by support for open standards. #he database interface ensures
optimi"ed data access from within the A,AP environment through -pen S4. SAP propagates the
outstanding capabilities of -pen S4 for A,AP to -pen S4 for Hava and offers a variety of
standard Application Programming =nterfaces $AP=s' to application programmers0 such as S4H. -ther
technologies0 such asHava /ata -b>ects $H/-' and 6ontainer71anaged Persistence $61P' for EH,0 or the
direct use of the Hava /atabase 6onnectivity $H/,6' AP=0 are also supported.
https://en.wikipedia.org/wiki/Java_Server_Pageshttps://en.wikipedia.org/wiki/Web_Dynprohttps://en.wikipedia.org/wiki/J2EEhttps://en.wikipedia.org/wiki/Enterprise_JavaBeanhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_PIhttps://en.wikipedia.org/wiki/Hypertext_Transfer_Protocolhttps://en.wikipedia.org/wiki/HTTPShttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocolhttps://en.wikipedia.org/wiki/Simple_Object_Access_Protocolhttps://en.wikipedia.org/wiki/FastCGIhttps://en.wikipedia.org/wiki/Database_transactionhttps://en.wikipedia.org/wiki/Database_transactionhttps://en.wikipedia.org/w/index.php?title=Open_SQL&action=edit&redlink=1https://en.wikipedia.org/wiki/Application_Programming_Interfacehttps://en.wikipedia.org/wiki/SQLJhttps://en.wikipedia.org/wiki/Java_Data_Objectshttps://en.wikipedia.org/wiki/Java_Data_Objectshttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Java_Database_Connectivityhttps://en.wikipedia.org/wiki/Java_Database_Connectivityhttps://en.wikipedia.org/wiki/Java_Server_Pageshttps://en.wikipedia.org/wiki/Web_Dynprohttps://en.wikipedia.org/wiki/J2EEhttps://en.wikipedia.org/wiki/Enterprise_JavaBeanhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_XIhttps://en.wikipedia.org/wiki/SAP_PIhttps://en.wikipedia.org/wiki/Hypertext_Transfer_Protocolhttps://en.wikipedia.org/wiki/HTTPShttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Secure_Socket_Layerhttps://en.wikipedia.org/wiki/Simple_Mail_Transfer_Protocolhttps://en.wikipedia.org/wiki/Simple_Object_Access_Protocolhttps://en.wikipedia.org/wiki/FastCGIhttps://en.wikipedia.org/wiki/Database_transactionhttps://en.wikipedia.org/w/index.php?title=Open_SQL&action=edit&redlink=1https://en.wikipedia.org/wiki/Application_Programming_Interfacehttps://en.wikipedia.org/wiki/SQLJhttps://en.wikipedia.org/wiki/Java_Data_Objectshttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Container-Managed_Persistencehttps://en.wikipedia.org/wiki/Java_Database_Connectivity
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
8/20
!or $rocess
enition
n 8P application server has to process 8P re0uests from multiple front ends. !he application server has
the use of a dispatcher, which gathers the re0uests and transfers them for processing to the wor
processes. !he wor$ processes then eecute the desired re0uests (for eample, an 7P program+.
Dse
%ere are the following types of wor$ processes?
!or $rocessT'pe
3se
ialog
Eecutes dialog programs (7P+
Dpdate
synchronous database changes (is controlled by a )1**! W1RGstatement in a dialog wor$ process+
7ac$ground
Eecutes time/dependent or event/controlled bac$ground >obs
En0ueue
Eecutes loc$ing operations (if 8P transactions have to synchroni-e
themselves+
8pool
Print formatting (to printer, le or database+
8everal dialog wor$ processes usually run on one application server. !here are usually only one or two
other types of wor$ processes.
8tructure
wor$ process consists of a screen processor, the 7P interpreter, the database interface and the tas$
handler that calls these programs.
ntegration
!he dispatcher is the central process of the application server. fter it has been started, it generates the
wor$ process. Hou can congure the number of dierent types of wor$ processes that run on an application
server.
Wor# $ro"esses are part of the application server which can handle ma3imum one presentation
server reBuest at a time. =t contains a tas! handler0 A,AP interpreter0 screen interpreter and database
interface.
https://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htmhttps://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htmhttps://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htmhttps://help.sap.com/saphelp_nw70/helpdata/en/35/2a7e82aae85cd5e10000009b38f974/content.htm
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
9/20
*. All the reBuests are passed through tas! handler.
2. Screen =nterpreter is responsible for interpreting the screen flow logic contains in the reBuests.
+. A,AP interpreter is responsible for the interpretation of the processing logic of the program.
9. /atabase interface is responsible for all the connection0 accessing the data and all other things
with database.
@. 5or every reBuest0 wor! process need to use following two special memory areas.
a. Dser )ontet ()ontains the information about the user+
b. Roll rea ()ontains the information about the program+
#here are following seven types of wor! processes I
• I ialog Wor$ Process (!o eecute dialog steps+
• A I Dpdate Wor$ processes (for database updates+
• 7 I 7ac$ground Wor$ Processes (Processing the bac$ground Bobs without user
interaction+• 8 I 8pool Wor$ Processes (!o print spool re0uests+
• E I En0ueue Wor$ processes (ealing with loc$ table+
• * I *essage Wor$ Processes (ealing with routing the messages between
application servers+
• G J Gateway ;or! processes $/ealing with messages into and from the SAP system'
&oftware Deplo'ment Manager $urpose !he 8oftware eployment *anager (8*+ is a tool with which you can manage and deploy software
pac$ages (8oftware eployment rchives and 8oftware )omponent rchives+ that you receive from 8P.
eatures !he 8* consists of?
F 8* 8erver
F 8* 5D
F 8* Repository
8* 5D connects to the 8* server through a 8* proprietary protocol.
https://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/1f1083e7dd2bc5e10000000a114cbd/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/3c/7d9e2588827546a2b8f2e7d8a26434/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/047547105a2bc6e10000000a114cbd/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/1f1083e7dd2bc5e10000000a114cbd/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/3c/7d9e2588827546a2b8f2e7d8a26434/content.htmhttps://help.sap.com/saphelp_nw70ehp1/helpdata/en/43/047547105a2bc6e10000000a114cbd/content.htm
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
10/20
&DM &erer 3se % Eecutes the operations over 8Ds.
Integration % t connects the 8* 5D user with the B
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
11/20
!he )entral 8ervices are always re0uired when a Bava cluster is installed. !he )entral 8ervices instance has
its own system number.
When )entral 8ervices are running, further Bava instances are started with the program B)ontrol.
Central &erices Instance
)entral services form the basis of communication and synchroni-ation for the 8 Bava cluster. !hey are responsible for loc$ administration, message echange, and load balancing within the
cluster.
)entral services run on one physical machine and constitute a separate instance. !his 8P
)entral 8ervices nstance (8)8+ comprises the message server and the en0ueue server.
@ote
!he central services are always re0uired when an 8 Bava cluster is installed. !he central services
instance has its own instance number.
!he 8P start service (sapstartsrv(.exe)+ starts the 8)8 instance rst. When the central
services are running, the other Bava instances are started.
Message &erer
!he message server $eeps a list of all server processes in the 8 Bava cluster and provides
information about their availability to nternet )ommunication *anager ()*+. t also represents
the infrastructure for data echange between the participating server processes.
!he message server is responsible for the following tas$s in the 8 Bava cluster?
• @otication of events that arise in the cluster, for eample when a server process is
started or stopped
• )ommunication between dierent server processes
• 'orwarding of messages and re0uests to all participants• Preparation of logon information for the 8P Web ispatcher
• Echange of cache information in the cluster
!he message server is addressed through the )luster *anager of one of the server processes in
the Bava cluster, as shown in the gure below.
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
12/20
Message &erer Connection
*ore information? )luster )ommunication in 8 Bava? rchitecture
0n"ueue &erer
!he en0ueue server manages logical loc$s. !he en0ueue server runs on the )entral 8ervicesinstance of the Bava cluster. t manages the loc$ table in the main memory and receives re0uests
for setting or releasing loc$s. t maps the logical loc$s to the database.
!he en0ueue server has the following tas$s?
• nternal synchroni-ation within the 8 Bava cluster.
• !he applications can loc$ ob>ects and release loc$s again. !he en0ueue server processes
these re0uests and manages the loc$ table with the eisting loc$s.
What is ABAP/4
What is 7PJK L
A,AP $Advanced ,usiness Application Programming' is a programming language for developing applications
for the SAP 8+ system. A,AP is one of many application7specific fourth7generation languages $9Gs' first
developed in the *DC&s. #he most basic functions were written in A,AP. A,AP89 is the language created by
SAP AG for implementation and customi"ation of their 8+ system.
#he A,AP programming language was originally used by developers to develop the SAP R&' platform. A,AP
was one of the first languages to include the concept of ogical /atabases $/,s'0 which provides a high level
of abstraction from the basic database level.
=t was also intended to be used by SAP customers to enhance SAP applications J customers can develop
custom reports and interfaces with A,AP programming. #he language is fairly easy to learn for programmers
but it is not a tool for direct use by non7programmers. Good programming s!ills0 including !nowledge of
http://help.sap.com/saphelp_nwpi711/helpdata/en/48/080ec25f683c8be10000000a42189c/content.htmhttp://en.wikipedia.org/wiki/SAP_R/3http://help.sap.com/saphelp_nwpi711/helpdata/en/48/080ec25f683c8be10000000a42189c/content.htmhttp://en.wikipedia.org/wiki/SAP_R/3
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
13/20
relational database design and preferably also of ob>ect7oriented concepts are reBuired to create A,AP
programs.
5rom this blog onwards we are loo!ing only for technical part i.e A,AP89 in detail.
ABAP language Contains below mentioned topics
*.Data Dictionary Objects
Data Base Tables
Views
Structures
Data Elements
Domains
Search helps
Lock objects
Primary Key and 5oreign Key
#able 1aintenance Generator
2.Internal Tables
Internal Tables Introduction
Declaring Internal Table
Populating Internal Table
Processing Internal Table
Initializing Internal Tables
3.odurali!ation Tec"ni#ues
Sub7routines
5unction 1odule
$. %&PO%T'
6lassical
=nteractive
Abap list viewer $AF'
(. BDC ) Batc" Data Communication
Session method6all #aransaction 1ethod
S1;
*. odule pool Programming
Screen painter
Menu painter
+. ,orms
Scripts
Smartforms-.Cross)Aplications
AE =/-6S
,AP=:s
,A/=Ls
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
14/20
.iscellaneous Topics
6orrection #ransport reBuest $6#S'
#ransport -rgani"er
;or! ,ench eBuest
#as! 6reation
elease -b>ects
SAP 1emory A,AP 1emoryS/ 5low
11 5low
What is an Instance?
An SAP R/3 instance defines a group of resources such as
• memory
• work processes
• dispatcher
• gateway
usually for a single application or database server within an SAP R/3 client-server
environment.
asically there are three types of instances!-
". #ialog instance
$. %entral &nstance
3. #atabase &nstance
/ SAP System= Dialog Instance + Central Instance + Database Instance.
'or one SAP system all three instances share the same directory.
• Dialog Instance!- #ialog instance e(ists in the application layer.&ts purpose is to
maintain load on the server.#ialog instance e(ists on different host.&f number of dialoginstance increases hardware resources)dispatcher)workprocesses also increases so that
more number of users can login at a time.
• Central Instance!- %entral instance can also work as dialog instance.ut the main
thing is that it contains *n+ueue and message servers. All dialog instances communicate
with central instance before re+uesting database with message server. ,hen an instance
is started) the dispatcher process attempts to establish a connection to the message
server so that it can announce the services it provides #&A) %) SP) 0P#) etc.1.2ock
table is managed in central instance by en+ueue service.• Database Instance!- As normal database instance accepts re+uests from central
instance to fulfill the users re+uests. As lock management system provided by en+ueue
server it will provide service to users.
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
15/20
What is SID ?*ach R/3 installation SAP system1 of a database server and several app servers running the
application logic is uni+uely identified by a single S SAP System &dentification1) SAPS 4
a three-character code such as %"") PR#) *56) etc.1)
Logical System Names:-,hen data is distributed between different systems) each system within a network has to beclearly identifiable. he 7logical system7 deals with this issue.
A logical system is an application system in which the applications work together on a
common database. &n SAP terms) the logical system is a client.
Since the logical system name is used to identify a system uni+uely within the network) two
systems cannot have the same name if they are connected to each other as , systems or
as source systems) or if there are plans to connect them in any way.
Example for prodction system logical system name might be:-
S 8 P9
S #escription - P:Production type1) :, component1) 9:9ermany plant name1
Logical System name-
P9%2;"
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
16/20
service evaluates entries from the *icrosoft Windows start prole, copies
the NsapsidOadm user environment to the registry, and reads the re0uired environment
variables from the registry.
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
17/20
computer by using a punch card0 punch tape or flic!ing switches. #here is no need to translate the code and it will
run straight away. #his may sound rather archaic0 but there are benefitsI
6ode can be fast and efficient
6ode can ma!e use of specific processor features such as special registers
And of course drawbac!s
6ode cannot be ported to other systems and has to be rewritten
6ode is difficult to edit and update
2nd gen – As you can imagine0 writing in *s and &s all day will leave you prone to mista!es. Second7generation programming languages are a way of describing Assembly code which you may have already met.
,y using codes resembling English0 programming becomes much easier. #he usage of these mnemonic codes such
as LDA for load and STA for store means the code is easier to read and write. #o convert an assembly code
program into ob>ect code to run on a computer reBuires an Asse()ler and each line of assembly can be replaced
by the eBuivalent one line of ob>ect $machine' codeI
Asse()ly Code O)*e"t Code
LDA A
ADD #5
STA A
!P #3
7M Assembler 7M
&&&*&&**&*&&
&&*&&&&&&*&*
&&**&&**&*&&
&*&&&&&&&&**
Assembly code has similar benefits to writing in machine codeN it is a one to one relationship after all. #his means
that assembly code is often used when writing low level fast code for specific hardware. ntil recently machine code
was used to program things such as mobile phones0 but with the speed and performance of languages such
as 6 being very close to Assembly0 and with 6:s ability to tal! to processor registers0 Assembly:s use is declining.
As you can hopefully see there are benefits to using Second7Generation anguages over 5irst7Generation0 plus a
few other things that ma!es Assembly greatI
6ode can be fast and efficient
6ode can ma!e use of specific processor features such as special registers
As it is closer to plain English0 it is easier to read and write when compared to machine code
And of course drawbac!s
6ode cannot be ported to other systems and has to be rewritten
3rd gen – Even though Assembly code is easier to read than machine code0 it is still not straightforward toperform loops and conditionals and writing large programs can be a slow process creating a mish7mash
of goto statements and >umps. #hird7generation programming languages brought many programmer7friendly
https://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Mnemonichttps://en.wikipedia.org/wiki/C_(programming_language)https://en.wikipedia.org/wiki/C_(programming_language)https://en.wikipedia.org/wiki/Gotohttps://en.wikipedia.org/wiki/Third-generation_programming_languagehttps://en.wikipedia.org/wiki/Third-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Second-generation_programming_languagehttps://en.wikipedia.org/wiki/Mnemonichttps://en.wikipedia.org/wiki/C_(programming_language)https://en.wikipedia.org/wiki/Gotohttps://en.wikipedia.org/wiki/Third-generation_programming_language
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
18/20
features to code such as loops0 conditionals0 classes etc. #his means that one line of third generation code can
produce many lines of ob>ect $machine' code0 saving a lot of time when writing programs.
I($erative lang!ages 7 code is e3ecuted line by line0 in a programmer defined seBuence
#hird generation $(igh evel anguages' codes are imperative. =mperative means that code is e3ecuted line by line0
in seBuence. 5or e3ampleI
" dim x as integer
# x = $
$ dim y as integer
% y = &
& x = x + y
' console.riteline(x)
;ould outputI
#hird generation languages can be platform independent0 meaning that code written for one system will wor! on
another. #o convert a +rd generation program into ob>ect code reBuires a Co($iler or an Inter$reter .
#o summariseI
(ardware independence0 can be easily ported to other systems and processors
#ime saving programmer friendly0 one line of +rd gen is the eBuivalent of many lines of *st and 2nd gen
(owever
6ode produced might not ma!e the best use of processor specific features unli!e *st and 2nd gen
Adanced =rd gen ; $'thon% -ub'% $erl bc> the' hae few
properties of ?t ,9s also
4th gen – 5ourth7generation languages are designed to reduce programming effort and the time it ta!es to
develop software0 resulting in a reduction in the cost of software development. #hey are not always successful in
this tas!0 sometimes resulting in inelegant and hard to maintain code. anguages have been designed with a
specific purpose in mind and this might include languages to Buery databases $S4'0 languages to ma!e reports
$-racle eports' and languages to construct user interface $'. An e3ample of 9th generation programming type
is the declarative language
--an example of a Structured Query Language (SQL) to select criminal details from a
database
SELECT name* eigt* Do, FROM criminals WHERE n-mScars = /
De7nition 2 !hat does Fourth Generation (Programming) Language(4GL) mean@
https://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/SQLhttps://en.wikipedia.org/wiki/Oracle_Reportshttps://en.wikipedia.org/wiki/XULhttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/SQLhttps://en.wikipedia.org/wiki/Oracle_Reportshttps://en.wikipedia.org/wiki/XUL
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
19/20
A 7ourt" generation programming4 language $=14 is a grouping o7 programming languages t"at attempt to get
closer t"an 3=1s to "uman language6 7orm o7 t"in8ing and conceptuali!ation.
$=1s are designed to reduce t"e o5erall time6 e77ort and cost o7 so7tware de5elopment. T"e main domains and
7amilies o7 $=1s are database #ueries6 report generators6 data manipulation6 analysis and reporting6 screen
painters and generators6 =>I creators6 mat"ematical optimi!ation6 web de5elopment and general purpose
languages. Also 8nown as a $t" generation language6 a domain speci7ic language6 or a "ig" producti5ity
language.
Techopedia eplains Fourth Generation (Programming) Language(4GL)
$=1s are more programmer)7riendly and en"ance programming e77iciency wit" usage o7 &nglis")li8e words and
p"rases6 and w"en appropriate6 t"e use o7 icons6 grap"ical inter7aces and symbolical representations. T"e 8ey to
t"e reali!ation o7 e77iciency wit" $=1s lies in an appropriate matc" between t"e tool and t"e application
domain. Additionally6 $=1s "a5e widened t"e population o7 pro7essionals able to engage in so7tware
de5elopment.
any $=1s are associated wit" databases and data processing6 allowing t"e e77icient de5elopment o7 business)oriented systems wit" languages t"at closely matc" t"e way domain e:perts 7ormulate business rules and
processing se#uences. any o7 suc" data)oriented $=1s are based on t"e 'tructured ?uery 1anguage '?146
in5ented by IB and subse#uently adopted by A0'I and I'O as t"e standard language 7or managing structured
data.
ost $=1s contain t"e ability to add 3=1)le5el code to introduce speci7ic system logic into t"e $=1 program.
T"e most ambitious $=1s6 also denoted as ,ourt" =eneration &n5ironments6 attempt to produce entire systems
7rom a design made in CA'& tools and t"e additional speci7ication o7 data structures6 screens6 reports and some
speci7ic logic.
5th gen – A +i+t, generation $rogra((ing lang!age $abbreviated as -.L' is a programming language based
on solving problems using constraints given to the program0 rather than using an algorithm written by a programmer.
1ost constraint7based and logic programming languages and some declarative languages are fifth7generation
languages.
;hile fourth7generation programming languages are designed to build specific programs0 fifth7generation languages
are designed to ma!e the computer solve a given problem without the programmer. #his way0 the programmer only
needs to worry about what problems need to be solved and what conditions need to be met0 without worrying about
how to implement a routine or algorithm to solve them. 5ifth7generation languages are used mainly in artificial
intelligence research. Prolog0-PS@0 and 1ercury are e3amples of fifth7generation languages.
#hese types of languages were also built upon isp0 many originating on the isp machine0 such as =6A/. #hen0
there are many frame languages0 such as K7-ect0 hoping to design a massive computer networ! of machines using these tools.
https://en.wikipedia.org/wiki/Programming_languagehttps://en.wikipedia.org/wiki/Algorithmhttps://en.wikipedia.org/wiki/Algorithmhttps://en.wikipedia.org/wiki/Constraint_programminghttps://en.wikipedia.org/wiki/Logic_programminghttps://en.wikipedia.org/wiki/Declarative_languagehttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Prologhttps://en.wikipedia.org/wiki/OPS5https://en.wikipedia.org/wiki/Mercury_programming_languagehttps://en.wikipedia.org/wiki/Lisp_machinehttps://en.wikipedia.org/wiki/Lisp_machinehttps://en.wikipedia.org/wiki/ICAD_(software)https://en.wikipedia.org/wiki/ICAD_(software)https://en.wikipedia.org/wiki/Frame_languagehttps://en.wikipedia.org/wiki/Frame_languagehttps://en.wikipedia.org/wiki/KL-ONEhttps://en.wikipedia.org/wiki/KL-ONEhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref1-1https://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref2-2https://en.wikipedia.org/wiki/Fifth_generation_computer_systems_projecthttps://en.wikipedia.org/wiki/Fifth_generation_computer_systems_projecthttps://en.wikipedia.org/wiki/Programming_languagehttps://en.wikipedia.org/wiki/Algorithmhttps://en.wikipedia.org/wiki/Constraint_programminghttps://en.wikipedia.org/wiki/Logic_programminghttps://en.wikipedia.org/wiki/Declarative_languagehttps://en.wikipedia.org/wiki/Fourth-generation_programming_languagehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Artificial_intelligencehttps://en.wikipedia.org/wiki/Prologhttps://en.wikipedia.org/wiki/OPS5https://en.wikipedia.org/wiki/Mercury_programming_languagehttps://en.wikipedia.org/wiki/Lisp_machinehttps://en.wikipedia.org/wiki/ICAD_(software)https://en.wikipedia.org/wiki/Frame_languagehttps://en.wikipedia.org/wiki/KL-ONEhttps://en.wikipedia.org/wiki/Wikipedia:Citation_neededhttps://en.wikipedia.org/wiki/Japanhttps://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref1-1https://en.wikipedia.org/wiki/Fifth-generation_programming_language#cite_note-Ref2-2https://en.wikipedia.org/wiki/Fifth_generation_computer_systems_projecthttps://en.wikipedia.org/wiki/Fifth_generation_computer_systems_project
-
8/17/2019 SAP NETWEAVER APPLICATION SERVER FUNDAMENTALS
20/20
(owever0 as larger programs were built0 the flaws of the approach became more apparent. =t turns out that0 given a
set of constraints defining a particular problem0 deriving an efficient algorithm to solve it is a very difficult problem in
itself. #his crucial step cannot yet be automated and still reBuires the insight of a human programmer.
PROLO. /a"rony( +or PROgra((ing LO.i"0 is an e1a($le o+ a Logi"al Progra((ing Lang!age2 It !ses a
+or( o+ (at,e(ati"al logi" /$redi"ate "al"!l!s0 to solve 3!eries on a $rogra((er%given data)ase o+ +a"ts
and r!les2
• First Generation Language -- Assembly Language -- Coding in this language was
done in Binary codes 0 & 1.
• Second Generation Language -- b!ect riented "rograming. Coding is done using
the C# C$$
• %hird Generation Language -- 'ent (ri'en "rograming. Coding is done using the
F)%)A*# "ASCAL# CBL# C# C$$# +a'a# C,# C$$# B etc. +a'aScrit
• Ad'anced %hird Generation Language -- "ython# )uby# "erl.
• Fourth Generation Language -- ABA"
• Fi/th Generation Language -- "rolog# "S# ercury