2014 Aug 29 12:14 PM
i need to automate miro for services.
Please help how I can do this with code using above BAPI.
Thanks
can you tell me what is the result if your entering the same details manually? is service tax clearing captured correctly?
Regards,
Pavan
2015 Mar 09 6:39 AM
Dear all,
It will be very helpful & ll be thankful if any ideas shared to overcome below issue.
I was trying to create invoice using BAPI_incoming_invoice of service document type.the invoice is created but while checking in accounting data amount is gone for coin adjustment,which is wrong as per my functional.
My code & outcome is are attached.
REPORT ZBAPI_AUTO_MIRO_SERVICES.
DATA: headerdata TYPE bapi_incinv_create_header,
itemdata TYPE TABLE OF bapi_incinv_create_item,
ls_itemdata TYPE bapi_incinv_create_item,
ls_accountingdata type bapi_incinv_create_account,
accountingdata type table of bapi_incinv_create_account,
return TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2,
invoicedocnumber LIKE bapi_incinv_fld-inv_doc_no,
fiscalyear LIKE bapi_incinv_fld-fisc_year,
taxdata TYPE TABLE OF bapi_incinv_create_tax,
ls_taxdata TYPE bapi_incinv_create_tax,
gldata TYPE TABLE OF bapi_incinv_create_gl_account,
ls_gldata TYPE bapi_incinv_create_gl_account,
vsplit TYPE TABLE OF bapi_incinv_create_vendorsplit,
ls_vsplit TYPE bapi_incinv_create_vendorsplit.
DATA:counter TYPE i.
DATA: it_exload LIKE alsmex_tabline OCCURS 0 WITH HEADER LINE.
DATA:BEGIN OF it_final OCCURS 0,
doc_date(8),
doc_type(2),
ref_doc_no(20),
pstng_date(8),
comp_code(4),
diff_inv(10),
currency(3),
gross_amount(13),
exch_rate(6),
header_txt(25),
del_costs_taxc(2),
alloc_number(20),
bus_area(4),
item_text(50),
business_place(4),
invoice_doc_item(6),
po_number(10),
tax_code(2),
item_amount(13),
po_item(5),
quantity(5),
po_unit(2),
cond_type(4),
freight_ven(10),
INVOICE_DOC_ITEM1(6),
SERIAL_NO1(2),
TAX_CODE1(2),
ITEM_AMOUNT1(13),
QUANTITY1(5),
PO_UNIT1(2),
END OF it_final.
headerdata-invoice_ind = 'X'.
headerdata-CALC_TAX_IND = 'X'.
headerdata-doc_type = 'RE'.
headerdata-doc_date = '20150309'.
headerdata-ref_doc_no = 'GDFGDFG'.
headerdata-pstng_date = '20150309'.
headerdata-comp_code = 'VALC'.
* headerdata-diff_inv = '0000203495'.
headerdata-currency = 'INR'.
headerdata-gross_amount = '657.30'.
headerdata-exch_rate = '1.00000'.
headerdata-PMNTTRMS = '0001'.
headerdata-bline_date = '20150309'.
headerdata-bus_area = '3001'.
headerdata-header_txt = 'abcddfghvkj'.
* headerdata-del_costs_taxc = it_final-del_costs_taxc."'P0'.
headerdata-alloc_nmbr = 'BVKJFDLNV'.
headerdata-item_text = 'BJFDBVKBDSVK'.
headerdata-business_place = '1000'.
ls_itemdata-invoice_doc_item = '000001'.
ls_itemdata-po_number = '6600003195'.
ls_itemdata-po_item = '00010'.
ls_itemdata-tax_code = 'S1'.
ls_itemdata-item_amount = '585.00'.
ls_itemdata-quantity = '3'."it_final-quantity.
ls_itemdata-po_unit = 'NO'.
ls_itemdata-ref_doc = '1000363624'.
ls_itemdata-ref_doc_it = '001'.
ls_itemdata-REF_DOC_YEAR = '2015'.
ls_itemdata-SHEET_NO = '1000363624'.
ls_itemdata-SHEET_ITEM = '0000000010'.
APPEND ls_itemdata TO itemdata.
CLEAR ls_itemdata.
PERFORM COMMIT_WORK.
FORM COMMIT_WORK.
* LOOP AT taxdata.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
EXPORTING
headerdata = headerdata
** ADDRESSDATA =
IMPORTING
invoicedocnumber = invoicedocnumber
fiscalyear = fiscalyear
TABLES
itemdata = itemdata
* accountingdata = accountingdata
* glaccountdata = gldata
* MATERIALDATA = matdata
* TAXDATA = taxdata
** WITHTAXDATA =
** VENDORITEMSPLITDATA =
return = return.
** EXTENSIONIN =
** TM_ITEMDATA =
** NFMETALLITMS =
*
IF return IS NOT INITIAL.
LOOP AT return INTO ls_return WHERE type = 'E'.
FORMAT INTENSIFIED.
WRITE: / ls_return-message COLOR 6.
FORMAT INTENSIFIED OFF.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
IMPORTING
return = ls_return.
IF sy-subrc = 0 .
FORMAT INVERSE .
WRITE: 'Invoice & Created Successfully' COLOR 5,invoicedocnumber COLOR 5 .
FORMAT INVERSE OFF.
ENDIF.
ENDIF.
CLEAR headerdata.
REFRESH itemdata.
REFRESH accountingdata.
REFRESH TAXDATA.
*ENDLOOP.
ENDFORM.
2015 Mar 09 7:31 AM
Hi Kumar,
Try to pass the Tax details also in FM ,
ls_tax-TAX_CODE = < Tax code of item>.
ls_tax-TAX_AMOUNT = < Clauculate tax base on the item amount >.
append ls_tax into lt_tax.
For calculating the the tax amount you can find some FM , CALCULATE_TAX_FROM_NET_AMOUNT
Or CALCULATE_TAX_FROM_GROSS_AMOUNT
and also uncheck the calculate tax check box. headerdata-CALC_TAX_IND = ' '.
Try this and check once .
Regards,
Pavan
2015 Mar 09 9:10 AM
thanks for the much waited anticipation.
I tried before the thing you mentioned but problem is,
in this case the tax amount in SER TAX clearing capturing Rs.7.72 & rest are going to CENVAT clearing which is incorrect to my functional.
Attaching screen-shot.Please guide if any changes I have to make in tax data
2015 Mar 09 9:29 AM
can you tell me what is the result if your entering the same details manually? is service tax clearing captured correctly?
Regards,
Pavan
2015 Mar 09 11:59 AM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |