Colons, commas, ampersands, dashes and slashes swam before my eyes.
It was 1995. I had recently returned from weeks of formal SAP training. ABAP I knew. This was not ABAP, not even close. This was a separate, unfamiliar output form tool called SAPscript.
Somehow, unaided, I had managed to navigate via pull-down menus — these were the early days of R/3 — into the section of the form where I needed to make my changes. Now I was faced with a jumble of strange characters with little resemblance to anything I’d seen before.
What the heck was “&KOMVD- KBETR(I12)&” ?
And where was the documentation?
This would be a challenge: could I make a minor formatting change to an invoice form without breaking two other things in the process?
The answer was yes — I broke three.
It took me another day to fix those. Yet I was determined that the next time I touched a form I would be better equipped.
One of the first tools I stumbled upon and added to my arsenal was the SAPscript debugger. Unlike the ABAP debugger, this one is somewhat hidden, turned on via a flag accessible only through the initial SE71 transaction screen (Utilities->Activate debugger) or through a program (RSTXDBUG); turning off this flag requires a different procedure (selecting ‘Cancel’ when the debugger pop-up appears or clicking on ‘Debugger->Exit’ while inside the debugger).
I soon learned that the SAPscript debugger only works for forms generated in the foreground, and that it is set globally, instead of for a specific form. I also learned to use its TRACE option to quickly check the flow of a form, to see if and when a particular element is called.
Though I have worked on countless forms since those early days, and with multiple form tools, I still remember how helpful the SAPscript debugger was for me back then. Much has changed in SAP over the past decade, but this tool seems to work pretty much as I remember it. If you are using SAPscript and you are not using its debugger, try it out. It can be a tremendous time-saver. For further details see SAP Note 19104.
In recent years, I have also found that for basic debugging of a Smart Form being developed, a strategically placed — and temporary — program node with the word ‘Break-point.’ in it usually will suffice; alternately, a soft break-point in the form’s generated function module should also work.
For advanced debugging, there is a separate Smart Forms trace tool. It can be activated via transaction SMARTFORM_TRACE in release 4.6c and via transaction SFTRACE in SAP Web AS 6.10 and higher. For more on this tool, see the SAP Help Portal. Visit http://help.sap.com. Navigate to section BC-SRV-SSF (Basis Services -> Smart Forms) and click on the subsection entitled ‘Form Output->Smart Form Trace’.
This is part 1 of a series of Weblogs on SAP output forms. We are gathering ideas as to future topics in this area and welcome your input.