Idoc help

Hi guys,
I currently have a program which takes in an input file (text) and then uses the following BAPIs to either change a Purchase Order or to do a Goods Movement:-
BAPI_PO_CHANGE
BAPI_GOODSMVT_CREATE
I know want to change this functionality to use idocs instead,
The input file will remain the same but instead of calling these BAPIs, I want to simulate an inbound idoc coming in.
Can someone please advise whether there are idocs for this and if so, how I go about programatically generating an inbound idoc for these?
Thanks,
Ruby

Beside the usual (inbound) configuration which can best be done via area menu 'WEDI', you can call the 'default' function module for generating IDoc's. I thought it was called something like 'MASTER_IDOC_DISTRIBUTE'. By using this, Idoc's will be generated. But you will have to find out which IDoc should be used for this. Do a search in WE30, to find the basic IDoc types for this.
BTW: It is also possible that these function modules are part of the same function group as the above mentioned BAPI's.
Edited by: Micky Oestreich on Feb 25, 2009 1:33 PM

Similar Messages

  • What is the message type and basic type used for catsdb in idoc help me

    what is the message type and basic type used for catsdb in idoc help me
    ANY IDOC FOR CATSDB PLEASE TELL,
    Regards,
    Jagrut BharatKumar Shukla
    points will be awarded

    Hi,
    Check these message types.
    ATT_ABS_WITH_COST and WORKSCHED_WITH_COST.

  • Conversion Agent -   (EDI - XI - IDOC)   -  Help

    Hi Experts,
    I am working on the scenario (EDI - XI - IDOC)  using Conversion Agent for Converting EDI data into XML.
    I am facing many problems in Real Time,  can any one who has already worked on the same scenario  send me complete scenario with screen shots,
    I need immediate help, really it is very urgent for me.
    Regards,
    Study SAP

    Hi Kishore,
    Thanks for your reply, We are using Standard IDOC Orders05 and EDI message ANSI X12 - Message Type 850 for Purchase Order.
    Posting EDI Data of Purchase Order in R/3 Sales Order as INBOUND Message.
    Using Conversion Agent Parser for the same and deployed this project at Integration Server in ServiceDB Directory.
    The Conversion Module CMTransformBean is also deployed at XI Server.
    When we are puting file at FTP Server, our XI System is not picking up file while using Conversion Agent Module,
    while it is picking up without conversion module successfully.
    Please help,
    Regards,
    Study SAP
    [email protected]

  • ALE configuration for Outbound Idoc - Help me

    Hi Experts,
    I am newbee in SAP and XI. I was trying to send MATMAS Idoc from R3 and i was running into some issues. So i would appreciate if someone can help me.
    I am using following link as reference. /people/swaroopa.vishwanath/blog/2007/01/22/ale-configuration-for-pushing-idocs-from-sap-to-xi
    I did all the steps mentioned in the above link ( Creating Logical Systems, Assigning Client and RFC destnations, Creating distribution models ..... etc)
    and then everything went well and i saw success messags in all the steps.
    I used BD10 to send material and it went well. But when i check TRFC queue, i see some error messages; "<i><b>No service for system SAPRDI, client 800 in Integrion Directory</b></i>"
    And all the messages are hanging in the TRFC queue.
    Note: I havent configured anything in XI yet. I wanted to make sure IDoc gets to XI client first.
    Thank you in advance. Pls help me its very urgent.
    Thanks,
    Surya

    I created RFC destination (SM59) and Port (IDX1)
    Then i sent another material (BD10)  and checked tRFC queue. i found bunch of error in the Queue.
    <b>1.connection to host 10.4.23.120, service sapgw00 timed out / CPI-C error C
    No service for system SAPRDI, client 800 in Integration Directory
    partner not reached (host 10.16.176.29, service sapgw00) / CPI-C error CM
    connection to host 10.16.136.127, service sapgw58 timed out / CPI-C error</b>
    Note: i have noticed entries for R3 in SLD as below
                      System Name:  <b>RDI </b>  ( not <b>SAPRDI</b> as mentioned in the error message)
                      System Home:  r3ides
    That might be reason. If so, how to change it in R3 box? Any suggestions?
    Please send me if you guys have any links or docs to address this issue.
    Thanks,
    Surya

  • IDOC help needed

    Hi Gurus,
    I am new to IDOC and needed to learn about the same.Please tell me some good stuff book that help me out.
    Is there any open project scenario that helps me in learning.
    Regards,

    Hi,
    See this link
    [ALE IDOC| http://www.riyaz.net/blog/beginners-guide-to-ale-and-idocs-a-step-by-step-approach/]

  • 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

  • ALE/IDOCS Help Needed

    Hi Friends!
        I am preparing for my interview can any one please tell me what type of work i ve to say on ALE/ IDOCS in interview.
       I ve worked extensively on reports bdc scrips onley can u pls help me in this regard.
    U can personally reach me to [email protected]
      Looking for your Help Friends
    Thanking you All for your Answers in Advance.
    Lekha.

    ALE/ IDOC
    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

  • Vendor details. IDOC help.

    We have two different SAP Systems. By using the message type ADRMAS we
    are sending Vendor address details to another system ( Used ALE Cocept) 
    Now i want to block the updation of telephone number, email, fax in the receiving system.
    the inbound idoc is being processed by  IDOC_INPUT_ADRMAS.
    I am unable to find user exit or BADI for the inbound idoc function module. Is there any way to block the updation
    of vendor details on the receiving system.
    Please help.

    Hi,
    1. Create a rule, by giving your Segment name(Give the segment where in your field exists).
    2. Choose Maintain Rule(Select your rule which was created in above step).
    3. Now all the fields which are avlbl in your segment will appear.
    4. Double-click on the field for which  conversion rule to be maintained.
    5. Choose option (Convert sender fields) and Under Rule type give your SAP field name. Click on Conditions give the value to be maintained, if you want space to be populated then give slash (/) . Come back to main screen.
    6. Now the last step,Assign message type for newly create rule. here you need to maintain the source and destination systems names along with segment type and conversion rule.

  • Idocs Help Needed!

    Hi Guys!
        I want to learn idocs programming in Inbound & Outbound
       <b>Inbound in the sense how data read & put into idocs
       Idocs Processing
      Outbound-> Custom FM to Process data to Application
    </b>
      Can any one having any good material to prepare so
    <b> I want step by step in detail screen schots with real time example.</b>
      Points Awarded, Sure Thanks for your reply.
      Rahul.
    [email protected]

    Hi,
    lease 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
    Also check this links for additional information.
    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
    Regards,
    Sankar

  • IDOC help urgent

    hi friends,
    1.i need to add value to standard segment[E1WPA04].for this i can use custom zsegment
    but my standard segment [E1WPA04] is having free to use field.here to this field i should enter the value. plz if some one has any idea suggest me
    2.i have a field with data type string length 100.here  4 field values r already passed to this string .now i have add 5th field value how can i do that
    eg- sdata = AAAA BBBB HHHH JJJJ[already passing to sdata1]
          sdata = AAAA BBBB HHHH JJJJ DDDD [now DDDD is also to be passed to sdata1]
    thanks in advance
    regards,
    raj

    Hello,
    Check the structure of segment.
    Check the field attributes which you need to use to pass value.
    pass the value to this spcific field & then update sdata field.
    Thanks.

  • 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

  • Idoc in xi

    hi all,
    i want to know that how idoc help in sap xi,
    how it used in sap xi.
    thank you.

    Pawan,
    XI is a middleware tool, which mainly deals with message flow. So here we require a source message and a target message. If suppose we have to integrate between R3 and legacy system, in that case R3 system can send a source message to XI either by IDOC or RFC. Now in XI using the imported IDOC or RFC we convert the source message into target structure and send the message to legacy system using appropirate channel.
    Hope this is clear.
    Regards,
    Ram

  • Publish idocs to external system

    Hi,
    We have a business requirement to publish Idocs to an external system, however we don't have any kind of middleware to perform that action.
    Since it is HR master data, we can use change pointers internal table, to create a flat file with that data, and the external system could read it from a shared folder.
    Do you know other options to send idocs to that external system? There is any function to publish idoc via webservices for example?
    How can I solve it technically?
    Thanks in advance!
    Luis Teixeira

    HI,
    Check if this code for automatic processing of idoc helps you.
    REPORT ZFI_BD87 NO STANDARD PAGE HEADING
                    MESSAGE-ID ZZ
                    LINE-SIZE 132.
    *& Program Name          :  ZFI_BD87                                  *
    *& Module Name           :  FINANCE                                   *
    *& Author                :  DEEPTHI REDDY KAUKUNTLA
    *& Creation Date         :  09/22/2006                                *
    *& Program Type          :  Report                                    *
    *& SAP Release           :  4.6C                                      *
    *& Description           :  To  automate the manual IDoc              *
                              processing.                               *
    *-- TABLES
    TABLES: EDIDC,         " Control record(IDoc) Table
            EDIDS.         " Status Record (IDoc) Table
    RANGES : R_DOCNUM FOR EDIDC-DOCNUM.
    *-- INTERNAL TABLES
    *-- Table for holding Control Record details.
    DATA: BEGIN OF IT_EDIDC OCCURS 100,
          DOCNUM LIKE EDIDC-DOCNUM,
          UPDDAT LIKE EDIDC-UPDDAT,
          UPDTIM LIKE EDIDC-UPDTIM,
          END OF IT_EDIDC.
    *-- Table for holding Control Record details.
    DATA: BEGIN OF IT_EDIDS OCCURS 100,
          DOCNUM LIKE EDIDS-DOCNUM,
          STAMID LIKE EDIDS-STAMID,
          STAMNO LIKE EDIDS-STAMNO,
          END OF IT_EDIDS.
    *--                 Selection Screen
    SELECTION-SCREEN BEGIN OF BLOCK S WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS : S_STATUS FOR EDIDC-STATUS,
                     S_MESTYP FOR EDIDC-MESTYP,
                     S_UPDDAT FOR EDIDC-UPDDAT,
                     S_STAMNO FOR EDIDS-STAMNO,
                     S_STAMID FOR EDIDS-STAMID.
    SELECTION-SCREEN END OF BLOCK S.
    *-- START OF SELECTION
    START-OF-SELECTION.
      PERFORM GET_IDOCNUM.
    *&      Form  GET_IDOCNUM
          text
    -->  p1        text
    <--  p2        text
    FORM GET_IDOCNUM.
      REFRESH R_DOCNUM.
      CLEAR   R_DOCNUM.
      SELECT DOCNUM
             UPDDAT
             UPDTIM
             FROM EDIDC INTO TABLE IT_EDIDC
                       WHERE STATUS IN S_STATUS
                       AND MESTYP   IN S_MESTYP
                       AND UPDDAT   IN S_UPDDAT.
      IF NOT IT_EDIDC[] IS INITIAL.
        SELECT DOCNUM
               STAMID
               STAMNO
                   FROM EDIDS INTO TABLE IT_EDIDS
                   FOR ALL ENTRIES IN
                   IT_EDIDC WHERE DOCNUM = IT_EDIDC-DOCNUM
                   AND LOGDAT = IT_EDIDC-UPDDAT AND
                   LOGTIM = IT_EDIDC-UPDTIM
                   AND STAMNO IN S_STAMNO
                   AND STAMID IN S_STAMID.
        LOOP AT IT_EDIDS.
          R_DOCNUM-LOW = IT_EDIDS-DOCNUM.
          R_DOCNUM-SIGN = 'I'.
          R_DOCNUM-OPTION = 'EQ'.
          APPEND R_DOCNUM.
          CLEAR R_DOCNUM.
        ENDLOOP.
      ENDIF.
      IF SY-SUBRC = 0.
        SUBMIT RBDMANI2
          VIA SELECTION-SCREEN
          USING SELECTION-SET 'VARIANT'
          USING SELECTION-SETS OF PROGRAM 'ZFI_BDC87'
             WITH SO_DOCNU IN R_DOCNUM
             WITH SO_MESTY IN S_MESTYP
             AND RETURN.
      ENDIF.
    ENDFORM.                    " GET_IDOCNUM
    regards,
    deepthi

  • Idoc Sales Order Creation .

    Hi .
    My Idoc is working Fine . But I need to change the program output in IDOC for some  condition . so i try to find the program in partner profiles of message types and i found the program in NACE for that message type.
    The problem is that  i created the ' SO '.
    when i try to debug the program  which i found in NACE and i put some break points in it , but it is not stopping in that program.  But the Idoc is created in Background. As i am new to IDOC Help would be kindly Appreciated.
    Cheers
    Vivek.

    Hi Shyla,
    Thanks for the reply ,
    Type :  Outbound .
    Message Type : INVOIC.
    Idoc TYpe : INVOIC02.
    I try to find this message type in BD60 . But i couldnt find any thing like INVOIC.
    My Funtional created this for testing .  It is working fine and the IDOC is created for this messsage type.
    Cheers
    vivek.

  • Use of BW Extractors from SAP R/3 to a non-BW System

    Hi,
    We have an internally developed data warehouse.  We need to extract master and transactional date from SAP R/3 to WebMethods, which will then send it to the data warehouse.  Some will be full extractions, others will be delta only.
    I am looking at my various options:
    - Custom extract ABAP program to create either flat files or Idocs
    - Oracle program based on oracle database triggers
    - **** BW Extractors - My question - Can I use BW Extractors to create an Idoc or a flat file that will NOT go to a BW system?  Sorry, I have no BW experience, but have been looking at RSA6, RSA3, RSO2, LBWE.
    Anyone have documentation showing this?
    Thanks,
    Robin

    Hi Robin,
    The answer is <b>NO</b>. They are built primarily for BW. It simply wont work for other programs. A single mismatch in extraction logs between R/3 and BW causes unwanted ABAP Dumps.
    You must device another way to harvest data out of R/3. I suggest you use <b>Change Pointer</b> mechanism in R/3. It  is able to generate various IDOCS (<i>Master Data and Transactional</i>).
    In the course of our R/3 implementation before, it is not an instant switch over to R/3. We need to keep our existing legacy systems up and running although the Master Data/Transaction maintenance are already in R/3 until all our branches have been converted to SAP. Change Pointers and IDOCS helped us achieve that...I think that setup is similar to yours...
    If helpful, pls grant points...
    Regards,
    Jkyle

Maybe you are looking for

  • "Power Manager has stopped working and needs to close"

    I have been getting this message which I think started when I installed my Vista Service Pack 2.  I have updated everything and my Bios is up to date.  Does anybody have a solution to this error?

  • I need to know the date when JOB is created in SAP

    Could some one telme where i can find the details like date/time when a JOB is created (SM36) in SAP.

  • When Photo Frame is running, iPad battery discharges

    ... And that surely ain't right, right? I have a new iPad (3rd gen, 64gb model) and I sync *ALL* my photos to it. But if I place it on the dock and put the Photo Frame on, it starts to lose battery. I can see it go from 100%, down and down and down b

  • Buttons have facebook messages

    Hello. Mozilla Firefox users, I am one who loves u too. There is an annoyance, but in mozilla. Up the time passed since the new message system. message processing part of the buttons does not delete messages. other web browsers do not have this probl

  • Lost iPod software disk - urgent help needed!

    I've just got a new laptop and am in the process of transferring all my files across. I went to put in my iPod and realised I have lost my iPod software disk (the one that you get with the iPod when you buy it). Is there anything I can do to get some