Sie sind auf Seite 1von 57

SAP R/3 ARCHITECHTURE

Presentation server:

This layer has SAP GUI which is used to connect SAP. This layer is accessed by the user to make requests to other two layers This layer has the kernel of the SAP System all the application logic resides in this layer. The request from the presentation layer comes to application layer and if needed redirect it to the database layer This serves as data store consisting of tables.

Application server:

Database server:

Types of Work Processes:

Role of work processes

Dialog Work process

Deals with the active user requests and executes dialog steps

Update Work Process

Executes database update requests.

Background Work process

Processes programs that can be executed without user interaction (background jobs).

Enqueue Work process

Administers a lock table in the shared memory area

Spool Work process

Passes sequential datasets to a printer

Message work process

Used for load balancing in a scenario where there are more than one application servers

Gateway work process

Used whenever there is used to establish a connection between SAP and NON-SAP systems

INTERVIEW QUESTIONS: 1. Explain client server architecture with example 2. What are the differences between 2-tier and 3-tier architecture and give example of both 3. What are the advantages of 3-tier over 2-tier architecture 4. What is the meaning of real-time with example 5. What are the other products from sap AG

DATA DICTIONARY

DATA FIELD FEATURES: DOMAIN Gives technical description (data type & length) of the field. The value range can be limited by specifying fixed values. Example: integer, 10 DATA ELEMENT Gives the label or English name of the field. It contains primarily the field help (F1 documentation) and the field labels in the screen. Example: Customer name

NOTE: Data element and Domain are Meta data. One can share Data elements and Domains across fields. There is also possible to create a field without data element but the domain is mandatory and is not recommended

TABLES:

It consists of columns (fields) and rows (entries). It has a unique name and attributes, such as delivery class and maintenance authorization. A field has a unique name and attributes. Every table must have a unique primary key which identifies a unique record of the table.

COMPOSITE PRIMARY KEY is Combination of two or more primary

key fields. All the key fields are considered when the record is retrieved

You must specify a reference table for fields containing a currency (data type CURR) or quantity (data type QUAN). It must contain a field (reference field) with the format for currency keys (data type CUKY) or the format for units (data type UNIT). The field is only assigned to the reference field at program runtime.

TABLE MAINTENANCE GENERATOR (SE54) is a utility which is used to maintain mass data in the tables. Referential integrity is checked in Table maintenance generator but not in single entry. It is always in the current and active version of the table so whenever you make changes to the table one has to delete and recreate the table maintenance generator

TECHNICAL SETTINGS OF TABLES:

1. You must maintain the technical settings when you define a transparent table in the ABAP Dictionary. 2. The technical settings are used to individually optimize the storage requirements and accessing behavior of database tables. 3. The technical settings can be used to define how the table should be handled when it is created on the database, whether the table should be buffered and whether changes to entries should be logged. 4. The table is automatically created on the database when it is activated in the ABAP Dictionary. 5. The storage area to be selected (tablespace) and space allocation settings is determined from the settings for the data class and size category. 6. The settings for buffering define whether and how the table should be buffered. You can define whether changes to the table entries should be logged.

FOREIN KEY RELATIONSHIP:

1. One can create foreign key if the two fields of different tables have the same DOMAIN but field names or data elements can be different. Referential integrity in SAP is covered under the foreign key relationship 2. CHECK TABLE is the table that has check field containing values that is checked by foreign key of FOREIGN KEY TABLE. 3. Check table can also be created on non-primary key field. a. ADVANTAGES OF CHECK TABLE: (1)Ensures the data integrity (2)Provides F4 or INPUT HELP E.g. ZDEP-depid ZEMP-empid CHECK TABLE FOREIGN KEY TABLE

VIEWS: Data for an application object is often distributed on several database tables. Database systems therefore provide you with a way of defining application-specific views on data in several tables. Types of views These can be created on more than one table and preferably these tables should be linked using check table. One can retrieve data from database views using select statement

DATABASE VIEWS

PROJECTION VIEWS:

Exactly same as database view except that it can be created on only one table

MAINTENANCE VIEWS

These can be created on one or more tables but one cannot retrieve data using select statement

HELP VIEWS

These can be created to be used in the search helps

SEARCH HELP

It is a mechanism used to search data within SAP Search helps can be assigned at the field level, at data element level or at the screen level Match codes < 4.0 < Search helps

1 ELEMENTARY SEARCH HELPS:

A) Selection method: This can be a database table or help view B) Dialog behavior: This determines the way in which data should be exported back to the screen C) Parameter Interface: Import parameters form the input search help where as export parameters form the output of the search help D) Search help exit: these are used to enhance the functionality of SAP standard search helps. Search help exits are available in the form of function modules It is a container of multiple elementary search helps. After the creation of search help, it should be assigned to the corresponding table field

2 COLLECTIVE SEACH HELPS:

LOCK OBJECTS:

The R/3 system synchronizes simultaneous access of several users to the same data records with lock mechanism Apart from database lock mechanism, SAP provides with the help of lock objects. These should not be created using Z or Y. once it is created the system generates automatically two function modules ENQUEUE-<Table Name> DEQUEUE-<Table Name>

TYPE GROUPS:

These are globally defined data types which can be accessed from any ABAP program. While referring type groups from a program, one must use the key word TYPE-POOLS

TYPES

TABLE TYPES: DATA ELEMENTS:

There are three different type categories in the ABAP Dictionary and are available to all the programs Describes the structure of an internal table. Describe an elementary type by defining the data type, length and possibly decimal places.

STRUCTURES:

INCLUDE STRUCTURE: These are included anywhere in the table after primary keys APPEND STRUCTURE: These structures are added at the bottom of the table. These structures must be defined with two ZZ These structures are primarily used for enhancing the SAP standard tables

LAB EXERCISES:

1. 2. 3. 4.

Create a employee table and a department table Create a append structure and include structure Create database, projection, maintenance, and help views Create a search help that allows us to search emp numbers both based on empid and depid (collective search help)

INTERVIEW QUESTIONS: 1. 2. 3. 4. 5. What is buffering of tables and its types. What do you understand by table index? Difference between primary and secondary index Different types of search helps and how they are used Purpose of the following T-codes a. SE11 b. SE12 c. SE13 d. SE14 e. SE16 f. SM30 6. What are two level domain concepts? 7. What is conversion routine and where it is assigned 8. What are fixed values? 9. Define the following a. Data element b. Domain c. Check table d. Reference table e. Value table 10. Different types of tables and views 11. Difference between structure and table 12. Difference between include structure append structure 13. What is customer includes 14. What is lock object and purpose of it? 15. what is the purpose of table maintenance generator 16. Define type groups 17. Different types of tables 18. What are text tables

DATA STRUCTURES

DDIC TYPES CHAR NUMC DATS TIMS INT4

