<?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: ALE/IDOC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521647#M570821</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;Basic IDOCs have supplied by SAP with standard structure. (Segments). You can extend them with your own segments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IDOCs does have unique number. They contain control, data, and status records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Useful Transaction Codes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WEDI : IDoc Menu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE02 : IDoc List (can enter IDoc number to select on)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE05 : IDoc List&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE19 : Transaction WE19 can be used to test the IDoc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE30 : IDoc Type Development: Initial Screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE31: Development Segments: Initial Screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE60 : Documentation for IDoc Types. This allows you to view the IDoc you have created. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE81 : Display View &amp;#145;EDI: Logical Message Types&amp;#146;: Overview&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE82: Display View &amp;#145;Message Types and Assignment to IDoc Types&amp;#146;: Overview&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE21 - Creation of POrt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE20 - Partner Profile creation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SALE - ALE (Application Linking and Enabling) settings&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Outbound ALE Configurations: (Example)&lt;/P&gt;&lt;P&gt;IDoc definitions and necessary ALE configurations settings for the outbound .&lt;/P&gt;&lt;P&gt;Create Idoc segments &amp;#150; Transaction WE31.&lt;/P&gt;&lt;P&gt;Create Idoc type &amp;#150; Transaction WE30.&lt;/P&gt;&lt;P&gt;Create Message Type &amp;#150; Transaction WE81.&lt;/P&gt;&lt;P&gt;Assign Message Type to Idoc type &amp;#150; Transaction WE82.&lt;/P&gt;&lt;P&gt;Create a distribution Model - Transaction BD64&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.IDOCs are independent of the sending and receiving systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.IDOCs are independent of the direction of data exchange.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The two available process for IDOCs are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Outbound Process&lt;/P&gt;&lt;P&gt;Inbound Process&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AND There are basically two types of IDOCs.&lt;/P&gt;&lt;P&gt;Basic IDOCs&lt;/P&gt;&lt;P&gt;Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Extended IDOCs&lt;/P&gt;&lt;P&gt;Extending the functionality by adding more segments to existing Basic IDOCs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for creating a IDOC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see the below steps for outbound processing IDOCS..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.1 Outbound Interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS DIAGRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Outbound Interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Analyse Hierarchy Levels&lt;/P&gt;&lt;P&gt;2. Create New segment&lt;/P&gt;&lt;P&gt;3. Create New IDoc Type&lt;/P&gt;&lt;P&gt;4. Create New Message Type&lt;/P&gt;&lt;P&gt;5. Link Message with IDoc Type&lt;/P&gt;&lt;P&gt;6. Create an entry in EDP13 via transactions WE20 and BD64&lt;/P&gt;&lt;P&gt;7. Populate the Custom IDoc via ABAP Program&lt;/P&gt;&lt;P&gt;7b Error Handling&lt;/P&gt;&lt;P&gt;7c. Send Status Email&lt;/P&gt;&lt;P&gt;8. Test the Population of the Custom IDoc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 1 &amp;#150; Analyse Hierarchy Levels:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Analyse the data relationships being processed in the interface. Define the appropriate hierarchical Parent-to-Child relationships. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Navigate to transaction code WEDI&lt;/P&gt;&lt;P&gt;Transaction WEDI displays the IDOC main menu. This allows navigation around the various development and control areas to create a customised IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 2 &amp;#150; Create a new segment:&lt;/P&gt;&lt;P&gt;via wedi : Development - IDOC Segments or Transaction code WE31.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter segment name and click on Create.&lt;/P&gt;&lt;P&gt;The&amp;amp;#61662; name of the segment type must start with Z1 , and have a maximum of eight characters.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter description and enter the relevant field names and data elements.&lt;/P&gt;&lt;P&gt;The segment should represent a structure in the program so for&amp;amp;#61662; each field in the segment a field name and a data element must be defined.&lt;/P&gt;&lt;P&gt;&amp;#149; Save the segment and enter Person Responsible and Processing Person .&lt;/P&gt;&lt;P&gt;&amp;#149; Go to Edit and Set Release. &lt;/P&gt;&lt;P&gt;&amp;#149; Repeat this procedure for each new Segment in the IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 3 &amp;#150; Create a new IDOC Type&lt;/P&gt;&lt;P&gt;via wedi Development - IDOC Types or Transaction WE30.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter segment name (starting with Z), click on Basic Type and then Create. &lt;/P&gt;&lt;P&gt;&amp;#149; Create as new, enter Person Responsible and Processing Person and enter description.&lt;/P&gt;&lt;P&gt;&amp;#149; On &amp;#145;Create Basic Type&amp;#146; screen decide where segments should be inserted and go to Edit/Create Segment.&lt;/P&gt;&lt;P&gt;&amp;#149; Complete relevant fields in the Maintain Attributes screen: &lt;/P&gt;&lt;P&gt;&amp;#149; From the relevant segments created in Step 2 enter the Segment type and if mandatory segment.&lt;/P&gt;&lt;P&gt;&amp;#149; The Minimum and Maximum number of segments to be allowed in the sequence. (One minimum and one maximum if segment is mandatory).&lt;/P&gt;&lt;P&gt;&amp;#149; The Parent Segment and Hierarchy Level will be automatically created depending on where in the IDOC tree you decided to create that particular segment.&lt;/P&gt;&lt;P&gt;&amp;#149; Repeat this process for each segment needed in the IDOC type, deciding whether to add the next segments at the same level or as a &amp;#145;Child&amp;#146;.&lt;/P&gt;&lt;P&gt;&amp;#149; When IDOC created return to initial screen. Go to Edit and Set Release.&lt;/P&gt;&lt;P&gt;&amp;#149; Go to Transaction WE60 to view the IDoc Type you have created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 4 &amp;#150; Create new Message Type&lt;/P&gt;&lt;P&gt;via wedi Development - Message Types or Transaction WE81.&lt;/P&gt;&lt;P&gt;&amp;#149; Display/Change and click on New Entries&lt;/P&gt;&lt;P&gt;&amp;#149; Create a new Message Type and Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 5 &amp;#150; Link Message Type to IDOC Type&lt;/P&gt;&lt;P&gt;via wedi Development - IDOC Type/Message or Transaction WE82.&lt;/P&gt;&lt;P&gt;&amp;#149; Display/Change and then click on New Entries.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter Message Type, Basic Type (IDOC Type) and Release (46C) and Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 6 &amp;#150; Create an entry in EDP13 via transactions WE20 and BD64. &lt;/P&gt;&lt;P&gt;The partner profile for the Idoc must be set up and generated in the transaction BD64 and transaction WE20.&lt;/P&gt;&lt;P&gt;&amp;#149; WE20 &amp;#150; Add Message Type to appropriate Partner Type, Enter Message Type, Receiver Port and Idoc Type and Save.&lt;/P&gt;&lt;P&gt;&amp;#149; BD64 &amp;#150; Create a Model View, Enter Sender and Receiver Ports, Attach Message Type. Go to &amp;#145;Environment&amp;#146; on Menu and click on Generate Partner Profiles and generate (not save) profile. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7 &amp;#150; Populate the custom IDOC via ABAP Program&lt;/P&gt;&lt;P&gt;See Test Program ZOUTBD_IDOC_TEMPLATE, Appendix IV.&lt;/P&gt;&lt;P&gt;&amp;#149; Create an Internal Table for each segment type, this should be exactly the same structure as the segment type.&lt;/P&gt;&lt;P&gt;&amp;#149; The control record is filled into a structure like EDIDC. The message type and the Idoc type for the Idoc must be populated into the eddic structure.&lt;/P&gt;&lt;P&gt;- PERFORM populate_Control_structure USING c_mestyp&lt;/P&gt;&lt;P&gt;c_SEGMENT_type1.&lt;/P&gt;&lt;P&gt;&amp;#149; The data segments are filled into a structure like edidd-sdata; sdata and the segment name are populated into the edidd structure. &lt;/P&gt;&lt;P&gt;- PERFORM transfer_Parent_data_to_seg.&lt;/P&gt;&lt;P&gt;&amp;#149; The standard SAP function module MASTER_IDOC_DISTRIBUTE is called to pass the populated IDOC to the ALE Layer.&lt;/P&gt;&lt;P&gt;- PERFORM master_idoc_distribute.&lt;/P&gt;&lt;P&gt;&amp;#149; NOTE: This function module is only called for stand alone programs and Shared Master Data programs (SMD). It is not called when using extensions or output determination.&lt;/P&gt;&lt;P&gt;&amp;#149; The ALE Layer handles the sending of the IDOC to the receiving system.&lt;/P&gt;&lt;P&gt;&amp;#149; Error Handling (see Step 7b).&lt;/P&gt;&lt;P&gt;&amp;#149; Commit work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Project SpecificStep 7b &amp;#150; Error Handling&lt;/P&gt;&lt;P&gt;&amp;#149; Analyse which fields in the interface are mandatory for the receiving system and who needs to receive error notification.&lt;/P&gt;&lt;P&gt;&amp;#149; Declare a structure of type &amp;#145;MCMAILOBJ&amp;#146; for sending instructions.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter values for the internal table based on structure &amp;#145;MCMAILOBJ&amp;#146; &lt;/P&gt;&lt;P&gt;&amp;#149; For selection processes, on SY-SUBRC checks and where fields are mandatory for the receiving system; insert Function Module &amp;#145;MC_SEND_MAIL&amp;#146;.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter values in the following parameters: -&lt;/P&gt;&lt;P&gt;MS_MAIL_SENDMODE = &amp;#145;B&amp;#146; (Batch Mode)&lt;/P&gt;&lt;P&gt;MS_MAIL_TITLE = 'Mail Title'&lt;/P&gt;&lt;P&gt;MS_MAIL_DESCRIPTION = &amp;#145;Error description&amp;#146; (e.g. MATNR not given)&lt;/P&gt;&lt;P&gt;MS_MAIL_RECEIVER = &amp;#145;Name of Receiver&amp;#146; (To be determined)&lt;/P&gt;&lt;P&gt;MS_MAIL_EXPRESS = &amp;#145;E&amp;#146; (Express Delivery)&lt;/P&gt;&lt;P&gt;MS_MAIL_DLINAME = Leave Blank&lt;/P&gt;&lt;P&gt;MS_MAIL_LANGU = 'E' (Language)&lt;/P&gt;&lt;P&gt;MS_MAIL_FUNKOBJ_NAME = Leave Blank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;MS_MAIL_CONT = I_MCMAILOBJ&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;It has to be determined separately for each interface how these errors and mail notifications are to be grouped &amp;#150; dependant upon the number of errors that are potentially likely. One possible approach is to send an email for each reason for rejection and include all the records that failed for that reason in the mail notification. Another possible approach is to send an email for every failure. &lt;/P&gt;&lt;P&gt;When error checking for mandatory fields it is common SAP practice to reject a record on its first failure (irrespective of subsequent errors in that record)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7c &amp;#150; Send status mail&lt;/P&gt;&lt;P&gt;&amp;#149; Append to table I_MCMAILOBJ details of the time the interface was processed, how many Idocs were created and how many of these produced a status of 03.&lt;/P&gt;&lt;P&gt;&amp;#149; Select the user to receive the mail from ZINT_RECEIVER, using the name of the program as a key (SY-CPROG).&lt;/P&gt;&lt;P&gt;&amp;#149; Use function Module &amp;#145;MC_SEND_MAIL&amp;#146; to send a mail to the user containing the contents of I_MCMAILOBJ at the end of the interface processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 8 &amp;#150; Test the population of the custom IDOC&lt;/P&gt;&lt;P&gt;via wedi IDoc - Display IDoc or Transaction WE02.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter your message type and execute.&lt;/P&gt;&lt;P&gt;&amp;#149; Status should be green, double click on one of the Idocs you have created to view its contents.&lt;/P&gt;&lt;P&gt;&amp;#149; If a problem has occurred click on Status which will give you a description of the error.&lt;/P&gt;&lt;P&gt;&amp;#149; Drop down Data Records arrow and this should list the data in the IDoc in the correct hierarchical structure.&lt;/P&gt;&lt;P&gt;&amp;#149; Click on each individual segment and view the content to check that the correct data has been read.&lt;/P&gt;&lt;P&gt;&amp;#149; If you have UNIX access by using AL11 you can view the file that you have created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;For some interfaces it may be valid to send an empty file to SAP. This empty file is converted to the custom IDOC format expected by SAP. This custom IDOC will contain dummy information. In the inbound processing code, if the dummy information is identified then the processing of the IDOC is considered to be complete and the IDOC should then be assigned a successfully processed status of 53, even though it has not been processed at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.2 Inbound Interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Follow steps 1 to 5 inclusive as detailed above in outbound interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 6&lt;/P&gt;&lt;P&gt;Write a custom function module to handle custom inbound processing. This custom function module must&lt;/P&gt;&lt;P&gt;&amp;#149; Check for the correct message type&lt;/P&gt;&lt;P&gt;&amp;#149; Read the IDoc data segment&lt;/P&gt;&lt;P&gt;&amp;#149; Perform data conversion and validate the data as appropriate&lt;/P&gt;&lt;P&gt;&amp;#149; Post the data to the database&lt;/P&gt;&lt;P&gt;&amp;#149; Handle any error situations&lt;/P&gt;&lt;P&gt;&amp;#149; Set the correct return values for the status record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that the Function Module must not make a commit to the database. This is because the status record is not written until control returns to the ALE layer. So if you commit work in the Function Module and an error occurs in returning to the ALE Layer, the status record must not be updated with a successful outcome.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The commit work is executed in the ALE Layer after the status records are updated, via the standard SAP function module IDOC_INBOUND_PROCESS. This attributes of this function module are set up in (Transaction BD51), click on &amp;#145;New Entries&amp;#146; and fill in data; the main input parameters being &amp;#145;Input Type&amp;#146; and &amp;#145;Dialog Allowed&amp;#146;.&lt;/P&gt;&lt;P&gt;Take care as some standard SAP transactions contain a Commit Work as part of their processing. Therefore using a BDC to process inbound data to SAP may not be acceptable. You need to check that the SAP transaction is ALE enabled. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7&lt;/P&gt;&lt;P&gt;(Transaction WE57)&lt;/P&gt;&lt;P&gt;Assign the custom function module to the IDoc type and the message type.&lt;/P&gt;&lt;P&gt;Set function module to type &amp;#145;F&amp;#146; and direction &amp;#145;2&amp;#146; for inbound.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 8&lt;/P&gt;&lt;P&gt;(Transaction WE42)&lt;/P&gt;&lt;P&gt;Create a new process code and assign it to the function module. The process code determines how the incoming IDoc is to be processed in SAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 9&lt;/P&gt;&lt;P&gt;(Transaction BD67)&lt;/P&gt;&lt;P&gt;Assign the function module to the process code created above. Got to &amp;#145;New Entries&amp;#146; and enter the process code and the function module name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 10&lt;/P&gt;&lt;P&gt;(Transaction WE20 and Transaction BD64)&lt;/P&gt;&lt;P&gt;Create a partner profile for your message and ensure that in transaction WE20 the process code is the one that points to your function module. (See step 6 of creating Outbound Idocs).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 11&lt;/P&gt;&lt;P&gt;Ensure that error handling functionality is present.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If an interface is expecting a file every day, and a custom IDoc may only be output from SAP periodically, it would be necessary to create some kind of output from SAP on a daily basis to pass to Mercator to allow it to map to an empty file. As we are dealing with custom IDoc types we can design the IDoc so that the data segments are not mandatory. Therefore the SAP program, on finding no data to populate the custom IDoc, would only need to create the control record. The empty IDoc containing the control record would be passed to Mercator. Mercator will map this to an empty file format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Update outbound parameters of the Partner profile &amp;#150; Transaction WE20&lt;/P&gt;&lt;P&gt;For the Logical system A for the above two message types update the partner profile. &lt;/P&gt;&lt;P&gt;For each message type specify the Port and the IDoc types. &lt;/P&gt;&lt;P&gt;( Note : Port definition need to maintained using transaction WE21 and &lt;/P&gt;&lt;P&gt;it has to be defined as a Transactional RFC port with RFC destination for &lt;/P&gt;&lt;P&gt;system specified, which need to be maintained using SM59 ). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.allsaplinks.com/idoc_sample.html" target="test_blank"&gt;http://www.allsaplinks.com/idoc_sample.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/sapedi/idoc_abap.htm" target="test_blank"&gt;http://www.sapgenie.com/sapedi/idoc_abap.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go through the link for basics related to IDOCs: &lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6cdd507d11d18ee90000e8366fc2/plain.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6cdd507d11d18ee90000e8366fc2/plain.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Jul 2007 07:04:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-07-18T07:04:46Z</dc:date>
    <item>
      <title>ALE/IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521643#M570817</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;Please tell me about&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. metohds of trigaring idocs&lt;/P&gt;&lt;P&gt;2. how to create our own idoc and extended idocs&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;basavaraj&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 03:27:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521643#M570817</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T03:27:49Z</dc:date>
    </item>
    <item>
      <title>Re: ALE/IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521644#M570818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Basavaraj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check the below thread. May help you.&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="448489"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Atish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 03:29:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521644#M570818</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T03:29:08Z</dc:date>
    </item>
    <item>
      <title>Re: ALE/IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521645#M570819</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;1. Methods of trigering IDocs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can set the inbound and outbound partner profile to trigger immediately or process by background job. For inbound, you can schedule to run program RBDAPP01 and RSEOUT00 for outbound.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. How to create our own idoc and extended IDocs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Create segment (WE31)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Of course it will have naming convention for different company. Here are some tips:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you copy from existing or std segment eg: Z1E1EDP01_01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not you can just put Z1&amp;#133;.but this is only the example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Create IDOC Types (WE30)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Create message type (WE81)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Link message type with basic type (WE82)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) Create FM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the FM all the attributes should be the same for Inbound or Outbound. Basically you can get an example from the std FM eg: Inbound - IDOC_INPUT_DELVRY&lt;/P&gt;&lt;P&gt;Outbound - IDOC_OUTPUT_SHPMNT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) Create Process Code (Inbound - WE41/ Outbound - WE42)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMPORTANT: Before you key in the FM, you are required to add the FM in this table V_TBD51.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7) Link FM with Basic Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For testing go to WE19.&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;Ferry Lianto&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 03:39:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521645#M570819</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T03:39:55Z</dc:date>
    </item>
    <item>
      <title>Re: ALE/IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521646#M570820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Basavraj,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Application Linking and Enabling (ALE)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In this document you will learn the step-by-step procedure to setup the ALE system and go through a transaction between two clients&lt;/P&gt;&lt;P&gt;For our purpose we have two clients&lt;/P&gt;&lt;P&gt;namely Client 100 and Client 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;System name is SAPKDC (FOR BOTH 100 AND 200 CLIENTS).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Distribution of Material Master Data Between two Systems&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) SETUP LOGICAL SYSTEM: (Note: Do Not Create This Step)&lt;/P&gt;&lt;P&gt;To do this follow the following steps&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute SALE Transaction Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On The Screen Click on Sending and Receiving Systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then Click on Logical Systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then Click Defining Logical Systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click New Entries Button &lt;/P&gt;&lt;P&gt;(E.g. (LG100 sending system)&lt;/P&gt;&lt;P&gt;(LG200 receiving system))&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter two logical system names and their description.&lt;/P&gt;&lt;P&gt;Save&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comeback to SALE Transaction Code screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2) Now you have to allocate the created logical systems to respective clients.( Note: Do Not Create This Step)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LG100 assign to client 100&lt;/P&gt;&lt;P&gt;LG200 assign to client 200&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To do this, do the following.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click Assigning Client to Logical System.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ignore the message that comes up on the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select client 100&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click details button on the toolbar icon or press F2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the logical system box, enter LG100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click on the save Icon&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click the back button.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now select client 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click details icon or press f2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In logical Systems box, enter LG200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Save&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Comeback to SALE Transaction Code screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) Maintain RFC Destination: (TR.CODE:SM59)&lt;/P&gt;&lt;P&gt;(Note: Do Not Create This Step)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click Create Button on the Screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the Screen Maintain RFC Destination i.e LG200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter LG200 in RFC destination box.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Connection type is 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Give a description for the RFC destination.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maintain Technical Settings on Details on Technical Settings tab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Target Host as : SAPKDC (NOTE: Save it as a Host Name)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maintain Logon Details on Logon/Security tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Language: EN.&lt;/P&gt;&lt;P&gt;User: MMUSER200 (This is the logon for dist.)&lt;/P&gt;&lt;P&gt;Client : 200&lt;/P&gt;&lt;P&gt;Password: MM1234.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click on create to do the above process for Client 200 in &lt;/P&gt;&lt;P&gt;The client 200 system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) Maintain Distribution Model.(BD64). (ABAPer role starts here)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute Maintain distribution model directly for&lt;/P&gt;&lt;P&gt;creating the model.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click on change mode button on App tool bar of the Screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create Model View pushbutton on App tool bar of the Screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A pop screen will appear in which you specify &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Short text as Distribution for MM Data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter Technical Name as LGMODEL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Select Model View and Click on Add Message Type Pushbutton on App toolbar of the Screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A popup screen will appear in which you specify&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Model View as LGMODEL.&lt;/P&gt;&lt;P&gt;Sender as LG100.&lt;/P&gt;&lt;P&gt;Receiver as LG200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again Click on Add Message Type Pushbutton on App toolbar of the Screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A popup screen will appear in which you specify&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Model View as LGMODEL.&lt;/P&gt;&lt;P&gt;Sender as LG200.&lt;/P&gt;&lt;P&gt;Receiver as LG100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SAVE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the same screen goto Menubar and select Environment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then select Generate Partner Profiles , then execute it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the Screen specify the Logical System as LG200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then execute the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again On the same screen goto Menubar and select EDIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again select Model View and then select Distribute.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;****LOGIN to client 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Execute Tr.code BD64 and again On the same screen goto Menubar and select Environment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then select Generate Partner Profiles , then execute it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the Screen specify the Model View as LGMODEL &lt;/P&gt;&lt;P&gt;And Specify the Logical System as LG100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then execute the screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******Switch back to client 100 Session.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) Create Material using MM03 Tr.Code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Enter the material name as LGMATERIAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Industry sector as Mechanical Engineering&lt;/P&gt;&lt;P&gt;Material Type as Finished Products.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then Click on Data Pushbutton on the App tool bar.&lt;/P&gt;&lt;P&gt;Select views.&lt;/P&gt;&lt;P&gt;In the select views box for materials check basic data 1 AND 2.&lt;/P&gt;&lt;P&gt;Click enter icon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the next screen that you get&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Give the text of the material as NEW MATERIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Base unit of measure as KG.&lt;/P&gt;&lt;P&gt;Gross Weight as 200.&lt;/P&gt;&lt;P&gt;Net Weight as 100.&lt;/P&gt;&lt;P&gt;Weight Unit as KG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the description area language (E) and material description.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Click Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I Created a Material in Client 100 , I want to transfer this data to Client 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) Execute BD10 to transfer the material in which you specify&lt;/P&gt;&lt;P&gt;the material as LGMATERIAL and&lt;/P&gt;&lt;P&gt;message type as MATMAS (client100).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then a Screen will be displayed in which it shows that&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1 Master Idoc Generated .. Enter&lt;/P&gt;&lt;P&gt;1 Communication Idoc Generated..Enter.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******LOGIN to Client 200. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7) Execute BD11 to get the material in which you specify&lt;/P&gt;&lt;P&gt;the material as LGMATERIAL and &lt;/P&gt;&lt;P&gt;message type as MATMAS (client200).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; Execute Tr.code MM03 and give the material as LGMATERIAL&lt;/P&gt;&lt;P&gt;and see that the material is displayed as it was in Client 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not follow these steps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9) Execute Tr.code WE19( for rectification of errors in client200).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Specify the Existing Idoc Number and Executes it .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A Screen is displayed in which you specify the corresponding Function Module as INPUT_IDOC_MATMAS01 and execute it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10) Execute Tr.code MM03 and give the material as LGMATERIAL&lt;/P&gt;&lt;P&gt;and see that the material is displayed as it was in Client 100.&lt;/P&gt;&lt;P&gt;Now the Material is correctly displayed in Client 200.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11) Monitoring of IDOCS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Transaction Codes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IDOC Display of Status: WE 05.&lt;/P&gt;&lt;P&gt;IDOC Date and Time: WE07. &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;/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;/P&gt;&lt;P&gt; Do the following steps, idoc will trigger automatically.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you need additional logic you have write user exit.(for first step you don't need coding).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go to NACE and select V2 and click output type from menu.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Give following value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Condition component Value&lt;/P&gt;&lt;P&gt;Access sequence 0005 (sales organization/customer)&lt;/P&gt;&lt;P&gt;Condition 0 (no condition)&lt;/P&gt;&lt;P&gt;&amp;#147;Exclusive&amp;#148; select&lt;/P&gt;&lt;P&gt;Output type LAVA (shipping notification outbound)&lt;/P&gt;&lt;P&gt;Procedure V10000 (shipping output)&lt;/P&gt;&lt;P&gt;Application V2 (shipping)&lt;/P&gt;&lt;P&gt;Processing subroutine Program RSNASTED,&lt;/P&gt;&lt;P&gt;form routine EDI-PROCESSING&lt;/P&gt;&lt;P&gt;General data Select Condition access and Multiple sending of output, otherwise&lt;/P&gt;&lt;P&gt;leave the fields blank&lt;/P&gt;&lt;P&gt;Time e.g. 4 (immediately, IDocs are generated immediately after&lt;/P&gt;&lt;P&gt;posting)&lt;/P&gt;&lt;P&gt;Transmission medium 6&lt;/P&gt;&lt;P&gt;Partner function WE&lt;/P&gt;&lt;P&gt;Language DE (German)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You must maintain following values for outbound partner profile.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message type : Desadv&lt;/P&gt;&lt;P&gt;Partner type : Ku&lt;/P&gt;&lt;P&gt;Partner function : WE&lt;/P&gt;&lt;P&gt;Port : Subsystem&lt;/P&gt;&lt;P&gt;Outbput mode: Collect idoc&lt;/P&gt;&lt;P&gt;Basic type : Delvry01&lt;/P&gt;&lt;P&gt;Packet size: 1&lt;/P&gt;&lt;P&gt;Application: V2&lt;/P&gt;&lt;P&gt;Output type : LAVA&lt;/P&gt;&lt;P&gt;Process code: DELV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can post the delivery by selecting Logistics ??Sales and Distribution ??Shipping, Delivery&lt;/P&gt;&lt;P&gt;--&amp;gt;Create (transaction VL01). Output control is used to find the condition record and the shipping&lt;/P&gt;&lt;P&gt;notification is sent to the customer via EDI (IDoc Interface). The shipping time in the condition&lt;/P&gt;&lt;P&gt;record determines when the corresponding outbound IDoc is generated&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;On the Create Condition Records (Outg. ship notifica.): Fast Entry screen:&lt;/P&gt;&lt;P&gt;--&amp;gt;Enter customer number in Customer, SAP Ship-to # .&lt;/P&gt;&lt;P&gt;--&amp;gt;Enter WE in PartF.&lt;/P&gt;&lt;P&gt;--&amp;gt;Enter 6 in Medium.&lt;/P&gt;&lt;P&gt;--&amp;gt;Enter 4 in Time.&lt;/P&gt;&lt;P&gt;--&amp;gt;Enter EN in Language.&lt;/P&gt;&lt;P&gt;--&amp;gt;Choose Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;Reward pts if found usefull :)&amp;lt;/b&amp;gt;&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;Sathish&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 04:42:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521646#M570820</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T04:42:59Z</dc:date>
    </item>
    <item>
      <title>Re: ALE/IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521647#M570821</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;Basic IDOCs have supplied by SAP with standard structure. (Segments). You can extend them with your own segments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IDOCs does have unique number. They contain control, data, and status records.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Useful Transaction Codes:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WEDI : IDoc Menu&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE02 : IDoc List (can enter IDoc number to select on)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE05 : IDoc List&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE19 : Transaction WE19 can be used to test the IDoc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE30 : IDoc Type Development: Initial Screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE31: Development Segments: Initial Screen&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE60 : Documentation for IDoc Types. This allows you to view the IDoc you have created. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE81 : Display View &amp;#145;EDI: Logical Message Types&amp;#146;: Overview&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE82: Display View &amp;#145;Message Types and Assignment to IDoc Types&amp;#146;: Overview&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE21 - Creation of POrt&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE20 - Partner Profile creation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SALE - ALE (Application Linking and Enabling) settings&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Outbound ALE Configurations: (Example)&lt;/P&gt;&lt;P&gt;IDoc definitions and necessary ALE configurations settings for the outbound .&lt;/P&gt;&lt;P&gt;Create Idoc segments &amp;#150; Transaction WE31.&lt;/P&gt;&lt;P&gt;Create Idoc type &amp;#150; Transaction WE30.&lt;/P&gt;&lt;P&gt;Create Message Type &amp;#150; Transaction WE81.&lt;/P&gt;&lt;P&gt;Assign Message Type to Idoc type &amp;#150; Transaction WE82.&lt;/P&gt;&lt;P&gt;Create a distribution Model - Transaction BD64&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An IDoc is simply a data container that is used to exchange information between any two processes that can understand the syntax and semantics of the data...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.IDOCs are stored in the database. In the SAP system, IDOCs are stored in database tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.IDOCs are independent of the sending and receiving systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.IDOCs are independent of the direction of data exchange.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The two available process for IDOCs are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Outbound Process&lt;/P&gt;&lt;P&gt;Inbound Process&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AND There are basically two types of IDOCs.&lt;/P&gt;&lt;P&gt;Basic IDOCs&lt;/P&gt;&lt;P&gt;Basic IDOC type defines the structure and format of the business document that is to be exchanged between two systems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Extended IDOCs&lt;/P&gt;&lt;P&gt;Extending the functionality by adding more segments to existing Basic IDOCs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for creating a IDOC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see the below steps for outbound processing IDOCS..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.1 Outbound Interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROCESS DIAGRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Outbound Interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Analyse Hierarchy Levels&lt;/P&gt;&lt;P&gt;2. Create New segment&lt;/P&gt;&lt;P&gt;3. Create New IDoc Type&lt;/P&gt;&lt;P&gt;4. Create New Message Type&lt;/P&gt;&lt;P&gt;5. Link Message with IDoc Type&lt;/P&gt;&lt;P&gt;6. Create an entry in EDP13 via transactions WE20 and BD64&lt;/P&gt;&lt;P&gt;7. Populate the Custom IDoc via ABAP Program&lt;/P&gt;&lt;P&gt;7b Error Handling&lt;/P&gt;&lt;P&gt;7c. Send Status Email&lt;/P&gt;&lt;P&gt;8. Test the Population of the Custom IDoc&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 1 &amp;#150; Analyse Hierarchy Levels:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Analyse the data relationships being processed in the interface. Define the appropriate hierarchical Parent-to-Child relationships. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Navigate to transaction code WEDI&lt;/P&gt;&lt;P&gt;Transaction WEDI displays the IDOC main menu. This allows navigation around the various development and control areas to create a customised IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 2 &amp;#150; Create a new segment:&lt;/P&gt;&lt;P&gt;via wedi : Development - IDOC Segments or Transaction code WE31.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter segment name and click on Create.&lt;/P&gt;&lt;P&gt;The&amp;amp;#61662; name of the segment type must start with Z1 , and have a maximum of eight characters.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter description and enter the relevant field names and data elements.&lt;/P&gt;&lt;P&gt;The segment should represent a structure in the program so for&amp;amp;#61662; each field in the segment a field name and a data element must be defined.&lt;/P&gt;&lt;P&gt;&amp;#149; Save the segment and enter Person Responsible and Processing Person .&lt;/P&gt;&lt;P&gt;&amp;#149; Go to Edit and Set Release. &lt;/P&gt;&lt;P&gt;&amp;#149; Repeat this procedure for each new Segment in the IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 3 &amp;#150; Create a new IDOC Type&lt;/P&gt;&lt;P&gt;via wedi Development - IDOC Types or Transaction WE30.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter segment name (starting with Z), click on Basic Type and then Create. &lt;/P&gt;&lt;P&gt;&amp;#149; Create as new, enter Person Responsible and Processing Person and enter description.&lt;/P&gt;&lt;P&gt;&amp;#149; On &amp;#145;Create Basic Type&amp;#146; screen decide where segments should be inserted and go to Edit/Create Segment.&lt;/P&gt;&lt;P&gt;&amp;#149; Complete relevant fields in the Maintain Attributes screen: &lt;/P&gt;&lt;P&gt;&amp;#149; From the relevant segments created in Step 2 enter the Segment type and if mandatory segment.&lt;/P&gt;&lt;P&gt;&amp;#149; The Minimum and Maximum number of segments to be allowed in the sequence. (One minimum and one maximum if segment is mandatory).&lt;/P&gt;&lt;P&gt;&amp;#149; The Parent Segment and Hierarchy Level will be automatically created depending on where in the IDOC tree you decided to create that particular segment.&lt;/P&gt;&lt;P&gt;&amp;#149; Repeat this process for each segment needed in the IDOC type, deciding whether to add the next segments at the same level or as a &amp;#145;Child&amp;#146;.&lt;/P&gt;&lt;P&gt;&amp;#149; When IDOC created return to initial screen. Go to Edit and Set Release.&lt;/P&gt;&lt;P&gt;&amp;#149; Go to Transaction WE60 to view the IDoc Type you have created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 4 &amp;#150; Create new Message Type&lt;/P&gt;&lt;P&gt;via wedi Development - Message Types or Transaction WE81.&lt;/P&gt;&lt;P&gt;&amp;#149; Display/Change and click on New Entries&lt;/P&gt;&lt;P&gt;&amp;#149; Create a new Message Type and Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 5 &amp;#150; Link Message Type to IDOC Type&lt;/P&gt;&lt;P&gt;via wedi Development - IDOC Type/Message or Transaction WE82.&lt;/P&gt;&lt;P&gt;&amp;#149; Display/Change and then click on New Entries.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter Message Type, Basic Type (IDOC Type) and Release (46C) and Save.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 6 &amp;#150; Create an entry in EDP13 via transactions WE20 and BD64. &lt;/P&gt;&lt;P&gt;The partner profile for the Idoc must be set up and generated in the transaction BD64 and transaction WE20.&lt;/P&gt;&lt;P&gt;&amp;#149; WE20 &amp;#150; Add Message Type to appropriate Partner Type, Enter Message Type, Receiver Port and Idoc Type and Save.&lt;/P&gt;&lt;P&gt;&amp;#149; BD64 &amp;#150; Create a Model View, Enter Sender and Receiver Ports, Attach Message Type. Go to &amp;#145;Environment&amp;#146; on Menu and click on Generate Partner Profiles and generate (not save) profile. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7 &amp;#150; Populate the custom IDOC via ABAP Program&lt;/P&gt;&lt;P&gt;See Test Program ZOUTBD_IDOC_TEMPLATE, Appendix IV.&lt;/P&gt;&lt;P&gt;&amp;#149; Create an Internal Table for each segment type, this should be exactly the same structure as the segment type.&lt;/P&gt;&lt;P&gt;&amp;#149; The control record is filled into a structure like EDIDC. The message type and the Idoc type for the Idoc must be populated into the eddic structure.&lt;/P&gt;&lt;P&gt;- PERFORM populate_Control_structure USING c_mestyp&lt;/P&gt;&lt;P&gt;c_SEGMENT_type1.&lt;/P&gt;&lt;P&gt;&amp;#149; The data segments are filled into a structure like edidd-sdata; sdata and the segment name are populated into the edidd structure. &lt;/P&gt;&lt;P&gt;- PERFORM transfer_Parent_data_to_seg.&lt;/P&gt;&lt;P&gt;&amp;#149; The standard SAP function module MASTER_IDOC_DISTRIBUTE is called to pass the populated IDOC to the ALE Layer.&lt;/P&gt;&lt;P&gt;- PERFORM master_idoc_distribute.&lt;/P&gt;&lt;P&gt;&amp;#149; NOTE: This function module is only called for stand alone programs and Shared Master Data programs (SMD). It is not called when using extensions or output determination.&lt;/P&gt;&lt;P&gt;&amp;#149; The ALE Layer handles the sending of the IDOC to the receiving system.&lt;/P&gt;&lt;P&gt;&amp;#149; Error Handling (see Step 7b).&lt;/P&gt;&lt;P&gt;&amp;#149; Commit work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Project SpecificStep 7b &amp;#150; Error Handling&lt;/P&gt;&lt;P&gt;&amp;#149; Analyse which fields in the interface are mandatory for the receiving system and who needs to receive error notification.&lt;/P&gt;&lt;P&gt;&amp;#149; Declare a structure of type &amp;#145;MCMAILOBJ&amp;#146; for sending instructions.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter values for the internal table based on structure &amp;#145;MCMAILOBJ&amp;#146; &lt;/P&gt;&lt;P&gt;&amp;#149; For selection processes, on SY-SUBRC checks and where fields are mandatory for the receiving system; insert Function Module &amp;#145;MC_SEND_MAIL&amp;#146;.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter values in the following parameters: -&lt;/P&gt;&lt;P&gt;MS_MAIL_SENDMODE = &amp;#145;B&amp;#146; (Batch Mode)&lt;/P&gt;&lt;P&gt;MS_MAIL_TITLE = 'Mail Title'&lt;/P&gt;&lt;P&gt;MS_MAIL_DESCRIPTION = &amp;#145;Error description&amp;#146; (e.g. MATNR not given)&lt;/P&gt;&lt;P&gt;MS_MAIL_RECEIVER = &amp;#145;Name of Receiver&amp;#146; (To be determined)&lt;/P&gt;&lt;P&gt;MS_MAIL_EXPRESS = &amp;#145;E&amp;#146; (Express Delivery)&lt;/P&gt;&lt;P&gt;MS_MAIL_DLINAME = Leave Blank&lt;/P&gt;&lt;P&gt;MS_MAIL_LANGU = 'E' (Language)&lt;/P&gt;&lt;P&gt;MS_MAIL_FUNKOBJ_NAME = Leave Blank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;MS_MAIL_CONT = I_MCMAILOBJ&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;It has to be determined separately for each interface how these errors and mail notifications are to be grouped &amp;#150; dependant upon the number of errors that are potentially likely. One possible approach is to send an email for each reason for rejection and include all the records that failed for that reason in the mail notification. Another possible approach is to send an email for every failure. &lt;/P&gt;&lt;P&gt;When error checking for mandatory fields it is common SAP practice to reject a record on its first failure (irrespective of subsequent errors in that record)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7c &amp;#150; Send status mail&lt;/P&gt;&lt;P&gt;&amp;#149; Append to table I_MCMAILOBJ details of the time the interface was processed, how many Idocs were created and how many of these produced a status of 03.&lt;/P&gt;&lt;P&gt;&amp;#149; Select the user to receive the mail from ZINT_RECEIVER, using the name of the program as a key (SY-CPROG).&lt;/P&gt;&lt;P&gt;&amp;#149; Use function Module &amp;#145;MC_SEND_MAIL&amp;#146; to send a mail to the user containing the contents of I_MCMAILOBJ at the end of the interface processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 8 &amp;#150; Test the population of the custom IDOC&lt;/P&gt;&lt;P&gt;via wedi IDoc - Display IDoc or Transaction WE02.&lt;/P&gt;&lt;P&gt;&amp;#149; Enter your message type and execute.&lt;/P&gt;&lt;P&gt;&amp;#149; Status should be green, double click on one of the Idocs you have created to view its contents.&lt;/P&gt;&lt;P&gt;&amp;#149; If a problem has occurred click on Status which will give you a description of the error.&lt;/P&gt;&lt;P&gt;&amp;#149; Drop down Data Records arrow and this should list the data in the IDoc in the correct hierarchical structure.&lt;/P&gt;&lt;P&gt;&amp;#149; Click on each individual segment and view the content to check that the correct data has been read.&lt;/P&gt;&lt;P&gt;&amp;#149; If you have UNIX access by using AL11 you can view the file that you have created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;For some interfaces it may be valid to send an empty file to SAP. This empty file is converted to the custom IDOC format expected by SAP. This custom IDOC will contain dummy information. In the inbound processing code, if the dummy information is identified then the processing of the IDOC is considered to be complete and the IDOC should then be assigned a successfully processed status of 53, even though it has not been processed at all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2.2 Inbound Interface&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Follow steps 1 to 5 inclusive as detailed above in outbound interface.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 6&lt;/P&gt;&lt;P&gt;Write a custom function module to handle custom inbound processing. This custom function module must&lt;/P&gt;&lt;P&gt;&amp;#149; Check for the correct message type&lt;/P&gt;&lt;P&gt;&amp;#149; Read the IDoc data segment&lt;/P&gt;&lt;P&gt;&amp;#149; Perform data conversion and validate the data as appropriate&lt;/P&gt;&lt;P&gt;&amp;#149; Post the data to the database&lt;/P&gt;&lt;P&gt;&amp;#149; Handle any error situations&lt;/P&gt;&lt;P&gt;&amp;#149; Set the correct return values for the status record&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that the Function Module must not make a commit to the database. This is because the status record is not written until control returns to the ALE layer. So if you commit work in the Function Module and an error occurs in returning to the ALE Layer, the status record must not be updated with a successful outcome.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The commit work is executed in the ALE Layer after the status records are updated, via the standard SAP function module IDOC_INBOUND_PROCESS. This attributes of this function module are set up in (Transaction BD51), click on &amp;#145;New Entries&amp;#146; and fill in data; the main input parameters being &amp;#145;Input Type&amp;#146; and &amp;#145;Dialog Allowed&amp;#146;.&lt;/P&gt;&lt;P&gt;Take care as some standard SAP transactions contain a Commit Work as part of their processing. Therefore using a BDC to process inbound data to SAP may not be acceptable. You need to check that the SAP transaction is ALE enabled. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 7&lt;/P&gt;&lt;P&gt;(Transaction WE57)&lt;/P&gt;&lt;P&gt;Assign the custom function module to the IDoc type and the message type.&lt;/P&gt;&lt;P&gt;Set function module to type &amp;#145;F&amp;#146; and direction &amp;#145;2&amp;#146; for inbound.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 8&lt;/P&gt;&lt;P&gt;(Transaction WE42)&lt;/P&gt;&lt;P&gt;Create a new process code and assign it to the function module. The process code determines how the incoming IDoc is to be processed in SAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 9&lt;/P&gt;&lt;P&gt;(Transaction BD67)&lt;/P&gt;&lt;P&gt;Assign the function module to the process code created above. Got to &amp;#145;New Entries&amp;#146; and enter the process code and the function module name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 10&lt;/P&gt;&lt;P&gt;(Transaction WE20 and Transaction BD64)&lt;/P&gt;&lt;P&gt;Create a partner profile for your message and ensure that in transaction WE20 the process code is the one that points to your function module. (See step 6 of creating Outbound Idocs).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Step 11&lt;/P&gt;&lt;P&gt;Ensure that error handling functionality is present.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If an interface is expecting a file every day, and a custom IDoc may only be output from SAP periodically, it would be necessary to create some kind of output from SAP on a daily basis to pass to Mercator to allow it to map to an empty file. As we are dealing with custom IDoc types we can design the IDoc so that the data segments are not mandatory. Therefore the SAP program, on finding no data to populate the custom IDoc, would only need to create the control record. The empty IDoc containing the control record would be passed to Mercator. Mercator will map this to an empty file format.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Update outbound parameters of the Partner profile &amp;#150; Transaction WE20&lt;/P&gt;&lt;P&gt;For the Logical system A for the above two message types update the partner profile. &lt;/P&gt;&lt;P&gt;For each message type specify the Port and the IDoc types. &lt;/P&gt;&lt;P&gt;( Note : Port definition need to maintained using transaction WE21 and &lt;/P&gt;&lt;P&gt;it has to be defined as a Transactional RFC port with RFC destination for &lt;/P&gt;&lt;P&gt;system specified, which need to be maintained using SM59 ). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.allsaplinks.com/idoc_sample.html" target="test_blank"&gt;http://www.allsaplinks.com/idoc_sample.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/sapedi/idoc_abap.htm" target="test_blank"&gt;http://www.sapgenie.com/sapedi/idoc_abap.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Go through the link for basics related to IDOCs: &lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6cdd507d11d18ee90000e8366fc2/plain.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/0b/2a6cdd507d11d18ee90000e8366fc2/plain.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 07:04:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521647#M570821</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T07:04:46Z</dc:date>
    </item>
    <item>
      <title>Re: ALE/IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521648#M570822</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;Methods of triggering idocs are:&lt;/P&gt;&lt;P&gt;1.Message control.&lt;/P&gt;&lt;P&gt;2.Change pointers.&lt;/P&gt;&lt;P&gt;3.Application specific change programs.&lt;/P&gt;&lt;P&gt;4.BTE(Business Transaction Events).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For methods of triggerring refer follwing link:&lt;/P&gt;&lt;P&gt;&amp;lt;a href="http://www.dataxstream.com/doclib/SAP%20Interface%20Design.pdf"&amp;gt;http://www.dataxstream.com/doclib/SAP%20Interface%20Design.pdf&amp;lt;/a&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;ALE/IDOC&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IDOC Programming&lt;/P&gt;&lt;P&gt;There are two processes in IDOC processing one is INBOUND PROCESS( IDOC coming to the system and its handling at various stages) and the other is OUTBOUND PROCESS( IDOC is send to other system . Separate ABAP programs are written for these 2 processes and different configuration settings are required for each one .Depending upon the trigeering mechanism different programming approaches are used.OUTBOUND PROGRAMS handle the IDOC creation and INBOUND PROGRAMS handle the inbound IDOC and the data trasfer from the IDOC to the database tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;NEED FOR ABAP PROGRAMMING arises if&lt;/P&gt;&lt;P&gt;1)New IDOC was created&lt;/P&gt;&lt;P&gt;Depending upon the triggering mechanism i.e change pointer,message control&lt;/P&gt;&lt;P&gt;etc the programming technique changes and the type of process.&lt;/P&gt;&lt;P&gt;2)Existing IDOC was extended&lt;/P&gt;&lt;P&gt;User Exits are used to populate data in new segments added and to read them &lt;/P&gt;&lt;P&gt;back.&lt;/P&gt;&lt;P&gt;3)To enhance an exsiting process.&lt;/P&gt;&lt;P&gt;User Exits are used .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Basic structure of an OUTBOUND PROGRAM&lt;/P&gt;&lt;P&gt;The basic structure of all outbound programs is same. The CONTROL&lt;/P&gt;&lt;P&gt;record which is of TYPE EDIDC has to be filled. It contains important fields like&lt;/P&gt;&lt;P&gt;IDOCTP IDOC type&lt;/P&gt;&lt;P&gt;MESTYP Message Type&lt;/P&gt;&lt;P&gt;RCVPRN Recieving Partner (Destination) &lt;/P&gt;&lt;P&gt;RCVPRT Partner Type (it is LS i.e Logical System) &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The DATA RECORD internal table which is of TYPE EDIDD has to be filled&lt;/P&gt;&lt;P&gt;in the same order as there are segments in the IDOC definition.&lt;/P&gt;&lt;P&gt;It has 2 important fields which are to be filled ,these are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SEGNAM Name of the segment&lt;/P&gt;&lt;P&gt;SEGDATA Data in the segment and can be upto 1000 bytes.This field &lt;/P&gt;&lt;P&gt;is corresponds to each data segment in the IDOC.&lt;/P&gt;&lt;P&gt;e.g. &lt;/P&gt;&lt;P&gt;DATA INT_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA W_SEGDATA LIKE zsegment "custom segment zsegment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INT_EDIDD-SEGNAM = 'ZSEGMENT' &lt;/P&gt;&lt;P&gt;W_SEGDATA-field1 = value "taken from some table&lt;/P&gt;&lt;P&gt;W_SEGDATA-field2 = value "taken from some table&lt;/P&gt;&lt;P&gt;INT_EDIDD-SEGDATA = W_SEGDATA&lt;/P&gt;&lt;P&gt;APPEND INT_EDIDD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This will fill the data record corresponding to the segment ZSEGMENT . For all&lt;/P&gt;&lt;P&gt;segments the sam steps will be repeated until all the data corresponding to all the&lt;/P&gt;&lt;P&gt;segments in the idoc is filled in the internal table of type EDIDD.&lt;/P&gt;&lt;P&gt;There is only one control record and can be multile data records in the idoc&lt;/P&gt;&lt;P&gt;structure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Which data is to be extracted from the tables to be filled in EDIDD type internal table is determined in standalone programs from the objects which are specified in the selection screen and from the object key passed to the function module in case of message control and is taken from BDCP table in case of change pointers using function modules "CHANGE_POINTERS_READ"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In case of stand alone programs and function modules based on change pointers method the function module "MASTER_IDOC_DISTRIBUTE" is used to send the IDOC to ALE layer for distribution ,in case of message control it is handled automatically by the RSNASTED program invoked by the message control. &lt;/P&gt;&lt;P&gt;OUTBOUND PROCESS AND OUTBOUND PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Outbound programs are used in outbound process to genearte IDOCs . There&lt;/P&gt;&lt;P&gt;purpose is to extract the data from the tables and to fill the IDOC data records&lt;/P&gt;&lt;P&gt;and the control record in the IDOC and pass ito the ALE layer for distribution to the recieving system .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Depending upon the triggering mechanism (how and when the outbound program will be started different techniques and interface is used for outbound program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1)Message control &lt;/P&gt;&lt;P&gt;Application like PO(purchase order) creation use this technique , where the output type is linked to the application(Message control is a configurable cross application component which can be set in IMG .Such programs are created in the form of function modules and linked to the output type which is linked to the apllication.These have predefined interfaces. &lt;/P&gt;&lt;P&gt;In outbound programs(function module) that use message control the key of the&lt;/P&gt;&lt;P&gt;application document is passed to the function module whcig will read the data from the table depending upon the key passed(NAST structure) and fill the IDOC segemnts with the application data.The control record is also passed to the function module but is not fully filled, the rmaining fields are filled and the control is passed back to the calling program which is RSNASTED and is invoked by the &lt;/P&gt;&lt;P&gt;message control to process ALE and EDI output types and this program on recieving the IDOC data will create the physical IDOC in the system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The parameteers passed to the function module are&lt;/P&gt;&lt;P&gt;IMPORTING PARAMETERS&lt;/P&gt;&lt;P&gt;OBJECT LIKE NAST &lt;/P&gt;&lt;P&gt;It contains documents key.&lt;/P&gt;&lt;P&gt;CONTROL_RECORD_IN LIKE EDIDC &lt;/P&gt;&lt;P&gt;It contains the partailly filled control record&lt;/P&gt;&lt;P&gt;EXPORETING PARAMETER&lt;/P&gt;&lt;P&gt;OBJECT_TYPE &lt;/P&gt;&lt;P&gt;CONTROL_RECORD_OUT LIKE EDIDC&lt;/P&gt;&lt;P&gt;TABLES &lt;/P&gt;&lt;P&gt;INT_EDID LIKE EDIDD&lt;/P&gt;&lt;P&gt;The internal table used to fill the data records in the same order as they exists in the IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The important parameters that should be filled in the custom function module are&lt;/P&gt;&lt;P&gt;CONTROL_RECORD_OUT and INT_EDIDD .The OBJK field of the structue NAST contains the key of the apllication document. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)Stand alone programs&lt;/P&gt;&lt;P&gt;Generally used for Master Data transfer and as such depending upon the requirement can have different interfaces.The programs have a selection screen which has select options to select the objects, and parameters for specifying the recipient Logical System and the Message Type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data is selected based on the specified objects from the tables . and control record of type EDIDC is created and filled with important values like DIRECTION ,IDOCTP,RCVPRT,RCVPRN and MESTYP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data is filled in an internal table of TYPE EDIDD according to segment definitions&lt;/P&gt;&lt;P&gt;and in same order and the function module MASTER_IDOC_DISTRIBUTE is called passing the control record and the internal table containg IDOC data and importing an internal table consisting of control records for each communication IDOCS created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3)Change pointer &lt;/P&gt;&lt;P&gt;Change Pointer table is read and checked if changes were made to important fields , if so the outbound program will be triggered automatically , these have predefined interfaces &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALE/IDOC Transaction&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SALE Area Menu for ALE configurations.It includes transactions for &lt;/P&gt;&lt;P&gt;Logical System definition and linking it to a client, Transactions for&lt;/P&gt;&lt;P&gt;RFC Destination and Port Definition Etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SM59 RFC Destination&lt;/P&gt;&lt;P&gt;Here we specify the login settings for the destination including &lt;/P&gt;&lt;P&gt;the I.P address or Application Server name and the User name and &lt;/P&gt;&lt;P&gt;password.The information entered here is used to run Remote Function &lt;/P&gt;&lt;P&gt;Calls(RFC ) on the destination server .We can create number of types&lt;/P&gt;&lt;P&gt;of RFC Destinations but 3 types are important .&lt;/P&gt;&lt;P&gt;R/3 (R/3 to R/3), LS(logical system) and TCP/IP.&lt;/P&gt;&lt;P&gt;The name of the RFC destination should be same as that of Logical &lt;/P&gt;&lt;P&gt;System as it helps in creation of automatic partner profiles.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE21 Port Definition.&lt;/P&gt;&lt;P&gt;There are 6 types of ports but only 2 types File and Transactional RFC &lt;/P&gt;&lt;P&gt;types of ports are important.&lt;/P&gt;&lt;P&gt;We have to specify the RFC Destination before a port can be created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE57 This is used to assign the Inbound function module to the Message Type &lt;/P&gt;&lt;P&gt;and to the IDOC Type.&lt;/P&gt;&lt;P&gt;WE42 This is used to define the process Code for Inbound Processing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BD95 Define Filter object type .We can specify the field and the table it belongs &lt;/P&gt;&lt;P&gt;to as a filter object .&lt;/P&gt;&lt;P&gt;BD59 Assignment of Filter object type to the Message Type .Here we create the &lt;/P&gt;&lt;P&gt;link between Filter object and the segment and the message type and the &lt;/P&gt;&lt;P&gt;segment Field. &lt;/P&gt;&lt;P&gt;BD50 Set message Type to reducible.&lt;/P&gt;&lt;P&gt;BD65 Define Mandatory Fields. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BD64 Distribution Model . Also known as Customer Distribution Model Used to &lt;/P&gt;&lt;P&gt;define all the messages that will be exchanged between remote systems &lt;/P&gt;&lt;P&gt;and the name of thes logical systems. Any filters can also be specified.&lt;/P&gt;&lt;P&gt;The model once created has to be distributed on every system which will &lt;/P&gt;&lt;P&gt;be communicating ,It can be maintained on only One system.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BD21 Creating IDOcs from change pointers.&lt;/P&gt;&lt;P&gt;This can be used to create IDOCs from change pointers for a particular &lt;/P&gt;&lt;P&gt;message LIKE MATMAS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BD22 This can be used to delete change pointers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BD87 Status Monitor. Idocs can be selected base on number of criteria and there&lt;/P&gt;&lt;P&gt;processing status can be seen in detail.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BD10 Material Master Data Distribution .&lt;/P&gt;&lt;P&gt;Based on Message MATMAS.&lt;/P&gt;&lt;P&gt;BD12 Customer Master Data Distribution .&lt;/P&gt;&lt;P&gt;Based on Message CREMAS.&lt;/P&gt;&lt;P&gt;BD14 Vendor Master Data Distribution&lt;/P&gt;&lt;P&gt;Based on Message DEBMAS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BDFG Generate ALE Interface for BAPI.&lt;/P&gt;&lt;P&gt;Here we specify the Business Object and the BAPI Function module for &lt;/P&gt;&lt;P&gt;which the interface has to be created. &lt;/P&gt;&lt;P&gt;WE31 Segment Editor.&lt;/P&gt;&lt;P&gt;This is used to create segments. We create the segment type and &lt;/P&gt;&lt;P&gt;segment definition is automatically created by editor e.g. Z1DUMMY is &lt;/P&gt;&lt;P&gt;segment type and Z2DUMMY is the segment definition .We specify the &lt;/P&gt;&lt;P&gt;fields and the data elements these cp\orresponds to create segments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE30 IDOC Editor&lt;/P&gt;&lt;P&gt;It is used to create a new IDOC Type or IDOC Extension .We specify the&lt;/P&gt;&lt;P&gt;segments that will be addd to the IDOC type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE02/05 IDOC List.&lt;/P&gt;&lt;P&gt;Various selct options and parameters are provided to select IDOCs &lt;/P&gt;&lt;P&gt;depending on the date, direction , mesage type etc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WE20 Partner Profile&lt;/P&gt;&lt;P&gt;Here we create partner profile for each and every partner from / to which&lt;/P&gt;&lt;P&gt;the messages will be exchanged.There are 6 types of PF generally only &lt;/P&gt;&lt;P&gt;profiles of type LS(Logical System) ,KU(Customer) ,LI(Vendor) is used.&lt;/P&gt;&lt;P&gt;We specify the partner number and partner type and the agent and &lt;/P&gt;&lt;P&gt;the agent type responsible for handling of errors .&lt;/P&gt;&lt;P&gt;For every message send to the partner we have a outbound record and for &lt;/P&gt;&lt;P&gt;evry message coming from the partner we have the inbound record .&lt;/P&gt;&lt;P&gt;We specify the message in the otbound/inbound records ,double &lt;/P&gt;&lt;P&gt;clicking will take us to the detailed screen where the IDOC Type ,Port &lt;/P&gt;&lt;P&gt;and whether the IDCO will be immediatelt processed or collected are &lt;/P&gt;&lt;P&gt;mentioned.&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;IDOC Status Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Status Description &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;00 Not used, only R/2 &lt;/P&gt;&lt;P&gt;01 IDoc generated &lt;/P&gt;&lt;P&gt;02 Error passing data to port &lt;/P&gt;&lt;P&gt;03 Data passed to port OK &lt;/P&gt;&lt;P&gt;04 Error within control information of EDI subsystem &lt;/P&gt;&lt;P&gt;05 Error during translation &lt;/P&gt;&lt;P&gt;06 Translation OK &lt;/P&gt;&lt;P&gt;07 Error during syntax check &lt;/P&gt;&lt;P&gt;08 Syntax check OK &lt;/P&gt;&lt;P&gt;09 Error during interchange handling &lt;/P&gt;&lt;P&gt;10 Interchange handling OK &lt;/P&gt;&lt;P&gt;11 Error during dispatch &lt;/P&gt;&lt;P&gt;12 Dispatch OK &lt;/P&gt;&lt;P&gt;13 Retransmission OK &lt;/P&gt;&lt;P&gt;14 Interchange Acknowledgement positive &lt;/P&gt;&lt;P&gt;15 Interchange Acknowledgement negative &lt;/P&gt;&lt;P&gt;16 Functional Acknowledgement positive &lt;/P&gt;&lt;P&gt;17 Functional Acknowledgement negative &lt;/P&gt;&lt;P&gt;18 Triggering EDI subsystem OK &lt;/P&gt;&lt;P&gt;19 Data transfer for test OK &lt;/P&gt;&lt;P&gt;20 Error triggering EDI subsystem &lt;/P&gt;&lt;P&gt;21 Error passing data for test &lt;/P&gt;&lt;P&gt;22 Dispatch OK, acknowledgement still due &lt;/P&gt;&lt;P&gt;23 Error during retransmission &lt;/P&gt;&lt;P&gt;24 Control information of EDI subsystem OK &lt;/P&gt;&lt;P&gt;25 Processing despite syntax error (outbound) &lt;/P&gt;&lt;P&gt;26 Error during syntax check of IDoc (outbound) &lt;/P&gt;&lt;P&gt;27 Error in dispatch level (ALE service) &lt;/P&gt;&lt;P&gt;28 Not used &lt;/P&gt;&lt;P&gt;29 Error in ALE service &lt;/P&gt;&lt;P&gt;30 IDoc ready for dispatch (ALE service) &lt;/P&gt;&lt;P&gt;31 Error - no further processing &lt;/P&gt;&lt;P&gt;32 IDoc was edited &lt;/P&gt;&lt;P&gt;33 Original of an IDoc which was edited &lt;/P&gt;&lt;P&gt;34 Error in control record of IDoc &lt;/P&gt;&lt;P&gt;35 IDoc reloaded from archive &lt;/P&gt;&lt;P&gt;36 Electronic signature not performed (timeout) &lt;/P&gt;&lt;P&gt;37 IDoc added incorrectly &lt;/P&gt;&lt;P&gt;38 IDoc archived &lt;/P&gt;&lt;P&gt;39 IDoc is in the target system (ALE service) &lt;/P&gt;&lt;P&gt;40 Application document not created in target system &lt;/P&gt;&lt;P&gt;41 Application document created in target system &lt;/P&gt;&lt;P&gt;42 IDoc was created by test transaction &lt;/P&gt;&lt;P&gt;50 IDoc added &lt;/P&gt;&lt;P&gt;51 Application document not posted &lt;/P&gt;&lt;P&gt;52 Application document not fully posted &lt;/P&gt;&lt;P&gt;53 Application document posted &lt;/P&gt;&lt;P&gt;54 Error during formal application check &lt;/P&gt;&lt;P&gt;55 Formal application check OK &lt;/P&gt;&lt;P&gt;56 IDoc with errors added &lt;/P&gt;&lt;P&gt;57 Test IDoc: Error during application check &lt;/P&gt;&lt;P&gt;58 IDoc copy from R/2 connection &lt;/P&gt;&lt;P&gt;59 Not used &lt;/P&gt;&lt;P&gt;60 Error during syntax check of IDoc (inbound) &lt;/P&gt;&lt;P&gt;61 Processing despite syntax error (inbound) &lt;/P&gt;&lt;P&gt;62 IDoc passed to application &lt;/P&gt;&lt;P&gt;63 Error passing IDoc to application &lt;/P&gt;&lt;P&gt;64 IDoc ready to be transferred to application &lt;/P&gt;&lt;P&gt;65 Error in ALE service &lt;/P&gt;&lt;P&gt;66 IDoc is waiting for predecessor IDoc (serialization) &lt;/P&gt;&lt;P&gt;67 Not used &lt;/P&gt;&lt;P&gt;68 Error - no further processing &lt;/P&gt;&lt;P&gt;69 IDoc was edited &lt;/P&gt;&lt;P&gt;70 Original of an IDoc which was edited &lt;/P&gt;&lt;P&gt;71 IDoc reloaded from archive &lt;/P&gt;&lt;P&gt;72 Not used, only R/2 &lt;/P&gt;&lt;P&gt;73 IDoc archived &lt;/P&gt;&lt;P&gt;74 IDoc was created by test transaction &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IDOC Function&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE' &lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;VALUE(MASTER_IDOC_CONTROL) LIKE EDIDC STRUCTURE EDIDC&lt;/P&gt;&lt;P&gt;" Control record of master IDoc&lt;/P&gt;&lt;P&gt;VALUE(OBJ_TYPE) LIKE SERIAL-OBJ_TYPE DEFAULT ''&lt;/P&gt;&lt;P&gt;VALUE(CHNUM) LIKE SERIAL-CHNUM DEFAULT ''&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;COMMUNICATION_IDOC_CONTROL STRUCTURE EDIDC&lt;/P&gt;&lt;P&gt;" Control records of created comm. IDocs &lt;/P&gt;&lt;P&gt;MASTER_IDOC_DATA STRUCTURE EDIDD&lt;/P&gt;&lt;P&gt;" Data records of master IDoc&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;ERROR_IN_IDOC_CONTROL&lt;/P&gt;&lt;P&gt;" Incorrect entry in IDoc control record &lt;/P&gt;&lt;P&gt;ERROR_WRITING_IDOC_STATUS&lt;/P&gt;&lt;P&gt;" Error when writing IDoc status records &lt;/P&gt;&lt;P&gt;ERROR_IN_IDOC_DATA&lt;/P&gt;&lt;P&gt;" Incorrect entry in IDoc data records &lt;/P&gt;&lt;P&gt;SENDING_LOGICAL_SYSTEM_UNKNOWN&lt;/P&gt;&lt;P&gt;" Own logical system unknown&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CHANGE_POINTERS_READ'&lt;/P&gt;&lt;P&gt;EXPPORTING&lt;/P&gt;&lt;P&gt;VALUE(ACTIVATION_DATE_HIGH) LIKE SY-DATUM DEFAULT SPACE&lt;/P&gt;&lt;P&gt;VALUE(ACTIVATION_DATE_LOW) LIKE SY-DATUM DEFAULT SPACE&lt;/P&gt;&lt;P&gt;VALUE(ACTIVATION_TIME_HIGH) LIKE SY-UZEIT DEFAULT '000000'&lt;/P&gt;&lt;P&gt;VALUE(ACTIVATION_TIME_LOW) LIKE SY-UZEIT DEFAULT '000000'&lt;/P&gt;&lt;P&gt;VALUE(CHANGE_DOCUMENT_OBJECT_CLASS) LIKE CDPOS-OBJECTCLAS&lt;/P&gt;&lt;P&gt;DEFAULT SPACE&lt;/P&gt;&lt;P&gt;VALUE(CREATION_DATE_HIGH) LIKE SY-DATUM DEFAULT SPACE&lt;/P&gt;&lt;P&gt;VALUE(CREATION_DATE_LOW) LIKE SY-DATUM DEFAULT SPACE&lt;/P&gt;&lt;P&gt;VALUE(CREATION_TIME_HIGH) LIKE SY-UZEIT DEFAULT '000000'&lt;/P&gt;&lt;P&gt;VALUE(CREATION_TIME_LOW) LIKE SY-UZEIT DEFAULT '000000'&lt;/P&gt;&lt;P&gt;VALUE(MESSAGE_TYPE) LIKE BDCPS-MESTYPE&lt;/P&gt;&lt;P&gt;VALUE(READ_NOT_PROCESSED_POINTERS) LIKE BDCPS-PROCESS DEFAULT&lt;/P&gt;&lt;P&gt;'X'&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;CHANGE_POINTERS STRUCTURE BDCP&lt;/P&gt;&lt;P&gt;MESSAGE_TYPES STRUCTURE BDMSGTYP OPTIONAL&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;ERROR_IN_DATE_INTERVAL&lt;/P&gt;&lt;P&gt;ERROR_IN_TIME_INTERVAL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION change_pointers_status_write.&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;VALUE(MESSAGE_TYPE) LIKE EDIDC-MESTYP&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;CHANGE_POINTERS_IDENTS STRUCTURE BDICPIDENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Examples of Inbound function modules are&lt;/P&gt;&lt;P&gt;IDOC_INPUT_BLAOCH IDoc inbound processing: change Ccontract&lt;/P&gt;&lt;P&gt;IDOC_INPUT_BLAORD IDoc inbound processing: Create Contract&lt;/P&gt;&lt;P&gt;IDOC_INPUT_MATMAS01 IDoc inbound processing: Material Master &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Examples of Outbound function modules are&lt;/P&gt;&lt;P&gt;IDOC_OUTPUT_BLAOCH&lt;/P&gt;&lt;P&gt;IDOC_OUTPUT_BLAORD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Pls reward all helpful points.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ameet&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Jul 2007 07:38:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/ale-idoc/m-p/2521648#M570822</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-18T07:38:41Z</dc:date>
    </item>
  </channel>
</rss>

