Friday 29 March 2013

ABAP Work Process and its Types



A work process executes the individual dialog steps of user requests. In other words, all the execution and processing of user requests is done by work  process and once a request is allotted to the work process, it executes only a single dialog step and then frees itself for handling other requests.
A Dialog step is referred to as the change of screen. A jump from one screen to another is a dialog step.

Components of a Work Process

There could be ‘N’ number of work processes in an Application server.  Each Work Process has 3 different components which it uses to process the request.

In ABAP application programming, there is a difference between user interaction and processing logic.  The user interactions are handled by Screen processor whereas the processing logic which might require DB interactions etc is performed by ABAP Processor.
The Screen Processor executes the Screen Flow Logic which consists of large part of user interactions. The screen processor also handles the communication between work process and SAP GUI and it also handles the field transfer from screens to flow logic.
The ABAP Processor executes the processing logic of the application program and also establishes connection between the work process and DB by communicating with the DB interface. The screen processor informs the ABAP processor about the Screen modules to be processed.

The DB Interface
The DB interface is responsible for connecting and disconnecting the work process and the database. It also provides services like access to database tables, repository information etc.

Types of Work Processes

There are 5 types of Work Processes. Please note that the structure of each work process remains same irrespective of its type. The various types of work processes are helpful in optimizing the use of resources of Application server. The dispatcher allots the requests to work process based on its type.

Work Process Type
Request Type
Dialog
D
Dialog Requests
Update
V
Update Requests to Update Database Records
Background
B
Requests which runs in background
Spool
S
Spool Printing requests
Enqueue
E
Logical Lock Requests


Dialog Work Process (D)

Every user request to execute dialog step is processed by Dialog Work Process. By default the response time of a Dialog Work Process is 300sec, after that it gets terminated. Every SAP instance should have a minimum of 2 Dialog Work Processes and can be increased to more as per business requirement. Services with long running Dialog steps (which require more time for processing) should not be loaded to Dialog work processes as it will affect the system performance as a single work process will be allotted to a single a single service and thus other work process would have to handle multiple user requests.. Services with dialog processing time more than 300 sec should be run in background.

Background Work Process (B):

All long running batch jobs and reports where user interaction is not required are executed by Background Work Process. Every instance should have a minimum of 1 Background Work Processes and can be increased to more as per requirement. Background work processes are designed for periodic tasks such as reorganization or the automatic transfer of data from an external system to the R/3 System.

Update Work Process (V)

All the database update related requests are taken care by Update Work process. This is of two types, Synchronous updates (V1) and Asynchronous updates (V2). Every instance should have a minimum of 1 Update Work Processes and can be increased to more as per requirement.

Enqueue Work Process (E):

Enqueue work process implements lock mechanism. When two users are trying to update same data in a table then Enqueue work process locks that table for other user and releases it when first user saves an commits it. It administers the lock table in shared memory which contains the logical databases lock. Only 1 Enqueue Work Process in Application server is sufficient enough to do this job. In order to execute lock requests we must first define a lock object. A lock object is defined in ABAP dictionary which consists of table entries which are to be locked. As per the standard all the user defined lock mechanisms must begin with the name  'EY' or 'EZ'. When we activate a lock object system automatically generates Enqueue and Dequeue function modules which we can use in our ABAP programs to use lock mechanism functionality.

Spool Work Process (S):

Spooling refers to the buffered transfer of data to output devices such as printers, fax devices, and so
on. All printing related requests are handled by Spool Work process. Every ABAP Application server can have only 1 Spool Work Processes and it can’t be increased to more. Spool requests are generated in dialog mode or during background processing and are then set in the spool database with details about the printer and the print format. The data itself is stored in the TemSe (TEMporary SEquential object) database.


In addition to the above work processes the R/3 application server also has two additional services for communication within R/3 system and between Non-SAP  or other SAP systems. They are:-

Message Server (MS or M):

The message server (MS or M) communicates between the distributed dispatchers within the
R/3 System and is therefore the prerequisite for scalability using several parallel-processing
application servers.

Gateway Server (GW or G)

 The gateway server (GW or G) allows communication between R/3, R/2 and external
application systems.

Thursday 28 March 2013

Abap Transaction Codes List

Transaction List for Transactions from SE01 to SE100.


Transaction Code Program Name
SE01 Transport Organizer (Extended View)
SE02 Does Not Exist
SE03 Transport Organizer Tools
SE04 Does Not Exist
SE05 Does Not Exist
SE06 Post installation actions for Transport organizer
SE07 Import Monitor
SE08 Does Not Exist
SE09 Transport Organizer
SE10 Transport Organizer
SE11 ABAP Data Dictionary
SE12 ABAP Data Dictionary
SE13 Technical Settings for dictionary
SE14 Dictionary: Database Utility
SE15 Object navigator
SE16 data browser initial screen
SE17 general table display
SE18 BADI builder: initial screen for definition
SE19 BADI builder: initial screen for implementation
SE20 enhancement initial screen
SE21 package builder
SE22 Does Not Exist
SE23 Does Not Exist
SE24 class builder
SE25 Does Not Exist
SE26 Does Not Exist
SE27 Does Not Exist
SE28 Does Not Exist
SE29 application packets
SE30 ABAP Runtime analysis
SE31 Does Not Exist
SE32 Does Not Exist
SE33 context builder
SE34 Does Not Exist
SE35 maintain dialog module
SE36 logical database builder
SE37 function module
SE38 ABAP Editor
SE39 split screen editor
SE40 menu printer
SE41 menu printer: initial screen
SE42 Does Not Exist
SE43 Area menu maintained
SE44 Does Not Exist
SE45 Does Not Exist
SE46 Does Not Exist
SE47 Does Not Exist
SE48 Does Not Exist
SE49 Does Not Exist
SE50 Does Not Exist
SE51 screen printer
SE52 Does Not Exist
SE53 Does Not Exist
SE54 generate table maintenance
SE55 generate table maintenance
SE56 generate table maintenance
SE57 generate table maintenance
SE58 Does Not Exist
SE59 Does Not Exist
SE60 Does Not Exist
SE61 Document maintenance
SE62 short text activation
SE63 standard translation environment
SE64 Does Not Exist
SE65 Does Not Exist
SE66 Does Not Exist
SE67 Does Not Exist
SE68 Does Not Exist
SE69 Does Not Exist
SE70 Does Not Exist
SE71 form printer
SE72 style request
SE73 Does Not Exist
SE74 SAP script format conversion
SE75 SAP script format conversion setting
SE76 sap script form translation
SE77 sap script style conversion
SE78 form graphic
SE79 Does Not Exist
SE80 ABAP Work bench
SE81 application hierarchy display
SE82 application hierarchy display
SE83 Does Not Exist
SE84 object navigator
SE85 object navigator
SE86 Does Not Exist
SE87 Does Not Exist
SE88 Does Not Exist
SE89 R/3 repository maintenance
SE90 object navigator
SE91 message maintained
SE92 system log message maintenance
SE93 maintain transaction
SE94 simulation: customer
SE95 modification browser: object selection
SE96 Does Not Exist
SE97 maintained transaction call authorization in call transaction
SE98 Does Not Exist
SE99 Does Not Exist
SE100 Does Not Exist