1 TYPES:BEGIN OF ty_data ,
2 posnr TYPE lips-posnr,
3 lgort TYPE lips-lgort,
4 END OF ty_data.
5
6 DATA:lt_import TYPE TABLE OF ty_data,
7 ls_import TYPE ty_data.
8
9 DATA:ls_item TYPE bapidlvreftosalesorder,
10 lt_item TYPE TABLE OF bapidlvreftosalesorder,
11 lv_vbeln TYPE vbeln,
12 ls_return TYPE bapiret2,
13 lt_return TYPE TABLE OF bapiret2.
14
15 CLEAR ls_item .
16 ls_item-ref_doc = ls_data-vbeln .
17 ls_item-ref_item = ls_data-posnr .
18 ls_item-dlv_qty = ls_data-kwmeng .
19 ls_item-sales_unit = ls_data-vrkme .
20 APPEND ls_item TO lt_item .
21
22 CLEAR ls_import .
23 ls_import-posnr = <fs_data>-posnr .
24 ls_import-lgort = <fs_data>-lgort .
25 APPEND ls_import TO lt_import .
26
27 EXPORT lt_import = lt_import TO MEMORY ID 'ZBSD011'.
28
29 CALL FUNCTION 'BAPI_OUTB_DELIVERY_CREATE_SLS'
30 EXPORTING
31 ship_point = ls_data-vstel
32 * DUE_DATE =
33 * DEBUG_FLG =
34 * NO_DEQUEUE = ' '
35 IMPORTING
36 delivery = lv_vbeln
37 * NUM_DELIVERIES =
38 TABLES
39 sales_order_items = lt_item
40 * SERIAL_NUMBERS =
41 * EXTENSION_IN =
42 * DELIVERIES =
43 * CREATED_ITEMS =
44 * EXTENSION_OUT =
45 return = lt_return.
46
47 FREE MEMORY ID 'ZBSD011'.
48
49 IF lv_vbeln IS NOT INITIAL .
50
51 CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
52 EXPORTING
53 wait = 'X'.
54
55 ELSE .
56
57 CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
58 * IMPORTING
59 * RETURN =
60 .
61
62 ENDIF .
这个BAPI涉及的字段较少,可以通过增强去实现没有BAPI没有的赋值