Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Debugging UserExits?

Former Member
0 Kudos

Hi,

RFC FM "CIF_PIR_INBOUND" is called from APO. This FM

calls customer function through CALL CUSTOMER-FUNCTION '001'.

Exit name is "EXIT_SAPLCPIR_001" & include is "INCLUDE ZXCIFU15".

I have implemented this userexit in Deveopment environment, while debugging FM "CIF_PIR_INBOUND"

control passes through exit FM "EXIT_SAPLCPIR_001".

The same request is transported into Quality Environment.

While debugging control does not passes through exit FM "EXIT_SAPLCPIR_001".

Observations:

1. Do not have development authorization in Quality Server.

2. All objects transported with status active.

I need to debug the userexit in Quality Server. Is there any way to debug it?

Valuable input please.

Best Regards,

Priyanka

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

You have to implement the enhacement (where the customer exit is defined) in a project using CMOD. then only the customer exit is executed.

To find the enhancement of the

function exit : EXIT_SAPLCPIR_001

Go to SE16

Display the table entries of MODSAP.

Enter the exit name EXIT_SAPLCPIR_001 in the selection criterial.

then u can see the enhancement name.

in CMOD create a project

and assign the enhacement that u found.

go to the components to find the function exit

write the code in the include and set the break point.

Activate the include.,

Activate the project.

Hope this solves ur problem

ramesh

7 REPLIES 7

Former Member
0 Kudos

Hi,

Enhancement/Modifications

1) Execute tcode SMOD to find available enhancement/modifications.

2) Create a project for the enhancement in tcode CMOD.

3) You must activate your project first in order to hit a break-point or get into debug mode for your existing enhancements/modifications, if you do not, the best you will be able to do is step through the main program until you hit the call for that particular customer enhancement.

4) To get into debug, you can enter a hard break-point in the enhancement itself, set a soft break-point with the stop sign, or the long way, before you execute your transaction or while you are in your transaction, you can place a /h in the ok code area (this is the area of your gui where you can type in a tcode). Once you have the /h, hit enter and that will take you into debug, from there, you can do many different things to find exactly what you are looking for.

User Exits

1) Identify the main program you want to locate a user exit/debug.

2) For example, go to SE80 and do a search by program or dev class (SAPMV45A sales order or Dev Class VMOD, most SD user exits are in this dev class). In SE80 if you go by program, most user exit programs end in a 'Z' on a rare occasion 'X' or 'Y'.

3) If you are looking at including MV45AFZZ, you can see where there are different forms. These forms will get called at times within the program. If you are looking to fill the storage location on the sales order, you will probably want to take a look at the perform that fills in a field in vbap.

4) If this is what you are trying to accomplish, you will need to do the select against the config Table TVKOL based on the shipping point/plant and possibly storage condition based on your picking strategies.

5) For the debug part, you can do the same as in the enhancements/modifications but you will not need to activate any projects.

0 Kudos

Thanx a lot Sreekanth.

The way by which I got this exit is as under:

Goto FM "CIF_PIR_INBOUND". I came across following source code:

  • call userexit

CALL CUSTOMER-FUNCTION '001'

Double-click on '001' to get

FUNCTION EXIT_SAPLCPIR_001.

INCLUDE ZXCIFU15.

ENDFUNCTION.

I wrote the code under include "ZXCIFU15".

I couldn't get enhancement name by transaction "SMOD".

How to get it?

As suggested by I put hard as well as soft break-point.

Control does not passed through this exit.

Further comments pl.

Priyanka

0 Kudos
 have implemented this userexit in Deveopment environment, while debugging FM "CIF_PIR_INBOUND"
control passes through exit FM "EXIT_SAPLCPIR_001".

The same request is transported into Quality Environment. 
While debugging control does not passes through exit FM "EXIT_SAPLCPIR_001".

Observations:
1. Do not have development authorization in Quality Server.

2. All objects transported with status active.

I need to debug the userexit in Quality Server. Is there any way to debug it?

U have to put Soft break-point @ <b>call customer-function '001'</b>, If Its not going to this Point then U are lack of Authorization Objects in QAS server.

after running this use /NSU53 there it will show u Objects which are required to run this FM.

Regards

Prabhu

Former Member
0 Kudos

Hi

Please do the following checks:

1. SE38->ZXCIFU15. Check the program is existing.

2. CMOD with the project to which the exit is assigned. Check that the status is active.

Kind Regards

Eswar

0 Kudos

Hello Eswar,

1. By SE38 program "ZXCIFU15" does exists. It's in active mode.

2. CMOD: I have not created the project because I couldn't get the enhancement name.

Please see my reply to Sreekanth also.

With Regards,

Priyanka

0 Kudos

HI Priyanka

Please go through the navigation via MODSAP->TSDIRT to find the enhancement name.

>>>> Addition:

Here is the enhancement name: <b>CIFPIR01</b>.

You can assign this in a project, activate and move the same to Quality server. If the enhancement is already assigned, a popup stated the project in which it is already assigned, so we can use the project activate and more to Quality.

Hope this helps.

Kind Regards

Eswar

Message was edited by: Eswar Rao Boddeti

Former Member
0 Kudos

Hi,

You have to implement the enhacement (where the customer exit is defined) in a project using CMOD. then only the customer exit is executed.

To find the enhancement of the

function exit : EXIT_SAPLCPIR_001

Go to SE16

Display the table entries of MODSAP.

Enter the exit name EXIT_SAPLCPIR_001 in the selection criterial.

then u can see the enhancement name.

in CMOD create a project

and assign the enhacement that u found.

go to the components to find the function exit

write the code in the include and set the break point.

Activate the include.,

Activate the project.

Hope this solves ur problem

ramesh