💬個人網站:【芒果個人日志】
💬原文位址: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.
代碼結果.jpg
效果示範
1. BSEG資料庫表資料
BSEG1.jpg
BSEG2.jpg
2. BSIS資料庫表資料
從上面圖檔中可以看出,成功的将兩個表中相同資料的資料項取出來并且輸出了!