SAP/ABAP Reference Guide
This document provides some more detailed information about the objects and links that are stored in the Analysis Service. Other technical information may also be available.
Object Types
Objects detected by the analyzer are summarized in the following table:
Project Items
ABAP Project |
ABAP Objects
ABAP Alias | |
ABAP Badi | |
ABAP Class | |
ABAP Class Pool | |
ABAP Constructor | |
ABAP Event | |
ABAP Event Block | |
ABAP Event Method | |
![]() | ABAP File Level Code |
![]() | ABAP Flow Logic File |
ABAP Form | |
ABAP Function | |
ABAP Function Pool | |
ABAP Include | |
ABAP Interface | |
ABAP Interface Pool | |
ABAP Macro | |
ABAP Member | |
ABAP Method | |
ABAP Module | |
ABAP Module Pool | |
ABAP Package | |
ABAP Program | |
ABAP Type Pool | |
ABAP Unresolved Folder | |
ABAP Unresolved Object | |
ABAP User Exit |
SAP objects, Processing Screens & Selection Screens
ABAP Processing Screen | |
ABAP Selection Screen | |
SAP Project | |
SAP Table | |
SAP Transaction | |
SAP View |
BAPI objects
![]() | BAPI |
![]() | BAPI Attribute |
![]() | BAPI Event |
![]() | BAPI Key Field |
![]() | BAPI Method |
Web Dynpro for ABAP
![]() | Web Dynpro Action |
![]() | Web Dynpro Application |
![]() | Web Dynpro Attribute |
![]() | Web Dynpro Component |
![]() | Web Dynpro Component Controller |
![]() | Web Dynpro Event Handler |
![]() | Web Dynpro Inbound Plugin |
![]() | Web Dynpro Interface Controller |
![]() | Web Dynpro Interface View |
![]() | Web Dynpro Method |
![]() | Web Dynpro Outbound Plugin |
![]() | Web Dynpro Supply Function |
![]() | Web Dynpro View |
![]() | Web Dynpro Window |
Link Types
The following table describes references that are detected by the analyzer and the context in which corresponding links are traced and stored in the Analysis Service:
Link type | When is this type of link created? | Example | |
---|---|---|---|
ACCESS | EXEC | This link is created when a piece of code calls a method. | CALL METHOD oref->method1... |
MEMBER | This link is created when an object make an access to a member of another object. | METHOD mymethod. WRITE ref->attrENDMETHOD. | |
READ | This link is created when an object reads a value of another object. | METHOD mymethod. X = ref->attrENDMETHOD. | |
WRITE | This link is created when an object modifies a value of another object. | METHOD mymethod. ref->attr = 10ENDMETHOD. | |
BELONGS TO | This link is created when one object belongs to another object. | report abapReportFunction fEndfunction (f belongs to abapReport). | |
CALL | This link is used to describe a function that is called in a code block. | Function fPerform gEndfunction (f calls g) | |
This link is created when a SAP transaction calls another SAP transaction. | This information is extracted from the SAP system. | ||
This link is created when a SAP transaction calls the processing screen or the selection screen of an ABAP program. | This information is extracted from the SAP system. | ||
This link is created when an ABAP program calls a SAP transaction. | CALL TRANSACTION SA10 AND SKIP FIRST SCREEN....LEAVE TO TRANSACTION SA10. | ||
This link is created when an event block of a screen calls an ABAP module. | PROCESS BEFORE OUTPUT.MODULE STATUS_0100.*PROCESS AFTER INPUT.CHAIN.FIELD: SDYN_CONN-CITY, SDYN_CONN-COUNTRY,SDYN_CONN-CARID, SDYN_CONN-MARK.MODULE USER_COMMAND.ENDCHAIN. | ||
This link is created when an ABAP component calls a screen. | This information is extracted from the SAP system. | ||
INCLUDE | This link is used when a file includes another file. | Report abapReportInclude include_name | |
INHERIT | EXTEND | This link is created from a class A to a class B if A inherits B. | CLASS subclass DEFINITION INHERITING FROM superclass.ENDCLASS. |
OVERRIDE | If a method of a class overrides a method belonging to a parent class, then this link is created between the two methods. | METHODS mymethod REDEFINITION. | |
IMPLEMENT | This link is created from a class to an interface when the class implements this interface. | CLASS myclass DEFINITION.PUBLIC SECTION.INTERFACES: interf1, interf2 ... ENDCLASS. | |
If a class implements an interface, this link is also created between the method belonging to the class and the corresponding method belonging to the interface. | INTTERFACE status.METHODS write.ENDINTERFACE.CLASS counter DEFINITION.PUBLIC SECTION.INTERFACE status....ENDCLASS.CLASS counter IMPLEMENTATION.METHOD status~write....ENDMETHOD....ENDCLASS. | ||
RAISE | This link is created when a method activates an event. | RAISE EVENT evt EXPORTING ... | |
RELY ON | This link is created when a method is a handler for an event. | METHODS handler FOR EVENT evt OF {class|interf}IMPORTING ... ei ...[sender]. | |
USE | - | This link is created when a processing screen or a selection screen is used in conjuncton with an ABAP program. | This information is extracted from the SAP system. |
- | This link is created when a SAP transaction calls an ABAP program. | This information is extracted from the SAP system. | |
- | This link is created when an ABAP component calls a screen. | This information is extracted from the SAP system. | |
- | This link is created when a processing screen or a selection screen is used in conjuncton with an ABAP program. | This information is extracted from the SAP system. | |
SELECT | This link is used when a code block contains an SQL request with a select statement (in the case of embedded SQL or native SQL). | Report abapReportSelect col from table | |
UPDATE | This link is used when a code block contains an SQL request with an update statement (in the case of embedded SQL or native SQL). | Report abapReport.Update table set col='a' | |
DELETE | This link is used when a code block contains an SQL request with a delete statement (in the case of embedded SQL or native SQL). | Report abapReportDelete from table | |
INSERT | This link is used when a code block contains an SQL request with an insert (in the case of embedded SQL or native SQL). | Report abapReportInsert into table values vals |
Notes
- No link is created in the Analysis Service for a dynamic call, i.e. when the called object is the value of a variable e.g.: calls to functions/modules, accesses to database tables or between methods and objects.
Out of memory errors
When analyzing a large amount of code or an extraction of a very high number of database tables (several thousand), the analysis may abruptly halt with the following message in the analysis log:
Analyzer is running out of memory. This may occur under disk full condition.
This can mean that the virtual memory used by the analyzer is too fragmented to be able to store all the objects resulting from the analysis. To workaround this issue, it is possible to reduce the amount of allocated virtual memory by lowering the Memory Threshold for Instances parameter located in SAP Technology options.
This parameter can also be configured via the "maxMem" value located in the "analyzer" element of the following XML file:
<CAST_installation_folder>\Configuration\amt\AmtJobConfig_ABAP.xml
For example:
<?xml version="1.0" encoding="ISO-8859-1"?><configuration><!-- The analyzer actions --><import file="AmtJobConfig_ABAPRaw.xml"/><actions><action name = "MetricAssistantAction" /></actions><analyzer name = "ABAP Analyzer" showProgress = "false" maxMem = "1000" /></configuration>