Type pool and field symbols
Type pools (or type group)
*Define* type-pool hktst. TYPES: BEGIN of hktst_typ1, col1(10) TYPE c, col2 TYPE i, END OF hktst_typ1. TYPES hktst_typ2 TYPE p DECIMALS 2. CONSTANTS hktst_eleven TYPE i VALUE 11. *Use Type pool definition* TYPE-POOLS hktst. DATA: dat1 type hktst_typ1, dat2 type hktst_typ2 VALUE '1.23', WRITE: dat2, /hktst_eleven.
ABAP contains the following kinds of named data objects- text Symbols variables constants Interface work areas Ways of declaring variables in ABAP program DATA: To declare variables whose lifetime is linked to the context of declaration STATICS: To declare variables with static validity in procedures CLASS-DATA - To declare static variables within classes PARAMETERS: To declare elementary data objects that are also linked to an input field on a selection screen SELECT-OPTIONS: To declare an internal table that is also linked to input fields on a selection screen RANGES: To declare an internal table with the same structure as in SELECT-OPTIONS, but without linking it to a selection screen
DATA: BEGIN OF ADDRESS, FIRSTNAME(20) VALUE 'Fred', SURNAME(20) VALUE 'Flintstone', INITIALS(4) VALUE 'FF', STREET (20) VALUE 'Cave Avenue', NUMBER TYPE I VALUE '11', POSTCODE TYPE N VALUE '98765', CITY(20) VALUE 'Bedrock', END OF ADDRESS. DATA: BEGIN OF NAME, SURNAME(20), FIRSTNAME(20), INITIALS(4), TITLE(10) VALUE 'Mister', END OF NAME. MOVE-CORRESPONDING ADDRESS TO NAME WRITE: / NAME-SURNAME, NAME-FIRSTNAME, NAME-INITIALS, NAME-TITLE.
Fiels Symbols These are placeholders or symbolic names of other fields. These point to field contents and do not reserve their own memory Fully Specified Field Symbols - DATA: BEGIN OF LINE, COL1, COL2 VALUE 'X', END OF LINE. FIELD-SYMBOLS <FS> LIKE LINE. ASSIGN LINE TO <FS>. MOVE <FS>-COL2 TO <FS>-COL1. WRITE COL1. Output is X ____________________________________________________ Attaching a structure to a field symbol DATA: WA(10) VALUE '0123456789'. DATA: BEGIN OF LINE1, COL1(3), COL2(2), COL3(5), END OF LINE1. DATA: BEGIN OF LINE2, COL1(2), COL2 LIKE SY-DATUM, END OF LINE2. FIELD-SYMBOLS: <FS1> STRUCTURE LINE1 DEFAULT WA, <FS2> STRUCTURE LINE2 DEFAULT WA. ASSIGN LINE1 TO <FS1>. ASSIGN LINE2 TO <FS2>. WRITE: / <F1>-COL1, <F1>-COL2, <F1>-COL3, / <F2>-COL1, <F2>-COL2. Output: 012 34 56789 01 2345/67/89