Две таблицы в alv - PullRequest
       10

Две таблицы в alv

0 голосов
/ 12 марта 2020

У меня две таблицы BKPF и TOA01.

  1. Отчет должен иметь следующие поля экрана выбора. Балансовая единица (BUKRS), номер документа (BELNR), финансовый год (GJAHR)
  2. Для отчета ALV должно быть доступно следующее поле в макете.

    BKPF-BUKRS

    BKPF-BELNR

    BKPF-GJAHR

    BKPF-USNAM

    TOA01-ARCHIV_ID

    TOA01-ARC_DOC_ID *

    ** Связь между BKPF и TOA01: TOA01-SAP_OBJECT = 'BKPF' и TOA01-OBJECT_ID = сцепление -> BKPF-BUKRS + BKPF-BELNR + BKPF-GJAHR.

Я хочу, чтобы логи c отображались (alv) с использованием двух данных таблиц, используя ссылку между ними (приведенную выше).

Пожалуйста, помогите мне с ответом.

1 Ответ

0 голосов
/ 18 марта 2020

Если вы знакомы с ABAP-CDS, вы можете определить два CDS-представления. Первый содержит данные из таблицы BKPF:

define view zbooking_doc as select from bkpf {
  key bukrs,
  key belnr,
  key gjahr,
  usnam,
  concat(bukrs, belnr, gjahr) as archiv_object_id

}

Второй CDS-View объединяет BKPF с таблицей TOA01 (согласно вашему условию TOA01-SAP_OBJECT = 'BKPF' И TOA01 -OBJECT_ID = concatenate -> BKPF-BUKRS + BKPF-BELNR + BKPF-GJAHR.):

define view zbooking_doc_and_archiv as select from zbooking_doc
  left outer join toa01 on toa01.object_id = zbooking_doc.archiv_object_id {
  key bukrs,
  key belnr,
  key gjahr,
  usnam,
  archiv_id,
  arc_doc_id
} where toa01.sap_object = 'BKPF'

Таблицы, показанные в ALV, могут быть заполнены оператором выбора в представлении zbooking_doc_and_archiv.

...