0% found this document useful (0 votes)
141 views9 pages

ABAP New Syntax

The document provides an overview of the new features and syntax introduced in SAP ABAP 7.4, including inline declarations, table expressions, and various operators such as value, for, switch, and conditional operators. It compares the new syntax with the previous versions, demonstrating how to perform common tasks like variable assignment, looping, and reading from tables more efficiently. Additionally, it includes examples to illustrate the practical application of these new syntax features.

Uploaded by

justnayak87
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)
141 views9 pages

ABAP New Syntax

The document provides an overview of the new features and syntax introduced in SAP ABAP 7.4, including inline declarations, table expressions, and various operators such as value, for, switch, and conditional operators. It compares the new syntax with the previous versions, demonstrating how to perform common tasks like variable assignment, looping, and reading from tables more efficiently. Additionally, it includes examples to illustrate the practical application of these new syntax features.

Uploaded by

justnayak87
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/ 9

SAP ABAP

7.4 Syntax
Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

SAP ABAP 7.4 Syntax

Contents
SAP ABAP 7.4 Syntax ............................................................................................................................... 1
Inline Declarations ............................................................................................................................... 1
Table Expressions ................................................................................................................................ 3
Value Operator .................................................................................................................................... 5
For Operator........................................................................................................................................ 6
Switch Operator .................................................................................................................................. 6
Conditional Operator ........................................................................................................................... 7
Conversion Operator ........................................................................................................................... 7
Reduce Operator ................................................................................................................................. 7
New Operator...................................................................................................................................... 7
Strings ................................................................................................................................................. 8
References .......................................................................................................................................... 8

Inline Declarations
Variables Assignment
DATA(lv_num) = 1.
DATA(lv_num2) = lv_num.

Before 7.4
DATA: lv_num TYPE I,
lv_num2 type I
lv_num = 1.
lv_num2 = lv_num.

Looping on Internal Tables


7.4 Syntax for loop into Work area:
LOOP AT itab INTO DATA(wa).
"logic
ENDLOOP.

Example:
LOOP AT it_ekko INTO DATA(ls_ekko).
"Logic
ENDLOOP.

Email: ypkrbandi@gmail.com 1|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

Before 7.4 Syntax


DATA: ls_ekko TYPE ekko.
LOOP AT it_ekko INTO ls_ekko.
"Logic
ENDLOOP.

7.4 Syntax for loop at assigning:


LOOP AT itab ASSIGNING FIELD-SYMBOL(<fs_line>).
"logic
ENDLOOP.

Example:
LOOP AT it_ekko ASSIGNING FIELD-SYMBOL(<fs_ekko>).
"Logic
ENDLOOP.

Before 7.4 Syntax


FIELD-SYMBOLS <fs_ekko> type ekko.
LOOP AT it_ekko ASSIGNING <fs_ekko>.
"Logic
ENDLOOP.

Actual Parameters in Methods


After 7.4 Syntax
method1(
EXPORTING iv_input = lv_inp
IMPORTING iv_result = DATA(lv_result) ).

Before 7.4 Syntax


DATA: lv_result TYPE char5.
method1(
EXPORTING iv_input = lv_inp
IMPORTING iv_result = lv_result ).

Read Table Statements


7.4 Syntax for Read table into work area:
READ TABLE it_ekko INTO DATA(ls_wa) WITH KEY col1 = value col2 = value.
READ TABLE it_ekko INTO DATA(ls_wa) INDEX indx_val.

Example:
READ TABLE it_ekko INTO DATA(ls_ekko) WITH KEY ebeln = '5000000001' bsart =
'NB'.
READ TABLE it_ekko INTO DATA(ls_ekko) INDEX 1.

Before 7.4 Syntax


DATA: ls_ekko TYPE ekko.
READ TABLE it_ekko INTO ls_ekko WITH KEY ebeln = '5000000001' bsart = 'NB'.
READ TABLE it_ekko INTO ls_ekko INDEX 1.

