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: 

Find a Function Module in Update Task dynamically called

Former Member
0 Kudos

Hello experts, I have a question regarding how you can find a function module in Update Task in which place it is called. If it is a constant and you put in the Constant the name of the Function Module, than you will not receive any result on the Where Used List Search. If you put a Break-point in your Function and then in the System Debugging you flag the property to be able to make debugging on a Function Module in Update Task than you will don't have the Stack where it is called the Function Module, because it is in Update Task, and it is executed when it meet the COMMIT WORK. Is there a nice posibillity to find? or the last posibillity is to make debugg or to search it manually till you find it. Thank you.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

An entry is inserted to table VBMOD when a function module is called in update task.

You can do ST05 SQL trace, and look for function module name.

VBMOD, INSERT and FM name would appear in single line.

F5 (display ABAP call positions) on that entry would take you to place where FM was called.

17 REPLIES 17

former_member186746
Active Contributor
0 Kudos

Hi,

I don't think you can easily found out where the call is coming from due to the reasons you have mentioned.

What is the reason why you posted this question? Maybe there are other ways of finding out what you want.

Kind regards, Rob Dieleman

0 Kudos

I need to find a Function Module in Update Task which is called dinamically (CALL Function 'lv_name') in which place is called. I have found now where it is called by searchig, but I was wondering if there is other nice and quick method, but I also supposed there are not other modalities

0 Kudos

Hi,

during debugging in the call stack you can find stuff where it is called from, but in update task I don't think you can find them. So.... You're usually left with using the abap source scan report to find in code where it is used, etc.

Kind regards, Rob Dielemans

Former Member
0 Kudos

Hi Alexandru,

Please try with two options, it will help you I hope so:

First in the below screen shot you go and save your function module which needs to be trigger after the update flag on and activate it.

even if it is not working then try with the below option as :

if you know the function module name.

0 Kudos

Hello, in the second screen shot you mean to use the SLAD Transaction, in which I can make a profile for Debugging, and in this Profile to write my Function Module name? I can also put a simple break-point in the function, but because it is in Update Task I don't have the Stack and I can not see the place in Debugging from where it is called.

0 Kudos

I just had an idea, would SE30 / SAT work or does this also only contain performance related to 1 memory stack?

Kind regards, Rob Dielemans

0 Kudos

It is a very good answer, because if you now that your Function Module is called somewhere from a beggining point of a transaction to an end point of a transaction, than you can search for you Function Module name in the Results of the Analysis. Thank you

0 Kudos

Hello,

You mean that you can create in SLAD Transaction a Profile and in that Profile you specify your Function Module and then in Debugging, in the Debugging Configuration Layer, you choose your Debugging Profile and then you will stop also to your Function Module in Debugging http://scn.sap.com/docs/DOC-47742

Former Member
0 Kudos

An entry is inserted to table VBMOD when a function module is called in update task.

You can do ST05 SQL trace, and look for function module name.

VBMOD, INSERT and FM name would appear in single line.

F5 (display ABAP call positions) on that entry would take you to place where FM was called.

0 Kudos

Also regarding on this Topic, I deal with the fact that I have  2 Function Modules in Update Task

Call Function 'X' in UPDATE TASK

Call Function 'Y' in UPDATE TASK

Commit Work and Wait.

Just the First Function is processed and the second Function is not called, it is very strange for me because both of the Function Modules are in the table VBMOD, but just one it is processed.

0 Kudos

Once system and update debugging is enabled, and triggered in runtime, you could set dynamic breakpoint on 'X' and 'Y' FMs. Second function should get called as long as first function does not terminate processing.

0 Kudos

It was enebled the Update Debugging and it goes just in the X Function Module, not in the Y.

0 Kudos

An entry is inserted to table VBMOD when a function module is called in update task.

Not necessarily If you turn on local update (SET UPDATE TASK LOCAL), the VB* tables are not updated.

0 Kudos

Hello, How can I set this : SET UPDATE TASK LOCAL ? Thank you

0 Kudos

Agreed.

0 Kudos

Alexandru Chichernea wrote:

Hello, How can I set this : SET UPDATE TASK LOCAL ? Thank you

Once you find the program(s) from which the Update modules are called, you can do a global search in the program.

AFAIK the behavior of the update FMs should not change if it is a local update.

For more info on SET UPDATE TASK LOCAL you canlook at ABAP Keyword Documentation

- Suhas

0 Kudos

The Function Modules are not set with this Statement SET UPDATE TASK LOCAL. and with the statement IN UPDATE TASK