When converting an existing program to use the Diffuser framework the obvious way to help find problems is to run the original program and MDR program side by side to check the results, to remove the multiple processing and intervals as possible issues keep the Diffuser program you can run it with just one large interval.
Typical bugs introduced from converting a program to use Diffuser are:
- Global variables not being cleared at the end of the interval processing subroutine, if you have no problem with one large interval the problem will most likely be around clearing global variables
- Repeating code in interval processing that is only required once per background job
- Variables not being stored for the transformation program, don’t forget anything that needs to be displayed in the results needs to be stored into the results and retrieved by the transformation program
When seeing Intervals with an error status you should look for short dumps via transaction ST22 and messages against the background job as this should have also ended in failure. You can use the Debug an Interval option to rerun the interval via a dialog process to help you find the error.