WebAG Automat 5.0

Dokumentation Übersicht
Copyright © Enterprise Web AG.

webag_logo.jpg (2199 Byte)

Formularsystem 2.0
Formularsystem - Editor

 

1. Formular-Editor

 

1.1 Neues Formular erzeugen

Formulare werden einzeln vom Administrator angelegt. Eine Gruppierung, d.h. Zuweisung von Unterformularen zu Formularen erfolgt für jedes Formular separat im Editor. 

Die Funktion "Neues Formular erzeugen" legt ein leeres Formular ohne Elemente an. Das neue Formular kann auch Kopie eines anderen sein und später im Editor bearbeitet werden.

Inhalt | Zurück | Vor

1.1.1 Formular bearbeiten

Der Bearbeitungsmodus für Formulare ist dem für Seiten nachempfunden und intuitiv zu bedienen. Die einzelnen Elemente eines Formulars werden analog zu Absätzen einer Seite eingefügt, positioniert und bearbeitet. Formularelemente werden farblich, durch Einrücken und Umrahmung je nach Typ voneinander abgesetzt oder einander zugeordnet.

Inhalt | Zurück | Vor

Kopiern und Löschen

Von den Bearbeitungsfunktionen für Formulare sind das Kopieren und Löschen weitgehend selbsterklärend. Beim Kopieren wird direkt der Bearbeitungsmodus für die erstellte Kopie aufgerufen. Das Löschen erfolgt nach Sicherheitsabfrage und einer Auskunft über das zu löschende Formular.

Inhalt | Zurück | Vor

XML-Quelltext

Der XML-Quelltext wird im Hintergrund durch das Formularsystem generiert und in der Datenbank abgelegt. Änderungen im Quelltext oder gar der Datenbank sollten nur erfahrene Administratoren vornehmen. Es ist wichtig sich bei Änderungen an die XML-Syntax zu halten. Bei einem Verstoß gibt der Formulareditor einen Fehlermeldung aus, die Korrektur muss im XML-Quelltext erfolgen.

Die Arbeit am Quelltext darf sich nur auf Änderungen beschränken. Das Hinzufügen von neuen Formularelementen muss über den Editor erfolgen, da intern IDs (Attribut ID) vergeben werden deren Eindeutigkeit bei manueller Quelltextbearbeitung nicht gewährleistet werden kann.

Inhalt | Zurück | Vor

XML-Import

Durch den XML-Import können XML-Quelltexte bestehender Formulare geladen werden. Die Importfunktion kümmert sich dabei um die Anpassung der IDs. Es empfiehlt sich, ein leeres Formular anzulegen und in das XML-Importfeld den Quelltext zu kopieren (mit Copy & Paste).

Inhalt | Zurück | Vor

Formular testen

Das Formular kann auch während der Entwicklung ständig getestet werden. Dazu wird ein Formular Container zu dem aktuellen Formular und eventuell seinen Unterformularen angelegt. Die Befüllung des Formular-Containers mit Daten kann im Container-Monitor verfolgt werden.

Um ein Formular zu testen muss es über einen Formular-Treiber verfügen. Ein Formular ohne Formular-Treiber kann nicht getestet werden und auch nicht produktiv gehen.

Nach Zuweisung des Formular-Treibers und automatischem anlegen des Formular-Containers kann das Formular aufgerufen werden.

Inhalt | Zurück | Vor

1.1.2 Element bearbeiten

Ein Formular wird aus einzelnen Elementen aufgebaut. Elemente können in beliebiger Reihenfolge und Anzahl platziert werden. Ihre Reihenfolge lässt sich ändern. Die bekannten Grundfunktionen "Kopieren" und "Löschen" lassen sich auch auf Elemente anwenden. Dabei wird die Eindeutigkeit der internen IDs gewährleistet.

Folgende Elemente können ausgewählt werden:

Deutsche Bezeichnung Englische (Internet-)Bezeichnung interne XML-Tag Bezeichnung (*)
Textfeld Textfield wt_TEXT
Textarea Textarea wt_TEXTAREA
Kontrollkästchen Ceckbox wt_CHECKBOX
Dropdown Menü
  • Option
