cancel
Showing results for 
Search instead for 
Did you mean: 

Debugging CIF inbound processing User Exit

Former Member
0 Kudos

Hi,

I'm currently working on user-exit APOCF001 (Inbound processing: Location), and I have some problem (simply put, my user-exit doesn't work and I don't know why ). The data tranfer from the source R/3 system to the destination APO system is triggered from this source R/3 system, while the user-exit is executed in the APO system.

Is there any way to debug this user-exit? I've tried setting up break points, with no success. I have thought of writing to a file in the user-exit, but I'd prefer use this solution as a last resort.

Thanks for your reading, thinking and/or answering!

Message was edited by: Thomas Debouverie

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi Thomas,

To debug CIF queues you need to set Debugging On, Recording of t/qRFCs (NOSENDS) for the CIF user id (whatever is the user id in RFC for transferring from R/3 to APO). The maintenance of this Debugging On is using transaction CFC2 in R/3 and /SAPAPO/C4 in APO. Also mostly the CIF user id will be a system user - you need to change it to Dialog user.

Then when you transfer location data through activation of integration model from R/3 to APO, the CIF queue should show up in SMQ2. Start debugging (/h) and then execute the CIF queue to get into the code.

Thanks,

Somnath

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi, I guess this is a bit late to solve Thomas' problem but it may help someone else.

This is a bit rough but this does work. We tried using a break-point rather than an endless loop but for some reason this didn't work (suggestions?).

Here's the overview:

- The RFC user for the APO system is maintained with R/3 transaction SM59 (for example, ALEREMOTE)

- Create a parameter in APO called ZCIF_DEBUG_PPM to debug the PPM user exit

- Change the parameter for the RFC user to X using SU01

- The parameter creates a loop

- Debug the program in APO from process overview transaction SM50

- Change the parameter in debug mode from 'X' to '' (blank) to break the loop

- Delete the parameter value using transaction SU01 to reestablish normal operation

Here is the user exit code with comments

**************************************************************************************

DATA: gv_para TYPE tpara-paramid VALUE 'ZCIF_DEBUG_PPM',

gv_para_value TYPE char1.

  • For debugging only

  • Update parameter 'ZCIF_DEBUG_PPM' for ALEREMOTE using SU01 in APO

  • Debug the program in APO using SM50

  • Click on parameter in debug mode and delete the X to escape from the loop

  • Ensure the parameter is cleared for the ALEREMOTE user when finished!

GET PARAMETER ID gv_para FIELD gv_para_value.

IF sy-subrc = 0 AND gv_para_value = 'X'.

WHILE gv_para_value = 'X'.

ENDWHILE.

ENDIF.

**************************************************************************************

Regards

Martin

Former Member
0 Kudos

Hello Thomas,

U can use the below code to change the user name.

tables: trfcqin, trfcqstate.

update trfcqin set qrfcuser = 'SIP8KA'

where qrfcuser = 'ALE_USER'

and arfcipid = '0A0B9971'.

  • and arfctidcnt = '0188'.

write: / sy-dbcnt.

update trfcqstate set arfcuser = 'SIP8KA'

where arfcuser = 'ALE_USER'

and arfcipid = '0A0B9971'.

  • and arfctidcnt = '0188'.

write: / sy-dbcnt.

Regards,

Siva.