<?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: need Code to generate Inbound Idocs in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531126#M849468</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can any one tell me wat are the FM used for Inbound Idoc generations&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 05 Mar 2008 12:57:26 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-03-05T12:57:26Z</dc:date>
    <item>
      <title>need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531120#M849462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi friends&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i have a flat file consists of delivery confirmation data&lt;/P&gt;&lt;P&gt;by using this i need to generate inbound idocs&lt;/P&gt;&lt;P&gt;i filled all the segments in idoc type /afs/delvry03 and message type whscon&lt;/P&gt;&lt;P&gt;can any one have the code to generate inbound idocs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;please remember that here i am not using XI &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;Anil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 13:41:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531120#M849462</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-04T13:41:40Z</dc:date>
    </item>
    <item>
      <title>Re: need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531121#M849463</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi this is for Stand alone Programs, I hope it is useful to you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Program Flow  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; The program logic contains the following blocks:  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  1.  Provide a selection screen to allow a user to specify the various objects for which IDocs are to be generated.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  2.  Determine the key of the application document from the object specified in step 1.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  3.  Select application data from the database using the object key identified in step 2.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  4.  Populate control record information.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  5.  Populate an internal table of type EDIDD with data records for the various segments.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  6.  Call the ALE service layer (MASTER_IDOC_DISTRIBUTE) to create the IDocs in the database.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;  7.  Commit work.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; The program in Listing 32-2 generates the monthly report IDoc ZMREPT01, which illustrates a stand-alone outbound process.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; Listing 32-2  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; REPORT ZARNEDI1 MESSAGE-ID ZE.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Parameters  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;object key (Social security number for the employee)  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PARAMETERS: P_SSN LIKE ZEMPDETAIL-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;message type  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PARAMETERS: P_MESTYP LIKE EDMSG-MSGTYP OBLIGATORY.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;destination system  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  PARAMETERS: P_LOGSYS LIKE TBDLST-LOGSYS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA:  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    segment names  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        C_HEADER_SEGMENT           LIKE EDIDD-SEGNAM VALUE 'Z1EMHDR',  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        C_WEEKLY_DETAILS_SEGMENT   LIKE EDIDD-SEGNAM VALUE 'Z1WKDET',  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        C_CLIENT_DETAILS_SEGMENT   LIKE EDIDD-SEGNAM VALUE 'Z1CLDET',  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        C_SUMMARY_SEGMENT          LIKE EDIDD-SEGNAM VALUE 'Z1SUMRY',  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    idoc type  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        C_MONTHLY_REPORT_IDOC_TYPE LIKE EDIDC-IDOCTP VALUE 'ZMREPT01'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &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; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;idoc control record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  data: control_record_out like edidc.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee header data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: FS_EMPHDR_DATA LIKE Z1EMHDR.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee weekly details data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: FS_WEEKDET_DATA LIKE Z1WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;client details data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: FS_CLIENTDET_DATA LIKE Z1CLDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee monthly summary data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: FS_SUMMARY_DATA LIKE Z1SUMRY.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;total hours and amount for the summary segment  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA: TOTAL_HRS_MONTH TYPE I,  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        TOTAL_AMT_MONTH TYPE I.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Database Tables  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Application data tables  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  TABLES: ZEMPDETAIL, ZEMPWKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal tables  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  DATA:  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    weekly details - appplication data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IT_WKDET LIKE ZEMPWKDET OCCURS 0 WITH HEADER LINE,  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    data records  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        INT_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE,  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    communication idocs geneerated  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IT_COMM_IDOCS LIKE EDIDC OCCURS 0 WITH HEADER LINE.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program logic  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ********************&lt;STRONG&gt;Select Application Data&lt;/STRONG&gt;***************************  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM ZEMPDETAIL WHERE SSN = P_SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     MESSAGE E001 WITH P_SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     EXIT.  &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; &lt;/P&gt;&lt;P&gt;  SELECT * FROM ZEMPWKDET INTO TABLE IT_WKDET WHERE SSN = P_SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     MESSAGE E002 WITH P_SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     EXIT.  &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; &lt;/P&gt;&lt;P&gt;  ********************&lt;STRONG&gt;Build Control Record&lt;/STRONG&gt;******************************  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fill control record information  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CONTROL_RECORD_OUT-MESTYP = P_MESTYP.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  control_record_out-idoctp = c_monthly_report_idoc_type.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  control_record_out-rcvprt = 'LS'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  control_record_out-rcvprn = p_logsys.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ********************&lt;STRONG&gt;Build Data Records&lt;/STRONG&gt;********************************  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="-------------" /&gt;Employee header--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fill the employee header information  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FS_EMPHDR_DATA-LNAME = ZEMPDETAIL-LNAME.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FS_EMPHDR_DATA-FNAME = ZEMPDETAIL-FNAME.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FS_EMPHDR_DATA-SSN   = ZEMPDETAIL-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FS_EMPHDR_DATA-DOB   = ZEMPDETAIL-DOB.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fill the administrative section of the data record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  INT_EDIDD-SEGNAM = C_HEADER_SEGMENT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  INT_EDIDD-SDATA = FS_EMPHDR_DATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append the employee header data record to the IDoc data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND INT_EDIDD.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;Employee weekly details--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LOOP AT IT_WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fill the weekly details for each week  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    FS_WEEKDET_DATA-WEEKNO = IT_WKDET-WEEKNO.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    FS_WEEKDET_DATA-TOTHOURS = IT_WKDET-TOTHOURS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    FS_WEEKDET_DATA-HRLYRATE = IT_WKDET-HRLYRATE.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add administrative information to the data record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    INT_EDIDD-SEGNAM = C_WEEKLY_DETAILS_SEGMENT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    INT_EDIDD-SDATA = FS_WEEKDET_DATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append the data for the week to the IDoc data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    APPEND INT_EDIDD.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Client details of each week  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    FS_CLIENTDET_DATA-CLSITE = IT_WKDET-CLSITE.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    FS_CLIENTDET_DATA-WORKDESC = IT_WKDET-WORKDESC.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add administrative information to the data record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    INT_EDIDD-SEGNAM = C_CLIENT_DETAILS_SEGMENT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    INT_EDIDD-SDATA = FS_CLIENTDET_DATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append the client details for the week to the IDoc data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    APPEND INT_EDIDD.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &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;  *--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="--------------" /&gt;Employee monthly summary--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;compute total hours and amount for the month  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  LOOP AT IT_WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    TOTAL_HRS_MONTH = TOTAL_HRS_MONTH + IT_WKDET-TOTHOURS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    TOTAL_AMT_MONTH = TOTAL_AMT_MONTH + ( IT_WKDET-TOTHOURS *  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                          IT_WKDET-HRLYRATE ).  &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;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;fill the summary information  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FS_SUMMARY_DATA-TOTHRS = TOTAL_HRS_MONTH.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  FS_SUMMARY_DATA-TOTAMT = TOTAL_AMT_MONTH.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;condense the summary record fields to remove spaces  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CONDENSE FS_SUMMARY_DATA-TOTHRS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CONDENSE FS_SUMMARY_DATA-TOTAMT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add administrative information to the data record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  INT_EDIDD-SEGNAM = C_SUMMARY_SEGMENT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  INT_EDIDD-SDATA = FS_SUMMARY_DATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;append summary data to the IDoc data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  APPEND INT_EDIDD.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *************&lt;STRONG&gt;Pass control to the ALE layer&lt;/STRONG&gt;****************************  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       EXPORTING  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            master_idoc_control            = control_record_out  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       TABLES  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            COMMUNICATION_IDOC_CONTROL     = IT_COMM_IDOCS  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            MASTER_IDOC_DATA               = INT_EDIDD  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       EXCEPTIONS  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            ERROR_IN_IDOC_CONTROL          = 1  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            ERROR_WRITING_IDOC_STATUS      = 2  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            ERROR_IN_IDOC_DATA             = 3  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            SENDING_LOGICAL_SYSTEM_UNKNOWN = 4  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            OTHERS                         = 5.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;     MESSAGE E003 WITH P_SSN.  &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;     LOOP AT IT_COMM_IDOCS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;       WRITE: / 'IDoc generated', IT_COMM_IDOCS-DOCNUM.  &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;     COMMIT WORK.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 13:55:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531121#M849463</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-04T13:55:01Z</dc:date>
    </item>
    <item>
      <title>Re: need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531122#M849464</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is example code only&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 13:56:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531122#M849464</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-04T13:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531123#M849465</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Krishna&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Master_idoc_distribute works for outbound idocs and not for &lt;STRONG&gt;inbound idocs&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Anil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 14:01:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531123#M849465</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-04T14:01:09Z</dc:date>
    </item>
    <item>
      <title>Re: need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531124#M849466</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, Check this sample code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FUNCTION Z_IDOC_INPUT_ZMREPT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;STRONG&gt;"&lt;/STRONG&gt;"Local interface:  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"       IMPORTING  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"             VALUE(INPUT_METHOD) LIKE  BDWFAP_PAR-INPUTMETHD  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"             VALUE(MASS_PROCESSING) LIKE  BDWFAP_PAR-MASS_PROC  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"       EXPORTING  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"             VALUE(WORKFLOW_RESULT) LIKE  BDWFAP_PAR-RESULT  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"             VALUE(APPLICATION_VARIABLE) LIKE  BDWFAP_PAR-APPL_VAR  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"             VALUE(IN_UPDATE_TASK) LIKE  BDWFAP_PAR-UPDATETASK  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"             VALUE(CALL_TRANSACTION_DONE) LIKE  BDWFAP_PAR-CALLTRANS  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"       TABLES  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"              IDOC_CONTRL STRUCTURE  EDIDC  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"              IDOC_DATA STRUCTURE  EDIDD  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"              IDOC_STATUS STRUCTURE  BDIDOCSTAT  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"              RETURN_VARIABLES STRUCTURE  BDWFRETVAR  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"              SERIALIZATION_INFO STRUCTURE  BDI_SER  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"       EXCEPTIONS  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"              WRONG_FUNCTION_CALLED  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    INCLUDE MBDCONWF.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Database Tables  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Application data tables (Defined in global data)  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *tables: zempdetail, zempwkdet.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &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; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee details - IDoc  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA: FS_EMPHDR_DATA LIKE Z1EMHDR.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee weekly details data - IDoc  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA: FS_WEEKDET_DATA LIKE Z1WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;client details data - IDoc  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA: FS_CLIENTDET_DATA LIKE Z1CLDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee monthly summary data - IDoc  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA: FS_SUMMARY_DATA LIKE Z1SUMRY.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;total hours and amount  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA: TOTAL_HRS_MONTH TYPE I,  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          TOTAL_AMT_MONTH TYPE I.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;employee details - application data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA:  FS_APP_EMPDET LIKE ZEMPDETAIL.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;weekly details - appplication data  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    DATA:  IT_APP_WKDET LIKE ZEMPWKDET OCCURS 0 WITH HEADER LINE.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Program logic  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  *----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;initialize workflow result  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    WORKFLOW_RESULT = C_WF_RESULT_OK.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    LOOP AT IDOC_CONTRL.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  make sure we have the correct message passed to us  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      IF IDOC_CONTRL-MESTYP NE 'ZMREPT'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        RAISE WRONG_FUNCTION_CALLED.  &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; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  clear application buffers before reading new employee  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      CLEAR: IT_APP_WKDET, FS_APP_EMPDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      REFRESH IT_APP_WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  process all data records in an IDoc and transfer them to  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  application buffers  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      LOOP AT IDOC_DATA WHERE DOCNUM EQ IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        CASE IDOC_DATA-SEGNAM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          WHEN 'Z1EMHDR'.                " employee header  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            FS_EMPHDR_DATA = IDOC_DATA-SDATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            MOVE-CORRESPONDING FS_EMPHDR_DATA TO FS_APP_EMPDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          WHEN 'Z1WKDET'.                " employee weekly details  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            FS_WEEKDET_DATA = IDOC_DATA-SDATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            MOVE-CORRESPONDING FS_WEEKDET_DATA TO IT_APP_WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          WHEN 'Z1CLDET'.                " client details  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            FS_CLIENTDET_DATA = IDOC_DATA-SDATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            MOVE-CORRESPONDING FS_CLIENTDET_DATA TO IT_APP_WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            MOVE FS_APP_EMPDET-SSN TO IT_APP_WKDET-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            APPEND IT_APP_WKDET.         " append weekly details  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          WHEN 'Z1SUMRY'.                " summary data  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;            FS_SUMMARY_DATA = IDOC_DATA-SDATA.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        ENDCASE.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &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;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;verify totals in the data records against the summary record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      CLEAR: TOTAL_HRS_MONTH, TOTAL_AMT_MONTH.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  compute total hours and amount for the month from weekly details  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      LOOP AT IT_APP_WKDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        TOTAL_HRS_MONTH = TOTAL_HRS_MONTH + IT_APP_WKDET-TOTHOURS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        TOTAL_AMT_MONTH = TOTAL_AMT_MONTH + ( IT_APP_WKDET-TOTHOURS *  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;                                              IT_APP_WKDET-HRLYRATE ).  &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;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;compare the values with values in the summary record  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      IF TOTAL_HRS_MONTH NE FS_SUMMARY_DATA-TOTHRS OR  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;         TOTAL_AMT_MONTH NE FS_SUMMARY_DATA-TOTAMT.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    totals in the summary record do not match with weekly details  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    fill IDOC_Status  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IDOC_STATUS-STATUS = '51'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGTY  = 'E'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGID  = 'ZE'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGNO  = '005'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGV1  = FS_APP_EMPDET-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        APPEND IDOC_STATUS.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        WORKFLOW_RESULT = C_WF_RESULT_ERROR.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        RETURN_VARIABLES-WF_PARAM = 'Error_IDOCs'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        APPEND RETURN_VARIABLES.  &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;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Data looks good. Create weekly report if it does not already exist  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    If wekly report exists then simply update the records  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM ZEMPDETAIL WHERE SSN EQ FS_APP_EMPDET-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        IF SY-SUBRC NE 0.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          INSERT INTO ZEMPDETAIL VALUES FS_APP_EMPDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          INSERT ZEMPWKDET FROM TABLE IT_APP_WKDET.  &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;          UPDATE ZEMPDETAIL FROM FS_APP_EMPDET.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          UPDATE ZEMPWKDET FROM TABLE IT_APP_WKDET.  &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; &lt;/P&gt;&lt;P&gt;        IF SY-SUBRC EQ 0.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      poulate return variables for success  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          RETURN_VARIABLES-WF_PARAM = 'Processed_IDOCs'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          RETURN_VARIABLES-WF_PARAM = 'Appl_Objects'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          RETURN_VARIABLES-DOC_NUMBER = FS_APP_EMPDET-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          APPEND RETURN_VARIABLES.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      add status record indicating success  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-STATUS = '53'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGTY  = 'I'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGID  = 'ZE'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGNO  = '006'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGV1  = FS_APP_EMPDET-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          APPEND IDOC_STATUS.  &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;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      poulate return variables indicating error  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          WORKFLOW_RESULT = C_WF_RESULT_ERROR.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          RETURN_VARIABLES-WF_PARAM = 'Error_IDOCs'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          APPEND RETURN_VARIABLES.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     add status record indicating failure in updating  &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-STATUS = '51'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGTY  = 'E'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGID  = 'ZE'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGNO  = '007'.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          IDOC_STATUS-MSGV1  = FS_APP_EMPDET-SSN.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;          APPEND IDOC_STATUS.  &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;      ENDIF.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    ENDLOOP.                             "End loop at idoc_contrl.  &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    &lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  ENDFUNCTION.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Mar 2008 14:13:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531124#M849466</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-04T14:13:08Z</dc:date>
    </item>
    <item>
      <title>Re: need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531125#M849467</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Dont we SAP standard Function modules for Inbound Idoc generation&lt;/P&gt;&lt;P&gt;like we have Master_idoc_distribute  for outbound idocs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;Anil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 05:17:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531125#M849467</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T05:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: need Code to generate Inbound Idocs</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531126#M849468</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can any one tell me wat are the FM used for Inbound Idoc generations&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Mar 2008 12:57:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/need-code-to-generate-inbound-idocs/m-p/3531126#M849468</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-03-05T12:57:26Z</dc:date>
    </item>
  </channel>
</rss>

