Skip to Content
0
Former Member
Oct 31, 2006 at 11:43 PM

RV_INVOICE_CREATE u0096 Issue creating more then one invoice

1666 Views

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 doesn’t 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.