ABAP TYPES C-CHARACTER N-NUMERIC D-DATE T-TIME I-INTEGER F-FLOATING P-PACKED DECIMALS X-HEXA DECIMAL STRING

UNSTRUCTURED DATA TYPES VARIABLES, DATA OBJECTS STRUCTURED DATA TYPES

INTERNAL TABLE

WORK AREA

INDEXED TABLES

HASHED TABLES

STANDARD TABLES

SORTED TABLES

DATABASE (SE11)

ABAP EDITOR (SE38)


DATA DECLARATIONS . DATA SELECTION .. DATA OUTPUT

Selection Screen

1 2 5a 5b
List screen

TABLES STRUCTURES VIEWS

3 4

EMAIL

(1) Control goes to selection screen from ABAP Editor to get the user request (2) User sends the request from selection screen to ABAP Editor (3) ABAP Editor sends the request to the Database (4) Database sends the request of data to ABAP Editor. (5a) Control goes to again selection screen if the user given data do not exist in Database. (5b) If the user given data exist in Database, it outputs the data in the list screen Or EMAIL. WORK AREA: It can hold only single record and works as interface between internal table and list output. It can also work as interface between database and internal table but it is a performance issue.

INTERNAL TABLE: Internal tables can hold multiple records and are defined by using the syntax TYPE TABLE OF Internal tables can be defined either with an implicit work area or an explicit work area. There are two ways of filling internal tables either through work area or directly into the body. However, one has to make use of either an implicit or an explicit work area to output the data. Default memory of ITAB is 8 KB and can increase dynamically.

Internal Table Operations

OPERATIONS ON INTERNAL TABLE: 1 COLLECT This statement helps in performing mathematical operations on ITAB this statement works on ITAB both as modify statement if a record already exists with the same key and as append statement if a record exists with the different key. This statement reads the given line of records at an index level. If duplicate is found, it retrieves first entry. To read multiple records, we keep it in loop and endloop. This statement modifies the contents of one or more records of the ITAB. One can modify it using an index or key of the table. This statement adds the record at the end of all the records in the table.

READ

MODIFY

APPEND

DELETE

This statement deletes the record wherever we specify with index. This statement sorts the table in ascending or descending order according to the given field. This statement inserts the new record at the given index.

SORT

7 8

INSERT

DESCRIBE This statement describes the number lines of the ITAB at runtime. This statement removes all the data from internal table This statement removes all the data from workarea. This statement removes all the memory of internal table.

9 REFRESH 10 CLEAR 11 FREE

TYPES OF TABLES STANDARD TABLE SORTED TABLE HASHED TABLE

UNIQUENESS Non-Unique Non-Unique / Unique Unique

ACCESS Mostly index Mostly key Only key

TYPES OF TABLES : 1 STANDARD TABLE By default all ITABS are standard table. One can perform ITAB operations with the help of either table index or key of the table. one can perform ITAB operations with the help of either table index or key of the table As it is a sorted table, we need not to perform SORT operation. This table has to be created only with an explicit key that has to be always unique.

2 SORTED TABLE

3 HASHED TABLE Note:

SY-TABIX: Every ITAB has a record index called as SY-TABIX. This index hence perform internal table operations To find out the access type of an internal table at runtime, use the statement DESCRIBE TABLE <itab> KIND <charfield>.

INTERNAL TABLE KEY: Comprises character fields or character set (CHAR and NUMC) of columns of leftmost of an ITAB. To do the collect statement operations, the processor uses the key of the ITAB. If the key is not specified, it always takes the leftmost character set of columns. This adds all the non-character fields by comparing all the character fields of the table (performance problem).

IMPORTANT SYSTEM FIELDS


VARIABLES
INDEX PAGNO TABIX TFILL DBCNT FDPOS COLNO LINCT LINNO TLENG LILLI SUBRC LSIND LISTI SCOLS LOOPC LANGU BATCH BINPT DYNNR DYNGR CPAGE MANDT PFKEY TCODE UCOMM DATUM SLSET UZEIT UNAME ABCDE TITLE LISEL ULINE CPROG LDBPG TVAR0 TVAR1 MSGID MSGTY MSGNO MSGV1 MSGV2 MSGV3 MSGV4 VLINE DATAR HOST

TYPE
INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 INT4 LANG CHAR CHAR CHAR CHAR INT4 CLNT CHAR CHAR CHAR DATS CHAR TIMS CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR CHAR NUMC CHAR CHAR CHAR CHAR CHAR CHAR CHAR

LENGTH
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 1 1 1 4 4 10 3 20 20 70 8 14 6 12 26 70 255 255 40 40 20 20 20 1 3 50 50 50 50 1 1 32

DESCRIPTION
Loop Index Current List Page Index of Internal Tables Row Number of Internal Tables Processed Database Table Rows Found Location in Byte or Character String Current List Column Page Length of List Current Line in List Row Length of Internal Table Selected List Line Return Value of ABAP Statements Index of Details List Index of Current Step Loop Line Screens, number of columns Visible Lines of a Step Loop Language Key of Current Text Environment Program is running in the background Program Running Under Batch Input Current Screen Number Screen Group of Current Screen Current Page Number of a List Client ID of Current User Current GUI Status Current Transaction Code Function code that PAI triggered Current Date of Application Server Used Selection Screen Variant Current Time of Application Server User Name Latin Alphabet Contents of Title Line Contents of a Selected List Line Horizontal Line Calling Program Database Program of a Logial Database Text Variable for Placeholders in List Headers Text Variable for Placeholders in List Headers Message Class Message Type Message Number Message Variable Message Variable Message Variable Message Variable Vertical Line Selection for Screen Field Input Name of Current Application Server

LAB EXERCISES: 1. Write programs to demonstrate the following Unstructured data type Workarea Single access (internal table) Multiple access (internal table) Implicit workarea 2. Write programs to demonstrate selection screen variants 3. Write a program using internal table operations 4. Write a program using database table operations 5. Write two programs one with inner join and another one with for all entries

INTERVIEW QUESTIONS: 1. 2. 3. 4. What is Work Area? Difference between work area and internal table. Different types of internal tables. What are the various operations possible on internal table?

5. Describe the following ABAP syntax: DO LOOP CLEAR REFRESH FREE STOP EXIT REJECT DESCRIBE CONCATENATE FIND REPLACE SHIFT OVERLAY TRANSLATE CONVERSION ROUTINE OFFSET WRITE SKIP
PERFORMANCE TUNING

1. While writing SELECT statement makes sure you SELECT only relevant fields. 2. Avoid using SELECT *. 3. Always user WHERE clause. 4. Avoid using SELECT, ENDSELECT. 5. Always pass full primary key to get the data. 6. Avoid nested loops. 7. Avoid using more than 3 nested if, alternately use CASE statement. 8. Never use OUTER JOIN. 9. Avoid using MOVE-CORRESPONDING. 10. Restrict the usage of GLOBAL Variables. 11. Do not define unnecessary variables.

