Does every ABAP/4 have a modular structure?
Yes.
What is Modularization and its benefits?
If the program contains the same or similar blocks of statements or it is required to process the same function several times, we can avoid redundancy by using modularization techniques. By modularizing the ABAP/4 programs we make them easy to read and improve their structure. Modularized programs are also easier to maintain and to update.
Name the ABAP/4 Modularization techniques.
· Source code module.
· Subroutines.
· Functions.
How can we create callable modules of program code within one ABAP/4 program?
· By defining Macros.
· By creating include programs in the library.
M is the attribute type of the module program.
Is it possible to pass data to and from include programs explicitly?
No. If it is required to pass data to and from modules it is required to use subroutines or function modules.
What are subroutines?
Subroutines are program modules, which can be called from other ABAP/4 programs or within the same program.
What are the types of Subroutines?
· Internal Subroutines: The source code of the internal subroutines will be in the same ABAP/4 program as the calling procedure (internal call).
· External Subroutines: The source code of the external subroutines will be in an ABAP/4 program other than the calling procedure.
It is not possible to create an ABAP/4 program, which contains only Subroutines (T/F).
False.
A subroutine can contain nested form and endform blocks. (T/F)
False.
Data can be passed between calling programs and the subroutines using Parameters.
What are the different types of parameters?
Formal Parameters: Parameters, which are defined during the definition of subroutine with the FORM statement.
Actual Parameters: Parameters which are specified during the call of a subroutine with the PERFORM statement.
How can one distinguish between different kinds of parameters?
· Input parameters are used to pass data to subroutines.
· Output parameters are used to pass data from subroutines.
What are the different methods of passing data?
· Calling by reference: During a subroutine call, only the address of the actual parameter is transferred to the formal parameters. The formal parameter has no memory of its own, and we work with the field of the calling program within the subroutine. If we change the formal parameter, the field contents in the calling program also changes.
· Calling by value: During a subroutine call, the formal parameters are created as copies of the actual parameters. The formal parameters have memory of their own. Changes to the formal parameters have no effect on the actual parameters.
· Calling by value and result: During a subroutine call, the formal parameters are created as copies of the actual parameters. The formal parameters have their own memory space. Changes to the formal parameters are copied to the actual parameters at the end of the subroutine.
The method by which internal tables are passed is By Reference.
How can an internal table with Header line and one without header line be distinguished when passed to a subroutine?
Itab [] is used in the form and endform if the internal table is passed with a header line.
What should be declared explicitly in the corresponding ABAP/4 Statements to access internal tables without header lines & why?
Work Area. This is required as the Work Area is the interface for transferring data to and from the table.
A subroutine can be terminated unconditionally using EXIT. (T/F)
True.
A subroutine can be terminated upon a condition using CHECK Statement.
Function Modules are also external Subroutines. (T/F).
True.
What is the difference between the function module and a normal ABAP/4 subroutine?
In contrast to normal subroutines function modules have uniquely defined interface. Declaring data as common parts is not possible for function modules. Function modules are stored in a central library.
What is a function group?
A function group is a collection of logically related modules that share global data with each other. All the modules in the group are included in the same main program. When an ABAP/4 program contains a CALL FUNCTION statement, the system loads the entire function group in with the program code at runtime. Every function module belongs to a function group.
What is the disadvantage of a call by reference?
During a call by reference damage or loss of data is not restricted to the subroutine, but will instantly lead to changes to the original data objects.
A function module can be called from a transaction screen outside an ABAP/4 program. (T/F).
True.
What is an update task?
It is an SAP provided procedure for updating a database.
What happens if a function module runs in an update task?
The system performs the module processing asynchronously. Instead of carrying out the call immediately, the system waits until the next database update is triggered with the ‘COMMIT WORK’ command.
The function modules are created and stored in the Function Library.
When a function module is activated syntax checking is performed automatically. (Y/N)
True.
What is the use of the RAISING exception?
The raising exception determines whether the calling program will handle the exception itself or leave the exception to the system.
What is the difference between internal tables and extract datasets?
· The lines of an internal table always have the same structure. By using extract datasets, you can handle groups of data with different structure and get statistical figures from the grouped data.
· You have to define the structure of the internal table at the beginning. You need not define the structure of the extract dataset.
· In contrast to internal tables, the system partly compresses exact datasets when storing them. This reduces the storage space required.
· Internal tables require special work area for interface whereas extract datasets do not need a special work area for interface.
It is possible to assign a local data object defined in a subroutine or function module to a field group. (T/F).
False.
What is the difference between field-group header and other field groups?
The header field group is a special field group for the sort criteria. The system automatically prefixes any other field groups with the header field group.
Can a filed occur in several field groups.
Yes. But it leads to unnecessary data redundancy.
When sorting the extract dataset the fields used as default sort key lie in the Header field group.
What does the insert statement in extract datasets do?
It defines the fields of a field group.
What does the extract statement do in extract datasets?
The data is written to virtual memory by extract commands.
A field-groups statement or an insert statement reverses storage space and transfers values. (T/F).
False.
While using extract datasets it is required to have a special workarea for interface (T/F)
False.
The LOOP-ENDLOOP on extract datasets can be used without any kind of errors (T/F)
False. It causes runtime errors.
The Maximum no of key fields that can be used in a header is 50.
While sorting field groups we cannot use more than one key field (T/F).
False.
While sorting, if the main storage available is not enough, the system writes data to an external help file. The SAP profile parameter, which determines this help file, is DIR_SORTTMP.
The extract statements in field groups can be used before or after processing the sort statements. (T/F)
FALSE.
Saturday
ABAP Modularization
ABAP Modularization
ABAP Programs are modular in structure and made up of different processing blocks.
Processing Blocks divided into two parts:
- Called from outside a program by the ABAP runtime system. (Modularization in Source
Code)
o Macros
o Include programs
- Called by ABAP statements in ABAP programs.
o Subroutines
o Functional Modules
o Methods
Source Code Modularization:
In source code modularization you place a sequence of ABAP statements in a module. Then instead of placing all statements in your main program you just call the module. It helps to avoid repeating the same statements. They are not used to modularize tasks or functions. Procedures used for this purpose.
ABAP contains two types of source code modules :
1. MACROS
2. INCLUDES
1. MACROS :
Through Macro you can reuse same set of statements more then once in a program. Macros can be useful in for long calculations or complex WRITE statements. You can use Macros within a program in which it is defined, and it can only be called in lines of program following its definition.
Syntax
Define.
Statements …
End-of-Definition .
Statement can contain up to nine place holders (&1, &2,&3…..&9).
Macros do not belong to the definition part of the program. This means that the DEFINE...ENDOF-DEFINITION block is not interpreted before the processing blocks in the program. At the same time, however, macros are not operational statements that are executed within a processing block at runtime. When the program is generated, macro definitions are not taken into account at the point at which they are defined.
2. INCLUDES
Include programs are global R/3 objects and are solely for modularizing source code and have no parameter interface.
Include programs have two functions:
- Library
Include program allows you to use same source code in different programs.
- Order
Include program allows you to manage complex program in an orderly way. Function Groups and Module Pools use include program to store parts of the program that belongs together. Special include is the TOP include of a program.
Include Programs can not call themselves.
Include Program must contain complete statements.
ABAP Programs are modular in structure and made up of different processing blocks.
Processing Blocks divided into two parts:
- Called from outside a program by the ABAP runtime system. (Modularization in Source
Code)
o Macros
o Include programs
- Called by ABAP statements in ABAP programs.
o Subroutines
o Functional Modules
o Methods
Source Code Modularization:
In source code modularization you place a sequence of ABAP statements in a module. Then instead of placing all statements in your main program you just call the module. It helps to avoid repeating the same statements. They are not used to modularize tasks or functions. Procedures used for this purpose.
ABAP contains two types of source code modules :
1. MACROS
2. INCLUDES
1. MACROS :
Through Macro you can reuse same set of statements more then once in a program. Macros can be useful in for long calculations or complex WRITE statements. You can use Macros within a program in which it is defined, and it can only be called in lines of program following its definition.
Syntax
Define
Statements …
End-of-Definition .
Statement can contain up to nine place holders (&1, &2,&3…..&9).
Macros do not belong to the definition part of the program. This means that the DEFINE...ENDOF-DEFINITION block is not interpreted before the processing blocks in the program. At the same time, however, macros are not operational statements that are executed within a processing block at runtime. When the program is generated, macro definitions are not taken into account at the point at which they are defined.
2. INCLUDES
Include programs are global R/3 objects and are solely for modularizing source code and have no parameter interface.
Include programs have two functions:
- Library
Include program allows you to use same source code in different programs.
- Order
Include program allows you to manage complex program in an orderly way. Function Groups and Module Pools use include program to store parts of the program that belongs together. Special include is the TOP include of a program.
Include Programs can not call themselves.
Include Program must contain complete statements.
Sunday
DATA DICTIONARY Interview Questions
DATA DICTIONARY
1. What are the layers of data descriptions in R/3?
The external layer
The ABAP/4 layer
The database layer
2. Define external layer.
The external layer is the plane at which the user sees and interacts With the data, that is, the data format in the user interface. This data Format is independent of the database system used.
3. Define ABAP/4 layer?
The ABAP/4 layer describes the data formats used by the ABAP/4 processor.
4. Define Database layer?
The database layer describes the data formats used in the database.
5. What is a Data Class?
The Data class determines in which table space the table is stored when it is created in the database.
6. What is a Size Category?
The Size category describes the probable space requirement of the table in the database.
7. How Many types of size categories and data classes are there?
There are five size categories (0-4) and 11 data classes, only three of which are appropriate for application tables:
APPL0 - Master data (data frequently accessed but rarely updated)
APPL1 - Transaction data (data that is changed frequently)
APPL2 - Organizational data (customizing data that is entered when system is Configured and then rarely changed)
The other two types are:
USR
USR1 - Intended for customers own developments
8. What are control tables?
The values specified for the size category and data class are mapped to database-specific values via control tables.
9. What is the function of the transport system and workbench organizer?
The function of the transport system and the Workbench Organizer is to manage any changes made to objects of the ABAP/4 Development Workbench and to transport these changes between different SAP systems.
10. What is a table pool?
A table pool (or pool) is used to combine several logical tables in the
ABAP/4 Dictionary. The definition of a pool consists of at least two keys
Fields and a long argument field (VARDATA).
11. What are pooled tables?
These are logical tables which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as Screen sequences or program parameters).
12. What is a table cluster?
A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database.
13. How can we access the correction and transport system?
Each time you create a new object or change an existing object in the ABAP/4 Dictionary, you branch automatically to the Workbench Organizer or correction and transport system.
14. Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Match code objects, Match code IDs,Lock objects.
15. How is conversion of data types done between ABAP/4 & DB layer?
Conversion between ABAP/4 data types and the database layer is done within the database interface.
16. How is conversion of data types done between ABAP/4 & external level?
Conversion between the external layer and the ABAP/4 layer is done in the SAP dialog manager DYNP.
17. What are the Data types of the external layer?
ACCP, CHAR, CLNT, CUKY, CURR, DATS, DEC, FLTP, INT1, INT2, INT4, LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW, TIMS, UNIT, VARC.
18. What are the Data types of the ABAP/4 layer?
Possible ABAP/4 data types:
C: Character.
D: Date, format YYYYMMDD.
F: Floating-point number in DOUBLE PRECISION (8 bytes).
I: Integer.
N: Numerical character string of arbitrary length.
P: Amount or counter field (packed; implementation depends on hardware platform).
S: Time stamp YYYYMMDDHHMMSS.
T: Time of day HHMMSS.
V: Character string of variable length, length is given in the first two bytes.
X: Hexadecimal (binary) storage.
19. How can we set the tablespaces and extent sizes ?
You can specify the extent sizes and the tablespace (physical storage area in the database) in which a transparent table is to be stored by setting the size category and data class.
20. What is the function of the correction system?
The correction system manages changes to internal system components,
such as objects of the ABAP/4 Dictionary.
21. What are local objects?
Local objects (Dev class $TMP) are independent of correction and transport system.
22. What is a Development class?
Related objects from the ABAP/4 repository are assigned to the same development class.This enables you to correct and transport related objects as a unit.
23. What is a data dictionary ?
Data dictionary is a central source of data in a data management system. Its main function is to support the creation and management of data definitions. It has details about
What data is contained ?
What are the attributes of the data ?
What is the relationship existing between the various data elements ?
23. What functions does a data dictionary perform ?
In a data management system, the principal functions performed by the data dictionary are
- Management of data definitions
- Provision of information for evaluation
- Support for software development
- Support form documentation
- Ensuring that the data definitions are flexible and up-to-date.
24. What are the features of ABAP/4 Dictionary ?
The most important features are :
- Integrated to ABAP/4 Development Workbench
- Active in the runtime environment
25. What are the uses of the information in the Data dictionary ?
The following information is directly taken from the Data dictionary :
- Information on fields displayed with F1 help
- Possible entries for fields displayed with F4 help
- Matchcode and help views search utitlities.
26.What are the basic objects of the data dictionary ?
- Tables
- Domains
- Data elements
- Structures
- Foreign keys
27. What are the aggregate objects in the data dictionary?
- Views
- Matchcodes
- Lock objects
28.In the ABAP/4 Dictionary Tables can be defined independent of the underlying database (T/F)
True
29. ABAP/4 Dictionary contains the Logical _ (Logical/Physical) definition of the table.
30. A field containing currency amounts (data type CURR) must be assigned to a reference table and a reference field. Explain.
• As a reference table, a system table containing all the valid currencies is assigned or any other table which contains a field with the currency key format. This field is called as reference field. The assignment of the field containing currency amounts to the reference field is made at runtime. The value in the reference field determines the currency of the amount.
31. A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference field. Explain.
• As a reference table, a system table containing all the valid quantity units is assigned or any other table which contains a field with the format for quantity units (data type UNIT). This field is called as reference field. The assignment of the field containing quantity amounts to the reference field is made at runtime. The value in the reference field determines the quantity unit of the amount.
32. What is the significance of Technical settings (specified while creating a table in the data dictionary) ?
By specifying technical settings we can control how database tables are created in the database. The technical settings allows us to
- optimize storage space requiremnets
- table access behaviour
- buffering required
- changes to entries logged
33.What is a Table attribute ?
The table attributes determine who is responsible for maintaining a table and which types of access are allowed for the table. The most important table attributes are:
a. Delivery class
b. Table maintenance allowed
c. Activation type.
34. What is the significance of Delivery Class ?
The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance
• whether SAP provides the table with or without contents.
• determines the table type.
• determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed.
35. What is the maximum number of structures that can be included in a table or structure
- Nine.
36. What are the two methods of modifying Sap standard tables ?
- Append Structures and
- Customizing Includes.
39. What is the difference between a Substructure and an Append Structure ?
In case of a substructure, the reference originates in the table itself, in the forma of a statement .include... .
In case of an append structure, the table itself remains unchanged and the refrence originates in the append structure.
40. To how many tables can an append structure be assigned ?
One.
41. If a table that is to be extended contains a long field, we cannot use append structures. Why?
Long fields in a table must always be located in the end, as the last field of the table. If a table has an append structure the append line must also be on the last field of the table.
42.Can we include customizing include or an append structure with Pooled or Cluster tables ?
No.
43. What are the two ways for restricting the value range for a domain ?
• By specifying fixed values.
• By stipulating a value table.
44. Structures can contain data only during the run time of a program (T/F)
- True.
45. What are the aggregate objects in the Dictionary?
- Views
- Match Code
- Lock object
46.What are base tables of an aggregate object?
The tables making up an aggregate object (primary and secondary) are called aggregate object.
47.The data of a view is not physically stored, but derived from one or more tables. (T/F).
-True.
48. What are the 2 other types of Views, which are not allowed in Release 3.0?
- Structure Views
- Entity Views.
49. What is a Match Code?
Match Code is a tool to help us to search for data records in the system. Match codes are an efficient and user-friendly search aid where key of a record is unknown.
50. What are the two levels in defining a Match Code?
- Match Code object
- Match Code Id.
51. What is the maximum number of match code Id's that can be defined for one Match code object ?
A match code Id is a one character ID that can be a letter or a number.
52. Can we define our own Match Code ID's for SAP Matchcodes ?
Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a SAP defined Matchcode object.
53. What is an Update type with reference to a Match code ID?
If the data in one of the base tables of a matchcode ID changes, the matchcode data has to be updated. The update type stipulates when the matchcode is to be updated and how it is to be done. The update type also specifies which method is to be used for Building matchcodes . You must specify the update type when you define a matchcode ID.
54. Can matchcode object contain IDs with different update types ?
- Yes.
55. What are the update types possible ?
The following update types are possible:
Update type A: The matchcode data is updated asynchronously to database changes.
Update type S: The matchcode data is updated synchronously to database changes.
Update type P: The matchcode data is updated by the application program.
Update type I: Access to the matchcode data is managed using a database view.
Update type K: Access to the matchcode is achieved by calling a function module.
56. What are the two different ways of building a match code object ?
A match code can be built in two different ways :
• Logical structure : The matchcode data is set up temporarily at the moment when the match code is accessed. (Update type I, K)
• Physical structure : The match code data is physically stored in a seperate table in the database. (Update type A, S, P)
57. What are the differences between a Database index and a match code ?
• Match Code can contain fields from severeal tables whereas an index can contain fields from only one table.
• Match code objects can be built on transparent tables and pooled and cluster tables.
58. What is the function of a Domain?
• A domian describes the technical settings of a table field.
• A domain defines a value range, which sets the permissible data values for the fields, which refers to this domain.
• A single domain can be used as basis for any number of fields that are identical in structure.
59. Can you delete a domain which is being used by data elements ?
- No.
60. What are conversion routines ?
Non standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines.
61. What is the function of a data element ?
A data element describes the role played by a domain in a technical context. A data element contains semantic information.
62. Can a domain, assigned to a data element be changed ?
Yes. We can do so by just overwriting the entry in the field domain).
63. Can you delete data element which is being used by table fields .
No.
64. Can you define a field without a data element ?
Yes. If you want to specify no data element and therefore no domain for a field, you can enter data type and field length and a ashort text directly in the table maintenance.
65. What are null values ?
If the value of a field in a table is undefined or unknown, it is called a null value.
66. What is the difference between a structure and a table ?
Structures are constructed the almost the same way as tables, the only difference using that no database table is generated from them.
67. What is a View ?
A view is a logical view on one or more tables. A view on one or more tables i.e, the data from a view is not actually physically stored instead being derived from one or more tables.
68. How many types of Views are there ?
- Database View
- Help View
- Projection View
- Maintenance View
69. What is Locking ?
When two users simultaneously attempt to access the same data record, this is synchronised by a lock mechanism.
70. What is database utility ?
Database utility is the interface betweenn the ABAP/4 Dictionary and the underlying the SAP system.
71. What are the basic fucntions of Database utility ?
The basic functions of database utility are :
- Create database objects
- Delete database objects
- Adjust database objects to changed ABAP/4 dictionary definition.
72. What is Repository Info. Systems ?
It is a tool with which you can make data stored in the ABAP/4 Dictionary available.
1. What are the layers of data descriptions in R/3?
The external layer
The ABAP/4 layer
The database layer
2. Define external layer.
The external layer is the plane at which the user sees and interacts With the data, that is, the data format in the user interface. This data Format is independent of the database system used.
3. Define ABAP/4 layer?
The ABAP/4 layer describes the data formats used by the ABAP/4 processor.
4. Define Database layer?
The database layer describes the data formats used in the database.
5. What is a Data Class?
The Data class determines in which table space the table is stored when it is created in the database.
6. What is a Size Category?
The Size category describes the probable space requirement of the table in the database.
7. How Many types of size categories and data classes are there?
There are five size categories (0-4) and 11 data classes, only three of which are appropriate for application tables:
APPL0 - Master data (data frequently accessed but rarely updated)
APPL1 - Transaction data (data that is changed frequently)
APPL2 - Organizational data (customizing data that is entered when system is Configured and then rarely changed)
The other two types are:
USR
USR1 - Intended for customers own developments
8. What are control tables?
The values specified for the size category and data class are mapped to database-specific values via control tables.
9. What is the function of the transport system and workbench organizer?
The function of the transport system and the Workbench Organizer is to manage any changes made to objects of the ABAP/4 Development Workbench and to transport these changes between different SAP systems.
10. What is a table pool?
A table pool (or pool) is used to combine several logical tables in the
ABAP/4 Dictionary. The definition of a pool consists of at least two keys
Fields and a long argument field (VARDATA).
11. What are pooled tables?
These are logical tables which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as Screen sequences or program parameters).
12. What is a table cluster?
A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database.
13. How can we access the correction and transport system?
Each time you create a new object or change an existing object in the ABAP/4 Dictionary, you branch automatically to the Workbench Organizer or correction and transport system.
14. Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Match code objects, Match code IDs,Lock objects.
15. How is conversion of data types done between ABAP/4 & DB layer?
Conversion between ABAP/4 data types and the database layer is done within the database interface.
16. How is conversion of data types done between ABAP/4 & external level?
Conversion between the external layer and the ABAP/4 layer is done in the SAP dialog manager DYNP.
17. What are the Data types of the external layer?
ACCP, CHAR, CLNT, CUKY, CURR, DATS, DEC, FLTP, INT1, INT2, INT4, LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW, TIMS, UNIT, VARC.
18. What are the Data types of the ABAP/4 layer?
Possible ABAP/4 data types:
C: Character.
D: Date, format YYYYMMDD.
F: Floating-point number in DOUBLE PRECISION (8 bytes).
I: Integer.
N: Numerical character string of arbitrary length.
P: Amount or counter field (packed; implementation depends on hardware platform).
S: Time stamp YYYYMMDDHHMMSS.
T: Time of day HHMMSS.
V: Character string of variable length, length is given in the first two bytes.
X: Hexadecimal (binary) storage.
19. How can we set the tablespaces and extent sizes ?
You can specify the extent sizes and the tablespace (physical storage area in the database) in which a transparent table is to be stored by setting the size category and data class.
20. What is the function of the correction system?
The correction system manages changes to internal system components,
such as objects of the ABAP/4 Dictionary.
21. What are local objects?
Local objects (Dev class $TMP) are independent of correction and transport system.
22. What is a Development class?
Related objects from the ABAP/4 repository are assigned to the same development class.This enables you to correct and transport related objects as a unit.
23. What is a data dictionary ?
Data dictionary is a central source of data in a data management system. Its main function is to support the creation and management of data definitions. It has details about
What data is contained ?
What are the attributes of the data ?
What is the relationship existing between the various data elements ?
23. What functions does a data dictionary perform ?
In a data management system, the principal functions performed by the data dictionary are
- Management of data definitions
- Provision of information for evaluation
- Support for software development
- Support form documentation
- Ensuring that the data definitions are flexible and up-to-date.
24. What are the features of ABAP/4 Dictionary ?
The most important features are :
- Integrated to ABAP/4 Development Workbench
- Active in the runtime environment
25. What are the uses of the information in the Data dictionary ?
The following information is directly taken from the Data dictionary :
- Information on fields displayed with F1 help
- Possible entries for fields displayed with F4 help
- Matchcode and help views search utitlities.
26.What are the basic objects of the data dictionary ?
- Tables
- Domains
- Data elements
- Structures
- Foreign keys
27. What are the aggregate objects in the data dictionary?
- Views
- Matchcodes
- Lock objects
28.In the ABAP/4 Dictionary Tables can be defined independent of the underlying database (T/F)
True
29. ABAP/4 Dictionary contains the Logical _ (Logical/Physical) definition of the table.
30. A field containing currency amounts (data type CURR) must be assigned to a reference table and a reference field. Explain.
• As a reference table, a system table containing all the valid currencies is assigned or any other table which contains a field with the currency key format. This field is called as reference field. The assignment of the field containing currency amounts to the reference field is made at runtime. The value in the reference field determines the currency of the amount.
31. A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference field. Explain.
• As a reference table, a system table containing all the valid quantity units is assigned or any other table which contains a field with the format for quantity units (data type UNIT). This field is called as reference field. The assignment of the field containing quantity amounts to the reference field is made at runtime. The value in the reference field determines the quantity unit of the amount.
32. What is the significance of Technical settings (specified while creating a table in the data dictionary) ?
By specifying technical settings we can control how database tables are created in the database. The technical settings allows us to
- optimize storage space requiremnets
- table access behaviour
- buffering required
- changes to entries logged
33.What is a Table attribute ?
The table attributes determine who is responsible for maintaining a table and which types of access are allowed for the table. The most important table attributes are:
a. Delivery class
b. Table maintenance allowed
c. Activation type.
34. What is the significance of Delivery Class ?
The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance
• whether SAP provides the table with or without contents.
• determines the table type.
• determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed.
35. What is the maximum number of structures that can be included in a table or structure
- Nine.
36. What are the two methods of modifying Sap standard tables ?
- Append Structures and
- Customizing Includes.
39. What is the difference between a Substructure and an Append Structure ?
In case of a substructure, the reference originates in the table itself, in the forma of a statement .include... .
In case of an append structure, the table itself remains unchanged and the refrence originates in the append structure.
40. To how many tables can an append structure be assigned ?
One.
41. If a table that is to be extended contains a long field, we cannot use append structures. Why?
Long fields in a table must always be located in the end, as the last field of the table. If a table has an append structure the append line must also be on the last field of the table.
42.Can we include customizing include or an append structure with Pooled or Cluster tables ?
No.
43. What are the two ways for restricting the value range for a domain ?
• By specifying fixed values.
• By stipulating a value table.
44. Structures can contain data only during the run time of a program (T/F)
- True.
45. What are the aggregate objects in the Dictionary?
- Views
- Match Code
- Lock object
46.What are base tables of an aggregate object?
The tables making up an aggregate object (primary and secondary) are called aggregate object.
47.The data of a view is not physically stored, but derived from one or more tables. (T/F).
-True.
48. What are the 2 other types of Views, which are not allowed in Release 3.0?
- Structure Views
- Entity Views.
49. What is a Match Code?
Match Code is a tool to help us to search for data records in the system. Match codes are an efficient and user-friendly search aid where key of a record is unknown.
50. What are the two levels in defining a Match Code?
- Match Code object
- Match Code Id.
51. What is the maximum number of match code Id's that can be defined for one Match code object ?
A match code Id is a one character ID that can be a letter or a number.
52. Can we define our own Match Code ID's for SAP Matchcodes ?
Yes, the numbers 0 to 9 are reserved for us to create our own Match Code IDs for a SAP defined Matchcode object.
53. What is an Update type with reference to a Match code ID?
If the data in one of the base tables of a matchcode ID changes, the matchcode data has to be updated. The update type stipulates when the matchcode is to be updated and how it is to be done. The update type also specifies which method is to be used for Building matchcodes . You must specify the update type when you define a matchcode ID.
54. Can matchcode object contain IDs with different update types ?
- Yes.
55. What are the update types possible ?
The following update types are possible:
Update type A: The matchcode data is updated asynchronously to database changes.
Update type S: The matchcode data is updated synchronously to database changes.
Update type P: The matchcode data is updated by the application program.
Update type I: Access to the matchcode data is managed using a database view.
Update type K: Access to the matchcode is achieved by calling a function module.
56. What are the two different ways of building a match code object ?
A match code can be built in two different ways :
• Logical structure : The matchcode data is set up temporarily at the moment when the match code is accessed. (Update type I, K)
• Physical structure : The match code data is physically stored in a seperate table in the database. (Update type A, S, P)
57. What are the differences between a Database index and a match code ?
• Match Code can contain fields from severeal tables whereas an index can contain fields from only one table.
• Match code objects can be built on transparent tables and pooled and cluster tables.
58. What is the function of a Domain?
• A domian describes the technical settings of a table field.
• A domain defines a value range, which sets the permissible data values for the fields, which refers to this domain.
• A single domain can be used as basis for any number of fields that are identical in structure.
59. Can you delete a domain which is being used by data elements ?
- No.
60. What are conversion routines ?
Non standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines.
61. What is the function of a data element ?
A data element describes the role played by a domain in a technical context. A data element contains semantic information.
62. Can a domain, assigned to a data element be changed ?
Yes. We can do so by just overwriting the entry in the field domain).
63. Can you delete data element which is being used by table fields .
No.
64. Can you define a field without a data element ?
Yes. If you want to specify no data element and therefore no domain for a field, you can enter data type and field length and a ashort text directly in the table maintenance.
65. What are null values ?
If the value of a field in a table is undefined or unknown, it is called a null value.
66. What is the difference between a structure and a table ?
Structures are constructed the almost the same way as tables, the only difference using that no database table is generated from them.
67. What is a View ?
A view is a logical view on one or more tables. A view on one or more tables i.e, the data from a view is not actually physically stored instead being derived from one or more tables.
68. How many types of Views are there ?
- Database View
- Help View
- Projection View
- Maintenance View
69. What is Locking ?
When two users simultaneously attempt to access the same data record, this is synchronised by a lock mechanism.
70. What is database utility ?
Database utility is the interface betweenn the ABAP/4 Dictionary and the underlying the SAP system.
71. What are the basic fucntions of Database utility ?
The basic functions of database utility are :
- Create database objects
- Delete database objects
- Adjust database objects to changed ABAP/4 dictionary definition.
72. What is Repository Info. Systems ?
It is a tool with which you can make data stored in the ABAP/4 Dictionary available.
Thursday
ABAP Interview Questions Part I
1. If a table does not have MANDT as part of the primary key, it is ____.A: A structure
B: Invalid
C:Client-independent
D: Not mandatory
2. In regard to CALL, which of the following is NOT a valid statement?A: CALL FUNCTION
B: CALL SCREEN
C: CALL TRANSACTION
D: CALL PROGRAM
3. Name the type of ABAP Dictionary table that has these characteristics:
Same number of fields as the database table
Same name as database table
Maps 1:1 to database table
A: Pooled
B: Cluster
C: Transparent
D: View
4. An event starts with an event keyword and ends with:
A: Program execution.
B: END-OF-EVENT.
C: Another event keyword.
D: END-EVENT.
5. What is the system field for the current date?A: SY-DATUM
B: SY-DATE
C: SY-DATID
D: SY-SDATE
6. The following code indicates:
SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
WHERE fld1 IN sfld1.
A: Add rows to the existing rows of itab.
B: Add rows to itab after first deleting any existing rows of itab.
C: Select rows from tab1 for matching itab entries.
D: Nothing, this is a syntax error.
7. You may change the following data object as shown below so that it equals 3.14.
CONSTANTS: PI type P decimals 2 value ‘3.1′.
PI = ‘3.14′.
A: True
B: False
8. The SAP service that ensures data integrity by handling locking is called:
A: Update
B: Dialog
C: Enqueue/Dequeue
D: Spool
9. Which of these sentences most accurately describes the GET VBAK LATE. event?
A: This event is processed before the second time the GET VBAK event is processed.
B: This event is processed after all occurrences of the GET VBAK event are completed.
C: This event will only be processed after the user has selected a basic list row.
D: This event is only processed if no records are selected from table VBAK.
10. Which of the following is not a true statement in regard to a hashed internal table type?
A: Its key must always be UNIQUE.
B: May only be accessed by its key.
C: Response time for accessing a row depends on the number of entries in the table.
D: Declared using internal table type HASHED TABLE.
11. TO include database-specific SQL statements within an ABAP program, code them between:
A: NATIVE SQL_ENDNATIVE.
B: DB SQL_ENDDB.
C: SELECT_ENDSELECT.
D: EXEC SQL_ENDEXEC.
12. To measure how long a block of code runs, use the ABAP statement:
A: GET TIME .
B: SET TIME FIELD .
C: GET RUN TIME FIELD .
D: SET CURSOR FIELD .
13. When a secondary list is being processed, the data of the basic list is available by default.
A: True
B: False
14. Given:
DATA: BEGIN OF itab OCCURS 10,
qty type I,
END OF itab.
DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
LOOP AT itab WHERE qty > 10.
WRITE: /1 itab-qty.
ENDLOOP.
This will result in:
A: Output of only those itab rows with a qty field less than 10
B: Output of the first 10 itab rows with a qty field greater than 10
C: A syntax error
D: None of the above
15. After a DESCRIBE TABLE statement SY-TFILL will contain
A: The number of rows in the internal table.
B: The current OCCURS value.
C: Zero, if the table contains one or more rows.
D: The length of the internal table row structure.
16. You may declare your own internal table type using the TYPES keyword.
A: True
B: False
17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
A: True
B: False
18. Which of the following is not a component of control break processing when looping at an internal table?
A: AT START OF
B: AT FIRST
C: AT LAST
D: AT NEW
19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
A: True
B: False
20. Which of the following would be best for hiding further selection criteria until a function is chosen?
A: AT NEW SELECTION-SCREEN
B: SELECTION-SCREEN AT LINE-SELECTION
C: SUBMIT SELECTION-SCREEN
D: CALL SELECTION-SCREEN
21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?
A: ON INPUT
B: CHAIN
C: FIELD
D: ON REQUEST
22. The AT USER-COMMAND event is triggered by functions defined in the ____.
A: screen painter
B: ABAP report
C: menu painter status
D: ABAP Dictionary
23. In regard to a function group, which of the following is NOT a true statement?
A: Combines similar function modules.
B: Shares global data with all its function modules.
C: Exists within the ABAP workbench as an include program.
D: Shares subroutines with all its function modules.
24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
A: EXCLUDING
B: IMMEDIATELY
C: WITHOUT
D: HIDE
25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?
A: Fields in PBO are transported directly from PAI.
B: Fields with identical names are transported to the ABAP side.
C: Fields not defined in FIELD statements are transported first.
D: Fields that are defined in FIELD statements are transported when their corresponding module is called.
26. The order in which an event appears in the ABAP code determines when the event is processed.
A: True
B: False
27. A field declared as type T has the following internal representation:
A: SSMMHH
B: HHMMSS
C: MMHHSS
D: HHSSMM
28. Which of the following is NOT a component of the default standard ABAP report header?
A: Date and Time
B: List title
C: Page number
D: Underline
29. Assuming a pushbutton with function code ‘FUNC’ is available in the toolbar of a list report, what event is processed when the button is clicked?
A: AT USER-COMMAND.
B: AT PFn.
C: AT SELECTION-SCREEN.
D: END-OF-SELECTION.
30. In regard to field selection, what option of the SELECT statement is required?
A: FOR ALL ENTRIES
B: WHERE
C: INTO
D: MOVE-CORRESPONDING
31. The following program outputs what?
report zjgtest1
write: /1 ‘Ready_’.
PARAMETER: test.
INITIALIZATION.
write: /1 ‘Set_’.
START-OF-SELECTION.
write: /1 ‘GO!!’.
A: Set_ GO!! (each on its own line)
B: Set_ Ready_ GO!! (all on their own lines)
C: Ready_ GO!! (each on its own line)
D: Ready_ Set_ GO!! (all on their own lines)
32. To declare a selection criterion that does not appear on the selection screen, use:
A: NO-DISPLAY
B: INVISIBLE
C: MODIF ID
D: OBLIGATORY
33. An internal table that is nested within another internal table should not contain a header line.
A: True
B: False
34. What is output by the following code?
DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
itab-letter = ‘A’. APPEND itab. itab-letter = ‘B’. APPEND itab.
itab-letter = ‘C’. APPEND itab. itab-letter = ‘D’. APPEND itab.
LOOP AT itab.
SY-TABIX = 2.
WRITE itab-letter.
EXIT.
ENDLOOP.
A: A
B: A B C D
C: B
D: B C D
35. To select all database entries for a certain WHERE clause into an internal table in one step, use
A: SELECT_INTO TABLE itab_
B: SELECT_INTO itab_
C: SELECT_APPENDING itab
D: SELECT_itab_
36. After a successful SELECT statement, what does SY-SUBRC equal?
A: 0
B: 4
C: 8
D: Null
37. This selection screen syntax forces the user to input a value:
A: REQUIRED-ENTRY
B: OBLIGATORY
C: DEFAULT
D: SELECTION-SCREEN EXCLUDE
38. If the following code results in a syntax error, the remedy is:
DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
WITH HEADER LINE.
itab-field1 = ‘Company’. itab-field2 = ‘1234′. INSERT TABLE itab.
itab-field1 = ‘Bank’. itab-field2 = ‘ABC’. INSERT TABLE itab.
SORT itab.
LOOP AT itab.
write: /1 itab-field1, itab-field2.
ENDLOOP.
A: There is no syntax error here
B: Remove the SORT statement
C: Change INSERT to APPEND
D: Add a WHERE clause to the loop
39. If this code results in an error, the remedy is:
SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
WRITE: /1 tab1-fld1, tab1-fld2.
ENDSELECT.
A: Add a SY-SUBRC check.
B: Change the WHERE clause to use fld1 or fld2.
C: Remove the /1 from the WRITE statement.
D: Add INTO (tab1-fld1, tab1-fld2).
40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
A: True
B: False
41. To allow the user to enter values on the screen for a list field, use:
A: OPEN LINE.
B: SET CURSOR FIELD.
C: WRITE fld AS INPUT FIELD.
D: FORMAT INPUT ON.
42. Before a function module may be tested, it must first be:
A: Linked
B: Authorized
C: Released
D: Active
43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program
44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.
A: MIN
B: ORDER BY
C: DISTINCT
D: DELETE
45. The system internal table used for dynamic screen modification is named:
A: ITAB
B: SCREEN
C: MODTAB
D: SMOD
46. Within the source code of a function module, errors are handled via the keyword:
A: EXCEPTION
B: RAISE
C: STOP
D: ABEND
47. Which system field contains the contents of a selected line?
A: SY-CUCOL
B: SY-LILLI
C: SY-CUROW
D: SY-LISEL
48. The following statement writes what type of data object?
WRITE: /1 ‘Total Amount:’.
A: Text literal
B: Text variable
C: In-code comment
D: Text integer
49. For the code below, second_field is of what data type?
DATA: first_field type P, second_field like first_field.
A: P
B: C
C: N
D: D
50. Which of the following describes the internal representation of a type D data object?
A: DDMMYYYY
B: YYYYDDMM
C: MMDDYYYY
D: YYYYMMDD
51. A BDC program is used for all of the following except:
A: Downloading data to a local file
B: Data interfaces between SAP and external systems
C: Initial data transfer
D: Entering a large amount of data
52. In regard to PERFORM, which of the following is NOT a true statement?
A: May be used within a subroutine.
B: Requires actual parameters.
C: Recursive calls are allowed in ABAP.
D: Can call a subroutine in another program.
53. What is the transaction code for the ABAP Editor?
A: SE11
B: SE38
C: SE36
D: SE16
54. In regard to HIDE, which of the following is NOT a true statement?
A: Saves the contents of variables in relation to a list line’s row number.
B: The hidden variables must be output on a list line.
C: The HIDE area is retrieved when using the READ LINE statement.
D: The HIDE area is retrieved when an interactive event is triggered.
55. Database locks are sufficient in a multi-user environment.
A: True
B: False
56. The complete technical definition of a table field is determined by the field’s:
A: Domain
B: Field name
C: Data type
D: Data element
57. In regard to LEAVE, which of the following is NOT a true statement?
A: May be used to return immediately to a calling program.
B: May be used to stop the current loop pass and get the next.
C: May be used to start a new transaction.
D: May be used to go to the next screen.
58. The following code indicates:
SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
WHERE fld3 = pfld3.
A: The order of the fields in itab does not matter.
B: Fill the header line of itab, but not the body.
C: Table itab can only contain fields also in table tab1.
D: None of the above.
59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:
CHECK NOT itab[] IS INITIAL.
A: Contains no rows
B: Contains at least one row
C: Has a header line
D: Has an empty header line
60. What will be output by the following code?
DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
itab-fval = 1. APPEND itab.
itab-fval = 2. APPEND itab.
FREE itab.
WRITE: /1 itab-fval.
A: 2
B: 0
C: blank
D: 1
61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
A: DATA.
B: RANGES.
C: PARAMETERS.
D: SELECT-OPTIONS.
62. If an internal table is declared without a header line, what else must you declare to work with the table’s rows?
A: Another internal table with a header line.
B: A work area with the same structure as the internal table.
C: An internal table type using the TYPES statement.
D: A PARAMETER.
63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?
DELETE itab FROM 1500 TO 1700.
A: This is a syntax error.
B: 1801
C: 1800
D: 1799
64. To remove lines from a database table, use ____.
A: UPDATE
B: MODIFY
C: ERASE
D: DELETE
65. All of the following may be performed using SET CURSOR except:
A: Move the cursor to a specific field on a list.
B: Move the cursor to a specific list line.
C: Move the cursor to a specific pushbutton, activating that function.
D: Move the cursor to a specific row and column on a list.
66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
A: The actual parameter is type C.
B: The formal parameter contains a default value.
C: The formal parameter’s \”Reference\” attribute is turned on.
D: It is never optional.
67. Coding two INITIALIZATION events will cause a syntax error.A: True
B: False
68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.
A: True
B: False
69. To save information on a list line for use after the line is selected, use this keyword.
A: APPEND
B: EXPORT
C: WRITE
D: HIDE
70. To bypass automatic field input checks, include this in PAI.A: AT EXIT-COMMAND
B: ON INPUT
C: ON REQUEST
D: LEAVE TO SCREEN 0.
71. Within a function module’s source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:
A: SY-MSGTY
B: SY-MSGNO
C: SY-MSGV1
D: SY-MSGWA
72. The following code indicates:
REPORT ZLISTTST.
START-OF-SELECTION.
WRITE: text-001.
FORMAT HOTSPOT ON.
WRITE: text-002.
FORMAT HOTSPOT OFF.
AT LINE-SELECTION.
WRITE / text-003.
A: Text-002 may not be selected.
B: The value of text-002 is stored in a special memory area.
C: Text-002 may be clicked once to trigger the output of text-003.
D: None of the above.
73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.
A: Database view
B: Projection view
C: Help view
D: Entity view
74. A concrete field is associated with a field-symbol via ABAP keyword
A: MOVE
B: WRITE
C: ASSIGN
D: VALUE
75. The output for the following code will be:
report zabaprg.
DATA: char_field type C.
char_field = ‘ABAP data’.
WRITE char_field.
A: ABAP data
B: A
C: Nothing, there is a syntax error
D: None of the above
76. Page footers are coded in the event:
A: TOP-OF-PAGE.
B: END-OF-SELECTION.
C: NEW-PAGE.
D: END-OF-PAGE.
77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.A: True
B: False
78. The TABLES statement declares a data object.
A: True
B: False
79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
WHERE fld7 = pfld7.
WRITE: /1 fld4, fld5, fld6.
ENDSELECT.
A: Take fld7 out of the WHERE clause.
B: Create an index in the ABAP Dictionary for tab1-fld7.
C: Use INTO TABLE instead of just INTO.
D: Take the WRITE statement out of the SELECT_ENDSELECT.
80. Which of the following is NOT a required attribute when creating an ABAP program?A: Application
B: Title
C: Status
D: Type
81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?
A: Adding technical settings to the table
B: Checking the table syntax
C: Saving the table
D: Activating the table
82. Within the ABAP program attributes, Type = 1 represents:A: INCLUDE program
B: Online program
C: Module pool
D: Function group
E: Subroutine pool
83. If this code results in an error, the remedy is:
SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
A: Remove the spaces from SUM( fld1 ).
B: Move SUM( fld1 ) before fld1.
C: Add GROUP BY f1.
D: Change to SUM( DISTINCT f1 ).
84. Which keyword adds rows to an internal table while accumulating numeric values?A: INSERT
B: APPEND
C: COLLECT
D: GROUP
85. Assuming itab has a header line, what will be output by the following code?
READ TABLE itab INDEX 3 TRANSPORTING field1.
WRITE: /1 itab-field1, itab-field2.
A: The contents of the third row’s itab-field1.
B: The contents of the third row’s itab-field1 and itab-field2.
C: The contents of the third row’s itab-field2.
D: Nothing.
86. The following code indicates:
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: myparam(10) type C,
Myparam2(10) type N,
SELECTION-SCREEN END OF BLOCK.
A: Draw a box around myparam and myparam2 on the selection screen.
B: Allow myparam and myparam2 to be ready for input during an error dialog.
C: Do not display myparam and myparam2 on the selection screen.
D: Display myparam and myparam2 only if both fields have default values.
87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?
FRUIT QTY PRICE
Apples 12 22.50
Apples 9 18.25
Oranges 15 17.35
Bananas 20 10.20
Bananas 15 6.89
Bananas 5 2.75
A: SORT itab DESCENDING BY QTY PRICE.
B: SORT itab BY PRICE FRUIT.
C: SORT itab.
D: SORT itab BY PRICE DESCENDING.
88. Which keyword adds a line anywhere within an internal table?A: APPEND
B: MODIFY
C: ADD
D: INSERT
89. To read a single line of an internal table, use the following:A: LOOP AT itab. _ ENDLOOP.
B: READ itab.
C: SELECT SINGLE * FROM itab.
D: READ TABLE itab.
90. Which Open SQL statement should not be used with cluster databases?A: UPDATE
B: MODIFY
C: DELETE
D: INSERT
91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program
92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
A: GROUP
B: FIELD-GROUP
C: CHAIN
D: LOOP AT SCREEN
93. Given:
PERFORM subroutine USING var.
The var field is known as what type of parameter?
A: Formal
B: Actual
C: Static
D: Value
B: Invalid
C:Client-independent
D: Not mandatory
2. In regard to CALL, which of the following is NOT a valid statement?A: CALL FUNCTION
B: CALL SCREEN
C: CALL TRANSACTION
D: CALL PROGRAM
3. Name the type of ABAP Dictionary table that has these characteristics:
Same number of fields as the database table
Same name as database table
Maps 1:1 to database table
A: Pooled
B: Cluster
C: Transparent
D: View
4. An event starts with an event keyword and ends with:
A: Program execution.
B: END-OF-EVENT.
C: Another event keyword.
D: END-EVENT.
5. What is the system field for the current date?A: SY-DATUM
B: SY-DATE
C: SY-DATID
D: SY-SDATE
6. The following code indicates:
SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
WHERE fld1 IN sfld1.
A: Add rows to the existing rows of itab.
B: Add rows to itab after first deleting any existing rows of itab.
C: Select rows from tab1 for matching itab entries.
D: Nothing, this is a syntax error.
7. You may change the following data object as shown below so that it equals 3.14.
CONSTANTS: PI type P decimals 2 value ‘3.1′.
PI = ‘3.14′.
A: True
B: False
8. The SAP service that ensures data integrity by handling locking is called:
A: Update
B: Dialog
C: Enqueue/Dequeue
D: Spool
9. Which of these sentences most accurately describes the GET VBAK LATE. event?
A: This event is processed before the second time the GET VBAK event is processed.
B: This event is processed after all occurrences of the GET VBAK event are completed.
C: This event will only be processed after the user has selected a basic list row.
D: This event is only processed if no records are selected from table VBAK.
10. Which of the following is not a true statement in regard to a hashed internal table type?
A: Its key must always be UNIQUE.
B: May only be accessed by its key.
C: Response time for accessing a row depends on the number of entries in the table.
D: Declared using internal table type HASHED TABLE.
11. TO include database-specific SQL statements within an ABAP program, code them between:
A: NATIVE SQL_ENDNATIVE.
B: DB SQL_ENDDB.
C: SELECT_ENDSELECT.
D: EXEC SQL_ENDEXEC.
12. To measure how long a block of code runs, use the ABAP statement:
A: GET TIME .
B: SET TIME FIELD .
C: GET RUN TIME FIELD .
D: SET CURSOR FIELD .
13. When a secondary list is being processed, the data of the basic list is available by default.
A: True
B: False
14. Given:
DATA: BEGIN OF itab OCCURS 10,
qty type I,
END OF itab.
DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
LOOP AT itab WHERE qty > 10.
WRITE: /1 itab-qty.
ENDLOOP.
This will result in:
A: Output of only those itab rows with a qty field less than 10
B: Output of the first 10 itab rows with a qty field greater than 10
C: A syntax error
D: None of the above
15. After a DESCRIBE TABLE statement SY-TFILL will contain
A: The number of rows in the internal table.
B: The current OCCURS value.
C: Zero, if the table contains one or more rows.
D: The length of the internal table row structure.
16. You may declare your own internal table type using the TYPES keyword.
A: True
B: False
17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
A: True
B: False
18. Which of the following is not a component of control break processing when looping at an internal table?
A: AT START OF
B: AT FIRST
C: AT LAST
D: AT NEW
19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
A: True
B: False
20. Which of the following would be best for hiding further selection criteria until a function is chosen?
A: AT NEW SELECTION-SCREEN
B: SELECTION-SCREEN AT LINE-SELECTION
C: SUBMIT SELECTION-SCREEN
D: CALL SELECTION-SCREEN
21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?
A: ON INPUT
B: CHAIN
C: FIELD
D: ON REQUEST
22. The AT USER-COMMAND event is triggered by functions defined in the ____.
A: screen painter
B: ABAP report
C: menu painter status
D: ABAP Dictionary
23. In regard to a function group, which of the following is NOT a true statement?
A: Combines similar function modules.
B: Shares global data with all its function modules.
C: Exists within the ABAP workbench as an include program.
D: Shares subroutines with all its function modules.
24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
A: EXCLUDING
B: IMMEDIATELY
C: WITHOUT
D: HIDE
25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?
A: Fields in PBO are transported directly from PAI.
B: Fields with identical names are transported to the ABAP side.
C: Fields not defined in FIELD statements are transported first.
D: Fields that are defined in FIELD statements are transported when their corresponding module is called.
26. The order in which an event appears in the ABAP code determines when the event is processed.
A: True
B: False
27. A field declared as type T has the following internal representation:
A: SSMMHH
B: HHMMSS
C: MMHHSS
D: HHSSMM
28. Which of the following is NOT a component of the default standard ABAP report header?
A: Date and Time
B: List title
C: Page number
D: Underline
29. Assuming a pushbutton with function code ‘FUNC’ is available in the toolbar of a list report, what event is processed when the button is clicked?
A: AT USER-COMMAND.
B: AT PFn.
C: AT SELECTION-SCREEN.
D: END-OF-SELECTION.
30. In regard to field selection, what option of the SELECT statement is required?
A: FOR ALL ENTRIES
B: WHERE
C: INTO
D: MOVE-CORRESPONDING
31. The following program outputs what?
report zjgtest1
write: /1 ‘Ready_’.
PARAMETER: test.
INITIALIZATION.
write: /1 ‘Set_’.
START-OF-SELECTION.
write: /1 ‘GO!!’.
A: Set_ GO!! (each on its own line)
B: Set_ Ready_ GO!! (all on their own lines)
C: Ready_ GO!! (each on its own line)
D: Ready_ Set_ GO!! (all on their own lines)
32. To declare a selection criterion that does not appear on the selection screen, use:
A: NO-DISPLAY
B: INVISIBLE
C: MODIF ID
D: OBLIGATORY
33. An internal table that is nested within another internal table should not contain a header line.
A: True
B: False
34. What is output by the following code?
DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
itab-letter = ‘A’. APPEND itab. itab-letter = ‘B’. APPEND itab.
itab-letter = ‘C’. APPEND itab. itab-letter = ‘D’. APPEND itab.
LOOP AT itab.
SY-TABIX = 2.
WRITE itab-letter.
EXIT.
ENDLOOP.
A: A
B: A B C D
C: B
D: B C D
35. To select all database entries for a certain WHERE clause into an internal table in one step, use
A: SELECT_INTO TABLE itab_
B: SELECT_INTO itab_
C: SELECT_APPENDING itab
D: SELECT_itab_
36. After a successful SELECT statement, what does SY-SUBRC equal?
A: 0
B: 4
C: 8
D: Null
37. This selection screen syntax forces the user to input a value:
A: REQUIRED-ENTRY
B: OBLIGATORY
C: DEFAULT
D: SELECTION-SCREEN EXCLUDE
38. If the following code results in a syntax error, the remedy is:
DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
WITH HEADER LINE.
itab-field1 = ‘Company’. itab-field2 = ‘1234′. INSERT TABLE itab.
itab-field1 = ‘Bank’. itab-field2 = ‘ABC’. INSERT TABLE itab.
SORT itab.
LOOP AT itab.
write: /1 itab-field1, itab-field2.
ENDLOOP.
A: There is no syntax error here
B: Remove the SORT statement
C: Change INSERT to APPEND
D: Add a WHERE clause to the loop
39. If this code results in an error, the remedy is:
SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
WRITE: /1 tab1-fld1, tab1-fld2.
ENDSELECT.
A: Add a SY-SUBRC check.
B: Change the WHERE clause to use fld1 or fld2.
C: Remove the /1 from the WRITE statement.
D: Add INTO (tab1-fld1, tab1-fld2).
40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
A: True
B: False
41. To allow the user to enter values on the screen for a list field, use:
A: OPEN LINE.
B: SET CURSOR FIELD.
C: WRITE fld AS INPUT FIELD.
D: FORMAT INPUT ON.
42. Before a function module may be tested, it must first be:
A: Linked
B: Authorized
C: Released
D: Active
43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program
44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.
A: MIN
B: ORDER BY
C: DISTINCT
D: DELETE
45. The system internal table used for dynamic screen modification is named:
A: ITAB
B: SCREEN
C: MODTAB
D: SMOD
46. Within the source code of a function module, errors are handled via the keyword:
A: EXCEPTION
B: RAISE
C: STOP
D: ABEND
47. Which system field contains the contents of a selected line?
A: SY-CUCOL
B: SY-LILLI
C: SY-CUROW
D: SY-LISEL
48. The following statement writes what type of data object?
WRITE: /1 ‘Total Amount:’.
A: Text literal
B: Text variable
C: In-code comment
D: Text integer
49. For the code below, second_field is of what data type?
DATA: first_field type P, second_field like first_field.
A: P
B: C
C: N
D: D
50. Which of the following describes the internal representation of a type D data object?
A: DDMMYYYY
B: YYYYDDMM
C: MMDDYYYY
D: YYYYMMDD
51. A BDC program is used for all of the following except:
A: Downloading data to a local file
B: Data interfaces between SAP and external systems
C: Initial data transfer
D: Entering a large amount of data
52. In regard to PERFORM, which of the following is NOT a true statement?
A: May be used within a subroutine.
B: Requires actual parameters.
C: Recursive calls are allowed in ABAP.
D: Can call a subroutine in another program.
53. What is the transaction code for the ABAP Editor?
A: SE11
B: SE38
C: SE36
D: SE16
54. In regard to HIDE, which of the following is NOT a true statement?
A: Saves the contents of variables in relation to a list line’s row number.
B: The hidden variables must be output on a list line.
C: The HIDE area is retrieved when using the READ LINE statement.
D: The HIDE area is retrieved when an interactive event is triggered.
55. Database locks are sufficient in a multi-user environment.
A: True
B: False
56. The complete technical definition of a table field is determined by the field’s:
A: Domain
B: Field name
C: Data type
D: Data element
57. In regard to LEAVE, which of the following is NOT a true statement?
A: May be used to return immediately to a calling program.
B: May be used to stop the current loop pass and get the next.
C: May be used to start a new transaction.
D: May be used to go to the next screen.
58. The following code indicates:
SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
WHERE fld3 = pfld3.
A: The order of the fields in itab does not matter.
B: Fill the header line of itab, but not the body.
C: Table itab can only contain fields also in table tab1.
D: None of the above.
59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:
CHECK NOT itab[] IS INITIAL.
A: Contains no rows
B: Contains at least one row
C: Has a header line
D: Has an empty header line
60. What will be output by the following code?
DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
itab-fval = 1. APPEND itab.
itab-fval = 2. APPEND itab.
FREE itab.
WRITE: /1 itab-fval.
A: 2
B: 0
C: blank
D: 1
61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
A: DATA.
B: RANGES.
C: PARAMETERS.
D: SELECT-OPTIONS.
62. If an internal table is declared without a header line, what else must you declare to work with the table’s rows?
A: Another internal table with a header line.
B: A work area with the same structure as the internal table.
C: An internal table type using the TYPES statement.
D: A PARAMETER.
63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?
DELETE itab FROM 1500 TO 1700.
A: This is a syntax error.
B: 1801
C: 1800
D: 1799
64. To remove lines from a database table, use ____.
A: UPDATE
B: MODIFY
C: ERASE
D: DELETE
65. All of the following may be performed using SET CURSOR except:
A: Move the cursor to a specific field on a list.
B: Move the cursor to a specific list line.
C: Move the cursor to a specific pushbutton, activating that function.
D: Move the cursor to a specific row and column on a list.
66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
A: The actual parameter is type C.
B: The formal parameter contains a default value.
C: The formal parameter’s \”Reference\” attribute is turned on.
D: It is never optional.
67. Coding two INITIALIZATION events will cause a syntax error.A: True
B: False
68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.
A: True
B: False
69. To save information on a list line for use after the line is selected, use this keyword.
A: APPEND
B: EXPORT
C: WRITE
D: HIDE
70. To bypass automatic field input checks, include this in PAI.A: AT EXIT-COMMAND
B: ON INPUT
C: ON REQUEST
D: LEAVE TO SCREEN 0.
71. Within a function module’s source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:
A: SY-MSGTY
B: SY-MSGNO
C: SY-MSGV1
D: SY-MSGWA
72. The following code indicates:
REPORT ZLISTTST.
START-OF-SELECTION.
WRITE: text-001.
FORMAT HOTSPOT ON.
WRITE: text-002.
FORMAT HOTSPOT OFF.
AT LINE-SELECTION.
WRITE / text-003.
A: Text-002 may not be selected.
B: The value of text-002 is stored in a special memory area.
C: Text-002 may be clicked once to trigger the output of text-003.
D: None of the above.
73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.
A: Database view
B: Projection view
C: Help view
D: Entity view
74. A concrete field is associated with a field-symbol via ABAP keyword
A: MOVE
B: WRITE
C: ASSIGN
D: VALUE
75. The output for the following code will be:
report zabaprg.
DATA: char_field type C.
char_field = ‘ABAP data’.
WRITE char_field.
A: ABAP data
B: A
C: Nothing, there is a syntax error
D: None of the above
76. Page footers are coded in the event:
A: TOP-OF-PAGE.
B: END-OF-SELECTION.
C: NEW-PAGE.
D: END-OF-PAGE.
77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.A: True
B: False
78. The TABLES statement declares a data object.
A: True
B: False
79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
WHERE fld7 = pfld7.
WRITE: /1 fld4, fld5, fld6.
ENDSELECT.
A: Take fld7 out of the WHERE clause.
B: Create an index in the ABAP Dictionary for tab1-fld7.
C: Use INTO TABLE instead of just INTO.
D: Take the WRITE statement out of the SELECT_ENDSELECT.
80. Which of the following is NOT a required attribute when creating an ABAP program?A: Application
B: Title
C: Status
D: Type
81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?
A: Adding technical settings to the table
B: Checking the table syntax
C: Saving the table
D: Activating the table
82. Within the ABAP program attributes, Type = 1 represents:A: INCLUDE program
B: Online program
C: Module pool
D: Function group
E: Subroutine pool
83. If this code results in an error, the remedy is:
SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
A: Remove the spaces from SUM( fld1 ).
B: Move SUM( fld1 ) before fld1.
C: Add GROUP BY f1.
D: Change to SUM( DISTINCT f1 ).
84. Which keyword adds rows to an internal table while accumulating numeric values?A: INSERT
B: APPEND
C: COLLECT
D: GROUP
85. Assuming itab has a header line, what will be output by the following code?
READ TABLE itab INDEX 3 TRANSPORTING field1.
WRITE: /1 itab-field1, itab-field2.
A: The contents of the third row’s itab-field1.
B: The contents of the third row’s itab-field1 and itab-field2.
C: The contents of the third row’s itab-field2.
D: Nothing.
86. The following code indicates:
SELECTION-SCREEN BEGIN OF BLOCK B1.
PARAMETERS: myparam(10) type C,
Myparam2(10) type N,
SELECTION-SCREEN END OF BLOCK.
A: Draw a box around myparam and myparam2 on the selection screen.
B: Allow myparam and myparam2 to be ready for input during an error dialog.
C: Do not display myparam and myparam2 on the selection screen.
D: Display myparam and myparam2 only if both fields have default values.
87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?
FRUIT QTY PRICE
Apples 12 22.50
Apples 9 18.25
Oranges 15 17.35
Bananas 20 10.20
Bananas 15 6.89
Bananas 5 2.75
A: SORT itab DESCENDING BY QTY PRICE.
B: SORT itab BY PRICE FRUIT.
C: SORT itab.
D: SORT itab BY PRICE DESCENDING.
88. Which keyword adds a line anywhere within an internal table?A: APPEND
B: MODIFY
C: ADD
D: INSERT
89. To read a single line of an internal table, use the following:A: LOOP AT itab. _ ENDLOOP.
B: READ itab.
C: SELECT SINGLE * FROM itab.
D: READ TABLE itab.
90. Which Open SQL statement should not be used with cluster databases?A: UPDATE
B: MODIFY
C: DELETE
D: INSERT
91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
A: PBO module include program
B: TOP include program
C: PAI module include program
D: Subroutine include program
92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
A: GROUP
B: FIELD-GROUP
C: CHAIN
D: LOOP AT SCREEN
93. Given:
PERFORM subroutine USING var.
The var field is known as what type of parameter?
A: Formal
B: Actual
C: Static
D: Value
ABAP Data Dictionary
ABAP Data Dictionary centrally describes and manages all the data definations used in the system. The ABAP dictionary is completly integrated in the ABAP workbench. All the other components of the workbench can actively access the definations stored in the ABAP dictionary.
ABAP Dictionary stores :
1. Tables
2. Views
3. Types
4. Domains
5. Search Helps
6. Lock Objects
In the development environment or projects objects of the ABAP dictionary can be changed any number of times before activated and made available to the operative components of the system. Objects can have both active and nonn active version in the ABAP dictionary at the same time.
Inactive ABAP Dictionary objects have no effect on the runtime system. The objects can only be activated together when they have all been changed.
Transaction Codes for ABAP Dictionary.
SE11 - Data Dictionary
ABAP Dictionary stores :
1. Tables
2. Views
3. Types
4. Domains
5. Search Helps
6. Lock Objects
In the development environment or projects objects of the ABAP dictionary can be changed any number of times before activated and made available to the operative components of the system. Objects can have both active and nonn active version in the ABAP dictionary at the same time.
Inactive ABAP Dictionary objects have no effect on the runtime system. The objects can only be activated together when they have all been changed.
Transaction Codes for ABAP Dictionary.
SE11 - Data Dictionary
Sunday
ABAP System Fields
ABAP System Fields.
ABCDE Constant: Alphabet (A,B,C,...)
APPLI SAP applications
BATCH Background active (X)
IF SY-BATCH EQ SPACE.
WRITE: / 'Report was started on-line'.
WRITE: / 'Using variant:', SY-SLSET.
ELSE.
WRITE: / 'Report was started in background'.
ENDIF.
BATZDBackground SUBMIT: Daily
BATZMBackground SUBMIT: Monthly
BATZOBackground SUBMIT: Once
BATZSBackground SUBMIT: Immediately
BATZW Background SUBMIT: Weekly
BINPTBatch input active (X)
This field indicates if the transaction was called in a Batch Input session or by an online user. To test it, a batch input session must be created. From Release 3.1g the next procedure can be used.
o Create a report which displays this system field
o Create a Transaction code for this report
o Use transaction SHDB to record a the previous transaction
o Press the Overview button and choose the 'generate program' function.
o Running the previously generated program it will create a Batch Input
session
o Now call transaction SM35 and process the created Batch Input in
foreground. It should display an 'X' for system field SY-BINPT.
BREP4Background SUBMIT: Root name of request report
BSPLDBackground SUBMIT: List output to spool
CALLDCALL mode active (X)
This field indicates if the transaction was called from another transaction.
o Create a report which displays this system field
o Create a Transaction code for this report
o Create a new report containing the next ABAP command: CALL TRANSACTION tcode. Where tcode is the Transaction code you created. When you run this report, it should display an 'X' for system field SY-CALLD.
CALLR Print: ID for print dialog function
CCURS Rate specification/result field (CURRENCY CONVERT)
CCURTTable rate from currency conversion
CDATEDate of rate from currency conversion
COLNOCurrent column during list creation
WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'.
CPAGECurrent page number
WRITE: / 'SY-CPAGE:', SY-CPAGE LEFT-JUSTIFIED.
CPROG
Runtime: Main program
WRITE: /5 'Main program:' RIGHT-JUSTIFIED, 40 SY-CPROG.
CTABLExchange rate table from currency conversion
CTYPE
Exchange rate type 'M','B','G' from CURRENCY CONVERSION
CUCOLCursor position (column)
WRITE: / 'SY-CUCOL:', SY-CUCOL LEFT-JUSTIFIED.
CUROWCursor position (line)
WRITE: / 'SY-CUROW:', SY-CUROW LEFT-JUSTIFIED.
DATARFlag: Data received
In transaction programming this field indicates the change of data on the screen. In the PBO part you may set default values of the input fields of the dynpro. In the PAI part you can check if they were changed. If SY-DATAR is set, then the user has modified or entered new data on the screen.
DATLOLocal date for user
DATUMSystem: Date
DATUTGlobal date related to UTC (GMT)
DAYSTSummertime active ? ('daylight saving time')
DBCNT Number of elements in edited dataset with DB operations
WRITE: /12 'Number of selected records:', SY-DBCNT CENTERED.
DBNAMLogical database for ABAP/4 program
DBSYS System: Database system
DCSYS System: Dialog system
DSNAMRuntime: Name of dataset for spool output
DYNGRScreen group of current screen
DYNNRNumber of current screen
FDAYWFactory calendar weekday
FDPOSLocation of a string
SEARCH T FOR 're'.
READ TABLE T INDEX SY-TABIX.
WRITE: / SY-TABIX, T-FIELD.
SKIP.
WRITE: /9 'At the example of sy-tabix, Row', (3) SY-TABIX, ',' ,
'keyword ''re'' found at off-set position:', (3) SY-FDPOS.
FMKEY Current function code menu
HOST Host
INDEX
Number of loop passes
DO 5 TIMES.
WRITE: SY-INDEX.
ENDDO.
LANGUSAP logon language key
LDBPGProgram: ABAP/4 database program for SY-DBNAM
LILLI Number of current list line
AT LINE-SELECTION.
DETAIL.
* SY-LSIND is the index of the current list
WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED.
* SY-LISTI is the index of the previous list
WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED.
* SY-LILLI is the number of the selected line in the absolute list
WRITE: / 'SY-LILLI:', SY-LILLI LEFT-JUSTIFIED.
LINCT Number of list lines
WRITE: / SY-LINCT, 'line and', (3) SY-LINSZ, 'column is a page'.
LINNOCurrent line for list creation
WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'.
LINSZ Line size of list
WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'.
LISELInteract.: Selected line
* contents of the selected line
WRITE: / 'SY-LISEL:', SY-LISEL.
LISTINumber of current list line
* SY-LISTI is the index of the previous list
WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED.
LOCDB Local database exists
LOCOPLocal database operation
LOOPCNumber of LOOP lines at screen step loop
LSINDNumber of secondary list
* SY-LSIND is the index of the current list
WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED.
LSTATInteract.: Status information for each list level
MACDBProgram: Name of file for matchcode access
MACOLNumber of columns from SET MARGIN
MANDTClient number from SAP logon
MARKYCurrent line character for MARK
MAROWNo. of lines from SET MARGIN statement
MODNO Number of alternative modi
MSGIDMessage ID
MSGLI Interact.: Message line (line 23)
MSGNOMessage number
MSGTYMessage type (E,I.W,...)
MSGV1Message variable
MSGV2Message variable
MSGV3Message variable
MSGV4Message variable
OPSYSSystem: Operating system
PAARTPrint: Format
PAGCTPage size of list from REPORT statement
PAGNORuntime: Current page in list
PDESTPrint: Output device
PEXPIPrint: Spool retention period
PFKEYRuntime: Current F key status
PLISTPrint: Name of spool request (list name)
PRABTPrint: Department on cover sheet
PRBIGPrint: Selection cover sheet
PRCOPPrint: Number of copies
PRDSNPrint: Name of spool dataset
PREFXABAP/4 prefix for background jobs
PRIMMPrint: Print immediately
PRNEWPrint: New spool request (list)
PRRECPrint: Recipient
PRRELPrint: Delete after printing
PRTXTPrint: Text for cover sheet
REPIDProgram: Name of ABAP/4 program
RTITLPrint: Report title of program to be printed
SAPRLSystem: SAP Release
SCOLSColumns on screen
SLSETName of selection set
SPONORuntime: Spool number for list output
SPONRRuntime: Spool number from TRANSFER statement
SROWSLines on screen
STACOInteract.: List displayed from column
STAROInteract.: Page displayed from line
STEPLNumber of LOOP line at screen step
SUBRCReturn value after specific ABAP/4 statements
SUBTYABAP/4: Call type for SUBMIT
SYSIDSystem: SAP System ID
TABIXRuntime: Current line of an internal table
SEARCH T FOR 're'.
READ TABLE T INDEX SY-TABIX.
TCODESession: Current transaction code
TFDSNRuntime: Dataset for data extracts
TFILLCurrent number of entries in internal table
TIMLOLocal time for user
TIMUTGlobal time related to UTC (GMT)
TITLETitle of ABAP/4 program
TLENGLine width of an internal table
TMAXLMaximum number of entries in internal table (?)
TNAMEName of internal table after an access (?)
TOCCUOCCURS parameter with internal tables
TPAGIFlag indicating roll-out of internal table to paging area (?)
TSTLOTimestamp (date and time) for user
TSTUTTimestamp (date and time) related to UTC (GMT)
TTABCNumber of line last read in an internal table (?)
TTABIOffset of internal table in roll area (?)
TVAR0Runtime: Text variable for ABAP/4 text elements
TVAR1Runtime: Text variable for ABAP/4 text elements
TVAR2 Runtime: Text variable for ABAP/4 text elements
TVAR3Runtime: Text variable for ABAP/4 text elements
TVAR4Runtime: Text variable for ABAP/4 text elements
TVAR5Runtime: Text variable for ABAP/4 text elements
TVAR6Runtime: Text variable for ABAP/4 text elements
TVAR7Runtime: Text variable for ABAP/4 text elements
TVAR8Runtime: Text variable for ABAP/4 text elements
TVAR9Runtime: Text variable for ABAP/4 text elements
TZONETime difference from 'Greenwich Mean Time' (UTC) in seconds
UCOMMInteract.: Command field function entry
ULINEConstant: Underline (---------...)
UNAMESession: SAP user from SAP logon
UZEITSystem: Time
VLINEConstant: Vertical bar
WAERST001: Company code currency after reading B segment
WILLINumber of current window line
WINCOCursor position in window (column)
WINDIIndex of current window line
WINROCursor position in window (line)
WINSLInteract.: Selected window line
WINX1Window coordinate (column left)
WINX2Window coordinate (column right)
WINY1Window coordinate (line left)
WINY2Window coordinate (line right)
WTITLStandard page header indicator
XCODEExtended command field
ZONLOTime zone of user
ABCDE Constant: Alphabet (A,B,C,...)
APPLI SAP applications
BATCH Background active (X)
IF SY-BATCH EQ SPACE.
WRITE: / 'Report was started on-line'.
WRITE: / 'Using variant:', SY-SLSET.
ELSE.
WRITE: / 'Report was started in background'.
ENDIF.
BATZDBackground SUBMIT: Daily
BATZMBackground SUBMIT: Monthly
BATZOBackground SUBMIT: Once
BATZSBackground SUBMIT: Immediately
BATZW Background SUBMIT: Weekly
BINPTBatch input active (X)
This field indicates if the transaction was called in a Batch Input session or by an online user. To test it, a batch input session must be created. From Release 3.1g the next procedure can be used.
o Create a report which displays this system field
o Create a Transaction code for this report
o Use transaction SHDB to record a the previous transaction
o Press the Overview button and choose the 'generate program' function.
o Running the previously generated program it will create a Batch Input
session
o Now call transaction SM35 and process the created Batch Input in
foreground. It should display an 'X' for system field SY-BINPT.
BREP4Background SUBMIT: Root name of request report
BSPLDBackground SUBMIT: List output to spool
CALLDCALL mode active (X)
This field indicates if the transaction was called from another transaction.
o Create a report which displays this system field
o Create a Transaction code for this report
o Create a new report containing the next ABAP command: CALL TRANSACTION tcode. Where tcode is the Transaction code you created. When you run this report, it should display an 'X' for system field SY-CALLD.
CALLR Print: ID for print dialog function
CCURS Rate specification/result field (CURRENCY CONVERT)
CCURTTable rate from currency conversion
CDATEDate of rate from currency conversion
COLNOCurrent column during list creation
WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'.
CPAGECurrent page number
WRITE: / 'SY-CPAGE:', SY-CPAGE LEFT-JUSTIFIED.
CPROG
Runtime: Main program
WRITE: /5 'Main program:' RIGHT-JUSTIFIED, 40 SY-CPROG.
CTABLExchange rate table from currency conversion
CTYPE
Exchange rate type 'M','B','G' from CURRENCY CONVERSION
CUCOLCursor position (column)
WRITE: / 'SY-CUCOL:', SY-CUCOL LEFT-JUSTIFIED.
CUROWCursor position (line)
WRITE: / 'SY-CUROW:', SY-CUROW LEFT-JUSTIFIED.
DATARFlag: Data received
In transaction programming this field indicates the change of data on the screen. In the PBO part you may set default values of the input fields of the dynpro. In the PAI part you can check if they were changed. If SY-DATAR is set, then the user has modified or entered new data on the screen.
DATLOLocal date for user
DATUMSystem: Date
DATUTGlobal date related to UTC (GMT)
DAYSTSummertime active ? ('daylight saving time')
DBCNT Number of elements in edited dataset with DB operations
WRITE: /12 'Number of selected records:', SY-DBCNT CENTERED.
DBNAMLogical database for ABAP/4 program
DBSYS System: Database system
DCSYS System: Dialog system
DSNAMRuntime: Name of dataset for spool output
DYNGRScreen group of current screen
DYNNRNumber of current screen
FDAYWFactory calendar weekday
FDPOSLocation of a string
SEARCH T FOR 're'.
READ TABLE T INDEX SY-TABIX.
WRITE: / SY-TABIX, T-FIELD.
SKIP.
WRITE: /9 'At the example of sy-tabix, Row', (3) SY-TABIX, ',' ,
'keyword ''re'' found at off-set position:', (3) SY-FDPOS.
FMKEY Current function code menu
HOST Host
INDEX
Number of loop passes
DO 5 TIMES.
WRITE: SY-INDEX.
ENDDO.
LANGUSAP logon language key
LDBPGProgram: ABAP/4 database program for SY-DBNAM
LILLI Number of current list line
AT LINE-SELECTION.
DETAIL.
* SY-LSIND is the index of the current list
WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED.
* SY-LISTI is the index of the previous list
WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED.
* SY-LILLI is the number of the selected line in the absolute list
WRITE: / 'SY-LILLI:', SY-LILLI LEFT-JUSTIFIED.
LINCT Number of list lines
WRITE: / SY-LINCT, 'line and', (3) SY-LINSZ, 'column is a page'.
LINNOCurrent line for list creation
WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'.
LINSZ Line size of list
WRITE: SY-COLNO, ',', SY-LINNO, 'Cursor position (column, row).'.
LISELInteract.: Selected line
* contents of the selected line
WRITE: / 'SY-LISEL:', SY-LISEL.
LISTINumber of current list line
* SY-LISTI is the index of the previous list
WRITE: / 'SY-LISTI:', SY-LISTI LEFT-JUSTIFIED.
LOCDB Local database exists
LOCOPLocal database operation
LOOPCNumber of LOOP lines at screen step loop
LSINDNumber of secondary list
* SY-LSIND is the index of the current list
WRITE: / 'SY-LSIND:', SY-LSIND LEFT-JUSTIFIED.
LSTATInteract.: Status information for each list level
MACDBProgram: Name of file for matchcode access
MACOLNumber of columns from SET MARGIN
MANDTClient number from SAP logon
MARKYCurrent line character for MARK
MAROWNo. of lines from SET MARGIN statement
MODNO Number of alternative modi
MSGIDMessage ID
MSGLI Interact.: Message line (line 23)
MSGNOMessage number
MSGTYMessage type (E,I.W,...)
MSGV1Message variable
MSGV2Message variable
MSGV3Message variable
MSGV4Message variable
OPSYSSystem: Operating system
PAARTPrint: Format
PAGCTPage size of list from REPORT statement
PAGNORuntime: Current page in list
PDESTPrint: Output device
PEXPIPrint: Spool retention period
PFKEYRuntime: Current F key status
PLISTPrint: Name of spool request (list name)
PRABTPrint: Department on cover sheet
PRBIGPrint: Selection cover sheet
PRCOPPrint: Number of copies
PRDSNPrint: Name of spool dataset
PREFXABAP/4 prefix for background jobs
PRIMMPrint: Print immediately
PRNEWPrint: New spool request (list)
PRRECPrint: Recipient
PRRELPrint: Delete after printing
PRTXTPrint: Text for cover sheet
REPIDProgram: Name of ABAP/4 program
RTITLPrint: Report title of program to be printed
SAPRLSystem: SAP Release
SCOLSColumns on screen
SLSETName of selection set
SPONORuntime: Spool number for list output
SPONRRuntime: Spool number from TRANSFER statement
SROWSLines on screen
STACOInteract.: List displayed from column
STAROInteract.: Page displayed from line
STEPLNumber of LOOP line at screen step
SUBRCReturn value after specific ABAP/4 statements
SUBTYABAP/4: Call type for SUBMIT
SYSIDSystem: SAP System ID
TABIXRuntime: Current line of an internal table
SEARCH T FOR 're'.
READ TABLE T INDEX SY-TABIX.
TCODESession: Current transaction code
TFDSNRuntime: Dataset for data extracts
TFILLCurrent number of entries in internal table
TIMLOLocal time for user
TIMUTGlobal time related to UTC (GMT)
TITLETitle of ABAP/4 program
TLENGLine width of an internal table
TMAXLMaximum number of entries in internal table (?)
TNAMEName of internal table after an access (?)
TOCCUOCCURS parameter with internal tables
TPAGIFlag indicating roll-out of internal table to paging area (?)
TSTLOTimestamp (date and time) for user
TSTUTTimestamp (date and time) related to UTC (GMT)
TTABCNumber of line last read in an internal table (?)
TTABIOffset of internal table in roll area (?)
TVAR0Runtime: Text variable for ABAP/4 text elements
TVAR1Runtime: Text variable for ABAP/4 text elements
TVAR2 Runtime: Text variable for ABAP/4 text elements
TVAR3Runtime: Text variable for ABAP/4 text elements
TVAR4Runtime: Text variable for ABAP/4 text elements
TVAR5Runtime: Text variable for ABAP/4 text elements
TVAR6Runtime: Text variable for ABAP/4 text elements
TVAR7Runtime: Text variable for ABAP/4 text elements
TVAR8Runtime: Text variable for ABAP/4 text elements
TVAR9Runtime: Text variable for ABAP/4 text elements
TZONETime difference from 'Greenwich Mean Time' (UTC) in seconds
UCOMMInteract.: Command field function entry
ULINEConstant: Underline (---------...)
UNAMESession: SAP user from SAP logon
UZEITSystem: Time
VLINEConstant: Vertical bar
WAERST001: Company code currency after reading B segment
WILLINumber of current window line
WINCOCursor position in window (column)
WINDIIndex of current window line
WINROCursor position in window (line)
WINSLInteract.: Selected window line
WINX1Window coordinate (column left)
WINX2Window coordinate (column right)
WINY1Window coordinate (line left)
WINY2Window coordinate (line right)
WTITLStandard page header indicator
XCODEExtended command field
ZONLOTime zone of user
SAP R/3 ABAP Architecture
Before moving further it is essential to know the Architectur of SAP /3. You will find here excellent architechtural view in short.
SAP R/3 ABAP Architecture (Logical View ):-
SAP R/3 ABAP Architecture ( Software View ):-
SAP R/3 ABAP Application Server Architecture :-
In short:
Application server also knows as ‘Instance’, Database Server known as ‘Central Instance’.
The architecture of application server defines as:
All the requests that come from the presentation servers are directed first to the dispatcher. The dispatcher writes them fist to the dispatcher queue. Te dispatcher pulls the request from the queue on first-in , first-out basis. Each request is then allocated to the first available work process.
To perform any processing for a user’s request a work process needs to address two special memory areas i.e. User Context and the program roll area. The user context is a memory area that contains information about the user and the roll area is a memory area that contains information about the user, and the roll area is a memory area that contains information about the program execution.
User Context is responsible for:
- User’s Current settings
- User Authorizations
- The name of the program the user currently is running
Roll Area is responsible for:
- The values of the variables
- The dynamic memory allocations
- The current program pointer
Each time a user starts a program, a roll area is created for that instance of the program. If two users run the same program at the same time, two roll areas will exist-one for each user. The roll area is freed when the program ends.
Roll Area and the user context play an important part in dialog step processing.
Roll-In / Roll-out processing in dialog step process. An ABAP/4 program only occupies a work process for one dialog step. At the beginning of the dialog step, the roll area and user context are rolled into the work process. At the end of the dialog step they rolled out.
During the roll in pointers to the roll area and user context are populated in the work process. This enables the work process to access the data in those areas and so perform processing for that user and that program. Processing continues until the program sends a screen to the user. At that time, both areas are rolled out. Roll-out invalidates the pointers and disassociates these areas from the work process. That work process is now free to perform processing for other requests. The program is now only occupying memory, and not consuming any CPU. The user is looking at the screen that was sent, and will soon send another request.
Components of work process:
Each work process composed of:
- A Task Handler
- An ABAP Interpreter
- A screen Interpreter
- A Database Interface
All requests pass through the task handler, which then funnels the request to the appropriate part of the work process.
The interpreters interpret the ABAP/4 code. Notice that there are two interpreters: the ABAP/4 interpreter and the screen interpreter. There are actually two dialects of ABAP/4. One is the full-blown ABAP/4 data processing language and the other is a very specialized screen processing language. Each is processed by its own interpreter. The database interface handles the job of communicating with the database.
There are seven types of work process each handles a separate type of requests.
WP Type Request Type
D (Dialog) Dialog requests
V (Update) Requests to update data in the database
B (Background) Background jobs
S (Spool) Print spool requests
E (Enqueue) Logical lock requests
M (Message) Routes messages between application servers within an R/3 system
G (Gateway) Funnels messages into and out of the R/3 system
Memory Structures of an ABAP Program
A user can open up to six R/3 windows in a single SAPgui session. Each of these windows corresponds to a session on the application sever with its own area of shared memory.
The first application program that you start in a session opens an internal session within the main session. The internal session has a memory area that contains the ABAP program and its associated data. When the program call external routines (methods, subroutines or functional module) in their main program and working data are also loaded in to the memory area of the internal session.
Only one internal session is ever active. If the application program calls a further application program the system opens another internal session. Here there are two possible cases: If the second program does not return control to the calling program when it has finished running, the called program replaces the calling program in the internal session. The Contents of the memory of the calling program are deleted. If the second program does return control to the calling program when it has finished running the session of the called program is not deleted. Instead it becomes inactive and its memory contents are placed on a stack.
The memory area of each session contains an area called ABAP memory. ABAP memory is available to all internal sessions.
All ABAP programs can also access the SAP memory. This is the area to which all sessions within a SAPGUI have access. One can use SAP memory either to pass data from one program to another within a session or to pass data from one session to another.
Application programs that use SAP memory must do so using SAP/GAP parameters (also known as SET/Get parameters).
SAP memory is the only connection between the different sessions within a SAPgui.
SAP R/3 ABAP Architecture (Logical View ):-
SAP R/3 ABAP Architecture ( Software View ):-
SAP R/3 ABAP Application Server Architecture :-
In short:
Application server also knows as ‘Instance’, Database Server known as ‘Central Instance’.
The architecture of application server defines as:
All the requests that come from the presentation servers are directed first to the dispatcher. The dispatcher writes them fist to the dispatcher queue. Te dispatcher pulls the request from the queue on first-in , first-out basis. Each request is then allocated to the first available work process.
To perform any processing for a user’s request a work process needs to address two special memory areas i.e. User Context and the program roll area. The user context is a memory area that contains information about the user and the roll area is a memory area that contains information about the user, and the roll area is a memory area that contains information about the program execution.
User Context is responsible for:
- User’s Current settings
- User Authorizations
- The name of the program the user currently is running
Roll Area is responsible for:
- The values of the variables
- The dynamic memory allocations
- The current program pointer
Each time a user starts a program, a roll area is created for that instance of the program. If two users run the same program at the same time, two roll areas will exist-one for each user. The roll area is freed when the program ends.
Roll Area and the user context play an important part in dialog step processing.
Roll-In / Roll-out processing in dialog step process. An ABAP/4 program only occupies a work process for one dialog step. At the beginning of the dialog step, the roll area and user context are rolled into the work process. At the end of the dialog step they rolled out.
During the roll in pointers to the roll area and user context are populated in the work process. This enables the work process to access the data in those areas and so perform processing for that user and that program. Processing continues until the program sends a screen to the user. At that time, both areas are rolled out. Roll-out invalidates the pointers and disassociates these areas from the work process. That work process is now free to perform processing for other requests. The program is now only occupying memory, and not consuming any CPU. The user is looking at the screen that was sent, and will soon send another request.
Components of work process:
Each work process composed of:
- A Task Handler
- An ABAP Interpreter
- A screen Interpreter
- A Database Interface
All requests pass through the task handler, which then funnels the request to the appropriate part of the work process.
The interpreters interpret the ABAP/4 code. Notice that there are two interpreters: the ABAP/4 interpreter and the screen interpreter. There are actually two dialects of ABAP/4. One is the full-blown ABAP/4 data processing language and the other is a very specialized screen processing language. Each is processed by its own interpreter. The database interface handles the job of communicating with the database.
There are seven types of work process each handles a separate type of requests.
WP Type Request Type
D (Dialog) Dialog requests
V (Update) Requests to update data in the database
B (Background) Background jobs
S (Spool) Print spool requests
E (Enqueue) Logical lock requests
M (Message) Routes messages between application servers within an R/3 system
G (Gateway) Funnels messages into and out of the R/3 system
Memory Structures of an ABAP Program
A user can open up to six R/3 windows in a single SAPgui session. Each of these windows corresponds to a session on the application sever with its own area of shared memory.
The first application program that you start in a session opens an internal session within the main session. The internal session has a memory area that contains the ABAP program and its associated data. When the program call external routines (methods, subroutines or functional module) in their main program and working data are also loaded in to the memory area of the internal session.
Only one internal session is ever active. If the application program calls a further application program the system opens another internal session. Here there are two possible cases: If the second program does not return control to the calling program when it has finished running, the called program replaces the calling program in the internal session. The Contents of the memory of the calling program are deleted. If the second program does return control to the calling program when it has finished running the session of the called program is not deleted. Instead it becomes inactive and its memory contents are placed on a stack.
The memory area of each session contains an area called ABAP memory. ABAP memory is available to all internal sessions.
All ABAP programs can also access the SAP memory. This is the area to which all sessions within a SAPGUI have access. One can use SAP memory either to pass data from one program to another within a session or to pass data from one session to another.
Application programs that use SAP memory must do so using SAP/GAP parameters (also known as SET/Get parameters).
SAP memory is the only connection between the different sessions within a SAPgui.
ABAP Work Bench
The ABAP/4 language is the central tool in the excellent development package called ABAP/4 Development Workbench.
ABAP/4 Development Workbench proves its strength in R/3 system itself where more then thousand developers used the workbench tools to build an Integrated Packages of business Application.
Development WorkBench is made up of the following tools.
1. Object Browser
2. ABAP/4 Language
3. Repository Includes the Active Directoy.
4. Data Modeler
5. The Query
6. workBench Organiser
7. Various Test & Analysis Tools
ABAP/4 Repository
Repository Conatins all the development objects .
1. Data Models
2. Programs
3. Dictionary Types & Tables Structures
4. System wide Reusable Functions
5. Screens
6. GUI statuses with meny functions and Icons
7. Language dependent texts such as help info, documetation and error messages
8. Report Variants
9. ABAP/4 Queries
Transaction Codes related to ABAP Workbench
- "S001" ABAP Development WorkBench
- "SE09" WorkBench Organiser
- "SE80" ABAP/4 Development WorkBench
ABAP/4 Development Workbench proves its strength in R/3 system itself where more then thousand developers used the workbench tools to build an Integrated Packages of business Application.
Development WorkBench is made up of the following tools.
1. Object Browser
2. ABAP/4 Language
3. Repository Includes the Active Directoy.
4. Data Modeler
5. The Query
6. workBench Organiser
7. Various Test & Analysis Tools
ABAP/4 Repository
Repository Conatins all the development objects .
1. Data Models
2. Programs
3. Dictionary Types & Tables Structures
4. System wide Reusable Functions
5. Screens
6. GUI statuses with meny functions and Icons
7. Language dependent texts such as help info, documetation and error messages
8. Report Variants
9. ABAP/4 Queries
Transaction Codes related to ABAP Workbench
- "S001" ABAP Development WorkBench
- "SE09" WorkBench Organiser
- "SE80" ABAP/4 Development WorkBench
What is SAP R/3?
R/3 is an integrrated suit of applications designed to handled the data processing for large corporations. R/3 is Developed by SAP (System Applications and Products in Data Processing ) a german based company.
Within R/3 (Real Time Three Tier Architechture) is a runtime environment and an integrated suit of application programs writte in SAP's 4-GL, ABAP/4. R/3 Intergrated programs are designed to meet the data processing need of very large business.
Standard set of Application in R/3 also called R/3 fnction areas are :
.PP Production Planning
.MM Material Management
.SD Sales & Distribution
.FI Financial Accounting
.CO Controlling
.AM Fixed asset Management
.PS Project System
.WF Workflow
.IS Industry Solutions
.HR Human Resources
.PM Plant Maintenance
.QM Quality Management
R/3 system divided into three conceptual areas:
1. Appication Area
2. Basis Area
3. Development Workbench
In application area you initiate transaction for the functional area within R/3 i.e. Logistics, Accounting, Human Resources, or Information Systems.
The Basis area, you can run transactions that monitor the R/3 system itself.
Development Workbench is used to create and test ABAP/4 programs. As an ABAP/4 programmer, you will spend most of your time within the Workbench.
SAP R/3 Releases since 1998
- SAP R/3 Release 4.0B Release Date June 1998
- SAP R/3 Release 4.5B Release Date March 1999
- SAP R/3 Release 4.6B Release Date Dec 1999
- SAP R/3 Release 4.6C Release Date April 2001
- SAP R/3 Enterprise Release 4.70 Release Date March- Dec 2003
Within R/3 (Real Time Three Tier Architechture) is a runtime environment and an integrated suit of application programs writte in SAP's 4-GL, ABAP/4. R/3 Intergrated programs are designed to meet the data processing need of very large business.
Standard set of Application in R/3 also called R/3 fnction areas are :
.PP Production Planning
.MM Material Management
.SD Sales & Distribution
.FI Financial Accounting
.CO Controlling
.AM Fixed asset Management
.PS Project System
.WF Workflow
.IS Industry Solutions
.HR Human Resources
.PM Plant Maintenance
.QM Quality Management
R/3 system divided into three conceptual areas:
1. Appication Area
2. Basis Area
3. Development Workbench
In application area you initiate transaction for the functional area within R/3 i.e. Logistics, Accounting, Human Resources, or Information Systems.
The Basis area, you can run transactions that monitor the R/3 system itself.
Development Workbench is used to create and test ABAP/4 programs. As an ABAP/4 programmer, you will spend most of your time within the Workbench.
SAP R/3 Releases since 1998
- SAP R/3 Release 4.0B Release Date June 1998
- SAP R/3 Release 4.5B Release Date March 1999
- SAP R/3 Release 4.6B Release Date Dec 1999
- SAP R/3 Release 4.6C Release Date April 2001
- SAP R/3 Enterprise Release 4.70 Release Date March- Dec 2003
SAP ABAP TRANSACTION CODES
Transaction is a dialog program that changes objects in the database in a consistent way. ABAP/4 provides various transaction codes
ABAPDCOU ABAP Documentation
AL02 Database Alert Monitor
AL03 Operating System Alert Monitor
AL05 Workload Alert Monitor
AL08 Current active users (in system)
AL11 Display operating system file from CCMS
DB01 Exclusive waits in Oracle database
DB02 Database performance; tables and index
DB03 Parameter changes in database
DB05 Analysis of table with respect to indexed fields
DB12 Backup logs
DB13 DBA planning calendar
DB14 DBA logs
DI02 ABAP/4 Repository Information System: Tables.
OSS1 SAP Online Service System
OY19 Compare Tables
RZ01 Graphical background job scheduling monitor
RZ02 Network graphical display of instance
RZ03 Server status, alerts, maintain operations mode
RZ04 Maintain operations mode and instance
RZ06 Maintain alert threshold
RZ08 CCMS Alert Monitor
RZ10 Maintain system profiles X
RZ11 Display profile parameter attributes
RZ20 Alert Monitor 4.0
RZ21 Maintain settings for Alert Monitor 4.0
SM13 Update monitor. Will show update tasks status. Very useful to determine why an update failed.
S001 ABAP Development Workbench
S001 ABAP/4 Development Weorkbench.
S002 System Administration.
SA38 Execute a program.
SA38 ABAP reporting
SCAM CATT management
SCAT Computer Aided Test Tool
SCC1 Client copy transport X
SCC3 Client copy log
SCC4 Client copy administration X
SCC5 Delete clients X
SCC6 Client import X
SCC7 Client import – post processing
SCC8 Client export
SCC9 Remote client copy X
SCCL Local client copy X
SCMP Table comparison
SCU0 Compare Tables
SCU3 Table history
SD11 Data Modeler
SE01 Old Transport & Corrections screen
SE03 Groups together most of the tools that you need for doing transports. In total, more than 20 tools can be reached from this one transaction.
SE09 Workbench Organizer
SE10 New Transport & Correction screen
SE11 ABAP/4 Dictionary Maintenance SE12 ABAP/4 Dictionary Display SE13 Maintain Technical Settings (Tables)
SE12 Dictionary: Initial Screen - enter object name.
SE13 Access tables in ABAP/4 Dictionary.
SE14 Utilities for Dictionary Tables
SE15 ABAP/4 Repository Information System
SE16 Data Browser: Initial Screen.
SE16N Table Browser (the N stands for New, it replaces SE16). Provided by Smijo Mathew.
SE17 General Table Display
SE24 Class Builder
SE30 ABAP/4 Runtime Analysis
SE32 ABAP/4 Text Element Maintenance
SE35 ABAP/4 Dialog Modules
SE36 ABAP/4: Logical Databases
SE37 ABAP/4 Function Modules
SE38 ABAP Editor
SE39 Splitscreen Editor: Program Compare
SE41 Menu Painter
SE43 Maintain Area Menu
SE48 Show program call hierarchy. Very useful to see the overall structure of a program. Thanks to Isabelle Arickx for this tcode.
SE49 Table manipulation. Show what tables are behind a transaction code. Thanks to Isabelle Arickx for this tcode.
SE51 Screen Painter: Initial Screen.
SE54 Generate View Maintenance Module
SE61 R/3 Documentation
SE62 Industry utilities
SE63 Translation
SE64 Terminology
SE65 R/3 document. short text statistics SE66 R/3 Documentation Statistics (Test!)
SE68 Translation Administration
SE71 SAPscript layout set
SE71 SAPScript Layouts Create/Change
SE72 SAPscript styles
SE73 SAPscript font maintenance (revised)
SE74 SAPscript format conversion
SE75 SAPscript Settings
SE76 SAPscript Translation Layout Sets
SE77 SAPscript Translation Styles
SE80 ABAP/4 Development Workbench
SE81 SAP Application Hierarchy
SE82 Customer Application Hierarchy
SE83 Reuse Library. Provided by Smiho Mathew.
SE84 ABAP/4 Repository Information System
SE85 ABAP/4 Dictionary Information System
SE86 ABAP/4 Repository Information System
SE87 Data Modeler Information System
SE88 Development Coordination Info System
SE91 Maintain Messages
SE92 Maintain system log messages
SE93 Maintain Transaction
SE95 Modification Browser
SEU Object Browser
SFT2 Maintain public holiday calendar
SFT3 Maintain factory calendar
SHD0 Transaction variant maintenance
SICK Installation check
SM01 Lock transactions X
SM02 System messages
SM04 Overview of users
SM12 Lock table entries (unlock locked tables)
SM13 Update terminates X
SM21 View the system log, very useful when you get a short dump. Provides much more info than short dump
SM30 Maintain Table Views.
SM31 Table Maintenance
SM32 Table maintenance
SM35 View Batch Input Sessions
SM36 Schedule background jobs
SM37 View background jobs
SM39 Job analysis
SM49 External operating system commands, execute
SM50 Process Overview.
SM51 Delete jobs from system (BDC)
SM58 Error log for asynchronous RFC
SM59 RFC connection, maintain
SM62 Display/Maintain events in SAP, also use function BP_EVENT_RAISE
SM63 Operations mode, maintain
SM64 Event trigger
SM66 Global work process overview
SM69 External operating system commands, maintain
SMEN Display the menu path to get to a transaction
SMOD/CMOD Transactions for processing/editing/activating new customer enhancements.
SNRO Object browser for number range maintenance.
SP00 Spool
SP01 Spool control
SP02 Display output requests
SP11 TemSe (temporary sequential objects) contents
SP12 TemSe administration
SPAD Spool administration (printer setup)
SPAM SAP Patch Manager
SPAU Intersection SAP transport/customer modifications
SPCC Spool; consistency check
SPDD Intersection SAP transport/customer modifications, DDIC
SPIC Spool; installation check
SPRO Start SAP IMG (Implementation Guide).
SQ00 ABAP/4 Query: Start Queries
SQ01 ABAP/4 Query: Maintain Queries
SQ02 ABAP/4 Query: Maintain Funct. Areas
SQ03 ABAP/4 Query: Maintain User Groups
(Queries,Funct. Areas,User Groups are stored in table AQGQDOC and AQLQDOC )
SQ07 ABAP/4 Query: Language Comparison
ST01 SAP system trace X
ST02 Buffer statistics
ST03 Workload analysis
ST04 Database performance analysis
ST05 SQL trace X
ST06 Operating system monitor
ST07 Application monitor
ST08 Network monitor
ST09 Network Alert monitor
ST10 Table call statistics
ST11 Display developer trace X
ST12 Application monitor
ST14 Application analysis
ST22 ABAP dump analysis
ST4A Oracle: analyze the shared cursor cache
STAT Local transaction statistics
STMS Transport Management System X
STUN Performance monitoring
ST22 ABAP Dump analysis
SU01 User maintenance X
SU01D Display users
SU02 Maintain authorization profiles X
SU03 Maintain authorizations X
SU10 Mass change to user records X
SU12 Delete ALL Users X
SU2 Maintain user parameters
SU22 Authorization object check in transactions
SU3 Maintain own user parameters
SU53 Display authorization checked values
SU53 Display Authorization Values for User.
WEDI EDI Menu. IDOC and EDI base.
WE02 Display an IDOC
WE07 IDOC Statistics
ABAPDCOU ABAP Documentation
AL02 Database Alert Monitor
AL03 Operating System Alert Monitor
AL05 Workload Alert Monitor
AL08 Current active users (in system)
AL11 Display operating system file from CCMS
DB01 Exclusive waits in Oracle database
DB02 Database performance; tables and index
DB03 Parameter changes in database
DB05 Analysis of table with respect to indexed fields
DB12 Backup logs
DB13 DBA planning calendar
DB14 DBA logs
DI02 ABAP/4 Repository Information System: Tables.
OSS1 SAP Online Service System
OY19 Compare Tables
RZ01 Graphical background job scheduling monitor
RZ02 Network graphical display of instance
RZ03 Server status, alerts, maintain operations mode
RZ04 Maintain operations mode and instance
RZ06 Maintain alert threshold
RZ08 CCMS Alert Monitor
RZ10 Maintain system profiles X
RZ11 Display profile parameter attributes
RZ20 Alert Monitor 4.0
RZ21 Maintain settings for Alert Monitor 4.0
SM13 Update monitor. Will show update tasks status. Very useful to determine why an update failed.
S001 ABAP Development Workbench
S001 ABAP/4 Development Weorkbench.
S002 System Administration.
SA38 Execute a program.
SA38 ABAP reporting
SCAM CATT management
SCAT Computer Aided Test Tool
SCC1 Client copy transport X
SCC3 Client copy log
SCC4 Client copy administration X
SCC5 Delete clients X
SCC6 Client import X
SCC7 Client import – post processing
SCC8 Client export
SCC9 Remote client copy X
SCCL Local client copy X
SCMP Table comparison
SCU0 Compare Tables
SCU3 Table history
SD11 Data Modeler
SE01 Old Transport & Corrections screen
SE03 Groups together most of the tools that you need for doing transports. In total, more than 20 tools can be reached from this one transaction.
SE09 Workbench Organizer
SE10 New Transport & Correction screen
SE11 ABAP/4 Dictionary Maintenance SE12 ABAP/4 Dictionary Display SE13 Maintain Technical Settings (Tables)
SE12 Dictionary: Initial Screen - enter object name.
SE13 Access tables in ABAP/4 Dictionary.
SE14 Utilities for Dictionary Tables
SE15 ABAP/4 Repository Information System
SE16 Data Browser: Initial Screen.
SE16N Table Browser (the N stands for New, it replaces SE16). Provided by Smijo Mathew.
SE17 General Table Display
SE24 Class Builder
SE30 ABAP/4 Runtime Analysis
SE32 ABAP/4 Text Element Maintenance
SE35 ABAP/4 Dialog Modules
SE36 ABAP/4: Logical Databases
SE37 ABAP/4 Function Modules
SE38 ABAP Editor
SE39 Splitscreen Editor: Program Compare
SE41 Menu Painter
SE43 Maintain Area Menu
SE48 Show program call hierarchy. Very useful to see the overall structure of a program. Thanks to Isabelle Arickx for this tcode.
SE49 Table manipulation. Show what tables are behind a transaction code. Thanks to Isabelle Arickx for this tcode.
SE51 Screen Painter: Initial Screen.
SE54 Generate View Maintenance Module
SE61 R/3 Documentation
SE62 Industry utilities
SE63 Translation
SE64 Terminology
SE65 R/3 document. short text statistics SE66 R/3 Documentation Statistics (Test!)
SE68 Translation Administration
SE71 SAPscript layout set
SE71 SAPScript Layouts Create/Change
SE72 SAPscript styles
SE73 SAPscript font maintenance (revised)
SE74 SAPscript format conversion
SE75 SAPscript Settings
SE76 SAPscript Translation Layout Sets
SE77 SAPscript Translation Styles
SE80 ABAP/4 Development Workbench
SE81 SAP Application Hierarchy
SE82 Customer Application Hierarchy
SE83 Reuse Library. Provided by Smiho Mathew.
SE84 ABAP/4 Repository Information System
SE85 ABAP/4 Dictionary Information System
SE86 ABAP/4 Repository Information System
SE87 Data Modeler Information System
SE88 Development Coordination Info System
SE91 Maintain Messages
SE92 Maintain system log messages
SE93 Maintain Transaction
SE95 Modification Browser
SEU Object Browser
SFT2 Maintain public holiday calendar
SFT3 Maintain factory calendar
SHD0 Transaction variant maintenance
SICK Installation check
SM01 Lock transactions X
SM02 System messages
SM04 Overview of users
SM12 Lock table entries (unlock locked tables)
SM13 Update terminates X
SM21 View the system log, very useful when you get a short dump. Provides much more info than short dump
SM30 Maintain Table Views.
SM31 Table Maintenance
SM32 Table maintenance
SM35 View Batch Input Sessions
SM36 Schedule background jobs
SM37 View background jobs
SM39 Job analysis
SM49 External operating system commands, execute
SM50 Process Overview.
SM51 Delete jobs from system (BDC)
SM58 Error log for asynchronous RFC
SM59 RFC connection, maintain
SM62 Display/Maintain events in SAP, also use function BP_EVENT_RAISE
SM63 Operations mode, maintain
SM64 Event trigger
SM66 Global work process overview
SM69 External operating system commands, maintain
SMEN Display the menu path to get to a transaction
SMOD/CMOD Transactions for processing/editing/activating new customer enhancements.
SNRO Object browser for number range maintenance.
SP00 Spool
SP01 Spool control
SP02 Display output requests
SP11 TemSe (temporary sequential objects) contents
SP12 TemSe administration
SPAD Spool administration (printer setup)
SPAM SAP Patch Manager
SPAU Intersection SAP transport/customer modifications
SPCC Spool; consistency check
SPDD Intersection SAP transport/customer modifications, DDIC
SPIC Spool; installation check
SPRO Start SAP IMG (Implementation Guide).
SQ00 ABAP/4 Query: Start Queries
SQ01 ABAP/4 Query: Maintain Queries
SQ02 ABAP/4 Query: Maintain Funct. Areas
SQ03 ABAP/4 Query: Maintain User Groups
(Queries,Funct. Areas,User Groups are stored in table AQGQDOC and AQLQDOC )
SQ07 ABAP/4 Query: Language Comparison
ST01 SAP system trace X
ST02 Buffer statistics
ST03 Workload analysis
ST04 Database performance analysis
ST05 SQL trace X
ST06 Operating system monitor
ST07 Application monitor
ST08 Network monitor
ST09 Network Alert monitor
ST10 Table call statistics
ST11 Display developer trace X
ST12 Application monitor
ST14 Application analysis
ST22 ABAP dump analysis
ST4A Oracle: analyze the shared cursor cache
STAT Local transaction statistics
STMS Transport Management System X
STUN Performance monitoring
ST22 ABAP Dump analysis
SU01 User maintenance X
SU01D Display users
SU02 Maintain authorization profiles X
SU03 Maintain authorizations X
SU10 Mass change to user records X
SU12 Delete ALL Users X
SU2 Maintain user parameters
SU22 Authorization object check in transactions
SU3 Maintain own user parameters
SU53 Display authorization checked values
SU53 Display Authorization Values for User.
WEDI EDI Menu. IDOC and EDI base.
WE02 Display an IDOC
WE07 IDOC Statistics
Subscribe to:
Posts (Atom)