Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8150

BAPI_BILLINGDOC_CREATEMULTIPLE | Result unexpected while automation.

$
0
0

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,

 

IVF044The item is not relevant for billing

 

Please suggest.

 

Regards


Viewing all articles
Browse latest Browse all 8150

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>