SAP盤點:建立盤點憑證BAPI_MATPHYSINV_CREATE_MULT

前臺:MI01html

圖片

輸入工廠,庫存地點,在記帳凍結打X,具體什麼意思F1查看api

回車後,填寫物料,回車,項目號會自動變動ide

圖片

BAPI:BAPI_MATPHYSINV_CREATE_MULTspa

查找bapi參見:http://blog.sina.com.cn/s/blog_c0978c9b0102uxji.htmlorm

文本代碼:htm

*&---------------------------------------------------------------------*
*&建立盤點憑證 MI01
*&---------------------------------------------------------------------*blog

TABLES:MARA.

DATAIT_ITEM       LIKE TABLE   OF BAPI_PHYSINV_COUNT_ITEMS WITH HEADER LINE,
           RET_MSG     LIKE TABLE  OF BAPIRET2                                    WITH HEADER LINE,
          G_INVDOC    LIKE IKPF-IBLNR.
*&--------------------------------------------------------------------*
*&  SEKECTION-SCREEN
*&--------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.

PARAMETERS:P_WERKS LIKE MARD-WERKS        DEFAULT 'RYL5',
                        P_LGORT LIKE MARD-LGORT         DEFAULT '3100',
                       P_MATNR LIKE MARD-MATNR       DEFAULT '0609990060199112',
                       P_DATE  LIKE SY-DATUM                DEFAULT '20140618'.
SELECTION-SCREEN END OF BLOCK BLK1.

*&---------------------------------------------------------------------*
*&  START-OF-SELECTION
*&---------------------------------------------------------------------*
START-OF-SELECTION.
*& 建立盤點憑證
  PERFORM CREATE_INVENTORY_DOCUMENT.

*&---------------------------------------------------------------------*
*&      Form  CREATE_INVENTORY_DOCUMENT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM CREATE_INVENTORY_DOCUMENT .

  DATA:L_HEAD TYPE BAPI_PHYSINV_CREATE_HEAD,
       ITEM   LIKE TABLE OF BAPI_PHYSINV_CREATE_ITEMS WITH HEADER LINE .

  L_HEAD-PLANT          P_WERKS.
  L_HEAD-STGE_LOC     P_LGORT.
  L_HEAD-DOC_DATE   P_DATE.
  L_HEAD-PLAN_DATE P_DATE"盤點日期
  L_HEAD-PLAN_DATE P_DATE"憑證日期


*  GS_HEAD-PLANT          = P_WERKS."工廠
*  GS_HEAD-STGE_LOC     = P_LGORT."庫存地點
*  GS_HEAD-PLAN_DATE = P_BLDAT."盤點日期
*  GS_HEAD-DOC_DATE  = P_GIDAT."憑證日期

*  GS_HEAD-PHYS_INV_NO = P_INVNU."實際庫存編號
*  GS_HEAD-PHYS_INV_REF = P_XBLNI."庫存盤點參考

*SPEC_STOCK 特殊庫存標識
*POST_BLOCK 因爲實際盤點而凍結記賬
*FREEZEBOOKINV 凍結賬面庫存
*DEL_BATCHES  XLVOCA 包括帶有刪除標識的批量
*GROUPING_TYPE 分組標準類型

*    GT_ITEM-MATERIAL       = GT_IT_DATA-MATNR.               "物料號碼
*    GT_ITEM-BATCH            = GT_IT_DATA-CHARG.                "批次編號
**    GT_ITEM-STOCK_TYPE = GT_IT_DATA-BSTAR.                  "庫存類型(1~4)
*    APPEND GT_ITEM.
*    CLEAR GT_ITEM.


  ITEM-MATERIAL    P_MATNR.
  ITEM-STOCK_TYPE 1.

  APPEND ITEM.
  CLEAR  ITEM.
  CALL FUNCTION 'BAPI_MATPHYSINV_CREATE_MULT'
    EXPORTING
      HEAD     L_HEAD
    TABLES
      ITEMS    ITEM[]
      RETURN RET_MSG.

  PERFORM COMMIT_OPERATION.

ENDFORM.                    " CREATE_INVENTORY_DOCUMENT
*&---------------------------------------------------------------------*
*&      Form  COMMIT_OPERATION
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM COMMIT_OPERATION .

  READ TABLE RET_MSG WITH KEY TYPE 'E'.
  IF SY-SUBRC <> 0.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT 'X'.
    READ TABLE RET_MSG INDEX 1.
    IF SY-SUBRC 0.
      WRITE:'document:',RET_MSG-MESSAGE_V1.
    ENDIF.
  ELSE.
    LOOP AT RET_MSG.
      WRITE:'erro message:',RET_MSG-MESSAGE.
    ENDLOOP.
  ENDIF.

ENDFORM.                    " COMMIT_OPERATION圖片

相關文章
相關標籤/搜索