Skip to Content
avatar image
Former Member

Debugging CIF inbound processing User Exit

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Best Answer
    Oct 11, 2006 at 09:57 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 12, 2006 at 02:44 PM

    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.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Mar 13, 2007 at 07:17 PM

    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

    Add comment
    10|10000 characters needed characters exceeded