Email: ypkrbandi@gmail.com 2|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

7.4 Syntax for Read Assigning:


READ TABLE itab ASSIGNING FIELD-SYMBOL(<fs_line>).

Example:
READ TABLE it_ekko ASSIGNING FIELD-SYMBOL(<fs_ekko1>)
WITH KEY ebeln = '5000000001' bsart = 'NB'.

READ TABLE it_ekko ASSIGNING FIELD-SYMBOL(<fs_ekko>) INDEX 1.

Before 7.4 Syntax


FIELD-SYMBOLS <fs_ekko> TYPE ekko.
READ TABLE it_ekko ASSIGNING <fs_ekko> WITH KEY ebeln = '5000000001'
bsart = 'NB'.

READ TABLE it_ekko ASSIGNING <fs_ekko> INDEX 1.

Selection Statements
7.4 Syntax for Select Statement:
SELECT * FROM db_tab_name INTO TABLE @DATA(itab) WHERE field = @lv_field.
SELECT SINGLE f1,f2 FROM db_tab_name INTO @DATA(ls_str) WHERE
field = @lv_field.

Example:
SELECT * FROM ekko INTO TABLE @DATA(it_ekko) WHERE ebeln = @lv_ebeln.
SELECT SINGLE ebeln, ebelp FROM ekpo into @DATA(ls_ekpo) WHERE ebeln =
@lv_ebeln.

Before 7.4 Syntax


DATA: it_ekko TYPE TABLE OF ekko,
ls_ekko TYPE ekko.
SELECT * FROM ekko INTO TABLE it_ekko WHERE ebeln = lv_ebeln.
SELECT SINGLE ebeln, ebelp FROM ekpo into @ls_ekpo WHERE ebeln = @lv_ebeln.

Table Expressions
7.4 Syntax for Read Table with Index and Components
DATA(wa) = itab[ index ].
DATA(wa) = itab[ value ].
DATA(wa) = itab[ col1 = value col2 = value].

Example:
DATA(ls_ekko1) = it_ekko[ '5000000001' ].
DATA(ls_ekko2) = it_ekko[ ebeln = '5000000001' ].
DATA(ls_ekko2) = it_ekko[ ebeln = '5000000001' bsart = 'NB' ].
DATA(ls_ekko3) = it_ekko[ 1 ].

Before 7.4 Syntax


READ TABLE it_ekko INTO ls_ekko INDEX 1.
READ TABLE it_ekko INTO ls_ekko WITH KEY ebeln = '5000000001'.
READ TABLE it_ekko INTO ls_ekko WITH KEY ebeln = '5000000001' bsart = 'NB'.

Email: ypkrbandi@gmail.com 3|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

7.4 Syntax for Line Exists in Table


IF line_exists( itab[ col1 = value ] ).
"logic
ENDIF.

Example:
IF line_exists( it_ekko[ ebeln = '5000000001' bsart = 'NB' ] ).
"logic
ENDIF.

Before 7.4 Syntax


READ TABLE it_ekko INTO ls_ekko WITH KEY ebeln = '5000000001' bsart = 'NB'.
IF sy-subrc EQ 0.
"logic
ENDIF.

7.4 Syntax for Index of the record


DATA(lv_index) = line_index( itab[ col = value ] ).

Example:
DATA(lv_index) = line_index( it_ekko[ ebeln = '5000000001' ] ).

7.4 Syntax for Corresponding


DATA(wa2) = CORRESPONDING tb_name( wa1 ).

Example:
DATA(ls_ekko2) = CORRESPONDING ekko( ls_ekko ).

Before 7.4 Syntax


MOVE-CORRESPONDING ls_ekko to ls_ekko1.

7.4 Syntax for table assigning to another table


DATA: itab1 TYPE TABLE OF ekko.
DATA(itab2) = itab1.

Example:
DATA(lt_tmp_table1) = it_ekko.

