<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Bapi for invoice creation in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-invoice-creation/m-p/3039275#M719226</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;see the sample code and do accordingly&lt;/P&gt;&lt;P&gt;Check this example of creating a sales order and for creating delivery...and PGI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************SALES ORDER INPUT CREATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_auart TYPE auart OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_spart TYPE vtweg OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_sold TYPE kunnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_ship TYPE kunnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ITEM&lt;/P&gt;&lt;P&gt;PARAMETERS: p_matnr TYPE matnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_plant TYPE werks_d OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_itcat TYPE pstyv OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: v_vbeln LIKE vbak-vbeln.&lt;/P&gt;&lt;P&gt;DATA: header LIKE bapisdhead1.&lt;/P&gt;&lt;P&gt;DATA: headerx LIKE bapisdhead1x.&lt;/P&gt;&lt;P&gt;DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;header-doc_type = p_auart.&lt;/P&gt;&lt;P&gt;headerx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;header-sales_org = p_vkorg.&lt;/P&gt;&lt;P&gt;headerx-sales_org = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;header-distr_chan = p_vtweg.&lt;/P&gt;&lt;P&gt;headerx-distr_chan = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;header-division = p_spart.&lt;/P&gt;&lt;P&gt;headerx-division = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;headerx-updateflag = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PARTNER DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;partner-partn_role = 'AG'.&lt;/P&gt;&lt;P&gt;partner-partn_numb = p_sold.&lt;/P&gt;&lt;P&gt;APPEND partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;partner-partn_role = 'WE'.&lt;/P&gt;&lt;P&gt;partner-partn_numb = p_ship.&lt;/P&gt;&lt;P&gt;APPEND partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ITEM DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;itemx-updateflag = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-itm_number = '000010'.&lt;/P&gt;&lt;P&gt;itemx-itm_number = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-material = p_matnr.&lt;/P&gt;&lt;P&gt;itemx-material = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-plant = p_plant.&lt;/P&gt;&lt;P&gt;itemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-target_qty = p_menge.&lt;/P&gt;&lt;P&gt;itemx-target_qty = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-target_qu = 'EA'.&lt;/P&gt;&lt;P&gt;itemx-target_qu = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-item_categ = p_itcat.&lt;/P&gt;&lt;P&gt;itemx-item_categ = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND item.&lt;/P&gt;&lt;P&gt;APPEND itemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill schedule lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;lt_schedules_in-itm_number = '000010'.&lt;/P&gt;&lt;P&gt;lt_schedules_in-sched_line = '0001'.&lt;/P&gt;&lt;P&gt;lt_schedules_in-req_qty = p_menge.&lt;/P&gt;&lt;P&gt;APPEND lt_schedules_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill schedule line flags&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;lt_schedules_inx-itm_number = '000010'.&lt;/P&gt;&lt;P&gt;lt_schedules_inx-sched_line = '0001'.&lt;/P&gt;&lt;P&gt;lt_schedules_inx-updateflag = 'X'.&lt;/P&gt;&lt;P&gt;lt_schedules_inx-req_qty = 'X'.&lt;/P&gt;&lt;P&gt;APPEND lt_schedules_inx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the BAPI&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;sales_header_in = header&lt;/P&gt;&lt;P&gt;sales_header_inx = headerx&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;salesdocument_ex = v_vbeln&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = return&lt;/P&gt;&lt;P&gt;sales_items_in = item&lt;/P&gt;&lt;P&gt;sales_items_inx = itemx&lt;/P&gt;&lt;P&gt;sales_schedules_in = lt_schedules_in&lt;/P&gt;&lt;P&gt;sales_schedules_inx = lt_schedules_inx&lt;/P&gt;&lt;P&gt;sales_partners = partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check the return table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT return WHERE type = 'E' OR type = 'A'.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE: / 'Error in creating document'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE: / 'Document ', v_vbeln, ' created'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************DELIVERY CREATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_vbap OCCURS 0,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;zmeng LIKE vbap-kwmeng,&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE vbap-werks,&lt;/P&gt;&lt;P&gt;END OF t_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_request TYPE STANDARD TABLE OF bapideliciousrequest&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_created TYPE STANDARD TABLE OF bapideliciouscreateditems&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT vbeln posnr zmeng matnr werks&lt;/P&gt;&lt;P&gt;INTO TABLE t_vbap&lt;/P&gt;&lt;P&gt;FROM vbap&lt;/P&gt;&lt;P&gt;WHERE vbeln = v_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t_request-document_numb = t_vbap-vbeln.&lt;/P&gt;&lt;P&gt;t_request-document_item = t_vbap-posnr.&lt;/P&gt;&lt;P&gt;t_request-quantity_sales_uom = t_vbap-zmeng.&lt;/P&gt;&lt;P&gt;t_request-quantity_base__uom = t_vbap-zmeng.&lt;/P&gt;&lt;P&gt;t_request-id = 1.&lt;/P&gt;&lt;P&gt;t_request-document_type = 'A'.&lt;/P&gt;&lt;P&gt;t_request-delivery_date = sy-datum.&lt;/P&gt;&lt;P&gt;t_request-material = t_vbap-matnr.&lt;/P&gt;&lt;P&gt;t_request-plant = t_vbap-werks.&lt;/P&gt;&lt;P&gt;t_request-date = sy-datum.&lt;/P&gt;&lt;P&gt;t_request-goods_issue_date = sy-datum.&lt;/P&gt;&lt;P&gt;t_request-goods_issue_time = sy-uzeit.&lt;/P&gt;&lt;P&gt;APPEND t_request.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;request = t_request&lt;/P&gt;&lt;P&gt;createditems = t_created&lt;/P&gt;&lt;P&gt;return = t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_return WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MESSAGE e208(00) WITH 'Delivery creation error'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;************Post goods issue.&lt;/P&gt;&lt;P&gt;READ TABLE t_created INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: vbkok_wa TYPE vbkok.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vbkok_wa-vbeln_vl = t_created-document_numb.&lt;/P&gt;&lt;P&gt;vbkok_wa-wabuc = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_DELIVERY_UPDATE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;vbkok_wa = vbkok_wa&lt;/P&gt;&lt;P&gt;delivery = t_created-document_numb&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ef_error_in_goods_issue_0 = v_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z_yaktest3 NO STANDARD PAGE HEADING MESSAGE-ID zi455.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table declaration *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_headerdata TYPE STANDARD TABLE OF bapi_incinv_create_header&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;gt_itemdata TYPE STANDARD TABLE OF bapi_incinv_create_item&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;gt_accountingdata TYPE STANDARD TABLE OF bapi_incinv_create_account&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;gt_return TYPE STANDARD TABLE OF bapiret2&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gs_headerdata LIKE bapi_incinv_create_header.&lt;/P&gt;&lt;P&gt;DATA: gs_itemdata LIKE bapi_incinv_create_item.&lt;/P&gt;&lt;P&gt;DATA: gs_accountingdata TYPE bapi_incinv_create_account.&lt;/P&gt;&lt;P&gt;DATA: gs_return TYPE bapiret2.&lt;/P&gt;&lt;P&gt;DATA: l_date TYPE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_date = sy-datum - 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error flag *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: l_errflag(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Invoice header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Type (Invoice)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-invoice_ind = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_headerdata-doc_type = 51.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-doc_date = l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Posting Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-pstng_date = l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference Document No&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-ref_doc_no = 323348.&lt;/P&gt;&lt;P&gt;gs_headerdata-gross_amount = 31.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-currency = 'USD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-comp_code = 'D3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Baseline Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-bline_date = l_date.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Tax Indicator&lt;/P&gt;&lt;P&gt;*gs_headerdata-calc_tax_ind = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build order item(s) - Only 1 is used in this example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-invoice_doc_item = 000001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-po_number = 3700000011.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-po_item = 00010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-quantity = 31.&lt;/P&gt;&lt;P&gt;gs_itemdata-po_unit = 'Z00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-item_amount = 31.&lt;/P&gt;&lt;P&gt;gs_itemdata-tax_code = 'O0'.&lt;/P&gt;&lt;P&gt;gs_itemdata-taxjurcode = '0100000000'.&lt;/P&gt;&lt;P&gt;APPEND gs_itemdata TO gt_itemdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-invoice_doc_item = '00002'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Purchase Order Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-po_number = '4700000158'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Purchase Order Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-po_item ='00020' .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-quantity = '5'.&lt;/P&gt;&lt;P&gt;*gs_itemdata-po_unit = 'Z00'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Item Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-item_amount = '5'.&lt;/P&gt;&lt;P&gt;*gs_itemdata-tax_code = 'O0'.&lt;/P&gt;&lt;P&gt;*gs_itemdata-taxjurcode = '0100000000'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND gs_itemdata TO gt_itemdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accounting Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***gs_accountingdata-costcenter = 'DUMMY CCTR'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-invoice_doc_item = '00001'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-xunpl = 'X'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-tax_code = 'O0'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-taxjurcode = '0100000000'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-ITEM_AMOUNT = 100.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-gl_account = '0003805101'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND gs_accountingdata TO gt_accountingdata.&lt;/P&gt;&lt;P&gt;*CLEAR :gs_accountingdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Call the BAPI to Create the Return Order&lt;/P&gt;&lt;P&gt;data: gv_INVOICE type BAPI_INCINV_FLD-INV_DOC_NO,&lt;/P&gt;&lt;P&gt;gv_YEAR type BAPI_INCINV_FLD-FISC_YEAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;headerdata = gs_headerdata&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;INVOICEDOCNUMBER = gv_INVOICE&lt;/P&gt;&lt;P&gt;FISCALYEAR = gv_YEAR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = gt_return&lt;/P&gt;&lt;P&gt;itemdata = gt_itemdata.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;accountingdata = gt_accountingdata.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check and write Return table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM error.&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;CLEAR l_errflag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT gt_return INTO gs_return.&lt;/P&gt;&lt;P&gt;WRITE: / gs_return-type, gs_return-message(200).&lt;/P&gt;&lt;P&gt;IF gs_return-type = 'E'.&lt;/P&gt;&lt;P&gt;l_errflag = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM commit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " ERROR INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No errors - Commit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM commit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF l_errflag IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " COMMIT INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 02 Nov 2007 16:38:42 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-11-02T16:38:42Z</dc:date>
    <item>
      <title>Bapi for invoice creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-invoice-creation/m-p/3039274#M719225</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;   can u tell me the Bapi's used to create billing order with respect to delivery order and invoice order ......&lt;/P&gt;&lt;P&gt; thanks in advance&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Nov 2007 16:25:31 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-invoice-creation/m-p/3039274#M719225</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-02T16:25:31Z</dc:date>
    </item>
    <item>
      <title>Re: Bapi for invoice creation</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-invoice-creation/m-p/3039275#M719226</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;see the sample code and do accordingly&lt;/P&gt;&lt;P&gt;Check this example of creating a sales order and for creating delivery...and PGI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************SALES ORDER INPUT CREATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_auart TYPE auart OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vkorg TYPE vkorg OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_vtweg TYPE vtweg OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_spart TYPE vtweg OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_sold TYPE kunnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_ship TYPE kunnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ITEM&lt;/P&gt;&lt;P&gt;PARAMETERS: p_matnr TYPE matnr OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_menge TYPE kwmeng OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_plant TYPE werks_d OBLIGATORY.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_itcat TYPE pstyv OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: v_vbeln LIKE vbak-vbeln.&lt;/P&gt;&lt;P&gt;DATA: header LIKE bapisdhead1.&lt;/P&gt;&lt;P&gt;DATA: headerx LIKE bapisdhead1x.&lt;/P&gt;&lt;P&gt;DATA: item LIKE bapisditem OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: itemx LIKE bapisditemx OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: partner LIKE bapipartnr OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_schedules_inx TYPE STANDARD TABLE OF bapischdlx&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA: lt_schedules_in TYPE STANDARD TABLE OF bapischdl&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;HEADER DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;header-doc_type = p_auart.&lt;/P&gt;&lt;P&gt;headerx-doc_type = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;header-sales_org = p_vkorg.&lt;/P&gt;&lt;P&gt;headerx-sales_org = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;header-distr_chan = p_vtweg.&lt;/P&gt;&lt;P&gt;headerx-distr_chan = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;header-division = p_spart.&lt;/P&gt;&lt;P&gt;headerx-division = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;headerx-updateflag = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PARTNER DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;partner-partn_role = 'AG'.&lt;/P&gt;&lt;P&gt;partner-partn_numb = p_sold.&lt;/P&gt;&lt;P&gt;APPEND partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;partner-partn_role = 'WE'.&lt;/P&gt;&lt;P&gt;partner-partn_numb = p_ship.&lt;/P&gt;&lt;P&gt;APPEND partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ITEM DATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;itemx-updateflag = 'I'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-itm_number = '000010'.&lt;/P&gt;&lt;P&gt;itemx-itm_number = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-material = p_matnr.&lt;/P&gt;&lt;P&gt;itemx-material = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-plant = p_plant.&lt;/P&gt;&lt;P&gt;itemx-plant = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-target_qty = p_menge.&lt;/P&gt;&lt;P&gt;itemx-target_qty = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-target_qu = 'EA'.&lt;/P&gt;&lt;P&gt;itemx-target_qu = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;item-item_categ = p_itcat.&lt;/P&gt;&lt;P&gt;itemx-item_categ = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;APPEND item.&lt;/P&gt;&lt;P&gt;APPEND itemx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill schedule lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;lt_schedules_in-itm_number = '000010'.&lt;/P&gt;&lt;P&gt;lt_schedules_in-sched_line = '0001'.&lt;/P&gt;&lt;P&gt;lt_schedules_in-req_qty = p_menge.&lt;/P&gt;&lt;P&gt;APPEND lt_schedules_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill schedule line flags&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;lt_schedules_inx-itm_number = '000010'.&lt;/P&gt;&lt;P&gt;lt_schedules_inx-sched_line = '0001'.&lt;/P&gt;&lt;P&gt;lt_schedules_inx-updateflag = 'X'.&lt;/P&gt;&lt;P&gt;lt_schedules_inx-req_qty = 'X'.&lt;/P&gt;&lt;P&gt;APPEND lt_schedules_inx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the BAPI&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;CALL FUNCTION 'BAPI_SALESDOCU_CREATEFROMDATA1'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;sales_header_in = header&lt;/P&gt;&lt;P&gt;sales_header_inx = headerx&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;salesdocument_ex = v_vbeln&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = return&lt;/P&gt;&lt;P&gt;sales_items_in = item&lt;/P&gt;&lt;P&gt;sales_items_inx = itemx&lt;/P&gt;&lt;P&gt;sales_schedules_in = lt_schedules_in&lt;/P&gt;&lt;P&gt;sales_schedules_inx = lt_schedules_inx&lt;/P&gt;&lt;P&gt;sales_partners = partner.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check the return table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT return WHERE type = 'E' OR type = 'A'.&lt;/P&gt;&lt;P&gt;EXIT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE: / 'Error in creating document'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMMIT WORK AND WAIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WRITE: / 'Document ', v_vbeln, ' created'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************DELIVERY CREATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF t_vbap OCCURS 0,&lt;/P&gt;&lt;P&gt;vbeln LIKE vbap-vbeln,&lt;/P&gt;&lt;P&gt;posnr LIKE vbap-posnr,&lt;/P&gt;&lt;P&gt;zmeng LIKE vbap-kwmeng,&lt;/P&gt;&lt;P&gt;matnr LIKE vbap-matnr,&lt;/P&gt;&lt;P&gt;werks LIKE vbap-werks,&lt;/P&gt;&lt;P&gt;END OF t_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_request TYPE STANDARD TABLE OF bapideliciousrequest&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_created TYPE STANDARD TABLE OF bapideliciouscreateditems&lt;/P&gt;&lt;P&gt;WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: t_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT vbeln posnr zmeng matnr werks&lt;/P&gt;&lt;P&gt;INTO TABLE t_vbap&lt;/P&gt;&lt;P&gt;FROM vbap&lt;/P&gt;&lt;P&gt;WHERE vbeln = v_vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT t_vbap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;t_request-document_numb = t_vbap-vbeln.&lt;/P&gt;&lt;P&gt;t_request-document_item = t_vbap-posnr.&lt;/P&gt;&lt;P&gt;t_request-quantity_sales_uom = t_vbap-zmeng.&lt;/P&gt;&lt;P&gt;t_request-quantity_base__uom = t_vbap-zmeng.&lt;/P&gt;&lt;P&gt;t_request-id = 1.&lt;/P&gt;&lt;P&gt;t_request-document_type = 'A'.&lt;/P&gt;&lt;P&gt;t_request-delivery_date = sy-datum.&lt;/P&gt;&lt;P&gt;t_request-material = t_vbap-matnr.&lt;/P&gt;&lt;P&gt;t_request-plant = t_vbap-werks.&lt;/P&gt;&lt;P&gt;t_request-date = sy-datum.&lt;/P&gt;&lt;P&gt;t_request-goods_issue_date = sy-datum.&lt;/P&gt;&lt;P&gt;t_request-goods_issue_time = sy-uzeit.&lt;/P&gt;&lt;P&gt;APPEND t_request.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_DELIVERYPROCESSING_EXEC'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;request = t_request&lt;/P&gt;&lt;P&gt;createditems = t_created&lt;/P&gt;&lt;P&gt;return = t_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE t_return WITH KEY type = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MESSAGE e208(00) WITH 'Delivery creation error'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;************Post goods issue.&lt;/P&gt;&lt;P&gt;READ TABLE t_created INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: vbkok_wa TYPE vbkok.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vbkok_wa-vbeln_vl = t_created-document_numb.&lt;/P&gt;&lt;P&gt;vbkok_wa-wabuc = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: v_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_DELIVERY_UPDATE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;vbkok_wa = vbkok_wa&lt;/P&gt;&lt;P&gt;delivery = t_created-document_numb&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ef_error_in_goods_issue_0 = v_error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z_yaktest3 NO STANDARD PAGE HEADING MESSAGE-ID zi455.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table declaration *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_headerdata TYPE STANDARD TABLE OF bapi_incinv_create_header&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;gt_itemdata TYPE STANDARD TABLE OF bapi_incinv_create_item&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;gt_accountingdata TYPE STANDARD TABLE OF bapi_incinv_create_account&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0,&lt;/P&gt;&lt;P&gt;gt_return TYPE STANDARD TABLE OF bapiret2&lt;/P&gt;&lt;P&gt;INITIAL SIZE 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gs_headerdata LIKE bapi_incinv_create_header.&lt;/P&gt;&lt;P&gt;DATA: gs_itemdata LIKE bapi_incinv_create_item.&lt;/P&gt;&lt;P&gt;DATA: gs_accountingdata TYPE bapi_incinv_create_account.&lt;/P&gt;&lt;P&gt;DATA: gs_return TYPE bapiret2.&lt;/P&gt;&lt;P&gt;DATA: l_date TYPE sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;l_date = sy-datum - 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error flag *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: l_errflag(1) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build Invoice header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Type (Invoice)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-invoice_ind = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gs_headerdata-doc_type = 51.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-doc_date = l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Posting Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-pstng_date = l_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reference Document No&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-ref_doc_no = 323348.&lt;/P&gt;&lt;P&gt;gs_headerdata-gross_amount = 31.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Currency&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-currency = 'USD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-comp_code = 'D3'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Baseline Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;gs_headerdata-bline_date = l_date.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**Tax Indicator&lt;/P&gt;&lt;P&gt;*gs_headerdata-calc_tax_ind = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build order item(s) - Only 1 is used in this example&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-invoice_doc_item = 000001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-po_number = 3700000011.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Purchase Order Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-po_item = 00010.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-quantity = 31.&lt;/P&gt;&lt;P&gt;gs_itemdata-po_unit = 'Z00'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Item Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;gs_itemdata-item_amount = 31.&lt;/P&gt;&lt;P&gt;gs_itemdata-tax_code = 'O0'.&lt;/P&gt;&lt;P&gt;gs_itemdata-taxjurcode = '0100000000'.&lt;/P&gt;&lt;P&gt;APPEND gs_itemdata TO gt_itemdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Document Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-invoice_doc_item = '00002'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Purchase Order Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-po_number = '4700000158'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Purchase Order Item&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-po_item ='00020' .&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Quantity&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-quantity = '5'.&lt;/P&gt;&lt;P&gt;*gs_itemdata-po_unit = 'Z00'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Item Amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*gs_itemdata-item_amount = '5'.&lt;/P&gt;&lt;P&gt;*gs_itemdata-tax_code = 'O0'.&lt;/P&gt;&lt;P&gt;*gs_itemdata-taxjurcode = '0100000000'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND gs_itemdata TO gt_itemdata.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accounting Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***gs_accountingdata-costcenter = 'DUMMY CCTR'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-invoice_doc_item = '00001'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-xunpl = 'X'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-tax_code = 'O0'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-taxjurcode = '0100000000'.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-ITEM_AMOUNT = 100.&lt;/P&gt;&lt;P&gt;*gs_accountingdata-gl_account = '0003805101'.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*APPEND gs_accountingdata TO gt_accountingdata.&lt;/P&gt;&lt;P&gt;*CLEAR :gs_accountingdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Call the BAPI to Create the Return Order&lt;/P&gt;&lt;P&gt;data: gv_INVOICE type BAPI_INCINV_FLD-INV_DOC_NO,&lt;/P&gt;&lt;P&gt;gv_YEAR type BAPI_INCINV_FLD-FISC_YEAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;headerdata = gs_headerdata&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;INVOICEDOCNUMBER = gv_INVOICE&lt;/P&gt;&lt;P&gt;FISCALYEAR = gv_YEAR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;return = gt_return&lt;/P&gt;&lt;P&gt;itemdata = gt_itemdata.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;accountingdata = gt_accountingdata.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check and write Return table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM error.&lt;/P&gt;&lt;P&gt;LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;CLEAR l_errflag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT gt_return INTO gs_return.&lt;/P&gt;&lt;P&gt;WRITE: / gs_return-type, gs_return-message(200).&lt;/P&gt;&lt;P&gt;IF gs_return-type = 'E'.&lt;/P&gt;&lt;P&gt;l_errflag = 'X'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM commit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " ERROR INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;No errors - Commit&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM commit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF l_errflag IS INITIAL.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " COMMIT INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Nov 2007 16:38:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-for-invoice-creation/m-p/3039275#M719226</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-11-02T16:38:42Z</dc:date>
    </item>
  </channel>
</rss>

