针对交货单的过账、拣配、取消拣配等功能

通过标准函数:WS_DELIVERY_UPDATE 实现交货单的各种功能

 1 DATA: it_lips LIKE TABLE OF lips WITH HEADER LINE.
 2 DATA: lwa_vbkok LIKE vbkok,
 3       lt_prot TYPE TABLE OF prott WITH HEADER LINE.
 4 DATA: l_xfeld_any TYPE xfeld.
 5 DATA: lv_vbeln TYPE vbeln_vl.
 6 DATA: l_update_picking(1)."X拣配
 7 DATA: it_vbpok   TYPE TABLE OF vbpok     WITH HEADER LINE.
 8 DATA: gv_message TYPE char100.
 9 
10 ***   &&&   数据赋值
11 lv_vbeln = '1234567890'.
12 
13 lwa_vbkok-vbeln_vl = lv_vbeln.
14 lwa_vbkok-vbeln    = lv_vbeln.
15 lwa_vbkok-wabuc    = 'X'. "自动过帐发货
16 
17 l_update_picking = 'X'.
18 
19 LOOP AT it_lips.
20   it_vbpok-vbeln_vl = lv_vbeln.
21   it_vbpok-posnr_vl = it_lips-posnr.
22   it_vbpok-vbeln    = lv_vbeln.
23   it_vbpok-posnn    = it_lips-posnr.
24   it_vbpok-lfimg    = it_lips-lfimg."可以没有(取消拣配)
25   it_vbpok-insmk    = it_lips-insmk."可以没有(取消拣配)
26   APPEND it_vbpok.
27   CLEAR  it_vbpok.
28 ENDLOOP.
29 
30 CLEAR l_xfeld_any.
31 *---------------------------------------------------------------------*
32 *                            标准功能
33 *& 1.对交货单进行过账
34 *& 2.取消拣配功能
35 *& 3.
36 *& 4.
37 *---------------------------------------------------------------------*
38 CALL FUNCTION 'WS_DELIVERY_UPDATE'
39   EXPORTING
40     vbkok_wa                 = lwa_vbkok
41     commit                   = 'X'
42     delivery                 = lv_vbeln
43 *   update_picking           = 'X'
44     update_picking           = l_update_picking
45     if_database_update       = '1'
46     if_error_messages_send_0 = 'X'
47   IMPORTING
48     ef_error_any_0           = l_xfeld_any
49   TABLES
50     vbpok_tab                = it_vbpok[]
51     prot                     = lt_prot
52   EXCEPTIONS
53     error_message            = 1
54     OTHERS                   = 99.
55 IF l_xfeld_any IS NOT INITIAL OR sy-subrc IS NOT INITIAL.
56   ROLLBACK WORK.
57 
58   IF l_xfeld_any IS NOT INITIAL.
59 
60     LOOP AT lt_prot WHERE msgty = 'E' OR msgty = 'A'.
61       CLEAR: gv_message.
62       CALL FUNCTION 'MESSAGE_TEXT_BUILD'
63         EXPORTING
64           msgid               = lt_prot-msgid
65           msgnr               = lt_prot-msgno
66           msgv1               = lt_prot-msgv1
67           msgv2               = lt_prot-msgv2
68           msgv3               = lt_prot-msgv3
69           msgv4               = lt_prot-msgv4
70         IMPORTING
71           message_text_output = gv_message.
72 
73     ENDLOOP.
74 
75   ENDIF.
76 ELSE.
77 
78 ENDIF.

 

posted @ 2014-05-02 15:43  小鱼儿游  阅读(2858)  评论(0)    收藏  举报