RUN TIME ENVIRONMENT In SAP ABAP:
ABAP program contains the following components:
Source code ...
containing the ABAP statements
Screens ...
consist of the screen layout and associated flow logic . You normally create the layout of a screen using the Screen Painter. However, there are special kinds of screens, called selection screens and lists, whose layout and flow logic are designed exclusively using ABAP statements.
Interface
...contains all of the entries in the menus, the standard toolbar, the application toolbar, and function key settings. It contains titles and statuses. A status is a collection of function key settings and menus.
Text elements
... are language-specific. They can be translated either directly from the text element maintenance tool, or using a special translation tool.
Documentation
... is also language-specific. Always write documentation from the user's point of view. If you want to document the programming techniques you have used, use comments in the program code instead.
Variants
... allow you to predefine the values of input fields on the selection screen of a program.
ABAP is an event-driven programming language, and as such is suited to processing user dialogs.
The source code of an ABAP program consists of two parts:
Declarations
Declarations include the statements for global data types and objects, selection screens, and (in ABAP Objects) local classes and interfaces within the program.
Processing Blocks (indivisible program units)
Each processing block must be programmed as a single entity. There are two basic kinds of processing blocks:
Event Blocks :
Event blocks are introduced by an event keyword. They are not concluded explicitly, but end when the next processing block starts.
Dialog Modules and Procedures:
Dialog modules and procedures are introduced and concluded using keywords.
The contents of all processing blocks form the processing logic.
When you generate the program, these parts are compiled to form the load version. This is interpreted at runtime.
In the simplest case, your program will consist of a single source code unit that contains all of the relevant processing blocks. To make your programs easier to understand, and to increase the degree to which your programs can be reused, you should use include programs.
When you create a program from the Object Navigator, the system proposes to create a TOP include for the pro gram. This option is particularly useful when you create module pools.
When you create a processing block, the system always asks in which include program it should insert the relevant ABAP code.
If the include program does not exist, the system creates it and inserts an INCLUDE statement for it in the main program.
If you name your program according to the naming convention SAPM{Y|Z} and then create a new processing block, the system proposes the name of the new include using the following convention:
M{Y|Z}.
When you create further processing blocks, the system automatically proposes the appropriate include program.
In this way, the system helps you to create programs whose structures are easy to understand. The standardized naming convention will help you to find your way around other people's programs.
The R/3 System is based on a client/server architecture with the three tiers data base server, application server, and presentation server. It allows a large number of users with inexpensive and relatively slow machines to take advantage of a smaller number of faster, expensive application servers by occupying work processes on them.
Each work process on an application server is assigned to a work process on the (expensive, even more powerful) database server. User dispatching is the process by which the individual clients at presentation server level are assigned to a work process for a particular length of time. The work process in turn is linked to a work process in the database.
Once the user input from a dialog step has been processed, the user and program context is "rolled out" of the work process so that the work process can be used for another dialog step from another user while the first user is making entries on the next screen. This makes the best possible use of the resources available on the application server.
The three-tier architecture makes the system easily scalable . To add extra users, you merely have to install more inexpensive presentation servers. You can also increase the efficiency of the whole system by adding extra application servers with their associated work processes.
The work processes in the middle layer - often called the application server - are software components that are responsible for processing dialog steps. They are implemented as "virtual machines". This ensures that ABAP programs can run independently of the hardware platform on which the R/3 System is installed.
Work processes contain other software components that are responsible for various tasks within a dialog step:
Screen processor
The screen processor is responsib le for communication between the SAPgui and the work process (via the dispatcher). It processes the screen flow logic and passes field contents to the processing logic in the program.
ABAP processor
The ABAP processor executes the processing logic in the ABAP program and communicates with the database interface. The screen processor tells the ABAP processor which part of the program (module) needs to be processed (according to the screen flow logic).
Database interface
The database interface is responsib le for the communication with the database. It allows access to tables and Repository objects (including ABAP Dictionary objects), controls transaction execution (COMMIT and ROLLBACK), and administers the table buffer on the application server.
The individual processing blocks are called in a predetermined sequence at runtime, regardless of the position in which they occur in the program. Once a processing block has been called, the statements within it are processed seqeuentially.
Event block
If the system program or a user triggers an event for which the corresponding event block has been written in the processing logic, that event block is processed. The program flow is controlled either by the system or the user.
Modularization unit
When the system encounters a modularization unit call within a processing block, it calls the corresponding processing block. In this case, the program flow is controlled by the programmer.
Assigning transaction codes
To allow a module pool to be executed, you must assign a transaction code to it. You can (but do not have to) assign a transaction code to an executable (type 1) program.
You assign a dialog transaction to a module pool. The following steps occur when you run a dialog transaction:
First, the LOAD-OF-PROGRAM event is triggered. Once this event block has been executed, the ABAP processor passes control to the screen processor. For an example of how to use this new event, refer to the example in the Function Groups and Function Modules unit.
The screen processor processes the intial screen specified in the transaction definition. The initial screen can be a selection screen (regardless of the program type). The PROCESS BEFORE OUTPUT event is triggered and control passes to the ABAP processor, which processes the first PBO module.
The ABAP processor executes the processing block and returns control to the screen processor. Once all PBO modules have been processed, the contents of any ABAP fields with identically named corresponding fields on the screen are transported to the relevant screen fields. Then the screen is displayed (screen contents, active title, active status).
Once the user has chosen a dialog function (such as ENTER), the contents of the screen fields are transported back to the corresponding identically-named fields in the ABAP program, and the processing blocks that belong to the PROCESS AFTER INPUT event are processed. The system then continues by processing the next screen.
The only processing logic that is processed in a dialog transaction are the statements belonging to the LOAD-OF-PROGRAM event and those occurring in the various module s.
However, you can also use the statement LEAVE TO LIST-PROCESSING. This makes all of the list processing events available to you.
You can only assign a report transaction to an executable (type 1) program. In a report transaction, the system calls particular events in a fixed sequence, and calls a series of standard screens. The following steps occur when you run a report transaction:
First, the LOAD-OF-PROGRAM event is triggered.
Then the INITIALIZATION event is triggered.
Next, the standard selection screen is called (if you have declared one), and its corresponding events are triggered: AT SELECTION-SCREEN OUTPUT and AT SELECTION-SCREEN.
Next, the START-OF-SELECTION event is triggered. (This is the default event block. If you omit this event keyword, all statements that are not assigned to another processing block are treated as though they belong to it.)
If you have attached a logical database to your program, the system triggers the GET and GET LATE events.
Then the END-OF-SELECTION event is triggered.
You can also include screen processing (as in module pools) by using the CALL SCREEN statement. You can start executable (type 1) programs without using a transaction code. You can also run them in the background.
If you fill the list buffer of the basic list (using the WRITE, SKIP, and ULINE statements), two further events are triggered: At the beginning of each new page, the TOP-OF-PAGE event is triggered, and the END-OF-PAGE event is triggered at the end of each page.
Once the END-OF-SELECTION event block has been processed, interactive list processing starts.
The system displays the formatted basic list . The user can now trigger further events.
If the user double -clicks a line or triggers the function code PICK in some other way, the AT LINE-SELECTION event is triggered. In the standard list status, this function code is always assigned to function key . In turn, is always assigned for a mouse double -click.
If you fill the list buffer of the detail list (of which you may have up to twenty) using the WRITE, SKIP, and ULINE statements, two further events are triggered:
At the beginning of each new page, the TOP-OF-PAGE DURING LINE-SELECTION event is triggered, and the END-OF-PAGE DURING LINE-SELECTION event is triggered at the end of each page. (These events are not displayed in the graphic.) Interactive list processing is started again. The system displays the formatted detail list (screen 120).
Any other function codes that have not been "trapped" by the system trigger the eent AT USERCOMMAND. The following types of programs cannot be executed directly. Instead, they serve as containers for modularization units that you call from other programs. When you call one of these modularization units, the system always loads its entire container program.
Further information about this is provided later on in the course.
Function group (type F)
A function group can contain function modules, local data declarations for the program, and screens. For further information, refer to the Function Groups and Function Modules unit.
Include program (type I)
An include program can contain any ABAP statements.
For further information, refer to the Program Organization section of this unit.
Global interface (type J)
An interface pool can contain global interfaces and local data declarations.
For further information, refer to the Introduction to ABAP Objects unit.
Global class (type K)
A class pool can contain global classes and local data declarations.
For further information, refer to the Introduction to ABAP Objects unit.
Subroutine pool (type S) (external subroutines)
A subroutine pool can contain subroutines and local data declarations.
Caution! Type S programs are obsolete and have been replaced by function groups .
Saturday, October 11, 2008
Subscribe to:
Post Comments (Atom)
Archives
-
▼
2008
(167)
-
▼
October
(145)
- SAP ALE ABAP DETIAL
- SAP ABAP ALE IDOC'S
- SAP - DIFFERENCE BETWEEN CONVERSION AND INTERFACE
- BAPI AND IDOC ALE
- SAP ABAP MESSAGE CONTORL
- SAP IDOC'S IN ABAP INTRODUCTION
- SAP ABAP IDOC'S OUTLOOK
- SAP ABAP IDOC PROCESSING
- SAP ABAP IDOC'S BASIC TOOLS I
- SAP ABAP IDOC'S BASIC TOOLS II
- SAP ABAP IDOC'S INBOUND BASIC TOOLS III
- SAP IDOC OUT BOUND TRIGGERS II
- SAP IDOCS OUTBOUND TRIGGER II
- SAP IDOC'S OUTBOUND TRIGGER III
- SAP Work flow based outbound Idoc's
- SAP ALE Change Pointers
- SAP Dispatching ALE IDocs for Change Pointers
- SAP IDOC design and Processing
- SAP Creation of the IDoc Data
- SAP Developing an Outbound IDoc Function
- SAP Converting Data into IDoc Segment Format
- SAP Partner Profiles and Ports
- SAP Defining the partner profile for ALE IDOC
- SAP Data Ports ( WE21 ) in idoc
- SAP RFC in R/3
- SAP Workflow from Change Documents
- SAP ALE Distribution Scenario
- SAP Useful ALE Transaction Codes
- BAPI Creating IDocs and ALE Interface
- R/3 RFC from MS Office Via Visual Basic
- SD WORK FLOW SCENARIOS I
- SD WORK FLOW SCENARIOS II
- SD WORK FLOW SCENARIOS III
- SD WORK FLOW SCENARIOS IV
- SD WORK FLOW SCENARIOS V
- SD WORK FLOW SCENARIOS VI
- SD WORK FLOW SCENARIOS VII
- MM WORK FLOW SCENORIOS I
- MM WORK FLOW SCENORIOS II
- MM WORK FLOW SCENORIOS III
- MM WORK FLOW SCENORIOS IV
- MM WORK FLOW SCENORIOS V
- MM WORK FLOW SCENORIOS VI
- MM WORK FLOW SCENARIOS VII
- MM WORK FLOW SCENARIOS VIII
- MM WORK FLOW SCENARIOS IX
- MM WORK FLOW SCENARIOS X
- MM WORK FLOW SCENARIOS XI
- WORK FLOW SCENARIOS in SAP ABAP
- SAP ABAP WORK FLOW I
- SAP ABAP WORK FLOW II
- SAP ABAP WORK FLOW III
- SAP ABAP Work Flow IV
- SAP ABAP Workflow Technology
- SAP OPTIMIZATION
- abap type key ward
- PERFORMENCE TIPS
- SAP ABAP INTERNAL TABLES IN BRIEF
- SAP ABAP RUN TIME ANALASIS
- MEMORY In SAP ABAP
- NAVIGATION In SAP ABAP
- WORK BENCH AND TOOLS In SAP ABAP
- DATA OBJECTS AND STATEMENTS In SAP ABAP
- INTERNAL PROGRAM MODULARIZATION In SAP ABAP
- SAP ABAP CONSITENCEY THROUGH INPUT CHECKS
- RUN TIME ENVIRONMENT In SAP ABAP
- SAP ABAP INTER TABLE OPERATIONS
- STATEMENTS In SAP ABAP
- SAP ABAP INTERNAL TABLES
- SAP ABAP SUB ROUTIENS
- SAP ABAP FUNCTION MODULES AND GROUPS
- SAP ABAP QUARY ADMINSTRATION
- SAP ABAP SAVING LISTS AND BACK GROUND PROCESSING
- SAP ABAP PROGRAM INTERFACE
- SAP ABAP LOCK CONCEPT
- SAP ABAP AUTHORISATION CHECKS
- SAP ABAP PERFORMENCE TIPS
- In SAP SYSTEM FIELDS
- SAP ABAP CONTROL BLOCKS
- SAP ABAP BUFFERING
- SAP ABAP MATCH CODE OBJECTS
- SAP ABAP LOCKS
- SAP SAMPLE CODE FOR OUTPUT TO EXCEL AND IN PUT FIL...
- SAP MULTIPLE INTERACTIVE REPORT SAMPLE CODE
- MULTIPLE INTERACTIVE REPORT SAMPLE CODE II
- CALLING PROGRAM AND PASSING DATA
- SAP TECHNIQUES FOR LIST CREATION AND SAP QUARY
- SAP SELECTION SCREENS ABAP REPORT
- SAP ABAP FAQ ON SCRIPTS I
- SAP ABAP FAQ ON SCRIPTS II
- SAP ABAP FAQ ON SCRIPTS III
- IN SAP ABAP TABLE TYPES
- SAP ABAP TYPES OF VIEWS
- SAP ABAP DATA BASE UPDATES COMPLETE
- SAP ABAP LOCK CONCEPT
- SAP ORGANIZING DATABASE UPDATES
- SAP ENHANCEMENTS TO DICTIONERY ELEMENTS
- DATA BASE DIALOG IN ABAP
- ABAP DICTIONARY I
- PERFORMANCE DURING TABLE ACCESS
-
▼
October
(145)
No comments:
Post a Comment