Toolmaker Produkt-Dokumentation
Aufbereitungsoptionen in RPGWX-Prozeduren
Inhaltsübersicht
Um die Anzahl der Parameter so gering wie möglich zu halten, werden Aufbereitungsoptionen in Form von Schlüssel-Worten in einem Text-String übergeben. Sind mehrere Aufbereitungsoptionen erforderlich (z.B. Muss-Feld und Datumsaufbereitung), werden die Schlüssel-Worte hintereinander durch *Blanks getrennt angegeben.
Optionen sind nicht case sensitive, d.h. die folgenden Optionen führen zum gleichen Ergebnis: required, REQUIRED, Required, ReQUired
Viele Prozeduren - insbesondere die zur Ausgabe von Variablen im Browserfenster - haben Optionen zur Aufbereitung. Diese in Form von Schlüssel-Worten in einem Text-String übergeben. Sind mehrere Aufbereitungsoptionen erforderlich (z.B. Muss-Feld und Datumsaufbereitung), werden die Schlüssel-Worte hintereinander durch *Blanks getrennt angegeben.
Beispiele:
Die Prozedur Wx_ChgFld sorgt dafür, dass in einem CHG-Programm ein Feld im Browserfenster erscheint. Die Aufbereitungsoptionen sind ihr letzter (optionaler) Parameter.
Wx_ChgFld('ADRID : %Addr(ADRID) : 'FAD0000' : 'Output');
→ Das Feld ADRID erscheint, ist aber nicht eingabefähig
Wx_ChgFld('PLZ' : %Addr(PLZ) : 'FAD0200' : 'Required NoNewLine');
→ Das Feld PLZ ist ein Muss-Feld und das nächste Feld wird in derselben Zeile erscheinen
Optionen sind nicht case sensitive, d.h. die folgenden Optionen führen zum gleichen Ergebnis: required, REQUIRED, Required, ReQUired
Steuerungsoptionen für HTML-Dokumente
Beim Öffnen der HTML-Dokumente können diverse Schlüssel-Worte für die Anzeige und Aufbereitung des Dokuments festgelegt werden.
Die Übergabe der Optionen erfolgt über Schlüssel-Worte beim Öffnen der HTML-Dokumente, d.h. beim Aufruf der Funktionen Wx_OpnHTMLWrk und WX_OpnHTMLChg.
HelpDoc - Hinterlegen einer allgemeinen Hilfe für Detail- und List-Anzeigen
In den Optionen der Prozeduren Wx_OpnHTMLWrk()
und Wx_OpnHTMLChg()
können Hilfen für die gesamte HTML-Seite hinterlegt werden.
Wenn die Seite mit der Funktion Wx_ChgNavTab()
in Reiter aufgeteilt wurde, dann gibt es nur ein HelpDoc für alle Reiter der Seite.
Das Schlüssel-Wort selber kann mit bis zu 4 Parametern, die durch Kommata getrennt werden, angegeben werden.
Die Option helpDoc kann verweisen auf:
- Eine PDF-Datei, ggf. mit Seitennummer
- Eine URL
Syntax
Wx_OpnHTMLWrk('xxxx': 'xxxxxx': '': 'helpDoc(<prompt>, <helpsource> [ , <anchor>, <icon> ] )');
Parameter
prompt - Text der angezeigt wird
Text kann wahlweise direkt oder als Message-Id, die in den Anwendungs-Message-Files hinterlegt sein muss angegeben werden.
helpsource - Name eines PDF-Dokumentes oder Link zum Hilftext
Gütlige Werte:
- Name eines PDF-Dokuments
- dieses muss im IFS der IBM i im Anwendungs-Verzeichnis für Hilfe-Dokumente /www/dirweb/htdocs/HelpDocs/<anwendung> hinterlegt sein.
- Für mehrsprachige Bedienerhilfe müssen unterschiedliche PDF-Dokument in der gleichen Message-Id in den Sprachen-Message-Files hinterlegt werden.
- URL zu einem Hilfetext
- direkt (http://....)
- Verweis auf eine MSGD, in der die URL hinterlegt ist
anchor - Anker im PDF-Dokument
Optional, nur bei PDF-Dokumenten
Gültige Werte:
- "
#page=x
": x=Seitenzahl im PDF-Dokument - "
*NONE
": Keine Seitenzahl - nur erforderlich, wenn der nächste Parameter (icon
) verwendet werden soll
Sofern keine Seiten-Zahl benötigt wird, jedoch im 4. Parameter ein spezielles Icon hinterlegt werden soll, kann der 3. Parameter mit dem Default-Wert *NONE
angegeben werden.
icon - Individuelles Icon
Optional
Sofern ein individuelles Icon verwendet werden soll, wird dieses ohne Pfad im 4. Parameter angegeben.
Das Icon muss im Anwendungs-Pfad für Icons /www/dirweb/htdocs/HelpDocs/<anwendung> hinterlegt sein.
Wird kein Icon angegeben wird ein Default-Icon verwendet.
Beispiele
Wx_OpnHTMLWrk('Überschrift Programm': 'EXCHGCOMP': '': 'helpDoc(BedienerHilfe, WOPiXX.PDF)');
Wx_OpnHTMLWrk('Überschrift Programm': 'EXCHGCOMP': '': 'helpDoc(BedienerHilfe, WOPiXX.PDF, #page=8)');
Wx_OpnHTMLWrk('Überschrift Programm': 'EXCHGCOMP': '': 'helpDoc(MSG4711, MSG4712, *NONE, MyIcon.png)');
Wx_OpnHTMLWrk('TIT0012' : 'EXCHGCOM' : '' : 'helpDoc(HLP0002, HLP0001, *NONE, Phone-52.png) ');
Steuerungsoptionen nur für Work-Tables
Die folgenden Steuerungsoptionen gelten nur für Worktables
NoList - Beim ersten Aufruf nur die Filter anzeigen
Wird das Schlüssel-Wort NoList
übergeben, werden beim ersten Aufruf nur die Filter angezeigt, die Liste enthält noch keine Sätze.
Diese Auswahl ist insbesondere dann sinnvoll, wenn große Dateien durchsucht werden sollen und vorab die Möglichkeit einer Vorauswahl bereitgestellt werden soll.
EmptyList -Beim ersten Aufruf eine leere Liste und die Anzahl der Datensätze anzeigen
Wird das Schlüssel-Wort EmptyList
angegeben, werden die Filter und eine leere Liste angezeigt. Das SQL-Statement, das die Liste aufbaut wird ausgeführt. Die Anzahl der Datensätze wird angezeigt.
Bei großen Tabellen bzw. bei komplexen SQL-Statements sollte NoList der Angabe von EmptyList vorgezogen werden.
DoubleClick -Default-Programm für den Doppelklick
Standardmäßig wird bei DoubleClick auf einen Satz in der List-Anzeige das Folge-Programm im Änderungs-Modus eröffnet. Vielfach ist dies jedoch nicht erwünscht, d.h. entweder soll das Folge-Programm bei Doppelklick im Anzeige-Modus geöffnet werden, oder bei Doppelkllick soll keine Aktion erfolgen. Weiterhin ist es möglich beim Doppeklick, bevor das Folge-Programm im Änderungs-Modus geöffnet wird ein Bestätigungs-Fenster auszugeben.
Bei dem Schlüssel-Wort können ein oder zwei Parameter angegeben werden. Sofern beide Paramter angegeben werden, müssen sie durch ein Komma getrennt werden.
Das Schlüssel-Wort DoubleClick, sowie die einzelnen Parameter können in jeder beliebigen Groß-/Klein-Schreibung angegeben werden.
Syntax
Wx_OpnHTMLWrk('xxxx': 'xxxxxx': '': 'Doubleclick(<mode>, [ <confirm [ (<confirmmsg>) ] > ] ');
Parameter
modus - Modus
Gültige Werte
*DSP/*DISPLAY
= Anzeige Modus*CHG/*CHANGE
= Änderungs-Modus*NONE
= Keine Aktion bei Doppel-Klick
confirm - Bestätigung erforderlich
Optional, nur für Änderungs- und Anzeige-Modus
Gültige Werte
Confirm
: mit Standard-Bestätigungstext
confirm(<confirmmsg>)
confirmmsg - Inhalt der Bestätigungsaufforderung
Bestätigungstext in Klammern
- - MSGID -
Message-Id für Bestätigungstext in Klammern
Beispiele
Wx_OpnHTMLWrk('TIT0012': 'EXCHGCOMP': '': 'DoubleClick(*NONE)');
Wx_OpnHTMLWrk('TIT0012': 'EXCHGCOMP': '': 'DOUBLECICK(*DSP)');
Wx_OpnHTMLWrk('TIT0012': 'EXCHGCOMP': '': 'DoubleClick(*Change, confirm)');
Wx_OpnHTMLWrk('TIT0012': 'EXCHGCOMP': '': 'DoubleClick(*Chg, CONFIRM(Achtung: Änderungsmodus))');
Wx_OpnHTMLWrk('TIT0012': 'EXCHGCOMP': '': 'DoubleClick(*Chg, confirm(BST0007))');
Group - Gruppierung
Durch die Angabe des Schlüssel-Wortes Group
bei Aufruf der Funktion WX_OpnHTMLWrk wird am Ende des Kontext-Menüs ein zusätzlicher Kontext-Menü-Punkt „Gruppieren“ hinzugefügt.
Bei Auswahl dieses Kontext-Menü-Punktes werden die Daten in der Spalte, auf der der Cursor gerade steht, verdichtet.
Sofern einzelne Spalten nicht verdichtet werden sollen oder dürfen, kann dies durch Angabe des Schlüssel-Wortes NoGroup bei Aufruf der Funktion Wx_WrkFld unterbunden werden.
Vergleichsoperatoren für Filter-Felder
Die folgenden Funktionen werden zur Deklaration von Filter-Feldern verwendet:
- WX_GenFlt() – Generischer Filter
- Wx_FltFile() – Datei für Filter definieren
- Wx_FltFld() – Such(Filter-)Feld definieren
- Wx_FltFileFld() – Filterfile und 1.Feld definieren
- Wx_BegEnhFlt() – Beginn erweiterter Filter
Bei diesen Funktionen können verschiedene Vergleichsoperatoren für die Filterung angegeben werden. Siehe: Vergleichsoperationen für Filter-Felder.
Aufbereitungsoptionen für Filter-Felder
Die folgenden Funktionen werden zur Deklaration von Filter-Feldern verwendet:
- WX_GenFlt() – Generischer Filter
- Wx_FltFile() – Datei für Filter definieren
- Wx_FltFld() – Such(Filter-)Feld definieren
- Wx_FltFileFld() – Filterfile und 1.Feld definieren
- Wx_BegEnhFlt() – Beginn erweiterter Filter
Für das gleiche Filterfeld können mehrere unterschiedliche Optionen angegeben werden. Die einzelnen Optionen werden durch Blanks getrennt in dem Parameter Option als Text übergeben. Die Schlüsselworte können in jeder beliebigen Groß/Kleinschreibung angegeben werden.
CTL(xxx) Aufbereitung und Anzeige von Werten aus der Parameter-Control-Table
Durch die Angabe des Schlüsselwortes CTL(xxx)
kann auf die Liste der erlaubten Werte für ein Feld aus einer Parameter Control Table geholt werden.
Parameter Control Tables werden in RPGWX für jede Anwendung individuell eingerichtet und verwaltet. HIer als Beispiel eine Parameter Control Table für Anreden:
Parameter-Tabelle "ADTYPE" mit 4 Einträgen
Zur Laufzeit werden kann der Benutzer einen Wert aus den Werten der Parameter-Tabelle auswählen.
Wenn das Feld kein Pflichtfeld ist, dann fügt RPGWX der Liste eine weitere Auswahl hinzu: "Keine Auswahl" hinzu: Code im CHG-Programm - kein Pflichtfeld:
| Wenn es ein Pflichtfeld ist, dann werden nur definierten Auswahlen angzeiegt: Code im CHG-Programm - kein Pflichtfeld:
|
Wenn im Parameter weniger als 4 Auswahlmöglichkeiten (inklusive von "Keine Auswahl"), dann werden die Auswahlen in Form von Radiobuttons dargestellt:
Parameter-Tabelle "ADTYPE" mit nur 3 Einträgen
ExecSQL(<name>) oder ExecSQL(<name>, NoList) - Aufbereitung und Anzeige von Werten aus einer SQL-Abfrage
Durch Angabe des Schlüsselwortes ExecSQL kann die Liste der erlaubten Werte aus einer vom Programmierer hinterlegten SQL-Abfrage geholt werden.
Die von der Abfrage gelieferten Werte können als Combobox oder in einem Fenster aufbereitet, angezeigt und ausgewählt werden.
Die Angabe des 2. Parameters NoList bewirkt, dass zunächst nur die Filter-Felder angezeigt werden, so dass eine Vorauswahl getroffen werden kann.
EnhFlt - Erweiterter Filter
Das Feld kann durch Klicken auf die Pfeil auf/ab Buttons ein- und ausgeblendet werden.
Anstatt das Schlüssel-Wort bei jedem erweiterten Filterfeld anzugeben kann auch die Funktion Wx_BegEnhFlt() – Beginn erweiterter Filter vor dem ersten erweiterten Filter-Feld aufgerufen werden.
Center - Spalten-Inhalt zentrieren
Left - Spalten-Inhalt linksbündig ausrichten
Right - Spalten-Inhalt rechtsbündig ausrichten
Uppercase - Eingabe wird in Großbuchstaben übersetzt
Lowercase - Eingabe wird in Kleinbuchstaben übersetzt
NewLine - Nächstes Feld in nächste Zeile (Default-Wert)
NoNewLine - Nächstes Filter-Feld in der gleichen Zeile
Checkbox oder Logical - Schalter (0/1)
- 1 - Häkchen (eingabefähiges Feld)
- 0 - Leeres (eingabefähiges Feld)
DateNum - Numerisches Datum im Format JJJJMMTT
- Aufbereitung als Datum
TimestampNum - Numerische Zeitmarken im Format JJJJMMTTHHMMSS
- Aufbereitung als Zeitmarke
TimeNum - Numerische Zeit im Format HHMMSS
- Aufbereitung als Zeit
HHMMNum - Numerische Zeit im Format HHMM
- Aufbereitung als Zeit
Für Echte Datums- und Zeit-Felder müssen keine Aufbereitungsoptionen definiert werden.
Required - Bei dem Filter-Feld handelt es sich um ein Muss-Feld
NotRequired - Bei dem Filter-Feld handelt es sich um ein Kann-Feld
SelectList - Combobox mit gültigen Werten
Hierfür gibt es verschiedene Syntaktiken:
- SelectList oder SelectList()
- Bildet Combobox mit allen unterschiedlichen Feldwerten in dem definierten Feld in den definierten Dateien/Tabellen/Views.
- z.B. für Auswahl Stati / Auswahl Länder
- SelectList(<feldname>) oder SelectList(Field=<feldname>) oder SelectList(Field='<feldname>')
- Bildet Combobox mit allen unterschiedlichen Feldwerten in dem Feld <feldname> in den definierten Dateien/Tabellen/Views
- SelectList(File=<dateiname>, <feldname>) oder SelectList(File=<dateiname>, Field=<feldname>) oder SelectList(File='<dateiname>', <feldname>) oder SelectList(File='<dateiname>', Field=<feldname>)
- Bildet eine Combobox mit allen Unterschiedlichen Feldwerten in der angegebenen Datei/Tabelle/View mit dem angegebenen Feld.
Die angegebene Datei/Tabelle/View, sowie das angegebene Feld müssen nicht zwangsläufig definiert sein.
SQLList - Combobox basierend auf einem SQL-Select-Statement
- SQLList(<sqlstatement>;)
- Wichtig: Das SQL-Select-Statement mit einem Semikolon (;) abgeschlossen werden.
- Bildet eine Combobox basierend auf dem Ergebnis, das das SQL-SELECT-Statement zurückliefert.
- Wird in dem SELECT-Statement nur eine einzige Spalte definiert, wird nur diese angezeigt und die entsprechenden Werte zurückgegeben:
SQLList(Select Distinct PLZ from AdresseX;)
→ Rückgabe: PLZ
Werden in dem SELECT-Statement mehrere Spalten ausgewählt, so werden die Spalten-Werte aus der 2. Spalte angezeigt. Bei Auswahl wird der Wert der 1. Spalte zurückgegeben.
SQLList(Select Distinct PLZ,
PLZ concat ' ' concat ORT
From AdresseX;)
→ Anzeige: z.B. 86916 Kaufering
→ Rückgabe: 86916
DependList - Abhängige Combobox mit gültigen Werten
Basierend auf dem eingegebenen Wert in einem anderen Feld werden nur die abhängigen Auswahlkriterien angezeigt.
Das Feld von dem die Werte in der Combobox abhängen, muss vor dem abhängigen Feld definiert werden.
Beispiel: Abh. vom Land enthält die Combobox nur die Orte, die in dem entsprechenden Land liegen.
- DependList(<feldname>)
- Bildet die Werte in der Combobox abhängig von dem erfassten Wert in <feldname>.
- DependList(File=<dateiname>, <feldname>, KeyA=KeyB)
- Bildet die Combobox aus der Tabelle <dateiname> und der Spalte <feldname> (in Tabelle <dateiname>). Die Tabelle <dateiname> wird über den Schlüssel KeyB mit dem Feld KeyA (das zuvor definiert wurde) mit der definierten Tabelle, in der KeyA hinterlegt ist verknüpft.
- Sofern mehrere Schlüssel-Felder erforderlich sind, müssen diese anschließend durch ein logisches AND getrennt angegeben werden.
- → KeyA1=KeyB1 and KeyA2=KeyB2 etc.)
Beispiel: Das Land (Spalte ELAND) wird erfasst. Die Orte (Spalte XORT) die ausgewählt werden dürfen sind in Datei ADRESSEX hinterlegt.
DependList(File=AdresseX, XORT, ELAND=XLand)
ValuesList - Combobox aus den vorgegebenen Werten, Beispiele:
- ValuesList(Offen, Bestätigt, Erledigt)
- ValuesList(2, 4, 8, 16, 32)
ListNumRange - Combobox mit allen numerischen Werten in dem angegebenen Bereich
- ListNumRange(100, 150)
- Bildet eine Combobox mit allen ganzzahligen Werten zwischen 100 und 150
- ListNumRange(100, 150, 10)
- Bildet eine Combobox mit den Werten 100, 110, 120, 130, 140, 150,
ListMonth - Combobox mit den Werten 1-12 für den Monat
ListMonthName - Combobox mit sprachenabhängigen Monatsnamen, sortiert nach dem numerischem Monat (Januar=1, Dezember=12).
- Rückgabe-Wert: sprachenabhängiger Monatsname
ListMonthNameNum - Combobox mit sprachenabhängigen Monatszahlen (1=Januar, 12=Dezember)
- Rückgabe: Wertnumerischer Monat (Januar=1 / Dezember=12)
ListDay - Combobox mit den Werten 1-31 für den Tag im Monat
- Aktuell keine abhängige Combobox
ListDayName - Combobox mit sprachenabhängigen Wochentagsnamen, sortiert nach dem numerischem Wochentag (Montag=1, Sonntag=7).
- Rückgabe: Wertsprachenabhängiger Wochentagsname
ListDayNameNum - Combobox mit sprachenabhängigen Wochentagssnamen, sortiert nach dem numerischen Wochentag (Montag=1, Sonntag =7)
- Rückgabe: Wertnumerischer Wochentag (Montag=1 / Sonntag=7)
ListHour - Combobox mit den Werten 0-24 für die Stunden
ListMinSec - Bildet eine Combobox mit den Werten 0-59 für Minuten und Sekunden
AutoComplete - AutoComplete Combobox
- AutoComplete oder Autocomplete()
- Bildet eine AutoComplete Combobox basierend auf den aktuellen Werten in dem definierten Feld aus den definierten Tabellen
- Autocomplete(File=<dateiname>, <feldname>)
- Bildet eine AutoComplete Combobox basierend auf den Werten in der Spalte MyFld aus der Tabelle MyFile.
DependAuto - Abhängige Autocomplete Combobox
- DependAuto(MyFld)
- Bildet die Werte in der AutoComplete Combobox abhängig von dem erfassten Wert in Spalte MyFld.
AutoDepend(File=<dateiname>, <feldname>, KeyA=KeyB)
- Bildet die AutoComplete Combobox aus der Tabelle MyFile und der Spalte MyFld (in Tabelle MyFile). Die Tabelle MyFile wird über den Schlüssel KeyB mit dem Feld KeyA (das zuvor definiert wurde) mit der definierten Tabelle, in der KeyA hinterlegt ist verknüpft.
Sofern mehrere Schlüssel-Felder erforderlich sind, müssen diese anschließend durch ein logisches AND getrennt angegeben werden.
--> KeyA1=KeyB1 and KeyA2=KeyB2 etc.)
Beispiel: Das Land (Spalte ELAND) wird erfasst. Die Orte (Spalte XORT) die ausgewählt werden dürfen sind in Datei ADRESSEX hinterlegt.AutoDepend(File=AdresseX, XORT, ELAND=XLand)
Aufbereitungsoptionen für Spalten
Für eine Spalte (Prozedur Wx_WrkFld() ) können mehrere unterschiedliche Aufbereitungs-Optionen angegeben werden. Die einzelnen Optionen werden durch Blanks getrennt in dem Parameter Option als Text übergeben.
Die Schlüsselworte können in jeder beliebigen Form der Groß/Kleinschreibung angegeben werden.
Bei der Definition von Spalten in Work Tables können die folgenden Aufbereitungsoptionen angegeben werden.
NoSort - Sortieren nicht zulässig
Per Default können List-Anzeigen nach allen definierten Spalten sortiert werden. Sofern für einzelne Spalten eine Sortierung nicht zulässig ist, kann das Schlüssel-Wort NoSort angegeben werden.
Center - Spalten-Inhalt zentrieren
Left - Spalten-Inhalt linksbündig ausrichten
Right - Spalten-Inhalt rechtsbündig ausrichten
Hidden - Spalte wird nicht angezeigt
Logical - Schalter (0/1)
- 1 - Anzeige als Häkchen
- 0 - Leere Spalte
DateNum - Numerisches Datum im Format JJJJMMTT
- Aufbereitung als Datum
TimestampNum - Numerische Zeitmarken im Format JJJJMMTTHHMMSS
- Aufbereitung als Zeitmarke
TimeNum - Numerische Zeit im Format HHMMSS
- Aufbereitung als Zeit
HHMMNum - Numerische Zeit im Format HHMM
- Aufbereitung als Zeit
Für Echte Datums- und Zeit-Felder müssen keine Aufbereitungsoptionen definiert werden.
CTL(xxx) - Aufbereitung und Anzeige von Werten aus der Parameter-Control-Table
Durch die Angabe des Schlüsselwortes CTL(xxx)
kann auf die Liste der erlaubten Werte für ein Feld aus einer Parameter Control Table geholt werden.
Parameter Control Tables werden in WOPiXX für jede Anwendung individuell eingerichtet und verwaltet.
KEEPFORMAT - Keine Aufbereitung - die ursprüngliche Formatierung wird beibehalten
Filter(xxx) - Definition von Inline-Filter. Die folgenden Optionen (xxx) sind zulässig:
- Text_Filter
- Select_Filter
- Combo_Filter
- Text_Search
- Numeric_Filter
BgColor(Farbe) - Hintergrundfarbe
Mit Hilfe des Schlüssel-Wortes BgColor (oder auch BgColour) kann die Hintergrund-Farbei bei einer Spalte festgelegt bzw. geändert werden.
- Bgcolor(red) Angabe der Farbe z.B. red, blue, white
- Bgcolor(#FFF5B7) Angabe der Farbe als Hex-Wert
Beispiel
führt zu dieser Darstellung:
FontColor - Schriftfarbe
Über das Schlüssel-Wort FontColor(Farbe) (oder auch fontcolour() fntcolor(), fntcolour()) kann die Text-Farbe von Buttons vorgegeben werden. Die Angabe der Farbe erfolgt wie in HTML, also z.B. Farbe in englisch fontcolor(red). Alternativ kann anstatt der Farbe auch ein Hex-Wert angegeben werden, z.B. FontColor(#FFF5B7)
Exit() - Externe Funktionen für die Aufbereitung
Mit exit() kann man ein eigenen Code für die Steuerung der Darstellung hinterlegen.
Syntax
Wx_WrkFld('fldname' : 'feldbezeichnung' : 'Exit( <proc_name>, <srvpgm_name>, <srvpgm_lib>, <fieldfunction>)');
Parameter
proc_name - Name der Prozedur im Exit-Programm
srvpgm_name - Name des Serviceprogrammes
Optionaler Parameter - wenn er ausgelassen wird, dann wird das Serviceprogramm DWEXTFNC verwendet
srvpgm_lib - Bibliothek des Servicprogrammes
Optionaler Parameter - wenn er ausgelassen wird, dann wird das Serviceprogramm *LIBL verwendet
fieldfunction - Name der aufzurufenden Feldfunktion
Optionaler Parameter - wenn er ausgelassen wird, dann wird keine Feldfunktion aufgerufen
Beispiele
Exit(geticncmb)
- Es wird die Prozedur geticncmb aus dem Serviceprogram DWEXTFNC in *LIBL aufgerufenExit(SC, EXITPGM1)
- Es wird die Funktion SC aus dem Serviceprogram EXITPGM1 in *LIBL aufgerufenExit(SC, EXITPGM1, QGPL)
- Es wird die Funktion SC aus dem Serviceprogram EXITPGM1 in QGPL aufgerufen
Beispielprogramm für ein Exit-Programm
Ein Beispielprogramm ist auf der Seite Beispiel-Programme im Abschnitt "Exit-Programm für die Darstellungs-Steuerung in Spalten in Wrk-Programmen" dargestellt.
Image -Inhalt als Bild anzeigen
Handelt es sich bei dem Spalten-Inhalt um einen Link (IFS-Datei-Name), so wird die IFS-Datei (z.B. Bild oder Icon) an dieser Stelle angezeigt
Sofern nur das Schlüssel-Wort Image angegeben wird, wird das Bild in Icon-Größe ausgegeben.
Mit Schlüssel-Wort Image können jedoch auch Größen-Angaben in der Form Image(Breite, Höhe) z.B. Image(120, 100) übergeben werden.
Die Höhe und Breite werden in Pixel angegeben
Bei der MouseOver-Aktion wird das Bild entweder in die Origianlgröße (Schlüssel-Wort ohne Parameter) oder in die angegebene Gr´öße (Schlüssel-Wort mit Parameter) vergrößert.
Abbildung 4: Schlüssel-Wort Image - Bilder in List-Anzeigen
IFS() - Auswahl einer Datei in einem vorgegebenen Verzeichnis im IFS
Das Feld enthält den Namen einer Datei im IFS. Mit der Option "IFS()" kann man ein Verzeichnis festlegen, aus dem der Benutzer die Datei auswählen kann, z.B. per drop-down-Liste
Syntax
IFS(<verzeichnisname>,<darstellung>)
<verzeichnisname> - Vollständiger Pfad im IFS der IBM i
Wenn hier eine Variable verwendet wird, dann ist muss diese als varchar deklariert sein.
<darstellung> -
Gültige Werte
1: Drop-Down-Liste
2: Neues Auswahl-Fenster
Beispiel
dcl-s GblPth_icons varchar(256);
// ist gefüllt mit: '/Toolmaker/DirectWEB/htdocs/icons'
Wx_ManChgFldChar('ARhdrlgo' :%Addr(ARhdrlgo) : 'DWB0454' : %Len(ARhdrlgo ): 'IFS(' + GblPth_icons+',1)') ;
Wx_ManChgFldChar('ARhdrlgo' :%Addr(ARhdrlgo) : 'DWB0454' : %Len(ARhdrlgo ): 'IFS(' + GblPth_icons+',2)') ;
HTML() - Externe Funktionen für die Aufbereitung [ehemals Exit() ]
Hier kann zusätzlicher HTML-Code übergeben werden, um Funktionalitäten zu nutzen, die durch RPGWX nicht abgedeckt sind. Der HTML-Code wird bei diesem Feld 1:1 an die HTML-Seite übergeben.
Achtung: Es wird dringend empfohlen, den Code vorher in einem Editor zu testen. Falls ungültiger Inhalt übergeben wird, kann dies dazu führen, dass nur ein Fehler oder gar nichts angezeigt wird.
Output - In editierbarer Liste: keine Eingabe für diese Spalte
Sofern bei editierbaren List-Anzeigen bei der Spalten-Definition das Schlüssel-Wort Output angegeben wurde, wird die Spalte für die Eingabe gesperrt.
Footer() -Fusszeile
Mit dem Schlüssel-Wort Footer beim Definieren von Spalten in List-Anzeigen kann für die Spalte ein aggregierter Wert oder Text angezeigt werden.
- Footer oder Footer(*SUM) - Summe über alle Spalten-Werte
- Footer(*AVG) - Durchschnitt über alle Spalten-Werte
- Footer(*MIN) - Kleinster Wert
- Footer(*MAX) - Größter Wert
- Footer(MSGID oder Text) - Text wird angezeigt
Beispiel
Im folgenden Beispiel wird eine List-Anzeige mit einem Summen-Text und der Summe über alle eingelesenen Umsätze (Sales)
Wx_WrkFld('ArtikelNr' : 'FLD0008' : 'Footer(TXD0027)');
Wx_WrkFld('Wert' : 'FLD0024' : 'Footer(*sum)');
Footer - maximal 1.000 Zeilen
Einschränkung 1: Wird das Schüssel-Wort Footer angegeben so werden 1.000 Zeilen (anstatt 100 Zeilen mit Nachladen) gelesen. Da bei der Footer-Funktion nur die geladenen Zeilen aggregiert werden, kann die Funktion nur dann korrekte Werte liefern, wenn das Ergebnis maximal 1.000 Zeilen enthält.
Einschränkung 2: Wenn in der Tabelle Grafik-Spalten () enthalten sind werden diese in der Footerzeile "übersehen". Beispiel:
Lösungsvorschlag: Die Spalten so tauschen, dass vor der Spalte mit dem Footer keine Graphik-Spalten stehen. Beispiel:
Aufbereitungsoptionen Kontext-Menü-Punkte
Für Kontext-Menü-Punkte können die folgenden Aufbereitungsoptionen angegeben werden:
Line - Im Kontext-Menü wird vor dem Menü-Punkt eine Trennlinie eingefügt
NoWindow - Folge-Programm nicht im Fenster-Format ausgeben
Sofern das Folge-Programm nicht in einem Fenster ausgegeben werden soll, muss explizit das Schlüssel-Wort NoWindow angegeben werden.
Wird NoWindow angegeben und das Folge-Programm eine Bildschirmausgabe erfordert, wird das Folge-Programm als Voll-Bild angezeigt.
Icn(xxxx.gif) - Icon, das in Verbindung mit dem Kontext-Menü-Punkt angezeigt wird.
Confirm - Anzeige Bestätigungsfenster vor Aufruf des eigentlichen Verarbeitungsprogramms
- Confirm Default-Bestätigungstext
- Confirm(X) X = Message-Text oder Message-Id für Individuelle Nachrichten
HelpText - Hilfe-Texte, die bei Mouse Over angezeigt werden.
Sofern für die Mesage-Id für den Button-Text bzw. den Kontext-Menü-Item-Text ein Level2-Text hinterlegt ist, wird dieser bei Mouse-Over automatisch angezeigt.
Durch das Schlüssel-Wort HelpText können auch andere Hilfe-Texte eingebunden werden. Der Hilfe-Text kann in Verbindung mit dem Schlüssel-Wort HelpText direkt angegeben oder als Message-Id hinterlegt werden.
* HelpText(Dies ist ein HilfeText) - Direkte Angabe des Hilfe-Textes
* HelpText(MSG4711) Hilfe-Text wird aus der Message-Id (Level1) ermittelt
NoHelpText -Keinen Hilfetext anzeigen
Über das Schlüssel-Wort NoHelpText kann die Anzeige des Level2 Hilfe-Textes für Buttons und Kontext-Menü-Einträge verhindert werden.
Abbildung 5: Kontext-Menü-Punkte mit Bestätigungsfenster
ParCond - Bedingungen für Menü-Auswahl
Bedingungen können wahlweise in einer der folgenden Schreibweisen angegeben werden. Groß/Kleinschreibung spielt keine Rolle:
* CL z.B. Spalte1 *EQ 123 *AND Spalte2 *GT 'ABC'
* RPG/SQL z.B. Spalte1 = 123 and Spalte2 > 'ABC'
* JavaScript z.B. {3} == 123 && {5} > 'ABC'
Abbildung 6: Bedingte Kontext-Menü-Punkte
ShortCut - Anstatt der Kontext-Menü-Auswahl kann die Auswahl auch über ShortCut erfolgen.
ShortCuts werden bei der Funktion WX_CtxMnuItm() bzw. bei den Prozeduren, über die die Standard-Auswahlen definiert werden können, über Schlüssel-Wort ShortCut registriert.
Sofern für die Kontext-Menü-Auswahl ein ShortCut definiert wurde, wird dieser bei der Kontext-Menü-Auswahl angezeigt
Syntax: ShortCut(xxx)
* ShortCut(Funktionstaste) → ShortCut(F6)
* ShortCut(Alt+Funktionstaste) → ShortCut(Alt+F6)
* ShortCut(Alt+Ziffer) → ShortCut(Alt+2)
* ShortCut(Alt+Buchstabe) → ShortCut(Alt+A)
* ShortCut(Ctrl+Funktionstaste) → ShorCut(Ctrl+F8)
* ShortCut(Ctrl+Ziffer) → ShortCut(Crtl+3)
* ShortCut(Ctrl+Buchstabe) → ShortCut(Ctrl+B)
Abbildung 7: Kontext-Menü-Punkte mit ShortCuts
Aufbereitungsoptionen für Buttons in Worktables
Für Buttons in Worktables können die folgenden Aufbereitungsoptionen angegeben werden:
Window - Das Folge-Programm wird in einem Fenster-Format ausgegeben.
Confirm - Anzeige Bestätigungsfenster vor Aufruf des eigentlichen Verarbeitungsprogramms
- Confirm - Default-Bestätigungstext
- Confirm(X) - X = Message-Text oder Message-Id für Individuelle Nachrichten
ShortCut - Anstatt auf den Button zu Klicken, dann die Aktion auch über einen Shortcut aktiviert werden.
ShortCuts werden bei der Funktion WX_WrkBtn() bwz. bei den Funktionen über die die Standard-Buttons definiert werden können mit Hilfe des Schlüssel-Wortes ShortCut registriert.
Sofern für den Button ein ShortCut hinterlegt wurde, wird dieser im Button-Text angezeigt.
Buttons, die über Shortcut aktiviert werden können, müssen nicht zwangsläufig angezeigt werden. Wenn Buttons über Shortcuts aktiviert und abgeblendet werden sollen, muss im Schlüssel-Wort ShortCut ein zweiter Parameter mit dem Wert hidden angegeben werden.
Syntax: ShortCut(xxx) oder ShortCut(xxx,hidden)
* ShortCut(Funktionstaste) → ShortCut(F6) oder ShortCut(F6,hidden)
* ShortCut(Alt+Funktionstaste) → ShortCut(Alt+F6)
* ShortCut(Alt+Ziffer) → ShortCut(Alt+2)
* ShortCut(Alt+Buchstabe) → ShortCut(Alt+A)
* ShortCut(Ctrl+Funktionstaste) → ShortCut(Ctrl+F8)
* ShortCut(Ctrl+Ziffer) → ShortCut(Crtl+3)
* ShortCut(Ctrl+Buchstabe) → ShortCut(Ctrl+B)
BackColor(Farbe) - Hintergrundfarbe [ ehemals bgColor(Farbe) ]
Mit Hilfe des Schlüssel-Wortes BackColor kann die Hintergrund-Farbei bei einer Spalte festgelegt bzw. geändert werden.
- Backcolor(red) Angabe der Farbe z.B. red, blue, white
- Backcolor(#FFF5B7) Angabe der Farbe als Hex-Wert
FontColor - Schriftfarbe [ ehemals fntcolor(Farbe) ]
Über das Schlüssel-Wort FontColor(Farbe) kann die Text-Farbe von Buttons vorgegeben werden. Die Angabe der Farbe erfolgt wie in HTML, also z.B. Farbe in englisch fontcolor(red). Alternativ kann anstatt der Farbe auch ein Hex-Wert angegeben werden, z.B. Fontcolor(#FFF5B7)
HelpText - Hilfe-Texte, die bei Mouse Over angezeigt werden.
Sofern für die Mesage-Id für den Button-Text bzw. den Kontext-Menü-Item-Text ein Level2-Text hinterlegt ist, wird dieser bei Mouse-Over automatisch angezeigt.
Durch das Schlüssel-Wort HelpText können auch andere Hilfe-Texte eingebunden werden. Der Hilfe-Text kann in Verbindung mit dem Schlüssel-Wort HelpText direkt angegeben oder als Message-Id hinterlegt werden.
* HelpText(Dies ist ein HilfeText)
- Direkte Angabe des Hilfe-Textes
* HelpText(MSG4711)
- Hilfe-Text wird aus der Message-Id (Level1) ermittelt
NoHelpText -Keinen Hilfetext anzeigen
Über das Schlüssel-Wort NoHelpText
kann die Anzeige des Level2 Hilfe-Textes für Buttons und Kontext-Menü-Einträge verhindert werden.
WaitMsg - Das Schlüssel-Wort WaitMsg kann angegeben werden, wenn über einen Klick auf einen Button oder einer Kontext-Menü-Auswahl ein Programm ohne Anzeige aufgerufen wirde.
Sofern das Schlüssel-Wort WaitMsg bei einem Button oder Kontext-Menü-Eintrag angegeben wurde, wird bei Aktivierung des Buttons bzw. bei Aufruf des Programms eine „Uhr" angezeigt, die erst bei Beendigung der Verarbeitung wieder abgeblendet wird.
Abbildung 1: Bildschirm-Anzeige, wenn WaitMsg aktiviert wurde
Der angezeigte Text, kann durch die Angabe einer Message-Id oder einer Meldung im Klartext bei Schlüssel-Wort WaitMsg gesteuert werden.
Beispiele:
Work-Programm: Button und Kontext-Menü-Item
Wx_WrkBtn('WAITBTN': 'TSTB004': 'WaitMsg(BST0009)');
Wx_CtxMnuItm('WAITCTX': 'TSTC004': 'WaitMsg(Bitte Warten!)');
Change-Programm: Button
Wx_ChgBtn('EXWAIT' : 'TSTB004': 'waitMsg(BST0009)');
Aufbereitungsoptionen für Felder in Detail-Anzeigen (Change-Programmen)
Alle Aufbereitungsoptionen, die auch für Filterfelder gelten
Daneben gibt es noch weitere Optionen, die nur für Change Tables gelten
Output - Nur Ausgabe-Feld
Im Anzeige-Modus wird die Option automatisch von WOPiXX gesetzt.
NotRequired - Keine Eingabe erforderlich (Default-Wert)
Required - Eingabe erforderlich Muss-Feld
NewLine - Nächstes Feld in nächste Zeile (Default-Wert)
NoNewLine - Nächstes Filter-Feld in der gleichen Zeile
Password - Verschlüsselt Eingabe
Checkbox - Für Schalter (0/1)
- 1 oder Y - Häkchen (eingabefähiges Feld)
- 0 oder N - Leeres (eingabefähiges) Feld
- CheckBox(Left) - Text immer auf der linken Seite
TextArea - Für einen Text-Bereich
Anzahl Zeilen und Spalten/Zeichen müssen als Parameter-Werte bei Schlüssel-Wort TextArea angegeben werden:
TextArea(10, 80)
= Text-Bereich 10 Zeilen hoch und 80 Zeichen breit
EditText - Editierbarer Textbereich
Anzahl Zeilen und Spalten/Zeichen müssen als Parameter-Werte bei Schlüssel-Wort EditText angegeben werden.
EditText(10, 80)
= editierbarer Textbereich 10 Zeilen hoch und 80 Zeichen breit
Abbildung 8: Text-Bereiche
Img(IFSDatei, Breite, Höhe, Benutzer) - Bild anzeigen
Zur Anzeige von Bildern muss ist die Definition eines reinen Ausgabe-Feldes (ohne Inhalt) erforderlich.
Bei dem Schlüssel-Wort können bis zu 4 Parameter, mindestens jedoch der erste angegeben werden. Die einzelnen Parameter werden durch Kommata von einander getrennt
* Parameter1: IFSDatei - Pfad und Name des Bildes
* Parameter2: Breite - Numerischer Wert
* Parameter3: Höhe - Numerischer Wert
* Parameter4: Benutzer
isWWW - Text in einem Ausgabe-Feld wird als Link interpretiert.
Bei Klick auf den Text wird der Link aktiviert.
LibObj -IBM i - Objekt (objekt - bibliothek)
Das Schlüssel-Wort LibObj kann verwendet werden für ein 20-stelliges alphnumerisches Feld, in dem sich auf den ersten 10 Stellen ein Objekt-Name und ab Stelle 11 ein Bibliotheks-Name hinterlegt ist.
Wird das Schlüssel-Wort LibObj angegeben, wird das 20-stellige Feld in der Ausgabe in zwei unabhängige Felder gesplittet. In dem ersten Feld wird der Bibliotheks-Name und in dem zweiten Feld der Objekt-Name des Objekts angezeigt. In der Anzeige sind beide Felder durch einen Schrägstrich (Slash /) getrennt.
Beim Sichern werden die Werte aus beiden Feldern wieder zusammengefasst und in die 20-stellige RPG-Variable ausgegeben.
Abbildung 2: Anzeige qualifiziertes Objekt bei Schlüssel-Wort LibObj
Obj(*ObjectType) - Ergänzung zu LibObj: Objektart
Das Schlüssel-Wort LibObj und das Schlüssel-Wort Obj(*ObjectType) gehen Hand in Hand.
Wird zusätzlich zu dem Schlüssel-Wort LibObj das Schlüssel-Wort Obj(*ObjType) angegeben, wird ein Matchode –Fenster, aus dem qualifizierte Objekte des angegebenen Objekt-Typen ausgewählt werden.
Die ObjektTypen werden wie im CL mit vorangestelltem Sternchen, also z.B. *SRVPGM oder *FILE angegeben.
Wird das Schlüssel-Wort LibObj ohne das Schlüssel-Wort Obj(*ObjectType) angegeben, wird kein Matchode-Fender bereitgestellt.
Neben diesen speziellen Schlüssel-Worten können bei der Definition von Ein-/Ausgabe-Feldern auch alle Schlüssel-Worte, die auch für Filter-Felder zulässig sind, verwendet werden.
Beispiel
dcl-ds gblPgmLib_ds qualified inz;
PGM like(FldRef.PGM);
LIB like(FldRef.LIB);
end-ds
gblPgmLib_ds.PGM = FEEPGM;
gblPgmLib_ds.LIB = FEELIB;
Wx_ManChgFldChar('PGMLIB' : %addr(gblPgmLib_ds : 'DWB0416' : 20 : 'Obj(*srvpgm) LibObj');
erzeugt diese Ausgabe:
ismailbox - Name einer directmail-Mailbox
Nur verfügbar, wenn das Lizenzprodukt directmail installiert ist.
Mit dieser Option wird bestimmt, dass der Feldinhalt der Name einer Mailbox von directmail (WRKMBX
). Die Auswahlliste wird automatisch gesetzt und enthält die Namen der verfügbaren Mailboxen.
Beispiel
Wx_ManChgFldChar('ARmailbox' :%Addr(ARmailbox) : 'DWB0273' : %Len(ARmailbox): 'ismailbox');
Lässt den Benutzer eine der existierenden Mailboxen auswählen:
HTML-Code für die Formatierung verwenden (Stylesheets für Felder)
Es ist möglich, für jedes Programm und jedes Feld eine CSS-Datei mit speziellen Formatierungsangaben zu hinterlegen. Damit kann die Darstellung beeinflusst werden, z.B. Fontgrösse, Positionierung, Farbe, usw.
Weitere Informationen dazu finden Sie auf der Seite Möglichkeiten zur Layout-Steuerung.
Aufbereitungsoptionen für Header
Für Header-Felder können die folgenden Aufbereitungsoptionen angegeben werden.
NewLine - Nächstes Feld in nächste Zeile (Default-Wert)
AddFlt -Feld in die SELECT-Anweisung einbinden
Addflt kann für Header-Anweisungen in WRK-Programmen verwendet werden. Wird das Schlüssel-Wort addflt angegeben, wird diese Information als Filter (zusätzliche WHERE-Bedingung) in die Abfrage integriert.
Beispiel: Für einen Auftrag sollen die Auftrags-Positionen angezeigt werden. Die Auftrags-Nr., sowie weitere Informationen über den Auftrag (z.B. Kunde, Lieferadresse, Liefertermin, Lieferbedingungen etc) werden als Header-Informationen (mit WX_HdrFileFld und/oder WX_HdrFld) definiert.
Angenommen, die Auftrags-Nr. ist ein Teil-Schlüssel der Auftrags-Positionen. Um die Auftrags-Positionen für einen bestimmten Auftrag anzuzeigen, muss die Auftrags-Nr. als Schlüssel-Wert (zusätzliche WHERE-Bedingung) in die Abfrage integriert werden. Wird bei den Funktionen Wx_HdrFileFld
und WX_HdrFld
das Schlüssel-Wort addflt angegeben, werden diese Informationen automatisch als Schlüssel (WHERE-Bedingungen) übernommen.
Alle anderen Header-Informationen (z.B. Kunde, Lieferadresse, Liefertermin, Lieferbedingungen etc) werden ohne das Schlüssel-Wort addflt definiert, da diese Informationen (vermutlich) weder in der Auftrags-Positions-Datei vorhanden sind, noch als Filter (WHERE-Bedingung) einer Abfrage auf die Auftrags-Positions-Datei hinzugefügt werden dürfen.