<?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: CUSTOM IDOC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679313#M886031</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="GingerNoCheckStart"&gt;&lt;/SPAN&gt;&lt;SPAN class="GingerNoCheckStart"&gt;&lt;/SPAN&gt;Hi Jagadeesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know how to do mapping between IDoc and BDoc...???&lt;BR /&gt;Also How to create Custom BDoc.....??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;ShashanK MarathE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 25 Jul 2013 04:23:46 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2013-07-25T04:23:46Z</dc:date>
    <item>
      <title>CUSTOM IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679311#M886029</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have created the custom idoc with 4 segments.&lt;/P&gt;&lt;P&gt;now i have to write program to populate those fields.do any one can please help on this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Apr 2008 06:20:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679311#M886029</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-18T06:20:17Z</dc:date>
    </item>
    <item>
      <title>Re: CUSTOM IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679312#M886030</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;See the All Idoc Scenarios below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MASTER DATA TRANSFERMATION BETWEEN 2 DIFF CLIENTS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#149;	For this scenario Client 800 is the Sender and 810 is the receiving system&lt;/P&gt;&lt;P&gt;1. Creating Logical Systems&lt;/P&gt;&lt;P&gt;o	Login using 800 client&lt;/P&gt;&lt;P&gt;o	Go to T. Code SALE&lt;/P&gt;&lt;P&gt;o	Expand Sending and Receiving Systems&lt;/P&gt;&lt;P&gt;o	Expand Logical Systems&lt;/P&gt;&lt;P&gt;o	Click on Define Logical System&lt;/P&gt;&lt;P&gt;o	Click on New Entries&lt;/P&gt;&lt;P&gt;o	Create STUD_S, STUD_R Logical Systems&lt;/P&gt;&lt;P&gt;o	Save and come back&lt;/P&gt;&lt;P&gt;o	Assign the STUD_S Logical System to client 800&lt;/P&gt;&lt;P&gt;o	Assign the STUD_R Logical System to client 810&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Creating the RFCs&lt;/P&gt;&lt;P&gt;o	Go to T. Code SM59&lt;/P&gt;&lt;P&gt;o	Expand R/3 Connections&lt;/P&gt;&lt;P&gt;o	Enter RFC Name as STUD_S&lt;/P&gt;&lt;P&gt;o	Connection Type as 3&lt;/P&gt;&lt;P&gt;o	Language as EN&lt;/P&gt;&lt;P&gt;o	Client as 800&lt;/P&gt;&lt;P&gt;o	User as  SAPUSER&lt;/P&gt;&lt;P&gt;o	PWD as abap&lt;/P&gt;&lt;P&gt;o	Target host as sap&lt;/P&gt;&lt;P&gt;o	Click on Remote logon button to test the RFC&lt;/P&gt;&lt;P&gt;o	Enter RFC Name as STUD_R&lt;/P&gt;&lt;P&gt;o	Connection Type as 3&lt;/P&gt;&lt;P&gt;o	Language as EN&lt;/P&gt;&lt;P&gt;o	Client as 800&lt;/P&gt;&lt;P&gt;o	User as  SATISH&lt;/P&gt;&lt;P&gt;o	PWD as abap&lt;/P&gt;&lt;P&gt;o	Target host as sap&lt;/P&gt;&lt;P&gt;o	Click on Remote logon button to test the RFC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Creating the Message Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE81&lt;/P&gt;&lt;P&gt;o	Click on change, continue&lt;/P&gt;&lt;P&gt;o	Click on New Entries button&lt;/P&gt;&lt;P&gt;o	Give message type as ZBAPI_STUD_MAS and description&lt;/P&gt;&lt;P&gt;o	Save and back&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Creating the Segment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE31&lt;/P&gt;&lt;P&gt;o	Give segment name as ZBAPI_STUD_SEG&lt;/P&gt;&lt;P&gt;o	Enter Short Text&lt;/P&gt;&lt;P&gt;o	Enter the Field Name and Data Element in the text boxes&lt;/P&gt;&lt;P&gt;o	Save, continue,&lt;/P&gt;&lt;P&gt;o	Click on Edit -&amp;gt; Set Release.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5. Creating the Basic IDOC Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. code WE30&lt;/P&gt;&lt;P&gt;o	Give obj. name as ZBAPI_STUD_IDOC&lt;/P&gt;&lt;P&gt;o	Click on create&lt;/P&gt;&lt;P&gt;o	Select create new radio button, give description and continue&lt;/P&gt;&lt;P&gt;o	Select the IDOC obj name and click on create button&lt;/P&gt;&lt;P&gt;o	Enter the segment name which is create earlier&lt;/P&gt;&lt;P&gt;o	Select the check box if you want to make the segment mandatory&lt;/P&gt;&lt;P&gt;o	Enter 1 in minimum number 99999 in maximum number, continue&lt;/P&gt;&lt;P&gt;o	Save and back&lt;/P&gt;&lt;P&gt;o	Click on Edit -&amp;gt; Set Release&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6. Creating Customer Distribution Model&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code BD64&lt;/P&gt;&lt;P&gt;o	Click on change and Create model view button&lt;/P&gt;&lt;P&gt;o	Enter the short text and Technical name as ZSTUDENT&lt;/P&gt;&lt;P&gt;o	Select the model and click on Add Message Type Button &lt;/P&gt;&lt;P&gt;o	Give the Sender as STUD_S, &lt;/P&gt;&lt;P&gt;o	               Receiver as STUD_R, &lt;/P&gt;&lt;P&gt;o	               Message Type as ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;o	Select the model view &amp;amp; click on Environment -&amp;gt; Generate Partner Profiles&lt;/P&gt;&lt;P&gt;o	Select Transfer IDOC Immediately and Trigger Immediately radio buttons&lt;/P&gt;&lt;P&gt;o	Click on Execute&lt;/P&gt;&lt;P&gt;o	You should get a list in green color which means it executed successfully.&lt;/P&gt;&lt;P&gt;o	Back to main screen, select the model view&lt;/P&gt;&lt;P&gt;o	Click Edit-&amp;gt;Model view-&amp;gt;Distribute&lt;/P&gt;&lt;P&gt;o	Click on continue&lt;/P&gt;&lt;P&gt;o	You should get a list saying model view is distributed successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7. Checking the Port&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE21&lt;/P&gt;&lt;P&gt;o	Expand Transactional RFC&lt;/P&gt;&lt;P&gt;o	Find the port from the list which is created using BD64 for STUD_R (Receiving system) RFC Destination.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;8. Checking the Partner Profiles.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE20&lt;/P&gt;&lt;P&gt;o	Expand Partner Type LS&lt;/P&gt;&lt;P&gt;o	Select the Partner profile STUD_R&lt;/P&gt;&lt;P&gt;o	Double click on Message Type ZBAPI_STUD_MAS in Outbound parmtrs.&lt;/P&gt;&lt;P&gt;o	Check Receiver Port is assigned correctly&lt;/P&gt;&lt;P&gt;o	Check the Basic type as your Basic IDOC object.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;9. Assigning the Message Type to Basic IDOC Object&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE82&lt;/P&gt;&lt;P&gt;o	Click on Change &amp;amp; continue, New Entries button&lt;/P&gt;&lt;P&gt;o	Give the Message type as ZBAPI_STUD_MAS &lt;/P&gt;&lt;P&gt;o	Give Basic Type as ZBAPI_STUD_IDOC&lt;/P&gt;&lt;P&gt;o	Release as 46C&lt;/P&gt;&lt;P&gt;o	Save and back&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10. Creating Inbound Function Module (Posting Program)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code SE37&lt;/P&gt;&lt;P&gt;o	Create a function Module IDOC_INPUT_ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;o	Set the Processing type as Remote Enabled Module and mode as start immed, in Attributes Tab.&lt;/P&gt;&lt;P&gt;o	Import Parameters&lt;/P&gt;&lt;P&gt;INPUT_METHOD	            LIKE	BDWFAP_PAR-INPUTMETHD&lt;/P&gt;&lt;P&gt;MASS_PROCESSING	LIKE	BDWFAP_PAR-MASS_PROC&lt;/P&gt;&lt;P&gt;NO_APPLICATION_LOG	LIKE	SY-DATAR&lt;/P&gt;&lt;P&gt;MASSSAVEINFOS	            LIKE	MASSSAVINF &lt;/P&gt;&lt;P&gt;o	Export Parameters&lt;/P&gt;&lt;P&gt;WORKFLOW_RESULT		LIKE	BDWF_PARAM-RESULT&lt;/P&gt;&lt;P&gt;APPLICATION_VARIABLE	LIKE	BDWF_PARAM-APPL_VAR&lt;/P&gt;&lt;P&gt;IN_UPDATE_TASK		LIKE	BDWFAP_PAR-UPDATETASK&lt;/P&gt;&lt;P&gt;CALL_TRANSACTION_DONE  LIKE	BDWFAP_PAR-CALLTRANS&lt;/P&gt;&lt;P&gt;o	Tables&lt;/P&gt;&lt;P&gt;IDOC_CONTRL	LIKE	EDIDC&lt;/P&gt;&lt;P&gt;IDOC_DATA		LIKE	EDIDD&lt;/P&gt;&lt;P&gt;IDOC_STATUS	LIKE	BDIDOCSTAT&lt;/P&gt;&lt;P&gt;RETURN_VARIABLES	LIKE	BDWFRETVAR&lt;/P&gt;&lt;P&gt;SERIALIZATION_INFO	LIKE	BDI_SER&lt;/P&gt;&lt;P&gt;o	Exceptions&lt;/P&gt;&lt;P&gt;WRONG_FUNCTION_CALLED&lt;/P&gt;&lt;P&gt;o	Source Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: FIRST_TRANC LIKE MARA_UEB-TRANC,&lt;/P&gt;&lt;P&gt;      ZBAPI_STUD_SEG like zbapi_stud.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ZBAPI_STUD LIKE ZBAPI_STUD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: I_ZBAPI_STUD LIKE ZBAPI_STUD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: C_TRUE                         VALUE 'X'.&lt;/P&gt;&lt;P&gt;  DATA: C_FALSE                        VALUE ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF T_IDOC_ROLLNO OCCURS 0,&lt;/P&gt;&lt;P&gt;        DOCNUM LIKE EDIDC-DOCNUM,&lt;/P&gt;&lt;P&gt;        ROLLNO LIKE ZBAPI_STUD-ROLLNO,&lt;/P&gt;&lt;P&gt;      END   OF T_IDOC_ROLLNO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DEFINE APPEND_RESFIELDS.&lt;/P&gt;&lt;P&gt;    PERFORM APPEND_RES_FIELDS TABLES T_MFIELDRES&lt;/P&gt;&lt;P&gt;                                     T_RES_FIELDS&lt;/P&gt;&lt;P&gt;                              USING  &amp;amp;1&lt;/P&gt;&lt;P&gt;                                     COUNTER-D_IND.&lt;/P&gt;&lt;P&gt;  END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: I_MARA_UEB LIKE MARA_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_ZSTUD_UEB LIKE ZBAPI_STUD.&lt;/P&gt;&lt;P&gt;  DATA: I_MAKT_UEB LIKE MAKT_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MARC_UEB LIKE MARC_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MARD_UEB LIKE MARD_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MFHM_UEB LIKE MFHM_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MARM_UEB LIKE MARM_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MEAN_UEB LIKE MEA1_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MBEW_UEB LIKE MBEW_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_STEU_UEB LIKE STEU_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_STEUMM_UEB LIKE STEUMM_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MLGN_UEB LIKE MLGN_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MLGT_UEB LIKE MLGT_UEB.      " //br010797 neu zu 4.0&lt;/P&gt;&lt;P&gt;  DATA: I_MPGD_UEB LIKE MPGD_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MPOP_UEB LIKE MPOP_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MVEG_UEB LIKE MVEG_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MVEU_UEB LIKE MVEU_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MVKE_UEB LIKE MVKE_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_MPRW_UEB LIKE MPRW_UEB.&lt;/P&gt;&lt;P&gt;  DATA: I_LTX1_UEB LIKE LTX1_UEB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: HELP_MARC_UEB LIKE MARC_UEB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: T_MARA_UEB LIKE MARA_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MAKT_UEB LIKE MAKT_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MARC_UEB LIKE MARC_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MARD_UEB LIKE MARD_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MFHM_UEB LIKE MFHM_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MARM_UEB LIKE MARM_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MEAN_UEB LIKE MEA1_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MBEW_UEB LIKE MBEW_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_STEU_UEB LIKE STEU_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_STEUMM_UEB LIKE STEUMM_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MLGN_UEB LIKE MLGN_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MLGT_UEB LIKE MLGT_UEB OCCURS 0.    " //br010797 neu zu 4.0&lt;/P&gt;&lt;P&gt;  DATA: T_MPGD_UEB LIKE MPGD_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MPOP_UEB LIKE MPOP_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MVEG_UEB LIKE MVEG_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MVEU_UEB LIKE MVEU_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MVKE_UEB LIKE MVKE_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MPRW_UEB LIKE MPRW_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_LTX1_UEB LIKE LTX1_UEB OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal fields/ tables&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: FLAG_ERROR_HAPPENED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: flag_material_exists. "//br210397 zu 4.0 keine Verwendung mehr&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: FLAG_EXIT_TO_BE_DONE.&lt;/P&gt;&lt;P&gt;  DATA: HELP_TABIX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  DATA: HELP_TRANC LIKE MARA_UEB-TRANC.&lt;/P&gt;&lt;P&gt;  DATA: HELP_ALAND LIKE STEU_UEB-ALAND.&lt;/P&gt;&lt;P&gt;  DATA: HELP_VKORG LIKE MVKE-VKORG.&lt;/P&gt;&lt;P&gt;  DATA: HELP_WERKS LIKE T001W-WERKS.&lt;/P&gt;&lt;P&gt;  DATA: HELP_LFDNR LIKE STEU_UEB-LFDNR.&lt;/P&gt;&lt;P&gt;  DATA: LAST_MARC_TRANC LIKE MARA_UEB-TRANC.&lt;/P&gt;&lt;P&gt;  DATA: LAST_MLGN_TRANC LIKE MARA_UEB-TRANC.    " //br010797 neu zu 4.0&lt;/P&gt;&lt;P&gt;  DATA: LAST_TEXT_TRANC LIKE MARA_UEB-TRANC.&lt;/P&gt;&lt;P&gt;  DATA: CURRENT_TABIX LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;  DATA: GENERAL_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;P&gt;  DATA: HELP_FACTOR TYPE P DECIMALS 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: USER_SEGMENTS LIKE EDIDD OCCURS 0 WITH HEADER LINE.  " insert&lt;/P&gt;&lt;P&gt;  DATA: CUST_SEGMENT LIKE EDIDD.&lt;/P&gt;&lt;P&gt;  DATA: I_MFIELDRES LIKE MFIELDRES.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: I_MERRDAT LIKE MERRDAT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: I_EDIDD LIKE EDIDD.&lt;/P&gt;&lt;P&gt;                                       " //br neu zu 3.1g&lt;/P&gt;&lt;P&gt;  DATA: T_RES_FIELDS LIKE DELFIELDS OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: T_MFIELDRES LIKE MFIELDRES OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_MERRDAT LIKE MERRDAT OCCURS 0.&lt;/P&gt;&lt;P&gt;  DATA: T_EDIDD LIKE EDIDD OCCURS 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: BEGIN OF t_matnr OCCURS 0, "//br210397 zu 4.0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        matnr LIKE mara-matnr,   " wird nicht mehr verwendet&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      END OF t_matnr.            "&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: BEGIN OF COUNTER,&lt;/P&gt;&lt;P&gt;          TRANC LIKE MARA_UEB-TRANC,&lt;/P&gt;&lt;P&gt;          D_IND LIKE MARA_UEB-D_IND,&lt;/P&gt;&lt;P&gt;        END OF COUNTER.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA: BEGIN OF t_idoc_tranc OCCURS 0,                          " 4.0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        docnum LIKE edidc-docnum,                              "&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        tranc  LIKE mara_ueb-tranc,                            "&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      END OF t_idoc_tranc.                                     "&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA T_IDOC_TRANC LIKE MATIDOCTRANC OCCURS 0 WITH HEADER LINE."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: FLAG_FITS.&lt;/P&gt;&lt;P&gt;  DATA: APPLICATION_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;P&gt;  DATA FLAG_MUSS_PRUEFEN LIKE SY-DATAR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA MAX_ERRORS LIKE T130S-ANZUM.    " 4.0&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;note 419281&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA : FLG_MASS.&lt;/P&gt;&lt;P&gt;  CLEAR : FLG_MASS.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: .            " 4.0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ALE-distribution unity : IDOC status set by locking      "note0361838&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  data:                                                     "note0361838&lt;/P&gt;&lt;P&gt;    it_dsp_idocstat like bdidocstat                         "note0361838&lt;/P&gt;&lt;P&gt;      occurs 0 with header line.                            "note0361838&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 data - general&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REFRESH T_MFIELDRES.&lt;/P&gt;&lt;P&gt;  REFRESH T_IDOC_TRANC.&lt;/P&gt;&lt;P&gt;  REFRESH T_IDOC_TRANC.                "JH/02.02.98/4.0C  KPr100004993&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REFRESH t_idoc_tranc_segment.   " //br 40 : unnötig&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REFRESH matnr_tranc.            "    -"-&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REFRESH t_matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  COUNTER-TRANC = 1.&lt;/P&gt;&lt;P&gt;  COUNTER-D_IND = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH T_MARA_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MAKT_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MARC_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MARD_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MFHM_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MARM_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MEAN_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MBEW_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_STEU_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_STEUMM_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MLGN_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MLGT_UEB.                  " //br010797 neu zu 4.0&lt;/P&gt;&lt;P&gt;  REFRESH T_MPGD_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MPOP_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MVEG_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MVEU_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MVKE_UEB.&lt;/P&gt;&lt;P&gt;  REFRESH T_MPRW_UEB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH VKORG_ALAND.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; REFRESH WERKS_ALAND.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR APPLICATION_SUBRC.&lt;/P&gt;&lt;P&gt;  REFRESH T_MERRDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check if right function is called&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE IDOC_CONTRL INDEX 1.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF  IDOC_CONTRL-IDOCTP &amp;lt;&amp;gt; 'ZBAPI_STUD_IDOC'.&lt;/P&gt;&lt;P&gt;      RAISE WRONG_FUNCTION_CALLED.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  LOOP AT IDOC_CONTRL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Initialize data - per IDOC&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  t_idoc_tranc-docnum = counter-tranc.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    T_IDOC_TRANC-DOCNUM = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;    T_IDOC_TRANC-FIRST_TRANC_IDOC = COUNTER-TRANC + 2.&lt;/P&gt;&lt;P&gt;    APPEND T_IDOC_TRANC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Select segments which belong to IDOC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    REFRESH T_EDIDD.&lt;/P&gt;&lt;P&gt;    LOOP AT IDOC_DATA WHERE DOCNUM = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      APPEND IDOC_DATA TO T_EDIDD.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   BUSINESS TRANSACTION EVENT (header / data)         "note0388000&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     call function 'OPEN_FI_PERFORM_MGV00200_E'         "note0388000&lt;/P&gt;&lt;P&gt;          exporting                                     "note0388000&lt;/P&gt;&lt;P&gt;              idoc_header       = idoc_contrl           "note0388000&lt;/P&gt;&lt;P&gt;              FLG_APPEND_STATUS = 'X'                   "note0388000&lt;/P&gt;&lt;P&gt;          tables                                        "note0388000&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;(DEL)       idoc_data         = idoc_data "note0388000 note0418561&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              idoc_data         = t_edidd               "note0418561&lt;/P&gt;&lt;P&gt;              idoc_status       = idoc_status           "note0388000&lt;/P&gt;&lt;P&gt;          exceptions                                    "note0388000&lt;/P&gt;&lt;P&gt;              others       = 1.                         "note0388000&lt;/P&gt;&lt;P&gt;     if sy-subrc = 1.                                   "note0388000&lt;/P&gt;&lt;P&gt;        continue.                                       "note0388000&lt;/P&gt;&lt;P&gt;     endif.                                             "note0388000&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Within one IDOC: loop through data segments:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Prepare internal tables for the current material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT T_EDIDD INTO IDOC_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Transform from CoreData to Normal Data if necesary&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CASE IDOC_DATA-SEGNAM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'E1MARAC'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*--COMMENTED BY SATISH&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM MOVE_E1MARAC_TO_E1MARAM USING IDOC_DATA.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       WHEN 'E1MAKTC'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         PERFORM MOVE_E1MAKTC_TO_E1MAKTM USING IDOC_DATA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*--COMMENTES ENDED BY SATISH&lt;/P&gt;&lt;P&gt;         WHEN 'ZBAPI_STUD_SEG'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          PERFORM MOVE_E1MARAC_TO_E1MARAM USING IDOC_DATA.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            CLEAR I_ZBAPI_STUD.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Second: Move E1MARAC into E1MARAM&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            I_ZBAPI_STUD = IDOC_DATA-SDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Third: Move E1MARAM back into IDOC-line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            IDOC_DATA-SDATA =  I_ZBAPI_STUD.&lt;/P&gt;&lt;P&gt;            IDOC_DATA-SEGNAM = 'ZBAPI_STUD_SEG'.&lt;/P&gt;&lt;P&gt;      ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CURRENT_TABIX = SY-TABIX.&lt;/P&gt;&lt;P&gt;      COUNTER-D_IND = COUNTER-D_IND + 1.&lt;/P&gt;&lt;P&gt;      COUNTER-TRANC = COUNTER-TRANC + 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CASE IDOC_DATA-SEGNAM.&lt;/P&gt;&lt;P&gt;         WHEN 'ZBAPI_STUD_SEG'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        Initialize data - per material&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          COUNTER-D_IND = 1.&lt;/P&gt;&lt;P&gt;          FIRST_TRANC = COUNTER-TRANC.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        interpret segment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          ZBAPI_STUD_SEG = IDOC_DATA-SDATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          MOVE-CORRESPONDING ZBAPI_STUD TO I_ZSTUD_UEB.&lt;/P&gt;&lt;P&gt;          T_IDOC_ROLLNO-DOCNUM  = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;          T_IDOC_ROLLNO-ROLLNO  = I_ZSTUD_UEB-ROLLNO.&lt;/P&gt;&lt;P&gt;          APPEND T_IDOC_ROLLNO.&lt;/P&gt;&lt;P&gt;       ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;            if not ZBAPI_STUD_SEG is initial.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ZBAPI_STUD-MANDT  = ZBAPI_STUD_SEG-MANDT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ZBAPI_STUD-ROLLNO = ZBAPI_STUD_SEG-ROLLNO.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ZBAPI_STUD-FNAME  = ZBAPI_STUD_SEG-FNAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             ZBAPI_STUD-LNAME  = ZBAPI_STUD_SEG-LNAME.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              INSERT ZBAPI_STUD FROM ZBAPI_STUD_SEG.&lt;/P&gt;&lt;P&gt;              COMMIT WORK.&lt;/P&gt;&lt;P&gt;            ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- ALE ditribution unity : update IDOC status                "note03618&lt;/P&gt;&lt;P&gt;      LOOP AT it_dsp_idocstat.                                  "note036&lt;/P&gt;&lt;P&gt;         LOOP AT IDOC_STATUS WHERE DOCNUM = it_dsp_idocstat.    "note036&lt;/P&gt;&lt;P&gt;            DELETE idoc_status INDEX sy-tabix.                  "note036&lt;/P&gt;&lt;P&gt;         ENDLOOP.                                               "note036&lt;/P&gt;&lt;P&gt;         APPEND it_dsp_idocstat TO idoc_status.                 "note036&lt;/P&gt;&lt;P&gt;      ENDLOOP.                                                  "note036&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--GENERATING THE IDOC STATUS&lt;/P&gt;&lt;P&gt;  PERFORM HANDLE_ERROR_EXT             " //br40&lt;/P&gt;&lt;P&gt;              TABLES                                        "&lt;/P&gt;&lt;P&gt;                 IDOC_CONTRL                                "&lt;/P&gt;&lt;P&gt;                 IDOC_STATUS                                "&lt;/P&gt;&lt;P&gt;                 RETURN_VARIABLES                           "&lt;/P&gt;&lt;P&gt;                 T_MERRDAT                                  "&lt;/P&gt;&lt;P&gt;                 T_IDOC_TRANC                               "&lt;/P&gt;&lt;P&gt;                 T_IDOC_ROLLNO          "JH/4.0C/KPr100004993&lt;/P&gt;&lt;P&gt;              USING                                         "&lt;/P&gt;&lt;P&gt;                 GENERAL_SUBRC                              "&lt;/P&gt;&lt;P&gt;                 NO_APPLICATION_LOG                         "&lt;/P&gt;&lt;P&gt;                 MASSSAVEINFOS         "wk/40c&lt;/P&gt;&lt;P&gt;              CHANGING                                      "&lt;/P&gt;&lt;P&gt;                 WORKFLOW_RESULT.                           "&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              PERFORM HANDLE_ERROR&lt;/P&gt;&lt;P&gt;                          TABLES&lt;/P&gt;&lt;P&gt;                             IDOC_CONTRL&lt;/P&gt;&lt;P&gt;                             IDOC_STATUS&lt;/P&gt;&lt;P&gt;                             RETURN_VARIABLES&lt;/P&gt;&lt;P&gt;                             T_MERRDAT&lt;/P&gt;&lt;P&gt;                             T_IDOC_ROLLNO     "JH/4.0C/KPr100004993&lt;/P&gt;&lt;P&gt;                          USING&lt;/P&gt;&lt;P&gt;                             APPLICATION_SUBRC&lt;/P&gt;&lt;P&gt;                          CHANGING&lt;/P&gt;&lt;P&gt;                             WORKFLOW_RESULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_IDOC_ROLLNO BY ROLLNO. "note 315124&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;React on general error&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: I_MERRDAT LIKE MERRDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF GENERAL_SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGTY = 'E'.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGID = SY-MSGID.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGNO = SY-MSGNO.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGV1 = SY-MSGV1.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGV2 = SY-MSGV2.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGV3 = SY-MSGV3.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGV4 = SY-MSGV4.&lt;/P&gt;&lt;P&gt;    APPEND I_MERRDAT TO T_MERRDAT.&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;  LOOP AT T_MERRDAT INTO  I_MERRDAT&lt;/P&gt;&lt;P&gt;                    WHERE MSGTY = 'S'  "success&lt;/P&gt;&lt;P&gt;                    OR    MSGTY = 'D'  "dummy&lt;/P&gt;&lt;P&gt;                    OR    MSGTY = 'I'  "Information " //br011097 zu 3.1I&lt;/P&gt;&lt;P&gt;                    OR    MSGTY = 'H'  "dummy       " 4.0&lt;/P&gt;&lt;P&gt;                    OR    MSGTY = 'W'. "warning&lt;/P&gt;&lt;P&gt;    DELETE T_MERRDAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  handle_error_ext&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM HANDLE_ERROR_EXT&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;           IDOC_CONTRL                   STRUCTURE EDIDC&lt;/P&gt;&lt;P&gt;           IDOC_STATUS                   STRUCTURE BDIDOCSTAT&lt;/P&gt;&lt;P&gt;           RETURN_VARIABLES              STRUCTURE BDWFRETVAR&lt;/P&gt;&lt;P&gt;           T_MERRDAT                     STRUCTURE MERRDAT&lt;/P&gt;&lt;P&gt;           IDOC_TRANC                    STRUCTURE MATIDOCTRANC&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;JH/02.02.98/4.0C  KPr100004993 (Anfang)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;           T_IDOC_ROLLNO                 STRUCTURE T_IDOC_ROLLNO&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;JH/02.02.98/4.0C  KPr100004993 (Ende)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        USING&lt;/P&gt;&lt;P&gt;           GENERAL_SUBRC                 LIKE SY-SUBRC&lt;/P&gt;&lt;P&gt;           NO_APPLICATION_LOG            LIKE SY-DATAR&lt;/P&gt;&lt;P&gt;           MASSSAVEINFOS                 LIKE MASSSAVINF&lt;/P&gt;&lt;P&gt;        CHANGING&lt;/P&gt;&lt;P&gt;           WORKFLOW_RESULT               LIKE BDWF_PARAM-RESULT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA FLAG_ERROR_HAPPENED.&lt;/P&gt;&lt;P&gt;  DATA I_MERRDAT LIKE MERRDAT.&lt;/P&gt;&lt;P&gt;  DATA IDOC_INDEX_2_SUBRC LIKE SY-SUBRC.&lt;/P&gt;&lt;P&gt;  DATA AL_HANDLES TYPE BAL_T_LOGH. "//br99&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT T_IDOC_ROLLNO BY ROLLNO.                        "note 315124&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;React on general error&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF GENERAL_SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    REFRESH T_MERRDAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  i_merrdat-tranc = 0.                              " //br261197&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE IDOC_TRANC INDEX 1.     " zu 40b&lt;/P&gt;&lt;P&gt;    I_MERRDAT-TRANC = IDOC_TRANC-FIRST_TRANC_IDOC.          "&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGTY = 'E'.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGID = SY-MSGID.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGNO = SY-MSGNO.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGV1 = SY-MSGV1. I_MERRDAT-MSGV2 = SY-MSGV2.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGV3 = SY-MSGV3. I_MERRDAT-MSGV4 = SY-MSGV4.&lt;/P&gt;&lt;P&gt;    APPEND I_MERRDAT TO T_MERRDAT.&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;DATA: C_TRUE,&lt;/P&gt;&lt;P&gt;      C_FALSE VALUE 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If error happened ==&amp;gt; Rollback whole work....&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT T_MERRDAT INTO I_MERRDAT WHERE MSGTY NA 'SDHWI'.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    FLAG_ERROR_HAPPENED = C_TRUE.&lt;/P&gt;&lt;P&gt;    ROLLBACK WORK.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    FLAG_ERROR_HAPPENED = C_FALSE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;----------------------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set IDOC status&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;two cases:&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;single IDOC-processing: ==&amp;gt; error can be written in IDOC status&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;package processing ==&amp;gt; anononymous "package error" for all IDOCs&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;----------------------------------------------------------------------&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE IDOC_CONTRL INDEX 2.&lt;/P&gt;&lt;P&gt;  IDOC_INDEX_2_SUBRC = SY-SUBRC.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    IF 1 = 2.                          "//br40&lt;/P&gt;&lt;P&gt;      MESSAGE E051(B1).                                     "&lt;/P&gt;&lt;P&gt;    ENDIF.                                                  "&lt;/P&gt;&lt;P&gt;    CLEAR I_MERRDAT.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGID = 'B1'.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGTY = 'E'.&lt;/P&gt;&lt;P&gt;    I_MERRDAT-MSGNO = '051'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF IDOC_INDEX_2_SUBRC NE 0 OR FLAG_ERROR_HAPPENED = C_FALSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Nur in diesen Fällen wird Application Log geschrieben&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Delete all Successes and Dummy records from t_merrdat&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DELETE t_merrdat WHERE msgty = 'S'  "success         " testweise&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   OR    msgty = 'D'. "dummy           "&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT T_MERRDAT INTO I_MERRDAT WHERE MSGTY = 'D'.     "&lt;/P&gt;&lt;P&gt;      I_MERRDAT-MSGTY = 'S'.                                "&lt;/P&gt;&lt;P&gt;      MODIFY T_MERRDAT FROM I_MERRDAT.                      "&lt;/P&gt;&lt;P&gt;    ENDLOOP.                                                "&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WORKFLOW_RESULT = 0.&lt;/P&gt;&lt;P&gt;  LOOP AT IDOC_CONTRL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Set IDOC status&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CLEAR IDOC_STATUS.&lt;/P&gt;&lt;P&gt;    IDOC_STATUS-DOCNUM = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;    IF FLAG_ERROR_HAPPENED = C_FALSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Application log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      PERFORM WRITE_APPL_LOG TABLES IDOC_TRANC&lt;/P&gt;&lt;P&gt;                                    T_MERRDAT&lt;/P&gt;&lt;P&gt;                                    IDOC_STATUS&lt;/P&gt;&lt;P&gt;                             USING  IDOC_CONTRL&lt;/P&gt;&lt;P&gt;                                    FLAG_ERROR_HAPPENED&lt;/P&gt;&lt;P&gt;                                    NO_APPLICATION_LOG&lt;/P&gt;&lt;P&gt;                                    MASSSAVEINFOS&lt;/P&gt;&lt;P&gt;                                    AL_HANDLES.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    idoc_status-status = '53'.       "OK!&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    APPEND idoc_status.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;JH/02.02.98/4.0C  KPr100004993 (Anfang)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Fill Return variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR RETURN_VARIABLES.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-WF_PARAM = 'Processed_IDOCs'.&lt;/P&gt;&lt;P&gt;      APPEND RETURN_VARIABLES.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Verknüpfungseintrag anlegen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      READ TABLE T_IDOC_ROLLNO WITH KEY ROLLNO = IDOC_CONTRL-DOCNUM&lt;/P&gt;&lt;P&gt;                              BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;        RETURN_VARIABLES-DOC_NUMBER = T_IDOC_ROLLNO-ROLLNO.&lt;/P&gt;&lt;P&gt;        RETURN_VARIABLES-WF_PARAM = 'Appl_Objects'.&lt;/P&gt;&lt;P&gt;        APPEND RETURN_VARIABLES.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;JH/02.02.98/4.0C  KPr100004993 (Ende)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      IF IDOC_INDEX_2_SUBRC NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Application Log&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        PERFORM WRITE_APPL_LOG TABLES IDOC_TRANC&lt;/P&gt;&lt;P&gt;                                      T_MERRDAT&lt;/P&gt;&lt;P&gt;                                      IDOC_STATUS&lt;/P&gt;&lt;P&gt;                               USING  IDOC_CONTRL&lt;/P&gt;&lt;P&gt;                                      FLAG_ERROR_HAPPENED&lt;/P&gt;&lt;P&gt;                                      NO_APPLICATION_LOG&lt;/P&gt;&lt;P&gt;                                      MASSSAVEINFOS&lt;/P&gt;&lt;P&gt;                                      AL_HANDLES.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGID = I_MERRDAT-MSGID.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGTY = I_MERRDAT-MSGTY.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGNO = I_MERRDAT-MSGNO.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGV1 = I_MERRDAT-MSGV1.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGV2 = I_MERRDAT-MSGV2.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGV3 = I_MERRDAT-MSGV3.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-MSGV4 = I_MERRDAT-MSGV4.&lt;/P&gt;&lt;P&gt;        IDOC_STATUS-STATUS = '51'.     "ERROR!&lt;/P&gt;&lt;P&gt;        APPEND IDOC_STATUS.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    Fill Return variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR RETURN_VARIABLES.&lt;/P&gt;&lt;P&gt;      RETURN_VARIABLES-DOC_NUMBER = IDOC_CONTRL-DOCNUM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    return_variables-wf_param = c_wf_par_processed_idocs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      RETURN_VARIABLES-WF_PARAM = 'Error_IDOCs'.&lt;/P&gt;&lt;P&gt;      APPEND RETURN_VARIABLES.&lt;/P&gt;&lt;P&gt;      WORKFLOW_RESULT = 99999.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  APPEND idoc_status.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NO_APPLICATION_LOG IS INITIAL.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAL_DB_SAVE'                           "//br99&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_IN_UPDATE_TASK = ' '&lt;/P&gt;&lt;P&gt;              I_SAVE_ALL       = ' '&lt;/P&gt;&lt;P&gt;              I_T_LOG_HANDLE   = AL_HANDLES.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            LOG_NOT_FOUND    = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            SAVE_NOT_ALLOWED = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            NUMBERING_ERROR  = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            OTHERS           = 4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAL_GLB_MEMORY_REFRESH'                "//br99&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            I_AUTHORIZATION          =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              I_REFRESH_ALL            = ' '&lt;/P&gt;&lt;P&gt;              I_T_LOGS_TO_BE_REFRESHED = AL_HANDLES.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            NOT_AUTHORIZED           = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            OTHERS                   = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " handle_error&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Save, check and activate&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;11. Assigning the Inbound Function Module to Basic Type &amp;amp; Message Type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE57&lt;/P&gt;&lt;P&gt;o	Click on change, continue, continue and New Entries Button&lt;/P&gt;&lt;P&gt;o	Enter the Module as IDOC_INPUT_ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;o	Type as &amp;#147;F&amp;#148;&lt;/P&gt;&lt;P&gt;o	Basic Type as ZBAPI_STUD_IDOC&lt;/P&gt;&lt;P&gt;o	Message Type as ZBAPI_STUD_MAS.&lt;/P&gt;&lt;P&gt;o	Direction as 2&lt;/P&gt;&lt;P&gt;o	Save and back&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now Login in 810 client&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;12. Assigning the Inbound Function Module in ALE Table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code BD51&lt;/P&gt;&lt;P&gt;o	Click on continue, New Entries button&lt;/P&gt;&lt;P&gt;o	Give the Inbound Function Module IDOC_INPUT_ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;o	Give Input t. as 0 (zero)&lt;/P&gt;&lt;P&gt;o	Save and back&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;13. Creating Process Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE42&lt;/P&gt;&lt;P&gt;o	Click on Change, New Entries Button&lt;/P&gt;&lt;P&gt;o	Give Process Code name as ZSTUD, give Description &amp;amp; Save&lt;/P&gt;&lt;P&gt;o	Select Processing with ALE Services Radio button&lt;/P&gt;&lt;P&gt;o	Select Processing by Function Module Radio button&lt;/P&gt;&lt;P&gt;o	Click the ALE Table (arrow Icon) in Identification&lt;/P&gt;&lt;P&gt;o	Give the Function Module Name ZIDOC_INPUT_ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;o	Give maximum number of repeats 0&lt;/P&gt;&lt;P&gt;o	Save and back, back&lt;/P&gt;&lt;P&gt;o	Select the process code from the list &amp;amp; click on Logical Messages Icon&lt;/P&gt;&lt;P&gt;o	Give the Message Type as ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;o	Save &amp;amp; Back, Save &amp;amp; Back, Save &amp;amp; Back&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;14. Changing the Customer Distribution model in Receiving system&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code BD64&lt;/P&gt;&lt;P&gt;o	Click on change and Create model view button&lt;/P&gt;&lt;P&gt;o	Select the model view &amp;amp; click on Environment -&amp;gt; Generate Partner Profiles&lt;/P&gt;&lt;P&gt;o	Select Transfer IDOC Immediately and Trigger Immediately radio buttons&lt;/P&gt;&lt;P&gt;o	Click on Execute&lt;/P&gt;&lt;P&gt;o	You should get a list in green color which means it executed successfully.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;15. Assigning the Process Code to Message Type in Receiving System&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;o	Go to T. Code WE20&lt;/P&gt;&lt;P&gt;o	Expand Partner Type LS&lt;/P&gt;&lt;P&gt;o	Select the Partner Profile STUD_S&lt;/P&gt;&lt;P&gt;o	Double click on Message Type ZBAPI_STUD_MAS in Inbound parmtrs.&lt;/P&gt;&lt;P&gt;o	Give the Process Code as ZSTUD&lt;/P&gt;&lt;P&gt;o	Click on Trigger Immediately Radio button&lt;/P&gt;&lt;P&gt;o	Save &amp;amp; Back&lt;/P&gt;&lt;P&gt;o	Save &amp;amp; Back&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;16. Creating the Selection Program (Outbound Program)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#149;	Login in client 800.&lt;/P&gt;&lt;P&gt;&amp;#149;	Go to T. Code SE38&lt;/P&gt;&lt;P&gt;&amp;#149;	Create a Report Program as   ZSTUD_SEND with the following code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZSTUD_SEND&lt;/P&gt;&lt;P&gt;       NO STANDARD PAGE HEADING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: ZBAPI_STUD.&lt;/P&gt;&lt;P&gt;DATA: IT_STUD LIKE ZBAPI_STUD OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-H01.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_ROLLNO FOR ZBAPI_STUD-ROLLNO.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-H02.&lt;/P&gt;&lt;P&gt;PARAMETERS:  P_MESTYP LIKE EDIDC-MESTYP,&lt;/P&gt;&lt;P&gt;             P_RCVPRN LIKE TBDLST-LOGSYS.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN:END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  PERFORM CREATE_STUDENT.&lt;/P&gt;&lt;P&gt;  PERFORM CREATE_IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_STUDENT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      sending student&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM CREATE_STUDENT.&lt;/P&gt;&lt;P&gt;SELECT * FROM ZBAPI_STUD&lt;/P&gt;&lt;P&gt;   INTO TABLE IT_STUD&lt;/P&gt;&lt;P&gt;   WHERE ROLLNO IN S_ROLLNO.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_STUDENT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_IDOC&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      IDOC Creation&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM CREATE_IDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IMAS_DATA LIKE EDIDD OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       IMAS_CON LIKE EDIDC OCCURS 10 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;       ICOM_CON LIKE EDIDC OCCURS 10 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IMAS_CON-RCVPRT = 'LS'.&lt;/P&gt;&lt;P&gt;IMAS_CON-RCVPRN = P_RCVPRN.&lt;/P&gt;&lt;P&gt;IMAS_CON-IDOCTP = 'ZBAPI_STUD_IDOC'.&lt;/P&gt;&lt;P&gt;IMAS_CON-MESTYP = P_MESTYP.&lt;/P&gt;&lt;P&gt;IMAS_CON-DIRECT = 1.&lt;/P&gt;&lt;P&gt;APPEND IMAS_CON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT IT_STUD.&lt;/P&gt;&lt;P&gt;  IMAS_DATA-SEGNAM = 'ZBAPI_STUD_SEG'.&lt;/P&gt;&lt;P&gt;  IMAS_DATA-SDATA = IT_STUD.&lt;/P&gt;&lt;P&gt;  APPEND IMAS_DATA.&lt;/P&gt;&lt;P&gt;ENDLOOP.&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;          MASTER_IDOC_CONTROL            = IMAS_CON&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        OBJ_TYPE                       = ''&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        CHNUM                          = ''&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TABLES&lt;/P&gt;&lt;P&gt;          COMMUNICATION_IDOC_CONTROL     = ICOM_CON&lt;/P&gt;&lt;P&gt;          MASTER_IDOC_DATA               = IMAS_DATA&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ERROR_IN_IDOC_CONTROL          = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ERROR_WRITING_IDOC_STATUS      = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        ERROR_IN_IDOC_DATA             = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        SENDING_LOGICAL_SYSTEM_UNKNOWN = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        OTHERS                         = 5&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDIF.&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;LOOP AT  ICOM_CON.&lt;/P&gt;&lt;P&gt;  WRITE &lt;span class="lia-unicode-emoji" title=":confused_face:"&gt;😕&lt;/span&gt; 'IDOC: ', ICOM_CON-DOCNUM, 'CREATED SUCCESSFULLY'.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CREATE_IDOC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;17. Transferring the student records from 800 to 810 client &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#149;	Execute Report Program   ZSTUD_SEND&lt;/P&gt;&lt;P&gt;&amp;#149;	Give the Range of Roll Nos to Transfer&lt;/P&gt;&lt;P&gt;&amp;#149;	Give Message Type as    ZBAPI_STUD_MAS&lt;/P&gt;&lt;P&gt;&amp;#149;	Give Receiver Logical system as   STUD_R&lt;/P&gt;&lt;P&gt;&amp;#149;	Execute&lt;/P&gt;&lt;P&gt;&amp;#149;	You should get the IDOC Number&lt;/P&gt;&lt;P&gt;&amp;#149;	Take the IDOC Number and go to T. Code WE05 &amp;amp; Execute&lt;/P&gt;&lt;P&gt;&amp;#149;	In Outbox you can see the IDOC Status&lt;/P&gt;&lt;P&gt;&amp;#149;	Select the status record in left side window&lt;/P&gt;&lt;P&gt;&amp;#149;	Double click on the Status record in right side window&lt;/P&gt;&lt;P&gt;&amp;#149;	You can see the Control Record, Data Record and Status Records for that IDOC&lt;/P&gt;&lt;P&gt;&amp;#149;	If the ICON is green and the status code is 3, it means the IDOC is passed to PORT Successfully.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now Login in 810 client&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;#149;	Go to T. Code WE05 &amp;amp; Execute&lt;/P&gt;&lt;P&gt;&amp;#149;	You can see the status record in left side window&lt;/P&gt;&lt;P&gt;&amp;#149;	If the status no is 53 and color is green, it means the IDOC is Posted to Application successfully.&lt;/P&gt;&lt;P&gt;&amp;#149;	You can see the Log Information by double clicking on the status record in right side window.&lt;/P&gt;&lt;P&gt;&amp;#149;	Now in left side window, you can see the Control Record, Data Record &amp;amp; Status Record of the IDOC&lt;/P&gt;&lt;P&gt;&amp;#149;	Now go to T. Code SE16&lt;/P&gt;&lt;P&gt;&amp;#149;	Give the table name ZBAPI_STUD &amp;amp; press F7&lt;/P&gt;&lt;P&gt;&amp;#149;	See the contents of the table&lt;/P&gt;&lt;P&gt;&amp;#149;	The table is updated with the students records transferred from 800 client with our selection program.&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;Jagadeesh.G&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Apr 2008 06:23:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679312#M886030</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-04-18T06:23:29Z</dc:date>
    </item>
    <item>
      <title>Re: CUSTOM IDOC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679313#M886031</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="GingerNoCheckStart"&gt;&lt;/SPAN&gt;&lt;SPAN class="GingerNoCheckStart"&gt;&lt;/SPAN&gt;Hi Jagadeesh,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you know how to do mapping between IDoc and BDoc...???&lt;BR /&gt;Also How to create Custom BDoc.....??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;ShashanK MarathE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 25 Jul 2013 04:23:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/custom-idoc/m-p/3679313#M886031</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-07-25T04:23:46Z</dc:date>
    </item>
  </channel>
</rss>

