cancel
Showing results for 
Search instead for 
Did you mean: 

Inbound ABAP Proxy not processing code in the Implementing Class

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

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

Answers (4)

Answers (4)

Former Member
0 Kudos

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

MichalKrawczyk
Active Contributor
0 Kudos

hi,

just check both transactions which I mentioned

Regards,

Michal Krawczyk

Former Member
0 Kudos

Late update, but problem solved.

Former Member
0 Kudos

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

former_member206760
Active Contributor
0 Kudos

Cheng,

Debug inbound abap proxies

/people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation

Former Member
0 Kudos

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