MESSAGES

MESSAGES

Messages are created in SE91 and stored in table T100. Messages can either be displayed in modal dialog boxes, or in the status bar of the screen. You can send messages using the ABAP statement MESSAGE. The statement specifies the message class, number, and type of the message.

MESSAGE TYPES E ERROR W WARNING A ABEND S SUCCESS I INFORMATION X SHORT DUMP MESSAGE Class MESSAGE Number (ZHNC) (FROM 000 TO 999)

Example: message s220(ZHNC) with text. & PLACE HOLDERS that means we can use the same message number with different messages dynamically at runtime. Example: message s220(ZHNC) with Enter Vendor Number

MODULARIZATION UNITS

Modularization techniques are used to break the program into small modules which are more readable, understandable and reusable. ACTUAL PARAMETERS (A) are global variables that store the actual values. Actual parameters are defined in the call program FORMAL PARAMETERS (F) are local variables that are defined in the interface of the modularization technique or called program

Techniques

Call

Called

Number of parameters MAX = 9

Reusability

MACROS

<macro>

DEFINE <macro> ------------------ENE-OFDEFINITION FORM <sub> ----------------ENDFORM

LIMITED A=F

SUBROUTINES

PERFORM<sub>

NO LIMIT BETTER A=F

FUNCTION MODULES

CALL FUNCTION <func>

FUNCTION NO LIMIT <func> ------------------------------------------- Need not be ENDFUNCTION A = F

BEST

CLASSES

CLASS<cls> DEFINITION --------------------------------ENDCLASS

CLASS <cls> IMPLEMENTAT ION --------------------------------------ENDCLASS

NO LIMIT BEST Need not be A=F

INCLUDES

INCLUDE <inc>

No INCLUDE <inc> parameters

BETTER

(1) MACROS:

In macros, the called should always be first and call follows it. If you want to use macros in another program, you have to define call program again in that program. Macros are stored in TRMAC table

(2) SUB-ROUTINES:

Methods of Passing Data

USING parameters are input parameters CHANGING parameters are output parameters

CALL BY REFERENCE: The actual and formal parameters point to the same memory address hence any change to the either of the parameters is reflected in the other parameters. By default all subroutines are call by reference

CALL BY VALUE: The actual and formal parameters have the different memory address hence any change to the either of the parameters is not reflected in the other parameters. One can make a parameter or parameters as call by value by adding value key word to the using set of parameters

CALL BY VALUE AND RESULT : One can make a parameter or parameters as call by value and result by adding value key word to the changing set of parameters

(3) FUNCTION MODULES: (SE37)

ATTRIBUTES parameters describes what type of function module it is IMPORT parameters are input parameters EXPORT parameters are output parameters CHANGING parameters can be input or output parameters of WA TABLES parameters can be input or output parameters of ITABS EXCEPTIONS: Information is passed to handle runtime errors and these are generally negative SOURCE CODE: In this we write code for the function module

THERE ARE 3 TYPES OF FUNCTION MODULES (1) NORMAL FUNCTION MODULES (2) REMOTE-ENABLED FUNCTION MODULES (3) UPDATE FUNCTION MODULES SY-SUBRC EQ 0: The function module is executed successfully SY-SUBRC EQ 1: The function module is not executed due to the exception number 1 Function pool = Collection of function modules STEPS TO IMPLEMENT STANDARD FUNCTION MODULES:
1. Identify the FM using search helps that will give one or more function modules. 2. Study the documentation provided and select which is the closest to your Requirement. 3. Understand the parameters of the interface of the FM. 4. Test the function module that will again help us identifying whether this FM will suit our requirement or not. 5. Finally call the function module into the program.

(4) CLASSES:

These are based on object oriented programming concepts. Classes created locally using ABAP editor (SE38) are available to that program only and Classes created globally using class builder (SE24) will be available to all the programs

(5) INCLUDES:

It is used to hold another programs code that is subroutines, function modules

LAB EXERCISES: 1.Write a program to demonstrate macros 2.Write a program to demonstrate subroutines with the following methods Call by reference Call by value Call by value and result 3. Write a program to demonstrate a function module 4. Create two function modules, First function module with I_DEPID and T_EMP parameters and Second function module with I_EMPID and C_EMP parameters. Fetch data into first function module from the employee database table. Using first function module data, give EMP details from second first function module

INTERVIEW QUESTIONS: Differences among various Modularization Techniques. What is a Function Group? What are exceptions in Function Module? Types of Function Modules. Name Few Function Modules. How do you call a subroutine from another program?

REPORT PROGRAMMING
SECTIONS : 1. 2. 3. 4. CLASSICAL REPORTING EVENTS INTERACTIVE REPORTING EVENTS CONTROL BREAK / AT EVENTS ALV REPORTS

Reports help the management to take the decisions on performance of business system and to device strategies for the future. ABAP Programming is event based Programming language. There are different types of events that can be categorized as external and internal events An event is a happening or occurrence that has set timing. Whenever an event happens, there will be some kind of reaction. Hence an ABAP programmer, one should learn what is the time of each of the events and what one should do when an event is fired

EVENTS
INTERNAL EVENTS EXTERNAL EVENTS

CLASSICAL

INTERACTIVE

ALV

REPORT / LIST PROGRAMMING


Selection screen 1 3 8 4 4 Secondary Lists 1 2 3 9 2 Basic List 5 6 7

ABAP Editor Database Data declaration --------------------------------------Data selection 3 ------------------------------------4 Output -----------------------------------

1 INITIALIZATION 2 AT SELECTION-SCREEN 3 START-OF-SELECTION 4 END-OF-SELECTION 5 TOP-OF-PAGE

4 20

7 AT LINE-SELECTION 8 TOP-OF PAGE DURING LINE SELECTION 9 AT USER-COMMAND

6 END-OF-PAGE

LOAD-OF-PROGRAM: This is basically an internal event triggered every time, when the program is executed. It loads the active version of the code into program content.

(1) CLASSICAL REPORTING EVENTS


1 INITIALIZATION This is the first event triggered externally. It is triggered after the execution of program but before displaying of the selection screen. It can be used to refresh global variables and to initialize global variables and selection screen fields.

2 AT SELECTIONSCREEN

This event is triggered when control is at selection screen. That is once the user has entered the input values and executed the program, and then this event is fired. We use this event to validate the selection screen input values. This event is fired when there are no exceptions in the AT SELECTION-SCREEN event. We use this event to select as much data as possible to be printed on basic list. If there is an exception in this event, we use ABAP statement STOP. In this case, the control is passed onto the event END-OF-SELECTION and the rest of START-OF-SELECTION event is skipped. This event is triggered either because of the STOP statement in START-OF-SELECTION event or after complete execution of START-OFSELECTION event. We use this event to write the output or to throw exceptions. This event is fired with the very first write statement in the program This event is generally used to print report headers. This event is generally used to print footer (page).A new page can be triggered in two ways NEW-PAGE or LINE-COUNT 20(2). By default, every page has 65,000 lines and 255 characters width

