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,
ManiHI 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 -
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,
tonyHi 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 -
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
KumarTo 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
SachinAfter 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
SachinHi 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
XiangHi
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,
ShobhitHi 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 ChemparathyHI,
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.KHello 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 -
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
-
I'm planning using Elements 6 with FCP 5.1.4 and Leopard as Leopard doesn't work with PS7. Anyone see any objections to the idea ... ? Ta.
-
Fillable PDF from RTF template
Morning all.. So, I have created a report layout using a RTF file. Then in Application Express, Under Shared Components -> Report Layouts / Queries I have created a report that is filling the RTF file just fine and outputting to PDF. My question woul
-
LabVIEW 5.1 to 2010 or newer
VI: the one attached in this post: How to include an HTML help in my program - webbrowse.vi 1653 KB Source = LabVIEW 5.1 Target = 2010 or newer Thank you!
-
7.4 on Vista, iPhone gone
Well, just upgraded to 7.4. No hangs with iTunes for now. However. It doesn't recognize my iPhone, I get some USB driver thing that comes up, 1st time it was searching for the driver, then said it succeeded. Now starting up iTunes with phone connecte
-
Road map for Oracle application server
I assume Oracle will at some point merge both it's Application Server, and the acquired BEA WebLogic Server with WebLogic being the main code source. Does anyone know of such a roadmap or direction of statement that I can review (diagram or wording)?