Skip to Content
1
Aug 31, 2015 at 03:24 PM

Using WATCHPOINT to determine when MEMORY ID value is being reset

2510 Views

Greetings:

I am debugging a custom transaction which uses the syntax EXPORT... MEMORY ID to pass the value of a Selection-Screen PARAMETER to standard SAP customer exit EXIT_SAPLFMDT_001 and its include program ZFMMDTU01. This is used for Manual Cost Allocations and its' FMDERIVE functionality.


The custom transaction is used to parse and edit an input file of spreadsheet data and pass that data to BAPI_ACC_MANUAL_ALLOC_POST. It sets the value of EXPORT value once for all records of an input file to pass the overall processing option selected by the user to the customer exit logic. Once the BAPI is called, it calls the logic of the customer exit in a loop and uses IMPORT for each record in the input file to determine the processing option and act accordinly.


Problem: On the first pass of the loop, the logic in ZFMMDTU01 uses IMPORT and gets the value set on the screen and exported to the MEMORY ID location, but on the second and all subsequent loop passes, the IMPORT value returned is blank. I have looked at all the other code in the customer exit and did not discover any code changing the value.


I can find the memory management option in Classic Debugger/System Areas that tells me the MEMORY ID exists, but not the current value. That precludes me from following the debugger through the entire BAPI looping process to find what is overwriting the MEMORY ID value. I have looked in the New and Classic Debugger trying to find a way to set a WATCHPOINT for the MEMORY ID and have failed.


Question: How is a WATCHPOINT set on a MEMORY ID in the Debugger so that I can find the offending statement that is clearing out that MEMORY ID?


Thanks in advance for your expertise,

Loyd Enochs