3 START-OFSELECTION

4 END-OFSELECTION

5 TOP-OF-PAGE

6 END-OF-PAGE

(2) INTERACTIVE REPORTING EVENTS


7 AT LINE-SELECTION This event is fired when the user double clicks on a line output. This event is used to print page headers for secondary lists.

TOP-OF PAGE DURING LINE SELECTION

AT USER-COMMAND

This event is fired whenever the user clicks on a button or a menu option.

Note: The list screen displayed immediately after the execution of program is known as BASIC LIST. This list has an index 0. By using interactive events, we have provision to create further drill down to secondary lists whose index stars from 1 maximum of 20. (1) HIDE: when we use HIDE statement, the corresponding work area values are stored behind every line return in the output screen. Thus whenever a user double clicks on a specific line, the system internally copies the hidden work area. (2) GET CURSOR: when we use GET CURSOR statement, the system senses the field name and the cursor position.

System variables helpful in the reports SY-LISEL Contains data of the selected line. SY-LSIND Contains the index of the list currently being created. While the basic list is being created, SY-LSIND is zero. SY-LINNO contains line number

(3) CONTROL BREAK / AT EVENTS

Control Break statements or At events can be used only inside a loop statements. AT FIRST This event is fired at first index of SY-TABIX and fired only once. One can use this event to write some kind of a subheading because it is fired only once. AT LAST This event is fired at last index, since it is fired only once. One can use this for arriving at grand totals. This event is fired every time the value of c1 becomes new. It can be used to avoid printing duplicate values. This event is fired every time the value of c1 ends. It can be used for arriving at sub-totals. This event can be used either inside or outside of the loop

AT NEW <c1>

AT END OF <c1>

ON CHANGE OF

Customer No.(c1) 1 1 1 2 3 3 4

Region(c2) HYDERABAD DELHI MUMBAI HYDERABAD DELHI HYDERABAD DELHI

Sales(c3) 20 30 50 50 60 20 30

ALV REPORTS
ALV reports are written by using a standard type group called SLIS. One can make use of standard function modules. ALV Function Modules starts with or can be searched with Reuse*ALV*. Advantages of ALV Reporting over Normal Reporting: (1)DYNAMIC LAYOUT: when the requirement says that the user would like to change the layout of the report at runtime. (2)ADDITIONAL TOOLS AND UTILITIES: when the requirement says that the user needs lot of other options like download, totaling, subtotaling sorting of data.

STEPS FOR CREATING ALV REPORTING: STEP-1 STEP-2 STEP-3 Define Type-pools SLIS. Define an internal table of type SLIS_T_FIELDCAT_ALV. Define another internal table of type SLIS_T_EVENTS.

STEP-4

Define another internal table that should be structure of the desired output.

STEP-5

Fill up the ITAB created in STEP-2 with all the technical information of the layout. This step is also known as preparing the Field Catalog. In this step, one must provide all the properties for every column of the desired layout. These properties are available in the Type-Group SLIS. For example: Key column, totals, sub-totals.

STEP-6

This step should be carried out only if our report is supposed to use ALV events. Under this step, one should fill up the internal table created in step-3 with the list of ALV events. The list of events is available in Type-pool SLIS.

STEP-7

Fill up the data supposed to be printed in the internal table created in Step-4. This table is also known as Data table.

STEP-8

Call the function module. REUSE_ALV_LIST_DISPLAY OR REUSE_ALV_GRID_DISPLAY Pass all the three internal tables created so far in the program.

LAB EXERCISES: 1. 2. 3. 4. 5. 6. Write a program using classical events Write a program using interactive events Write a program to demonstrate control break statements Write an ALV program using ALV events Write an ALV program to display logo Write an ALV program to hide the any one of the additional button or tool on Application toolbar

INTERVIEW QUESTIONS: Name all the EVENTS in order of their execution Can you trigger AT USER-COMMAND and AT LINE SELECTION at the same time? What are the function codes and how do you define them? How do you define PF-STATUS and what are the components of it? How do you identify a basic list from secondary list? What are the various ways of triggering a new-page? What are the defaults of PAGE-SIZE and LINE-SIZE? How do you decide whether to write ALV or NORMAL reports? Name few ALV function modules and ALV events? What is the function of SUBMIT in a report? How do Export To and Import From work? How do you call a transaction from a report? How do SET PARAMETER ID and GET PARAMETER ID work? Can you create your own parameter ID and how? What are the different variants of AT SELECTION-SCREEN event? What are the TYPE-GROUPS? What are the FIELD-SYMBOLS?

MODULEPOOL PROGRAMMING

Screen 0100 PBO EID Name PBO

Screen 0200 . DISPLAY . CHANGE PBO

Screen 0300

BACK
CREATE

NEXT | PAI DIALOG | | PAI DIALOG |

PAI DIALOG |

------------------------------------- TRANSACTION----------------------------- FLOW LOGIC: Screen flow logic contains the procedural part of a screen. You create it in the flow logic editor which is very similar to the ABAP Editor. The screen flow logic is like an ABAP program in that it serves as a container for processing blocks. There are four event blocks, each of which is introduced with the screen keyword (1)PBO: PROCESS BEFORE OUTPUT (2)PAI: PROCESS AFTER INPUT (3)POV (F1): PROCESS ON VALUE REQUEST (4)POH (F4): PROCESS ON HELP REQUEST

This is fired before the screen is displayed This is fired whenever the user performs an action on the screen This is fired whenever the user presses F1 This is fired whenever the user presses F4

In all these events, first two are default events where as the other are optional events.

MODULE POOL PROGRAM comprises of the following includes. TOP Include PAI Include PBO Include This stores all global data This stores all PAI modules and ends with I01 This stores all PBO modules and ends with O01

FORMS Include This stores all the SUB-ROUTINES and ends with F01

SCREEN ELEMENTS: A screen can contain a wide variety of elements, either for displaying field contents or for allowing the user to interact with the program (for example, filling out input fields or choosing pushbutton functions). You use the Screen Painter to arrange elements on the screen. You can use the following elements: TEXT FIELDS INPUT/OUTPUT FIELDS DROPDOWN LIST BOXES CHECKBOXES Display elements, which cannot be changed either by the user or by the ABAP program. Used to display data from the ABAP program or for entering data on the screen. Linked to screen fields. Special input/output fields that allow users to choose one entry from a fixed list of possible entries. Special input/output fields which the user can select (value X) or deselect (value SPACE). Special input/output fields that are combined into groups. Within a radio button group, only a single button can be selected at any one time. When the user selects one button, all of the others are automatically deselected. Elements on the screen that trigger the PAI event of the screen flow logic when chosen by the user. There is a function code attached to each pushbutton, which is passed to the ABAP program when it is chosen. Area on the screen in which you can place another screen. Tabular input/output fields. Areas on the screen in which you can switch between various pages.

