ABAP-VF02(小旗子)释放到会计核算BAPI

 1 DATA : lt_xkomfk LIKE  komfk   OCCURS 0 WITH HEADER LINE.
 2 DATA : lt_xkomv  LIKE  komv    OCCURS 0 WITH HEADER LINE.
 3 DATA : lt_xthead LIKE  theadvb OCCURS 0 WITH HEADER LINE.
 4 DATA : lt_xvbpa  LIKE  vbpavb  OCCURS 0 WITH HEADER LINE.
 5 DATA : lt_xvbrk  LIKE  vbrkvb  OCCURS 0 WITH HEADER LINE.
 6 DATA : lt_xvbrp  LIKE  vbrpvb  OCCURS 0 WITH HEADER LINE.
 7 DATA : lt_xvbss  LIKE  vbss    OCCURS 0 WITH HEADER LINE.
 8 DATA : it_vbrk   LIKE  vbrk    OCCURS 0 WITH HEADER LINE.
 9 DATA : wx_vbrk   LIKE  vbrk    OCCURS 0 WITH HEADER LINE.
10 DATA : lt_xvbrl  LIKE  vbrlvb  OCCURS 0 WITH HEADER LINE.
11 DATA:  gt_vbfs   LIKE  vbfs    OCCURS 10 WITH HEADER LINE.
12 DATA:error TYPE string .
13 
14 SELECT * 
15   FROM vbrk
16   INTO CORRESPONDING FIELDS OF TABLE it_vbrk[] .
17 
18 CALL FUNCTION 'SD_INVOICE_RELEASE_TO_ACCOUNT'
19   EXPORTING
20     with_posting  = 'B'
21   TABLES
22     it_vbrk       = it_vbrk[]
23     xkomfk        = lt_xkomfk
24     xkomv         = lt_xkomv
25     xthead        = lt_xthead
26     xvbfs         = gt_vbfs[]
27     xvbpa         = lt_xvbpa
28     xvbrk         = lt_xvbrk
29     xvbrp         = lt_xvbrp
30     xvbrl         = lt_xvbrl
31     xvbss         = lt_xvbss
32   EXCEPTIONS
33     set_not_found = 1
34     OTHERS        = 2.
35 
36 IF line_exists( gt_vbfs[ msgty = 'E' ] ) OR line_exists( gt_vbfs[ msgty = 'W' ] ) .
37 
38   CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
39 
40   LOOP AT gt_vbfs WHERE msgty = 'E' OR msgty = 'W' .
41   
42     CLEAR error .
43     MESSAGE ID gt_vbfs-msgid TYPE gt_vbfs-msgty
44     NUMBER gt_vbfs-msgno
45     INTO error
46     WITH gt_vbfs-msgv1 gt_vbfs-msgv2 gt_vbfs-msgv3 gt_vbfs-msgv4 .
47     
48   ENDLOOP.
49 
50 ELSE .
51 
52   CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
53     EXPORTING
54       wait = 'X'.
55 
56 ENDIF .
posted @ 2022-06-20 15:13  TigerMan  阅读(872)  评论(0编辑  收藏  举报