Before 7.4 Syntax


DATA: it_tmp_tb TYPE TABLE OF ekko,
it_ekko TYPE TABLE OF ekko.
lt_tmp_tb = it_ekko.

7.4 Syntax to get particular field value of a table record


DATA(lv_field_var) = itab[ field = value ]-required_field_name

Example
DATA(ls_doc_type) = it_ekko[ ebeln = '5000000001' ]-bsart.

7.4 Syntax to check with table field


IF itab[ field = value ]- required_field_name = value.

ENDIF.

Email: ypkrbandi@gmail.com 4|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

Example
IF it_ekko[ ebeln = '5000000001' ]-bsart = 'NB'.

ENDIF.

Value Operator
Add records to internal table
Example 1
APPEND VALUE #( ebeln = ls_ekpo-ebeln ebelp = ls_ekpo-ebelp werks = ls_ekpo-
werks matnr = ls_ekpo-matnr ) TO it_ekpo.

Example 2
DATA(lt_rg) = VALUE rseloption( ( sign = 'I' option = 'EQ' low = '1' ) ).

Example 3
APPEND VALUE #( ebeln = ls_ekko-ebeln ) TO it_ekpo.

Add multiple records to internal table


Example 1
TYPES ty_ekko TYPE TABLE OF ekko WITH DEFAULT KEY.
TYPES ty_ekpo TYPE TABLE OF ekpo WITH DEFAULT KEY.
DATA(it_ekko1) = VALUE ty_ekko( ( ebeln = '5000000001' ) ( ebeln = '500000000
2' ) ).

Example 2
DATA: it_ekpo TYPE TABLE OF ekpo,
ls_ekpo TYPE ekpo.
it_ekpo = VALUE #( ( ebeln = '5000000001' ) ( ebeln = '5000000002' ) ( ebeln
= '5000000003' ) ).

Example 3
DATA lt_range TYPE TABLE OF rsdsselopt.
lt_range = VALUE #( ( sign = 'I' option = 'EQ' low = '1' ) ( sign = 'I' opti
on = 'EQ' low = '2' ) ).

Add values to work area


DATA(ls_ekko1) = VALUE ekko( ebeln = '5000000001' ).
DATA(ls_ekko1) = VALUE #( it_ekko[ ebeln = '5000000001' ] OPTIONAL ).

Filter the internal table and pass records to another internal table
Example
it_ekpo1 = VALUE #( BASE it_ekpo FOR ls_ekko IN it_ekko ( ebeln = ls_ekko-
ebeln ) ).

7.4 Syntax to get total lines of internal table


DATA(lv_lines) = LINES( itab ).
Example
DATA(lv_lines) = LINES( it_ekko ).

Email: ypkrbandi@gmail.com 5|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

7.4 Syntax to check record exist in table


SELECT SINGLE @abap_true FROM ekko INTO @DATA(lv_flag) WHERE ebeln = value.
IF lv_flag eq abap_true.
"logic
ELSE.
"logic
ENDIF.

For Operator
7.4 Syntax
FOR wa|<fs> IN itab [INDEX INTO idx] [cond]

Example 1
TYPES ty_ekpo TYPE TABLE OF ekpo WITH DEFAULT KEY.

