<?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_INCOMINGINVOICE_CREATE in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436984#M208244</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;Look at this sample code&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  Z_BAPI_INCOMINGINVOICE_CREATE           .
*----------------------------------------------------------------------*
*       Create Vendor Invoices using BAPI               *
  Invoice data is sent by the vendors in a text file and an inbound
*  interface is required to create Vendor Invoices in SAP.
*  The file contains the Purchase Order information, material quantity
*  received from vendor along with the amount.
*  Here the requirement becomes a little complex as there might be
*  several ocuurences of same Purchase Order item in one  invoice.
*----------------------------------------------------------------------*
*  Only a incomplete sample coding is given here and it can only be used
*  as a base for writing a program.
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* Populate internal Table I_ITAB from the data uploaded
* from text data file.
*......
*......

*----------------------------------------------------------------------*
* Populate Item Table from item data in data file
*......
*......
*   Processing for header records of data file.
*   set up header data for BAPI call.
*   Check whwther it's an Incoice or Credit Memo.
*   And populate Invoice indicator accordingly.

IF I_ITAB-TRANS EQ '-'.
  I_HEADER-INVOICE_IND = C_X.
ELSE.
  CLEAR I_HEADER-INVOICE_IND.
ENDIF.
I_HEADER-PSTNG_DATE = I_ITAB-BUDAT.
I_HEADER-DOC_DATE = I_ITAB-BLDAT.
I_HEADER-CURRENCY = W_WAERS.
I_HEADER-GROSS_AMOUNT = I_ITAB-DMBTR.
I_HEADER-COMP_CODE = I_ITAB-BUKRS.
I_HEADER-HEADER_TXT = I_ITAB-SGTXT.
I_HEADER-REF_DOC_NO = I_ITAB-XBLNR.

IF NOT I_ITAB-INV_REC_DATE IS INITIAL.
  I_HEADER-INV_REC_DATE = I_ITAB-INV_REC_DATE.
ELSE.
  I_HEADER-INV_REC_DATE = I_ITAB-BLDAT.
ENDIF.

I_HEADER-PYMT_METH = I_ITAB-ZLSCH.
APPEND I_HEADER.

*....
*....
*----------------------------------------------------------------------*
* Populate Item Table from item data in data file

lv_count = 0.

LOOP AT I_ITAB.

*   Processing for header records of data file.

  lv_count = lv_count + 1.
* ...........
* ...........
* Item Data
  I_ITEM-INVOICE_DOC_ITEM = lv_COUNT.
  I_ITEM-PO_NUMBER    = I_ITAB-EBELN.
  I_ITEM-PO_ITEM      = I_ITAB-EBELP.
  I_ITEM-TAX_CODE     = I_ITAB-MWSKZ2.
  I_ITEM-ITEM_AMOUNT  = I_ITAB-NETWR.

* Populate quantities if not a blanket order
  IF I_ITAB-BLANKET EQ SPACE.
    I_ITEM-QUANTITY = I_ITAB-MENGE.
    PERFORM GET_MEINS USING I_ITAB-EBELN       " Use table EKPO
                            I_ITAB-EBELP
                      CHANGING I_ITEM-PO_UNIT.
    I_ACCOUNTINGDATA-PO_UNIT = I_ITEM-PO_UNIT.

    IF I_ITEM-QUANTITY EQ 0.
      I_ITEM-PO_UNIT = SPACE.
    ENDIF.
  ENDIF.

* Item Text
  I_ITEM-ITEM_TEXT = I_ITAB-ITEM_TEXT.
  APPEND I_ITEM.

