ABAP plus EDI/IDOC

Hi Guys,
Can anyone of you please tell me what all is required to learn about ALE/EDI and Idoc for an ABAP consultant.
Thanks,
Rajeev !!

Please check this online document for ALE and IDoc.
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDISC/CAEDISCAP_STC.pdf
http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCSRVEDI/CAEDI.pdf
EDI
Electronic Data Interchange
Cross-company exchange of electronic data (for example business documents) between domestic and international business partners who use a variety of hardware, software, and communication services. The data involved is formatted according to predefined standards. In addition to this, SAP ALE technology is available for data exchange within a company.
Refer
http://www.erpgenie.com/sapedi/index.htm
http://help.sap.com/saphelp_nw04/helpdata/en/72/c18ee5546a11d182cc0000e829fbfe/frameset.htm
https://www.2020software.com/products/Fourth_Shift_Edition_for_SAP_Business_One_Electronic_Data_Interchange.asp
http://downloads-zdnet.com.com/SoftwareandWebDevelopment/SoftwareDevelopmentTools/ElectronicData+Interchange/
http://www.erpgenie.com/sapedi/index.htm
http://www.kostal.com/english/downloads/EDI_AGB_eng.pdfd
EDI is nothing but Electronic data interchange. SAP will support EDI through Intermediate documents (IDOCS).
EDI (Electronic Document interchange) - EDI is the electronic exchange of business documents between the computer systems of business partners, using a standard format over a communication network.
EDI is also called paperless exchange.
Advantages:
Reduced Data entry errors
Reduced processing time
Availabilty of data in electonic form
Reduced paperwork
Reduced Cost
Reduced inventories and better planning
Standard means of communications
Better business process
EDI has two process
1. Outbound process
2. Inbound process
OP:
1.Application document is created.
2.IDOC is generated
3.IDoc is transferred from SAP to Operating system layer
4.Idoc is converted into EDI standards
5.Edi document is transmitted to the business partner
6.The Edi Subsystem report status to SAP
IP:
1.EDI transmission received
2.EDI document is converted into an IDOC
3.IDOC is transferred to the SAP layer
4.The application document is created
5.The application document can be viewed.
EDI FLOW :
Here is some thing which helps you and here the purchase order is taken as example too..
Electronic Data Interchange, or EDI, is the electronic exchange of business data. Using a standard format, EDI provides a method of transmitting business data from one computer to another, without the need to re-key data. This electronic link can result in more effective business transactions. With EDI, paper documents such as invoices can be replaced with electronic transmissions, thus time is saved, and the potential for error is minimized. Data can be exchanged at any time. Related business expenses, such as postage, printing, phone calls, and handling, can also be significantly reduced. EDI can aid in the support of manufacturing efforts, such as Just-in-Time and Third Party Warehousing, and financial efforts, such as Electronic Payments.
What parts of the business cycle can be supported by EDI?
Any business documents that are currently exchanged using paper can be converted to an EDI. Standards. Standards include ANSI X12 and XML/EDI are primarily used in the United States, while EDIFACT is used in Europe and Asia.
How does EDI get started?
EDI gets started when one company contacts another expressing interest in trading business documents electronically using Electronic Data Interchange. The two companies must first determine each other's EDI capabilities. If you do not already know your EDI capabilities, we have prepared a questionnaire to help you determine them. If you are already EDI capable, we will coordinate with your technical staff to determine a testing plan. Upon completion of testing the EDI documents, the appropriate business personnel will set a production start date to begin the exchange of EDI business data. If you are not EDI capable, we recommend you first obtain a commitment from your upper management. Your company will need to allocate resources and capital for software, hardware, testing, possible programming, and training.
What is the flow of EDI?
The flow of EDI depends on the sophistication of your systems and your EDI software. If you have internal purchasing/order entry systems, you will need interface programs that can extract and insert data out of and into these systems. EDI programs that interface with your internal systems are preferred over software that requires re-keying of data. Embassy Software specializes in seemless interface between EDI and your back office systems. Using a purchase order as an example of a business document your customer would send that PO electronically (850) to you. It could be sent either through a VAN (Value Added Network) or through an FTP server. You would take that 850 and convert it either into and ODBC database, a flat file or XML document to be imported into your Order System with the use of EDI Software such as PassportXchange.. Using EDI communication software, which is part of the PassportXchange package you would pull down data at set intervals from the VAN or FTP. These documents are then processed through EDI translation software and output to our order entry system. Finally, an EDI document called a functional acknowledgment (997) is sent to your customer.

