FUNCTION ZRFC_SD_PCE_0096.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(P_MODE) LIKE ZRMADATA-SOFLAG OPTIONAL
*" TABLES
*" ZRMASLOG STRUCTURE ZRMASLOG OPTIONAL
*"----------------------------------------------------------------------
*cici20100618.add.sn
DATA: RETURN_FLAG(48) TYPE C.
DATA: L_ZRMANO(20) TYPE C.
DATA: L_SNNO(35) TYPE C.
*cici20100618.add.en
ZQTY = '1'.
IF P_MODE IS INITIAL.
P_MODE = 'N'.
ENDIF.
SELECT * FROM ZRMASHIPPING
INTO CORRESPONDING FIELDS OF TABLE ZRMASHIPPING
WHERE SHIPFLAG <> 'Y'.
IF ZRMASHIPPING[] IS INITIAL.
ZRMASLOG-ZRMA = 'NULL'.
ZRMASLOG-ZSN = 'NULL'.
ZRMASLOG-ZMESSAGE = 'No Data'.
ZRMASLOG-ZDATE = SY-DATUM.
ZRMASLOG-ZTIME = SY-TIMLO.
APPEND ZRMASLOG.
EXIT.
ENDIF.
SORT ZRMASHIPPING BY ZRMA ZSN.
LOOP AT ZRMASHIPPING.
*cici20100618.add.sn
L_ZRMANO = ZRMASHIPPING-ZRMA.
L_SNNO = ZRMASHIPPING-ZSN.
CALL FUNCTION 'ZRFC_PP_PCE_0110'
EXPORTING
RMA_NUM = L_ZRMANO
SERIAL_NUM = L_SNNO
IMPORTING
RETURN = RETURN_FLAG.
IF RETURN_FLAG <> 'OK'.
CONTINUE.
ENDIF.
*cici20100618.add.en
CLEAR:ZSONO,ZSOITEM.
SELECT SINGLE * FROM ZRMADATA
WHERE ZRMA = ZRMASHIPPING-ZRMA AND ZSN = ZRMASHIPPING-ZSN.
SELECT SINGLE * FROM ZPCECONTROLVALUE
WHERE CTYPE = ZRMADATA-ZCUSTOMER
AND INDICATOR1 = 'ACT'
AND WERKS = ZRMASHIPPING-PLANT .
SELECT SINGLE VBELN INTO ZSONO FROM VBAK
WHERE BSTNK = ZRMASHIPPING-ZRMA.
SELECT SINGLE POSNR INTO ZSOITEM FROM VBAP
WHERE VBELN = ZSONO AND KANNR = ZRMASHIPPING-ZSN .
SELECT SINGLE * FROM VBAP
WHERE VBELN = ZSONO
AND PSTYV = 'ZIRL'
* AND pstyv = 'IRAL'
AND VKGRU = '103' AND UEPOS = ZSOITEM .
IF SY-SUBRC = 0.
CLEAR IT_BDC.
REFRESH IT_BDC.
PERFORM. BDC_PROCESS TABLES IT_BDC.
CALL TRANSACTION 'VL01N' USING IT_BDC MODE P_MODE UPDATE 'S'
MESSAGES INTO ITAB_M.
IF SY-SUBRC <> 0.
ZRMASLOG-ZRMA = ZRMASHIPPING-ZRMA.
ZRMASLOG-ZSN = ZRMASHIPPING-ZSN.
ZRMASLOG-ZMESSAGE = 'Outbound DN generated error'.
ZRMASLOG-ZDATE = SY-DATUM.
ZRMASLOG-ZTIME = SY-TIMLO.
APPEND ZRMASLOG.
ELSE.
SELECT SINGLE * FROM LIPS
WHERE VBELV = ZSONO AND POSNV = ZSOITEM
AND PSTYV = 'ZIRL'.
* AND pstyv = 'IRAL'.
UPDATE ZRMASHIPPING SET SHIPFLAG = 'Y'
SHIPDN = LIPS-VBELN
WHERE ZRMA = ZRMASHIPPING-ZRMA
AND ZSN = ZRMASHIPPING-ZSN.
ENDIF.
ELSE.
ZRMASLOG-ZRMA = ZRMASHIPPING-ZRMA.
ZRMASLOG-ZSN = ZRMASHIPPING-ZSN.
ZRMASLOG-ZMESSAGE = 'Repair order dont confirm for SN in SAP'.
ZRMASLOG-ZDATE = SY-DATUM.
ZRMASLOG-ZTIME = SY-TIMLO.
APPEND ZRMASLOG.
ENDIF.
INSERT ZRMASLOG FROM TABLE ZRMASLOG ACCEPTING DUPLICATE KEYS .
ENDLOOP.
ENDFUNCTION.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-665927/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14397246/viewspace-665927/
2025

被折叠的 条评论
为什么被折叠?



