WebAG Automat 4.3

Dokumentation Übersicht
Copyright © Enterprise Web AG.

webag_logo.jpg (2199 Byte)

Formularsystem
Juli 2003

Inhaltsverzeichnis

1. Konzepte

1.1 Formular-Editor 
1.2 Formular-Treiber
1.3 Container-Monitor

2. Berechtigungen

2.1 Formular-Editor
2.2 Formular-Treiber
 

3. Formular-Editor

3.1 Neues Formular erzeugen
  3.1.1 Formular bearbeiten
   3.1.2 Element bearbeiten
   3.1.3 Unterformulare

4. Formular-Treiber

4.1 Formular-Treiber bearbeiten
4.2 Formular-Treiber testen
   4.2.1. Formulareingaben

5. Container-Monitor

Inhalt | Zurück | Vor

1. Konzepte

Der Formular-Editor als Bestandteil des WebAG Automat ermöglicht auf einfache Weise die Erstellung von Web-Formularen. In Anlehnung an das Autorensystem wurde ein Editor konzipiert, mit dem die Formularelemente Eingabefeld, Checkbox, Radiobutton, Dropdown-Menü sowie zu Listen zusammengefasste Kombinationen dieser Elemente zusammengestellt werden können. Attribute von der Beschränkung der Feldlänge bis hin zu eigenen Validierungen der Eingaben erlauben vielseitige Einsatzmöglichkeiten. Die neuartige Eingabemöglichkeit in die mit eigenen Layouts individuell gestaltbaren Formulare sowie die beliebige Weiterverarbeitung der Daten aus einem XML-Container heraus runden das Konzept ab.  

Inhalt | Zurück | Vor

1.1 Formular-Editor

Im Formular-Editor wird das Formular aus beliebig wählbaren Elementen zusammengestellt. Die Reihenfolge ist dabei frei wählbar, auch die Anzahl der Formularelemente ist unbeschränkt. Bei komplexeren Formularen empfiehlt es sich jedoch aus Gründen der Übersichtlichkeit das Hauptformular in Unterformulare aufzuteilen. Elemente lassen sich zu Listen gruppieren und erlauben so tabellenartig das Speichern mehrerer Datensätze.

Mit Attributen lässt sich die Eingabemöglichkeit einschränken. Zur Verfügung stehen u.a. eine Feldlängenbegrenzung für Textfelder, die Vorbelegung von Dropdown-Menüs mit Wertelisten auch in Abhängigkeit von der Eingabe in anderen Feldern, die Kennzeichnung von Pflichtfeldern in denen Eingaben gemacht werden müssen sowie vorgegebene und eigene Validierungsfunktionen für Texteingaben.

Der Formular-Rohentwurf wird frei von Layout und Design in einem editierbaren XML-Code in der Datenbank abgelegt und bei der Formularverwendung mit Daten in einem Container gefüllt. Dabei ist eine benutzerorientierte Zugriffssteuerung aber auch ein anonymer Zugriff möglich.

Die die Formulardaten können vom Benutzer so lange editiert  werden bis er selbst das Formular abschließt und den nachgeschalteten, indivuduellen Verarbeitungsprozeß anstößt der im Formular-Treiber angegeben wird. Das Formular muß also nicht in einem durch, sondern kann auch schrittweise über mehrere Sitzungen ausgefüllt werden.

 Inhalt | Zurück | Vor

1.2 Formular-Treiber

Die Formular-Treiber enthalten Formularbezogen Verarbeitungsrichtlinien für einzelne Formulare. Dazu gehören Layout-Angaben, aber auch Autorisierungskonzepte (anonym oder angemeldet) die dem Formular zugrunde liegen.

Die Angabe der INIT-, SUBMIT- und DELETE-Prozedur spezifizieren, was mit dem Formular nach dem Ausfüllen passieren und wie mit den Formulardaten nach Abschluß der Eingabe oder Abbruch verfahren werden soll. Dem Administrator stehen hier alle Möglichkeiten die das Oracle XML-Kit für PL/SQL bietet offen um die für ihn frei zugänglichen Formulardaten aus dem XML-Container zu verarbeiten.

Inhalt | Zurück | Vor

1.3 Container-Monitor

Der Container-Monitor ist Kontrollinstanz für die gemachten Formulareingaben und nur dem Administrator zugänglich. Über Auswahlkriterien wie die Sortierung nach Benutzer oder gemachte Änderungen kann er gezielt Einsicht in den XML-Code des ausgefüllten oder sich in Bearbeitung befindlichem Formulars nehmen. 

Neben dem Datum der letzten Änderung sowie dem Namen des Benutzers bekommt der Administrator noch die interne Verarbeitungsnummer (ID) des Containers angezeigt. Er kann den kompletten Container löschen oder dessen Inhalt editieren.

Inhalt | Zurück | Vor

 

