Check out one of SAP´s demo Smartforms with a brief description of the AbapcadabrA author... Start transaction SMARTFORMS
and enter SPPFDEMO_BOOK
. This is our example Smartform - with guided tour:
- The first (main) screen shows a tree-structure panel on the left side of the screen, which is the navigation panel when editing the Smartform. The initial screen shows the Smartform "General attributes" and "output options". They should speak for themselves, however the page format is quite crucial. You could be designing a form to print stamps, or the classic A4 sized form (
DINA4
). - The form interface (double click on "form interface" in the navigation panel) is all about the information that is passed on to the form. It´s my personal humble opinion that a Smartform should be called with all it´s database information pre-selected and available on the interface. From sheer maintanance point of view, the Smartform should be about displaying information, and not about gathering it. Exceptions to this rule could be descriptions of codes. Mind you: not everybody agrees with the use of the interface, it´s very easy to add a coding block anywhere in the Smartform to pick up your missing info. Just make sure someone else gets to maintain the Smartform later on. Thus: the interface holds the variables which are available throughout your smartform. The variables (and tables) are to be passed on in the Smartform call (a funciton module call).
- The "Global definitions" section allows you to introduce variables that will be available throughout the Smartform. The same applies to routines, types, field symbols, and currency fields. They can be defined here and they will be available throughout the Smartform. Again, if your interface is properly set up, there is no true need to define any routines here - but hey, it can be done and it´s all up 2u.
- The next section is about Pages and Windows - a page consists of windows. One of the windows is "scrollable" and acts as the "main window".
- It´s possible to define several pages, in which a first page (with a lot of space occupied by the address and letter-header) is completely different to the second page.
- Each page should at least have a main page (which is not mandatory though). The main page should be seen as the area on the Smartform document that can be "filled up" or "flooded" with information. If the main page is full, the next page is automatically initiated (and so on and so on).
- Within the page window, all kinds of elements can be added. A block of program lines (with importing and exporting parameters), tables, texts, conditions, many types of components can be added to the window of a page.
- Most elements can be made conditional. Even a window can be conditional. The condition defines whether the element or window is displayed (processed). Conditions can be set up on the "Conditions" tab of the element.