FORM BDC_CANCEL_FC USING P_S_AUFNR.
*多次循環,必須清空 BDCDATA
CLEAR: BDCDATA,BDCDATA[],BDCMESS,BDCMESS[].
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'CAUFVD-AUFNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=KOZE'.
PERFORM bdc_field USING 'CAUFVD-AUFNR'
P_S_AUFNR.
LOOP AT T_TMP_FC.
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0115'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=KPU2'.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'FILTER_BOX'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FIBO'.
PERFORM bdc_field USING 'FILTER_BOX'
'NO_TIL'.
PERFORM bdc_field USING 'SORT_BOX'
'ST_STA'.
PERFORM bdc_dynpro USING 'SAPLCNFA' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'FILTER_BOX'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FIBO'.
* 根據預留編號篩選
PERFORM bdc_field USING 'FILTER_BOX'
'Z00001'.
PERFORM bdc_field USING 'SORT_BOX'
'ST_STA'.
PERFORM bdc_dynpro USING 'SAPLCNFA' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTR'.
* 預留號
PERFORM bdc_field USING 'RANGE-LOW(01)'
T_OUT-RSPOS.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RESBD-POSNR(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MKAG'.
PERFORM bdc_field USING 'RC27X-FLG_SEL(01)'
'X'.
perform bdc_dynpro using 'SAPLCOMD' '0110'.
* 去掉反衝勾
perform bdc_field using 'RESBD-RGEKZ'
''.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENT1'.
PERFORM bdc_dynpro USING 'SAPLCOMD' '0110'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RESBD-MATNR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'FILTER_BOX'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=FIBO'.
PERFORM bdc_field USING 'FILTER_BOX'
'NO_FIL'.
PERFORM bdc_dynpro USING 'SAPLCOMK' '0120'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
ENDLOOP.
*---------------------------------
PERFORM bdc_dynpro USING 'SAPLCOKO1' '0115'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BU'.
WAIT UP TO 1 SECONDS.
BDC_MODE = 'N'.
CALL TRANSACTION 'CO02' USING BDCDATA
UPDATE 'S' MODE BDC_MODE
MESSAGES INTO BDCMESS.
IF SY-SUBRC = 0.
COMMIT WORK.
EXIT.
ELSE.
ROLLBACK WORK.
MESSAGE '去掉反衝勾失敗!' TYPE 'S'.
ENDIF.
ENDFORM. " BDC_CANCEL_FC