业务上是EBAN中一条对EKPO中多条数据,所以你的代码可以这样写
FORM GET_DATA.
SELECT LFDAT BANFN BADAT MENGE WERKS
FROM EBAN
INTO CORRESPONDING FIELDS OF TABLE IT_HEADER
WHERE WERKS IN Z_WERKS.
IF IT_HEADER[] IS NOT INITIAL.
SELECT *
FROM EKPO
INTO CORRESPONDING FIELDS OF IT_EKPO
FOR ALL ENTRIES IN IT_HEADER
WHERE BANFN = IT_HEADER-BANFN.
ENDIF.
LOOP AT IT_EKPO INTO IW_EKPO.
...这里就是所有需要的数据
ENDLOOP.
ENDFORM.
因为是选择的多条数据。那么LOOP AT的时候就是从第一条开始读数据
所以LOOP AT中间就可以直接知道每一条的数据内容
比如
WERITE: WA_HEADER-BANFA
就是把选择到的每一个采购申请号显示出来。结果可能如
4500000001
4500000002
。。。
加上项目编号EBAN-BNFPO = EKPO-EBELP