RADIO BUTTONS

PUSHBUTTONS

SUBSCREENS

TABLE CONTROLS TABSTRIP CONTROLS

CUSTOM CONTROL

Container on the screen in which you can display another control.

LAB EXERCISES:

Create a module pool program with the following In screen 100, create customer input field and two push buttons one with display and another one with exit. In screen 200, create customer, name, country output (display) fields and three push buttons one with display and another one with change and last one with refresh. EXERCISE:- Give input for Customer field in screen 100, when clicked on display it should move to screen 200 and display details of the customer. When clicked on change, customer field in screen 200 should be input enabled and when customer is given and clicked on display, it should display customer details. INTERVIEW QUESTIONS: 1. Define the following SET SCREEN LEAVE TO SCREEN CALL SCREEN LEAVE-TO-LIST-PROCESSING LEAVE-LIST-PROCESSING COMMIT WORK ROLLBACK WORK LEAVE TRANSACTION LEAVE TO TRANSACTION LEAVE PROGRAM CALL TRANSACTION 2. What are the events in Module Pool Programming 3. What are the following system variablesa. SYST-DYNNR b. SYST-UCOMM 4. How do you call a report from a transaction 5. How do you call a transaction from a report 6. How do you work with table controls 7. What are sub-screens 8. How can you change the properties of the screen-elements dynamically

DATA TRANSFERS / CONVERSIONS


DATA TRANSFER PROCESSING STRATEGY:
1) LEGACY DATA FILE: Data is made available in the form of FILE (.xls, .txt) in Legacy system. File can be kept either in Application server or in Presentation server. 99%, data is made available in Application server which is decided at the beginning of project implementation. (2) APPLICATION SERVER: ODS, RDS, and CDS statements are used to transfer data from the file of Application server into the program ODS, TDS and CDS statements are used to send data from ERROR_ITAB of the program into legacy system ODS RDS TDS CDS Open data set Read data set Transfer data set Close data set similar to GUI-UPLOAD similar to GUI-DOWNLOAD

ODS + RDS+ CDS ODS + TDS+ CDS DATASET = FILE

(2) PRESENTATION SERVER: GUI-UPLOAD and GUI-DOWNLOAD function modules are used to transfer data from the file of presentation server into the program. (3) CONVERT THE COMPLETE DATA INTO CHARACTER FORMAT IT_TEXT. SIZE ALSO SHOULD MATCH. (4) CONVERSION FILTER (5) VALIDATION FILTER (6) UPLOADING DATA FROM ITAB INTO SAP DATABASE With ONE OF THE DATA TRANFER TECHNIQUES

DATA TRANFER TECHNIQUES

DIRECT INPUT

This technique makes use of predefined SAP standard programs These programs and its related documentation are found under SAP library or SPRO transaction. These programs do not use SAP screens for data transfer instead they use update Function Modules to transfer data directly into the R/3 Database.

BDC

This technique makes use of SAP screens to save data into the database. One must use transaction recorder to record a screen sequences. Under this technique, One can also has to make use of the following STRUCTURES: BDCDATA BDCMSGCOLL One can has to make use of the following Function modules for session method BDC_OPEN_GROUP BDC_INSERT BDC_CLOSE_GROUP While using call transaction method, one has to make use of ABAP statement call transaction

ALE/EDI

This technique is mostly used when the data is supposed to be transported in the form of IDOC (Intermediary Document) ALE is used for communication between two sap systems where as EDI for communication between sap and EDI sub-system Internally this technique again uses BDCs or BAPIs these are available in the form of standard Function

Modules

BAPI:

These are again available in the form of Remote Enabled Function Modules Internally BAPIs use BDC or Update Function Modules

LSMWB:

This is the only tool that uses other tools. LSMW was introduced from 4.0v onwards, prior to this SAP has provided Data transfer Workbench (DXWB). This tool was primarily used for data transfer using direct input method only but in LSMW, one can use not only direct input method but also other methods like BDCs, BAPIs, ALE, or recording

TRANSACTION This is a tool used for recording screen sequences RECORDER: which can further be used in BDC programs. We use this tool for small amount of data to be transferred

BDC PROCESSING Step1: Conduct sap transaction for the required data in sap system as many times as possible. This step is mandatory irrespective of the any data transfer tool that we use. Example: If the requirement is to transfer customer master data then one should conduct XD01 transaction as many times as possible to ensure and identify the mandatory fields and possible values Step2: Use transaction recorder SHDB to record the transaction for which the data is supposed to be transferred Step3: Create a BDC program after recording that has done in step2 Step4: BDC program does not care of conversions or validations hence if any conversions or validations are required then the program should be modified Step5: Test the program with the help of test data provided NOTES: We can add fields in the work area of the program but we cannot delete existing fields because they are mandatory RSBDCSUB: Submitting program in background Both call transaction and session method have BDCDATA Structure Fnam Fval Program Dynbegin Dynpro CALL TRANSACTION: Multiple transactions can be possible only in Call Transaction Method Call Transaction Method is far better in performance perspective Call Transaction Method is processed synchronously MSGCOLL returns the messages of call transaction method SESSIONS METHOD: SM35: Batch input session overview We prefer this session method when errors are more in the file Session Method is processed asynchronously

BAPI: BUSINESS APPLICATION PROGRAMMING INTERFACES BAPIs are made available in the form of BUSINESS OBJECTS that fallow business object programming A typical business object has the following structure (1) Attributes (2) Key fields (3) Methods (4) Events (5) Interfaces SWO1 transaction code is used to access business objects BAPIs can be accessed either from T-CODE SE37 or from T-CODE BAPI BAPIs have the same structure as Function Modules since BAPIs are function modules. BAPIs are remote enabled function modules. All BAPIs are remote enabled Function Modules but all remote enabled function modules are not BAPIs BAPIs have the import, export, tables and changing parameters but most of the BAPIs do not have exceptions parameter instead all the exceptions are captured in the tables parameter as return table. Most of the BAPIs do not have a commit work, that means they do not carry out database updates hence it is the responsibility of the developer to perform database updates. One can do so by calling either BAPI_TRANSACTION_COMMIT Or BAPI_TRANSACTION_ROLLBACK Before calling of anyone of them, check the FUNCTION MODULE if there are any errors in the return table.

LAB EXERCISES: 1. Write a BDC program for transaction XD01 using both call transaction and sessions method 2. Write a program to upload data for transaction KS01 using BAPI 3. Upload data for transaction XK01 using LSMW

