如何找到ABAP裡被動態呼叫的update function module

i042416發表於2020-09-22

In this SCN discussion,  Find a Function Module in Update Task dynamically called, a question is asked. For example, if the update function module CRM_PRODUCT_I_UPDATE_DU is called statically as: CALL FUNCTION ‘CRM_PRODUCT_I_UPDATE_DU’ … Then we can easily find all calling places where this function module is called. On the other hand, if the function module name is determined dynamicall in the runtime, for example: CALL FUNCTION lv_func_name, the where used list will not work. In this case, even though I have already set the breakpoint in update function module itself and the breakpoint is triggered in the runtime, I still could not figure out which programs calls this update function module.


如何找到ABAP裡被動態呼叫的update function module


A quick solution is: set a breakpoint at a place where you can ensure that the update function module is not called yet. And create a new Breakpoint by clicking this button:


如何找到ABAP裡被動態呼叫的update function module


Specify the following command:


如何找到ABAP裡被動態呼叫的update function module


Once set, press F8, and the debugger will automatically stop at all the code place where CALL FUNCTION XXX IN UPDATE TASK exist. By this approach, I have efficiently found the code place where CRM_PRODUCT_I_UPDATE_DU is called.


如何找到ABAP裡被動態呼叫的update function module 如何找到ABAP裡被動態呼叫的update function module


Further reading

There is another good post  How to find out who calls a function module in update task in CRM written by Corrine Guan which contains another useful tip to achieve the same.

要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":

如何找到ABAP裡被動態呼叫的update function module


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2723180/,如需轉載,請註明出處,否則將追究法律責任。

相關文章