CMS - SAP/ABAP Reference Guide

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

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 typeWhen is this type of link created?Example
ACCESSEXECThis link is created when a piece of code calls a method.
CALL METHOD oref->method1...
MEMBERThis link is created when an object make an access to a member of another object.
METHOD mymethod.   WRITE ref->attrENDMETHOD.
READThis link is created when an object reads a value of another object.
METHOD mymethod.   X = ref->attrENDMETHOD.
WRITEThis link is created when an object modifies a value of another object.
METHOD mymethod.   ref->attr = 10ENDMETHOD.
BELONGS TOThis link is created when one object belongs to another object.
report abapReportFunction fEndfunction

(f belongs to abapReport).

CALLThis 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.
INCLUDEThis link is used when a file includes another file.
Report abapReportInclude include_name
INHERITEXTENDThis link is created from a class A to a class B if A inherits B.
CLASS subclass DEFINITION   INHERITING FROM superclass.ENDCLASS.
OVERRIDEIf 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.
IMPLEMENTThis 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.
RAISEThis link is created when a method activates an event.
RAISE EVENT evt EXPORTING ...
RELY ONThis 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.
SELECTThis 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
UPDATEThis 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'
DELETEThis 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
INSERTThis 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>

CAST Website