簡體   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