ITPub博客

首页 > Linux操作系统 > Linux操作系统 > RMA3

RMA3

原创 Linux操作系统 作者:fivezhuo 时间:2010-06-23 09:45:52 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/14397246/viewspace-665927/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RMA2
下一篇: RMA4
请登录后发表评论 登录
全部评论

注册时间:2009-08-01

  • 博文量
    110
  • 访问量
    65201