309 migo过账 demo

DATA goodsmvt_code LIKE bapi2017_gm_code VALUE ‘04’.
DATA goodsmvt_header LIKE bapi2017_gm_head_01.
DATA materialdocument LIKE bapi2017_gm_head_ret-mat_doc.
DATA matdocumentyear LIKE bapi2017_gm_head_ret-doc_year.
DATA goodsmvt_item TYPE bapi2017_gm_item_create OCCURS 0 WITH HEADER LINE.
DATA return TYPE bapiret2 OCCURS 0 WITH HEADER LINE.

DATA:lv_mess(200).

CLEAR:goodsmvt_item[],return[],materialdocument,matdocumentyear.

LOOP AT gt_alv INTO gs_alv.
CLEAR goodsmvt_item.
goodsmvt_item-move_type = ‘309’.
goodsmvt_item-item_text = ‘物料转物料’.
goodsmvt_item-material = gs_alv-matnr1. "转出
goodsmvt_item-move_mat = gs_alv-matnr2. "接收
goodsmvt_item-plant = gs_alv-werks.
goodsmvt_item-entry_qnt = gs_alv-menge.
goodsmvt_item-stge_loc = gs_alv-lgort1. "转出
IF gs_alv-lgort2 <> ‘’.
goodsmvt_item-move_stloc = gs_alv-lgort2. "接收
ENDIF.
APPEND goodsmvt_item.
ENDLOOP.

IF goodsmvt_item[] IS NOT INITIAL.
goodsmvt_header-pstng_date = sy-datum.
goodsmvt_header-doc_date = sy-datum.
goodsmvt_header-pr_uname = sy-uname.
goodsmvt_header-header_txt = ‘物料转物料’.

CLEAR lv_mess.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
  EXPORTING
    goodsmvt_header  = goodsmvt_header
    goodsmvt_code    = goodsmvt_code
  IMPORTING
    materialdocument = materialdocument
    matdocumentyear  = matdocumentyear
  TABLES
    goodsmvt_item    = goodsmvt_item[]
    return           = return[].

IF materialdocument IS INITIAL.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK' .

  LOOP AT return WHERE type = 'E'.
    lv_mess = lv_mess && '/' && return-message.
  ENDLOOP.

ELSE.

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
  lv_mess = '处理成功'.
ENDIF.

LOOP AT gt_alv INTO gs_alv.
  gs_alv-mesg = lv_mess.
  IF materialdocument <> ''.
    gs_alv-mblnr = materialdocument.
    gs_alv-mjahr = matdocumentyear.
    gs_alv-incon = icon_green_light.
  ELSE.
    gs_alv-incon = icon_red_light.
  ENDIF.
  MODIFY gt_alv FROM gs_alv.
ENDLOOP.

ENDIF.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值