2. Berechtigungen

Auf Rohformulare, Formular-Treiber und das Anzeigen von Formular-Containern können Berechtigungen gesetzt werden. Dadurch kann der zentrale Administrator entlastet werden indem das Erstellen und Editieren von Formularen und von Formulartreibern in die Hände erfahrener Formular-Autoren gelegt wird.

 

2.1 Formular-Editor

Im Formular-Editor kann der zentrale Administrator Autoren benennen die bereits angelegte Formulare bearbeiten können.

Die Zuweisung der Formular-Autoren erfolgt für das jeweilige Formular in der Formular-Editor Ansicht des Formulars. Dabei wird die auch bei Seiten und Ordnern bekannte Autorenzuweisung verwendet.

Ein Autor der Formulare bearbeiten darf bekommt nach seiner Anmeldung im Navigationsbaum des Autorensystems den Ordner Formulare angezeigt. In der Liste aller Formulare wird ihm im Formular-Editor angezeigt welche Formulare er bearbeiten kann.

 

2.2 Formular-Treiber

Der zentrale Administrator kann Autoren und Container-Bearbeiter individuell für Formular-Treiber zuweisen.

Die Zuweisung erfolgt für den jeweiligen Formular-Treiber in dessen Einstellungen. Dabei wird die auch bei Seiten, Ordnern und Formularen bekannte Autorenzuweisung verwendet.

Autoren

Autoren können Änderungen an bereits angelegten Formular-Treibern vornehmen und den Formular-Treiber testen. Ein Autor der Formular-Treiber bearbeiten darf bekommt nach seiner Anmeldung im Navigationsbaum des Autorensystems den Ordner Formular-Treiber angezeigt. In der Liste wird ihm angezeigt welche Formular-Treiber er bearbeiten kann.

Container-Bearbeiter

Container-Bearbeiter können Formular-Container überwachen, d.h. einsehen. Ein Benutzer der Formular-Container einsehen darf bekommt nach seiner Anmeldung im Navigationsbaum des Autorensystems den Ordner Container-Monitor angezeigt. Dort können wie in 5. Container-Monitor beschrieben Formulardaten eingesehen werden.

 

Inhalt | Zurück | Vor

3. Formular-Editor

 

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

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

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

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

 

4. Formular-Treiber

 

4.1 Formular-Treiber bearbeiten

Ein Formular-Treiber kann immer nur zu genau einem Formular angelegt werden, ein Formular kann jedoch mehrere Formular-Treiber haben und so unterschiedliche Verarbeitungen nach sich auslösen. Zur Auswahl stehen alle (Ober-)Formulare.

An einen Formular-Treiber wird eine Sprachvariable gekoppelt. Diese Sprachvariable ${LANG} kann in eigenen Validierungsprozeduren abgefragt werden. Damit kann z.B. auf englischsprachige Formulare eine Datumsvalidierung nach englischen Regeln erfolgen, bei deutschsprachigen Formularen entsprechend nach deutschen Regeln.


Autorisierung

Das aus dem Autorensystem bekannte Autorisierungskonzept für Seiten wird in ähnlicher Form für Formulare angewendet. Im Formular-Treiber kann angegeben werden ob das Formular nur von angemeldeten Benutzern oder auch anonym aufgerufen werden kann. Bei durch Anmeldung autorisierten Formularen wird die Benutzerkennung an den Formular-Container gekoppelt, der Benutzer wird bei jeder Anmeldung wieder erkannt und kann die Dateneingabe im Formular fortsetzen. Bei anonymer Verwendung muss das Formular in einem ausgefüllt und abgeschickt werden.

 

 

Design

Die Formularausgabe ist an ein Web gekoppelt und bezieht von diesem die Homepage-Design Informationen. Zusätzlich können Textlayouts und Trigger-Sets gesetzt werden. Das Formular wird unter der Angabe von Spaltenanzahl und Spaltenbreite mit den gewählten Layout- und Design-Informationen dargestellt.

 

Eingabemodus des Formulars

Sie können wählen zwischen "Pop-Up" und "Pop-In"-Eingabefenstern. Hierbei handelt es sich um die Art, in der das Formular Eingaben entgegen nimmt. Ist "Pop-Up" eingestellt öffnet sich für jede Eingabe ein eigenes Fenster, ist "Pop-In" eingestellt wird die Eingabe in der aktuellen Webseite vorgenommen.

 

Formularverarbeitung - Init, Submit, Delete und Rückgabe

Die Verarbeitung von Formulardaten, also dem Formular-Container Inhalt, ist je nach Anwendungsfall unterschiedlich. Das Formularsystem bietet standardmäßig neben der Datenablage in einem XML-Container in der Datenbank das Mailen der Daten an eine vorgegebene Adresse.