Select
  • Option
wt_SELECT
  • wt_OPTION
Optionsfeld
  • Option
Radiobutton
  • Option
wt_RADIO
  • wt_OPTION
Liste
  • Tabellenzeile
  • weitere Elemente
List
  • Row
wt_LIST
  • wt_ROW
Extern External wt_EXTERNAL
Hidden Hidden wt_HIDDEN

(*) Die TAGs sind Case-Sensitiv

Dropdown-Menüs, Optionsfelder und Listen haben verschachtelte TAGs. Bei Dropdown-Menüs und Optionsfelder sind das deren Option(en), eingeleitet durch wt_OPTION. Listen werden tabellarisch angelegt und können in einer Kopfzeile eingeleitet durch wt_ROW alle anderen Elemente außer Listen selbst als Spalten aufnehmen. 

Beim Anlegen von Elementen mit verschachtelten TAGs wird dies im Editor farblich, durch Einrücken und Umrahmung dargestellt. Die Optionen in Dropdown-Menüs bzw. Optionsfelder können im jeweiligen Rahmen eingefügt, kopiert, gelöscht und positioniert werden.

Elemente und Attribute

Den Elementen lassen sich Attribute zuweisen mit denen schon im Vorfeld der Verarbeitung ein gewisser Kontrollfluss gestaltet werden kann. Neben der Beschränkung der Eingabefeldlänge können Werte vorbelegt werden, Pflichtfelder definiert und Validierungen für Eingaben zugewiesen werden u.a.

Folgende Attribute sind bei den jeweiligen Elementen zulässig

  wt_TEXT wt_TEXTAREA wt_CHECKBOX wt_SELECT wt_OPTION wt_RADIO wt_OPTION wt_EXTERNAL

wt_LIST

wt_HIDDEN
NAME x x x x x x   x x x
LABEL x x x x x x x x x  
URL x x x x   x   x x  
ON_INSERT                 x  
ON_DELETE                 x  
MAX_ROWS                 x  
PROMPT x x x x   x   x    
PROMPT_FREE       x            
VALUE x x x   x   x x mögliche
Elemente:

wt_TEXT
wt_TEXTAREA
wt_CHECKBOX
wt_SELECT
wt_RADIO
wt_EXTERNAL
wt_HIDDEN

x
SIZE x     x          
ROWS   x              
COLS   x              
ON_EDIT               x  
ON_SHOW               x  
ON_CHANGE x x x x   x   x  
TARGET               x  
INPUT               x  
VALIDATE x x              
FORMAT x x              
CHECKED     x       x x  
SELECTED       x          
FREE       x          
SQL         x        
REQUIRED x x   x   x      

 

Die Elemente im einzelnen

Textfeld (wt_TEXT)
Einzeilige Textfelder können in ihrer Eingabelänge beschränkt werden. Ihr Inhalt (VALUE) kann in Validierungsprozeduren oder den OPTIONs eines Dropdown-Menüs über die Variable ${VALUE}abgegriffen werden ('${VALUE}' bei Stringinhalten). Zur Bearbeitung eines Textfeldes in der Formulareingabe öffnet sich ein Popup-Fenster.

Textbereich (wt_TEXTAREA)
Die Größe eines Textbereichs wird über die Anzahl Zeilen (COLS) und Spalten (ROWS) bestimmt. 

Checkbox (wt_CHECKBOX)
Checkboxen sind Ankreuzfelder. Sie können nicht wie Radio-Buttons gruppiert werden.  

Dropdown-Menü (wt_SELECT mit wt_OPTION)
Dropdown-Menüs können "von Hand" mit Einträgen (OPTIONs) gefüllt werden oder automatisch durch SQL-Anweisungen aus Datenbanktabellen. Die freie Eingabe von Werten die nicht in der Auswahlliste stehen ist bei Bedarf möglich. Beim Ausfüllen des Formulars wird ihre VALUE entsprechend gekennzeichnet, also ob es sich um einen Eintrag aus einer Werteliste oder einen Freitext handelt.

