Hide Individual Columns
Specify color of the list rows
Set the output characteristics of a column position or width
Influence the format properties of column contents, such as number of decimal places or the alignment of the content cell.
Subscreens have their own ok code fields
Subscreens may have their own PBO and PAI logic
You call subscreen using ABAP command CALL SUBSCREEN
You call subscreen using SCREEN command CALL SUBSCREEN.
The cost for reading a data record from the hashed table do not depends upon number of entries.
If the field symbol is assigned with READ … ASSIGNING statement, the entry in the internal table can be changed directly using field symbols
If you have a standard table , searching an entry using a fully qualified key is faster than searching by index
The cost for reading a data record are higher for a large number of entries in a sorted table than for a large number of entries in a standard table
You have to define selection criteria for the view
You have to define the Join condition for this view
You have to name the database table where the view gets data
You have to choose the fields from the tables that should be part of the view
A Search Help can be attached directly to a field of structure or table
A Search help can be attached to a check table of the ABAP dictionary field
A Search Help can be attached to the data element.
A Search Help can be attached to the domain.
Data object of ABAP type STRING initially takes up no spaces, If any data is put into it at runtime , it takes up exactly the space that is needed . If its cleared the value changes to spaces, but the previous length remains.
A data Object of type X has fixed length while data object of type XSTRING the length changes dynamically depending upon the length of the content
Type X is useful for working with bit information
You can compute date with the following DATA: old_date type d, new_date type d, old_date = sy-datum. new_date = old_date + 14.
Database view with more than 1 table
Projection view with 1 table
Event Blocks starts with event key word and end with the start of any other modularization block. For example , another event block or subroutine.
Event Blocks are executed in sequence they occur in the program.
The ABAP runtime decides in which sequence to execute the event blocks
Event blocks can be nested , for example , you can have event blocks inside another event blocks
The name of Append structure should start with ZZ or YY.
An Append structure can be assigned to more than 1 table
The fields of the Append structure should start with ZZ or YY
Append structures must be compared with the SAP original in release upgrade
Append structures are not possible for tables containing long field
Exactly one Component Controller
Data Element Enhancement
FORM check_booking USING VALUE(p_book = TYPE sbook ).
FORM check_booking CHANGING VALUE(p_book) TYPE sbook
ORM check_booking CHANGING p_book type sbook ON RETURN
FORM check_booking USING p_book TYPE sbook.
Declare the work area containing fields MATNR, ENAM and EDAT and use select matnr ename edat from MARA into wa. ENDSELECT.
Declare the work area of type MARA and use select* from MARA into wa.ENDSELECT.
Declare the work area of type MARA use select matnr ename edat from MARA into wa.ENDSELECT.
Declare the work area containing fields MATNR, ENAM and EDAT and use select* from MARA into correspodnig fields of wa.ENDSELECT.
To address a component of the header line you can use the following : it-component = 'ABC'.
Internal tables with header lines are faster than internal tables without header lines
Instead of LOOP at IT ….. ENDLOOP one might as well use LOOP at it into it. …. ENDLOOP.
Two data objects with the same name exists , the internal table's body and header line, which is a structure of the row type of the table
Define a local class in which event DOUBLE_CLICK is redefined and raised.
Write a handler method for the event DOUBLE_CLICK of the class CL_GUI_ALV_GRID, which calls the dialog box.
Register for the event DOUBLE_CLICK by using SET_HANDLER statement.
Catch the Event DOUBLE_CLICK with the CATCH statement under which the dialog box call is implemented
To unit the appropriate database in pool table
To define indexes for the appropriate database tables
To use table buffering for appropriate database tables
To put the appropriate database table in a special fast access tablespace of the database
The Friend concept
The Interface concept
The Event concept
The HELP view
The DATABASE view
The MAINTAINENCE view
A data object of type I always have length of 8 bytes
A data object of type I always have length of 4 bytes
A data object of type I have length of 1,2 and 4 bytes depending upon the content
To increase the performance of your program.
Because there is no implicit database commit after each dialog step
To keep the database in a consistent state if the user wants to cancel the transactions
Because there is an implicit database commit after each dialog step.
WINDOW 200 starting at 5 5.
CALL SCREEN 200 STARTING AT 5 5.
CALL SCREEN 200.
SET SCREEN 200
You need to program the check at the event AT SELECTION-SCREEN, if there is any error an E type MESSAGE must be output.
You need to program the check at the event END-OF-SELECTION, if there is any error an E type MESSAGE must be output.
You need to program the check at the event AT SELECTION-SCREEN, if there is any error , processing must be interrupted with a STOP statement and an message type I must be output.
With the ABAP debugger, you can edit internal tables(for example append lines, delete lines, change contents
With ABAP debugger you can change the definition of the structure at run time
With the ABAP debugger you can create new data objects even if they are structures or internal tables.
Human Capital Management System
Easy Access Menu
Because you cannot read beyond the non character data within the structure using offset notations
Because the result of offset calculations depends on the Unicode codepage used.
Because the integer has 8 bytes
Because of the Unicode systems, offsets are allowed for unstructured data objects only.
You have direct access to the attribute name from all methods of the class cl_customer itself
You have direct access to the attribute name from the main part of the program.
You have the direct access to the attribute name of all methods of all the subclasses of cl_customer
You have direct access to the attribute name from all the methods of a class cl_friend, where cl_customer grants friendship to the class cl_friend.
ABAP WebDynpro applications
ABAP Executable Program.
ABAP Include program.
Data types can be defined only in ABAP dictionary
Data type can be used to define a variable of constants.
Data types can be defined in the program.
Data types can be defined in ABAP dictionary
ABORT the message with message axxx(nnn).
Write an error message with message exxx(nnn)
Write a warning message with message wxxx(nnn)
Inform the user with message ixxx(nnn)
You have to define a structure where you put in the field travel_agency in and include this structure in the SAP table sbook.
You have to create an append structure where you can define an appropriate field with name zztravel_agency
You have to extend the SAP table sbook by adding the field travel_agency directly into the definition of the table sbook.
Documentation of the domain z_char_3.
Documentation of the data element z_carr_id
Documentation of the field carrid of the table zcarr.
Database independence of applications programs
Syntax check of native SQL statements
Conversion of Open SQL statements from ABAP statements into the corresponding database statements
Data consistency check with respect to foreign Keys relationships
Usage of SAP buffers
Create a combi view that contains two viewcontainerui element controls. Embed the combi view in a window and the other two views in the viewcontainerui element . Then connect the outbound plug of selection view to the inbound plug of result view and the outbound plug of result view to inbound plug of selection view.
Embed each view in its own window . Then connect the outbound plug of the selection view to the inbound plug of result view and the outbound plug of result view to inbound plug of selection view.
Embed both the views in same window, within the window connect the outbound plug of selection view to the inbound plug of result view and the outbound plug of result view to inbound plug of selection view.
Create a combi window that contains two Viewcontainerui element , Embed these two view in two viewcontainerui element. The connect outbound plug of selection view to the inbound plug of result view and the outbound plug of result view to inbound plug of selection view.
There are four types of internal table, standard, sorted, hashed and indexed tables.
If you want to add entry to sorted table, sort sequence must remain same.
You can use index to access hashed tables.
You can use the INSERT TABLE statements to add data records to all types of internal tables.
Data: str1 like t1.
TYPES str1 type t1.
Data: str1 type t1.
TYPES: t2 like t1.
At the event TOP-OF-PAGE.
In the PBO module of corresponding screen
In the PAI module of corresponding screen
In the attribute of corresponding screen
R_desc = cl_abap_typedescr=>describe_by_data( wa_material ).
R_desc ?= cl_abap_typedescr=>describe_by_data( wa_material ).
R_desc != cl_abap_typedescr=>describe_by_data( wa_material ).
Perform the update synchronously, retrieve the status and write the message to the inbox of the user
After the commit work , wait for couple of seconds , check the result of the update , write to the inbox of user
Run a job periodically checks the result of the update and writes the message to the inbox of the user
The system notifies the user automatically with the express message.
Define a append structure with these two fields and assign the append structure to both the tables.
Define two fields separately in both the tables.
Define structure with these two fields and include the structure in both the database tables.
Maintain SCARR as the value table of the domain of SPFLI-CARRID.
Implement a search help that ensures that user can enter only correct values.
Implement a PAI module that check the user have entered correct values.
Define SCARR-CARRID as foreign key with check table SPFLI and foreign key as MANDT and CARRID
Define SPFLI-CARRID as foreign key with check table SCARR with foreign key as MANDT and CARRID
Definition of method parameters.
Definition of subroutine parameters
Definition of parameters for PBO modules
Definition of selection screen parameters.
Business Server Pages(BSPs)
Classical Screens(dynpros) with controls(like ALV control)
Check if the field with the ok code attribute in the screen 100 contains the value 'SAV'
Check if p_save-okcode equals to 'SAV'.
Check if field SY-OKCODE contains the value 'SAV'.
Check if p_save-ACTIVE = 1.
Number_of_list is public static functional method of the class cl_list.
Number_of_list is public static attribute of class cl_list
Number_of_list is public instance functional method of class cl_list
Number_of_list is public instance attribute of class cl_list
Dictionary structures in SCREEN requires a TABLES statement in ABAP
Name equivalence is imperative for field transport between ABAP and SCREEN
Field transport from screen to ABAP is delayed if you have FIELD statement.
Field transport from ABAP to screen generally takes place before the first PBO module of screen.
The CANCEL fumction must have function code BACK
No special action required
There is no way to do this, you need to always fill in the required fields
You must temporarily switch of the required entry fields for the concerned input field within LOOP AT SCREEN... ENDLOOP.
The CANCEL function should be of type 'E' and must be handled in the module AT EXIT-COMMAND.
Unicode system requires less database space
Transfer of character sets between two unicode systems from different cultures is easier than between NON-unicode systems.
A unicode system can support users of different cultures
A unicode system automatically translates between different cultures.
Workbench favorites can be maintained in the navigation area
Navigation area and tool area are always coupled . For example you maintain a program in the tool area , the same program will automatically will appear in the object list of navigation area
Navigation area can be hidden so that tool area appears in full screen mode.
Within the object navigator you can maintain each type of ABAP workbench object ( programs, screen, includes etc..).
The dialog behavior, for instance selection screen appear or not
The interface, import and export parameter.
The selection method, from which table or view the data should come from
The attachment to a field, at which level search help should appear.
To simplify the upgrade to new versions
To avoid performance problems
To ensure smooth support from SAP
To protect SAP's intellectual property.
Use a view
Use a left outer join
Use two nested select loops
Use a inner join
Select * from bkpf INNER JOIN bpos on bkpf.belnr = bpos.belnr into wa WHERE bkpf.belnr = '1000'.
Select * from bkpf RIGHT OUTER JOIN bpos on bkpf~belnr = bpos~belnr into wa WHERE bkpf~belnr = '1000'
Select * from bkpf INNER JOIN bpos on bkpf~belnr = bpos~belnr into wa WHERE bkpf~belnr = '1000'.
The ABAP dispatcher takes over the entire execution of the ABAP program and gets the user context of the program from roll area
The program components for the individual dialog steps are usually executed in various dialog work processes that are released once the program components has been processed (while screen display on the front end).
The entire program is processed in exactly one dialog process. This dialog process is reserved for that program while the screen is displayed on the front end.
Module must output an E Type or W Type message
An I type message must be outputted
The check module must be called using FIELD field_name MODULE check_module.
The check module must be called using FIELD field_name MODULE check_module MESSAGE Enn.
Only then you can add this field to the database view.
Only then you can link the search help to this field
Only then it is possible to define a check table for this field.
The text table zdepartmentt is linked with table zdepartment by a foreign key of type key fields of text table.
The text table zdepartmentt as atleast one text field which is not a key field.
The text table zdepartmentt is a cluster tables
The text table zdepartmentt has same key fields as zdepartment plus one additional key field of data type LANG.
In th event block GET SCARR.
In the PBO module of the selection screen
In the event block AT USER-COMMAND
In the event block AT SELECTION-SCREEN.
The inactive version can be seen only by the developer who has created it, that is there is no shared view of inactive versions
If the inactive version is activated , it becomes the new active version of the object at the very moment the old active active version becomes inactive version.
Inactive versions can be transported as long as they were originally created in development system.
If a program P1 calls program P2 from outside of the development environment and even if there is a inactive version of program P2 , still the active version of P2 will be called.
In one SAP NetWeaver Application Server there can be installed either an ABAP stack or JAVA stack , but never both the stacks.
In one SAP NetWeaver Application Server there can be installed either a stand alone ABAP stack or a stand alone JAVA stack or combination of ABAP and JAVA stack
In one SAP NetWeaver Application Server there can be installed either a stand alone ABAP stack or combination of ABAP and JAVA stack but never a stand alone JAVA stack.
The main purpose of SAP NetWeaver is to integrate people, information and process to provide platform for applications.
SAP ERP is part of SAP NetWeaver
The Industrial Solution Utilities(ISU) is part of SAP NetWeaver
SAP NetWeaver can be used to integrate non-SAP application systems.
The Bank Analyzer is part of SAP NetWeaver
SAP NetWeaver provides tools to integrate a hetrogeneous software landscape.
The TABLES statements
Definition of nested structures
Typing with LIKE to ABAP dictionary types
Definition of internal table with header line.
Functional method can have any number of importing and exporting parameters
You can use functional methods directly in arithmetic expressions
A functional methods needs atleast one return statement.
A functional method has exactly one returning parameter.
A Webdynopro component and window within this component.
A Webdynopro component and context within this component
A Webdynopro component and interface view within this component
A Webdynopro component and controller within this component
As a matter of principle , it is forbidden to assign a data object of type string to the content of type I.
Implicit conversion works for ABAP types only, not for dictionary types.
As a matter of principle , it is forbidden to assign a data object of type I to the contents of type STRING
A data object of type N may be used for calculations (although Type N is not the best type to do so)
INITIALIZATION, LOAD-OF-PROGRAM,START-OF-SELECTION, AT SELECTION-SCREEN.
INITIALIZATION, AT SELECTION-SCREEN, LOAD-OF-PROGRAM, START-OF-SELECTION
INITIALIZATION, LOAD-OF-PROGRAM, AT SELECTION-SCREEN, START-OF-SELECTION
LOAD-OF-PROGRAM, INITIALIZATION, AT SELECTION-SCREEN, START-OF-SELECTION.
One important attribute of object directory entry of development object in the original system. It is convenient to use the production system as original system
You can assign transport layer to each type of development object
One important attribute of package is the transport layer which determines the following system for a regular transport of package's objects.
A development object must be either assigned to package or declared as local objects.
Define an interface for BADI
Implement a class which implements BADI
Create an enhancement project with CMOD
Call a BADI
Watch point is always related to the data object of the debugged program . No matter how you define the watch point, the system will always stop the execution if the contents of related data objects is changed and issues a message “Watchpoint reached”
Several watchpoints can be combined using AND or OR
Watchpoint can be created using ABAP menu Goto->create watch point.
You can define the watchpoint only from within the debugger.
Use the statement TABLES: SDYN_CONN to declare the structure named SDYN_CONN in the top include of your program.
Use the statement GET FIELD SDYN_CONN in the PAI module user_command_100.
Use DATA statement to declare a structure SDYN_CONN in the top include of your program.
Use the statement GET FIELD in the PAI logic of the Dynpro.
Move the context of the component controller to the context of the view controller and bind the control that displays the data to the context of view controller.
Copy the context of component controller to the context of view controller and bind the control data that displays the data to the context of view controller
Bind the control that display the data to the context of component controller.
Map the context of components controller to the context of the view controller and bind the control data that displays the data to the context of view controller.