Hi All,
I am creating Billing document using <b>RV_INVOICE_CREATE</b>. For single sales record it creates fine, but when I pass multiple sales order to create invoice, it only creates billing document for first sales order rest ignored. I am using <b>RV_INVOICE_REFRESH</b> after each create, still it doesnt work. Am I missing any thing here? Thanks in advance. Please check code for further details.
Regards,
Tim
CODE ....
loop at GT_INIT_ITAB2 into GS_INIT_ITAB2.
concatenate GS_INIT_ITAB2-afdat6(4) GS_INIT_ITAB2-afdat3(2) GS_INIT_ITAB2-afdat+0(2)
into gl_date.
condense gl_date.
MOVE-CORRESPONDING GS_INIT_ITAB2 to gt_xkomfk.
gt_xkomfk-fkimg = GS_INIT_ITAB2-KWMENG.
gt_xkomfk-SELDAT = gl_date.
append gt_xkomfk.
Create Billing document at end of each Sales Document
AT END OF VBELN.
gs_vbsk-mandt = sy-mandt.
gs_vbsk-smart = 'F'.
gs_vbsk-ernam = sy-uname.
gs_vbsk-erdat = sy-datum.
gs_vbsk-uzeit = sy-uzeit.
Call function module to create Invoice
CALL FUNCTION <b>'RV_INVOICE_CREATE'</b>
EXPORTING
DELIVERY_DATE = sy-datum
INVOICE_DATE = gl_date
INVOICE_TYPE = p_fkart
PRICING_DATE = sy-datum
ID_NO_ENQUEUE = 'X'
vbsk_i = gs_vbsk
with_posting = 'B'
IMPORTING
vbsk_e = gs_vbsk
TABLES
xkomfk = gt_xkomfk
xkomv = gt_xkomv
xthead = gt_xthead
xvbfs = gt_xvbfs
xvbpa = gt_xvbpa
xvbrk = gt_xvbrk
xvbrp = gt_xvbrp
xvbss = gt_xvbss.
loop at gt_xvbfs.
append gt_xvbfs-vbeln to gt_vbeln.
endloop.
CALL FUNCTION 'DEQUEUE_EVVBAKE'
EXPORTING
VBELN = GS_INIT_ITAB2-vbeln.
DESCRIBE TABLE gt_xvbrk LINES SY-SUBRC.
IF SY-SUBRC = 0.
DELETE GT_INIT_ITAB2.
REFRESH GT_XKOMFK.
ELSE.
CALL FUNCTION <b>'RV_INVOICE_REFRESH'</b>
EXPORTING
WITH_POSTING = ' '
TABLES
XKOMFK = GT_XKOMFK
XKOMV = GT_XKOMV
XTHEAD = GT_XTHEAD
XVBFS = GT_XVBFS
XVBSS = GT_XVBSS
XVBPA = GT_XVBPA
XVBRK = GT_XVBRK
XVBRP = GT_XVBRP.
ENDIF.
REFRESH: gt_xkomfk, gt_xkomv,gt_xthead,gt_xvbfs,gt_xvbpa,
gt_xvbrk,gt_xvbrp,gt_xvbss .
ENDAT.
endloop.