Um individuelle Anwendungen zu realisieren können mit Aufruf (Init), dem Abschicken (Submit) oder Löschen (Delete) eines (Teil-)Ausgefüllten Formulars PL/SQL Prozeduren ausgeführt werden die unter Angabe eigener und interner Parameter auf den Datenbestand des XML-Containers zugreifen können.

Die Enterprise WebAG bietet individuell zugeschnittene Schulungen zu PL/SQL und dem zum Einsatz kommenden XML-Toolkits von Oracle an die es in kurzer Zeit ermöglichen eigene Web-Anwendungen zu entwickeln.

 

Init

Der hier angegebene Prozeduraufruf wird ausgeführt wenn das Formular zum ersten mal aufgerufen wird. Er ist optional, denn nicht immer sind Initialisierungen vor dem Ausfüllen eines Formulars notwendig.

Der PL/SQL Prozedur können formularspezifische Daten in Form von Variablen mitgegeben werden die beim Aufruf ersetzt werden. Eine Übersicht der möglichen Variablen befindet sich hier

 

Submit

Der hier angegebene Prozeduraufruf wird ausgeführt wenn die Formulareingaben auf Pflichtfelder überprüft wurden und das Formular abgeschlossen wird. 

Der PL/SQL Prozedur können formularspezifische Daten in Form von Variablen mitgegeben werden die beim Aufruf ersetzt werden. Eine Übersicht der möglichen Variablen befindet sich hier

Das Beispiel zeigt den Prozeduraufruf für die standardmäßig bereitgestellte Prozedur zum mailen der Formulardaten an einen email-Empfänger. Die Prozedurvariable i_form_container_id bekommt durch die Zuweisung  i_form_container_id => ${FORM_CONTAINER_ID}die interne Container-ID der Datenablage mit und kann für die Weiterverarbeitung genutzt werden.

Beispiel: Formulardaten des Containers an eine email-Adresse mailen

wt_form_api.submit_handler_mail (
    i_form_container_id => ${FORM_CONTAINER_ID},
    i_from              => 'webmaster@webag.com',
    i_to                => 'info@webag.de',
    i_subject           => 'Formular-Mail',
    i_format            => 'TEXT')

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

Delete

Der hier angegebene Prozeduraufruf wird ausgeführt wenn die Formulareingaben gelöscht werden sollen. 

Der PL/SQL Prozedur können formularspezifische Daten in Form von Variablen mitgegeben werden die beim Aufruf ersetzt werden. Eine Übersicht der möglichen Variablen befindet sich hier

 

Rückgabe-Webseite URL

Die hier angegebene Inter-/Intranet-Adresse wird angezeigt wenn das Formular nach erfolgreicher Prüfung auf Pflichteingaben abgeschlossen wird.
 

Variablen in den Prozedur-Aufrufen

Die Variable ${FORM_CONTAINER_ID} wird ersetzt durch die aktuelle Container-ID des Formulars. Um die Variable zu verwernden kann Aufruf einer eigenen PL/SQL-Prozedur z.B. eine Zeile der Form

i_form_container_id => ${FORM_CONTAINER_ID}

haben. In der Prozedur hat die Prozedurvariable i_form_container_id dann den Wert der Container-ID.

Inhalt | Zurück | Vor

 

4.2 Formular-Treiber testen

Beim testen eines Formulartreibers wird zu dessen Formular ein Container-Eintrag angelegt und über einen Link zur Bearbeitung angeboten. 

 

4.2.1. Formulareingaben

Die Eingabeseite des Formulars wird mit den eingestellten Layout- und Designangaben dargestellt. Wenn das Formular aus mehreren Unterformularen besteht kann man diese durch ein Dropdown-Menü auswählen. Die Eingaben werden in den Feldern einzeln gemacht und werden im Gegensatz zu herkömlichen Formulareingaben sofort gespeichert. Um das Ausfüllen zu erleichtern kann im Eingabe-Popup-Window die Option "Speichern und weiter" gesetzt werden. Dann kann jede Eingabe mit ENTER quittiert und automatisch zum nächsten Feld gesprungen werden.      

Inhalt | Zurück | Vor 

 

5. Container-Monitor

Der Container-Monitor dient dem Administrator zur Überwachung der Formulareingaben. Die Datenausgabe lässt sich Filtern und sortieren, auch eine Volltextsuche in dem im XML-Format abgelegten Daten ist möglich. Der Administrator kann jedes Formular selbst zur Dateneingabe aufrufen oder löschen. 

In der  Übersicht der gefilterten Formulare werden nur Oberformulare angezeigt. Beim Formlaraufruf zur Bearbeitung werden in der bekannten Weise die zugehörigen Unterformulare zur Bearbeitung angeboten. Beim Löschen werden nach Rückfrage sämtliche zu dem Formular gehörigen Unterformulare mitgelöscht. 

Inhalt | Zurück | Vor

 


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