繁体   English   中英

SAP 查询。 根据选择屏幕上的输入检索值

[英]SAP query. Retrieve values basing on input on selection screen

我坚持编写 SAP 查询。我是 ABAP 的新手。

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

  1. 在每次我输入查询时的选择参数中,我都会为 ESLL-EXTSRVNO 提供不同的值;
  2. 根据该值,查询应根据给定的 ESLL-EXTSRVNO 自动选择 ESLL-PACKNO;
  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. EKKO-BSART
  5. EKPO-PACKNO

你能帮帮我吗?

一种选择是在您的信息集中使用别名表,如下所示:

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

所以你可以避免 ABAP

信息集加入

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM