
1 DATA:ls_head TYPE bapi2017_gm_head_01,
2 ls_code TYPE bapi2017_gm_code,
3 ls_item TYPE bapi2017_gm_item_create,
4 lt_item TYPE TABLE OF bapi2017_gm_item_create,
5 ls_return TYPE bapiret2,
6 lt_return TYPE TABLE OF bapiret2.
7
8 CLEAR ls_head .
9 CLEAR ls_code .
10 CLEAR ls_item .
11 REFRESH lt_item .
12 CLEAR ls_return .
13 REFRESH lt_return .
14
15 ls_head-pstng_date = is_input-budat .
16 ls_head-doc_date = is_input-bldat .
17 ls_head-header_txt = is_input-bktxt .
18 ls_head-ref_doc_no = is_input-xblnr .
19
20 ls_code-gm_code = '03' .
21
22 LOOP AT ti_item ASSIGNING FIELD-SYMBOL(<fs_item>) .
23
24 CLEAR ls_item .
25 ls_item-material = <fs_item>-matnr .
26 ls_item-entry_qnt = <fs_item>-menge .
27 ls_item-base_uom = <fs_item>-meins .
28 ls_item-orderid = <fs_item>-aufnr .
29 ls_item-xstob = ''.
30 ls_item-move_type = '261' .
31 ls_item-plant = <fs_item>-werks .
32 ls_item-stge_loc = <fs_item>-lgort .
33 ls_item-batch = <fs_item>-charg .
34 ls_item-item_text = <fs_item>-sgtxt .
35 ls_item-sales_ord = <fs_item>-kdauf .
36 ls_item-s_ord_item = <fs_item>-kdpos .
37 ls_item-reserv_no = ls_resb-rsnum .
38 ls_item-res_item = ls_resb-rspos .
39 APPEND ls_item TO lt_item .
40
41 ENDLOOP .
42
43 IF es_output-type <> 'E' .
44
45 CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
46 EXPORTING
47 goodsmvt_header = ls_head
48 goodsmvt_code = ls_code
49 * TESTRUN = ' '
50 * GOODSMVT_REF_EWM =
51 * GOODSMVT_PRINT_CTRL =
52 IMPORTING
53 * GOODSMVT_HEADRET =
54 materialdocument = es_output-mblnr
55 * MATDOCUMENTYEAR =
56 TABLES
57 goodsmvt_item = lt_item
58 * GOODSMVT_SERIALNUMBER =
59 return = lt_return
60 * GOODSMVT_SERV_PART_DATA =
61 * EXTENSIONIN =
62 * GOODSMVT_ITEM_CWM =
63 .
64
65 IF es_output-mblnr IS INITIAL .
66
67 es_output-type = 'E' .
68 LOOP AT lt_return INTO ls_return WHERE type = 'E' .
69
70 es_output-message = ls_return-message && ';' && es_output-message .
71
72 ENDLOOP .
73 CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
74
75 ELSE .
76
77 CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
78 EXPORTING
79 wait = 'X'.
80 es_output-type = 'S' .
81 es_output-message = '创建成功' .
82
83 ENDIF .
84
85 ENDIF .

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2022-05-20 ABAP-BP初始值增强
2022-05-20 ABAP-VF01开票BAPI修改价格问题
2022-05-20 ABAP-BP创建时通用数据的语言设置初始值增强