ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ZCMM01-12

ZCMM01-12

原创 Linux操作系统 作者:fivezhuo 时间:2010-06-24 19:22:35 0 删除 编辑

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

上一篇: ZCMM01-11
下一篇: ZCMM01-13
请登录后发表评论 登录
全部评论

注册时间:2009-08-01

  • 博文量
    110
  • 访问量
    65200