Radio Button (wt_RADIO mit wt_OPTION)
Die Inhalt einer Radio-Button Gruppierung wird über die wt_OPTIONs bestimmt. Bei der Auswahl kann immer nur eine Option selektiert werden.

Liste (wt_LIST)
In Listen können alle Elemente beliebig oft vorkommen, außer Listen selbst (keine verschachtelten Listen). Die Elemente einer Liste werden über dessen Attribute zugewiesen. Alle möglichen Elemente außerhalb und innerhalb der Liste werden dargestellt und können zugeordnet werden.

Extern (wt_EXTERNAL)
Eigene Felder, die als PL/SQL Stored Procedure abgelegt sind. Als Beispiel und WebAG Automat Standardfunktionalität ist ein Upload von Dateien voreingestellt.

Hidden (wt_HIDDEN)
Versteckte Felder (hidden fields) können zum Transport von Informationen dienen die auf den Formular-Webseite nicht angezeigt werden.

 

Die Attribute im einzelnen

NAME
Beschreibung  Interne Bezeichnung für ein Element. Hilfreich für die spätere Weiterverarbeitung der Formulardaten neben den intern vergebenem, eindeutigem ID-Attribut.
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_SELECT und wt_OPTION, wt_RADIO, wt_EXTERNAL, wt_LIST, wt_HIDDEN


LABEL
Beschreibung  Bezeichner für ein Element, der in der Formulardarstellung zur Anzeige verwendet wird.
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_SELECT / wt_RADIO und wt_OPTION, wt_EXTERNAL, wt_LIST


URL
Beschreibung  Internet-/Intranet-Adresse als Verweis auf einen Hilfetext zum Formularelement
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_SELECT, wt_RADIO, wt:EXTERNAL, wt_LIST

 

ON_INSERT
Beschreibung  PL/SQL Prozedur die beim Einfügen einer Listenzeile ausgeführt wird. Die Syntax lautet (z.B.)

my_package.on_insert (
   i_form_container_id => ${FORM_CONTAINER_ID},
   i_element_name      =>'${ELEMENT_NAME}',
   i_row               =>${ROW})
 

Variablen  Der Insert-Prozedur können folgende Variablen übergeben werden die bei der Ausführung ersetzt werden:
  • ${FORM_CONTAINER_ID}
    Interne ID des Formular-Containers

  • ${LANG}
    Sprachvariable DE oder EN, die im Formular-Treiber gesetzt wurde
  • ${ELEMENT_ID}
    ID des aufrufenden Formular-Elements
  • ${ELEMENT_NAME}
    Interner Name des aufrufenden Formular-Elements
  • ${ROW}
    Listenzeile
Verwendung  wt_LIST

 

ON_DELETE
Beschreibung  PL/SQL Prozedur die beim Löschen einer Listenzeile ausgeführt wird. Die Syntax lautet (z.B.)

my_package.on_delete (
   i_form_container_id => ${FORM_CONTAINER_ID},
   i_element_name      =>'${ELEMENT_NAME}',
   i_row               =>${ROW})
 

Variablen  Der Delete-Prozedur können folgende Variablen übergeben werden die bei der Ausführung ersetzt werden:
  • ${FORM_CONTAINER_ID}
    Interne ID des Formular-Containers

  • ${LANG}
    Sprachvariable DE oder EN, die im Formular-Treiber gesetzt wurde
  • ${ELEMENT_ID}
    ID des aufrufenden Formular-Elements
  • ${ELEMENT_NAME}
    Interner Name des aufrufenden Formular-Elements
  • ${ROW}
    Listenzeile
Verwendung  wt_LIST

 

MAX_ROWS
Beschreibung  Beschränkung der Anzahl Zeilen einer Liste
Verwendung  wt_LIST

 

PROMPT
Beschreibung  Hinweistext beim Aktivieren eines Eingabefeldes
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_SELECT, wt_RADIO, wt_EXTERNAL

 

PROMPT_FREE
Beschreibung  Hinweistext bei der Freien Eingabe beim Aktivieren eines Eingabefeldes
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_SELECT, wt_RADIO, wt_EXTERNAL