INTERVIEW QUESTIONS: 1. What are the various of data transfer techniques you have worked with 2. Which one would you choose and justify your answer 3. What are the different types of files you have worked with 4. How do you work with semi colon separated files 5. How do you covert non-char fields into character type fields 6. Explain in detail the error handling mechanism in BDC and BAPI 7. How do you submit a BDC Session in background 8. What the different processing modes in BDC 9. What the different update modes in BDC 10. Name the function modules used in BDC with their interface parameters 11. How are BAPIs different from normal function modules 12. Why cant we use normal function modules for data transfer 13. What is the difference between RFC and BAPI function modules 14. Name a few BAPIs 15. How are exceptions handled in BAPIs 16. What is the COMMIT concept in BAPIs 17. What are the various steps in LSMW 18. What are the different ways in which data upload can be done using LSMWB 19. What is the use of the following structuresa. BDCDATA b. BDCMSGCOLL 20. How do you work with TABLE CONTROLS during DATA TRANSFER

SAP SCRIPTS
SAPScript Form

LOGO WINDOW

LAYOUT

MAIN WINDOW

CONTENT

IN Reports: the data logic and print logic resides in one program
PRINT LOGIC DATABASE OUTPUT DATA LOGIC

IN SAP Scripts: the data logic is separated from print logic

DATABASE

PRINT LOGIC

DATA LOGIC

OUTPUT

Print logic is called as layout set where as the data logic is called as driver program PRINT LOGIC: The print logic of SAP Script is always processed by special processor called SAP Script processor. It understands only limited commands such as PERFORM, BITMAP, CASE.ENDCASE, IF..ENDIF, TOP..ENDTOP, BOTTOM.ENDBOTTOM, INCLUDE, DEFINE etc. DATA LOGIC: The data logic program primarily comprises of two sections (1) Data selection from database (2) Calling SAP Script to print: The following Function Modules are used to call the SAP Script to print OPEN_FORM START_FORM (for multiple forms) WRITE_FORM CLOSE_FORM CONTROL_FORM TYPES OF WINDOWS MAIN WINDOW Main window is one whose contends are continuous across pages. Every page of an SAP script has one main window; however it is possible to map 99 main windows on one page VARIABLE WINDOW Variable window is one whose contends change from page to page CONSTANT WINDOW Constant window is one whose contends do not change from page to page UPLOADING LOGO FILES: One can upload logo files by using T-code SE78 but it can be used to upload only BMP files. There is a possibility to upload TIFF files using the program RSTXLDMC. SAP SCRIPTS ARE LANGUAGE DEPENDENT: SAP Scripts can be created in multiple languages however it can have only one original language. Original language is the language in which the form is originally created. It is also possible to maintain standard text in multiple languages using Tcode SO10 while SAP Script maintains in only one language

SAP SCRIPTS ARE CLIENT DEPENDENT: All the ABAP repository objects are client independent except SAP Scripts that means Scripts developed in one client are not available to other client Most of the times, the print program and sap script are provided by SAP standard system. One has to only customize to the needs of the customer. The program RSTXSCRP is used to transfer SAP Scripts created as local objects between two clients where as in transport request, the program RSTXR3TR is used to transfer SAP Scripts

SMART FORMS
Since SAP Smart Forms are directly integrated into the applications, no time is lost due to data exchange with external systems. Furthermore, documents can be automatically created in the background, which is useful in case of extensive dunning runs, for example. SAP Smart Forms objects are linked to the transport system so that you can easily test your forms and subsequently transfer them to your production system. SAP Smart Forms can be used on all platforms supported by SAP. To edit the forms, however, you need the graphical user interface SAP GUI for Windows. SAP Smart Forms provides multiple language support. You need to define the layout of a form only once and can then translate the texts using the translation tools. This ensures that your documents have a consistent design on an international level. SAP Smart Forms provide considerable advantages over SAPscript: 1. Customizing forms is considerably easier, on the one hand because the tools offer more functions (for example, you can very easily create tables with the Table Painter of SAP Smart Forms), on the other hand because the interface between the forms and the application programs has been redesigned. 2. Particular tasks, such as retrieving additional data within forms, do not require you to use special scripting language commands, as you had to with SAPscript. You can also insert normal ABAP code. 3. As of SAP Web Application Server 6.10, SAP Smart Forms can be output in HTML. 4. The migration of SAPscript forms and styles to SAP Smart Forms is supported. You can also convert SAPscript styles into Smart Styles. 5. SAPscript texts can be used directly in SAP Smart Forms. Depending on the application, either SAP Smart Forms or SAPscript forms can be used. In some cases, you can choose which you want to use. This means that SAP will provide continued support and maintenance for SAPscript forms.

LAB EXERCISES:

1. Design SAP script form to print purchase order details which consists the following windows - logo window, header window, footer window and main window - write a driver program 2. Design SAP smartforms to print sales order details

INTERVIEW QUESTIONS:

FORMS 1. What are the differences between SAPSCRIPTS and SMARTFORMS 2. Explain the following SAPSCRIPT COMMANDSa. INCLUDE b. BITMAP c. DEFINE d. TOP-ENDTOP e. BOTTOM-ENDBOTTOM f. PROTECT-ENDPROTECT g. IF-ENDIF h. CASE-ENDCASE i. ADDRESS-ENDADDRESS 3. What are the uses of the following programsa. RSTXLMDC b. RSTXR3TR c. RSTXSCRP 4. How do you upload LOGO files 5. What are the different LOGO file formats supported by SAPscripts 6. What are client and language concepts in FORMS 7. What are standard texts 8. How do you maintain Smartforms in different languages?

USER EXITS / ENHANCEMENTS / BADI'S

DIFFERENT STAGES TO SOLVE REQUIREMENTS OR GAPS: (1) CONFIGURATION: This is generally done by functional consultants. If the requirement is not met with configuration then the customer goes customization

(2) CUSTOMIZATION / ABAP DEVELOPMENT:

This is generally done by technical consultants. Reports, data transfers, interfaces and forms come under customization. If the requirement is not met with customization then the customer goes enhancements

(3) ENHANCEMENTS:

This is also done by technical consultants. If the requirement is not met with enhancements then the customer goes changing sap standard

(4) CHANGING SAP STANDARD:

This is also done by technical consultants. This process is not recommended

USER EXITS
These are not termed as enhancements; however they are used to enhance SAP standard process These are available as include program in the form of sub routines. These include programs are then included as a part of the main program. One will need an access key to implement user exits, where as one does not need an access key to implement enhancements

ENHANCEMENTS: These are used when the requirement cannot be


fulfilled by forms, reports, interfaces or conversions. An enhancement is a container of one or more components of the following

(1)FUNCTION EXITS:

These are made available in the form of FUNCTION MODULES. All function exits begin with the word EXIT and most of the times followed the name of the main program hence one can find the function exits even with the help of SE37.

(2) SCREEN EXITS:

Screen exits can be used to sap standard transactions. These are made available in the form of sub screen areas. Every screen exit must and should have two exits PBO and PAI.

