понедельник, 16 мая 2016 г.

Новый синтаксис ABAP. Читаем поле из внутренней таблицы.


    data:
lt_mat_uom type hashed table of ts_mat_uom
        with unique key /BIC/ZMATERIA



    "Находим БЕИ для материала. Заодно и проверка целостности
    lv_tmp = SOURCE_FIELDS-NNOM.
    try.
      RESULT = lt_mat_uom[
        key PRIMARY_KEY components /BIC/ZMATERIA = lv_tmp
      ]-/BIC/ZUNIT.

      catch cx_sy_itab_line_not_found.
        "Не нашли такой материал. Целостность нарушена.
        append
          value #(
            msgid = 'RSRMON'
            msgty = 'E'
            msgno = '000'
            msgv1 = |Ошибка проверки целостности ссылок. |
            msgv2 = |Материал = { lv_tmp }|
          )
          to MONITOR.

        "Помечаем, что есть ошибка
        lv_has_err = abap_true.

    endtry.