从选择屏幕输入中获取已联接ESLL、EKPO、EKKO上的行



我想通过SAP Query实现表ESLL、EKPO和EKKO之间的连接。具体来说,这些是我想要实现的步骤:

  1. 在选择参数中,每次我进入查询时,我都会为ESLL-EXTSRVNO提供不同的值
  2. 基于该值,查询应当基于给定的CCD_ 2自动选择CCD_ 1
  3. 则查询应将CCD_ 3设置为等于之前步骤的ESLL-PACKNO值
  4. 则查询应将新的ESLL-PACKNO值设置为等于EKPO-PACKNO,并检索以下字段:EKPO-EBELNEKPO-EBELPEKPO-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-EBEL->EKKO-EBELN

最后我想显示这些信息:

  1. EKPO-EBELN
  2. EKPO-EBELP
  3. EKPO-MATKL
  4. EKKO-BSART
  5. EKPO-PACKNO

你能帮帮我吗?

一个选项可以是在信息集中使用Alias表,类似于以下内容:

  • 第一张表:ESLL
  • 具有联接ZESLL-PACKNO=ESLL-SUB_PACKNO的第二表ZESLL(ESLL上的别名)
  • 第三个表:EKPO-PACKNO=ZESLL-PACKNO上带有联接的EKPO
  • 第四张表:EKKO与EBELN的联接

所以你可以避免ABAP

Infoset加入

相关内容

  • 没有找到相关文章

最新更新