ZCMM01-12

*&--------------------------------------------------------------
*&      Form  save_data
*&--------------------------------------------------------------

FORM. SAVE_DATA.
  DATA: ZCM03INS LIKE ZCM03 OCCURS 0 WITH HEADER LINE,
  ZCM04INS LIKE ZCM04 OCCURS 0 WITH HEADER LINE,
  ZCM17INS LIKE ZCM17 OCCURS 0 WITH HEADER LINE,
  SDOCNUMBER LIKE ZCM03-DOCNUMBER,
*        SDOCYEAR LIKE ZCM03-DOCYEAR,
  ITEMSEQUN TYPE I.
  DATA: LNRN(2) TYPE C.     "Number range number  Elven20070104

 

  DATA:LSUBRC LIKE SY-SUBRC.

  LOOP AT ZCM04TAB WHERE NOT MATNR IS INITIAL .
*    and markdeletion <> 'X'.
* Elven20070112   add authorization check

*add by yuan-yuan xiao 080623
    IF F_SHOW <> 'Y'.
*
      PERFORM. CHECK_SAVE_AUTHORIZATION
      USING ZCM04TAB-WERKS  ZCM04TAB-UMWRK ZCM03-DOCTYPE .
    ENDIF.


*    TABLES ZMM029 .
*    SELECT SINGLE UNAME FROM ZMM029 INTO ZMM029-UNAME WHERE
*            WERKS = ZCM04TAB-WERKS AND
*            TCODE = SY-TCODE AND UNAME = SY-UNAME AND
*            STATUS = 'Y' .
*
*    IF SY-SUBRC NE 0  .
*      MESSAGE E000(ZPCEMM001) WITH SY-UNAME
*         ' have no authority for Tcode/Plant :' SY-TCODE
*           ZCM04TAB-WERKS .
*      EXIT.
*    ENDIF.

 

  ENDLOOP.
* Elven20070112   add authorization check END


  MOVE-CORRESPONDING ZCM03 TO ZCM03INS.

  IF TRANSACTION EQ SPACE .
    ZCM03INS-ERDAT = SY-DATUM.
    ZCM03INS-ERNAM = SY-UNAME.
    ZCM03INS-ERZET = SY-UZEIT.

  ELSE.
    READ TABLE ZCM04TAB WITH KEY UPTINDICATOR = 'X'.
    IF SY-SUBRC EQ 0.
      ZCM03INS-AEDAT = SY-DATUM.
      ZCM03INS-AENAM = SY-UNAME.
      ZCM03INS-AEZET = SY-UZEIT.
    ENDIF.
  ENDIF.

 

  ZCM03INS-DOCSTAS = '0' .
  IF ZCM03INS-DOCNUMBER IS INITIAL.


    IF SY-MANDT ='809' OR SY-MANDT ='204' OR SY-MANDT ='709'  .
      LNRN = '01' .
    ELSE.
      LNRN = '05' .
    ENDIF.

    PERFORM. GET_DOCUMENT_NUMBER USING LNRN SDOCNUMBER.

    ZCM03INS-DOCNUMBER = SDOCNUMBER.
    ZCM03INS-DOCYEAR = SY-DATUM+0(4).

  ELSE.
    SDOCNUMBER = ZCM03INS-DOCNUMBER.
  ENDIF.

 

  CLEAR G_DOCUMENT .CLEAR G_DOCYEAR .
  G_DOCUMENT = ZCM03INS-DOCNUMBER .
  G_DOCYEAR = ZCM03INS-DOCYEAR .

  ZCM03-DOCNUMBER =  G_DOCUMENT .
  ZCM03-DOCYEAR =  G_DOCYEAR .

  APPEND ZCM03INS. CLEAR ZCM03INS.

  LOOP AT ZCM04TAB WHERE NOT MATNR IS INITIAL.
    MOVE-CORRESPONDING ZCM04TAB TO ZCM04INS.
    ZCM04INS-DOCNUMBER = SDOCNUMBER.

    IF ZCM04INS-DOCYEAR = '' .
      IF ZCM03-DOCYEAR = '' .


                                                            "JL080102.n
        ZCM04INS-DOCYEAR = SY-DATUM+0(4).
      ELSE .
        ZCM04INS-DOCYEAR = ZCM03-DOCYEAR .
      ENDIF .
    ENDIF .

    IF TRANSACTION EQ SPACE.
      ADD 1 TO ITEMSEQUN.
      ZCM04INS-DOCITEM = ITEMSEQUN.
    ENDIF.
    APPEND ZCM04INS. CLEAR ZCM04INS.
  ENDLOOP.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14397246/viewspace-666163/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14397246/viewspace-666163/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值