Hi, please be gentle, as I dare to enter my first blog-post. 🙂
The following might be a bit simple and child knowledge for you all, but I wish someone would have told me this little trick, when I first started developing Smartforms.
I used to get this question a lot: “Martin – we have a problem with the invoice print, and we can’t re-create the error in the development system. Can you please debug and find the error in the production system?”
I really needed to create a session break-point directly into the Smartform in the production system, but how? – where was the button in the smartforms transaction?.No way was I going to create a transport request with the smartform holding a coded breakpoint.
Sure I could go to VF03 and use ‘/h’, but that is kind of a tedious way to go.
Instead I did this:
1. Go to Smartforms transaction and type in the smartform name and hit “test”. Then you get the function module name that triggers the smartform print in the given system.
2. Copy the FM name to clip holder and go to SE80.
3. Select program and paste the name in.
4. Put an ‘L’ just before the last name and end it with a ‘F01’ and hit enter.
You now get the include, that holds all form routines representing every node in the smartform. Search for the one you need, and create your session breakpoint in the productive system.
(Global initialization in the smartform is in subroutine ‘GLOBAL_INIT)
Please note that this does not work for all smartforms but in my experience most SD forms can be debugged this way in productive and QA-systems.