cancel
Showing results for 
Search instead for 
Did you mean: 

Unable to Send The Responce back to 3rd Party using ABAP Proxy

S0004343680
Explorer
0 Kudos

hi

i doing a scenario ,where i am getting transactional data from 3rd party and processing the data in r3 and sending the response back to 3rd part. My Message Interface is Synchronous .

3rd party --> XI -


> ABAP PROXY.

in the abap proxy i am executing a BDC Program using OOP concept.bdc program is parking the fi document, and i am getting the response successfully from that bdc(i.e sap doc number).

my abap proxy with OUTPUT parameter which sends the response .

i am able to pass the values to my OUTPUT parameter.

but the response is not getting updated on my 3rd party.

i am not getting any error in sxmb_moni in r3 as well in xi.

in RW no error.

can any one figure it out. how can i send the response back to my

3rd party using sync abap proxy.

thank

d.kalyan

Accepted Solutions (0)

Answers (4)

Answers (4)

S0004343680
Explorer
0 Kudos

hi

i doing a scenario ,where i am getting transactional data from 3rd party and processing the data in r3 and sending the response back to 3rd part. My Message Interface is Synchronous .

3rd party --> XI -


> ABAP PROXY.

in the abap proxy i am executing a BDC Program using OOP concept.bdc program is parking the fi document, and i am getting the response successfully from that bdc(i.e sap doc number).

my abap proxy with OUTPUT parameter which sends the response .

i am able to pass the values to my OUTPUT parameter.

but the response is not getting updated on my 3rd party.

i am not getting any error in sxmb_moni in r3 as well in xi.

in RW no error.

can any one figure it out. how can i send the response back to my

3rd party using sync abap proxy.

This is the code i have used in synchronous proxy.

DATA WA_MT TYPE ZSYTOSDT_PROXY_SAP_ROW.

DATA IT_MT TYPE STANDARD TABLE OF ZSYTOSDT_PROXY_SAP_ROW.

DATA WA_TOS TYPE ZXI_TOS_OOPS.

DATA IT_TOS TYPE STANDARD TABLE OF ZXI_TOS_OOPS.

DATA ERROR_MESSAGE TYPE STANDARD TABLE OF BDCMSGCOLL.

DATA RESPONCE TYPE STANDARD TABLE OF ZXI_RESP_ST.

DATA WA_RESPONCE TYPE ZXI_RESP_ST.

DATA FLAG TYPE CHAR05.

DATA APP_NO TYPE EIGXX.

DATA INVOICE TYPE XBLNR.

DATA WA_OUT TYPE ZSYTOSMT_DT_PROXY_SAP_RESPONCE."ZSYTOSDT_PROXY_SAP_RESPONCE_RO.

DATA IT_OUT TYPE STANDARD TABLE OF ZSYTOSDT_PROXY_SAP_RESPONCE_RO.

DATA TOS TYPE REF TO ZSYTOSCL_MI_MT_DT_PROXY_SAP.

DATA OUT TYPE REF TO ZTOSRESPCO_MI_RESP_FROM_SAP.

DATA OUTPUT1 TYPE ZSYTOSMT_DT_PROXY_SAP_RESPONCE.

CREATE OBJECT TOS.

  • CREATE OBJECT OUT.

IT_MT = INPUT-MT_DT_PROXY_SAP-ROW.

SORT IT_MT BY XBLNR.

IF IT_MT IS NOT INITIAL.

LOOP AT IT_MT INTO WA_MT.

APP_NO = WA_MT-EIGXX1.

INVOICE = WA_MT-XBLNR.

                      • CHECK INVOICE IS PARKED OR NOT & FOR PSEG***************

CALL METHOD ME->CHECKS

EXPORTING

APP_NO = APP_NO

INVOICE = INVOICE

IMPORTING

FLAG = FLAG.

IF FLAG = 'TRUE'.

MOVE-CORRESPONDING WA_MT TO WA_TOS.

APPEND WA_TOS TO IT_TOS.

ELSE.

CLEAR IT_TOS.

CONTINUE.

ENDIF.

ENDLOOP.

ENDIF.

                                            • BDC PROGRAM.*******************

CALL METHOD TOS->BDCPROGRAM

EXPORTING

T_TOS = IT_TOS

IMPORTING

IT_MESSTAB = ERROR_MESSAGE

RESPONCE = RESPONCE.

IF SY-SUBRC EQ 0.

IF RESPONCE IS NOT INITIAL.

LOOP AT RESPONCE INTO WA_RESPONCE.

MOVE WA_RESPONCE-XBLNR TO WA_OUT1-XBLNR.

MOVE WA_RESPONCE-BELNR TO WA_OUT1-NEWKO.

APPEND WA_OUT1 TO IT_OUT1.

ENDLOOP.

ENDIF.

ENDIF.

  • OUTPUT1-MT_DT_PROXY_SAP_RESPONCE-ROW = IT_OUT1.

  • IF OUTPUT1-MT_DT_PROXY_SAP_RESPONCE-ROW IS NOT INITIAL.

*

  • TRY.

  • CALL METHOD OUT->MI_RESP_FROM_SAP

  • EXPORTING

  • OUTPUT = OUTPUT1-MT_DT_PROXY_SAP_RESPONCE-ROW.

*

  • CATCH CX_AI_SYSTEM_FAULT .

  • ENDTRY.

*

  • TRY.

OUTPUT-MT_DT_PROXY_SAP_RESPONCE-ROW = IT_OUT1.

COMMIT WORK.

i am not able to send the output from here.

it would be great if any one can figure it out.

thankx.

kalyan

Former Member
0 Kudos

Hi,

check the payload of message at XI after receive the response, and try that code (update statement ) in oracle

Former Member
0 Kudos

Hi

Hope you have used two different stored procedure one for insert and one for Update.

Thanks

Sudharshan

S0004343680
Explorer
0 Kudos

hi Sudharshan & Progirl Progirl

i am not using a stored procedure ,it is UPDATE in Action parameter.

it only updates on key field.

And Progirl.

i waited for 1/2 hour. no result.

any suggestion.

regards.

kalyan

former_member190389
Active Contributor
0 Kudos

It may be possible that the update may take few minutes (10 -15 for large data)due to slow updation through networks..

prateek
Active Contributor
0 Kudos

The problem may occur in case ur thied party does not support synchronous communication. e.g if ur third party system is a File system, then this scenario should be configured using BPM or adapter module.

What is ur sender communciation channel?

Regards,

Prateek

S0004343680
Explorer
0 Kudos

thank for the reply prateek

my 3rd part is oracle and it accepts the response.

regard.

kalyan