Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Program Parameters →  Parameters in the SAP Memory 

GET PARAMETER

Short Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


GET PARAMETER ID pid FIELD dobj. 

Effect

This statement sets the content of the data object dobj to the content of the SPA/GPA parameter specified in pid. The identification pid must be a flat character-like field that contains no more than 20 characters and does not consist solely of blanks. The field is case-sensitive. dobj expects a flat character-like field to which the binary content of the SPA/GPA parameter is passed unconverted.

The statement GET PARAMETER does not access the SAP Memory directly. Instead, it accesses a local mapping of the SPA/GPA parameter in the roll area, which is loaded when rolled in and saved in the SAP Memory when rolled out (see SPA/GPA Parameters and ABAP Programs). If the SPA/GPA parameter specified in pid does not yet exist in the SAP Memory for the current user, the data object dobj is initialized and sy-subrc is set to 4.

A program can only read those SPA/GPA parameters for which there is a name in the table TPARA. If it can be determined statically that an ID pid is not in the database table TPARA, the extended program check reports an error.

System Fields

sy-subrc Meaning
0 The SPA/GPA parameter specified in pid exists for the current user in the SAP Memory and its value was passed o the target field.
4 The SPA/GPA parameter specified in pid does not exist for the current user in the SAP Memory.


Notes

  • An SPA/GPA parameter that is readable using GET PARAMETER can either have been created previously in the SAP Memory using the SET PARAMETER statement or created automatically in the event PAI of a dynpro or selection screen.
  • An SPA/GPA parameter specified in pid can match a name in the database table TPARA only if it is entered in uppercase letters.
  • The statements SET PARAMETER and GET PARAMETER do not work directly with the SPA/GPA parameters of the SAP Memory, which means that they are only suitable for passing data within a single main session and not for passing data between two main sessions in parallel This is because programs that run in parallel can change the state of the parameters unpredictably.

Example

In this example, the current value of the SPA/GPA parameter RID is read from the SAP Memory to the data object prog. In the dynpros in ABAP Workbench, this parameter is associated with the input fields for a program name. When an ABAP Workbench tool in which an ABAP program is processed, is first called, the parameter is created in the event PAI and assigned the name of the program specified there. If, in the same user session, no dynpro is processed that sets the parameter RID and no corresponding SET PARAMETER statement was executed beforehand, then RID is not found in the SAP Memory.

DATA: para TYPE tpara-paramid VALUE 'RID', 
      prog TYPE sy-repid. 

GET PARAMETER ID para FIELD prog. 

IF sy-subrc <> 0. 
  MESSAGE 'Parameter not found' TYPE 'I'. 
ENDIF.