|
好吧 , 給你一個例子 .
DATA: BEGIN OF I_TAB1 OCCURS 0 ,
MATNR LIKE MARC-MATNR ,
WERKS LIKE MARC-WERKS ,
END OF I_TAB1 .
DATA: BEGIN OF I_TAB2 OCCURS 0.
INCLUDE STRUCTURE STPOV .
DATA: END OF I_TAB2 .
DATA: I_TAB3 LIKE I_TAB2 OCCURS 0 WITH HEADER LINE .
DATA: BEGIN OF I_EQUICAT OCCURS 0.
INCLUDE STRUCTURE CSCEQUI .
DATA: END OF I_EQUICAT .
DATA: BEGIN OF I_KNDCAT OCCURS 0.
INCLUDE STRUCTURE CSCKND .
DATA: END OF I_KNDCAT .
DATA: BEGIN OF I_MATCAT OCCURS 0.
INCLUDE STRUCTURE CSCMAT .
DATA: END OF I_MATCAT .
DATA: BEGIN OF I_STDCAT OCCURS 0.
INCLUDE STRUCTURE CSCSTD .
DATA: END OF I_STDCAT .
DATA: BEGIN OF I_TPLCAT OCCURS 0.
INCLUDE STRUCTURE CSCTPL .
DATA: END OF I_TPLCAT .
SELECTION-SCREEN BEGIN OF BLOCK H1 WITH FRAME TITLE HEAD1 .
SELECT-OPTIONS V_MATNR FOR RC29L-MATNR .
SELECT-OPTIONS V_WERKS FOR RC29L-WERKS OBLIGATORY NO INTERVALS NO-EXTENSION .
PARAMETERS DATUB LIKE RC29L-DATUB OBLIGATORY DEFAULT '99991231' .
PARAMETERS DATUV LIKE RC29L-DATUV OBLIGATORY DEFAULT SY-DATUM .
PARAMETERS STLAN LIKE RC29L-STLAN OBLIGATORY DEFAULT '1' .
SELECTION-SCREEN END OF BLOCK H1 .
*--------------------
INITIALIZATION .
*--------------------
HEAD1 = 'XXXXXXX' .
*----------------------------
START-OF-SELECTION .
*----------------------------
PERFORM GET_DATA .
PERFORM LIST_INFO .
FROM GET_DATA .
select matnr werks into corresponding fields of table i_tab1
from marc where marc~matnr in v_matnr and
marc~werks in v_werks .
if not i_tab1[] is initial .
SORT I_TAB1 .
CLEAR:I_TAB3 .
REFRESH:I_TAB3 .
loop at i_tab1 .
CLEAR:I_TAB2 ,
I_EQUICAT ,
I_KNDCAT ,
I_MATCAT ,
I_STDCAT ,
I_TPLCAT .
REFRESH: I_TAB2 ,
I_EQUICAT ,
I_KNDCAT ,
I_MATCAT ,
I_STDCAT ,
I_TPLCAT .
CALL FUNCTION 'CS_WHERE_USED_MAT_ANY'
EXPORTING
DATUB = DATUB
DATUV = DATUV
MATNR = I_TAB1-MATNR
POSTP = 'L'
STLAN = STLAN
WERKS = I_TAB1-WERKS
TABLES
WULTB = I_TAB2
EQUICAT = I_EQUICAT
KNDCAT = I_KNDCAT
MATCAT = I_MATCAT
STDCAT = I_STDCAT
TPLCAT = I_TPLCAT
EXCEPTIONS
NO_POSITION_FOUND = 1
OTHERS = 2.
LOOP AT I_TAB2 .
MOVE-CORRESPONDING i_tab2 to i_tab3 .
APPEND I_TAB3 .
endloop.
endloop .
endif .
ENDFORM .
FROM LIST_INFO .
LOOP AT I_TAB3 .
WRITE:/ XXXXXXX .
ENDLOOP .
ENDFORM .
ps: i_tab3 就是你要的 , 裡面的 matnr 字段就是父階 IDNRK 字段是你輸入查詢的料件 |
|