IDOC through Proxies ABAP-PI  ports

HI,
Please suggest what are the pros and cons of sending IDOCS through proxies.
When should we design like this ? 
Thanks,
Harsha

First of all why u want to send IDOC through proxy as SAP provided all std IDOCs and IDOC approach to send data to XI,only u have to configure the things in R3 as well as XI.
Cons will be u have to write the abap code for sending IDOCs and difficult to IDOC monitor.
Just have a look at the below blog:-
/people/ravikumar.allampallam/blog/2005/08/14/choose-the-right-adapter-to-integrate-with-sap-systems
chirag

Similar Messages

  • IDOC Creation using ABAP-PI port

    Hi all,
    I am new to ALE,EDI,IDOC technologies. We have a requirement that we want to create a matmas IDOC and send it thru ABAP-PI port by the function module attached to it. then from this function module I have to call the update methods of a proxy class with matmas data that will eventually update the material info. in the external webservice. How to replicate this scenario?
    I want step by step process including ALE settings and configuration. Please do help me out friends.
    Thanks and regards,
    --Sonal

    Hi ,
    see the wikis and blogs in sdn
    http://wiki.sdn.sap.com/wiki/display/XI/ALE+Configuration
    http://wiki.sdn.sap.com/wiki/display/ABAP/OutboundIdocThrough+ALE
    Regards,
    Prabhudas

  • Creation of IDOC through abap program.

    hello all,
    I hav created idoc through abap program. I hav used FM 'Master_idoc _distrribute'.this program creates an idoc but giving status 30. can any one tell me how to get status 03. I hav already created port, Logical sys,partner no.,distribution model.
    My Program is as follows:
    ABLES : CRMD_ORDERADM_I,CRMD_ORDERADM_H,CRMD_SCHEDLIN.
    DATA : S_CTRL_REC LIKE EDIDC OCCURS 0 WITH HEADER LINE,"Idoc Control Record
           ORDER_NO TYPE CRMT_OBJECT_ID VALUE '5000000032'," SEGMENT ORDER DATA
           PRODUCT TYPE CRMT_ORDERED_PROD VALUE 'SRV_01',
           QUANTITY TYPE CRMT_SCHEDLIN_QUAN VALUE '1.000'.
    DATA : ZORDER LIKE ZORDER_NUM OCCURS 0 WITH HEADER LINE.
    DATA :  T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.     "Data Records
    DATA :  T_COMM_IDOC LIKE EDIDC OCCURS 0 WITH HEADER LINE. "Generated Communication IDOc
    CONSTANTS :
    C_ZRZSEG1 LIKE EDIDD-SEGNAM VALUE 'ZORDER_NUM'.
    PARAMETERS :  C_MESTYP LIKE EDIDC-MESTYP DEFAULT 'ZORDER_IDOC2', "Message Type
                  C_RCVPRT LIKE EDIDC-RCVPRT DEFAULT 'LS',          "Partner type of receiver
                  C_LOGSYS LIKE EDIDC-RCVPRN DEFAULT 'BSNL_OUT',
                  C_RCVPOR LIKE EDIDC-RCVPOR DEFAULT 'A000000006',
                  C_SNDPOR LIKE EDIDC-SNDPOR DEFAULT 'SAPBCD0000',
                  C_SNDPRN LIKE EDIDC-SNDPRN DEFAULT 'BCDCLNT100',
                  C_IDOCTP LIKE EDIDC-IDOCTP DEFAULT 'ZORDER2',
                  C_SNDPRT LIKE EDIDC-SNDPRT DEFAULT 'LS'.          "Destination System
    ***START-OF-SELECTION
    START-OF-SELECTION.
      PERFORM GENERATE_CONTROL_RECORD.
      PERFORM SEND_IDOC.
    *&      Form  generate_control_record
    FORM GENERATE_CONTROL_RECORD .
      S_CTRL_REC-RCVPOR = C_RCVPOR. "Receiver Port
      S_CTRL_REC-MESTYP = C_MESTYP. "Message type
      S_CTRL_REC-IDOCTP = C_IDOCTP. "Basic IDOC type
      S_CTRL_REC-RCVPRT = C_RCVPRT. "Partner type of receiver
      S_CTRL_REC-SNDPOR = C_SNDPOR. "SENDER PORT
      S_CTRL_REC-RCVPRN = C_LOGSYS. "Partner number of receiver
      S_CTRL_REC-SNDPRT = C_SNDPRT. "Sender Partner type
      S_CTRL_REC-SNDPRN = C_SNDPRN. "Sender Partner Number
    APPEND S_CTRL_REC.
    ENDFORM.                    " generate_control_record
    *&      Form  send_idoc
    FORM SEND_IDOC.
    ZORDER-ORDER_NO = ORDER_NO.
    ZORDER-PRODUCT = PRODUCT.
    ZORDER-QUANTITY = QUANTITY.
    APPEND ZORDER.
    T_EDIDD-SEGNAM = C_ZRZSEG1.
    T_EDIDD-SDATA = ZORDER.
    APPEND T_EDIDD.
      CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE'
        EXPORTING
          MASTER_IDOC_CONTROL            = S_CTRL_REC
        TABLES
          COMMUNICATION_IDOC_CONTROL     = T_COMM_IDOC
          MASTER_IDOC_DATA               = T_EDIDD
        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.
      ELSE.
        COMMIT WORK.
        LOOP AT T_COMM_IDOC.
          WRITE:/ 'IDoc Generated - ', T_COMM_IDOC-DOCNUM.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " send_idoc
    I hav created segment , basic type,message typealso and release also .I also linked them.
    Plz help me.
    Hemlata

    Hi Hemalatha,
    Just call this Progream RSEOUT00 from your Zprogram and pass the basic parameters like IDOC number, Basic type,Partner number etc.
    You can check the parameters by executing the Program RSEOUT00.
    This Program will change the status of your IDOC 30 to 03.
    Thanks.
    Note:Reward Points if you find useful.

  • IDOC with ABAP - PI Port , RFC Function module

    Hi ,
    I am creating outbound Idoc in one system,  In the same  system I am using a ABAP - PI port and assigned a RFC function module.
    So when ever the outbound IDOC is created it will go to the port and triggers the RFC function module.
    now my question is how to get the outbound IDOC number in the RFC function module.
    I thought of reading the table EDIDC with message type, but all previous IDOC's aslo coming .
    Regards
    Bhaskar

    Hi Bhaskar, the IDOC control record or records are transfered to your function module in table paramater I_EDIDC. You could read the IDOC data by calling function modules EDI_DOCUMENT_OPEN_FOR_PROCESS and EDI_SEGMENTS_GET_ALL for each control record.
    Regards Jack

  • IDOC ABAP-PI Port Function Module not called

    HI all,
    i am using a scenario where i am sending (outbound) idocs via abap proxy to PI.
    I have assigned the function module to the abap-pi port.
    when i am trying to send a test idoc via we19, i get the message "IDoc '0000000000198029' transferred to ABAP-PSS port".
    but the function module (a copy of own_function)  doesn't get called. if i am testing the function module from se80 with the above mentioned idoc number '0000000000198029' everything is fine.
    in the partner profile i have added the corresponding idoc message type and selected to send idocs immediately. have i forgotten something in order to trigger the call of the function module ?
    br,
    martin

    Hello,
    I think it is not so easy to send IDoc to XI with ABAP-PSS-Port.
    I would try to create the IDoc and send it to XI-Port (Transactional RFC).
    This is SAP-Standard for IDoc-Scenario (SAP-R3 to XI).
    Best Regards, Dirk

  • ABAP-PI port example

    Hi,
    Can anyone give me an example code of what should go into a FM attached to an ABAP-PI port?
    I have a scenario in which i have to make changes to an IDOC before i sent it out to XI.
    so i have configured to first send it to an ABAP-PI port make the neccessary changes but im not sure how to send it to XI after that.

    Hi,
    chapter:
    "Enabling ABAP Proxies From Every Outbound IDoc ... 210 "
    from
    http://www.sap-press.com/products/Mastering-IDoc-Business-Scenarios-with-SAP-NetWeaver-PI.html
    shows an example code on how to use ABAP-PI port
    Regards,
    Michal Krawczyk

  • ABAP-PI port problem

    Hi,
    I have a scenario in which i have to generate a MBGMCR IDOC whenever a material document is posted ans send this to XI.
    Now i have to put a condition to process only IDOCs that have  a particular vendor number must be sent out to XI and others have to stop inside the SAP system itself.
    I saw that we could use ABAP-PI port to control the IDOC before being sent out. So i added the ABAP-PI port with a FM
    ZOWN_FUNCTION which is a copy of OWN_FUNCTION with the following code added in the end.
    CALL FUNCTION 'IDOC_INBOUND_ASYNCHRONOUS' DESTINATION 'XIDCLNT100'
      TABLES
        idoc_control_rec_40       = I_EDIDC
        idoc_data_rec_40          =  I_EDIDD
    But when execute this is get an error,
    "IDoc adapter inbound: Sender port is initial"
    But i can see that the sender port value in the EDI_DC has a value 'SAPECD'.
    I've not had much luck with resolving this error. I feel the error is misleading and the sender port is not really the problem, but im not sure.
    Is the approach i'm using right or should i use some other function?
    Any suggestions?

    I resolved it myself.
    Its the same procedure.
    Copy own_function to my fm ZOWN_FUCTION. Call the FM IDOC_INBOUND_ASYNCHRONOUS in destination XI.
    I just found that when i call the FM the import parameters are of type EDI_DC40 and EDI_DD40 whereas the type im passing to it is EDIDC and EDIDD. thats why the mismatch.

  • Automatic IDOC parse in ABAP Mapping?

    Hi,
    I'm creating a very complex mapping in an IDOC -> PI -> File scenario and I'm using ABAP Mapping to do that.
    I already know how to parse an inbound xml but it's a "heavy" job and the code finishes very "hardcoded".
    As you know, SAP uses the structure EDIDD to send/receive IDOC data generically. So I'm sure that internally SAP has a method/function or something to convert the XML data sent by PI to that EDIDD data structure when you send an Idoc through PI. I can't found that, do you know if it exists?
    Thanks

    You can use function module IDX_XML_TO_IDOC to convert the XML to IDOC type internal tables.
    Check for other function module in function group IDOC_ADAPTER_MB.
    KK

  • When to use RFC ,Idoc and proxies

    When to use the RFC,IDoc and proxies.
    What is the difference in using RFC,Idoc and proxies.
    I want the therotical explanation of it.
    I gone through some of the links.
    i want the explanation which is there in simple words
    and which is easily understand by the bigginers
    those dont know more about adapters.

    hi,
    You use all these three things when the sender or receiver for XI is R/3 system.
    You use proxy in sap 6.0 version or higher.
    you use that when you dont want to use an adapter.
    or very high volume of data has to be transfered.
    you go for rfc which can be synchronous as well as asynchronous
    http://help.sap.com/saphelp_nw04/helpdata/en/22/042a3e488911d189490000e829fbbd/frameset.htm
    refer for idoc:
    http://help.sap.com/saphelp_nw04/helpdata/en/dc/6b828943d711d1893e0000e8323c4f/frameset.htm
    regards,
    ujjwal kumar

  • In sap 4.7 ver i want to  dispatch an Idoc through http in xml format

    Hi
    Here i am giving the brief scenario of about my
    requirements "::::
    Our organization need to receive an IDoc through
    HTTP into XML format  then we have to send an acknowledgement  back to USA (external  system
    located)
    then we hav eto process tha tIDoc an dsend it back
    to the edi 850 ...
    we are not using Sap Business Connector
    Plz send the suggestions as soon as possible
    I really appreciated if u can give the suggestions
    regarding my  business scenario ..
    without using any thirdparty tool in sap 4.7 version it is possible how can i do that ??
    Thanks & Regards ,
    bak

    The exact error message I'm getting is :
    ABAP XML formatting error in XML node of type "element", name: "abap"

  • How to read an IDoc with an ABAP program?

    Hi experts!
    I am new to SAP and I need to read an IDoc with an ABAP program... how to do it?
    Maybe it is possible to read an IDoc into inner table...?
    Hellpful answers and advices will be rawarded.
    Regards,
    Mindaugas.

    hi
    I understand your issue, to pickup an IDOC flat file & post it to R/3 (with or without mapping).
    There is no straight forward solution but there are some ways (Normal way of Working as of now ?!!!) provided in the "How to"
    check this link
    https://websmp101.sap-ag.de/nw-howtoguides
    and look for this guide
    How To Convert Between IDoc XML and Flat Files in XI.30
    Probably you need to automate this using some programs,
    - Create an ALE port of type File
    using transaction WE21 on your
    Integration Engine.
    - Run report RSEINB00 on your
    Integration Engine. The report will
    upload the file, filter the IDoc header
    data, perform the conversion to IDoc
    XML and put the data into the
    pipeline of the Integration Server.
    Therefore it is crucial, that the IDoc
    control record data is populated
    correctly and corresponds to the
    adapter-specific identifiers of your
    sender service. Once the message
    is put successfully into the pipeline
    of the Integration Server, the file is
    deleted.
    Hope this fixes your issue
    regards
    ravish
    <b>plz dont forget to reward points if helpful</b>

  • IDOC generation from ABAP program

    Hi
    I have to object in which I have to Z program which will generate the idoc and pass it to PI system. Can anyone guide me in how to generate IDOC through ABAP custom program. Just need a little guidance in how to create IDOC from an ABAP report.
    Any help would be greatly acknowledged.
    Thanks!!

    Hi I tried to use the program as suggested by Buddhika and Glen, but found error over the statement below:
    i_data-sdata = header_segment_data.
    Highlighted below in code snap. These two fields are not mutually convertible.
    Any suggestions on this.

  • Idoc sending program from source port

    Hi Experts,
      I am sending the Idoc through customized program. I am getting the status 03 & 30. successfully sent to external system.
    Is there any standard program to send the Idoc from source port to destination port.
    Thanks and regards,
    Venkatraman.N

    Run RBDMOIND, then idoc will get the status 12 -Dispatch ok. status 12 is the confirmation that idoc was reached target system.
    Reddy

  • Underlying communication protocol for XI proxies (ABAP)

    What is the underlying communication protocol for XI proxies (ABAP) ?
    So, technically, how does the "actual" communication happen between SAP and XI when using proxies, as opposed to iDocs and BAPIs which use the RFC communication protocol.
    And how can you ensure that the proxy communication is "secure" ?
    Thanks in advance.

    hi,
    >>What is the underlying communication protocol for XI proxies (ABAP) ?
    it is SOAP.
    cheers,
    Naveen

  • Using Sockets TCP/IP to connect through Proxies and Firewalls

    How to do in a Client/server Application using Sockets TCP/IP to connect through Proxies and Firewalls?
    How to implement the HTTP Tunnelling in this case?
    the code in Client to connect to server is:
    SSLSocketFactory sslFact = (SSLSocketFactory)SSLSocketFactory.getDefault();
                   socket = (SSLSocket)sslFact.createSocket(c.site, c.PORT);
              String [] enabledCipher = socket.getSupportedCipherSuites ();     
                   socket.setEnabledCipherSuites (enabledCipher);
                   out = new ObjectOutputStream(socket.getOutputStream());
                   in = new ObjectInputStream(socket.getInputStream());
    The Server is an executable Standalone Application with a main Function � How to do to convert this Server in a Servlet Application?
    the code in Server to wait client connections is:
    Runtime.getRuntime().addShutdownHook(new ShutdownThread(this));
              try {
                   SSLServerSocketFactory factory = (ServerSocketFactory) SSLServerSocketFactory.getDefault();
                   SSLServerSocket sslIncoming =
                        (SSLServerSocket) factory.createServerSocket (PORT);
                   String [] enabledCipher = sslIncoming.getSupportedCipherSuites ();
                   sslIncoming.setEnabledCipherSuites (enabledCipher);
              while(running) {
                        SSLSocket s = (SSLSocket)sslIncoming.accept();
                   newUser(s, pauseSyn);
              } catch (IOException e) { System.out.println("Error: " + e); }
    some links or code sample?
    Thanks in Advance

    Did you see this: Networking Properties?
    Including
    SOCKS protocol support settings
    and
    http.proxyHost (default: <none>)
    http.proxyPort (default: 80 if http.proxyHost specified)
    http.nonProxyHosts (default: <none>
    ftp.proxyHost (default: <none>)
    ftp.proxyPort (default: 80 if ftp.proxyHost specified)
    ftp.nonProxyHosts (default: <none>)

Maybe you are looking for