Найти в Дзене
ABAP SAP | Артур YouCoder

Новый синтаксис ABAP SAP

Много классного появилось в новой версии ABAP! Расскажу про некоторые конструкции!
- NEW ABAP - создание инстанции класса ABAP
- Проверка записи без чтения данных из таблицы SAP.
- Считывание данных из внутренней таблицы ABAP
Оглавление
Много классного появилось в новой версии ABAP! Расскажу про некоторые конструкции!
Много классного появилось в новой версии ABAP! Расскажу про некоторые конструкции!

NEW ABAP - создание инстанции класса ABAP

Старый вариант синтаксиса выглядел так:

CREATE OBJECT lv_value_node
EXPORTING
iv_data_ref = lo_ref.

Новый вариант более короткий и удобный:

lv_value_node = NEW # ( iv_data_ref = lo_ref ).

А если нет разницы, зачем писать больше?)

Лень двигатель прогресса. Это правда и для ABAP.
Лень двигатель прогресса. Это правда и для ABAP.

line_exists - проверка наличия записи во внутренней таблице ABAP без считывания

Старый вариант проверки наличия записи выглядел так:

READ TABLE lt_data TRANSPORTING NO FIELDS
WITH KEY new_int = '2'.
IF sy-subrc = 0.
EXIT.
ENDIF.

Новый вариант упрощает работу ABAP разработчика и увеличивает читабельность:

IF line_exists( lt_data[ new_int = '2' ] ).
EXIT.
ENDIF.
Читать полезно, но лишнее читать из внутренней таблицы ABAP не стоит!)
Читать полезно, но лишнее читать из внутренней таблицы ABAP не стоит!)

VALUE # - чтобы считать данные из внутренней таблицы ABAP

Старый вариант знаком многим:

DATA: ls_data TYPE z_str_type.
READ TABLE mt_data INTO ls_data WITH KEY vbeln = lv_vbeln.

Новый вариант записывается таким образом:

DATA(ls_data_new) = VALUE # ( mt_data[ vbeln = lv_vbeln ] OPTIONAL ).

Подписывайтесь на канал и увидите много интересных и полезных фишек ABAP!)

Подписывайтесь на канал Дзен и YouTube и узнаете много нового про ABAP!
Подписывайтесь на канал Дзен и YouTube и узнаете много нового про ABAP!

Да и с Вас лайк и коммент с любой конструкцией нового синтаксиса!)