DATA(it_ekpo1) = VALUE ty_ekpo( FOR ls_ekpo IN it_ekpo WHERE ( ebeln = '5000


000001' ) ( ebeln = ls_ekpo-ebeln ) ).

Example 2
TYPES lty TYPE TABLE of rsdsselopt WITH DEFAULT KEY.

DATA(lt_rg) = VALUE rseloption( FOR <fs> IN it_ekpo ( sign = 'I' option = 'EQ
' low = <fs>-ebeln ) ).

Example 3
DATA(lt_rg) = VALUE rseloption( FOR <fs> IN it_ekpo WHERE ( ebeln IS NOT INIT
IAL ) ( sign = 'I' option = 'EQ' low = <fs>-ebeln ) ).

Switch Operator
7.4 Syntax
DATA(lv_var) = SWITCH dtype|#( operand
WHEN const1 THEN result1
WHEN const2 THEN result2
ELSE resultn ).
Example
DATA(lv_num2) = SWITCH #( p_value WHEN 'A' THEN 1
WHEN 'B' THEN 2
WHEN 'A' THEN 3 ).

Before 7.4 Syntax


DATA: p_value TYPE c VALUE 'A',
lv_num TYPE i.

CASE p_value.
WHEN 'A'.
lv_num = 1.
WHEN 'B'.
lv_num = 2.
WHEN 'C'.
lv_num = 3.
ENDCASE.

Email: ypkrbandi@gmail.com 6|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

Conditional Operator
7.4 Syntax
DATA(lv_val) = COND dtype( WHEN log_exp1 THEN result1
WHEN log_exp2 THEN result2
ELSE resultn ).
Example
DATA(time) =
COND string(
WHEN sy-timlo < '120000' THEN |{ sy-timlo TIME = ISO } AM|
WHEN sy-timlo > '120000' THEN |{ CONV t( sy-timlo -
12 * 3600 ) TIME = ISO } PM|
WHEN sy-timlo = '120000' THEN |High Noon| ).

Conversion Operator
Example
DATA txt TYPE abap_bool.
DATA str TYPE string.

txt = ' '.


str = ` `.

IF txt = str.
" This block is executed.
ENDIF.

IF txt = CONV abap_bool( str ).


" This block is executed.
ENDIF.

Reduce Operator
7.4 Syntax
DATA(lv_result) = REDUCE dt_type( INIT result = start_value FOR exp1
NEXT result = iterated_value )
Example
DATA(lines) = REDUCE i( INIT x = 0 FOR ls_ekko1 IN it_ekko
WHERE ( ebeln = '5000000000' )
NEXT x = x + 1 ).

New Operator
7.4 Syntax
DATA(lo_ref) = NEW class_name.
Example
DATA(lo_ref) = NEW zcl_class.

Before 7.4 Syntax


DATA lo_ref TYPE REF TO zcl_class.
CREATE OBJECT lo_ref.

Email: ypkrbandi@gmail.com 7|P ag e


Prepared by Yogi Pavan - SAP ABAP Consultant Linkedin – Bandi Yogi Pavan Kumar Reddy

Conversions
7.4 Syntax
DATA(lv_var) = |{ lv_var_field ALPHA = IN | OUT } |.

Example
DATA(lv_matnr_in) = |{ lv_matnr ALPHA = IN } |.
DATA(lv_matnr1) = |{ lv_matnr_IN ALPHA = OUT } |.

Before 7.4 Syntax


DATA lv_matnr TYPE matnr.
lv_matnr = '1001'.

call FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'


EXPORTING
input = lv_matnr
IMPORTING
output = lv_matnr.

Text Translations
7.4 Syntax
DATA(lv_var) = | { lv_var_text CASE = LOWER | UPPER } |.
Example
DATA(lv_text_l) = | { lv_text CASE = LOWER } |.
DATA(lv_text_u) = | { lv_text_l CASE = UPPER } |.

Before 7.4 Syntax


DATA lv_text(10) TYPE c VALUE 'SAP ABAP'.
TRANSLATE lv_text TO LOWER CASE.
TRANSLATE lv_text TO UPPER CASE.

Strings
Example
DATA(lv_string) = |HELLO| & |WORLD|.
DATA(lv_string1) = |HELLO| & | | & |WORLD|.

Before 7.4 Syntax


DATA lv_output TYPE STRING.
CONCATENATE 'HELLO' 'WORLD' INTO lv_output SEPARATED BY space.

References
https://help.sap.com/doc/abapdocu_latest_index_htm/latest/en-US/index.htm?file=abennews-
740.htm

Email: ypkrbandi@gmail.com 8|P ag e

You might also like