sapag+-+sap50
TRANSCRIPT
SAP50 4.0B Basis-Technology Preface Copyright Level 1 Target Audience Course Goals Course Content Basis System and the System Environment Objectives R/3 Integration Diagram R/3 in the Business Framework Business Framework Components R/3 as an Open System Client / Server - Scalability of the R/3 System Client / Server Principles R/3 System Client / Server Configurations Three-Tier Hierarchy R/3 Basis Middleware R/3 Basis System Overview System Platforms for the R/3 System Basis System - Summary Navigation Objectives Logging On Clients in the R/3 System R/3 Menu Structure Screen Selecting Functions Field Help R/3 Online Help System Functions - Services System Functions - User Profile Favorites List Session Manager Summary System Kernel System Kernel - Objectives R/3 Presentation Interface Relational Database Management Systems R/3 Database Interface Processing User Requests Dialog Work Processes R/3 Application Services SAP Transactions and Screens LUW (Logical Unit of Work) Requesting a Lock SAP Lock Objects Writing Log Records Updating Log Records Removing Locks Background Processing
Workload-Balancing R/3 Printer Services R/3 Instance Summary Interfaces Interfaces - Objectives Communication: R/3 as an Open System R/3 Gateway Service Communication With CPI-C Remote Function Call RFC from R/3 System to R/3 System Business Objects and BAPIs R/3 System as an OLE Client R/3 System as an OLE Server Internet Architecture EDI Architecture Distribution of Business Processes with ALE Data Transfer Batch Input Interfaces - Summary ABAP Dictionary Objectives Modeling Models Data Modeler / SERM Conversion of the Model What is the ABAP Dictionary? Integration of the ABAP Dictionary Tables and Fields ABAP Example: Access to a Table Basic Objects of the ABAP Dictionary Two-Level Domain Concept What is a Foreign Key ? Example: Inserting a Data Record Tables and Structures Views R/3 Standard Function: Input Help Summary ABAP Workbench Unit Objectives Change Levels The Three-System Landscape Recommended by SAP Project Management in the Workbench Organizer Logical and Temporal Organization Closing a Project Writing an Application R/3 Repository and Repository Objects ABAP Workbench Tools Principles of ABAP ABAP Dialogs User Dialogs Database Dialogs ABAP Query / Reporting Testing and Tuning Summary
Administration and Remote Services Administration - Objectives Security Aspects in the R/3 System The Authorization Concept The Profile Generator System Administration System Administration: Terminations R/3 Computing Center Management System New Monitoring Architecture R/3 Service & Support: Virtual Infrastructure SAP Remote Services R/3 Online Service System (OSS) Administration - Summary Exercises Exercise for Unit: Navigation Exercise for Unit: System Kernel Exercise for Unit: Interfaces Exercise for Unit: ABAP Dictionary Exercise for Unit: ABAP Workbench Exercise for Unit: Administration Solutions Solutions for Unit: Navigation Solutions for Unit: System Kernel Solutions for Unit: Interfaces Solutions to Unit: ABAP Dictionary Solutions for Unit: ABAP Workbench Solutions for Unit: Administration Appendix The Java GUI R/3 System Architecture Worksheet for SAP50 / ABAP Dictionary Transactions for SAP50 Question 1 Question 2 Question 3 Question 4 Question 5 Question 6 Question 7 Question 8 Question 9 Question 10 Question 11 Question12 Question 13 Question 14 Question 15 Question 16 Question 17 Question 18 Question 19 Question 20 Question 21 Question 22 Question 23 Question 24 Question 25
© SAP AG
R
SAP 50SAP 50
Basis TechnologyBasis Technology
SAP50 Basis-Technology Release: 4.0B Material no.: 50025021 November 1998
© SAP AG
R
Copyright
Copyright 1998 SAP AG. All rights reserved.
Neither this training manual nor any part thereof maybe copied or reproduced in any form or by any means,or translated into another language, without the priorconsent of SAP AG. The information contained in thisdocument is subject to change and supplementwithout prior notice.
All rights reserved.
Trademarks • SAP and the SAP logo are registered trademarks of SAP AG. • MS-DOS and EXCEL are registered trademarks of Microsoft. • OS/2, CICS, MVS, ACF/VTAM, VSE, AIX, OS/400 and AS/400 are registered trademarks of
IBM. • X Window System is a registered trademark of MIT University. • SINIX, UTM and BS2000 are registered trademarks of Siemens. • UNIX is a registered trademark of AT&T. • HP-UX is a registered trademark of Hewlett Packard. • DECnet, DECstation, DECsystem, VAXstation and VMS are registered trademarks of DEC. • Ethernet is a registered trademark of the Xerox Corporation. • ORACLE SQL*net, SQL*+ PRO*C are registered trademarks of the ORACLE Corporation. • INFORMIX-OnLine and INFORMIX-ESQL/C are registered trademarks of the INFORMIX
Corporation.
© SAP AG
R
Level 1Level 1
SAP 70 1 dayIDESModel Company
SAP 80 2 daysR/3 Service & Support
SAP 50 2 daysBasis Technology
SAP 20 2 daysSAP R/3 Overview
SAP 60 1 dayBusiness Solutionsfor the Internet
Level 2
SAP 81 1 dayOSS Online ServiceSystemSAP 82 1 dayNetwork Technology
Basis
Level 3Applications Applications
Basis
© SAP AG
R
Target Audience
Project team
Consultants
R/3 administrators
R/3 developers
Notes to the user
The training materials are not teach-yourself programs. They complement the course instructor's explanations. On the sheets, there is space for you to write down additional information.
© SAP AG
R
Course Goals
R/3 System architecture
R/3 System navigation
R/3 System interfaces
R/3 System development environment
R/3 System administration
This course will provide you with knowledgeabout the following topics:
© SAP AG
R
Course Content
Unit 5 ABAP Dictionary
Unit 6 ABAP Workbench
Unit 7 Administration and Remote Services
Unit 1 Basis System and the System Environment
Unit 2 Navigation
Unit 3 System Kernel
Unit 4 Interfaces
Introduction
Exercises
Solutions
Appendices
© SAP AG
R
Basis System and the System Environment
The Integration Model
Business Framework Architecture
Openness and Scalability
The Client / Server Concept
The R/3 Basis Components
© SAP AG
R
Objectives
Discuss the Business Framework model as the newstrategic product architecture of the R/3 System.
Specify the basic technological properties of the R/3System, such as portability, openness andscalability.
Define the client / software concept and its influenceon the R/3 System software architecture.
Outline the R/3 Basis components and their tasks forthe whole system.
R
© SAP AG
R
R/3R/3BasisBasis
SDSales &
DistributionFI
FinancialAccounting
COControlling
TRTreasury
PSProjectSystem
WFWorkflow
ISIndustry
Solutions
MMMaterials
Mgmt
HRHuman
Resources..
PPProduction
Planning
QMQualityMgmt PM
PlantMain-
tenance
Accounting
Human Resources
Logistics
Industry /Cross-Application
Extensive businessfunctions
R/3 Integration Diagram
The R/3 System is based on an economic model that covers the following application areas: Financial accounting, controlling, asset management, materials management, production planning and production control, sales and distribution, quality management, plant maintenance, project management, service management, human resources, office communication, workflow functions, industry solutions, Open Information Warehouse.
An outstanding feature of the components of the R/3 System is the combination of up-to-the-minute technology with comprehensive business functions. The high level of application integration ensures that all functions can be accessed directly throughout the system and, therefore, your company. When you install your R/3 System, the data is integrated using a common database.
Processing business processes with the R/3 System is not restricted to individual application modules. All data and functions are closely connected to each other. This enables cross-application business processes to be carried out at smoothly as possible.
© SAP AG
R
R/3 in the Business FrameworkExtensive businessadministration functionsR/3 as a family ofseparate, integratedcomponents
BusinessInformationWarehouse
BusinessInformationWarehouse
HR 4.0HR 4.0
LO 4.0
FI 4.0
Core 3.1Core 3.1
InternetApplications
InternetApplications
............
......
EmployeeSelf-
Service
EmployeeSelf-
Service
Add-onDevelop-
ment
Add-onDevelop-
ment
Comple-mentarySoftware
Comple-mentarySoftware
............
......
Internet
Intranet
The Business Framework is the new, strategic R/3 System product architecture. It works with business components, which are software modules that can be configured and provides enterprises with a moving business infrastructure. Therefore, enterprise software can react quickly to new business requirements and be changed or enhanced simply without interrupting the business process. Using the Business Framework technology, SAP provides its customers with a new platform to configure and connect business processes and information flows across all components of the Business Framework - and also across physically separated application components.
Examples of types of business components are core components such as FI (Financial Accounting), LO (Logistics), HR (Human Resources) or industry components for the formation of specific applications for different sectors or Internet application components for Business-to-Business, Consumer-to-Business and Intranet applications.
The advantages of the Business Framework Architecture (BFA) include the ability to easily change and configure dynamically business processes independently of usual releases, easy integration of Internet and Intranet components in their business processes, simple connection between R/3 and third-party software, customers’ own developments and evolutionary implementation of the latest technology without interrupting the business operation.
© SAP AG
R
Extensive businessadministration functionsR/3 as a family ofseparate, integratedcomponentsWorking with businessadministrationcomponents:BC, BO, BAPIs
Business Framework Components
BOBOBAPIBAPI
ALE
Clientcomponents
Clientcomponents
BAPI BAPI
BAPI
BOBOBOBO
BAPIBAPI
BusinessComponents
BAPIBAPI
e.g. Human Resources
e.g. Order, employee,applicant
e.g. Display order,change employeeaddress
The Business Framework graphic shows the R/3 System as a family of separate, integrated components. Components:
Business Components (Human Resources, for example) Business Objects (Order, employee, applicant, for example) BAPI-Interfaces (create an order, change employee address, for example)
Business components interact in the Business Framework over open Business Application Programming Interfaces (BAPIs). BAPIs also provide a stable, standardized interface to integrate external applications and components into the Business Framework. These interfaces are defined within the framework of the SAP initiative with customers, partners and leading standardization organizations.
To distribute business information to in the Business Framework, there are stable technologies such as Application Link Enabling (ALE). ALE guarantees integration between the business components.
© SAP AG
R
Extensive businessadministration functionsR/3 as a family ofseparate, integratedcomponentsWorking with businessadministrationcomponents:BC, BO, BAPIsIntegration of externalapplications via openinterfaces
CPI-CCPI-C
RFCRFC
OLEOLE
EDIEDI
ALEALE
R/3 as an Open System
The R/3 System ensures portability by using industry standards for interfaces that allow the integration of applications, data and user interfaces. This is how the system is compatible with different operating systems, databases and networks. The R/3 System uses open system industry standards such as TCP/IP, EDI, OLE and Open Interfaces.
TCP/IP: Network communication protocol
EDI (Electronic Data Interchange): Process for the exchange of business data between different systems
OLE (Object Linking and Embedding): Integrates PC applications with the R/3 System
Open Interfaces: Such as optical archiving, barcoding devices, etc.
As well as the industry standards used by SAP, the R/3 System also uses additional communication tools which allow integration beyond system borders:
RFC: Remote Function Calls use CPI-C protocols (IBM's communication standard) to facilitate communication and processing of applications and tasks between R/3, R/2 and other systems.
ALE: Application Link Enabling allows distributed processing autonomy and the integration of R/3, R/2 and other systems that are linked to each other.
© SAP AG
R
Extensive businessadministration functionsR/3 as a family ofseparate, integratedcomponentsWorking with businessadministrationcomponents:BC, BO, BAPIsIntegration of externalapplications via openinterfacesFlexibility, scalabilityand performance usingclient / serverarchitecture
PresentationPresentation
ApplicationApplication
DatabaseDatabase
Scalability . . . . . . . . . . . .
Client / Server - Scalability of the R/3 System
The R/3 System has a modular software architecture that follows the software-oriented client / server principle. This architecture forms the basis of the many options available to customers for planning and operating their individual R/3 System installations. Central configurations are supported as well as distributed systems with numerous dedicated servers.
This architecture allows you to separate application logic from the presentation and the database. This is the prerequisite for distributing load in client / server configurations as well as using the performance potential and various cost structures of present and future hardware generations.
This architecture allows you to adjust the performance of the installed host service (scalability), for example, if load profiles have changed as a result of increasing user numbers or because additional components are used.
Features and uses of the scalability of the R/3 System: Installation of additional servers with resource bottlenecks Parallel servers with homogeneous load and local program execution Buffer data and programs near to the processors Logon and load balancing (distribution of users to dedicated servers,
load distribution with background processing)
© SAP AG
R
Client / Server Principles
Process 1 Process 1
Requirementfor a
service Software-oriented
view
Hardware-oriented
view
LAN / WAN
Client Server
Client Server
Provisionof a
service
In SAP terminology, a software component provides a service (software-oriented view). This type of component can consist of a process or a group of processes and is then called a server for that service.
Software components that use this service are called clients. At the same time, such clients can also be servers for specific services.
A server often also means a computer (host) on which software components run that provide specific services (hardware-oriented view).
© SAP AG
R
R/3 System Client / Server Configurations
ApplicationApplication
DatabaseDatabase
PresentationPresentation
Database, application, presentation processes
Central system Two-tier config. Three-tier config.
Presentation processes
Database, application processes
Flow of: Database processes
Application processes
The fundamental services in a business application system are presentation services, application services and database services.
In a central R/3 System configuration, all processing tasks are performed by one host. This corresponds with the classic mainframe processing, with X terminals instead of character-oriented terminals.
Two-tier R/3 System configurations are usually implemented using special presentation servers that are responsible solely for formatting the graphical interface. Many R/3 System users use Windows PCs for example as presentation servers. An alternative two-tier configuration is to install powerful desktop systems and to use these for presentation and applications (two-tier client/server). This type of configuration is particularly useful for expensive applications (such as simulations) or for software developers.
In a three-tier configuration, you use your own host for the three tiers. Using data from the database server, several different application servers can operate at the same time. To ensure that the load on individual servers is as even as possible and to achieve optimal performance, you can use special application servers for individual application areas such as sales planning, distribution or financial accounting (Logon-/ Load Balancing).
© SAP AG
R
Three-Tier Hierarchy
SAPpresentation
Applicationserver
Databaseserver Database access
Dialog processingBackground processingUpdate / lock
X terminals, NC terminals
Terminal server
Presentationserver
Workstations, PCs, laptops
The R/3 System refers to all software components that are assigned to the same database. If you use the distribution options of the R/3 System according to the client / server principle, the R/3
components extend over a three-tier hierarchy. The database server is installed on a central host, that is, the database server processes run on this host. Several application servers can be connected to the database server. Application servers process the actual
application logic. Several presentation servers can also be connected to each application server. These are also called frontends
(workstation, PC). These individual computers process all presentation tasks. Users work interactively with the R/3 System using the user interface provided by the presentation services.
© SAP AG
R
R/3 Basis Middleware
ABAP Workbench
R/3 application
R/3 Basis (Middleware)
System Software
R/3R/3Client / ServerClient / Server
ABAP/4ABAP/4
COCOControllingControlling
AMAMAsset MgmtAsset Mgmt
PSPSProjectProjectSystemSystem
WFWFWorkflowWorkflow
ISISIndustry Industry SolutionsSolutions
HRHRHumanHuman
ResourcesResources
SDSDSales & Sales &
Distribution Distribution
PPPPProductionProduction
PlanningPlanning
QMQMQualityQualityMgmtMgmt
FIFIFinancialFinancial
AccountingAccounting
PMPMPlant Main-Plant Main-
tenancetenance
MMMMMaterialsMaterials
MgmtMgmt R/3R/3Client / ServerClient / Server
ABAP/4ABAP/4
COCOControllingControlling
AMAMAsset MgmtAsset Mgmt
PSPSProjectProjectSystemSystem
WFWFWorkflowWorkflow
ISISIndustry Industry SolutionsSolutions
HRHRHumanHuman
ResourcesResources
SDSDSales & Sales &
Distribution Distribution
PPPPProductionProduction
PlanningPlanning
QMQMQualityQualityMgmtMgmt
FIFIFinancialFinancial
AccountingAccounting
PMPMPlant Main-Plant Main-
tenancetenance
MMMMMaterialsMaterials
MgmtMgmt
Using the R/3 Basis System, the applications can run on different platforms with high performance and can be adapted to meet the individual user requirements.
R/3 Basis software (also called middleware): Provides the runtime environment for the R/3 applications Takes care of optimally embedding the application in the system environment Defines a stable architecture framework for system enhancements Contains the tools for administering the whole system Allows resources and system components to be distributed Provides interfaces for decentral system parts and external products.
Features of Basis technology are: The R/3 Basis System architecture particularly complies with the structure of client / server configurations Relational databases Graphical user interfaces
© SAP AG
R
Ben
utze
rsch
nitts
telle
Screen interpreter ABAPinterpreter
R/3 Basis System Overview
System software and platforms
System interfaces
Flow control
Programming interfacesU
ser i
nter
face
Applications
Ben
utze
rsch
nitts
telle
Com
mun
icat
ion
inte
rfac
e
ABAPDictionary
To guarantee portability of the R/3 System applications, the system software interfaces are combined in their own level. Above this level, the functions of all R/3 System components are completely independent of the hardware and software environment.
The flow control sits on top of the system interfaces. It controls services such as scheduling or memory administration that could partly be left to the surrounding operating system software, but which are executed within the R/3 System for reasons of portability and performance.
The user interface provides the application presentation options. The communication interface defines the channels for exchanging information electronically, for transferring
legacy data, for example, or for program-to-program communication according to the CPI-C protocol and for the standard exchange of application data using EDI (this will be explained later in the course).
All application programs in the R/3 System are formulated in SAP's own ABAP programming language. The controlling components for the screen sequence are DYNPROS (= dynamic programs). The interaction between the screen and ABAP interpreters forms the technological basis of the R/3 System applications. Both interpreters use the overall view of the R/3 System data that is stored in the ABAP Dictionary.
© SAP AG
R
System Platforms for the R/3 System
* not supported with AS/400
DB2 forOS/390DB2 forOS/390
Windows 3.1, Windows 95, Windows NT,OSF/Motif *, OS/2 Presentation Manager (PM),
Macintosh *, Java
Windows 3.1, Windows 95, Windows NT,OSF/Motif *, OS/2 Presentation Manager (PM),
Macintosh *, Java
ABAP, C, C++, HTML, JavaABAP, C, C++, HTML, Java
OS/390OS/390AIX
Digital UNIXHP-UX
AIXDigital UNIX
HP-UX
ReliantUNIX (SINIX)
SOLARIS
ReliantUNIX (SINIX)
SOLARISWindows NTWindows NT OS/400OS/400
Hardware Bull/ZenithCompaqData General...
Bull/ZenithCompaqData General...
NCRSequentSNI
NCRSequentSNI
DigitalHP (Intel)IBM (Intel)
DigitalHP (Intel)IBM (Intel)
BullDigitalHP
BullDigitalHP
IBMSNISUN
IBMSNISUN
UNIX SystemsUNIX SystemsIBM
AS/400IBM
AS/400
Operatingsystems
DialogSAPGUI
Languages
Data-bases
IBMS/390IBM
S/390
DB2 Common ServerINFORMIX-OnLine
ORACLE
DB2 Common ServerINFORMIX OnLine
ORACLE
DB2 Common Server INFORMIX-OnLine
ORACLEMS SQL Server
DB2 Common Server INFORMIX OnLine
ORACLEMS SQL Server
DB2 for AS/400DB2 for AS/400
The R/3 System's open architecture means that it is extremely portable. The R/3 System is fully compatible with all important UNIX platforms and Windows NT (Microsoft) as well as
with AS/400 and S/390 (IBM). You can also use database systems such as Informix Online, Oracle 7, ADABAS D from Software AG, IBM's
DB2/6000 and Microsoft's SQL Server 6.0. The graphical user interface of the R/3 System (SAPGUI) is also compatible with desktop systems such as OS/2
PM, OSF/Motif, Macintosh and Windows.
© SAP AG
R
Summary
The Business Framework concept works with thebusiness components, that is, configurablesoftware modules (Business Components). Itprovides companies with a flexible businessinfrastructure.
The R/3 System has a modular architecture thatfollows the software-oriented client / serverprinciple. This allows scalability of the R/3 System(distribution of application levels).The R/3 Basis software provides the runtimeenvironment for the R/3 System applicationsand ensures that the applications are embeddedoptimally in the system environment.
© SAP AG
R
Navigation
Logging onto the R/3 System
User interfaces and choosing functions
System functions and user defaults
The Session Manager
© SAP AG
R
Objectives
Define the essential features of the R/3 System.Specify the user interfaces and their components aswell as the options for controlling the R/3 Systemfunctions.
Discuss some of the basic functions of the R/3System and configure your own settings.
© SAP AG
R
Client
User
Password
Language
Client
User
Password
Language
Logging On
The R/3 System is a client system. With the client concept you can control several separate enterprises at the same time in one R/3 System. Each user session only accesses data on the client that you selected when you logged on.
So that you can log onto the R/3 System, you must have a user master record created for you for the corresponding client.
For reasons of access protection, you must enter a password when you log onto the R/3 System. The system does not display the password that you enter.
The R/3 System is multilingual. The default language is EN (English). Enter DE if you want to display the user interface in German, for example.
© SAP AG
R
Clients in the R/3 System
R/3R/3
FIFIFinancialFinancial
AccountingAccounting
TRTRTreasuryTreasury
BasisBasis
COCOControllingControlling
PSPSProjectProjectSystemSystem
WFWFWorkflowWorkflow
ISISIndustry Industry SolutionsSolutions
MMMMMaterialsMaterials
MgmtMgmt
HRHRHuman Human
ResourcesResources
SDSDSales & Sales &
DistributionDistribution
PPPPProductionProduction
PlanningPlanning
QMQMQualityQualityMgmtMgmt
PMPMPlant Main-Plant Main-
tenancetenance
Default clients
Freely-selectable customer clients
Client 000Client 001Client 066
Client 100Client 200
Client xxx
A client is a self-contained organizational unit in the R/3 System. Clients have their own data environment and therefore their own user master and transaction data, assigned user master records and chart of accounts and specific Customizing parameters.
Users of different clients coexist independently and isolated in the same R/3 System. Users can only see or process data in a client for which they have authorization. This isolation specification is fixed in the design of the R/3 tables, as well as at the level of the application tables and in the Customizing tables. (Customizing = Adjusting the R/3 System to users' individual requirements)
Client 000 is defined as an SAP standard and must not be changed by customers. You can use this client as a template for additional clients that you want to create.
Clients have a three digit name.
© SAP AG
R
R/3 Menu Structure
Customer
Company code
Address
Control data
Payment transactions
General data
AccountingAccountingFinancial accountingFinancial accounting
...
...
...
..
...
...
33
11.........
22Application
level
Task level
Accounts Receivable
Main menu levelAccountsAccounts rec rec..
Master recordsMaster recordsCreateCreate
Once you have logged on, the system displays the R/3 main menu level. When you choose one of these menu options, the system displays a pull-down menu (1). From here you can choose the application levels. Menu options with arrows have cascading menus.
If you choose a menu entry or choose a submenu, the system displays the applications in the application level (2). This lists the functions that you can call for each application (create a data record, for example).
When you choose the required function, the system displays the initial screen (3) to edit the object for your application. You are now in a special SAP application called a transaction.
The dynamic menu provides an alternative option to using menus to choose functions. You can display the dynamic menu by choosing Dynamic menu.
© SAP AG
R
13:10
Display Customer Line Items: Initial ScreenLine items Edit Goto Settings Environment System Help
Line layoutTotals variant
Open itemsCleared itemsParked itemsWith vendor line items
CustomerCompany code
Line item selection
Selection criteria... With work list
SettingsStandard Line items
Totals
List begins with
PushbuttonPushbutton
Status barStatus bar
CheckboxesCheckboxes
Command fieldCommand field StandardStandard toolbartoolbar
RadioRadio button button
OptionsOptions
TitleTitle bar bar
Screen
Title bar: The title bar displays the task in which you are currently working. Command field: You can choose a task directly by entering the corresponding transaction code in the command
field. You can find the transaction code for a task by using the dynamic menu or by choosing System → Status. Options: When you choose Options, you can change the R/3 System user interface to your individual
requirements. Standard toolbar: In the standard toolbar you can find the icons that are frequently used for navigating within
the system, as well as icons for saving data and calling the online help. If you place the cursor over on an icon for while, the system displays a flag with quick info text that explains the icon's function.
Checkboxes: Checkboxes allow you to choose several items from a selection at the same time. Radio buttons: Radio buttons allow you to choose exactly one item from a selection. Status bar: The status bar displays information on the current status of the system, such as the R/3 System
name, session number, client, application server on which you are working andf the PC time.
© SAP AG
R
Selecting Functions
By entering a transaction code in the command field:
Using the menus SystemCreate sessionEnd sessionUser profileServicesUtilitiesListObject servicesOwn spool requestsOwn jobsShort messageStatus . . .Log off
Hold dataSet dataDelete dataApp. valuesOwn dataFavourite maint.
/NSM50
You can select a function in the following ways: Using the mouse by choosing menu entries,
or using the keyboard (Alt + access characters (underlined letters in the menus).
By entering a transaction code in the command field: Each function in the R/3 System is assigned a transaction code. You can enter the transaction code for a transaction in the command field of any screen in the R/3 Systems (for example, to choose a function enter "/n" and then a four-digit transaction code /nsm50). You can determine the transaction code by choosing System → Status. Additional input options: “/n” ends the current transaction “/i” deletes the current session “/osa38” opens a new session and branches to the transaction specified.
You can also access the command field using the keyboard, by choosing STRG+TAB. This takes you from one field group to another. Within a field group, you go to another by choosing TAB.
© SAP AG
R
Field HelpCustomer Change:
Customer Edit Goto Extras Environment System Help
CustomerCompany code
?F1F1F4F4
SAP R/3 F1 Help
Help Technical Info About F1 HelpCustomer account number
Definition
Procedure
Key via which the customer is clearly identifiedwithin the SAP system.
When creating a customer master record, theuser decides whether he/she enters theaccount number of the customer or whether itshould be determined by the system when therecord is saved, depending on the type ofnumber assignment specified.
Company CodeCo. Code Company name City Curr.1000 IDES AG Frankfurt DEM1111 IDES I Rome XEU1310 IDES F Paris XEU2000 IDES UK London GBP2200 IDES R Moskow RUB3000 IDES US New York USD5000 IDES JP Tokyo JPY 5061 IDES BR Sao Paulo BRL5070 IDES SA Capetown ZAR6500 IDES A Sydney AUD… … … ...
You can choose the F1 key to display an explanation of fields, menus, functions and messages. You can also choose the F1 help to display technical information for that field. Here you can find, for example,
the parameter ID to fill the field with default values. You can use F4 to display possible input values.
Alternatively, you can choose the possible entries pushbutton located directly to the right of the field. If fields are filled with a question mark (?), the system can only continue to process the task once you have
entered a permitted value in the field. Users can specify whether many fields in a task should be flagged as required fields or optional fields, or whether they should be suppressed (hidden).
© SAP AG
R
R/3 Online HelpCustomersCustomers
Postings Doc. Account Master records Periodic proc. Env. System
R/3R/3
HelpEExtended helpxtended helpRR/3/3 library libraryGGlossarylossaryReleaseRelease NNotesotesGetting startedGetting startedSettiSettingngssHelp on helpHelp on help
WORKING WITH R/3IDES (DEMO SYSTEM)IMPLEMENTATION TOOLSRELEASE NOTESR/3 SERVICE & SUPPORT
BASISFINANCIAL ACCOUNTINGTREASURYCONTROLLINGINVERSTMENT MANAGEMENTENTERPRISE CONTROLLINGLOGISTICS GENERALMATERIALS MANAGEMENT
CROSS-APPLICATIONPLANT MAINTENANCEPROJECT SYSTEMQUALITY MANAGEMENTPRODUCTION PLANNINGSALES & DISTRIBUTIONPERSONNEL PLANNING & DEVELOPMENTPERSONNEL ADMINISTRATION & PAYROLL
BC CA FI HR LO i ?ABC
R/3 Library
BC - BasisCA - Cross-Application
ComponentsFI - Financial AccountingHR - Human Resources MgmtLO - LogisticsINFO - InformationGlossaryHelp
Welcome to SAP OnlineHelp.Choose the application component forwhich you need more information.
Copyright 1997 by SAP AG. All rights reserved
depending on R/3 Release
4.0 B
The R/3 System provides detailed online help. You can call this help from every screen in the system by choosing Help.
From Release 4.0A, you can display the online help in HTML format.
By choosing the menu option Help, you can: • call context-sensitive help (Extended help), • access online documentation (R/3 library), • find definitions of terms in the Glossary, • query Release notes, • get started with the R/3 System, • choose help settings (modal (R/3) window or modeless window (ext. viewer)), • see how you can use this help (Help on help).
© SAP AG
R
System Functions - Services
System
Create sessionEnd sessionUser profileServicesUtilitiesListObject servicesOwn spool requestsOwn jobsShort messageStatus . . .Log off
ReportingQueryOutput controllerExt. Table maint.Table maintenanceBatch inputFast inputDirect inputCATTJobsQueueSAP ServiceAppointment cal.Office
Dynamic menu
Opens the company menu,favorites list and thetransaction search help
You can find the following options in the System menu option: • Create/End session Create and delete additional sessions (up to 6). • User profile Make user-specific settings • Services Important service functions • List E.g. search for specific character strings, download, print... • Status Display various user and system data • Log Close the user's SAP session (with confirmation).
By choosing System → Services you can also find the following functions:
• Reporting Start reports • ABAP Query Start queries • Output controller Manage user-specific spool / print requests • Table display Call the table display / maintenance (Shortcut to SM30) • Batch input Manage batch input sessions (transfer legacy data) • Jobs Manage jobs in background processing • SAP Service Log onto the SAP OSS System.
Dynamic menu calls the company menu and also allows you to search for keywords.
© SAP AG
R
System Functions - User Profile
System
Create sessionEnd sessionUser profileServicesUtilitiesListObject servicesOwn spool requestsOwn jobsShort messageStatus . . .Log off
Dynamic menu
Hold dataSet dataDelete dataApplication valuesOwn dataFavourite maint.
The menu option User profile contains: Hold data, Set data, Delete data. These options allow you to hold data during a session and then set it the next time you call the application.
Own data: Here you can set your address, defaults and user parameters in three additional templates. Fixed
values include your choice of start menu, date and decimal format. You can only use a work area or an area menu as a start menu (see F1 help on the start menu). Using user-specific parameters you can predefine regularly used input fields. (To find the field parameter, position the cursor on the field to be filled. Choose F1 help and the technical information. This displays the internal field parameters that you use to predefine the field.)
© SAP AG
R
Favorites ListEdit the Favorites List
Menu Edit Favorites list Goto System Help
Company menu
Favorites list
Office InboxInventory management Environment Stock Stock/rqmts listLogistics Sales/distribution Sales Order Create
Customers Environment Credit management Control Credit overview
Logistics Sales/distribution Sales Order ChangeLogistics Sales/distribution Sales Info System Standard analyses Customer
++
++
++-
OfficeLogisticsAccountingHuman resourcesInfo catalogTools
Each user can define his or her favorites. Favorites are regularly used R/3 functions. You can display them by choosing System → User profile → Favorite maint. Or by choosing Dynamic menu from any screen. The system then displays the company menu, which was previously created using the Customizing functions and which displays all of the applications relevant for the customer in a tree structure.
In this transaction (SES0), you can also maintain your favorites, that is, you can insert or delete them or arrange them in simple structures.
Creating Favorites: To insert a transaction in your favorites list, use the mouse to select the transaction in the menu tree. Then choose the menu option to create a favorite. You can also create favorites directly by specifying a transaction code. When you use the Session Manager, the favorites you have chosen are displayed in the user view.
© SAP AG
R
Session Manager - Company ViewSAP Session Manager
Logon Overview T83/400/D
Office
Logistics
Accounting
Human resources
Info systems
Client 400, User Smith, Language EMaterials managementSales & distributionProductionProduction - processPlant maintenanceService managementQuality managementLogistics controllingProject managementCentral functions
Business partnersProductsConditionsOutputAgreementsOther
Master dataSales supportSalesShippingTransportationBillingForeign tradeSales informationsystem
Sold-to partyShip-to partyPayerBill-to partyOne-time customersHierarchy nodesOther customersCustomer hierarchyForwarding agentSales employeesArchiving
Financial accounting, Accounts receivable, Postings, InvoiceFinancial accounting, Accounts receivable, Postings, Credit memoInbox
Create Customer Credit Memo: Header Data
T61/400/D T66/400/E
User-specific folders
Session list
The Session Manager is a user interface for controlling the R/3 System in its own window. You use the Session Manager to log onto one or several R/3 System. This enables users to manage sessions from within this user interface.
Once you have logged onto the Session Manager, the system displays a tab that contains the components to control calls to transactions and reports centrally.
Users can use the mouse to display two views: the SAP standard menu and the company menu. The SAP standard menu displays all of the business transactions supported by SAP, the company menu displays the transactions selected from the SAP standard menu and which are are relevant for a company.
Note: The Session Manager runs on Windows 95 and Windows NT (from release 3.51) and is available from SAP
R/3 Release 3.0 D.
© SAP AG
R
Summary
Navigating within the R/3 SystemUsing entries in the System menu suchas creating user profiles, reporting, tablemaintenance, flow control, list functions.
© SAP AG
R
System Kernel
Presentation interface
Database interface
Dialog processing
SAP transaction concept
Asynchronous update and the lock concept
Background processing
Spooling
R/3 instance
© SAP AG
R
Objectives
Discuss the components of the R/3 Systemapplication server and analyze how a dialog requestis processed.
Outline the basic techniques for processing R/3transactions.
Define the instance concept and the basic structureof an R/3 System and its components.
R
© SAP AG
R
R/3 Presentation Interface
Presentation
Application
Windowmanager
SAPGUIprocess
SAPGUIprocess
SAPGUIprocess
X terminalX terminal
Workstation / PCWorkstation / PC
X terminalserver
X terminalserver
X terminalX terminal
X terminalX terminal
LAN / WAN network
SAPGUIprocess
SAPDispatcher
SAPDispatcher
The presentation interface SAPGUI (GUI = Graphical User Interface) implements the platform-specific input and output functions of the R/3 System. The SAPGUI is available for several platforms and provides the same functions for each. If you have learned to use the R/3 System on one platform, with the exception of a few small platform-specific GUI attributes, you can use the system on another platform exactly the same as before.
Together with the frontend processes of the window management software, the SAPGUI implements in this way the graphical control elements of the R/3 System. The R/3 presentation software therefore implements the graphical user interface using the functions provided by the presentation environment.
The flow of data between the presentation level and the application level does not consist of prepared screens, but rather logical, compact information using control elements and user input.
The data set to be transferred for each screen change is generally between 1 and 2 kB. You can also connect application servers over WANs.
© SAP AG
R
Pers# Name Tel. no. Address PC
4711 Dirk Esch 069 2453 Mozartstr. 45 Munich 60944
4712 Hans Kluge 0324 2533 Wagnerstr. 22 Cologne 13802
4710 Tom Smith 030 1188 Schubertstr. 76 Berlin 1000
. . . . . . . . . . . . . . .
Pers# Dept.#
4711 008
4710 007
4712 007
. . . . . .
Dep.# Dept.
008 Finance
007 EDV
009 Vehicles
. . . . . .
Boss
132
65
142
Relational Database Management Systems
Relational Database Management Systems (RDBMS) are generally used to manage large sets of data. An RDBMS saves data and relationships between data in the form of two-dimensional tables. SQL (Structured Query Language) is responsible for data organization, access and manipulation. Different manufacturers produce RDBMS products. These products are not fully compatible. Relational database management systems distinguish themselves by their logical simplicity. All data as well as
the relationships between this data is stored in two-dimensional tables. The definition of the data, tables and table relationships takes place in the database catalog (the data dictionary) of the database system.
The ISO standard 9075 SQL (Structured Query Language) is used to query and manipulate data in relational database systems.
© SAP AG
R
ABAPABAPinterpreterinterpreter
DBDBinterfaceinterface
EXEC SQL.SELECT ...END EXEC.
DatabaseDatabaselocallocalbufferbuffer
SELECT *FROM ... Native SQLOPEN-SQL
App. data
Data
DB data
DB data
Native SQL
Application server Database server
DB
R/3 Database Interface
Within the ABAP programming language, you can use SAP OPEN SQL to access data in the database regardless of your database management system.
The R/3 database interface converts Open SQL statements from the ABAP statements into corresponding database statements. This means that the application programs that are written in ABAP do not depend on the database used.
When interpreting Open SQL statements, the R/3 database interface checks the syntax of these statements and ensures that the local SAP buffers in the shared memory of the application server are utilized optimally.
Data that is frequently required by the applications is stored in these buffers so that the system does not have to access the database to read this data. In particular, all technical data for such as ABAP programs, screens and ABAP Dictionary information, as well as business administration parameters such as the number interval supply, usually remain unchanged in a running system and are therefore suitable for buffering. The same applies to transaction data which is generally accessed as read-only.
© SAP AG
R
Presentation
Application
Buffer
Database
Communication
SAPGUISAPGUI SAPGUISAPGUI
Workprocess
Workprocess
Workprocess
DBDB processes
Processing User Requests
Dispatcher
The central process of the R/3 application level is the SAP dispatcher as a control instance. Together with the operating system, the SAP dispatcher controls the resources for the R/3 applications. The main tasks of the dispatcher include distributing load to the work processes, connecting to the presentation level and organizing communication.
User screen input is received by the SAP presentation program SAPGUI, converted into its own format and then sent to the dispatcher. The processing requests are then saved by the dispatcher in request queues and processed.
The dispatcher distributes the requests one after the other to the available work processes. Data is actually processed in the work process. There is no fixed assignment of work processes to users.
Once the data has been processed, the processing result from the work process is sent via the dispatcher back to the SAPGUI. The SAPGUI interprets this data and generates the output screen for the user.
When the R/3 System is initialized, the dispatcher executes amongst others the following actions: it reads the system profile parameters, generates roll areas, starts work processes and logs onto the message server (this service will be explained later).
© SAP AG
R
Work process 1
Work process n
Shared memory
RequestRequestqqueues
Frontend: SAPGUI
Dispatcher
Screen processor
ABAPprocessorDatabaseinterface
Taskhandler
Factory calendarScreensABAP programsTablesDictionary objects...
Application buffer
Roll fileRoll fileUser context
Roll area
inte
rnal
mem
ory
. . .
Roll inRoll out
Buffer access
LAN / WAN network
Dialog Work Processes
The main components of an R/3 application server are: Dispatcher as a central control instance Dispatcher queues for incoming requests Configurable number of work processes for processing ABAP programs Commonly used buffers in the shared memory.
The task handler coordinates activity within a dialog work process. It activates the screen processor or the ABAP processor (which control the screen flow logic and process ABAP statements respectively) and executes the roll-in and the roll-out of the user context.
The memory management system differentiates between main memory areas that are available exclusively to a work process, and memory areas that can be used by all work processes. The memory space used exclusively by a work process has two reserved areas for session-specific data that must be kept longer than the duration of a work step. These are called roll and paging areas. Paging areas play a less important role from Release 3.0. The roll area contains data that is automatically made available to the process at the start of a dialog step (rolled-in) and that is saved at the end of the dialog step (rolled-out). The roll area also contains data that characterizes users (user context), such as their authorizations, administration information and additional data for the ABAP and dialog processor. This data was already collected in the dialog steps that were already executed. There are also additional memory areas for all processes in the shared memory for the factory calendar, screen, table and program buffers.
© SAP AG
R
V2
Dialog
D
SAP dispatcher
M
Message service
SpoolS
G
Gateway service
R/2 R/3
Background12
9
6
3
11 1
7 58 4
210
B
UpdateV
Lock admin.
E
Disp.
R/3 Application Services
Disp.
Disp.
Disp.
The R/3 runtime system is a group of parallel, cooperative processes. On each application server, these processes include the dispatcher as well as a number of work processes that depend on the resources. Special work processes may be installed for dialog processing, update, dialog free background processing and spooling.
As well as these work process types (dialog processing (D), update (V), lock management (E), background processing (B), spool (S)), the R/3 runtime system provides two additional services for internal and external communication: The message server (M) communicates between the distributed dispatchers within the R/3 System and is
therefore the prerequisite for scalability with several application servers that are processing in parallel. The gateway server (also called the CPI-C handler) allows communication between R/3, R/2 and external
application systems.
© SAP AG
R
First userdialog step
PBO
Second userdialog step
Third userdialog step Time
SAP transaction
PAI PBO PAI PBO PAIScreen200
Screen300
Screen100
Systemdialog step
Systemdialog step
SAP Transactions and Screens
User chooses Save / Exit
Transactions are processing units that are grouped in functions which execute consistent, database changes that are can be permitted for business administration. Typical examples are credit and debit postings, that are only useful together, or creating an order and reserving the material concerned.
Accordingly, an SAP transaction is implemented as a series of consistent, connected dialog steps. A user dialog step is represented by a screen (or a dynpro, which is a dynamic program = template and flow logic).
SAP transactions are not necessarily executed within one single dialog work process. Instead, different dialog work processes can process the individual dialog steps in a transaction. You can also use asynchronous update for processing the dialog part of the transaction and the corresponding database update in different work processes and even on different hosts.
In an R/3 System, a dialog step starts by processing the data entered by the user (PAI: Process After Input) and by processing and sending the next screen template (PBO: Process Before Output); the system then receives the next screen processed by the user and once again analyzes and processes the input data on this screen. Dialog steps for the user and the system do not therefore take place at the same time. For the system, both halves of the dialog steps are called PBO and PAI.
© SAP AG
R
Start oftransaction
CALL FUNCTION'ENQUEUE_E...'EXPORTING CALL FUNCTION '...'
IN UPDATE TASK
COMMIT WORK
Startupdate
End update
SAP LUW 1
SAP LUW 1
∆ t
First part of the SAP LUW 1 Second part of the SAP LUW 1
New SAP LUW 2
Requestlock
Note changes
Releaselock
“Save"
LUW (Logical Unit of Work)
The transaction concept, in as far as it has been previously explained, corresponds to the term Logical Unit of Work (LUW)
As current database systems do not support transaction flows for all processes, you should differentiate between the elementary processing layers (LUWs) in the R/3 System and in the database system (from now on referred to as: SAP-LUW / DB-LUW). A DB-LUW is fully executed, or not at all. It ensures that the database is consistent. This means that the data are logically correct before and after the LUW. The same applies for DB-LUW and SAP-LUW.
The start of an SAP transaction is also the start of an SAP-LUW. SAP-LUWs are completed by a "COMMIT WORK" statement in the ABAP coding or by the end of the asynchronous update (second part of the SAP-LUW). Within an SAP-LUW, each dialog step is executed by a work process, as described previously and therefore corresponds to a DB-LUW. Database updates occur within a DB-LUW.
The technique predominantly used within SAP-LUWs is asynchronous update. This means that user change requests are collected temporarily and at the end of the dialog phase (that is, in the second part of the SAP-LUW,) the database is updated in separate update work processes. Like any other dialog step, this update takes place in one of its own DB-LUWs to achieve data consistency. The following slides explain asynchronous update.
© SAP AG
R
Call function'ENQUEUE_E...'
Enqueue server
. . .
Lock table inmain memory
. . .
Dialog server
a)
b)
Requesting a Lock
V-WPV-WP
Dispatcher
E-WPE-WP
Dispatcher
D-WPD-WP
MessageMessageserverserver
The lock mechanisms present in the current relational database systems are not generally sufficient to handle business data objects (such as sales orders) that may affect several tables in the database. The R/3 System has lock management function that is executed by the enqueue work process. This prevents several applications from accessing the same objects.
The enqueue work process manages the locks using a lock table (b) stored in the server's main memory (where the enqueue work process runs).
If a lock is requested (a), the system checks whether or not this lock clashes with existing entries in the lock table. If this is the case, the lock request would be rejected. In this way the application program can warn users in advance that the operation requested is not currently available.
As the screen dialog and enqueue work processes are not located in the same application server, these two work processes communicate over the message server. This R/3 System service will be explained later in the course.
© SAP AG
R
SAP Lock Objects
Activate
Lock objectLock object
ESFLIGHT
ABAPfunction moduleENQUEUE_ESFLIGHT
ABAPfunction moduleDEQUEUE_ESFLIGHT
ABAPDictionary
So that the system can execute lock requests, you must first define a lock object in the ABAP Dictionary. The lock object contains tables whose entries are to be locked. A lock object consists of a primary table. You can also have additional secondary tables using foreign key relationships (the name of a user-defined lock object must begin with "EY" or "EZ").
For a lock object, you can specify the lock mode ("S" read lock, "E" write lock). A write lock (mode "E") can only be set if no other user in the data record has set a lock. The same user can remove a lock from mode "E" or "S" within a call sequence of programs (call chain).
If a lock object is activated, the system generates an ENQUEUE and a DEQUEUE function module. The function modules are called ENQUEUE_<object_name> and DEQUEUE_<object_name>.
Locks set by an application program are either reset by the application program itself, or using a special update program (second part of the SAP-LUW).
© SAP AG
R
Call function ...in update task
c)
Writing Log Records
DBVBLOG
Enqueue server
. . . V-WP
Dispatcher
E-WP. . .
Dialog - Server
Dispatcher
D-WP
MessageMessageserverserver
Dialog work processes can cause direct changes to the database via the database interface, for example, using statements to the database server (regardless of whether or not the database is on the same host).
With asynchronous update, processing the ABAP language element CALL FUNCTION '...' IN UPDATE TASK of the change request is designated as a log record in "intermediate table" VBLOG (c). This system table saves the user change requests that occurred within an SAP transaction.
The log record contains the names of the update routines to be triggered as well as all data necessary to make the changes to the database. If the user cancels a transaction during the dialog phase, or the transaction terminates for other reasons, then the header entry in the VBLOG table may not be completed. The changes are not written to the database.
Updating log records can be subdivided into V1 and V2 update components. Primary, time-critical processes are stored in V1 components; secondary processes that are less time-critical are stored in V2 components.
© SAP AG
RVBLOG DB
Second part ofSAP-LUWe) f)
Save:COMMIT WORK
d)
Updating Log Records
. . .
Dialog server
Dispatcher
D-WP
Enqueue server
. . . V-WP
Dispatcher
E-WP
MessageMessageserverserver
The update itself is triggered by the ABAP statement COMMIT WORK specified in the last dialog step (d) of an SAP transaction. The locks set by the application program using the enqueue work process are passed onto the update task.
In the second part of the SAP-LUW, the update work processes take over copying (e) the log records from the VBLOG table and updating the change requests buffered there in the corresponding application tables in the R/3 database (f).
Errors cannot be corrected during the update by interactive contact with the user. Instead, the system terminates processing of the current update components. In the case of errors in the primary V1 components, the database changes that have already been made are reset. The log record is given an error ID and is not deleted from the VBLOG table. Subsequent V2 updates are not executed either. If a V2 component is terminated, only the database changes that have been made by this component are reset. The log record is given an error ID and is not deleted. The system continues updating the remainder of the secondary components.
Users are automatically notified by express mail if an update (V1 or V2) is terminated. The system can evaluate and handle the incorrect update that terminated (see “Administration" unit).
© SAP AG
R
Removing Locks
Lock table inMain memory
h)
. . .
Dialog server
Dispatcher
D-WP
Enqueue server
. . . V-WP
Dispatcher
E-WPg)
Messageserver
At the end of the SAP-LUW, the update task removes the locks (g). Locks are also removed from the lock tables if an update is unsuccessful (h). If an update is terminated, log records can be updated later in the VBLOG table, depending on the problem. This
method is generally used by terminated V2 components. You should not use it for terminated V1 components. SAP recommends that you process the transaction again (OSS note 16083).
If the database breaks down whilst it is being updated, the VBLOG log records that have not yet been updated (these have status "INIT") are automatically updated when the database is later restarted. You can use profile parameters to control this R/3 System function.
© SAP AG
R
111444
Scheduling table
Job1 C ... ...
Background Processing
333
Background processing server
. . .D-WP
Dispatcher
B-WPB-WPBatchscheduler
12
9
6
3
11 1
7 58 4
210
?Job
333
222. . .
Dialog server
Dispatcher
333D-WPSchedulejobs
Background processes for background processing (and not in dialog mode) are defined for periodic tasks such as reorganization or automatically transferring data from a legacy system into the R/3 System. This type of processes is handled in the system analogous to online processing.
Background processing is scheduled in the form of jobs. Each job consists of one or more steps (ABAP reports or external programs), that are processed sequentially. You can also set priorities (from "C" to "A") so that certain jobs are handled first.
Job processing is not generally triggered immediately (immediate start). Instead you specify a start date when you schedule the job. It may also be necessary to start jobs periodically. If, for example, there are any system control jobs that are repeated on a fixed cycle.
The batch scheduler is responsible for automatically triggering the job at the specified time. The batch scheduler is an ABAP program that searches for jobs to be executed in the scheduling table and then ensures that they are executed.
© SAP AG
R
Name Class Targ. Server Start timeName Class Targ. Server Start time
Job2Job2 CC
Server 1Server 1
Job1Job1 CC Server 1Server 1 23:0023:0023:0023:00
Job3Job3 AA 23:0023:00Job4Job4 CC 23:0023:00Job5Job5 CC 23:0023:00Job6Job6 BB 23:0023:00Job7Job7 CC 23:0023:00Server 2Server 2
Scheduling table
Workload Balancing
Dialog andbackground processingserver 1
B-WPB-WP
B-WPB-WPB-WP
D-WP
D-WP
D-WPD-WP
Dialog and background processingserver 2
D-WP
Workload balancing is used for background processing. This supports installations with several background servers as well as installations with several batch work processes on one server. Unless otherwise specified, a background process that has become free executes the next background request (job) that occurs in the system.
All jobs that specify the target server are taken up by the background processing server batch schedulers and started on the allocated servers.
The remaining jobs that do not specify the target server are then distributed according to the load on the background processing server.
Job processing also takes the priority of a job into account. Jobs belonging to class "A" have the highest priority and are therefore processed first. (Sequence: Priority A with target server specified before priority A without specifying the target server; priority B with the target server specified before priority B without specifying the target server and so on).
© SAP AG
R
Printer server
R/3 System
Printer serverTemSe
LAN WAN
Operatingsystemspooler
Output processor
saplpd
Spool
R/3 application
LAN WAN
Operatingsystemspooler
Operating system spooler
R/3 Printer Services
S-WP
Spooling refers to the buffered transfer of data to output devices such as printers, fax devices and so on. In distributed systems, networked administration is necessary for this output.
The R/3 System spool mechanism can supply print requests to printers and external spoolers both within a local network as well as over WANs. On each host concerned, the spool mechanism cooperates with the local spool system.
Spool requests are generated in dialog mode or during background processing and are then set in the spool database with details on the printer and the print format. The data itself is stored in the TemSe (TEMporary SEquential object).
When data is to be printed, a print request is generated for a spool request. This print request is processed by a spool work process.
Once the spool work process has formatted the data for output, it returns the print request to the operating system spool system.
The operating system spooler takes over the queue management and ensures that the required data is passed on to the output device.
© SAP AG
R
R/3 InstanceInstance (a)
. . . D-WP
Dispatcher
D-WP
Instance (b)
. . . B-WP
Dispatcher
D-WP
“Central” Instance (c)
. . . V-WP
Dispatcher
D-WP E-WP B-WP S-WPMessageMessage
serverserver
An instance is an administrative unit that combines R/3 System components provifing one or more services. The services provided by an instance are started or stopped at the same time. You use a common instance profile to set parameters of all the components of an instance are.
A central R/3 System consists of a single instance that provides all the necessary R/3 System services. Each instance has its own SAP buffer area. The example displays setting up an additional dialog server (a) and a background processing server (b). These
instances that provide specific services generally run on their own hosts but can also be accommodated on the same host.
The message server provides the application servers with a central message service for internal communication (update trigger, request and remove locks, trigger background requests, for example).
The dispatchers for the individual application servers communicate via the message server that is installed once in each R/3 System (it is configured in the R/3 System profile files).
Even presentation servers can log onto an application server via the message server. This means that you can use the message server performance database for automatic load distribution (logon balancing).
© SAP AG
R
Summary
The database interface converts the SAP OPEN SQLfrom ABAP into the SQL of the database softwareused.
Flow control consists of the dispatcher and the workprocesses that process user requests.
The presentation interface is implemented using theSAPGUI.
A dialog request is sent from the presentation serverSAPGUI to the application server dispatcher and thenprocessed by a dialog work process.
© SAP AG
R
Interfaces
General communicationCPI-C communicationRFCBusiness Objects and BAPIsOLEInternet architectureEDIALEData Transfer into the R/3 System
© SAP AG
R
Objectives
Define the R/3 System as an open system.
Recognize the principle communication mechanismsin an R/3 System.
Discuss the options the R/3 System provides whenyou transfer legacy data.
© SAP AG
R
Communication: R/3 as an Open System
Ethe
rnet
Toke
n rin
g
X.25
LU6.2(R/2)
CPI-C (SAP implementation)
TCP/IP(R/3)
RFC
Toke
n rin
g
Ethe
rnet
. . . . . .Physical
layer
Connection layer
Network layer
Transportlayer
Presentation layer /
session layer
Application layer
OLE Automation
The R/3 System is an open system. It supports a variety of network communication protocols. Information can be exchanged between R/3 Systems and other R/3, R2 or non-SAP systems over the network.
Network communication can be divided into seven different layers. Each layer provides the layer above with functions whilst building on the services from the layers below. Handling communication is always easier at the upper layers.
SAP supports the TCP/IP (Transmission Control Protocol/Internet Protocol) and SNA LU6.2 (System Network Architecture; Logical Unit 6.2) protocols. Communication within the R/3 System takes place in the standard protocol TCP/IP. LU6.2 was developed by IBM and is used to communicate wuth mainframe-based R/2 Systems.
R/3 application programming supports CPI-C (Common Programming Interface Communication), RFC (Remote Function Call) and OLE Automation (Object Linking and Embedding) as communication interfaces.
You can find detailed information on communication in the online documentation. You can also get an “Interface Adviser” knowledge CD from SAP, which explains the options for communication in the R/3 System using examples.
© SAP AG
R
R/3 Gateway Service
SAPGateway
R/3 System
R/3 System R/2 System
Externalapplications
TCP/IP
TCP/IP
LU6.2
DB1
DB2
DB3
TCP/IP
The CPI-C protocol connects protocol types LU6.2 and TCP/IP. You can therefore use CPI-C to connect mainframes (R/2 Systems) and client server systems (R/3 Systems).
The SAP gateway (CPI-C handler) is a group of processes that allow communication between R/2 Systems, R/3 Systems and external applications based on the CPI-C protocol. The gateway can run together with an R/3 application and / or an R/3 database server, either on shared hardware or separately on its own.
Whereas short messages are exchanged between the application servers via the message server in an R/3 System, larger datasets (application data) flow through the SAP gateway. This means that the communication partner may be part of the same system, of a different R/3 or R/2 System, or part of an external program.
In the R/3 System, the SAP gateway processes communicate with clients based on the TCP/IP protocol. LU6.2 (from IBM) is used for mainframes.
© SAP AG
R
Communication with CPI-C
Structure connection
Data exchange
Remove connection
InitiatorInitiator
CMINITCMALLOC
CMSENDCMRCVCMSEND...
CMDEAL
Program 1
Connection partner
Connection partner
CMACCP
CMRCVCMSENDCMRCV...
CMRCV
Program 2 88MHz
The R/3 System supports the CPI-C “starter set” as an elementary program-to-program communication method. It is used for communication between R/2 Systems (before Version 5.0D) or external (mainframe) applications, for which you cannot or do not want to use protocol types that are easier to use.
ABAP contains six communication commands: COMMUNICATION INIT - specify communication parameters COMMUNICATION ALLOCATE - structure communication COMMUNICATION ACCEPT - accept communication COMMUNICATION SEND - send data COMMUNICATION RECEIVE - receive data COMMUNICATION DEALLOCATE - end communication. Once connection has been made, there is a program for sending the data. At this point, the other program must
be ready to receive the data. Senders and recipients may change. At the end of the data transfer, the connection is removed. As well as configuring the sending buffer, you can evaluate extensive return codes.
For CPI-C communication with external programs, in addition to the CPIC Advanced Function Calls (for converting ASCII to EBCDIC, for example,) SAP also delivers functions in the form of C libraries (to set up a connect string, for example).
Connection-related parameters are not components of the communication program. You maintain table TXCOM using Transaction SM54. External systems require a side info file.
© SAP AG
R
Remote Function Call
External system
RFCinterface
CPI-CProgrammProgrammProgrammProgram
R/3 System
RFCinterface
CPI-C
ABAPProgramm
ABAPProgramm
ABAPprogram
R/2 System
RFCinterface
ABAPProgramm
ABAPProgramm
ABAPprogram
CPI-C
Remote Function Call (RFC) is a communications interface that is based on CPI-C, but which has more functions and is easier for application programmers to use. You can use R/3 and R/2 Systems as well as external applications as RFC communication partners.
RFC is the protocol for calling special subroutines over the network. These subroutines are labeled function modules. Function modules are comparable with C functions or PASCAL procedures. They have a defined interface via which data, tables and return codes can be exchanged. Function modules are managed in the R/3 System in their own function library, called the Function Builder.
The Function Builder (Transaction SE37) provides application programmers with a useful environment for programming, documenting and testing function modules that can be called locally as well as remotely. The R/3 System generates the additional coding required for remote calls (RFC Stub) automatically.
The technical requirements for RFC are the same as for CPI-C. You maintain the parameters for RFC connections using Transaction SM59. The R/3 System is also delivered with an RFC-SDK (Software Development Kit) that uses extensive C libraries to allow external programs connecting to the R/3 System.
© SAP AG
R
RFC from R/3 System to R/3 System
RFC
Calling systemABAP coding
...CALL FUNCTION XY
DESTINATION...EXPORTING...IMPORTING......
88MHz
FUNCTION XY....
ENDFUNCTION.
Called system
Function module remote calls across system borders are only different to local remote calls in that a special parameter (Destination) specifies the destination host on which the program is to be executed.
There are three types of RFC call: Synchronous RFC call: the calling program stops until the function module has been processed in the
destination system and any results have been returned to the caller. Only then does the calling program continue processing.
Asynchronous RFC call: The calling program runs parallel to and independently of function module processing in the destination system. Programmers are responsible for handling result processing. In addition, the destination system must also be available at the time of the RFC call.
Transactional RFC call: Several function modules can be grouped into one transaction. They are processed once only in the destination system within an LUW, and in the sequence in which they were called. In the case of an error, the calling system receives a confirmation that you can assess using Transaction SM58. In the case of transactional RFC, the destination system does not have to be available at the time of the RFC call. In addition, you can configure the frequency and intervals of individual queries.
© SAP AG
R
Business Objects and BAPIs
BOBOBAPIBAPIBAPI
BOBO BAPIBAPIBAPI
BORBORBOR
BAPIBAPIBAPI
BOBO
BAPIBAPIBAPI
Clientprogram
ClientClientprogramprogram
BOR: Business Object Repository
BO: Business Objects
BAPI: Business API
Business objects form the basis for communicating at high and user-friendly network layers. They allow the R/3 System to become Internet-enabled or enable desktop programs to be connected, for example. SAP uses business objects with the aim of integrating objects at a business level rather than on a purely technical level.
Business objects • Form the basis of well-defined communication between client / server systems. • Are business-oriented: there are objects such as "Customer", "Order" or "Offer", for example. • Provide business functions (methods). For a "Customer" object, for example, there are
"Create customer" and "View customer" methods. These names enable clear and therefore error-free programming.
• Are managed centrally in the R/3 System in the Business Object Repository (BOR). BAPIs (Business Application Programming Interfaces) are functional interfaces. They use the business methods
from the business objects. BAPIs may be addresses within or external to the R/3 System.
© SAP AG
R
R/3 System as an OLE Client
ABAPprogramABAP
programRFC
SAPGUISAPGUI
PCprogram
PCprogram
OLEserverOLE
server
188188
R/3
OLE (Object Linking and Embedding) is an object-oriented way for inter-program communication. You can connect desktop applications to the R/3 System for programs that provide OLE2 automation (Word, Excel, for example). In this way users can use the R/3 System without having to sacrifice their usual desktop environment.
If the R/3 System is acting as an OLE client, then the user calls the desktop program from the ABAP application. OLE commands are transferred from the ABAP coding as RFCs via the SAPGUI to the PC. The SAPGUI maps RFC calls to OLE commands for the PC application.
The desktop program's OLE functions are specified in the R/3 System in the type information. This information contains a description of the methods, attributes and parameters. Type information is language-independent.
ABAP contains five special OLE commands CREATE OBJECT, CALL METHOD, GET/SET PROPERTY and FREE OBJECT with which you can access the desktop functions.
© SAP AG
R
R/3 System as an OLE Server
Functionmodules
BusinessobjectsBAPIs
RFC
Data
PCprogram
PCprogram
R/3
188
RFCAPI
SAP
automation
server
When the R/3 System is used as an OLE server, its functions can be called from a desktop application. This sends OLE commands to the SAP Automation server. The server converts these commands into RFC calls and sends them to the R/3 System. This triggers function modules or BAPIs from business objects in the R/3 System. Once these have been processed, their data is then sent via the SAP Automation Server back to the desktop program.
As regards programming, users can use the R/3 System function modules. Programming is object-oriented, for example in Visual Basic or Visual C++.
The business objects that are managed centrally in the R/3 System in the Business Object Repository can be called from the desktop level using Visual Basic for example. This means that all of the business functions implemented in the Repository are available to external applications.
Both function modules and business objects are located within the R/3 System. Users must therefore first log onto the R/&3 System. This logon may be automated.
© SAP AG
R
Internet Architecture
Web hostWeb host
HTTPserver
R/3 applicationserver
R/3 applicationR/3 applicationserverserverITSITSITS
WG
ate
AG
ate
ClientClient
Bro
wse
r
The Internet is a global network of computer networks. It is a standardized platform for exchanging data between individuals and organizations. Business-to-business and consumer-to-business scenarios have developed during the furious development phase of the Internet over the last few years, so that it may be useful to connect companies to the Internet.
The R/3 System has been Internet-enables since Release 3.1G. The Internet Transaction Server (IST) forms the main component of the Internet architecture. It is made up of two program components: Application Gate (A gate) and Web Gate (W gate).
With regard to the R/3 System, the A gate behaves like a normal dialog user, since the protocol between the A gate and the R/3 System corresponds to the SAPGUI protocol. The A gate includes the data sent by the R/3 System to HTML templates and sends them over W gate to the HTTP server. From there they are displayed via the Internet in the customer's Web browser.
Customers are provided Web transactions which are a section of the Internet Application Components (IAC) provided by SAP. These are easy to handle and do not require any training to use them. Web transactions are mapped to R/3 transactions, which select and change the data in the R/3 System. You can format the appearance of the Web transaction as you would any Internet page.
© SAP AG
R
EDI Architecture
Documents
Ext. application
EDI messages
EDI subsystem
Idoc type
Idoc interface
Control record
Daten-satz
Daten-satzData
record
SteuersatzSteuersatzControl record
R/3 application
SAP documents
EDI stands for Electronic Data Interchange and describes the electronic exchange of structured business data between different applications.
EDI architecture consists of: • EDI-enabled applications: They allow business transactions to be processed automatically. • The IDOC interface: This was conceived as an open interface and consists of the intermediate documents
and the corresponding function modules. • The EDI subsystem: This converts the intermediate documents into EDI messages and inverse. SAP does
not supply this element of the EDI architecture. The main component of the IDoc interface is the IDoc type. An IDoc is an SAP standard that specifies the
structure and format of the data to be transferred electronically. It was developed with the standards EDIFACT and ANSI X12 in mind. IDocs are identified uniquely using a control record. The data records form the centerpiece of the application. The status records log the status of an IDoc on its way from the application to the trading partner and vice versa.
© SAP AG
R
Distribution of Business Processes with ALE
Order entry,billing, accounting,inventory controlling
Programplanning,centralpurchasing
Shipping,inventory management
MRP,CRP, SFC,inventory manage-ment
Ware-housemanagement
Head office
ShippingBusiness
unit
Plant Warehouse
For technical, organizational and business reasons, it may be useful to decouple application systems, with the aim of installing and operating them decentrally.
The ALE concept (Application Link Enabling) allows you to set up and operate distributed SAP applications. ALE comprises business controlled message exchange with consistent data retention across loosely linked systems. The applications are integrated through sycnronous and asynchronous communication, not through a central database.
To set up a distributed yet integrated system, the customer specifies in a logical model which applications run on which systems and how the applications exchange data.
Data is exchanged using IDocs (intermediate documents) from the EDI interface. EDI supports the exchange of messages between the R/3 Systems of different companies, whereas ALE allows information to be exchanged within a company.
© SAP AG
R
Sequentialfiles
SAP-interfaces /
checks
Legacy system
SAP data
R/3 System
Data Transfer
When you transfer data from one R/3 System to another, or from a legacy system into an R/3 System, you must ensure the integrity of the data that is transferred.
Since the system uses the same transactions to transfer data into the R/3 System as a dialog user, the legacy data is subjected to the same checks and controls as data that was entered manually. This ensures the integrity of the data.
The methods used to transfer legacy data are known as "batch input" methods. For many areas in the R/3 System, SAP provides standardized legacy data transfer methods. These methods use
batch input, call transaction and direct input programming techniques. The SAP standard methods are controlled using the Data Transfer Workbench (Transaction SXDA). If no SAP standard transfer method is available, you can program transfers using batch input or call transaction.
© SAP AG
R
Batch Input
Queue file
SAPdatabase
Application functionApplication function
Batch input functionBatch input function
BDC tableBDC table
BATCH INPUT:BATCH INPUT:
SAPdatabase
Application functionApplication function
BDC tableBDC table
CALL TRANSACTION:CALL TRANSACTION:
CALLTRANSACTION
SAPdatabase
DIRECT INPUT:DIRECT INPUT:
SAP-transfer program
Sequentialfile
Sequentialfile
Sequentialfile
With batch input, transfer data is buffered as a BDC table (Batch Data Communication) in a queue file (batch input session). In the next step, the system processes this session, that is, the data is transferred to the application transaction within the batch input environment and therefore entered in the database.
The R/3 System enables you to record a transaction in dialog mode. You can use this recording to generate a batch input session and a transfer program.
Alternatively to batch input, you can also call the transaction directly (Call Transaction), after a data record is taken from the sequential file and placed in the BDC table. The read and write process for the queue file does not apply here.
The batch input and call transaction methods access application transactions within the R/3 System. The data is therefore subjected to the same consistency checks before it is transferred as data in the dialog mode.
Direct input programs execute the consistency checks and update the data in the database, without having to access the application transactions. Direct input methods are used in a few SAP standard transfer methods such as transferring bills of material and documents). These processes are only programmed by SAP developers.
© SAP AG
R
Summary
The R/3 System provides several communicationsinterfaces. CPI-C and RFC are standard interfaces.OLE is used to connect Windows programs to thedesktop level.
EDI and ALE allow business data to be exchangedacross system borders.
Business objects provide business functions andare managed centrally in the BOR.
R/3 is Internet-enabled.
Batch input refers to methods to transfer legacydata into the R/3 System.
© SAP AG
R
ABAP Dictionary
Modeling in the R/3 System
The objects of the ABAP Dictionary
Tables and foreign keys
The two-level domain concept
Views
Search help functions
© SAP AG
R
Objectives
Become familiar with some of the modeling tools ofthe R/3 System (Data Modeler / EPCs).
Become familiar with the main tasks of the ABAPDictionary as an instrument for managing R/3 metainformation (data descriptions).
Become familiar with the uses of tables, foreignkeys, data elements, domains and views.
R
© SAP AG
R
Modeling
Modeling object
Real world
Why do we need models? A person or a group can only cope with a limited level of complexity. Models permit you to reduce the complexity of a system to its essential components. You can then build new and more complete systems and solve more demanding problems. Modeling is based on a segment of the real world that is significant for business-oriented operations.
© SAP AG
R
Objects
Plant Material Purchase requisition
Warehouse stock
Purchaseorder
DataModels
11003Plant
Material11027
Plantmaterial
11006
SERM
Models
Processes
EPC
Create materialmaster
Define mat.type
Material type isdefined
Transaction
Table
Navigation
Navigation
The SAP application model documents the business-oriented relationships and processes in the R/3 applications. It thus ensures a greater transparency of the application software: The structures of business-oriented objects and the business processes are described precisely and represented graphically from the company's point of view. The complexity of the integration can easily be understood. Because of its clear structure, the model shows who can implement what, when and with what objects within a company.
Dynamic aspects of the buisness-oriented information system are represented in the process model. This representation describes the time dependencies of functions. The triggering mechanism for a function is called an event. An event determines the flow logic of event-controlled process chains (EPCs). In addition to representing the time-dependent sequence of functions, the input and output functions as well as the organizational units used for executing the function can also be described.
Data models are created to formally map the data needed within the business-oriented processes in a global functional context. The SAP data model represents the information objects that are relevant for the company and their relationship to each other from the business-oriented point of view in the form of a Structured Entity Relationship Model (SERM). An entity type maps objects of the real world that have a business-oriented significance and a corresponding object in the R/3 System.
© SAP AG
R
Data Modeler / SERM
. . .
. . .
Simplified representation !
Entity typeCardinality
Material11027
11003Plant
Plantmaterial
11006Log.system
11001
Visualization and creation of datamodels as Structured EntityRelationship ModelsSupport during modelingSupport when mapping the createdmodel to the ABAP DictionaryHierarchical structuring of datamodels
SAP-SERM provides rules and construction principles that are required to represent the business-oriented objects, their semantics and the SAP-specific information in a model (SAP Enterprise Data Model EDM).
Entity types represent object types of the real world that have a SAP-specific meaning and a corresponding object in the R/3 System. The relationships between the entity types are classified by type and cardinality.
Data models can be represented both as text and graphically from within the ABAP Development Workbench. The section of the data model displayed can be changed dynamically. The user can define the required section of the data model individually.
The Data Modeler is a development tool with which data models can be created according to the Structured Entity Relationship Model (SERM). It supports the user both when modeling and when mapping the created model on the ABAP Dictionary.
Data models can be structured hierarchically to any depth in the Data Modeler. They can be expanded and compressed in the graphic display, which greatly simplifies work with large models. The graphic editor permits you to design data models as on a drawing board.
© SAP AG
R
Table 2
PhysicalDB tables DB
Dictionary table definitions
Table 1Table X
SAP EDM
User ViewConversion of the Model
The SAP EDM (Enterprise Data Model) is a stable reference point for both business-oriented reality and the particular RDBMS.
Despite the close relationship between the SAP data model and ABAP Dictionary, it could be necessary to distribute entity types on several tables of the ABAP Dictionary or to combine several entity types in a table for technical reasons. In this case views that define the relationship between the entity types of the data model and the tables of the ABAP Dictionary are defined in the ABAP Dictionary. Developers can display the version of entity types by selecting views and use them for programming at the level of business-oriented objects.
A view is the logical view on one or more tables. The data of a view is not physically stored, but is derived from one or more tables. For example, if a table contains a large number of fields, but only a few of them should be read, you can restrict access to the required data by defining a view on the corresponding table fields. You can therefore access specific data by defining a view.
© SAP AG
R
What is the ABAP Dictionary?
What data is used in R/3 ?
How is this data linked ?
What attributes does the data have ?
ABAPDictionary
Description of data
DB
The ABAP Dictionary is used to create and manage data definitions. It permits you to describe all the data used in the system centrally and without redundancies.
All the data created in the ABAP Dictionary is available throughout the entire system. Modifications take effect immediately in all the relevant system components due to the activation
mechanism. The R/3 Repository Information System enables you to use the Dictionary to answer a number of
questions. (The R/3 Repository Information System is described in the next chapter.)
© SAP AG
R
Integration of the ABAP Dictionary
ABAPDictionaryDictionary
ScreenPainterABAP
ABAPProgram
Tools of the developmentenvironment
These objects aredirectly influenced by theDictionary:
Selection screens Screen
The ABAP Dictionary is an integrated and active Dictionary, that is it is completely integrated in the development environment. The Dictionary information is created only once, but is available throughout the entire system at all times. The active ABAP Dictionary automatically provides all the information that was created or modified, thus ensuring current runtime objects, data consistency and data security.
The link of the ABAP Dictionary to the program flow is based on the interpretative method of the R/3 runtime environment. Instead of working with the original of an ABAP program, the ABAP processor interprets a runtime object generated from the program text prior to its first execution. Runtime objects are automatically generated again before execution if it is found that the time stamp differs from the ABAP Dictionary.
All the information that is critical to performance is stored in the runtime objects (programs, masks, etc.). System functions ensure that this information is always up-to-date at the time of execution.
© SAP AG
R
Row
Primary key Function fields
TableKey 1
.
.
.
Key 2
.
.
.
Key n
.
.
.
F 1
.
.
.
F 2
.
.
.
F n
.
.
.
Tables and Fields
A table is a two-dimensional matrix. It has a name and attributes, such as the table type. A field has a name and attributes. For example it can be a primary key field. A table has at least a primary key field, which uniquely identifies a row in this table. The ABAP Dictionary describes the logical structure of the objects of the application development and
their representation in structures of the underlying relational database. It provides a logical view on the application data and the organization of this data using the underlying database system.
© SAP AG
R
REPORT ZDEMO1.
SELECT * FROM SPFLI.
WRITE: / SPFLI-CARRID,SPFLI-CONNID.
ENDSELECT.
DBSPFLI
TABLES: SPFLI.
. . .
. . .
. . .
ABAP Example: Access to a Table
Loop processing: Read out the entire SPFLI table ("Full Table Scan")
There is a direct link between the ABAP Dictionary and the ABAP Workbench. Only the required tables must be defined in an ABAP program (TABLES: <tabname>). Main storage is thus reserved for one record of the table to be read, and all the fields of this "table working area" are correctly initialized.
All the information that is important for the runtime environment, such as the field length and field type, are obtained from the ABAP Dictionary.
In the above example, the "SELECT" command is used to read table "SPFLI", which is defined in the ABAP Dictionary. The command shown here reads all the records from the database table one after the other in a loop. The "WRITE" instruction outputs the record of the table row "SPFLI" currently being accessed on the screen.
© SAP AG
R
Domainuses
usesData element
TableField
Semantic field attributes
Basic Objects of the ABAP Dictionary
Technical field attributes
The basic objects for defining data in the ABAP Dictionary are tables, domains and data elements. The domain is used for the technical definition (e.g. field type, field length) and the data element for the semantic definition (e.g. short text) of a table field.
The field is not an independent object; it depends on the table and can only be maintained within a table.
The data element assumes that a domain exists. The domain can be defined without references to other Dictionary objects. It contains information
about the value range, such as the value table, the external format and fixed values (technical attribute, for example CHAR, length 4).
The data element and domain are the objects of the two-level domain concept in the R/3 System.
© SAP AG
R
Table SBOOK
. . . FORCURAM . . . .
Table SFLIGHT
. . . . . . PRICE . . .
Domain S_PRICE
Two-Level Domain Concept
Data elementS_F_CUR_PR
Data element S_PRICE
For example, table fields FORCURAM (table SBOOK) and PRICE (table SFLIGHT) have the same domain S_PRICE. The difference is that field FORCURAM uses data element S_F_CUR_PR and field PRICE uses data element S_PRICE. Both fields use the same domain because both fields FORCURAM and PRICE are currency fields and therefore have the same technical attributes.
The two-level domain concept permits you to define and maintain technical field attributes at domain level. A domain can pass its field attributes on to any number of fields, whereby only the domain, but not the individual fields, must be explicitly changed when the field attributes thus described are modified.
The data element describes the semantic attributes of a field in context with the table. These are attributes that are only of importance at that location and not globally (such as the technical attributes).
© SAP AG
R
What is a Foreign Key ?
Table T1Field1 Field2
Primary key
Table T2Field3 Field4
Primary key
Check table orvalue table
Foreign key table
Foreign key field
Relationships between tables can be defined in the ABAP Dictionary. These relationships are called foreign key and must be defined explicitly at field level.
Foreign keys are primarily used to ensure data consistency. Data that was entered must be checked against existing data to ensure that the data is not inconsistent, for example if you assign a printer that does not exist.
A combination of fields of a table is called the foreign key if this field combination is part of the primary key of another table.
A foreign key creates a link between two tables T1 and T2 when table T2 refers to the primary key of table T1. In T2, the foreign key fields are assigned to the primary key fields of T1. Table T1 to be checked is called the check table and table T2 is called the foreign key table. They are also called the dependent table (foreign key table) and the referenced table (check table).
If a foreign key is defined between two tables, a record of the foreign key table refers to a record of the check table. Since a record is identified by its key, it is sufficient to refer to the primary key of the check table in the foreign key definition for the foreign key field.
© SAP AG
R
Example: Inserting a Data Record
Foreign key relationship
CarrnameAAACAFLH
SRUA
......
American AirlinesAir CanadaAir FranceLufthansa
SwissairUnited Airlines
.....
CARRID
LH 0400........... ........
CARRID
LHLHLH
040204102402
CONNID. . . . . .
. . . . . .
CITYFROM CITYTO ...................
...........TZ 0400 . . . . . .
SCARR (Check table)
SPFLI (Foreign key table)
Primary key
Primary key
Insertion Insertion allowedallowed ? ?
Field 'CARRID' was defined as the foreign key field in table SPFLI. The corresponding check table is table SCARR with the primary key field 'CARRID'.
When a data record is entered in table SPFLI, the values for field 'CARRID' are checked against all existing carriers in table SCARR. Question: May you insert the above data record in table SPFLI?
© SAP AG
R
Tables and Structures
Database - physical definition of the table
ABAP Dictionary logical table definition
Field 1 Field 2 Field 3 Field 4
Table
ABAP Dictionary structure definition
Field 1 Field 2 Field 3 Field 4
Field 1 Field 2 Field 3 Field 4
A transparent table is automatically created on the database when it is activated in the ABAP Dictionary. The database-independent description of the table in the ABAP Dictionary is converted into the language of the database system used.
The database table has the same name as the table in the ABAP Dictionary. The fields also have the same name on the database and in the ABAP Dictionary. The data types in the ABAP Dictionary are converted to the corresponding data types of the database system.
Since Release 3.0, the order of the fields in the ABAP Dictionary may differ from the order of the fields on the database. This permits you to insert new fields without having to convert the table with a physical reorganization. New fields are inserted by changing the database catalog (ALTER TABLE). A new field is appended to the database table, whatever position the new field has in the ABAP Dictionary.
© SAP AG
R
ABAP-Dictionary
User view 1
Views
Join
Projection
Selection
Table 1
Table 1Table 3
The usual method in the relational model of providing problem-oriented data views in the form of views can also be used in the R/3 System. In the ABAP Dictionary, views can be defined as virtual tables, that is they do not actually contain data, but represent data of other tables of the ABAP Dictionary in a suitable form as a table.
The SAP view supports the relational operators JOIN, PROJECTION, and SELECTION. The join defines how the base tables used in the view are linked. (Tables 1 to 3) The projection defines those columns of the base tables that should be included in the view (fields of
the table that are marked in bold). The selection condition of a view provides the rows that should appear in the view table. You can read
the required records of the view with the corresponding ABAP programming commands.
© SAP AG
R
R/3 Standard Function: Input Help
No. Departure city Arrival city
CarrierCarrier
04000400 FrankfurtFrankfurt New YorkNew York
04020402 FrankfurtFrankfurt New YorkNew York
LHLH
24022402 FrankfurtFrankfurt BerlinBerlin
...... ...... ......
Carrier
Flight number
Flight maintenance
LH
F4F4
The input help (F4 help) is a standard function of the R/3 System. It allows the user to display a list of possible values for a screen field. A value can be directly copied to an input field by selecting it from the list.
The fields having an input help are visualized in the R/3 System with a combo box to the right of the field. This combo box appears when the cursor is in the corresponding screen field. The help can be started either by clicking on this box or with function key F4.
If the number of possible entries in a field is very large, the input help allows the user to restrict the number of values displayed by defining further restrictions.
The input help provides additional information in the display for fields where no corresponding entries are expected.
Since the input help is a standard function, it should look and behave the same throughout the entire R/3 System. The ABAP Workbench therefore provides simple tools for assigning a standardized input help to a screen field.
The input help of a field can usually be precisely defined based on its semantics. For this reason, the input help of a field is normally defined in the ABAP Dictionary.
© SAP AG
R
Summary
The ABAP Dictionary is the instrument formanaging metadata in the R/3 System. It thereforecontains descriptions of the data:“What tables and what fields and data types arethere in R/3?”“What views are there in R/3?”“What foreign key relationships are there?”
© SAP AG
R
ABAP Workbench
Change levels in the R/3 System
The R/3 system landscape
The Workbench Organizer
The software development cycle
The R/3 Repository
The ABAP Workbench
ABAP Query
Testing and optimizing
© SAP AG
R
Unit Objectives
At the end of this unit you will be able to:
Identify the change levels in the R/3 System
Describe the structure of the system landscape, withdevelopment, test, and production systems
Understand the use of change requests, tasks, andthe Workbench Organizer
Identify the different tools in the ABAP Workbench,and understand how they can be used to develop R/3applications
R
© SAP AG
R
Change Levels
R/3 Basis
System Software
ABAPWBCust.
ProgramR/3 Businessapplications
(SAP standard)
CustomerCustomerdevelop-develop-
mentment
Enhancements
CustomizingCustomizing
Modification
112233
Cust. exit 1
44
Cust. exit 2
There are four different ways in which you can adapt the R/3 System to meet your requirements: 1) Customizing: Here, you set system parameters using a special user interface. All of the possible settings
have been allowed for and organized by SAP. Customizing is a mandatory part of setting up your system. 2) Enhancement concept: This allows you, the customer, to enhance SAP Repository objects without using
modifications. 3) Customer development: The R/3 System contains a customer namespace, in which you can create your
own Repository objects. 4) Modification: Modifications are changes to SAP Repository objects. When you upgrade your system, you
must compare your versions of modified objects with the new SAP version.
© SAP AG
R
The Three-System Landscape Recommendedby SAP
ProductionDevelopment Quality Assurance
SAND
TEST CUST QTST TRNG PROD
To ensure system consistency, SAP recommends you set up a system landscape consisting of three systems. These three systems include the "productive" clients (where development, Customizing and production occur) and any other clients desired (training, sandbox client and so on).
A three-system landscape facilitates the following recommended process: Development of customer-specific programs as well as required Customizing takes place in the development
system. All Customizing settings as well as changes (developments, corrections or modifications if required) to the
Repository are transferred to the quality assurance system (or "test system" for short) to be checked there without influencing production.
All objects and settings imported into the test system can then be transferred into one or more production systems.
A three-system landscape also allows testing of upgrades and helps to minimize downtime during upgrades of the production system.
The systems within a system landscape must have unique three-character names.
© SAP AG
R
Change requestChange request
Task
Task
Task
Project leaderProject leader
Developer
Developer
Project Management in the Workbench Organizer
Developer
When a new development project starts, the project leader creates a change request, and assigns the project team members to it. A change request is a container for all of the Repository objects that are created or changed during a development project. The Workbench Organizer assigns a project number to the change request (<sid>K9<nnnnn>, so for example, C11K900001).
The Workbench Organizer then creates a task for each team member. Whenever a team member assigns a Repository object to the change request, it is entered in his or her task. At the end of the project, the task contains all of the objects that the team member has worked on.
When they have finished with their part of the development project, each team member releases his or her task. This passes the objects from the task to the change request. Once all team members have released their tasks, the project leader can release the change request.
© SAP AG
R
Logical and Temporal Organization
Assign object to a development class
Assign object to a change request
Create object
Developer
Object automaticallyassigned to a task
Development system
When you create or change a Repository object during a development project, you must assign it to a development class. Development classes are used to group objects that belong together logically or due to their content. All of the objects in a development class share a common transport path. You can create development classes using the ABAP Workbench (Repository browser SE80).
Each development class has a contact person who is responsible for it. Development classes allow you to divide up your Repository objects logically and thus provide helpful orientation within the ABAP Workbench.
Once you have assigned a Repository object to a development class, you must also assign it to a change request. In contrast to the logical and permanent assignment of repository objects to development classes, the assignment of repository objects to change requests is project-specific. Objects in different development classes (that is, from different areas) can be managed together in one project (change request).
The Workbench Organizer automatically assigns objects to the relevant task within a change request.
© SAP AG
R
Closing a Project
Create object
Object Lock
ExportImport
TMS
Set Release
Assign object to a development class
Assign object to a change request
Releasetask
Automatic assignment to a task
Releasechange request
QAS/ Production system
Project leader
While developers are working on objects in a change request, these objects are reserved exclusively for the developers.
When the developers have finished their work, they release their tasks. The objects and their locks are passed from the task to the change request. The objects can still be changed by all project team members, since the Workbench Organizer creates additional tasks as required.
When the project is complete, the project leader releases the change request. The locks on the objects in the change request are released.
Change requests may be transportable or local. The Workbench Organizer classifies them automatically depending on their development class. The following steps are performed only after transportable change requests are released: As soon as the change request has been exported, a test import determines whether it is possible to import all
of the objects into the target system The Repository objects are exported to a transport directory. The export and test import results are written to the transport log, which is then checked by the developers.
Import into the target system is not automatic. It is triggered in the Transport Management System (TMS). After the import, you can check the import log.
© SAP AG
R
Writing an ApplicationThe ABAP Workbench supports the entire software development cycle
Modeling
RepositoryBrowser
ABAPDictionary
Screen Painter
Menu Painter
FunctionBuilder
ABAP Editor
Debugger
Testsequences
Performancetools
WorkbenchOrganizer
Versionmanagement
Analysis/Analysis/designdesign ImplementationImplementation TestTest AdministrationAdministration
SAPsolution
Project management - Workflow model - Documentation - PrototypingProject management - Workflow model - Documentation - Prototyping
The ABAP Workbench is the development environment in the R/3 System for client/server business solutions. It supports the entire software development cycle with tools for modeling, programming using ABAP, defining data and table structures, and for designing graphical user interfaces. It also contains tools for testing, tuning, and maintaining software, as well as supporting development in large teams.
In the concept phase of a project, you enter the results of your analyses into the SAP data model. This enables you to turn your concepts into fields, tables, and other R/3 objects. You can then develop your program components in any sequence you choose - they do not have to be combined into a single application until you want to run it. The development cycle concludes with program tests and transport into the production system.
As well as the ABAP Workbench, SAP also provides a library of business and utility software components, which you can easily incorporate in your own programs.
© SAP AG
R
R/3 Repository and Repository Objects
FI HR
MM
SD
WM
Function modules
Programs
Data elements
. . .
Development classes
Repository Objects
MMM M
The objects that you create using the tools in the ABAP Workbench are called Repository objects. They are stored in a special part of the database in the R/3 System called the R/3 Repository.
The R/3 Repository is divided into applications. Applications are divided into development classes. Repository objects are often made up of several subobjects that are themselves Repository objects. For example,
an application program is a Repository object, and so are the screens, user interfaces, and text elements that it contains.
Whenever you create a new Repository object, you must assign it to a development class. You can retrieve information about Repository objects (tables, fields, domains, and so on) using the R/3
Repository Information System. This consists of a series of programs, each of which provides a particular view of the R/3 Repository.
© SAP AG
R
RepositoryBrowser Dictionary ABAP
EditorFunctionBuilder
ScreenPainter
MenuPainter
ABAP Workbench
ABAP Workbench Tools
Function Builder
Screen Painter
ABAP DictionaryABAP Editor
Repository Browser
Menu Painter Painter
The tools in the ABAP Workbench allow you to create and change Repository objects. To change a Repository object, you can either start the relevant tool and enter the name of the object, or use
forward navigation to open the relevant tool by double-clicking the name of the object you want to work with. The Repository Browser provides an overview of Repository objects. The ABAP Workbench contains tools that support the entire software development cycle. The ABAP Workbench allows you to easily create client/server applications without having to worry about
communication or distribution problems.
© SAP AG
R
ABAP ...Stores all metadata in the active ABAP DictionarySupports business-relevant data types andoperationsUses Open SQL, allowing you to accesswhichever database system you are usingwith the same set of statementsProvides open programming interfaces such asRemote Function Call (RFC) and Object Linkingand Embedding (OLE)Is event-drivenAllows object-oriented programming
Principles of ABAP
ABAP
SAP has developed its Advanced Business Application Programming (ABAP) language to provide optimal conditions for application development. It supports structured programming, and contains control structures and modularization concepts. It allows prototype-based program development by allowing developers to write a preliminary version of the program and its user interface, and then to fill in the missing functions.
ABAP is an interpretative language. You can easily generate and test intermediate versions of programs, which you can then adopt in your final version.
ABAP is multilingual. Text such as titles, headers, and texts on screens are stored separately from the program code, allowing you to change and translate them without having to change the program itself. ABAP supports business-relevant data types and operations, including special date and time fields that you can use in calculations. The system performs necessary type conversions automatically.
ABAP contains a subset of ANSI SQL called Open SQL. This allows you to read from and write to the database in your programs regardless of the underlying database system.
© SAP AG
R
SELECT-OPTIONS..SELECT ...
WRITE ... CALL SCREEN ...
Screen
User dialogs
Database dialogs
ListSelection screen
ABAP Dialogs
The three basic dialog forms in ABAP are screens, selection screens, and lists. You create selection screens and lists using ABAP statements in the ABAP Editor. Screens are static objects that you create graphically. You call them from ABAP programs, and they in turn call
other ABAP modules from their flow logic (refer to SAP transaction processing in the System Kernel unit).
© SAP AG
R
REPORT BC400D_GETTING_STARTED.
PARAMETERS pa_carr LIKE sdyn_conn-carrid.
pa_carrLH
PA_CARR LH
Selectionscreen
User Dialogs
User selection Execute (F8)
You can define selection screens for ABAP programs. These allow the user to enter values that restrict the data selected from the database (in the example, the user has entered the airline 'LH').
In the program, you can process the data selected by the user and display the results, for example, in a list. Use the PARAMETERS statement to define a field in which the user can enter a single value. If the user enters
a value and then chooses 'Execute', the value is placed in the internal data object pa_carr in the program. The system will only allow you to enter values that conform to the type of the data object.
© SAP AG
R
DATA wa_spfli LIKE sdyn_conn....SELECT SINGLE CARRID CONNID CITYFROM CITYTO FROM spfli INTO CORRESPONDING FIELDS OF wa_spfli WHERE carrid = ‘LH‘ AND connid = ‘0400‘.
Table SPFLI
wa_spfli
ABAPDictionary
Database Dialog
The system reads the fieldsCARRID CONNID … of anentry in database table SPFLIand places the contents in theidentically-named fields of thework area WA_SPFLI
The statement DATA wa_spfli like sdyn_conn declares an internal data object using a reference to an object in the ABAP Dictionary (the LIKE addition). We can now use this data object as a work are for the data that the ABAP program reads from the database.
ABAP contains a set of statements called Open SQL. These statements are a subset of ANSI standard SQL, with certain SAP-specific enhancements. Open SQL is used to access the database.
In the example, we are using the Open SQL statement SELECT. The SELECT statement reads certain columns of a line of the table SPFLI from the database and places the data
into the identically-named fields of the work area wa_spfli. Tables that you access using Open SQL must be defined in the ABAP Dictionary.
© SAP AG
R
ABAP Query / ReportingReport(ABAP)Data retrieval List
ReportingQuery
Methods for generating lists: Report: Statements in the ABAP programming languageQuery: Description of the desired result
Methods for generating lists: Report: Statements in the ABAP programming languageQuery: Description of the desired result
List definition(Query)
List definition(Query)
Report generatorReport generator
Functional areaFunctional area
ABAP Query allows you to define simple reports without having to program them in ABAP. Instead, the user only has to define how the list should appear (what information should be visible, and how it should be arranged). From this query, the system generates an ABAP report program that generates the list.
Within a query, there are three different types of list: 1. Basic lists. These contain unsummarized data, exactly as it occurs in the database. You can sort it by any criteria and calculate totals and subtotals. 2. Statistics. These contain summarized data. 3. Ranked lists. These are special statistics. They too contain summarized data.
ABAP Query does not access the database tables straight away. To protect access to the database, it uses an environment in which it can determine which users have access to which data. The main object in this environment is the functional area. Functional areas describe the tables and fields that a user may access.
The report program assigned to a query is a normal ABAP report program. This means that you can use all of the tools and utilities available for normal ABAP programs. In particular, it allows you to create variants, and to execute queries in the background.
© SAP AG
R
Quality and performance are essential to company-wide businesssoftware.
The ABAP Workbench has three tools for testing and tuningABAP applications:
CATT
SQL Trace
Runtime analysis
Testing and Tuning
ABAPRuntime in microseconds
Runtime Analysis OverviewRuntime analysis Edit Goto Utilities System Help
Group hit list
DatabaseR/3 System
4.124.023
314.050
1.904.109
100 %50 %
Program: ZZTESTUser: TESTUSER
Hit list Tables Hierarchy
CATT stands for Computer Aided Test Tool. You can use this tool to test the quality of software. The SQL trace is implemented to analyze an application's database activity. The SQL trace is used to:
• Recognize unnecessary database accesses • Specify which database tables are buffered • Specify whether database read accesses can be optimized by creating or redefining indices.
The runtime analysis provides information on the performance-relevant attributes of a particular transaction or report. The tool measures in detail how much CPU is consumed by the statements and operations.
© SAP AG
R
Summary
Organized software development is ensured by theWorkbench Organizer, which is integrated in theABAP Workbench and linked to the transportsystem.
The ABAP Workbench is the software developmentenvironment in the R/3 System. It contains a rangeof development tools that support the entiresoftware development process.
© SAP AG
R
Administration and Remote Services
Principles of R/3 System security
Profile Generator and user administration
Administration functions
Computing Center Management System
SAP service and support
© SAP AG
R
Objectives
Describe the elementary aspects of security as well as asimple way to assign authorization.
Define the tools used by system administrators and thefunctions for extended system monitoring.
Discuss SAP’s service and support
© SAP AG
R
Security Aspects in the R/3 System
Client(SAPGUI)
Firewall(SAProuter)
Applicationserver
Applicationserver Database
server
Internettransactionserver (ITS)
WEBserver
Presentation ApplicationNetwork / Communication
DatabaseInternet
Firewall
WEB browser
Firewall
R/3 System technology integrates various security mechanisms at several levels:
Presentation: The SAPGUI software uses check totals to check for integrity each time the R/3 frontend is started. This also recognizes if there is a computer virus present.
Network / Communication: A firewall and the SAP router protect the internal network. You can also use additional security mechanisms by integrating external security products such as SECUDE (or Kerberos).
Application: The authorization concept prevents unauthorized access to data and transactions. Users must authenticate themselves with their user ID and password. The lock mechanism internal to the R/3 System also prevents users making changes to data at the same time.
Internet: The R/3 System supports current Internet security standards, such as https for example. Database: Only database administrators can access data in the R/3 database from outside the R/3 System. The
database manufacturer's security mechanism applies here. Passwords: Preconfigured users exist in clients 000 and 001 after the R/3 System has been installed. These
default users, DDIC and SAP*, have comprehensive authorization. You should, therefore, change their initial passwords immediately.
You can find additional information on the subject of security in the OSS Notes, the installation guide, R/3 online documentation or in the security guide.
© SAP AG
R
The Authorization Concept
Profile 1 Composite profile 2
Authorization 1
Profile 2 Composite profile 1
Authorizationprofile x
Authorization 2 Authorization x
User master record
Authorization object 1 Authorization object 2 Authorization object x
The SAP authorization concept recognizes a series of different user authorizations. These are all managed centrally in the user master record for that user.
The SAP authorization concept is object oriented. Several units to be protected (factory, cost center, supplier, for example) make up an authorization object.
To create an authorization, you use exactly one authorization object. The authorization object is then filled with values and forms an authorization.
Authorizations are not assigned to users directly, but in profiles. To keep maintenance to a minimum, you can combine authorizations in authorization profiles. These are then
assigned to users and do not have to be individually maintained in the user master records. Changes to access authorizations in profiles become effective for all users who have the corresponding profile in their user master record.
Composite profiles are an additional organization level, which combine several authorization profiles. They are defined for those users who have to work with several authorization profiles at the same time.
© SAP AG
R
Profile Generator: Authorizations
Transaktionscode FD02
Change Activity Group: AuthorizationsAuthorizations Edit Goto Utilities Environment System Help
Open Changed Maintained Org. levels...
Maint.: 0 Non-maintained org. levels, open fields, Status: Changed
Standard Transaction code check at transaction start
Standard Transaction code check at transaction start
Standard Cross-Application Authorization Objects
Standard Financial Accounting FI
Standard Customer: Change authorization for specific fields Standard Customer: Change authorization Standard Customer: Account authorization Standard Customer: Authorization for company codes
Standard Customer: Authorization for company codes
Activity 02 Company code 0001-9999
+
-
-
-
-
-
-
++
The Profile Generator was developed to facilitate maintaining authorizations and profiles. First define an activity group and then choose the transactions that belong to it. From the company menu, find all
of the transactions that belong to the required task. Then assign users to the activity group. For reasons of security, users do not receive the authorization profile until you choose "Compare in user master
record ". Additional people can perform the tasks "Assign user to activity group" and "Assign profile to user master record".
Summary: Only required authorization objects are used. Authorization profiles and authorizations are generated automatically. You no longer require technical details - the system administrator uses transactions to choose authorizations from the company menu. This simplifies creating and administering authorization profiles.
© SAP AG
R
System AdministrationDisplay application server
Manage user sessions
Manage work processes
Manage lock entries
Manage update records
Send system messages
Manage transaction codes
System log
SM51
SM04 AL08
SM50 SM66
SM12
SM13
SM02
SM01
SM21
Administrationfunctions
The R/3 System provides system administrators with a number of powerful tools to perform their daily tasks. You can find the following functions in some of the transactions listed above: Server, user and work process overviews Manage locks and updates Create system messages Lock transaction codes Monitor and analyze the system log.
© SAP AG
R
System Administration: Terminations
VBLOG DB
Inconsistent data in the DB?
Enqueue server
. . .
TERMINATION!
Insert
Dialog server
. . .
Insert
Dispatcher
D D
Dispatcher
VD
TERMINATION!
12
If a dialog work process is terminated as it is written to the VBLOG (1), then there will be incomplete data in the VBLOG that cannot be updated. These entries can be automatically deleted the next time you start the system. The application tables themselves remain unchanged.
An update termination (2) may be triggered for several reasons. Report "VBTST300" displays an example. If you execute this report using option "I" instead of the default "U", then an insert is transmitted to a table. If this insert is then repeated in the same table, this triggers the exception condition "Duplicate Key" in the coding because an entry already exists in the table under this key.
If updates are terminated, the system sends an express mail to the user who triggered the update. Any further steps to be taken must be carried out by the system administrator.
Transaction SM13 provides system administrators with analysis tools to handle terminated updates. Once the error that causes the termination has been corrected (for example, if you reorganize the table, increase the maximum extent number, correct the coding and so on,) the end user should then restart the update.
In the case of terminates V2 updates, you can update these log records can be later. You must not, however, handle V1 updates in this way, otherwise this may create inconsistencies in the data.
© SAP AG
R
R/3 Computing Center Management System Control
System administration (Start, stop, reconfigure the system) Manage system profiles Background processing and job scheduling Dynamic load distribution Fine-tuning the system
Monitoring Performance control of the R/3 System,
database and operating system Analysis of execeptional situations and alerts Control data transport between R/3 applications
With the Computing Center Management System (CCMS) you can monitor, control and configure an R/3 System. You can use the tools provided to analyze system load and determine the resource consumption by the various system components.
The CCMS provides you with a series of graphical monitors and administration functions: · Starting and stopping the R/3 Systems · R/3 System monitoring and analysis · Automatic reporting of system alerts · Dynamic user distribution · R/3 System configuration: Editing system profiles (not authorization profiles) · Processing and controlling background jobs, scheduling database backups.
© SAP AG
R
New Monitoring Architecture
Current status Display alerts Complete alerts Customizing
Basis Development ( Basic monitor )
View: Open alerts ( 30.03.1998 , 15:37:08 ), Visible level: Developer
I41
Spool pswdf046_I41_46
OperatingSystem DatabaseClient R3Services R3BasisSystem
Buffers
Program SingleRecord GenericKey
DirectoryUsed
SpaceUsed HitRatio 51 % < 60 % 15 min. mean value
Monitoring Object
Monitoring attribute: Type performance
Monitoring Summary
Virtual monitoring tree element
Switch view: Current status < - > Open alerts
Propagation of highest alert
A new system monitoring structure is available from Release 4.0 using Transaction RZ20. This new structure allows centralized monitoring of many system parameters and includes the following:
Links to existing analyses Open interfaces that can be used to incorporate other system monitoring tools (including non-SAP tools). Allows monitoring of other R/3 Systems provided an RFC connection with the other system is possible and
configured. It is also possible to define your own monitors in the new infrastructure. These can be used to provide specific
people with only those alerts they are interested in. All threshold values can be maintained using simple Customizing settings. These can be valid either for one
monitoring attribute or for an entire class of monitoring attributes. How full are various directories on the operating system level is an example of a typical monitoring attribute.
You can define the alert condition for a specific directory using an individual threshold value or the threshold value of the "percentage_used" group (for example, change from green to yellow when 95% full)
The example above displays the "HitRatio" attribute of the "GenericKey" buffer monitoring object. This attribute is also used for other monitoring objects (program buffer, for example). The buffer content is below the specified threshold value triggering a red alert and propagating the red alert higher up in the hierarchy (dependent of its assigned priority).
© SAP AG
R
Local
Local Regional Central
Softwarefactory
Developmentsupport
Servicecenter
Regionalsupport
ImplementationHardware
Consulting
Technology
Regional centers(7x24)
R/3 customer
SAP
Partners
Local supportTraining
Consulting
. . . System resellers
Headquarters
R/3 Service & Support: Virtual Infrastructure
How is the service and support organized?
SAP International Subsidiaries (local) Training Consulting Local support
Regional Service & Support Center (regional) Service and support for Europe, America, Asia and Australia Secondary processing of support requests (7 x 24h)
Headquarters (central) Development Strategic service and support planning Coordination of service and support activities
© SAP AG
R
SAP Remote Services
Online Service System (OSS)
Going Live Service, Early Watch
Remote Consulting
SAPNet
Online Service System (OSS): The OSS allows users to consult SAP's extensive database of notes if they have any questions or if any problems occur, before they create a problem message in the OSS.
Going Live and Early Watch: The Going Live check occurs shortly before an R/3 System is used productively. This test checks once again that the system is able to meet the requirements set. An Early Watch session recognizes performance bottlenecks in an R/3 System and proposes suitable counter-measures.
Remote Consulting: During a Remote Consulting session, SAP consultants are able to access the customer SAP system at a time specified by the customer, and attempt to analyze and solve the problem in the R/3 System from their work station.
SAPNet: SAPNet displays current notices, documentation, a few tools (QuickSizer) and much more. You can also use the discussion forum to offer and search for information, which makes considerable competence and customer experience available to a wide range of users.
Additional services: Remote upgrade and archiving, conversion, migration and Euro services.
© SAP AG
R
R/3 Online Service System (OSS)
OSS
Customer/ CCC
PartnerPartner
SAP /SAP /branchbranchFunctions
Problem messages
Notes
Hot news
Online corrections
Service requirements
SAP software change registration
Training information
User master record maintenace
Which functions can you use in the OSS?
You can report problems in R/3 customer systems. You can search for notes in the OSS using keywords. You can display latest SAP information (HotNews) on hot packages or new OSS functions, for example. You can generate and release developer keys (from Release 3.0) for developers and also for SAP standard
objects. You can import preliminary corrections directly using hot packages into an R/3 System. You can maintain customer OSS user data yourself (telephone and fax number, first name and surname) and
submit new users. You can find the latest SAP training course overview. Using service connection you can allow an SAP employee to access a customer system to ensure that an error is
corrected more quickly.
© SAP AG
R
Summary
Overview of security measures
R/3 System administration tools
Profile Generator functions
The CCMS system administration tool
SAP service and support
© SAP AG
R
Exercises
Note:
There may not be sufficient time to workthrough all the exercises during the course.The exercises should be seen assupplementary examples that can be used,time permitting, during the course. Attendeescan also use these exercises after the course,to consolidate what they have learned.
Unit: Navigation Topic: Using the R/3 System
• Navigating using the menu; calling transactions in R/3
• Entering the user profile
• Configuring the favorites list
Using the R/3 System; setting the user defaults
1. Logging on the system
1.1. Start the SAPgui and choose the appropriate R/3 System. Use the user name, client and initial password provided by your instructor. When logging on for the first time, a window appears in which you must enter a new password twice.
1.2. Call the system status.
1.3. What is the current system time (not identical to the frontend time!)?
1.4. Which R/3 Release (version) are you using?
2. Navigation
2.1. Open sessions (maximum number?) and then close them. (”/o” opens the session overview).
2.2. Minimize a session window and then restore the original window size and position. 2.3. Test the functions of the following commands:
a) “/i" b) “/n" c) “/nend" and d) “/nex"
2.4. What are the corresponding transaction codes for the following menu paths? a) System → Services → Jobs → Job overview b) Tools → Administration → Monitor → System monitoring →
User overview 2.5. You are interested in transactions for accounts receivable accounting, for example.
Display relevant transaction codes for this topic.
3. User defaults
3.1. Using the example of Transaction FD03 (displaying accounts receivable), set a user default for the field Company code.
3.2. The Administration menu (Transaction S002) should appear automatically when logging
onto the system. Set this under your Festwerte???..
3.3. Set a favorite of your choice (see dynamic menu). The favorite should consist of two folders, each with two applications (transactions).
Unit: System Kernel Topic: Recognize the structure of the R/3 training system using the instance overview.
• Using the server / process overview
• Working with the job overview.
The R/3 System in which the participant is currently working is consists of how many instances? How are these configured?
1. System overview
1.1. The training system consists of which application servers?
1.2. On which of these servers are you working?
1.3. Which server provides lock management work process?
1.4. How many work processes of this type does the central instance provide?
1.5. (Optional difficult question!) On which instance is the message server running?
2. Background processing
2.1. Did the "Collector_for_Performance_Monitor" job run on this training day?
2.2. When did it last run?
Unit: Interfaces Topic: Communication and Data Transfer
• RFC communication with external systems.
• Data transfer using batch input.
The R/3 System can communicate with external systems, using the ABAP interface RFC. You use batch input methods to transfer legacy data into the R/3 System.
1. Communication using RFC. 1.1. Find function module RFC_READ_TABLE. 1.2. What does the module do? 1.3. Ensure that the function module is RFC-enabled. 1.4. Familiarize yourself with the function module interface and run a single test: the RFC
target system is either 'NONE' or a system defined by the instructor. Query table = 'SFLIGHT'
1.5. Restrict the table selection to airline 'AA'. 2. Data transfer with batch input.
2.1. Which batch input sessions were generated today? 2.2. Are there any sessions that are still to be processed or incorrect? 2.3. What is the content of the sessions that are still to be processed? 2.4. (optional for experts)Record changing a customer's address.
Generate a batch input session from the recording. Process the batch input session in the foreground.
Unit: ABAP Dictionary Topic: ABAP Dictionary Metadata
• Modeling in the R/3 System.
• Tables and their components.
R/3 System metadata is stored in the ABAP Dictionary. The ABAP Dictionary describes the tables, matchcodes, views, foreign key relationships and elements.
1. Modeling.
1.1. Navigate to the data model BC_TRAVEL.
1.2. Is there an entity type BC_MEAL in model BC_TRAVEL?
1.3. What type of relationship exists between the entity types BC_SFLIGHT and BC_BOOKING?
2. ABAP Dictionary.
2.1. Using which table is entity type BC_BOOKING implemented in the ABAP Dictionary?
2.2. Look at the table fields of this table. The primary key consists of which fields?
2.3. Are the following entries in this table conceivable (consistent)? 400 LH 0400 19980101 00000001 00000001 X. 60.5 KG .. 400 LH 0400 19980101 00000001 00000001 10.2 KG...
2.4. For the current week, are there any flight bookings for airline LH and connection number 0400?
Unit: ABAP Workbench Topic: The R/3 System Development Environment
• Function modules as an ABAP programming modularization technique.
Which modularization techniques can be used within ABAP development?
1. The development environment function modules.
1.1. Navigate to the ABAP development environment in the R/3 System.
1.2. Branch to the "Function Builder".
1.3. Use the input field to view a list of all function modules that begin with "STRING".
1.4. View the documentation on function module STRING_REVERSE.
1.5. Execute this module using the test environment. You can use any character string you like to do this (do not use "otto").
2. Where-used list in the R/3 Repository Information System
2.1. In which programs is function module STRING_REVERSE used?
2.2. Which programs are used to access table SBOOK?
Unit: Administration Topic: Basic Administration Functions
• Working with the user overview
• Finding open locks and update terminations. Finding warnings and errors in the system log.
• Displaying an alert monitor
A system administrator's daily tasks.
1. System overview I
1.1. How many sessions have you opened?
1.2. How many sessions has one of your neighbors opened?
1.3. Try to delete one of your neighbor's sessions. Did it work?
2. System overview II
2.1. Are there currently any open locks? To which user are these locks assigned?
2.2. Were there any update terminations this week?
2.3. View the messages that concern you in the system log.
3. System overview III
3.1. What is the current average response time? This is an important value to describe system performance.
© SAP AG
R
Solutions
Unit: Navigation Topic: Using the R/3 System
• Navigating using the menus; calling transactions in R/3
• Specifying user defaults
• Configuring the favorites list
Using the R/3 System; user-specific defaults
1. Log on to the R/3 System
1.1. Log on to the R/3 System indicated by the instructor and change your password.
1.2. To display system status, choose System → Status.
1.3. The current system time (application server time) is in the top right corner of the System: status screen under System time.
1.4. You can also find the R/3 Release (version number) in the System: status screen under SAP System data → SAP Release.
2. Navigation
2.1. To create and end sessions, choose System → Create session and System → End Session (also possible by entering /i). Six sessions can be open simultaneously during one user terminal session.
2.2. To minimize and maximize a window, use the buttons located in the upper right-hand corner of the window frame. To move a window around, click the title bar and hold, then move the window around screen. You can also alter the shape of the window by selecting the window frame (at the corners) and holding then pulling the corners in any direction.
2.3. Test the functions of the following commands:
a) /i ends a session
b) /n ends the current transaction and you are returned to the calling menu.
c) Use /nend to log off the system
d) Use /nex to end the session immediately without any prompt.
2.4. What are the corresponding transactions for the following menu paths?
a) SM37 (see System status under transaction) b) SM04 (see System status under transaction)
2.5. Go to the Dynamic menu. To activate the technical names, select the magnifying glass or choose Edit → Technical name → Technical name on. Place the cursor on Company menu and choose Edit → Find. Enter customer in the Call trans. Code or choose menu text window that appears and start the find. The transactions found are displayed.
3. User profile
3.1. To set a user default for a field, you need the parameter ID of that field. To find the parameter ID, choose a transaction which displays this field. Then, select the field by placing the cursor over it and choose F1 → Technical info → Parameter ID for the required entry. For the Company code field, the parameter ID is BUK. Enter this ID in the user profile (System → User profile → Own data) along with a value of your choice under the Parameter tab. This setting will take affect the next time you log on to the system.
3.2. The start menu definition is found in the defaults: System → User profile → Own data → Defaults. The StartMenu field is found under the Defaults tab. You must enter a special abbreviation for the corresponding start menu. To determine abbreviations for application level menus, go to an application level menu (choose Tools → Administration and then call the system status). The last four characters under Program (GUI) is the abbreviation you must enter under defaults, as long as the first four characters are MENU. After logging off and logging back on, the Administration screen should start automatically. (A start menu can also be an area menu. For further information see the ABAP Workbench unit).
3.3. To maintain a favorites list, go to the dynamic menu. The company menu appears that was defined by Customizing. To create favorites, select specific applications (transactions) in the menu tree of the company menu, that are your favorites (those applications that you use daily). By selecting an application and then choosing, Favorites list → Create favorites, you can add entries to your favorites lists. To sort your favorites into folders, you first need to create folders (special areas such as Admin, ABAP and so on): Favorites list → Create folder. You can move favorites into folders later by choosing Favorites list → Move favorites.
Unit: System Kernel Topic: Recognize the structure of the R/3 training system using the instance overview.
• Using the server / process overview • Working with the job overview.
The R/3 System in which the participant is currently working is consists of how many instances? How are these configured?
1. System overview I
1.1. Call the server overview: Tools → Administration → Monitor → System monitoring → Servers, or Transaction SM51.
1.2. In the status bar you can see the logical host name of the server on which you are working. You can also choose System → Status under "Host name - Node name".
1.3. In the server overview, in the right column called "Type" you can see the work process type that is offered for each work process.
1.4. From the server overview, once you have selected the required server, you can branch to the process overview for this application server. You can also choose Tools → Administration → Monitor → System monitoring → Process overview, provided that you are working on the instance required.
1.5. There are several ways to establish this: Using Transaction AL11 you can view the R/3 System directory structure: 1) The ID for the MS appears in the instance path name for the central instance, such as "usr/sap/IT2/DVEBMGS/work " the working directory of the instance 2) Call report RSPFPAR using Transaction SA38 (Reporting). Find profile parameter "rdisp/mshost" from the list. 3) You can also use Transaction AL11 to check the default profile "DEFAULT.PFL". This profile is in the "Profile" directory in the R/3 System.
2.
2.1. Choose System → Services → Jobs → Job overview, or use Transaction SM37. Enter ”Coll*” in the Job name field and "*" in the User name field then choose Execute
2.2. Choose Edit → Sort → Chronological . After successful selection, displays jobs in one hour intervals (from 2.1).
Double-click latest job (Status "finished") to display the corresponding job log.
Unit: Interfaces Topic: Communication and Data Transfer
• RFC communication with external systems.
• Data transfer using batch input.
The R/3 System can communicate with external systems, using the ABAP interface RFC. You use batch input methods to transfer legacy data into the R/3 System.
1. Communication using RFC.
1.1. In Transaction SE37 (Tools → ABAP Workbench → Function Builder,) enter function module RFC_READ_TABLE.
1.2. Choose Interface to branch to the interface description of the module and choose Function module docu to view the documentation.
1.3. Ensure that you have selected "RFC supported" as the process type.
1.4. The documentation provides a description of the interface parameters. You can choose the single test on the initial screen of Transaction SE37. Once you have specified the RFC target system and the query table, you can start the test by choosing Execute or by choosing F8.
In this exercise, you must first determine in table SFLIGHT the column name CARRID for the airline. To do this, use Transaction SE11. In the single test of function module RFC_READ_TABLE, you can use the parameter OPTIONS to define a WHERE requirement. Once you select the icon, you must enter the text CARRID='AA'.
2.
2.1. Batch input: The batch input transaction (SM35) can be called by choosing System→ Services→ Batch input→ Edit.
2.2. (see 2.1.)
2.3. You can select folder contents by placing the cursor on a folder and then choosing Folder. In the next dialog box, select Contents.
The Log button displays any errors that occurred during folder processing (again, place the cursor on the corresponding folder before selecting Log.
2.4. Optional exercise: Choose Recording in Transaction SM35. Enter a name for the recording and then select Create (the piece of paper icon).
Using Transaction FD02 (accounts receivable transaction), you can practice changing a customer's address. Choose Transfer transaction and then Save.
Using Create session in the recording screen, you can create a batch input session from the recording. The session is processed in the session overview of Transaction SM35 (deselect process in foreground).
Unit: ABAP Dictionary Topic: ABAP Dictionary Metadata
• Modeling in the R/3 System.
• Tables and their components.
R/3 System metadata is stored in the ABAP Dictionary. The ABAP Dictionary describes the tables, matchcodes, views, foreign key relationships and elements.
1. Modeling.
1.1. You access the Data Modeler by choosing Tools → ABAP Workbench. Then choose Development → Data Modeler. Enter BC_TRAVEL in the input field and choose Display. The system displays information on this model. Choose Graphics. This activates the Data Modeler (this takes a few seconds).
1.2. You can use the search and zoom function to navigate easily over the selected part of the whole model and to localize the required entity type.
1.3. The relationship type between the two entity types is displayed graphically using the arrow. The arrow joins the left side of target entity type BC_BOOKING. It has the identifier "H" for "Hierarchical relationship type". (The existence of BC_SBOOKING also depends strongly on BC_SFLIGHT.)
2. ABAP Dictionary.
2.1. You can now navigate using the ABAP Dictionary or answer the following questions from the modeling environment. By selecting the entity type BC_BOOKING and choosing Dictionary, followed by Table / View on the next screen you access the ABAP Dictionary. The table name is SBOOK.
2.2. The primary key consists of the fields MANDT, CARRID, CONNID, FLDATE, BOOKID and CUSTOMID.
2.3. These entries are not conceivable, since the primary key is unique. Both records consist of the same primary key share. Neither the database nor the ABAP Dictionary would permit such entries!
2.4. You can display the table contents for particular tables using the Data Browser (Transaction SE16 or choose Tools → ABAP Workbench; Overview → Data Browser).
Unit: ABAP Workbench Topic: The R/3 System Development Environment
• Function modules as an ABAP programming modularization technique.
Which modularization techniques can be used within ABAP development?
1. The development environment function modules.
1.1. Tools → ABAP Workbench (Transaction S001).
1.2. Choose Function Builder.
1.3. In the function module input field, enter STRING* and choose F4.
1.4. Select the name of the module you are looking for and choose Display and then Function module docu to display the documentation on this function module.
1.5. From the Function Builder initial screen, choose Single test to branch to the test environment. In the input field STRING you must now enter a character string. Once you have run the test (using F8) the character string should be displayed in reverse.
2. Where-used list in the Repository Information System
2.1. Navigate to the Repository Information System (Transaction SE84) by choosing Tools → ABAP Workbench, Overview → Infosystem. Expand the following tree structure: Programming → Function Builder → Function modules. Enter the function module on the selection screen and then execute the search (F8). Once the system displays the module, select it and then choose Where-used list.
2.2. You now proceed in exactly the same way as in the previous exercise. The path in the Repository Information System this time is ABAP Dictionary → Basic objects → Tables and so on.
Unit: Administration Topic: Basic Administration Functions
• Working with the user overview
• Finding open locks and update terminations. Finding warnings and errors in the system log.
• Displaying an alert monitor
A system administrator's daily tasks.
1. System overview I
1.1. You can enter "/o" in the command line to view your sessions. The administration transaction for the sessions belonging to all users on an instance is Transaction SM04. Choose Tools → Administration → Monitor → System monitoring → Users. Double-click on the user.
1.2. In Transaction SM04, select the user name of your neighbor and double-click on it. Do you have authorization to do this?
1.3. If you do have authorization to display sessions belonging to your neighbor, try to delete one of these sessions. To do this, select the session and choose End session.
2. System overview II
2.1. Call the lock overview by choosing Tools → Administration → Monitor → Lock entries, or by calling Transaction SM12. This also displays the assignment of locks to users.
2.2. Call the update overview by choosing Tools → Administration → Monitor → Update, or by calling Transaction SM13. Make the appropriate selection.
2.3. Call the system log by choosing Tools → Administration → Monitor → System log, or by calling Transaction SM21. Make the appropriate selection.
3. Call the stoplight monitor "Current Local Workload" by choosing Tools → Administration → Monitor → Performance → Alerts → Local → Current workload, or by calling Transaction AL05. Choose Monitor on to display current times. The average daily response time is in the left column.
© SAP AG
R
Appendix
The Java GUISystem architectureSAP transaction overviewQuestions and answers
© SAP AG
R
The Java GUI
R/3 transactionR/3R/3
Java
AppletGUI serverGUI server
(in C++)(in C++)
Web browserWeb browser(virtual machine(virtual machine) HTTP HTTP
serverserver
SSL
ORB(orbix)
The Java GUI allows access to an R/3 System without requiring any additional enhancements or developments. The Java applet can be executed by any "virtual machine". The GUI looks exactly the same as in the SAP GUI
and does not look like an Internet page. The HTTP and GUI servers must be running on the same host, since the Java applet may only communicate with
the machine from which it was loaded. You should consider system security when you use this strategy:
Use SSL to ensure that the Java applet really does come from the server to which you want to connect. Communication between the Java applet and the GUI server is secure because the components were developed with Orbix from IONA Technologies. Orbix is a complete implementation of the Common Object Request Broker Architecture (CORBA) from the Object Management Group (OMG). You can use Orbix to develop distributed applications that use object-oriented client/server technology. The GUI server will be available for Unix and Windows NT.
© SAP AG
R
R/3 System Architecture
X terminalserver
PC
88MHz
hs2003hs2003
hs2001hs2001
I45I45
PresentationApplication
Database
Externalsystem
Instance name (SM51)
hs2002hs2002
© SAP AG
R
Worksheet for SAP50 / ABAP Dictionary
Fields Fields Fields
Entity types
Enter a cross for primary key fields
Table namesEnter relationship typesand cardinalities
Navigation Help for Some SAP Transactions (SAP50)
Unit 1) Business Navigator Tools Business Engineer Business Navigator;
Component view / Process view (SB09) Business Framework Tools Business framework BAPI Browser (BAPI) Unit 2) System status System Status User profile System User profile
-Defaults / parameters Own data (SU3) -Favorites Favorite maint. (SES0)
System services System Services -Reporting Reporting (SA38) -ABAP Query Query (SQ00) -Spool requests Output controller (SP01) -Table maintenance Table maintenance (SM31) -Batch input monitor Batch input (SM35) -Background processing Jobs (SM36 / SM37)
Unit 3) Instance overview Tools Administration Monitor System
monitoring (SM51) Unit 4) RFC dest. maint. Tools Administration Administration Network
RFC destinations (SM59) OLE environment Tools Administration Development
Programming environment OLE2 OLE demo (OLE) ALE environment Tools Business framework ALE ...
Unit 5) ABAP Dictionary Tools ABAP-Workbench ABAP Dictionary (SE11) DATA Browser Tools ABAP-Workbench Overview Data Browser
(SE16) Data modeller Tools ABAP Workbench Development Data
Modeller (SD11) Unit 6) Workbench Tools ABAP Workbench (S001) ABAP editor Tools ABAP Workbench Editor (SE38) Function modules Tools ABAP Workbench Function Builder (SE37) Repository Browser Tools ABAP Workbench Repository Browser
(SE80) Repository info. sys. Tools ABAP Workbench Overview Information
system (SE84) Workbench Organizer Tools ABAP Workbench Overview Workbench
Organizer (SE09) Enhancements Tools ABAP Workbench Utilities Enhancements
(CMOD) Unit 7) Administration Tools Administration (S002) Processes Tools Administration Monitor System
monitoring Process overview (SM50) Instances Tools Administration Monitor System
monitoring Server overview (SM51) Users Tools Administration Monitor System
monitoring User overview (SM04) Locks Tools Administration Monitor Lock entries
(SM12) Asyn. update Tools Administration Monitor Update (SM13) System log Tools Administration SYSLOG (SM21) User administration Tools Administration User maintenance Users
(SU01) OSS System Services SAP Service (OSS1)
© SAP AG
R
Question(1) Which of the following statements are correct?
The R/3 System has open interfaces to integrate external data and functions.The word ”openness“ refers to using standardized interfaces.
The “openness of the R/3 System “ refers to the ability to include application modulessuch as FI, CO, HR and so on in the global system.
Data retention takes place for all applications in one of the databases common to theapplications.
Business processes are processed in the R/3 System application modules.
ALE was developed to integrate the data of different databases (for each applicationmodule)
(2) Which of the following are R/3 interfaces for desktop applications:
OAG
ALE, LU6.2
OLE
The correct answers are: 1a, c, e 2c
© SAP AG
R
Question
(3) How are cross-system business processes connected in the R/3System?
(4) Which of the following components belong to the R/3 developmentinfrastructure and can also be used for customer-specific development?
ALE
DDE
OLE
R/3 Gateway
R/3 Repository
ABAP Development Workbench
R/3 memory management
The correct answers are: 3b 4a, d
© SAP AG
R
(1) Which of the following statements are correct?
A server is a host on which software components run that provide specificservices.
A server is a group of processes that provide specific services.
(2) State the advantages of the client / server concept for the R/3 System:
Clients are processes that use a specific server service.
Question
The correct answers are: 1a, b, c 2: See slides
© SAP AG
R
Question(1) Which of the following statements are correct?
You can also improve response times using parallel processing.
A lot of data and runtime objects in the R/3 System can be buffered to optimize response times.
You can optimize response times by saving costly database access.
So that database capacity is not exhausted, master records are buffered in the R/3 System. Heterogeneous load on the application servers shortens the response times you can expect.
Data modelling takes place using the SERM model. This represents therelationships between information objects.
Economic connectivity within the R/3 System applications can be modelledusing Petri nets.
EPC is a modelling method that maps event-oriented process chains.
(2) Which of the following statements are correct?
The correct answers are: 1a, b, e 2b, c
© SAP AG
R
(1) Name the important components in the R/3 SystemBasis layer:
Question
(2) Why are tasks such as scheduling and memorymanagement in the R/3 System not left entirely to theoperating system software?
Few operating systems support memory management
For reasons of portability (independent of manufacturer)
For reasons of performance
The correct answers are: 1: see slide 2a, b
© SAP AG
R
(1) Which of the following statements are correct?
Question
Middleware is a county in England.
The “middleware“ layer is situated between the database and theoperating system layer in the database server.
Middleware is a specially-developed retail application in the R/3 System.
The middleware in the R/3 System is also a basis component. It embeds theapplication in the system environment.
Middleware is the software layer between the R/3 System application leveland the system software. It isolates the applications from the heterogeneoussystem interfaces.
The correct answers are: 1c, d
© SAP AG
R
Question(1) Which of the following is the standard network protocolfor communication in the R/3 client / server system?
OLE
SQL
TCP/IP
(2) Which of the following statements are correct?
You connect the R/3 System to an IBM mainframe using the SNA protocolLU6.2.
You access an R/3 System on an IBM mainframe using the TCP/IP networkprotocol.
(3) Why do you use the CPI-C “Starter Set” within the ABAPprogramming language?
The correct answers are: 1c 2a 3: see documentation
© SAP AG
R
Question(4) Which of the following statements are correct?
(5) Why do you need the OLE concept in the R/3 System?
Only R/3 Systems are possible as RFC communication partners.
RFC is a network protocol that can be classified in level 2-4 of the ISO-OSInetwork standard.
RFC is a communication protocols standardized by IBM.
RFC is an SAP-specific protocol to call function modules across all hosts.
RFC functions are managed in their own special function libraries.
The correct answers are: 4c, d 5: See documentation
© SAP AG
R
Question(1) Which client / server configuration options are conceivablein a distributed R/3 System?
(2) Which of the following statements are correct?
Moving the presentation level to the level within the R/3 Systemprotects system resources.
Within the client / server concept, you talk of the scalability of the databaselevel of the R/3 System.
Scalability refers above all to the distribution of the task level to several hosts.
To relieve the load on an R/3 System (consisting of one host), the task level may be distributed.
The correct answers are: 1: see documentation 2b, c
© SAP AG
R
(1) Which of the following statements are correct?
Question
ALE stands for “Application Load Extracting“. This is a process that sendsapplication server data via RFC.
ALE messages are exchanged via RFC or EDI.
ALE is used to disconnect application services.
With ALE you no longer need to integrate business processes over systemboundaries.
You can use ALE to exchange messages between R/2 and R/3 Systems.
(2) Give examples of where you would use the ALE concept:
The correct answers are: 1b, d, e 2: see documentation
© SAP AG
R
Question
(3) Which of the following statements are correct?
The following work processes are in the R/3 System: dialog WP, batch WP,enqueue WP, update WP, spool WP, message WP, gateway WP.There are five types of work processes in the R/3 System: 1) Dialog 2) Batch3) Enqueue 4) Spool 5) Update.There are also “Message-Server“ services to communicate within the R/3System and “Gateway-Server“ services to communicate with external systems.
(1) What is an SAP transaction?
(2) What is an SAP LUW?
SAP transactions are processed by the dispatcher and work processes.
The correct answers are: 1: see documentation 2: see documentation 3b, c, d
© SAP AG
R
Question
(5) Which of the following statements are correct?
(4) Why do you need the dispatcher queue?
The dispatcher is a central process within a distributed R/3 System. It onlyruns on the database host of the R/3 System.
The dispatcher receives the incoming user requests via the frontend (PC,terminal) and then finds available online work processes that can processthese requests.
The dispatcher is the central process within the R/3 Basis flow control. Itreceives the requirements from the presentation level and distributes thework to the dialog work processes.Each user recevies exactly one dialog work process to occupy systemresources optimally. This work process then processes the requests for thatuser.
The dispatcher queue is used to catch requests that cannot beprocessed directly, if the work processes are occupied, for example.
The correct answers are: 4: see documentation 5b, d, e
© SAP AG
R
(1) Why is background processing required in the R/3 System?
A job consists of several steps. You schedule steps to run automatically (usuallyduring the night).
You can only schedule specific ABAP programs as a job. Usual reports thatgenerate lists cannot be processed in the background.
A job consists of one or several steps. Each step contains an ABAP program oran external program call.The job scheduler automatically triggers a scheduled job. Each job is processedby one batch work process.When you process background jobs, this by-passes lock administration to importchanges to the database.Scheduled jobs are located in the scheduling table in the R/3 System database.
Question
(2) Which of the following statements are correct?
1: see documentation The correct answers are: 2b, c, e
© SAP AG
R
Question(2) What are the advantages of the batch input process?
(3) Which of the following statements are correct?
You can use a batch input session to simulate a user dialog in the R/3 System.
The batch input process uses the consistency check of the onlinetransaction logic to import data into the R/3 System.
A batch input session consists of at least one transaction and its input, whichis to be imported into the R/3 System.
For the batch input process, you use specially-developed ABAP programs withdata integrity checks to import external data into the R/3 System.
The correct answers are: 2: see documentation 3a, c
© SAP AG
R
Question(1) What do you understand by desktop integration:
(2) Which of the following statements are correct?
Using OLE you can extract data from the R/3 System and send it to afrontend device such as a PC. (It is currently not possible to send data theother way.)
You can address desktop applications from the R/3 System using RFC andOLE.You can even use OLE automation to query R/3 System services from anexternal application. The calling application program acts in this caseas the OLE client.
The correct answers are: 1: see documentation 2a, b
© SAP AG
R
(1) When is the update process in the R/3 System used?
Question
(2) Describe the flow of an SAP transaction that uses asynchronousupdate and the lock concept.
Each time data changes in the database.
With synchronous update, the update takes place directly in the dialog part, thereforewithin the transaction that is running.
The update work process (V-WP) is only used for asynchronous update.
With asynchronous update (implemented using the ABAP statement ”CALL FUNCTIONIN UPDATE TASK“) the update is executed following the dialog phase.
The correct answers are: 1b, c, d 2: see documentation
© SAP AG
R
(3) Which of the following statements are correct?
Question
Concurrent write access to specific R/3 System objects must not be prevented in the R/3System as this is dealt with by the database system.
To prevent concurrent access to the same data, there is an enqueue work process(E-WP) in the R/3 System.
The enqueue work process uses the lock concept of the database system used to set locks.
Change transactions use the E-WP to set a lock at the start of the transaction. You canchange data while the transaction is running. The lock is then released at the end of thetransaction.
You must release a lock again at the end of the transaction so that you prevent other usersfrom working for as short a time as possible.
To optimize performance, numerous change transactions that manipulate the transaction dataare implemented without enqueue / dequeue objects.
The correct answers are: 3a, c, d
© SAP AG
R
(1) What do you understand by “logon balancing". (Difficult question)
Question
Tip: See Unit 1 - Client / Server
The correct answers are: See documentation
© SAP AG
R
(1) What are the tasks of the R/3 memory management system?
(2) Which of the following statements are correct?
Question
From Release 3.0, the memory management system speeds up theexchange of contexts. The whole user context is now in the area that canbe directly addressed.
You can improve response times by directly addressing the user contexts inthe external roll area.
The memory management system distributes the workload directly to thedifferent application servers in a distributed R/3 System.
The correct answers are: 1: see documentation 2a, c
© SAP AG
R
(1) Which of the following statements are correct?
Question
To manage data from the R/3 application modules, the system usesseveral relational database systems in a heterogeneous environment.
The R/3 System mainly uses statistical SQL as this saves memoryspace.
The system uses relational database systems to manage data in the R/3System. This type of database system stores data and relationships inthe form of two-dimensional tables.SQL is used to access data over a network.
SQL is a database query language and stands for Structured QueryLanguage.When you use dynamic SQL, the commands are not compiled until theapplication program is executed. It is therefore more flexible thanstatistical SQL.
(2) What is OPEN-SQL
The correct answers are: 1b, c, d, e 2: see documentation
© SAP AG
R
Question
(4) What advantage does OPEN SQL provide for ABAP developers?
(3) Which of the following statements are correct?
Buffering data in the R/3 System application servers can noticeably increasesystem performance.
It is useful to distribute the individual R/3 System application modules to specialservers to fill the buffers on these machines optimally (workload balancing).
The R/3 database interface temporarily stores the application data in the relationaldatabase system to increase response times.
The R/3 System does not generally buffer master records and transaction data, butrather R/3 system data that is frequently used for the applications.
ABAP programs are not buffered in the R/3 System application buffers.
It is not advantageous to place heterogeneous load on the buffers, since managing thebuffer contents requires additional time because of the displacement mechanism.
The correct answers are: 3a, c, e, f 4: see documentation
© SAP AG
R
(1) Which of the following statements are correct?
Question
(2) Summarize the tasks of the CCMS:
CCMS is a tool for ABAP programming.
CCMS is a tool to monitor the R/3 System.
The CCMS is responsible for managing jobs as well as scheduling andmanaging batch input sessions.The CCMS monitors exceptional situations and alarm situations. An alarmsituation would be triggered by a memory problem, for example.
The CCMS can also recognize exceptional situations in the database. Thesystem administrator must intervene if a critical alert occurs (red stoplights,for example).You can use the CCMS to correct any problems that occur, such as memorybottlenecks immediately and automatically, without any intervention from thesystem administrator.The CCMS displays many alarm situations using optical warning systems.These warning signals are triggrered when the preset threshold values areexceeded.
The correct answers are: 1b, d, e, g 2: see documentation
© SAP AG
R
(1) Which of the following statements are correct?
(2) Name the additional remote services provided by SAP:
Early Watch is a service that SAP provides for its customers to recognizeproblem situations in productive R/3 Systems.
The Early Watch service is available from 10:00 to 14:00, depending on thetime zone.
You should use this remote service if any problems occur.
The Early Watch team connects itself to the customer system. Client 001 isused the analysis environment for this.
The Early Watch team has unrestricted authorization in the customer system.
There are sufficient security aspects that prevent the Early Watch team fromchanging the data in the customer system. This means that during the EarlyWatch session, connection to the customer system can only be initiated bythe customer.
Question
The correct answers are: 1a, e 2: see documentation
© SAP AG
R
Question(1) Why is the authorization concept required in the R/3 System?
The R/3 System uses the authorization concept for the database used toensure access protection.Each task in the R/3 System is protected by an authorization. To call a task /transaction, a user must first be assigned the appropriate authorization in aconfirmation field.
The authorization concept is used as access protection from unauthorizedaccess to specific transactions. This is a concept that is anchored in the R/3System and which processes independently of the database.
Authorizations are grouped together in profiles. These profiles are thenincluded in the user master records. Each user is assigned a specific numberof authorizations in his or her user master record.
(2) Which of the following statements are correct?
The correct answers are: 1: see documentation 2c, d
© SAP AG
R
(1) Which of the following statements are correct?Question
The ABAP Workbench is fully integrated into the R/3 System and cannot beused as an independent development environment.The ABAP Dictionary manages metadata. The data itself is retained in thetables in the database.You use the Screen Painter to define screens (templates), and the MenuPainter to create menus. Both tools are used for online programming.
You can access ABAP Dictionary objects directly from the ABAPprogramming. The individual development objects for dialog programs, forexample, are displayed as hierarchical lists.
The Data Modeler enables you to map the models you created onto theABAP Dictionary.
To analyze ABAP programs, you can “trace“ the program coding.This creates a runtime analysis.
Batch Input Editor
Screen Painter
Menu Painter
ABAP Dictionary
ABAP Editor
Job Editor
Repository Browser Memory Manager
(2) Which of the following are ABAP Workbench development tools?
The correct answers are: 1b, c, d, e, f 2a, b, d, f, g (read in columns)