调用bapi创建物料凭证


  gmhead-pstng_date = p_bldat.
  gmhead-doc_date = p_budat.
  gmhead-pr_uname = sy-uname.
  gmhead-header_txt = p_bktxt.
*  gmhead-bill_of_lading = p_xblnr.
  gmhead-ref_doc_no = p_xblnr.
*  REF_DOC_NO
  gmcode-gm_code = '04'.
*  mthead-doc_year = p_budat(4).


  REFRESH jtab_321.
  CLEAR jtab_321.

  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      percentage = 40
      text       = '正在处理转非限制库存和冻结库存数据,请稍候......!'
    EXCEPTIONS
      OTHERS     = 1.

*** 321 和 350 一起做 *****
  LOOP AT it_itab WHERE marked = 'X'.
    CLEAR jtab_321.


*    jtab_321-mvt_ind    = ' '.
    jtab_321-material   = it_itab-matnr.
    jtab_321-plant      = it_itab-werks.
    jtab_321-stge_loc   = it_itab-lgort.
    jtab_321-batch = it_itab-charg.

    jtab_321-move_mat = it_itab-matnr.
    jtab_321-move_plant = it_itab-werks.
    jtab_321-move_stloc = it_itab-lgort.
    jtab_321-move_batch = it_itab-charg.

    IF it_itab-sobkz = 'E'. " 销售订单库存

      jtab_321-spec_stock = it_itab-sobkz.

*      jtab_321-val_sales_ord = it_itab-kdauf.

      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = it_itab-kdauf
        IMPORTING
          output = jtab_321-val_sales_ord.

 

      jtab_321-val_s_ord_item = it_itab-kdpos.

    ELSEIF it_itab-sobkz = 'K'." 供应商库存
      jtab_321-spec_stock = it_itab-sobkz.

*      jtab_321-vendor = it_itab-lifnr.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          input  = it_itab-lifnr
        IMPORTING
          output = jtab_321-vendor.

    ENDIF.

    jtab_321-entry_uom = it_itab-meins_input.

    IF it_itab-menge_free <> 0.
      jtab_321-entry_qnt  = it_itab-menge_free.
      jtab_321-move_type  = '321'.
      APPEND jtab_321.
    ENDIF.

    IF it_itab-menge_block <> 0.
      jtab_321-entry_qnt  = it_itab-menge_block.
      jtab_321-move_type  = '350'.
      APPEND jtab_321.
    ENDIF.

*    CLEAR jtab_321.

  ENDLOOP.

  REFRESH l_errmsg.
  CLEAR l_errmsg.

  IF jtab_321[] IS NOT INITIAL.

    REFRESH l_errmsg.
    CLEAR l_errmsg.

    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        goodsmvt_header             = gmhead
        goodsmvt_code               = gmcode
        testrun                     = l_testrun

      IMPORTING
*      MATERIALDOCUMENT            =
*      MATDOCUMENTYEAR             =
        goodsmvt_headret            = mthead
      TABLES
        goodsmvt_item               = jtab_321[]
*   GOODSMVT_SERIALNUMBER       =
        return                      = l_errmsg.

    LOOP AT l_errmsg WHERE type EQ 'E'.
      MOVE-CORRESPONDING l_errmsg TO g_errmsg .
      APPEND g_errmsg.
      CLEAR g_errmsg.
    ENDLOOP.
  ENDIF.

转载于:https://www.cnblogs.com/hmilyyu/archive/2009/07/21/1527926.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值