天天看點

SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】語句介紹代碼示例案例代碼示範效果示範

 💬個人網站:【芒果個人日志】​​​​​​

 💬原文位址:SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】 - 芒果個人日志 (wyz-math.cn)

💂作者簡介: THUNDER王,一名熱愛财稅和SAP ABAP程式設計以及熱愛分享的部落客。目前于江西師範大學會計學專業大二大學在讀,同時任漢碩雲(廣東)科技有限公司ABAP開發顧問。在學習工作中,我通常使用偏後端的開發語言ABAP,SQL進行任務的完成,對SAP企業管理系統,SAP ABAP開發和資料庫具有較深入的研究。

💅文章概要:本文主要介紹SAP ABAP中OPEN SQL的FOR ALL ENTRIES IN語句

🤟每日一言:生活熬過苦難,才有回憶的笑談。 願你成為自己的太陽,無需憑借誰的光。

目錄

語句介紹

代碼示例

案例代碼示範

效果示範

1. BSEG資料庫表資料

2. BSIS資料庫表資料

語句介紹

使用FOR ALL ENTRIES IN語句将不能使用join的聚集表(例如BSEG)或者需要使用select的内表與内表串聯。

代碼示例

SELECT...FOR ALL ENTRIES IN <itab> WHERE <condition>
           

案例代碼示範

案例簡介:由于BESG不能和BSIS做内聯,是以先将BSIS要擷取的内容放到内表中,然後用FOR ALL ENTRIES IN來串聯

REPORT ZWYZTEST_FOR_MANGO.

DATA:GT_BSEG TYPE TABLE OF BSEG.
DATA:GT_BSIS TYPE TABLE OF BSIS.
DATA:GS_BSIS TYPE BSIS.

SELECT * FROM BSEG INTO CORRESPONDING FIELDS OF TABLE GT_BSEG UP TO 10 ROWS.

SELECT * FROM BSIS INTO CORRESPONDING FIELDS OF TABLE GT_BSIS  FOR ALL ENTRIES IN GT_BSEG
   WHERE BUKRS = GT_BSEG-BUKRS AND BELNR = GT_BSEG-BELNR AND GJAHR = GT_BSEG-GJAHR AND BUZEI = 
   GT_BSEG-BUZEI.

LOOP AT GT_BSIS INTO GS_BSIS.
   WRITE:/ GS_BSIS-BUKRS,GS_BSIS-BELNR,GS_BSIS-GJAHR,GS_BSIS-BUZEI.
ENDLOOP.
           
SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】語句介紹代碼示例案例代碼示範效果示範

​​

代碼結果.jpg

效果示範

1. BSEG資料庫表資料

SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】語句介紹代碼示例案例代碼示範效果示範

​​

BSEG1.jpg

SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】語句介紹代碼示例案例代碼示範效果示範

​​

BSEG2.jpg

2. BSIS資料庫表資料

SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】語句介紹代碼示例案例代碼示範效果示範
SAP ABAP——OPEN SQL(二)【FOR ALL ENTRIES IN 】語句介紹代碼示例案例代碼示範效果示範

從上面圖檔中可以看出,成功的将兩個表中相同資料的資料項取出來并且輸出了!