VALUE
Beschreibung  Vorbelegung eines Elements mit einem bestimmten Default-Wert, der in der Formulardarstellung angezeigt wird.
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_OPTION, wt_EXTERNAL, wt_HIDDEN


SIZE
Beschreibung  Zeichenlänge für Textfelder bzw. Anzahl der Dropdown-Menü Einträge
Verwendung  wt_TEXT, wt_SELECT


ROWS, COLS
Beschreibung  Anzahl Zeilen/Spalten einer Textarea
Verwendung  wt_TEXTAREA

 

ON_EDIT
Beschreibung  PL/SQL Prozedur die zum Bearbeiten des Feldes ausgeführt wird. Die Syntax lautet (z.B.):

wt_show_form.edit_upload(
   i_form_container_id => ${FORM_CONTAINER_ID},
   i_lang              =>'${LANG}',
   i_element_id        =>${ELEMENT_ID},
   i_element_name      =>'${ELEMENT_NAME}')
 

Variablen  Der Edit-Prozedur können folgende Variablen übergeben werden die bei der Ausführung ersetzt werden:
  • ${FORM_CONTAINER_ID}
    Interne ID des Formular-Containers

  • ${LANG}
    Sprachvariable DE oder EN, die im Formular-Treiber gesetzt wurde
  • ${ELEMENT_ID}
    ID des aufrufenden Formular-Elements
  • ${ELEMENT_NAME}
    Interner Name des aufrufenden Formular-Elements
  • ${ROW}
    Listenzeile
Verwendung  wt_EXTERNAL

 

ON_SHOW
Beschreibung  PL/SQL Prozedur die zum Anzeigen des Wertes des Feldes ausgeführt wird. Die Syntax lautet (z.B.):

wt_show_form.show_upload(
   i_form_container_id => ${FORM_CONTAINER_ID},
   i_element_id        =>${ELEMENT_ID})
 

Variablen  Der Show-Prozedur können folgende Variablen übergeben werden die bei der Ausführung ersetzt werden:
  • ${FORM_CONTAINER_ID}
    Interne ID des Formular-Containers

  • ${LANG}
    Sprachvariable DE oder EN, die im Formular-Treiber gesetzt wurde
  • ${ELEMENT_ID}
    ID des aufrufenden Formular-Elements
  • ${ELEMENT_NAME}
    Interner Name des aufrufenden Formular-Elements
  • ${ROW}
    Listenzeile
Verwendung  wt_EXTERNAL

 

ON_CHANGE
Beschreibung  PL/SQL Prozedur die nach ändern eines Wertes ausgeführt wird. Die Syntax lautet (z.B.):

my_package.on_change(
   i_form_container_id => ${FORM_CONTAINER_ID},
   i_element_name      =>'${ELEMENT_NAME}',
   i_row               =>${ROW})
 

Variablen  Der Change-Prozedur können folgende Variablen übergeben werden die bei der Ausführung ersetzt werden:
  • ${FORM_CONTAINER_ID}
    Interne ID des Formular-Containers

  • ${LANG}
    Sprachvariable DE oder EN, die im Formular-Treiber gesetzt wurde
  • ${ELEMENT_ID}
    ID des aufrufenden Formular-Elements
  • ${ELEMENT_NAME}
    Interner Name des aufrufenden Formular-Elements
  • ${ROW}
    Listenzeile
Verwendung  wt_TEXT, wt_TEXTAREA, wt_CHECKBOX, wt_SELECT, wt_RADIO

 

TARGET
Beschreibung  Zielfenster des externen Feldes (_self, _blank)
Verwendung  wt_EXTERNAL

 

INPUT
Beschreibung  Eingabemöglichkeit im Feld (Eingabelink)
Verwendung  wt_EXTERNAL


