Application Development and Automation 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: 
Read only

How to debug non-z program?

Former Member
0 Likes
1,027

Hi, ABAP experts:

I need to fix a ticket, I have been given following information:

  • This FI-CA business process

  • The business process is to use T-Code FP03D to submit files to Collecton Agencies

  • Two Events have been used:

1) Event 5060 to provide the collection agency

2) Event 5069 to include additional items during submission to collection agency.

Those events are tied to Function Modules:

Z_FI_COLL_AGENCY_5060

Z_FI_ADD_COLLA_5069

  • I checked the FP03D is associated with standard program u201CRFKKCOL2u201D

I need to find the section that fectches data and write to the target file, since there are some missing fields in the output file. I am not familar with how events be used here.

I would like to know ideas on how to debug this process.

Thanks and Regards.

Liang

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
945

Hi Liang,

Since it appears the function modules are the ones which extract data from database and then generate the output file you could start by placing a break point in the function modules Z_FI_COLL_AGENCY_5060 and Z_FI_ADD_COLLA_5069 (from transaction SE37) and then execute the transaction.

During processing as soon as the function modules are called, the control will stop in the function module.

Cheers,

Aditya

7 REPLIES 7
Read only

Former Member
0 Likes
946

Hi Liang,

Since it appears the function modules are the ones which extract data from database and then generate the output file you could start by placing a break point in the function modules Z_FI_COLL_AGENCY_5060 and Z_FI_ADD_COLLA_5069 (from transaction SE37) and then execute the transaction.

During processing as soon as the function modules are called, the control will stop in the function module.

Cheers,

Aditya

Read only

0 Likes
945

Aditya

Thanks for your input.

I have checked the code (not debug), it seems that I have not found the section that fetches data from the tables. Do you know if there is other user-exit, how can I check to see if there other customiztion ?

Thanks

Liang

Read only

0 Likes
945

Hi Liang,

When I need to search for a user exit I do the following, before you execute the SAP transaction - type "/h" in the command box (which switches on debugging) - then when you start the transaction put a break point on Statement - CALL CUSTOMER-FUNCTION . If any user exit has been called during the transaction, the program will stop at the above statement.

Also, (to check if any Badi was called), put a break point in the method GET_INSTANCE of class CL_EXITHANDLER. If any BAdi is called then the control will stop there.

This should clarify if any enhancement has been implemented in your report.

Cheers,

Aditya

Read only

0 Likes
945

Those are probably BTE events, so the suggestions Aditya makes will not find them.

To find BTE function modules, you should put breakpoints in functions PC_FUNCTION_FIND and BF_FUNCTIONS_FIND which will give you the list of BTE implementations for the running program.

Apart from BTEs however, if you need to find out where a file is written, why don't you try for example putting breakpoints in statement OPEN DATASET? If the file is downloaded to frontend, it gets a bit trickier as there are many function modules which do the task, but I would start with GUI_DOWNLOAD.

Regards

Edited by: Alejandro Bindi on Apr 10, 2009 8:46 PM

Read only

0 Likes
945

Aditya and Alejandro: Thanks for both your advise.Points awarded.

Our case is defined constants: const_event_5060 LIKE tfkfbm-fbeve VALUE '5060',

tfkfbm is the table that maintains the constants and corresponding function module.

Another function module used to get the value of function need to be called based on the value in tfkfbm.

Regards.

Liang

Read only

Former Member
0 Likes
945

Hi Liang,

I suggest you should search for statements like "OPEN DATASET" "TRANSFER" and "CLOSE DATASET" or GUI_DOWNLOAD function call in the standard program RFKKCOL2.

regards,

Advait

Read only

Former Member
0 Likes
945

Its the same way how you debug z program.

Regards,

Lalit Mohan GUpta.