Wheh to use abap proxy and when to use idoc

Hi All,
Please provide some clarifications for the below points :
What is Sproxy?
2.     Why we are using Sproxy instead of Idocs
3.   When we are going Proxy ?
4.   What are the types of proxy ?
5.   How to Create to Proxy ?
6.   What the Difference between SProxy  and Idocs
   7.   What is SOAP file? When we are using SOAP file ?
Thank you.
Regards,
Bharat

Hi Bharat,
You seem to have a range of Questions. I will try and answer as many as possible.
What is Sproxy?
SPROXY is a transaction [T-Code] on the SAP ECC/CRM etc side where you can see the objects designed in SAP PI ESR and develop its corresponding ABAP code. SPROXY T-Code displays the Service Interface. You can read more about it in the following site:
**************** - XI - ABAP Proxy communication
  2.     Why we are using Sproxy instead of Idocs
For Certain implementations Standard IDocs may not be available and it is quite tedious to create a Z- IDoC and therefore it is advantageous to use Proxy. You can read more about this doubt in the following links:
Choosing to use IDOC standard or ABAP Proxy?
IDOC vs Proxy
ABAP Proxy Vs IDOC
3. When we are going Proxy ?
When there are no Standard IDocs available. Please refer above links to get an answer for this.
4.   What are the types of proxy ?
5.   How to Create to Proxy ?
Again the following link has the answers for both these questions:
**************** - XI - ABAP Proxy communication
6.   What the Difference between SProxy  and Idocs
Difference is in the way the communication happens. Standard Idocs are already provided and you can use them directly while Proxy you will require to write the code on ECC side. You can refer the following link to understand more:
Advantage of ABAP proxy over BAPI
7. What is SOAP file? When we are using SOAP file ?
I have not heard of anything called SOAP file. SOAP is a protocol used for communication and you can send files as attachment in your SOAP to Any(file/idoc/Soap etc) or vice Versa Interfaces. Infact Proxy itself is SOAP based communication with XI 3.0 Protocol.
Please explore SCN to know more about the various scenarios. There are endless possibilities in SAP PI.
Hope this Helps.
Thanks &  Regards,
Tejas Bisen

