0% found this document useful (0 votes)
52 views7 pages

Inline Declaration

The document discusses new syntax introduced in ABAP to replace older syntax. It provides examples of replacing old syntax for declaring variables, selecting data from databases into internal tables or work areas, accessing data in internal tables, object-oriented coding, and other tasks with newer syntax using keywords like DATA, SWITCH, COND, CORRESPONDING, NEW etc. for more readable and maintainable code.

Uploaded by

RAJESH RAO MORE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views7 pages

Inline Declaration

The document discusses new syntax introduced in ABAP to replace older syntax. It provides examples of replacing old syntax for declaring variables, selecting data from databases into internal tables or work areas, accessing data in internal tables, object-oriented coding, and other tasks with newer syntax using keywords like DATA, SWITCH, COND, CORRESPONDING, NEW etc. for more readable and maintainable code.

Uploaded by

RAJESH RAO MORE
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

Inline Declaration

~Kalpesh Deore

Old Syntax.
DATA var1 TYPE char5.
var1 = ‘ABC’.

New Syntax.
DATA(var1) = ‘ABC’.

Select Single From DataBase Table into Work Area


Old Syntax.
DATA wa TYPE ....
SELECT SINGLE fld1 fld2 FROM ....
INTO wa
WHERE fld1 = var1
AND fld2 = var2.

New Syntax.
SELECT SINGLE fld1, fld2, FROM ....
INTO @DATA(wa)
WHERE fld1 = @var1
AND fld2 = @var2.

Selecting Data From DataBase Table Into Internal Table,


Old Syntax.
DATA itab TYPE TABLE OF ....
SELECT fld1 fld2 FROM ....
INTO TABLE itab
WHERE fld1 = var1
AND fld2 = var2.

New Syntax.
SELECT fld1, fld2 FROM ....
INTO TABLE @DATA(itab)
WHERE fld1 = @var1
AND fld2 = @var2.
Declaration of the work area while operation on Internal Table,
Old Syntax.
DATA wa TYPE structure
LOOP AT itab INTO wa.
or
READ TABLE itab into wa WITH KEY field1 = var1.

New Syntax.
LOOP AT itab INTO data(wa).
or
READ TABLE itab into data(wa) WITH KEY field1 = var1.

Moving Data From One Table To Other.


Old Syntax.
DATA lt_tab LIKE itab.
lt_tab[] = itab[].

New Syntax.
DATA(lt_tab) = itab[].

Assigning Field Symbols


Old Syntax.
FIELD-SYMBOLS: <line> type …
LOOP AT itab ASSIGNING <line>.
or
READ TABLE itab ASSIGNING <line> WITH KEY FLD1 = VAR1.

New Syntax.
LOOP AT itab ASSIGNING FIELD-SYMBOL(<line>).
OR
READ TABLE itab ASSIGNING FIELD-SYMBOL(<line>) WITH KEY FLD1 =
VAR1.

~~ Table Expression~~
Get line from table to Work Area.
Old Syntax.
READ TABLE itab INTO DATA(wa) WITH KEY fld1 = var1.

New Syntax.
DATA(wa) = itab[ fld1 = var1 ].

Read table with Index 1.


Old Syntax.
READ TABLE itab INTO DATA(wa) index 1.

New Syntax.
DATA(wa) = itab[ 1 ].

Get a particular field from one table to another variable.


Old Syntax.
READ TABLE itab INTO wa WITH KEY fld1 = var1.
IF sy-subrc EQ 0.
lv_var2 = wa-var2.
ENDIF.

New Syntax.
lv_var2 = itab[ fld1 = var1 ]-var2.

Check particular Value is in Internal Table.


Old Syntax.
READ TABLE itab TRANSPORTING NO FIELDS WITH KEY fld1 = var1.
IF sy-subrc = 0.ENDIF.

New Syntax.
IF line_exists( itab[ fld1 = var1 ] ).
ENDIF.
Get Index Number of Particular Entry From Internal Table.
Old Syntax.
READ TABLE itab TRANSPORTING NO FIELDS fld1 = var1.
IF sy-subrc eq 0
lv_tabix = sy-tabix.
ENDIF.

New Syntax.
lv_tabix = line_index( itab[ fld1 = var1 ] ).

~~Adding or Removing Leading Zeros to a Variable~~

Old Synatx.
For Removing Leading Zeros
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_OUTPUT’
EXPORTING
input = var1
IMPORTING
OUTPUT = var1 .
For Adding Leading Zeros
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’
EXPORTING
input = var1
IMPORTING
OUTPUT = var1 .

New Syntax.
For Removing Leading Zeros
var1 = |{ var1 ALPHA = OUT}|.
For Adding Leading Zeros
var1 = |{ var1 ALPHA = IN }|.

~~Getting Data into Variable Depending on Condition~~


Old Syntax.
IF cond1.
var1 = fld1.
ELSE.
var1 = fld2.
ENDIF.

New Syntax.
var1 = COND #( WHEN cond1 THEN fld1 ELSE fld2 ).

Case Endcase.

Old Syntax.
CASE var1.
WHEN cond1.
var1 = fld1.
WHEN cond2.
var1 = fld2.
ENDCASE.

New Syntax.
var1 = SWITCH #( var1 WHEN cond1 THEN fld1
WHEN cond2 THEN fld2 ).

~~Moving Data from one Container to another~~


Old Syntax.
MOVE-CORRESPONDING itab1 to itab2.

New Syntax.
itab2 = CORRESPONDING #( itab1 ).

Using Above Syntax only fields which are identical in the container will
be moved to move it to other fields this new syntax can be used.
itab2 = CORRESPONDING #( itab1 MAPPING t1_fld1 = t2_fld1
t1_fld2 = t2_fld2 ).

If some fields need to excluded while moving corresponding fields, this


syntax can be used.
itab2 = CORRESPONDING #( itab1 EXCEPT t1_fld3,t1_fld4 ).

~~Object-Oriented~~
Old Syntax.
DATA: binary_content TYPE solix_tab.
DATA: xl_content TYPE xstring .CALL METHOD
cl_document_bcs=>xstring_to_solix
EXPORTING
ip_xstring = xl_content
receiving
rt_solix = binary_content

New Syntax.
binary_content = cl_bcs_convert=>xstring_to_solix( ip_xstring =
xl_content ).

~~Creating Object for OOABAP~~

Old Syntax.
DATA oref TYPE REF TO class.
CREATE OBJECT oref EXPORTING …

New Syntax.
DATA oref TYPE REF TO class.
oref = NEW #( … ).
or
with an inline declaration
DATA(oref) = NEW class( … )

You might also like