SAP-запрос. Получить значения на основе ввода на экране выбора

Я застрял с кодированием запроса SAP.. Я новичок в ABAP.

Чего я хотел бы добиться, так это объединения таблиц ESLL, EKPO, EKKO. Именно эти шаги я бы хотел достичь:

  1. в параметре выбора каждый раз, когда я буду вводить запрос, я буду давать другое значение для ESLL-EXTSRVNO;
  2. основываясь на этом значении, запрос автоматически должен выбрать ESLL-PACKNO, исходя из заданного ESLL-EXTSRVNO;
  3. тогда запрос должен поместить ESLL-SUB_PACKNO равным значениям ESLL-PACKNO предыдущих шагов;
  4. тогда запрос должен поместить новые значения ESLL-PACKNO равными EKPO-PACKNO и извлечь следующие поля: EKPO-EBELN, EKPO-EBELP, EKPO-MATKL.

Я уже написал некоторый код внутри информационного набора, но я не знаю, как это исправить.

В разделе "данные" я написал:

DATA: it_esll TYPE TABLE OF esll.
DATA: it_esll2 TYPE TABLE OF esll.
DATA: it_ekpo TYPE TABLE OF ekpo.

В разделе "начало выбора" я написал:

 SELECT packno
  FROM esll
  INTO TABLE it_esll.
IF sy-subrc EQ 0.
SELECT packno  FROM esll
  into TABLE it_esll2
  for ALL ENTRIES IN it_esll
  where sub_packno EQ it_esll-packno.
IF sy-subrc EQ 0.
  SELECT ebeln ebelp bukrs werks matkl menge netpr peinh
       FROM ekpo
       into TABLE it_ekpo
        for ALL ENTRIES IN it_esll2
       WHERE packno   EQ it_esll2-packno.
endif.
endif.

И, чтобы отобразить всю информацию, которую я хочу, я добавил следующие соединения: ESLL-PACKNO -> EKPO-PACKNO -> EKPO-EBELN -> EKKO-EBELN

В конце я хотел бы отобразить эту информацию:

  1. Ekpo-EBELN
  2. Ekpo-EBELP
  3. Ekpo-MATKL
  4. ЭККО-BSART
  5. Ekpo-PACKNO

Не могли бы вы мне помочь?

1 ответ

Решение

Одним из вариантов может быть использование таблицы Alias ​​в вашем информационном наборе, что-то вроде этого:

  • Первый стол: ESLL;
  • Вторая таблица ZESLL (псевдоним на ESLL) с объединением ZESLL-PACKNO = ESLL-SUB_PACKNO;
  • Третья таблица: EKPO с объединением на EKPO-PACKNO = ZESLL-PACKNO;
  • Четвертый стол: EKKO с объединением на EBELN;

Таким образом, вы можете избежать ABAP

Infoset Join

Другие вопросы по тегам