Skip to Content

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  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.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Gautam Parida
    SAPScript editor seemed to me as really premitive at one time having worked with Crystal reports with the drag and drop facilities of variables and columns.
    Another observable thing is the amount of coding that goes in to control the printing .

    Not to ignore some off the extra capabilities that SAPScript has to handle complex forms but graphical drag and drop facilites to design a form seems to be lacking as compared to other reporting tools. The simple reports do not require so much of control during printing . Rather time to design complex reports is really a lot more and its complex as compared to other tools .

  2. Christopher Solomon
    Thanks Mark! Wow, you really brought back memories. I too remember my early exposure to SAPsctipt and the “fix one, break two” development model. (haha) I can remember almost turning ghost white when asked to create a custom Bill of Lading form then. (haha) But I also remember when SAPscript “suddenly” allowed “includes” …wooo whoooo! I was so overjoyed…made my life so much simpler. All in all SAPscript reminded me a lot of moving a baby grand piano around a room….”put it there….no put it over there…..mmmm….no put it back in that corner it was in before”. The functional folks never seemed to understand how time consuming the most minor change could be. =) Now when I am asked “do you know SAPscript?”, I just say “uhmmmm….nope, nope…never heard of it.”…no more moving pianos for me! (haha)

    Thanks again! Great Weblog to enjoy with my morning coffee.


Leave a Reply