* Populate Accounting Data
  IF I_ITAB-BLANKET EQ SPACE.
    I_ACCOUNTINGDATA-INVOICE_DOC_ITEM = lv_COUNT.
    I_ACCOUNTINGDATA-SERIAL_NO        = '01'.

    I_ACCOUNTINGDATA-TAX_CODE         = I_ITAB-MWSKZ2.
    I_ACCOUNTINGDATA-ITEM_AMOUNT      = I_ITAB-NETWR.

    SELECT SINGLE SAKTO KOSTL VBELN VBELP ANLN1 ANLN2 DABRZ
                  FISTL GEBER GRANT_NBR GSBER IMKEY KOKRS KSTRG PAOBJNR
                  PRCTR PS_PSP_PNR AUFNR MENGE
      FROM EKKN
      INTO (I_ACCOUNTINGDATA-GL_ACCOUNT, I_ACCOUNTINGDATA-COSTCENTER,
            I_ACCOUNTINGDATA-SD_DOC, I_ACCOUNTINGDATA-SDOC_ITEM,
            I_ACCOUNTINGDATA-ASSET_NO, I_ACCOUNTINGDATA-SUB_NUMBER,
            I_ACCOUNTINGDATA-REF_DATE, I_ACCOUNTINGDATA-FUNDS_CTR,
            I_ACCOUNTINGDATA-FUND, I_ACCOUNTINGDATA-GRANT_NBR,
            I_ACCOUNTINGDATA-BUS_AREA, I_ACCOUNTINGDATA-RL_EST_KEY,
            I_ACCOUNTINGDATA-CO_AREA, I_ACCOUNTINGDATA-COSTOBJECT,
           I_ACCOUNTINGDATA-PROFIT_SEGM_NO, I_ACCOUNTINGDATA-PROFIT_CTR,
            I_ACCOUNTINGDATA-WBS_ELEM, I_ACCOUNTINGDATA-ORDERID,
            I_ACCOUNTINGDATA-QUANTITY)
      WHERE EBELN EQ I_ITAB-EBELN
      AND   EBELP EQ I_ITAB-EBELP
      AND   ZEKKN EQ '01'.
    IF EKKO-BSART NE 'LTV'.
      CLEAR I_ACCOUNTINGDATA-QUANTITY.
      CLEAR I_ACCOUNTINGDATA-PO_UNIT.
    ENDIF.
    APPEND I_ACCOUNTINGDATA.
  ENDIF.

*.....
*.....
ENDLOOP.

*----------------------------------------------------------------------*

*   The following coding is to solve the problem
*   mentioned in OSS Note 518338.
*   Same PO item within several invoice items.
SORT I_ITEM BY PO_NUMBER PO_ITEM.
LOOP AT I_ITEM.

  ON CHANGE OF I_ITEM-PO_NUMBER OR I_ITEM-PO_ITEM.
    W_COUNTER = 1.
    LOOP AT I_ITEM WHERE PO_NUMBER = I_ITEM-PO_NUMBER
                     AND PO_ITEM   = I_ITEM-PO_ITEM.

      IF W_COUNTER EQ 1.
        I_ACCOUNTINGDATA-SERIAL_NO = '01'.
        I_ACCOUNTINGDATA-XUNPL     = ' '.
      ELSE.
        I_ACCOUNTINGDATA-SERIAL_NO = ' '.
        I_ACCOUNTINGDATA-XUNPL     = 'X'.
      ENDIF.
      MODIFY I_ACCOUNTINGDATA
       TRANSPORTING SERIAL_NO XUNPL
      WHERE INVOICE_DOC_ITEM = I_ITEM-INVOICE_DOC_ITEM.
      W_COUNTER = W_COUNTER + 1.
    ENDLOOP.

*     To solve the repetition of PO item in subsequent invoices.
  ELSEIF SY-TABIX EQ 1.
    W_COUNTER = 1.
    LOOP AT I_ITEM WHERE PO_NUMBER = I_ITEM-PO_NUMBER
                     AND PO_ITEM   = I_ITEM-PO_ITEM.

      IF W_COUNTER EQ 1.
        I_ACCOUNTINGDATA-SERIAL_NO = '01'.
        I_ACCOUNTINGDATA-XUNPL     = ' '.
      ELSE.
        I_ACCOUNTINGDATA-SERIAL_NO = ' '.
        I_ACCOUNTINGDATA-XUNPL     = 'X'.
      ENDIF.
      MODIFY I_ACCOUNTINGDATA
       TRANSPORTING SERIAL_NO XUNPL
      WHERE INVOICE_DOC_ITEM = I_ITEM-INVOICE_DOC_ITEM.
      W_COUNTER = W_COUNTER + 1.
    ENDLOOP.

  ENDON.
ENDLOOP.
*   Changes over for  OSS Note 518338.