Similar Messages

  • Interface between sap to non sap using edi idoc

    hello abaper's,
                         i have requirment on creating Interface program for downloading files(PO)  from Non-sap system  to sap system using EDI Idoc techniques.pls give me a good tips for this requirment..
    With Regards
    MurugeshRajeev

    Hello,
            First of all, we'll need to identify as to what we want to do with the PO Data. For example, If we want to Create Sales Order, there is already a Posting Program available with the Name IDOC_INPUT_ORDERS (FM). This is useful for Creating a Sales Order automatically whenever a PO IDoc is received.
    Here is the Information for processing Standard IDoc.
    1. WE30 - ORDERS05 - IDoc  Type
    2. WE31 - Segment Definition for the IDoc Type
    3. WE81 - Logical Message Types (ORDERS)
    4. WE82 - Assigning the Message Type to IDoc Type
    5. WE42 - Define Process Code
    6. BD51 - If you want to Code a Custom Function Module,
                  then after creating it, you need to register the same
                  Function Module in this Transaction Code.
    7. WE57 - Assign Message Type / IDoc Type / FM group.
    8. WE20 - Partner Profiles
    9. WE21 - Port Definitions
    Hope this information was helpful.
    Thanks and Regards,
    Venkat Phani Prasad Konduri

  • ALE/EDI/IDOC  Material

    Hi Experts,
    i never worked on ALE/EDI/IDOC .. Please send me the links and material about ALE/EDI/IDOC.
    Thanks in Advance
    Thanks,
    Venkatt.

    Hi
      Look at this links
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.allsaplinks.com/idoc_sample.html
    ALE/ IDOC/ XML
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://www.thespot4sap.com/Articles/SAP_XML_Business_Integration.asp
    http://help.sap.com/saphelp_srm30/helpdata/en/72/0fe1385bed2815e10000000a114084/content.htm
    IDOC Convertion
    /people/kevin.wilson2/blog/2005/12/07/changing-fields-in-an-idoc-segment
    http://www.esnips.com/web/ALEIDoc
    Regards
    Haritha.

  • EDI: IDoc ' IDOC No ' is already open in process mode

    Hi,
    I have a File to IDOC scenario. Everything is fine in PI. But in R/3, (WE05) there is an error. Please suggest what might be the problem.
    IDoc: <IDOC No> Status: Application document not posted
    EDI: IDoc <IDOC No>' is already open in process mode
    Best Regards,
    Madan Agrawal

    Madan Agrawal,
    I wonder whether this issue is related to SAP XI. It seems related to this thread: Re: Inbound Idoc not processed gives an error message
    There the problem is related to some ABAP code is SAP R/3.
    Kind regards,
    Koen

  • EDI - IDoc Help

    Hi ABAP and EDI experts,
    I have a request, I am a trainer. I am working on a Training Software, not real time. Is there any way that i can create and IDoc and see. Kindly provide me any such.
    Help will be surely rewarded.
    Thanks
    Chinna

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

  • What is Ale, Edi,IDoc tech for sap

    Hi all,
    What is Ale, Edi,IDoc tech for sap?
    Thanks.

    hi deniz,
    <b>ALE</b>
    ALE
    Triggering OB via Change Pointers:
          When an application make a changes in any object an entry is made in CDHDR and CDPOS tables. When any change is made the SMD(Shared Master Data) Tool checks that ALE setting and create a change pointer in the BDCP table that will point to CDHDR table. A standard program RBDMIDOC is scheduled to run on a periodic basis to evaluate the change pointers for a message type and start the ALE process to distribute to the appropriate destinations. The program will read the table TBDME to determine the IDoc selection program it is MASTERIDOC_CREATE_SMD_MATMAS in the case of MATMAS.
    Outbound Process:
    When the stand-alone program or the Transaction(BD10) is run, it calls the Idoc
    Selection program MASTERIDOC_CREATE_REQ_MATCOR in the case of MATMAS, which is hard coded in the program. The Idoc Selection program reads the master data and create a master Idoc and stores it in the memory. The function module then calls ALE layer by using another function module MASTER_IDOC_DISTRIBUTE which is invoked inside it. Then Idoc filtering, Segment filtering etc.. are done in the ALE layer.
         To dispatch the Idoc to the destination system, the system reads the partner profile to determine the destination system. Then the sending system calls the function module INBOUND_IDOC_PROCESS asynchronously on the remote system and passes the Idoc via memory buffer.
    Asynchronous Communication:
    The data  that is IDocs and the function module are  stored in ARFCDATA and ARFCSSTATE tables. The function module ARFC_DEST_SHIP will transports data to target System and the program ARFC_EXCUTE will execute the stored function Module. If communication problem occurs RSARFCSE program is automatically scheduled., if successful, entries in the tables ARFCSSTATE and ARFCDATA will be deleted.
    Inbound Process:
    The INBOUND_IDOC_PROCESS program is triggered as a result of RFC from the Sending System, the Idoc to be sent is passed as parameter for the function module
    In the partner profile if Process immediately is selected then RBDAPP01 program is executed. It will read the process code(MATM) from the Partner profile, which in turn invoke the function module IDOC_INPUT_MATMAS for MATMAS
         Function module will call the corresponding SAP transaction using call transaction or uses direct programs to convert the Idoc to Application document .
    In the table TBD51 there will be entries to find which option is used.
    Transactions:
    SALE - IMG ALE Configuration root
    •     WE20 - Manually maintain partner profiles
    •     BD64 - Maintain customer distribution model
    •     BD71 - Distribute customer distribution model
    •     SM59 - Create RFC Destinations
    •     BDM5 - Consistency check (Transaction scenarios)
    •     BD82 – Generate Partner Profiles
    •     BD61 – Activate Change Pointers - Globally
    •     BD50 – Activate Change Pointer for Msg Type
    •     BD52 – Activate change pointer per change.doc object
    •     BD59 – Allocation object type -> IDOC type
    •     BD56 – Maintain IDOC Segment Filters
    •     BD53 – Reduction of Message Types
    •     BD21 – Select Change Pointer
    •     BD87 – Status Monitor for ALE Messages
    •     SALE – Display ALE Customizing     WEDI - ALE IDoc Administration
    •     WE60 - IDoc documentation
    •     SARA - IDoc archiving (Object type IDOC)
    •     WE47 - IDoc status maintenance
    •     WE07 - IDoc statistics
    BALE - ALE Distribution Administration
    •     WE05 - IDoc overview
    •     BD87 - Inbound IDoc reprocessing
    •     BD88 - Outbound IDoc reprocessing
    •     BDM2 - IDoc Trace
    •     BDM7 - IDoc Audit Analysis
    •     BD21 - Create IDocs from change pointers
    •     SM58 - Schedule RFC Failures
    <b>EDI</b>
    EDI(Electronic Data Interchange )
    RFC DESTINATION:
                           A logical name used to identify the remote system on which a function needs to be executed.
    Partner Profile:
          It defines the characteristics of data being exchanged with the business partner.
    Partner Function:
         Role of the partner Eg:Ship-to-party,bill-to-party,etc in EDI and in ALE legacy system or remote SAP system.
    Partner type:
              The type of your business partner .
         EDI        – KU/LI
         ALE     --  LS.
    Archiving:
         -Need to archive the important transmitted document
    -Created in SARA
         -Assigned in WE20.
    PartnerProfile Tips:
    •     RSECHK07- Consistency check for Partner Profile.
    •     If you want to modify partner profile; copy it and then modify. If you can’t modify it , u have  to delete it.
    •     To move partner profile to production system choose Partner ->  Transport
    Port defintion:
         It defines the medium through which data is exchanged between systems.
    •     tRFC    -   Used by ALE
    •     FILe     -   Used by EDI
    •     R/2 system system port  – For R/2 system
    •     Internet port           - to connect with internet applications
    •     It also depends on the  receiving side. If the receiving subsystem accepts tRFC, EDI also can use tRFC.
    Remote Function modules required by Subsystem to send status and inbound idoc to SAP:
    Startrfc                                         -   Program to execute RFC – enabled Fun.mod. in SAP
    EDI_DATA_INCOMING             -   To send data as inbound
    EDI_STATUS_INCOMING         -   To send status to SAP
    RSPARAM               -   To know the gateway service of the SAP system.
    Message Control:
    •     Output controller
    •     A service program for determining the output type
    •     To generate and manage various outputs from an application and control their medium and timing of exchange.
    •     To retransmit the document without duplicating it
    Procedure:
    •     A procedure defines a set of possible outputs for an application
    •     There may be more than one procedure but only one can be active
    •     Requirement field in procedure specifies the condition which the sales docu. should reach,for sending the sales order response.
    Output type:
    Defines the characteristics and attributes of the output.
    Access Sequence :
    Defines  a sequence in which the business rules are checked using condition record of the condition table for proposing output type.
    Sapfans Q & A
    SREL_GET_NEXT_RELATIONS   -
    Function Module that will provide me the number of the document that was created by an IDoc
    RLSUB020
    Program which uses the above function module.
    Upgradation problem
    When the old version program is upgraded in to newer version(4.0b &#61664; 4.6c) the SE38 editor won’t allow u get thru’ the programs normally to get rid of this.
    Solution:
    EDIT > MODIFICATION OPERATIONS > SWITCH OFF ASSISTANT. Hit Enter on the subsequently shown Warnings window. You should now be able to maintain the code as before.
    When transporting the dialog program sometimes the links may be missing in the testing and production area. To overcome just check u have properly save your all includes and other stuff in the same request if not, do so. Other options In ver 4.6c -> Within ABAP editor try utilities/Update navigation index
    this fixes the links
    ALE( Application Link Enabling )
    Disk Mirroring:
    Changes occurring in the database should reflected to another disk that maintains a mirror image of the main disk’s contents.
    Replicas:
    Maintaining redundant data across multiple systems.
    ALE:
      It provides distributed environment to integrate non-SAP systems
      Provides guaranteed delivery of data regardless of network problem to application.
    Logical system :
         The systems involved in distributed environment  are assigned a logical name which uniquely identifies a system in a distributed  environment.
    Data Mapping:
         Conversion of a business document in IDoc format to an EDI format (and vice versa) which is performed in the subsystem.
    Message Types:
    •     Represents a business function
    •     Technical structure is the IDoc type
    •     Or can say an instance of IDoc.
    <b>IDoc  :</b>
         They are containers used to exchange data between any two process.
         It represents an IDoc type and IDoc data
         IDoc type is structure and IDoc data is an instance of it.
    <b>Pls reward if helpful.</b>

  • EDI idoc inbound statuses

    We're running SAP in a different partition from EDI (TrustedLink) on an iSeries.  I'm getting inbound documents just fine, but no inbound statuses.  I see that the status documents make it over to the SAP partition but they're not visible in WE05 - so all of my successful outbound 850s are at at status of 18 & that's it.  I've looked at authorities etc but am still missing something.  Thanks in advance if anyone can point me in the right direction.  Susan

    try this
    enter tcode we21,
    Go to system , click on status
    Then you can see the programe name , Double click on programe name, you can see ABAP editior screen.
    Then you can see go to tan and click on object directry Tab.
    You can see package for which object is created.
    Now use tocde Smod, select F4 for enchancement , in package you can enter SED.
    You can get follwing user exit
    Exit name Short text
    SIDOC001 Customer function for module pool EDI1
    SIDOC002 CA-EDI: Exits in Function Group EDI6 (Partner Profile)
    Technically all EDI-IDOC inbound and outbound programs are wirtten as FUCNTION MODUELS.In the every fucntion moudle you can find large number of user-exits.For outbound idoc after filling every segment you have a user exit like CALL CUSTOMER FUNCITON '001'.You can find by using the keyword search CALL CUSTOMER FUNCITON in that funciton module.
    In inbound also you can find after every segment you can find user-exit.
    For funciton module search you can search in se37 by using idoc type,For example ORDERS01 search in se37 by using *ORDERS8.
    regards,
    sapsd

  • Type tree files for EDI/IDocs??

    Hi all,
    What are type tree files for EDI/IDocs??Please refer to  documents/files or threads if needed...
    Thanks,
    Charles.

    Hi Charles,
                     Check these links :
    http://www.sapgenie.com/whitepapers/ale.htm
    http://www.sapgenie.com/ale/index.htm
    http://www.sappoint.com/abap.html
    http://www.sapbrain.com/TUTORIALS/TECHNICAL/ALE_tutorial.html
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEIO/BCMIDALEIO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDALEPRO/BCMIDALEPRO.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEQS/CABFAALEQS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFAALEHR/CABFAALEHR_ALE_QS.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/ECPCA/ECPCA_ALE_154.pdf
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    http://www.netweaverguru.com/EDI/HTML/IDocBook.htm
    http://www.sapgenie.com/sapedi/index.htm
    http://www.sappoint.com/abap/ale.pdf
    http://www.sappoint.com/abap/ale2.pdf
    http://www.sapgenie.com/sapedi/idoc_abap.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/0b/2a60bb507d11d18ee90000e8366fc2/frameset.htm
    http://help.sap.com/saphelp_erp2005/helpdata/en/78/217da751ce11d189570000e829fbbd/frameset.htm
    http://www.allsaplinks.com/idoc_sample.html
    http://www.sappoint.com/abap.html
    http://help.sap.com/saphelp_erp2004/helpdata/en/dc/6b835943d711d1893e0000e8323c4f/content.htm
    http://www.sapgenie.com/sapgenie/docs/ale_scenario_development_procedure.doc
    http://edocs.bea.com/elink/adapter/r3/userhtm/ale.htm#1008419
    Reward points if helpful.
    Regards,
    Hemant

  • EDI IDOC generation for interface with Vendor software help needed.

    EDI IDOC help needed.
    We are NOT an EDI shop, but have a project to output data to Sales Force.com
    Sales Force requests IDOC output - eg. 810 Outbound Invoice.
    We will need to do a historical load of Orders/Quotes/Invoices from the past 2 years.
    Is there a function module or series of FM's that are used to generate the E2EDKxxxxx type segments?
    I have been testing using the IDOC_OUTPUT_INVOIC and IDOC_OUTPUT_ORDRSP FM's, but they generate segments begining with E1EDKxxxxx.
    Basicall we have a report program that the user enteres in the date range of Order/Quotes/Invoices they wish to extract, the the program needs to output a flat file (.txt) on the server which is then picked up by Sales Force.com.
    Also, is there a way to have in the Partner Profile a generic Partner under the "Type KU" that can be used for all orders/invoices so I don't have to create a KU Partner Type for each and every Sold-To customer we have?
    I am very new to EDI so any help would be greatly appreciated.
    Thanks.
    Scott.

    Hi Scott,
    We will need to do a historical load of Orders/Quotes/Invoices from the past 2 years.
    I know it's very tempting to use an interface for such loads if you anyhow have to create one. However, often the volume alone speaks against interface usage for such scenarios.
    Is there a function module or series of FM's that are used to generate the E2EDKxxxxx type segments? I have been testing using the IDOC_OUTPUT_INVOIC and IDOC_OUTPUT_ORDRSP FM's, but they generate segments begining with E1EDKxxxxx.
    Well, the E2* segments basically reflect the external name of the IDoc segment, whereas the function modules you're referring to basically just create an internal version of the IDoc. Once the IDoc framework then passes the IDocs to the partner, the segment names usually (depends on how the IDocs are passed on) get converted to their external name. If there are multiple versions of a segment, then the version number will be appended to the segment name.
    Note that IDoc segment definitions are only partially stored in the data dictionary. If you want to see all versions you should always use transaction WE31 to look at segments. There you can also see for example for E1EDK01 the several versions and when you then use in SE37 function module SEGMENT_EXTERNAL_NAME_GET you will see what SAP produces as the external name for segment E1EDK01. This function module is basically the one that handles the segment name translations.
    Ignore the comments for subsystem, this is basically an option in SAP to possibly trigger further external tools (e.g. mapping etc.) for handling the outbound IDocs.
    Again, the funny thing is that via the WE30 transaction, if i put in INVOIC02 as the Obj. name and see the segments, i can see that E2EDK01 there is a version 005, but if i go to SE11 and put in E2EDK01005 structure line and i get a "not found". We just have up to E2EDK01002.
    In the old days SAP used to generate E1, E2 and E3* structures in the data dictionary (SE11). The E1* structure reflected the character type representation of an IDoc segment, whereas the other two (definition and documentation) contained actual references to data elements (e.g. if you used a quantity field). However, in newer releases those dictionary structures (E2* & E3*) are no longer generated, because they're superfluous (meta data defined via WE31 is sufficient).
    Cheers, harald

  • SAP R/3 Mapping with EDI IDOC's 846 and 852 (Outbound)

    Hi:
    How are the following EDI IDOC Types mapped in SAP - R/3?
    1. Inventory Inquiry / Advice (846)
    2. Product Activity Data (852)
    What is the basic type, message type, idoc type that has to be used
    in both the cases - outbound based ones.
    This is a consumer products industry and not a retail industry. This
    is a hypothetical scenario where the end customer would like to see
    the price and the stock from all the plants and then place an order
    (846); and also see what is being planned in aparticaular plant for
    a planning period (852). The cycle countings are carried out based
    on the type of product in question and SAP-R/3 has been set up for
    this. What is the trigger point for the enitre activitiy to take
    place. Any valuable suggestions or guidelines are most welcome.
    Regards
    Rohit

    Check this link and see if it leads you somewhere.
    http://sap.ittoolbox.com/groups/technical-functional/sap-interfaces/information-on-the-edi-idoc-types-1739410
    http://www.jt77.com/CRM/related-discussion-1111.html
    Regards,
    Ravi Kanth Talagana

  • Find status of a sales order created using EDI IDOC

    Hello everyone,
       I have IDOC created for incoming sales order using FM 'IDOC_INPUT_ORDERS'.
    When a sales order is created manually iva VA01, it prevents the order from being saved when a specific error is hit unless user resolved it first.   However, when the order is created via EDI IDOC, the error is hit and it cannot be created.  In the sapmv45a program, i will to say that if it is an EDI IDoc transacion for the order, let it bypass the error and create the order.  
         Can anyone pls tell me how to check the status of a sales order being created using EDI IDOC ?
    Sy-batch does not work.
    Thank you in advance.
    Joyce

    Joyce,
    If you pay attention the code in FM it is exporting value of da_edi_sign to memory id "SD_EDI_ACTIVE" stored in constant "da_memory_id". ('CONSTANTS: da_memory_id(13) VALUE 'SD_EDI_ACTIVE'.)
    In your program you have two you have two options.
    1. Declare a constant as in the FM and use that as mentioned below:  
    CONSTANTS: da_memory_id(13) VALUE 'SD_EDI_ACTIVE'.
    IMPORT v_memid FROM MEMORY ID da_memory_id.
    2. Hardcode memory id as below:
    IMPORT v_memid FROM MEMORY ID 'SD_EDI_ACTIVE'.
    Hope this resolves your problem.
    Gajendra

  • I/B EDI IDoC for Service Ent Sheet & Goods Receipt against PO SAP ECC 6.04

    Hi EDI Experts ,
    We Have ECC 6.04. We are planning to have  inbound  EDI IDoC for Goods Receipt against PO & Service Ent Sheet .
    1.For Goods Receipt against PO  I have identified below Message type:
    MBGMCR / MBGMCR03 - Used in SRM Confirmation IDOC from SRM & SUS
    WMMBXY/  WMMBID02- Messages Types - I remember used in last Project
    Can anyone please suggest/confirm me , exactly which is most used and most suitable ?
    2. For Service Ent Sheet  inbound posting I unable to find any IDoC and never heard same.
    ( I learnet that from SUS Service entry posted in ECC by eSOA with PI ( XML).... or in other cases it may created using some BAPi)
    What is exact fact ?  Is there  Service entry sheet can not pe posted by IDOC ?  If yes, how ? if now, what is the best options ?
    Thanks in advance.
    Regards
    NAP

    Hi ,
    In MM-SUS deployment,
    Until SRM 7.0 with ECC 6.04,  Service procurement using MM-SRV & SAP SUS, was not  provided. But,  as of “SRM 7.0, only in combination with ECC 6.04 ”,  SAP standardized the “Service Procurement” scenario along with Material Procurement  for MM-SUS deployment  and  so fully supported for Material & Services .
    Please refer the Note 868192 & 1269540 and Technical scenario matrix ( criterion 18) document for details.
    So for there is Enterprise Services ( eSOA) and not IDOC. Please see below messages for Services.
    Create Purchase Order
    PurchaseOrderERPRequest_Out_V
    Outbound
    Change Purchase Order
    PurchaseOrderERPRequest_Out_V1
    Outbound
    Receives Service Entry Sheet
    ServiceAcknowledgementERPCreateRequest_In
    Inbound
    Approve Service Entry Sheet-> Send Approval Note
    ServiceAcknowledgementERPConfirmation_Out
    Outbound

  • How to Send Purchase Order through EDI/IDOC.

    Hi Experts,
    We are using SAP ECC.5. And intending to send the Purchase Order to Supplier through EDI/IDOC and Receive the Inbound Acknowledgement.
    Appreciate, if you could help me, the required Configuration details for outbound and inbound (PO & Acknowledgement).
    Reg
    Kumar

    Hi Kiran
    Many thanks for the response. It is true that by changing the message type to EDI can generate idoc. What is not clear is any other config we need to do interms of Message generation, Resubmitting failed IDOC etc..
    Out requirement is that we would generate the IDOC for New and changed docs and send to external EDI converter.
    Inbound, receive the IDoc and post the acknowledgement.
    Appreciate, if you could forward any document link which can explain the details.
    Reg
    Kumar

  • EDI IDOC Configuration steps

    Hi,
    Can anyone provide me the step by step configuration of EDI IDOC ofr both incoming and outgoing mainly for PO.
    Thanks
    Regards,
    Srivatsan

    hi,
    Refer  SAP Note No. 455140  
    Refer  SAP Note No. 546147  
    Refer  SAP Note No. 607108  
    Refer  SAP Note No. 779972
    May be it will help you
    Thanks & Regards,
    Kiran

  • EDI / IDoc : While posting inbound IDocs, IDocs gets into status 56

    EDI / IDoc : While posting inbound IDocs, IDocs gets into status 56 with message "EDI: Sender port in control record is invalid".
    But if I reprocess the same idoc without doing any changes using RBDINPUT and select radio button to processs idocs for status 56, then it gets successfully posted.
    So not getting why this stucks for the first time.
    Thanks in Advance..........

    i fixed this my self

Maybe you are looking for

  • How to sync Outlook (Exchange) with iCloud

    Hi there, I just want to share an approach that made my day. My objective: I want to have my contacts available on iCloud and all attached Macs. My issue: The primary source of information is my Exchange account so I have the data available on my iPh

  • Concept of valuation

    Dear All, Please throw some light on the concept of valuation and explain with simple example difference between lowest value principle, strict lowest value principle and other valuation method. I tried to find it on help.sap but I'm not able to comp

  • I forgot my apple id for my clash of clans village. what can i do ?

    can someone plz tell me ow i can find my game center for my clash of clans villgae

  • Mxmlc error

    I'm trying to set up an ant buildfile that will compile a bunch of small Actionscript projects and do some other small tasks. My problem is with mxmlc when specifying the output SWF file's location. The relevant stuff from build.xml looks like this:

  • P.O - DIFF. BETWEEN INDIVIDUAL RELEASE & COLLECTIVE RELEASE

    Dear All ,                        Kindly explain the difference individual release & collective release , as i m using ME29N to release here this P.O is to be released by 3 persons - execut. Mgr & G.M , what is scenario in Collective rel procedure sa