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)