VALIDATE
Beschreibung  PL/SQL Prozedur einer Validierungsroutine für Eingaben. Wird mit der Container-ID bei Formulareingaben aufgerufen. Standardmäßig stehen zur Verfügung: DATE und NUMBER
Variablen  Der Validate-Prozedur können folgende Variablen übergeben werden die bei der Ausführung ersetzt werden:
  • ${FORM_CONTAINER_ID}
    Interne ID des Formular-Containers

  • ${LANG}
    Sprachvariable DE oder EN, die im Formular-Treiber gesetzt wurde
  • ${ELEMENT_ID}
    ID des aufrufenden Formular-Elements
  • ${ELEMENT_NAME}
    Interner Name des aufrufenden Formular-Elements
  • ${VALUE}
    Eingegebener Wert 
  • ${FORMAT}
    Formatierungsanweisung für NUMBER, DATE oder eigene Validierungsprozeduren. NUMBER- und DATE-Formatierungen entsprechen den Standardformatierungen für diese Felder.
Verwendung  wt_TEXT, wt_TEXTAREA


FORMAT
Beschreibung  Formatierungsangaben für die Validierungsroutine, z.B. TT.MM.YYY für Datum oder 999.99 für Zahlen
Verwendung  wt_TEXT, wt_TEXTAREA


CHECKED
Beschreibung  Vorauswahl einer Check- oder Radiobox. Bei Radio-Boxen werden bei CHECKED=TRUE automatisch die anderen zugehörigen Elemente auf CHECKED=FALSE gesetzt. 
Verwendung  wt_CHECKBOX,  wt_OPTION in wt_RADIO


SELECTED
Beschreibung  Vorauswahl eines Wertes in Dropdown-Menüs. Zur Auswahl stehen die Werte der zugehörigen wt_OPTIONs.
Verwendung  wt_SELECT


FREE
Beschreibung  Freitext-Eingabe neben Dropdown-Menüs zulassen.
Verwendung  wt_SELECT


SQL
Beschreibung  SQL-Anweisung zur Befüllung von NAME-VALUE-Paaren in Dropdown-Menüs. Die Syntax lautet

SELECT row_x NAME, row_y VALUE
  FROM table
 WHERE condition

Die WHERE-Bedingung kann die Variable ${<Elementname>} enthalten, wobei Elementname die interne Bezeichnung (Attribut NAME) eines im Formular verendeten Elements ist. Wenn es sich um einen String handelt müssen Anführungsstriche benutzt werden:  '${<Elementname>}'

Während der Formulareingabe wird die Variable der SQL-Anweisung ersetzt. Dadurch können Abhängigkeiten zwischen Eingaben in anderen Feldern und Select-Elementen geknüpft werden, z.B. die Anzeige von Orten zu einem zuvor gewählten Landes.

Verwendung  wt_OPTION in wt_SELECT 


REQUIRED
Beschreibung  Kennzeichnet ein Feld als Pflichtfeld in dem eine Eingabe gemacht werden muss. Die Überprüfung erfolgt mit Hinweis bei Abschluss der Formulareingaben.
Verwendung  wt_TEXT, wt_TEXTAREA, wt_SELECT, wt_RADIO

Anmerkung:
In der Quicktour zum Formularsystem findet sich ein Beispiel zu einer eigenen Validierungsfunktion für die Überprüfung der korrekten Syntax einer email-Adresse.

Inhalt | Zurück | Vor

1.1.3 Unterformulare

Insbesondere bei komplexeren Formularen empfiehlt sich eine Aufteilung. Um die Zugehörigkeit zu einem Formular zu assoziieren lassen sich beliebig viele Formulare als Unterformulare zu einem anderen Formular definieren. Ein Formular kann jedoch nur einmal Unterformular sein. Eine mehrfache Verwendung als Unterformular zu verschiedenen Formularen ist nicht möglich. Die angebotene Liste der Möglichen Hauptformulare bei der Zuweisung berücksichtigt diesen Aspekt.

Eine Zuweisung zum Unterformular lässt sich jederzeit ohne Folgen für den bereits erfassten Datenbestand aufheben. Er bleibt - wie bei allen Änderungen am Rohformular - davon unberührt.

Inhalt | Zurück | Vor

 


WebAG Automat Dokumentation
Copyright
© Enterprise Web AG.
Alle Rechte vorbehalten.