Similar Messages

  • When we use calculation script and when we use business rule

    when we use calculation script and when we use business rule can anyone please tell me

    Re the OP's question, here is an excellent introduction to Calculation Manager and business rules. It was the first hit when I googled "calculation manager hyperion".
    http://ranzal.wordpress.com/2010/06/11/oracle-hyperion-calc-manager-%E2%80%93-part-1/
    You can also go to odtug.com -- the Tech Resources section has a series of presentations on Calculation Manager, from beginner to intermediate.
    The added benefit with business rules are that you can use variables and runtime prompts. You can also link planning with business rules and pass information from a web form into a business rules.^^^Only with Planning. There are no runtime prompts with Essbase in 11.1.2.2 but I hear it is coming back in 11.1.2.3
    We can use Business Rule for all applications and it is GUI.^^^Doesn't have to be GUI-based. You can (depending on version) flip back and forth between GUI and script. I have not tried writing (nor can I actually think why you would want to do this) a Calc Mgr rule for multiple apps. Maybe you are thinking of a script object that can be called multiple times?
    To check whether a calc script is executed or not you have to use the Essbase application database log file (Plan1.LOG)^^^As business rules are, sooner or later, translated to BSO (and hey, ASO too and HFM and Fusion and HPCM and they can differ, a lot, so this is not always true) calc script language, you can always check in the application log to see what is run if Planning or BSO Essbase.
    Regards,
    Cameron Lackpour

  • When to use IN Queue and When to use OUT Queue

    The architecture that we have is Client publishes the EDI 272 data to FTPS Server. We have ESB configured to pick the EDI data from FTP location, construct the B2B Header message and send to B2B. The B2B translates the EDI raw data to EDI XML. BPEL reads the EDI XML data from B2B. I have doubt here in using the IP_IN_QUEUE and IP_OUT_QUEUE. As per my understanding, IP_IN_QUEUE is used for messages inbound to B2B and IP_OUT_QUEUE is used for messages going out of B2B. If this is correct, ESB module would publish to IP_IN_QUEUE and BPEL would pick from IP_OUT_QUEUE.
    I'm confused here because I read few examples in which the queues were used other way around.
    Kindly clarify whether the usage of IN and OUT queus are correct.
    Thanks,
    Mani

    HI Mani,
    When B2B receives an inbound message from trading partner, it will send to IP_IN_QUEUE.
    When Back application wants to send a message to B2B, Backend application has to send the message to IP_OUT_QUEUE. B2B picks up the message from IP_OUT_QUEUE and send it to trading partner.
    The above mentioned queues are shipped with the product. However, users can can create there own queues.
    Thanks and Reagrds,
    Prasanna

  • When to use ABAP proxy?

    currently we have MQ > XI > ECC 5.0(using RFC adapter which calls a BAPI)
    the above scenario works sometimes, but other times the data is inconsistent. We are using BPM collection in XI and then transferring the order via RFC adapter.
    I am wondering if we can use ABAP proxy and see if this method is more viable.
    regards,
    tony

    Hi Tony,
    >>>I am wondering if we can use ABAP proxy and see if this method is more viable.
    Sure you can use proxies
    if you are calling bapis and you don have sp14
    then your server proxy will look very similar to
    your RFC wrapper
    Regards,
    michal

  • Abap proxy and java proxy

    Hi
    Could you plz tell me when should we select ABAP Proxy and when should java proxy ?? Is it like that in SAP systems we use ABAP proxy and non-sap systems we use JAVA proxy ??
    Thanks
    Kumar

    To connect to SAP system with WAS >= 6.4, ABAP proxy is used.
    <i>
    Is it like that in SAP systems we use ABAP proxy and non-sap systems we use JAVA proxy ?? </i>
    Not always. As i mentioned the limitation of ABAP proxy.
    Also, Java Proxies cannot be used for any non-SAP application. it is generally used for communication with Java Application
    Regards,
    Prateek

  • Issue with FM 'STATUS_CHANGE_EXTERN'  using ABAP Proxy

    Hi Experts,
    I am using the FM 'STATUS_CHANGE_EXTERN'   & 'STATUS_CHANGE_INTERN'  to change the user status & system status using ABAP Proxy.
    But SAP is updating the system status using ABAP Proxy through ''STATUS_CHANGE_INTERN'' but not updating the User stauts 'STATUS_CHANGE_EXTERN' using ABAP Proxy but when run the same in foreground then it's working fine..
    I have already used the External Commit for the same.
    Please help me in this case.
    Thanks in Advance
    Sachin

    After call of CRM_STATUS_CHANGE_EXTERN you need to call BAPI_TRANSACTION_COMMIT.
    call function 'CRM_STATUS_CHANGE_EXTERN'
        exporting
            objnr               = iv_guid
            user_status         = iv_status
        exceptions
            OBJECT_NOT_FOUND    = 1
            STATUS_INCONSISTENT = 2
            STATUS_NOT_ALLOWED  = 3
            OTHERS              = 4
    if ( sy-subrc = 0 ).
        call function 'BAPI_TRANSACTION_COMMIT'
            exporting
                wait  = ABAP_TRUE
    else.
        "!+ Handle error
    endif.
    Best regards,
    Tomas.

  • Web Service consumer using ABAP-PROXY

    Hello,
    I want to test Web Service consumer using ABAP-PROXY . So I do what is explain in the weblog :
    [http://wiki.sdn.sap.com/wiki/display/Snippets/WebServiceconsumerusingABAP-PROXY]
    But when I execute the programm, the message : 'No valid source context supplied'.
    But, proxy and port are ok and activate.
    Can you help me.
    Thanks.

    Hi Jitesh,
    Thanks for the link.  I checked but did not find helpful info there.
    I have managed to make it work yesterday.  Two issues were identified. 
    1. The namespace in the WSDL file imported into ESR as an external definition.  I need to create the same namespace in ESR before importing the WSDL and then import the WSDL into that namespace.
    2. The authentication method.  The authentication method in the IIS configuration of the .NET web service has to be set to Basic Authentication.  Then I set logical port of the consumer proxy in the OSAMANAGER to use Basic Authentication also.  So far only the Basic Authentication works in my test scenario.
    I am closing this question.
    Regards,
    Jiannan

  • Transaction Update Error using ABAP Proxy

    Hi Experts,
    I am facing an issue using ABAP Proxy.
    File is coming from PI to SAP system and it will update the Transaction IE02 using this inbound ABAP Proxy. If records fails then a mail is going to concerned team.
    Issue:
    When File has been sent from PI to SAP through ABAP Prxoy, it shows that record has been updated in the Transaction IE02 but when I checked manually the record, it has not updated the same. But when I test the same record through my ABAP Prox, it updates the record and when I checked it, Reocrd hs been updated.
    Can anybody help me in this case?
    Regards
    Sachin

    Hi Anup,
    Can you please explain me for the same? If I need to put External Commit then how It is working when I running it manually
    Regards
    Sachin

  • How do ABAP Proxy and XI adapter work?

    Hi everybody,
    I have a general question about the ABAP proxy and XI adapter.
    In order to use the ABAP proxy and XI adapter, I must configure the HTTP Destination between the R/3 system and the XI server. I must also maintain the SLD.
    After several hours configurations with our administrator, it failed. At least the HTTP Destinations on both servers don't work correctly. We got always HTTP error message. But a scenario with an ABAP Receiver proxy works! It is really strange and laughable. We're very happy about that but don't know why and what happened. Today we tested the ABAP Sender proxy, it doesn't work.
    So we decide to ask the XI experts in this forum to give us a general lessen about the ABAP proxy: how it works, why we should create the HTTP destinations, how do the destinations work and so on.
    Thanks a lot in advance!
    With best regards
    Xiang

    Hi
    Once you create the interface in XI, you generate the proxies on your R3 system.
    Client Proxies -->
    This is done for outbound interfaces. You generate the proxy and then write a report that fills in the proxy class with the data and pushes it to XI.
    Server proxies -->
    Generated for inbound interfaces. Generate the proxy and write the implementation for the exectue method that deals with the data sent from XI to the R3 system
    Abap Proxy
    ABAP Proxies in XI(Client Proxy)
    Smarter Approach for coding ABAP Proxies
    The specified item was not found.
    ABAP Proxy - XML to ABAP Transformation
    http://help.sap.com/saphelp_nw04/helpdata/en/ba/f21a403233dd5fe10000000a155106/frameset.htm
    why we should create the HTTP destinations, how do the destinations work and so on.
    we create http destiantio because in proxies , adapter is not use so who is goin to send the message to integration server ...by creating http destinatio we create integration engine which send messg to IS . then messg is routed .and all
    error in HTTP to file scenario http to file
    hope this help's  you
    Regard's,
    Chetan Ahuja

  • How to extract attachment from ABAP proxy and store in archive link....

    Hi Experts,
    I need to consume an incoming email attachment in the ABAP Proxy program (POP Mail  --> PI --> ABAP Proxy) and then store this file in the IBM content management server through the Archvie Link connection.
    Any idea how to implement this piece of code in ABAP?
    Regards,
    Shobhit

    Hi Shobhit
    You can get the files from Sender Mail adapter. In proxy implement the method of protocol IF_WSPROTOCOL_ATTACHMENTS as said above.
    Archive Link supports HTTP, RFC etc depends on the system you are going to use for archiving. For your case you have IBM server i think you have to do HTTP synchronous. This will be like an interface again for you.
    Why are you using ERP system in middle. I think you can directly dump data to IBM server.
    Thanks
    Gaurav

  • Pros & Cons for consuming web services in ABAP using ABAP PROXY

    Hi,
    Other then performence  is there any other disadvantages like security,etc for consuming web services in ABAP using ABAP proxy?
    I really appreciate if some one provide the more details(Pros & Cons ) regarding cosuming web services and I also want to know is there any other way to consume web services in ABAP.
    Thanks.

    <i> is there any other way to consume web services in ABAP</i>
    you can use cl_http_client class to make your program to act as http client and post the soap message too webservice. This way you dont need to generate proxy, but you should know the soap message format.
    Regards
    Raja

  • Outbound interface using ABAP Proxy

    Hi Guys,
    I am trying to create an interface between a Z table and XI using ABAP Proxy. I suggested file based interface, but client is insisting using ABAP proxy. Z table is in IS-Retail side.
    I will appreciate is somebody can share a program to do this.
    Any advise/guidance is appreciated.
    Thanks,

    Hi There
    From your  subject line i can see that you want to develop an outbound proxy which means you want to send data to XI from your SAP custom table. That means you need to extract all the information from your Z-table and send it to XI via  proxy.
    If my understanding is correct then what you need to do is :
    1.Ask your XI team team to generate a message interface for you of type 'outbound' and include the structure in the way they want you to send data to them. 
    2.Once the message interface is created by them , you can generate the same in transaction SPROXY .  Search for your interface namespace and then right click
    on it and say 'CREATE' . Give the appropriate package and prefix to it.Generate the proxy, save and activate
    3. Now you can create a report and then according to the structure generated by XI , you can popluate your internal table to be passed back.
    4. Call the method of the proxy in your report and send the data to XI.
    I can give you an example of how to do this:
    suppose you have built up an internal table by extracting data from your Z-table .Lets say it is tbl_output.
    In your report you need to trigger the proxy method as follows:
    Note: i am assuming i am triggering an asynchronous proxy method from my report:
    DATA:lo_senddata  TYPE REF TO CL_DATA_OUT,
                      lo_system_fault TYPE REF TO cx_ai_system_fault,
                      lo_root         TYPE REF TO cx_root.
    ls_output-output_file-data[] = tbl_data[].
    CREATE OBJECT lo_senddata
    TRY.
    * call the asynchronous method of the proxy and send the data
              CALL METHOD lo_senddata->execute_asynchronous
                EXPORTING
                  output = ls_output.
    * get the system exceptions and display the error text
            CATCH cx_ai_system_fault INTO lo_system_fault.
              WRITE:/ 'System Error:'(E01),
                      lo_system_fault->errortext.
              RETURN.
    * get the root exception and display the textid value
            CATCH cx_root INTO lo_root.
              WRITE:/ 'System Error:'(E01),
                      lo_root->textid.
              RETURN.
          ENDTRY.
    COMMIT WORK.
    <b>Note:</b> 1. CL_DATA_OUT is the message interface class.
                      2. ls_output is the output structure to be sent back to XI and data 
                         is an internal table with the same structure as tbl_data.
                      3. It is very imp to catch exceptions as i have shown u above.
    Please let me know if you are a little clear or you need some more clarifications on this.
    cheers
    shivika

  • Is EOIO messaging possible using ABAP Proxy in WAS 620?

    Hello,
    I am trying to implement an outbound EOIO interface using ABAP Proxy on a SAP R/3 470 running on WAS 620. We have XI 3.0 running on WAS 640. I followed the SAP documentation available at http://help.sap.com/saphelp_nw04/helpdata/en/c9/74246d8ad2447799063d39013e9a11/frameset.htm
    I find that the interface IF_WSPROTOCOL_ASYNC_MESSAGING required in this exaple does not exist in our R/3 system. I also notice that proxy classes generated on WAS 640 have the superclass of CL_PROXY_BASIS. But the proxy object generated in WAS 620 have no superclass at all.
    Does anybody know how I can get EOIO interfaces to work on the WAS 620? Did you use these objects? Can I import / install them somehow? Or, is EOIO just not possible in WAS 620?
    Please let me know.
    Regards
    Cerish Chemparathy

    HI,
    have a look at this link to the ABAP Proxy Runtime based on WAS 6.20 (Xi 2.0) http://help.sap.com/saphelp_xi20sr1/helpdata/en/02/265c3cf311070ae10000000a114084/content.htm
    There is a help entry called Guatanteeing the Order of Asynchronous Messages. Seems that you somehow can set a queue id for this messages and as long as theses messages are all in the same queue, the order will be maintained.
    Your observations are right, there are differences between the Proxy Runtime in WAS 6.20 and in WAS 6.40 and as far as i know, there is no way to downport the 6.40 runtime to 6.20. You will need to stick with wath 6.20 offers.
    Regards
    Christine

  • ALV using ABAP Classes and Objects

    Hi All,
    I am trying to print the values in my internal table using ALV, using ABAP classes and objects. Here the title for columns are picked based on the title specified in the data element. I want to set the title of my columns by my own. how to achieve this ?. Please provide me a sample code if possible.
    thanks & regards,
    Navneeth.K

    Hello Navneeth
    The following sample report shows how to build and modify a fieldcatalog (routine <b>BUILD_FIELDCATALOG_KNB1</b>).
    *& Report  ZUS_SDN_ALVGRID_EVENTS
    REPORT  zus_sdn_alvgrid_events.
    DATA:
      gd_okcode        TYPE ui_func,
      gt_fcat          TYPE lvc_t_fcat,
      go_docking       TYPE REF TO cl_gui_docking_container,
      go_grid1         TYPE REF TO cl_gui_alv_grid.
    DATA:
      gt_knb1          TYPE STANDARD TABLE OF knb1.
    PARAMETERS:
      p_bukrs      TYPE bukrs  DEFAULT '2000'  OBLIGATORY.
    *       CLASS lcl_eventhandler DEFINITION
    CLASS lcl_eventhandler DEFINITION.
      PUBLIC SECTION.
        CLASS-METHODS:
          handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid
            IMPORTING
              e_row_id
              e_column_id
              es_row_no
              sender.
    ENDCLASS.                    "lcl_eventhandler DEFINITION
    *       CLASS lcl_eventhandler IMPLEMENTATION
    CLASS lcl_eventhandler IMPLEMENTATION.
      METHOD handle_hotspot_click.
    *   define local data
        DATA:
          ls_knb1     TYPE knb1,
          ls_col_id   TYPE lvc_s_col.
        READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row_id-index.
        CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
        CASE e_column_id-fieldname.
          WHEN 'KUNNR'.
            SET PARAMETER ID 'KUN' FIELD ls_knb1-kunnr.
            SET PARAMETER ID 'BUK' FIELD ls_knb1-bukrs.
            CALL TRANSACTION 'XD03' AND SKIP FIRST SCREEN.
          WHEN 'ERNAM'.
    *        SET PARAMETER ID 'USR' FIELD ls_knb1-ernam.
    *        NOTE: no parameter id available, yet simply show the priciple
            CALL TRANSACTION 'SU01' AND SKIP FIRST SCREEN.
          WHEN OTHERS.
    *       do nothing
        ENDCASE.
    *   Set active cell to field BUKRS otherwise the focus is still on
    *   field KUNNR which will always raise event HOTSPOT_CLICK
        ls_col_id-fieldname = 'BUKRS'.
        CALL METHOD go_grid1->set_current_cell_via_id
          EXPORTING
            is_row_id    = e_row_id
            is_column_id = ls_col_id.
      ENDMETHOD.                    "handle_hotspot_click
    ENDCLASS.                    "lcl_eventhandler IMPLEMENTATION
    START-OF-SELECTION.
      SELECT        * FROM  knb1 INTO TABLE gt_knb1
             WHERE  bukrs  = p_bukrs.
    * Create docking container
      CREATE OBJECT go_docking
        EXPORTING
          parent                      = cl_gui_container=>screen0
          ratio                       = 90
        EXCEPTIONS
          OTHERS                      = 6.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Create ALV grid
      CREATE OBJECT go_grid1
        EXPORTING
          i_parent          = go_docking
        EXCEPTIONS
          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.
    * Set event handler
      SET HANDLER:
        lcl_eventhandler=>handle_hotspot_click FOR go_grid1.
    * Build fieldcatalog and set hotspot for field KUNNR
      PERFORM build_fieldcatalog_knb1.
    * Display data
      CALL METHOD go_grid1->set_table_for_first_display
        CHANGING
          it_outtab       = gt_knb1
          it_fieldcatalog = gt_fcat
        EXCEPTIONS
          OTHERS          = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * Link the docking container to the target dynpro
      CALL METHOD go_docking->link
        EXPORTING
          repid                       = syst-repid
          dynnr                       = '0100'
    *      CONTAINER                   =
        EXCEPTIONS
          OTHERS                      = 4.
      IF sy-subrc <> 0.
    *   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    * ok-code field = GD_OKCODE
      CALL SCREEN '0100'.
    END-OF-SELECTION.
    *&      Module  STATUS_0100  OUTPUT
    *       text
    MODULE status_0100 OUTPUT.
      SET PF-STATUS 'STATUS_0100'.
    *  SET TITLEBAR 'xxx'.
    ENDMODULE.                 " STATUS_0100  OUTPUT
    *&      Module  USER_COMMAND_0100  INPUT
    *       text
    MODULE user_command_0100 INPUT.
      CASE gd_okcode.
        WHEN 'BACK' OR
             'END'  OR
             'CANC'.
          SET SCREEN 0. LEAVE SCREEN.
        WHEN OTHERS.
      ENDCASE.
      CLEAR: gd_okcode.
    ENDMODULE.                 " USER_COMMAND_0100  INPUT
    *&      Form  BUILD_FIELDCATALOG_KNB1
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM build_fieldcatalog_knb1 .
    * define local data
      DATA:
        ls_fcat        TYPE lvc_s_fcat.
      CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
        EXPORTING
    *     I_BUFFER_ACTIVE              =
          i_structure_name             = 'KNB1'
    *     I_CLIENT_NEVER_DISPLAY       = 'X'
    *     I_BYPASSING_BUFFER           =
    *     I_INTERNAL_TABNAME           =
        CHANGING
          ct_fieldcat                  = gt_fcat
        EXCEPTIONS
          inconsistent_interface       = 1
          program_error                = 2
          OTHERS                       = 3.
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      LOOP AT gt_fcat INTO ls_fcat
              WHERE ( fieldname = 'KUNNR'  OR
                      fieldname = 'ERNAM' ).
        ls_fcat-hotspot = abap_true.
        ls_fcat-scrtext_s  = '<short text>'.  " short text of column
        ls_fcat-scrtext_m = '<medium text>'.  " medium text of column
        ls_fcat-scrtext_l   = '<long text>'.  " longtext text of column
        ls_fcat-tooltip      = '...'.  " ALV control: Tool tip for column header
        ls_fcat-coltext    = '...'.   " ALV control: Column heading
        MODIFY gt_fcat FROM ls_fcat.
      ENDLOOP.
    ENDFORM.                    " BUILD_FIELDCATALOG_KNB1
    Regards
      Uwe

  • Output type using ABAP proxy

    Hi All,
    Is it possible to create an output type for delivery or invoice using ABAP proxy? If yes do we need to follow some special steps(apart from the usual setting we do for EDI or print outputs) to be followed for this?
    Regards,
    Sajith.

    Hi Sajith Hari,
    I am not aware about the ABAP option but you can certainly use NACE tcode and select V2 or V3 accordingly for deliveries or invoices>go to output types and create your desired output types.
    regards,
    US

Maybe you are looking for