(3) MENU EXITS:

These are available in the form of function codes. With the introduction of area menu, use of menu exit has been diminishing. When you activate menu exit from the transaction code SMOD, one can see an additional menu option appearing along with the standard menu.

(4) CUSTOMER INCLUDES:

These are available in the form of include structures at dictionary level hence one can be used to enhance sap standard tables

ONE CAN IDENTIFY THE FUNCTION EXITS INSIDE THE PROGRAM IN THE FOLLOWING WAYS Go to the main. Do a global search for a string "CALL CUSTOMER". If search returns any results, it means that there are function exits available for the given transaction or program. In the program, the function exit appeared as CALL CUSTOMER FUNCTION '001'. Double click on each of these calls to go to the underline function exits. It takes you the transaction SE37. Study the

function module as you normally do for any other function module. Make a note of all such function module available in this program. Go to transaction SMOD and find the enhancement name with the help of the names of the function modules identified in the above step. With this u may enter identifying one or more enhancements. Each of these enhancements identified above implement the by double clicking on then exit name. at this stage, put break point to understand whether the enhancement can be used or not Activate the enhancement and test the enhancement by calling the respective transaction code While call the transaction code, if the break point is fired, it indicate that the enhancement is a part of the current program While you are in the debugger, debug the complete interface of the function module. This must be done to check if the variables or values required by us are made available by function module interface If the values are available then only we can confirm that this enhancement is right one If the enhancement is not supposed to be used, deactivate and delete the implementation

CMOD: This transaction has to be used along with transaction SMOD. You use SMOD to implement and test enhancements where as CMOD makes these enhancements TRANSPOTABLE. One must create project under transaction CMOD and add all active enhancements to it. CMOD

ZHNC

SMOD

ENH1 Function exits Menu exits Screen exits Customer includes

ENH2 Function exits Screen exits

ENH3 Function exits1 Function exits2 Function exits3

BADIS
1. Every BADI has got definition that is class definition and it has also got implementation that is class implementation. Every BADI/ Class which defined or implemented has one or methods. Every method has its own parameters, attributes and exceptions. One can compare method of a CLASS/BADI to any function module. 2. Parallel development is not possible in procedural enhancement that means two developers cannot work on the same enhancement together. Parallel development is possible in object oriented enhancement called BADIs (Business Add-Ins) that means two developers can work on the same enhancement together so BADIs can be used actively by any number of customers at the same time. 3. BADIs can be categorized as internal use and external use, internal use BADIs can be implemented only by SAP whereas external use BADIs can be implemented by user communities. If the system allows implementing a BADI, then it is external use. If the system does not allow implementing a BADI, then it is internal use BADIs 4. BADIs can be categorized as single use and multiple use, single use BADIs cannot be implemented parallels but only once whereas multiple use BADIs can be implemented parallels and more than once. One can find multiple use BADIs by looking at definition of the BADI 5. We use SE18 to view the definition of the BADI and SE19 to implement the BADI

IDENTIFYING BADI'S: 1. Find the main program of the corresponding transaction code 2. Get the package of the program by going to the attributes of it and copy the package name 3. Go to transaction code SE18 and do F4. Click on information system and provide the package name as the search criteria. This search may give result in one or more BADI's. 4. Using the same transaction code SE18, visit each of the above BADI's to understand whether it is multiple or single use BADI's and also understand the different methods under each of these BADI's. 5. Every method has a short description and sometimes long descriptions for your assistance. However one can conclude whether the BADI will work or not only when implementing the BADI's

IMPLEMENTING BADI'S: From transaction code SE18, we can use menu options to create BADI implementation. However SAP has also provided a separate transaction SE19 for implementing BADIs. All implementation should begin with Z or Y. Once the implementation is created, the system actually creates a copy of the class created by BADIs definition. Hence we will find that all the methods of definition are also copied in the implementation. Double click on the each of the methods that to wish to implement to meet to your requirements. When you double click on a method, the system actually creates an interface implementation of the class method. Inside the method, one can do the necessary coding however one has to make sure while coding BADIs, one must follow OOPS principles. Having done the coding, activate the BADI. Run the transaction to see whether the BADI is getting fired or not. While developer 1 is already implementing the BADI it is possible that another developer creates yet another implementation of the same BADI. There by creating yet another copy of the class / BADI definition. However the prerequisite to do this that the BADI should be Multiple use enable.

INTERVIEW QUESTIONS:

ENHANCEMENTS 1. Explain the enhancement concept 2. What are t-codes SMOD-to implement and activate to test the enhancement. CMOD-to create an enhancement project. SE18- BADI Reputation SE19-BADI Implementation 3. What are the different types of enhancements 4. How are enhancements different from user-exits 5. How are BADIs different from ENHANCEMENTS

NON-TECHNICAL CONCEPTS
1. 2. 3. 4. 5. 6. ASAP METHODOLOGY TYPES OF SAP PROJECTS SYSTEM LANDSCAPE TRANSPORT MANAGEMENT SYSTEM SAP TICKETS ON-LINE SERVICE SYSTEM

1. ASAP METHODOLOGY
ASAP stands for Accelerated SAP. ASAP is a software tool used for project management in SAP implementation, ASAP helps in guiding and making easy a SAP implementation project. Normally any SAP implementation involves various phases (1) PROJECT PREPARATION (PP) (2) BUSINESS BLUEPRINT (BP) (3) REALIZATION (RE) (4) FINAL PREPARATION & TESTING (FP) (5) GOLIVE & SUPPORT (GO-LIVE) (1) PROJECT PREPARATION In project preparation, high level meetings are conducted to analyze the project scope, schedule and budget. The project managers from both consulting company and Implementation Company must be a part of this phase. The outcome of this phase will be a very high level of timelines and budget allocation. In business blueprint, a lot of interviews are conducted by the functional and technical consultants with the client side users. They use ABAP questionnaires to conduct these interviews. In this phase, functional consultants and a couple of technical (ABAPERS) are required. This phase is important because all other phases are dependent to this one and all the requirements are gathered by analyzing the clients AS-IS business. During the interviews, one can also get to know what the TO-BE business is. Once the interviews are done, the consultants map the requirements to SAP system gaps are identified. The outcome of this phase is a gap analysis

(2) BUSINESS BLUEPRINT

report which is presented to the client side project management office. If required, the schedule and the budget can be adjusted. (3) REALIZATION In realization, all the configuration and development activities are carried out. One has to do some amount of unit testing during this phase. This is the longest phase in the ASAP methodology. In this phase a lot of functional and technical consultants are required to fill the gaps which are determined in the gap analysis report. All the data conversion programs are executed so that the data can be uploaded to the production system. Rigorous testing called integration testing is carried out during this phase. This phase involves participation of both the technical and functional consultants. The outcome of this phase is the transport of all the configuration and development from the QA box to production box This is the only moment when the very first transaction is conducted in the production system. In terms of post go-live and support, one has to fix production fires and if required carry out some new developments. Once this phase is over, the current contract is terminated and consultants are rolled off

