ABAP-创建物料凭证MIGO/MB1B
【摘要】 告别忙碌低效!本文提供示例,帮助您用更少时间完成更多高质量工作,重获工作与生活平衡。
DATA: ls_header TYPE bapi2017_gm_head_01, " 凭证抬头
lt_item TYPE TABLE OF bapi2017_gm_item_create, " 行项目
ls_item LIKE LINE OF lt_item,
lt_return TYPE TABLE OF bapiret2, " 返回消息
ls_headret TYPE bapi2017_gm_head_ret. " 返回抬头
DATA:ls_001 TYPE ty_001.
ls_header-pstng_date = gt_001[ 1 ]-budat." 过账日期
ls_header-doc_date = gt_001[ 1 ]-budat." 凭证日期
ls_header-header_txt = |{ sy-uname }出库|." 抬头文本
LOOP AT gt_001 ASSIGNING FIELD-SYMBOL(<fs_001>) WHERE box = 'X' AND zmtype = 'S'.
ls_item-material = <fs_001>-matnr. " 物料号
ls_item-plant = <fs_001>-werks. " 工厂
ls_item-stge_loc = <fs_001>-reslo. " 发货库存地点
ls_item-move_type = '311'. " 移动类型
ls_item-entry_qnt = abs( <fs_001>-menge ) .
ls_item-entry_uom = <fs_001>-meins. "单位
ls_item-batch = <fs_001>-charg. " 批次号
* ls_item-mvt_ind = 'B'. " 移动标识
ls_item-item_text = |{ sy-uname }出库|. " 行项目文本
ls_item-move_mat = <fs_001>-matnr. " 物料号
ls_item-move_plant = <fs_001>-werks. " 工厂
ls_item-move_stloc = <fs_001>-lgort. " 收货库存地点
ls_item-move_batch = <fs_001>-charg. " 批次号
APPEND ls_item TO lt_item.
CLEAR ls_item.
ENDLOOP.
"T158G
"01 MB01
"02 MB31
"03 MB1A
"04 MB1B
"05 MB1C
"06 MB11
"07 MB04
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = ls_header
goodsmvt_code = '04'
IMPORTING
goodsmvt_headret = ls_headret
TABLES
goodsmvt_item = lt_item
return = lt_return.
READ TABLE lt_return TRANSPORTING NO FIELDS WITH KEY type = 'E'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_true.
ls_001-mblnr = ls_headret-mat_doc.
ls_001-mjahr = ls_headret-doc_year.
MODIFY gt_001 FROM ls_001 TRANSPORTING mblnr mjahr WHERE mblnr IS INITIAL.
ENDIF.
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)