Skip to Content
0
Former Member
Sep 01, 2014 at 03:30 AM

BAPI_BILLINGDOC_CREATEMULTIPLE | Result unexpected while automation.

386 Views

Hi Gurus,

I have created an automation of VF01/02 and create invoice for customer billing.

I have created the sales order with reference (VA02) and saved it.


Here is my code.

*&---------------------------------------------------------------------*

*& Form GET_SALESORD

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM get_salesord .

DATA i_fy(004) TYPE c.

DATA run_date TYPE dats.

run_date = sy-datum.

CALL FUNCTION 'HR_JP_MONTH_BEGIN_END_DATE'

EXPORTING

iv_date = run_date

IMPORTING

ev_month_begin_date = v_sdate

ev_month_end_date = v_edate.

SELECT *

INTO TABLE it_vbak

FROM vbak

WHERE erdat GE v_sdate

AND erdat LE v_edate

AND vbtyp = 'C'.

SELECT *

INTO TABLE it_konv

FROM konv

FOR ALL ENTRIES IN it_vbak

WHERE knumv = it_vbak-knumv.

BREAK-POINT.

SELECT *

FROM vbap

INTO TABLE it_vbap

FOR ALL ENTRIES IN it_vbak

WHERE erdat GE it_vbak-erdat.

ENDFORM. " GET_SALESORD

*&---------------------------------------------------------------------*

*& Form CREATE_BILL

*&---------------------------------------------------------------------*

* text

*----------------------------------------------------------------------*

* --> p1 text

* <-- p2 text

*----------------------------------------------------------------------*

FORM create_bill .

LOOP AT it_vbak INTO wa_vbak.

wa_billingdatain-doc_number = wa_vbak-vbeln.

wa_billingdatain-created_by = wa_vbak-ernam.

wa_billingdatain-doc_type = wa_vbak-auart.

wa_billingdatain-ordbilltyp = wa_vbak-fkara.

wa_billingdatain-salesorg = wa_vbak-vkorg.

wa_billingdatain-distr_chan = wa_vbak-vtweg.

wa_billingdatain-division = wa_vbak-spart.

wa_billingdatain-sold_to = wa_vbak-kunnr.

wa_billingdatain-currency = wa_vbak-waerk.

wa_billingdatain-ref_doc = wa_vbak-vgbel.

wa_billingdatain-orderid = wa_vbak-aufnr.

wa_billingdatain-tax_depart_cty = wa_vbak-landtx.

wa_billingdatain-tax_dest_cty = wa_vbak-stceg_l.

wa_billingdatain-price_date = sy-datum.

LOOP AT it_vbap INTO wa_vbap

WHERE erdat = wa_vbak-erdat.

wa_billingdatain-itm_number = wa_vbap-posnr.

wa_billingdatain-origindoc = wa_vbap-vbelv.

wa_billingdatain-item = wa_vbap-posnv.

wa_billingdatain-item_categ = wa_vbap-pstyv.

wa_billingdatain-req_qty = wa_vbap-kwmeng.

wa_billingdatain-sales_unit = wa_vbap-vrkme.

wa_billingdatain-no_matmast = ' '.

wa_billingdatain-plant = wa_vbap-werks.

wa_billingdatain-material = wa_vbap-matnr.

wa_billingdatain-acctasgnmt = wa_vbap-ktgrm.

wa_billingdatain-ref_item = wa_vbap-vgpos.

wa_billingdatain-sales_unit = wa_vbap-vrkme.

wa_billingdatain-profit_ctr = wa_vbap-prctr.

wa_billingdatain-ref_doc_ca = wa_vbap-vgtyp.

wa_billingdatain-costcenter = wa_vbap-kostl.

wa_billingdatain-wbs_elem = wa_vbap-ps_psp_pnr.

ENDLOOP.

* LOOP AT it_konv INTO wa_konv

* WHERE knumv = wa_vbak-knumv.

* wa_conditiondatain-cond_type = wa_konv-kschl.

* wa_conditiondatain-cond_curr = wa_konv-kwaeh.

* wa_conditiondatain-cond_value = wa_konv-kbetr.

* wa_conditiondatain-cond_p_unt = wa_konv-kpein.

* wa_conditiondatain-cond_d_unt = wa_konv-kmein.

* ENDLOOP.

* wa_textdatain-ref_doc = wa_vbap-vgbel.

* wa_textdatain-ref_item = wa_vbap-vgpos.

* wa_textdatain-applobject = 'VBBK'.

* wa_textdatain-langu = 'EN'.

* wa_textdatain-text_id = 'ST'.

APPEND wa_billingdatain TO it_billingdatain.

* APPEND wa_conditiondatain TO it_conditiondatain.

* APPEND wa_textdatain TO it_textdatain.

CALL FUNCTION 'BAPI_BILLINGDOC_CREATEMULTIPLE'

EXPORTING

* CREATORDATAIN =

testrun = 'X'

* POSTING =

TABLES

billingdatain = it_billingdatain

* conditiondatain = it_conditiondatain

* CCARDDATAIN =

* textdatain = it_textdatain

errors = it_errors

return = it_return

success = it_success.

BREAK-POINT.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

* EXPORTING

* WAIT =

* IMPORTING

* RETURN =

.

ENDLOOP.

IF it_errors[] IS NOT INITIAL.

EXIT.

ENDIF.

ENDFORM. " CREATE_BILL

and it is giving me a result,

I VF 044 The item is not relevant for billing

Please suggest.

Regards