Thursday, 16 November 2017

ABAP – Variables

       
           Variables are named data objects used to store values within the allotted memory area of a program. As the name suggests, users can change the content of variables with the help of ABAP statements. Each variable in ABAP has a specific type, which determines the size and layout of the variable's memory; the range of values that can be stored within that memory; and the set of operations that can be applied to the variable.
 You must declare all variables before they can be used.
The basic form of a variable declaration is:

DATA <F> TYPE <TYPE>VALUE <VAL>.

Here <F> specifies the name of a variable. The name of the variable can be up to 30 characters long. <TYPE> specifies the type of variable. Any data type with fully specified technical attributes is known as <TYPE> . The <VAL> specifies the initial value of the of <F> variable. In case you define an elementary fixed-length variable, the DATA statement automatically populates the value of the variable with the type-specific initial value. Other possible values for <VAL> can be a literal, constant, or an explicit clause, such as Is INITIAL.

 Following are valid examples of variable declarations.

DATA d1(2) TYPE C.
DATA d2 LIKE d1.
DATA minimum_value TYPE I VALUE 10.


              In the above code snippet, d1 is a variable of C type, d2 is a variable of d1 type, and minimum_value is a variable of ABAP integer type I. This chapter will explain various variable types available in ABAP.
There are three kinds of variables in ABAP:
 · Static Variables
· Reference Variables
· System Variables

Static Variables

· Static variables are declared in subroutines, function modules, and static methods.
· The lifetime is linked to the context of the declaration.
· With ‘CLASS-DATA’ statement, you can declare variables within the classes.
· The ‘PARAMETERS’ statement can be used to declare the elementary data objects that are linked to input fields on a selection screen.
 · You can also declare the internal tables that are linked to input fields on a selection screen by using ‘SELECT-OPTIONS’ statement.

Following are the conventions used while naming a variable:

· You cannot use special characters such as "t" and "," to name variables.
· The name of the predefined data objects can’t be changed.
· The name of the variable can’t be the same as any ABAP keyword or clause.
· The name of the variables must convey the meaning of the variable without the need for further comments.
· Hyphens are reserved to represent the components of structures. Therefore, you are supposed to avoid hyphens in variable names.
 · The underscore character can be used to separate compound words.
This program shows how to declare a variable using the PARAMETERS statement:

REPORT ZTest123_01.
PARAMETERS: NAME(10) TYPE C,
CLASS TYPE I,
SCORE TYPE P DECIMALS 2,
CONNECT TYPE MARA-MATNR.
  
             Here, NAME represents a parameter of 10 characters, CLASS specifies a parameter of integer type with the default size in bytes, SCORE represents a packed type parameter with values up to two decimal places, and CONNECT refers to the MARA-MATNF type of ABAP Dictionary.

 The above code produces the following output:



Reference Variables

The syntax for declaring reference variables is:

 · REF TO addition declares a reference variable ref.
· The specification after REF TO specifies the static type of the reference variable.
 · The static type restricts the set of objects to which <ref>can refer.
· The dynamic type of reference variable is the data type or class to which it currently refers.
 · The static type is always more general or the same as the dynamic type.
· The TYPE addition is used to create a bound reference type and as a start value, and only IS INITIAL can be specified after the VALUE addition.
 Example


· In the above code snippet, an object reference Oref and two data reference variables Dref1 and Dref2 are declared.
· Both data reference variables are fully typed and can be dereferenced using the dereferencing operator ->* at operand positions. System Variables
 · ABAP system variables are accessible from all ABAP programs.
 · These fields are actually filled by the run-time environment.
· The values in these fields indicate the state of the system at any given point of time.
· You can find the complete list of system variables in the SYST table in SAP.
 · Individual fields of the SYST structure can be accessed by using either “SYST-” or “SY-”.
 Example
REPORT Z_Test123_01.
WRITE:/'SY-ABCDE', SY-ABCDE,
 /'SY-DATUM', SY-DATUM,
 /'SY-DBSYS', SY-DBSYS,
/'SY-HOST ', SY-HOST,
/'SY-LANGU', SY-LANGU,
/'SY-MANDT', SY-MANDT,
 /'SY-OPSYS', SY-OPSYS,
 /'SY-SAPRL', SY-SAPRL,
 /'SY-SYSID', SY-SYSID,
 /'SY-TCODE', SY-TCODE,
 /'SY-UNAME', SY-UNAME,
 /'SY-UZEIT', SY-UZEIT.
The above code produces the following
output:
SY-ABCDE ABCDEFGHIJKLMNOPQRSTUVWXYZ
SY-DATUM 12.09.2015
 SY-DBSYS ORACLE
 SY-HOST sapserver
SY-LANGU EN
SY-MANDT 800
SY-OPSYS Windows NT
 SY-SAPRL 700
 SY-SYSID DMO
SY-TCODE SE38
SY-UNAME SAPUSER
 SY-UZEIT 14:25:48

No comments:

Post a Comment