<?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 Inbound Idoc in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024137#M714994</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;&lt;/P&gt;&lt;P&gt;How to create an inbound functional module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please send me the sample code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Oct 2007 18:29:53 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-25T18:29:53Z</dc:date>
    <item>
      <title>Inbound Idoc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024137#M714994</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;&lt;/P&gt;&lt;P&gt;How to create an inbound functional module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please send me the sample code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Oct 2007 18:29:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024137#M714994</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-25T18:29:53Z</dc:date>
    </item>
    <item>
      <title>Re: Inbound Idoc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024138#M714995</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;check for instance IDOC_INPUT_ORDERS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Hans&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Oct 2007 18:33:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024138#M714995</guid>
      <dc:creator>h_senden2</dc:creator>
      <dc:date>2007-10-25T18:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: Inbound Idoc</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024139#M714996</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;For this u have to Copy any Standard inbound FM such as IDOC_INPUT_MATMAS01 and change the Source code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sample Code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Declaration of local variables&lt;/P&gt;&lt;P&gt;DATA: C_SEGNAM(10) TYPE C VALUE 'Z1INVRV'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Loop through the IDOCs&lt;/P&gt;&lt;P&gt;LOOP AT IDOC_CONTRL.&lt;/P&gt;&lt;P&gt;*---Loop through the data for the IDOC&lt;/P&gt;&lt;P&gt;LOOP AT IDOC_DATA WHERE DOCNUM = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;CASE IDOC_DATA-SEGNAM.&lt;/P&gt;&lt;P&gt;WHEN C_SEGNAM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Here we get the info from the idoc table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IT_Z1INVRV = IDOC_DATA-SDATA.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;PERFORM REV_INV.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;PERFORM UPDATE_IDOC_STATUS.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM REV_INV "Reverse invoice form&lt;/P&gt;&lt;P&gt;*--- Local variables &amp;amp; constants&lt;/P&gt;&lt;P&gt;DATA: C_TCODE LIKE BKPF-TCODE VALUE 'VF11'. "BDC transaction code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Now we can build the bdc table to call the reversal transaction start of screen 109&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-PROGRAM = 'SAPMV60A'.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNPRO = '109'.&lt;/P&gt;&lt;P&gt;BDC_TAB-DYNBEGIN = 'X'.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;*--- Document number&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = 'KOMFK-VBELN(01)'.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = IT_Z1INVRV-XBLNR. "Billing document number&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;*--- OK Code for screen 109&lt;/P&gt;&lt;P&gt;CLEAR BDC_TAB.&lt;/P&gt;&lt;P&gt;BDC_TAB-FNAM = 'BDC_OKCODE'.&lt;/P&gt;&lt;P&gt;BDC_TAB-FVAL = 'SICH'.&lt;/P&gt;&lt;P&gt;APPEND BDC_TAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Now we can call transaction 'VF11' with the populated bdc table. The transaction is called inside the idoc-contrl loop, so a transaction will be called for every idoc (journal). the transaction is called in no-display mode ('N') because this code runs in background as it is called by ale. The update is specified to be synchronous ('S') because we have to wait for the result to update the idoc status correctly.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION C_TCODE USING BDC_TAB MODE 'N' UPDATE 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Store the return code for use in another form (status update)&lt;/P&gt;&lt;P&gt;RETURN_CODE = SY-SUBRC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Here we check the return code, if there was an error, we put the transaction in a bdc session for the user to review and correct.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_OPEN_GROUP'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;CLIENT = SY-MANDT&lt;/P&gt;&lt;P&gt;GROUP = 'ZINVRV'&lt;/P&gt;&lt;P&gt;USER = C_ALE_USER&lt;/P&gt;&lt;P&gt;KEEP = 'X'.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_INSERT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;TCODE = C_TCODE&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;DYNPROTAB = BDC_TAB.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BDC_CLOSE_GROUP'&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;NOT_OPEN = 1&lt;/P&gt;&lt;P&gt;QUEUE_ERROR = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;ELSE. "No problems&lt;/P&gt;&lt;P&gt;C_EXISTS = 'N'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select from the billing document table to get sales doc number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT * FROM VBRP WHERE VBELN = IT_Z1INVRV-XBLNR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select from the sales document table to get user status number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT SINGLE * FROM VBAP WHERE VBELN = VBRP-AUBEL AND&lt;/P&gt;&lt;P&gt;POSNR = VBRP-AUPOS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select from the status table to change the user status to pending&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT * FROM JEST WHERE OBJNR = VBAP-OBJNR AND&lt;/P&gt;&lt;P&gt;STAT LIKE C_USER_STATUS.&lt;/P&gt;&lt;P&gt;IF JEST-STAT = C_US_PENDING. "User status is pending&lt;/P&gt;&lt;P&gt;JEST-INACT = C_UNCHECKED. "Make pending the active status&lt;/P&gt;&lt;P&gt;UPDATE JEST.&lt;/P&gt;&lt;P&gt;C_EXISTS = 'Y'. "I.E. An entry is already in table&lt;/P&gt;&lt;P&gt;ELSEIF JEST-INACT = C_UNCHECKED AND JEST-STAT NE C_US_PENDING.&lt;/P&gt;&lt;P&gt;JEST-INACT = C_CHECKED. "Make everything else inactive&lt;/P&gt;&lt;P&gt;UPDATE JEST.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF C_EXISTS = 'N'. "I.E. Pending has never been a status before&lt;/P&gt;&lt;P&gt;JEST-OBJNR = VBAP-OBJNR.&lt;/P&gt;&lt;P&gt;JEST-STAT = C_US_PENDING.&lt;/P&gt;&lt;P&gt;JEST-INACT = C_UNCHECKED. "Make pending the active status&lt;/P&gt;&lt;P&gt;INSERT JEST.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDSELECT. "Select from VBRP (Billing document table)&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " REV_INV&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM UPDATE_IDOC_STATUS. &lt;/P&gt;&lt;P&gt;*--- Now we check the CALL TRANSACTION return code and set IDOC status &lt;/P&gt;&lt;P&gt;CLEAR IDOC_STATUS. &lt;/P&gt;&lt;P&gt;IF RETURN_CODE = 0. &lt;/P&gt;&lt;P&gt;WORKFLOW_RESULT = '0'. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-STATUS = '53'. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-UNAME = SY-UNAME. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-REPID = SY-REPID. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGTY = SY-MSGTY. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGID = SY-MSGID. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGNO = SY-MSGNO. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV1 = SY-MSGV1. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV2 = SY-MSGV2.&lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV3 = SY-MSGV3. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV4 = SY-MSGV4. &lt;/P&gt;&lt;P&gt;RETURN_VARIABLES-WF_PARAM = 'Processed_IDOCs'. &lt;/P&gt;&lt;P&gt;RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM. &lt;/P&gt;&lt;P&gt;APPEND RETURN_VARIABLES. &lt;/P&gt;&lt;P&gt;ELSE. &lt;/P&gt;&lt;P&gt;WORKFLOW_RESULT = '99999'. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-STATUS = '51'. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-UNAME = SY-UNAME. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-REPID = SY-REPID. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGTY = SY-MSGTY. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGID = SY-MSGID. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGNO = SY-MSGNO. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV1 = SY-MSGV1.&lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV2 = SY-MSGV2. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV3 = SY-MSGV3. &lt;/P&gt;&lt;P&gt;IDOC_STATUS-MSGV4 = SY-MSGV4. &lt;/P&gt;&lt;P&gt;RETURN_VARIABLES-WF_PARAM = 'ERROR_IDOCS'. &lt;/P&gt;&lt;P&gt;RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM. &lt;/P&gt;&lt;P&gt;APPEND RETURN_VARIABLES. &lt;/P&gt;&lt;P&gt;ENDIF. &lt;/P&gt;&lt;P&gt;APPEND IDOC_STATUS.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;REWARD IF HELPFUL.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Oct 2007 03:47:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/inbound-idoc/m-p/3024139#M714996</guid>
      <dc:creator>varma_narayana</dc:creator>
      <dc:date>2007-10-26T03:47:07Z</dc:date>
    </item>
  </channel>
</rss>

