on 03-18-2009 4:56 PM
Hi experts,
I have an issue wherein XI sends the the message to SAP via ABAP Proxy but the method in the implementing class isnt being processed.
From my understanding is that when XI sends the message to SAP the corresponding implementing class is executed (in my case its ZII_MI_IA_XIPING~EXECUTE_ASYNCHRONOUS).
This is what I know or what we found out so far
1. After using test interface for that inbound abap proxy we can safley say the code works (we are testing it by populating SCARR)
2. When we check SXI_MONITOR the message was successfully sent from XI to SAP
For reference below is the code in the implementing class
_______________________________________________________
METHOD zii_mi_ia_xiping~execute_asynchronous.
**** INSERT IMPLEMENTATION HERE **** ***
DATA: prxy TYPE REF TO zco_mi_oa_pdf_info.
DATA: e_scarr TYPE scarr.
DATA: e_zping TYPE zping.
DATA: w_carrid TYPE s_carr_id.
MOVE: input-xi_ping TO e_zping.
CONDENSE e_zping-id.
e_scarr-mandt = '400'.
e_scarr-carrid = e_zping-id.
e_scarr-carrname = 'Class'.
IF e_scarr-carrid IS INITIAL.
MOVE 'NO' TO e_scarr-carrid.
ENDIF.
SELECT SINGLE carrid
INTO w_carrid
FROM scarr
WHERE carrid EQ e_scarr-carrid.
IF sy-subrc NE 0.
INSERT scarr FROM e_scarr.
COMMIT WORK.
ENDIF.
ENDMETHOD.
__________________________________________________
If any of you have any idea in how to trouble shoot or resolve please let me, it will be most helpfl.
Thank you all and Regards.
hi,
did you check transaction
SXI_MONITOR in ERP ? (not in XI)
did you register the queues in ERP (SXMB_ADM - integration engine -register queues) ?
Regards,
Michal Krawczyk
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Thanks for the replies.
I tested the abap code using the test interface and the SCARR database table is updated. So I dont think its the code (unless there is some consideration that has to be taken into account when executing a method in abap proxy).
Regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Chad,
It seems the problem is in your INSERT statement. INSERT scarr FROM e_scarr.
You should use
INSERT INTO scarr VALUES e_scarr.
because e_scarr is a work area and not an internal table.
So if you want to insert the value of an internal table into database table then you can use the below code..
INSERT dbtab FROM TABLE itab.
Note: Structure of itab must be exactly same as dbtab.
Regards,
Sarvesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Cheng,
Debug inbound abap proxies
/people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
May be its calling your proxy but failing in your code....for e.g.. INSERT scarr FROM e_scarr.You need to put this in try / catch block to catch exception if any.
If you want to debug inbound proxy, one method is set hardcode "break-point" in your code ..for e.g.
DATA: e_scarr TYPE scarr.
DATA: e_zping TYPE zping.
DATA: w_carrid TYPE s_carr_id.
break-point.
MOVE: input-xi_ping TO e_zping.
..
..
Deactivate corresponding queue in R/3 system and run interface again. You will find your message in Schedule status. Process this message. It will stop to your break-point in code.
Hope this will help.
Nilesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.