(4) FINAL PREPARATION & TESTING

(5) GOLIVE & SUPPORT

JAN PP | BP

FEB BP | | RE

MARCH RE | RE

APRIL RE | RE

MAY RE | | FP

JUNE

FP | GO-LIVE

2. TYPES OF SAP PROJECTS


TYPES OF SAP PROJECTS 1)SAP In this type of projects, Customers are moving IMPLEMENTATION towards SAP software. Previously they might be PROJECTS used some other software. 2) SAP SUPPORT Once SAP project is implemented, it should be PROJECTS supported by the consultants in day-to-day business. In Support projects, the support team helps the customer in day-to-day business. 3) SAP is continuously upgrading the R/3 software. SAP MIGRATION Customers are moving from the older versions to OR new versions. When the customer decides to new UPGRADATION version, it is called SAP Migration Projects. Now-aPROJECTS days many customers are migrating from older versions to new versions like 4.5 or 4.6b, 4.6c to ECC 5.0 or ECC 6.0 versions. 4) In this type of projects, Customers are moving SAP ROLLOUT towards SAP software by plant by plant instead PROJECTS whole at a time.

3. SYSTEM LANDSCAPE
The system landscape contains all systems that were installed. The customer can choose any landscape according to the requirement. If the customers organization is very big, one can implement more than three system landscapes. Mid size customers can go for two system landscape. Three System Landscape: Development system Quality system Production system
Client 100 Client 140 Client 180 Client 010 Client 070 Client 040

Development system contains three clients


Client 100

100 can be used as configuration client.

Client 140

140 can be used for development.

Client 180

180 can be used for testing purpose in development system.

The Test system contains two clients


Client 010 Client 040

010 can be used for testing, 040 can be used for training purposes.

Production system contains one client where the end users will be working with real time data to support day-to-day business.
Client 070

Two system landscape: The development and test systems are combined into one system. One client can be used for development and another can be used for quality. In any landscape, production system will be installed on dedicated server. One system landscape is not recommended, where all three systems can be installed in a single Development & Quality system
Client 100 Client 140 Client 180 Client 070

Production system

4. TRANSPORT MANAGEMENT SYSTEM


CTS (CHANGE AND TRANSPORT SYSTEM): The CTS is the central tool for managing changes to customizing and repository data that we make in the IMG or ABAP workbench. a transport request can be either customizing request or ABAP workbench request. A customizing request can be created by the customizing tool IMG. An ABAP workbench request can be created by ABAP workbench tool. Any changes or objects we develop through ABAP workbench are stored in Repository tables of SAP database. As an ABAP developer you will be working with ABAP workbench and thus you create work bench requests. A functional consultant works with configuration tool IMG (SAP Implementation Guide) T-code SPRO, thus creating customizing requests. TRANSPORT ORGANIZER: Transport organizer is the tool provided by SAP which records and documents all changes to objects in the repository and customizing. The transaction code for transport organizer is SE10 or SE09. Transport organizer is fully integrated with ABAP workbench and customizing tool IMG. That means you can navigate in both directions from transport organizer to ABAP workbench and reverse also. DEVELOPMENT CLASS: Development classes are used to group similar work objects that are being developed in a project. While creating development class we must assign it to the transport layer. All the objects assigned to that development class can be transported according to the routes defined in the transport layer. Defining transport layer and routes is SAP BASIS administrator job. The transport layer defines transport route between the systems included in system landscape. The development classes are themselves objects in the ABAP workbench. CHANGE REQUEST: Information source in the transport organizer that records and manages all changes made to repository objects and customizing settings during a development project TASK: A task is assigned to a change request. It is the information carrier in the transport organizer for entering and managing all changes to repository objects and customizing settings performed by employees within a development project.

5. SAP TICKETS
SAP Tickets are nothing but problems or issues raised by the end customer in a company where end users are running SAP project. Once the SAP project is implemented, support phase begins. Support team is responsible for solving the tickets/issues in day-to-day business. For any support project, customer will set up Help Desk. If any problem occurs customer will call Help Desk and register the issue/Ticket. Different companies use different software products to manage SAP Tickets. Remember this software is not provided by SAP. It is third party software. There are many software products in the market like Manage Nowet c. You can call these software products as tools. All tools will provide the common attributes which are listed below1. Every user will be provided with user name and password to enter into the tool 2. You can see the tickets assigned for a particular user name. 3. You can list all open tickets by giving the Date Range 4. You can list all closed tickets by giving the Date Range 5. You can list out all the open tickets assigned for a User 6. You can list out all the closed tickets assigned for a User 7. You can see the description of the Ticket, by entering the Ticket Number. 8. You can see who had raised the Ticket, 9. You can see what is the problem? 10. You can see what is the severity of the Ticket? THE SEVERITY OF THE PROBLEM TICKET: When a Ticket is raised, it will be given severity as Severity 1, Severity 2, Severity 3 and Severity 4. It may vary from company to company. The severity will be decided based on the business critical impacts. If there is the most impact on the business it will be given 1 severity, if it is the least impact then it will be given 4. Severity 1 problem tickets should be solved in 8 hours. Severity 2 problem ticket should be solved in 16 hours. Severity 3 problem ticket should be solved in 15 working days. Severity 4 problem ticket should be solved in 30 working days. Again the number of days may vary from one company to another. All these things will be decided when giving the contract to the IT Company. The agreement is called as "SLA" (Service Level Agreement). The Customer imposes fine on IT Company if a particular ticket is not solved by the IT Company according to the SLA/Contract.

6. ON-LINE SERVICE SYSTEM (OSS)

In day-to-day business, customers who are using SAP software encounters problem or bugs with SAP software. To resolve the issues faced by customers, SAP has provided an on-line solution. Any software product is not 100% pool-proofs. SAP is continuously updating the versions for better performance and options. We can access SAP OSS on to www.service.sap.com. Under the SAP Support Portal, click on SAP notes search. We need user ID and password to enter into the OSS. It will be provided by the BASIS Team in the Project. When they create SAP User ID, they will create OSS notes ID also. You can also register individually in the site. After entering into SAP notes search, you can search for the problem using keyword appropriate for your problem. If you have specific OSS notes number with you, then you can directly enter the OSS notes number and you can see the Notes explanation. Before applying OSS notes number into your SAP system. You need to check whether it is already implemented in your SAP system or not. If it is not implemented you can go ahead. There are some OSS notes, which we should implement manually, that means we need to change the code in the programs/objects according to the steps mentioned in the problem. If the OSS notes displayed are not helpful to solve your problem. You can write to SAP Service describing your problem. You problem will be answered by SAP Support team.

Das könnte Ihnen auch gefallen