SORT I_ITEM BY INVOICE_DOC_ITEM PO_NUMBER PO_ITEM.
&amp;lt;b&amp;gt;CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
  EXPORTING
    HEADERDATA       = I_HEADER
  IMPORTING
    INVOICEDOCNUMBER = W_BELNR
    FISCALYEAR       = W_GJAHR
  TABLES
    ITEMDATA         = I_ITEM
    ACCOUNTINGDATA   = I_ACCOUNTINGDATA
    TAXDATA          = I_TAX
    RETURN           = I_RETURN.&amp;lt;/b&amp;gt;

if sy-subrc &amp;lt; &amp;gt;  0.
  message e999(re) with  'Problem occured'.
else.
  loop at return.
    if not return is initial.
      clear bapi_retn_info.
      move-corresponding return to bapi_retn_info.
      if return-type = 'A' or return-type = 'E'.
        error_flag = 'X'.
      endif.
      append bapi_retn_info.
    endif.
  endloop.
  if error_flag = 'X'.
    message e999(re) with  'Problem occured'.
    rollback work.
  else.
     *       Return Table from BAPI call is empty
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT   = 'X'
      IMPORTING
        RETURN = I_RETURN.
  endif.
endif.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 11 Jul 2006 17:12:34 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-07-11T17:12:34Z</dc:date>
    <item>
      <title>BAPI_INCOMINGINVOICE_CREATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436982#M208242</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am using 'BAPI_INCOMINGINVOICE_CREATE'  to post an invoice for a purchase order. Which field do I use on the header data structure of this bapi for tax code to make it  "A/P Sales Tax, exempt" ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 16:39:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436982#M208242</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T16:39:30Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_INCOMINGINVOICE_CREATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436983#M208243</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can see the following fields in &amp;lt;b&amp;gt;BAPI_INCINV_CREATE_HEADER&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;CALC_TAX_IND&lt;/P&gt;&lt;P&gt;DEL_COSTS_TAXC&lt;/P&gt;&lt;P&gt;DEL_COSTS_TAXJ&lt;/P&gt;&lt;P&gt;TAX_EXCH_RATE&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As per my understanding, its tied up with some payment condition type in Sales order like 'MSt' or ZEXP ( exempt ) etc ...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this&amp;#146;ll give you idea!!&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Pl... award the points.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;Good luck &lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Saquib Khan&lt;/P&gt;&lt;P&gt;"Some are wise and some are otherwise"&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 16:59:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436983#M208243</guid>
      <dc:creator>former_member181966</dc:creator>
      <dc:date>2006-07-11T16:59:30Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_INCOMINGINVOICE_CREATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436984#M208244</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;i&amp;gt;Look at this sample code&amp;lt;/i&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  Z_BAPI_INCOMINGINVOICE_CREATE           .
*----------------------------------------------------------------------*
*       Create Vendor Invoices using BAPI               *
  Invoice data is sent by the vendors in a text file and an inbound
*  interface is required to create Vendor Invoices in SAP.
*  The file contains the Purchase Order information, material quantity
*  received from vendor along with the amount.
*  Here the requirement becomes a little complex as there might be
*  several ocuurences of same Purchase Order item in one  invoice.
*----------------------------------------------------------------------*
*  Only a incomplete sample coding is given here and it can only be used
*  as a base for writing a program.
*----------------------------------------------------------------------*

*----------------------------------------------------------------------*
* Populate internal Table I_ITAB from the data uploaded
* from text data file.
*......
*......

*----------------------------------------------------------------------*
* Populate Item Table from item data in data file
*......
*......
*   Processing for header records of data file.
*   set up header data for BAPI call.
*   Check whwther it's an Incoice or Credit Memo.
*   And populate Invoice indicator accordingly.

IF I_ITAB-TRANS EQ '-'.
  I_HEADER-INVOICE_IND = C_X.
ELSE.
  CLEAR I_HEADER-INVOICE_IND.
ENDIF.
I_HEADER-PSTNG_DATE = I_ITAB-BUDAT.
I_HEADER-DOC_DATE = I_ITAB-BLDAT.
I_HEADER-CURRENCY = W_WAERS.
I_HEADER-GROSS_AMOUNT = I_ITAB-DMBTR.
I_HEADER-COMP_CODE = I_ITAB-BUKRS.
I_HEADER-HEADER_TXT = I_ITAB-SGTXT.
I_HEADER-REF_DOC_NO = I_ITAB-XBLNR.

