FUNCTION ZRFC_SD_PCE_0093.
*"----------------------------------------------------------------------
*"*"Local interface:
*" EXPORTING
*" VALUE(ZFLAG) LIKE ZRMADATA-ZRMA
*" TABLES
*" ZRMAMASTER STRUCTURE ZRMADATA OPTIONAL
*" ZRMALOG STRUCTURE ZRMALOG OPTIONAL
*"----------------------------------------------------------------------
ZFLAG = 'Y'.
IF ZRMAMASTER[] IS INITIAL.
ZRMALOG-ZRMA = 'NULL'.
ZRMALOG-ZSN = 'NULL'.
ZRMALOG-ZMESSAGE = 'NODATA'.
ZRMALOG-ZDATE = SY-DATUM.
ZRMALOG-ZTIME = SY-TIMLO.
APPEND ZRMALOG.
ZFLAG = 'NO Data'.
EXIT.
ELSE.
LOOP AT ZRMAMASTER.
SELECT SINGLE * FROM ZRMADATA
WHERE ZRMA = ZRMAMASTER-ZRMA
AND ZSN = ZRMAMASTER-ZSN
AND SOFLAG = 'Y'.
IF SY-SUBRC = 0.
ZRMALOG-ZRMA = ZRMAMASTER-ZRMA.
ZRMALOG-ZRMA = ZRMAMASTER-ZSN.
ZRMALOG-ZMESSAGE = 'SN already insert and generate SO'.
ZRMALOG-ZDATE = SY-DATUM.
ZRMALOG-ZTIME = SY-TIMLO.
APPEND ZRMALOG.
ZFLAG = 'SN already transfer to SAP'.
ZRMAMASTER-SOFLAG = 'Y'.
MODIFY ZRMAMASTER.
CONTINUE.
ELSE.
CLEAR :ZHHPN,ZMATNR.
CONDENSE ZRMAMASTER-CPN.
CONDENSE ZRMAMASTER-BATCH.
CONCATENATE '%' ZRMAMASTER-CPN '%' '+' ZRMAMASTER-BATCH '%' INTO
ZHHPN.
SELECT SINGLE MARA~MATNR INTO ZMATNR FROM MARC INNER JOIN MARA
ON MARC~MATNR = MARA~MATNR
WHERE MARA~MATNR LIKE ZHHPN
AND MARC~WERKS = ZRMAMASTER-PLANT.
IF ZMATNR IS INITIAL.
SELECT SINGLE MARA~MATNR INTO ZMATNR FROM MARC INNER JOIN MARA
ON MARC~MATNR = MARA~MATNR
WHERE MARA~MATNR = ZRMAMASTER-CPN
AND MARC~WERKS = ZRMAMASTER-PLANT.
IF SY-SUBRC = 0.
DELETE FROM ZRMADATA
WHERE ZRMA = ZRMAMASTER-ZRMA
AND ZSN = ZRMAMASTER-ZSN.
INSERT INTO ZRMADATA VALUES ZRMAMASTER.
IF SY-SUBRC <> 0.
ZRMALOG-ZRMA = ZRMAMASTER-ZRMA.
ZRMALOG-ZRMA = ZRMAMASTER-ZSN.
ZRMALOG-ZMESSAGE = 'SN Insert Failed'.
ZRMALOG-ZDATE = SY-DATUM.
ZRMALOG-ZTIME = SY-TIMLO.
APPEND ZRMALOG.
ZFLAG = 'SN insert to SAP fail'.
ENDIF.
ELSE.
ZFLAG = 'SN Fail,HHPN cant find in system'.
ENDIF.
ELSE.
DELETE FROM ZRMADATA
WHERE ZRMA = ZRMAMASTER-ZRMA
AND ZSN = ZRMAMASTER-ZSN.
INSERT INTO ZRMADATA VALUES ZRMAMASTER.
IF SY-SUBRC <> 0.
ZRMALOG-ZRMA = ZRMAMASTER-ZRMA.
ZRMALOG-ZRMA = ZRMAMASTER-ZSN.
ZRMALOG-ZMESSAGE = 'SN Insert Failed'.
ZRMALOG-ZDATE = SY-DATUM.
ZRMALOG-ZTIME = SY-TIMLO.
APPEND ZRMALOG.
ZFLAG = 'SN insert to SAP fail'.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-665934/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14397246/viewspace-665934/
66

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



