You are on page 1of 34

NEW SYNTAX

Rajesh
1.INLINE DECLARATION
2.TABLE EXPRESSION
3.DATA OPERATIONS
NEW SYNTAX

• After the 7.4 Version, SAP introduced the concept of New


Syntax to improve the efficiency of the codes and makes
coding easier for developers

• Inline declaration
• Table Expression
• Data Operations
INLINE DECLARATION
TRUST.SPEED.QUALITY
INLINE DECLARATIONS
Select Single From DataBase Table into Work
Area
Old Syntax. New Syntax.
DATA wa TYPE .... SELECT SINGLE fld1, fld2,
SELECT SINGLE fld1 fld2 FROM ....
FROM .... INTO @DATA(wa)
INTO wa WHERE fld1 = @var1
WHERE fld1 = var1 AND fld2 = @var2.
AND fld2 = var2.
Select Single From DataBase Table into
Internal Table
Old Syntax.
DATA itab TYPE TABLE New Syntax.
OF .... SELECT fld1, fld2 FROM ....
SELECT fld1 fld2 FROM .... INTO TABLE @DATA(itab)
INTO TABLE itab WHERE fld1 = @var1
WHERE fld1 = var1 AND fld2 = @var2.
AND fld2 = var2.
Moving Data From One Table To Other

Old Syntax. New Syntax.


DATA lt_tab LIKE itab. DATA(lt_tab) = itab[].
lt_tab[] = itab[].
TABLE EXPRESSION
TRUST.SPEED.QUALITY
Get line from table to Work Area

Old Syntax. DATA(wa) = itab[ fld1 =


READ TABLE itab INTO var1 ].
DATA(wa) WITH KEY fld1 =
var1.
Read table with Index 1

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


READ TABLE itab INTO
DATA(wa) index 1.
Get a particular field from one table to
another variable
Old Syntax. lv_var2 = itab[ fld1 = var1 ]-
READ TABLE itab INTO wa var2.
WITH KEY fld1 = var1.
IF sy-subrc EQ 0.
lv_var2 = wa-var2.
ENDIF.
Check particular Value is in Internal Table.

Old Syntax. New Syntax.


READ TABLE itab IF line_exists( itab[ fld1 = var1
TRANSPORTING NO FIELDS ] ).
WITH KEY fld1 = var1. ENDIF.
IF sy-subrc = 0.
ENDIF.
Get Index Number of Particular Entry From
Internal Table.
Old Syntax. New Syntax.
READ TABLE itab lv_tabix =
TRANSPORTING NO FIELDS line_index( itab[ fld1 =
fld1 = var1. var1 ] ).
IF sy-subrc eq 0
lv_tabix = sy-tabix.
ENDIF.
DATA OPERATIONS
TRUST.SPEED.QUALITY
Adding or Removing Leading Zeros to a
Variable
For Removing Leading Zeros
Old Syntax. var1 = |{ var1 ALPHA = OUT}|.
For Removing Leading Zeros For Adding Leading Zeros
CALL FUNCTION var1 = |{ var1 ALPHA = IN }|.
‘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.
Adding or Removing Leading Zeros to a
Variable
Getting Data into Variable Depending on
Condition
Old Syntax. New Syntax.
IF cond1. var1 = COND #( WHEN cond1
var1 = fld1. THEN fld1 ELSE fld2 ).
ELSE.
var1 = fld2.
ENDIF.
Getting Data into Variable Depending on
Condition
CASE ENDCASE

Old Syntax. New Syntax.


CASE var1. var1 = SWITCH #( var1 WHEN
WHEN cond1. cond1 THEN fld1
var1 = fld1. WHEN cond2 THEN
WHEN cond2. fld2 ).
var1 = fld2.
ENDCASE.
CASE ENDCASE
Creating Table and Filling Data into a Table

Old Syntax. New Syntax.


DATA: itab TYPE TABLE OF structure, DATA(itab) = VALUE structure(( fld1 = 1
wa TYPE structure. fld2 = 'A' )
wa-fld1 = 1. ( fld1 = 2 fld2 = 'B' )).
wa-fld2 = 'A'.
APPEND wa TO itab.
CLEAR WA.
wa-fld1 = 2.
wa-fld2 = 'B'.
APPEND wa TO itab.
CLEAR WA.
Adding New entries to Internal Table
already having entries
Old Syntax. New Syntax.
DATA: itab TYPE TABLE OF structure, itab = VALUE #( BASE itab
wa TYPE structure. ( fld1 = 1 fld2 = 'A' )
wa-fld1 = 1. ( fld1 = 2 fld2 = 'B' ) ).
wa-fld2 = 'A'.
APPEND wa TO itab.
CLEAR WA.
wa-fld1 = 2.
wa-fld2 = 'B'.
APPEND wa TO itab.
CLEAR WA.
Moving Data from one Container to another

Old Syntax. New Syntax.


MOVE-CORRESPONDING itab1 itab2 = CORRESPONDING
to itab2. #( itab1 ).
THANK YOU

You might also like