IF NOT I_ITAB-INV_REC_DATE IS INITIAL.
  I_HEADER-INV_REC_DATE = I_ITAB-INV_REC_DATE.
ELSE.
  I_HEADER-INV_REC_DATE = I_ITAB-BLDAT.
ENDIF.

I_HEADER-PYMT_METH = I_ITAB-ZLSCH.
APPEND I_HEADER.

*....
*....
*----------------------------------------------------------------------*
* Populate Item Table from item data in data file

lv_count = 0.

LOOP AT I_ITAB.

*   Processing for header records of data file.

  lv_count = lv_count + 1.
* ...........
* ...........
* Item Data
  I_ITEM-INVOICE_DOC_ITEM = lv_COUNT.
  I_ITEM-PO_NUMBER    = I_ITAB-EBELN.
  I_ITEM-PO_ITEM      = I_ITAB-EBELP.
  I_ITEM-TAX_CODE     = I_ITAB-MWSKZ2.
  I_ITEM-ITEM_AMOUNT  = I_ITAB-NETWR.

* Populate quantities if not a blanket order
  IF I_ITAB-BLANKET EQ SPACE.
    I_ITEM-QUANTITY = I_ITAB-MENGE.
    PERFORM GET_MEINS USING I_ITAB-EBELN       " Use table EKPO
                            I_ITAB-EBELP
                      CHANGING I_ITEM-PO_UNIT.
    I_ACCOUNTINGDATA-PO_UNIT = I_ITEM-PO_UNIT.

    IF I_ITEM-QUANTITY EQ 0.
      I_ITEM-PO_UNIT = SPACE.
    ENDIF.
  ENDIF.

* Item Text
  I_ITEM-ITEM_TEXT = I_ITAB-ITEM_TEXT.
  APPEND I_ITEM.

* Populate Accounting Data
  IF I_ITAB-BLANKET EQ SPACE.
    I_ACCOUNTINGDATA-INVOICE_DOC_ITEM = lv_COUNT.
    I_ACCOUNTINGDATA-SERIAL_NO        = '01'.

    I_ACCOUNTINGDATA-TAX_CODE         = I_ITAB-MWSKZ2.
    I_ACCOUNTINGDATA-ITEM_AMOUNT      = I_ITAB-NETWR.

    SELECT SINGLE SAKTO KOSTL VBELN VBELP ANLN1 ANLN2 DABRZ
                  FISTL GEBER GRANT_NBR GSBER IMKEY KOKRS KSTRG PAOBJNR
                  PRCTR PS_PSP_PNR AUFNR MENGE
      FROM EKKN
      INTO (I_ACCOUNTINGDATA-GL_ACCOUNT, I_ACCOUNTINGDATA-COSTCENTER,
            I_ACCOUNTINGDATA-SD_DOC, I_ACCOUNTINGDATA-SDOC_ITEM,
            I_ACCOUNTINGDATA-ASSET_NO, I_ACCOUNTINGDATA-SUB_NUMBER,
            I_ACCOUNTINGDATA-REF_DATE, I_ACCOUNTINGDATA-FUNDS_CTR,
            I_ACCOUNTINGDATA-FUND, I_ACCOUNTINGDATA-GRANT_NBR,
            I_ACCOUNTINGDATA-BUS_AREA, I_ACCOUNTINGDATA-RL_EST_KEY,
            I_ACCOUNTINGDATA-CO_AREA, I_ACCOUNTINGDATA-COSTOBJECT,
           I_ACCOUNTINGDATA-PROFIT_SEGM_NO, I_ACCOUNTINGDATA-PROFIT_CTR,
            I_ACCOUNTINGDATA-WBS_ELEM, I_ACCOUNTINGDATA-ORDERID,
            I_ACCOUNTINGDATA-QUANTITY)
      WHERE EBELN EQ I_ITAB-EBELN
      AND   EBELP EQ I_ITAB-EBELP
      AND   ZEKKN EQ '01'.
    IF EKKO-BSART NE 'LTV'.
      CLEAR I_ACCOUNTINGDATA-QUANTITY.
      CLEAR I_ACCOUNTINGDATA-PO_UNIT.
    ENDIF.
    APPEND I_ACCOUNTINGDATA.
  ENDIF.

*.....
*.....
ENDLOOP.

*----------------------------------------------------------------------*

*   The following coding is to solve the problem
*   mentioned in OSS Note 518338.
*   Same PO item within several invoice items.
SORT I_ITEM BY PO_NUMBER PO_ITEM.
LOOP AT I_ITEM.

  ON CHANGE OF I_ITEM-PO_NUMBER OR I_ITEM-PO_ITEM.
    W_COUNTER = 1.
    LOOP AT I_ITEM WHERE PO_NUMBER = I_ITEM-PO_NUMBER
                     AND PO_ITEM   = I_ITEM-PO_ITEM.

      IF W_COUNTER EQ 1.
        I_ACCOUNTINGDATA-SERIAL_NO = '01'.
        I_ACCOUNTINGDATA-XUNPL     = ' '.
      ELSE.
        I_ACCOUNTINGDATA-SERIAL_NO = ' '.
        I_ACCOUNTINGDATA-XUNPL     = 'X'.
      ENDIF.
      MODIFY I_ACCOUNTINGDATA
       TRANSPORTING SERIAL_NO XUNPL
      WHERE INVOICE_DOC_ITEM = I_ITEM-INVOICE_DOC_ITEM.
      W_COUNTER = W_COUNTER + 1.
    ENDLOOP.

*     To solve the repetition of PO item in subsequent invoices.
  ELSEIF SY-TABIX EQ 1.
    W_COUNTER = 1.
    LOOP AT I_ITEM WHERE PO_NUMBER = I_ITEM-PO_NUMBER
                     AND PO_ITEM   = I_ITEM-PO_ITEM.

      IF W_COUNTER EQ 1.
        I_ACCOUNTINGDATA-SERIAL_NO = '01'.
        I_ACCOUNTINGDATA-XUNPL     = ' '.
      ELSE.
        I_ACCOUNTINGDATA-SERIAL_NO = ' '.
        I_ACCOUNTINGDATA-XUNPL     = 'X'.
      ENDIF.
      MODIFY I_ACCOUNTINGDATA
       TRANSPORTING SERIAL_NO XUNPL
      WHERE INVOICE_DOC_ITEM = I_ITEM-INVOICE_DOC_ITEM.
      W_COUNTER = W_COUNTER + 1.
    ENDLOOP.

  ENDON.
ENDLOOP.
*   Changes over for  OSS Note 518338.

SORT I_ITEM BY INVOICE_DOC_ITEM PO_NUMBER PO_ITEM.
&amp;lt;b&amp;gt;CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
  EXPORTING
    HEADERDATA       = I_HEADER
  IMPORTING
    INVOICEDOCNUMBER = W_BELNR
    FISCALYEAR       = W_GJAHR
  TABLES
    ITEMDATA         = I_ITEM
    ACCOUNTINGDATA   = I_ACCOUNTINGDATA
    TAXDATA          = I_TAX
    RETURN           = I_RETURN.&amp;lt;/b&amp;gt;

if sy-subrc &amp;lt; &amp;gt;  0.
  message e999(re) with  'Problem occured'.
else.
  loop at return.
    if not return is initial.
      clear bapi_retn_info.
      move-corresponding return to bapi_retn_info.
      if return-type = 'A' or return-type = 'E'.
        error_flag = 'X'.
      endif.
      append bapi_retn_info.
    endif.
  endloop.
  if error_flag = 'X'.
    message e999(re) with  'Problem occured'.
    rollback work.
  else.
     *       Return Table from BAPI call is empty
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT   = 'X'
      IMPORTING
        RETURN = I_RETURN.
  endif.
endif.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Sudheer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Jul 2006 17:12:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436984#M208244</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-07-11T17:12:34Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_INCOMINGINVOICE_CREATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436985#M208245</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;do you find a solution to your problem ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 Feb 2008 07:49:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436985#M208245</guid>
      <dc:creator>chaouki_akir</dc:creator>
      <dc:date>2008-02-23T07:49:16Z</dc:date>
    </item>
    <item>
      <title>Re: BAPI_INCOMINGINVOICE_CREATE</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436986#M208246</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope this code will help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Reward if help.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&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;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 23 Feb 2008 07:56:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/bapi-incominginvoice-create/m-p/1436986#M208246</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-23T07:56:22Z</dc:date>
    </item>
  </channel>
</rss>

