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
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.
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:
Wx_OpnHTMLWrk('xxxx': 'xxxxxx': '': 'helpDoc(<prompt>, <helpsource> [ , <anchor>, <icon> ] )');
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:
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 sollSofern 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.
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) ');
Die folgenden Steuerungsoptionen gelten nur für Worktables
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.
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.
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.
Wx_OpnHTMLWrk('xxxx': 'xxxxxx': '': 'Doubleclick(<mode>, [ <confirm [ (<confirmmsg>) ] > ] ');
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
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))');
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.
Die folgenden Funktionen werden zur Deklaration von Filter-Feldern verwendet:
Bei diesen Funktionen können verschiedene Vergleichsoperatoren für die Filterung angegeben werden. Siehe: Vergleichsoperationen für Filter-Felder.
Die folgenden Funktionen werden zur Deklaration von Filter-Feldern verwendet:
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.
Die Aufbereitungsoptionen, die hier beschrieben werden, sind auch für Felder in Detail-Anzeigen verwendbar. |
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
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.
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.
Beispiel 1: Feldinhalt ist 20250228. Benutzerprofil Aufbereitung Datumsformat Tag-Monat-Jahr
Code: Wx_WrkFld('FTYYMD' : 'FTYYMD DATENUM ' : 'DATENUM');
Beispiel 2: Feldinhalt ist 20250228. Keine Aufbereitung des Datums
Code: Wx_WrkFld('FTYYMD' : 'FTYYMD YYYYMMSS ');
Für Echte Datums- und Zeit-Felder müssen keine Aufbereitungsoptionen definiert werden.
Hierfür gibt es verschiedene Syntaktiken:
Die angegebene Datei/Tabelle/View, sowie das angegebene Feld müssen nicht zwangsläufig definiert sein.
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
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.
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)
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)
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.
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.
Beispiel für das Feld mit Option DateNum:
TimestampNum - Numerische Zeitmarken im Format JJJJMMTTHHMMSS
Für Echte Datums- und Zeit-Felder müssen keine Aufbereitungsoptionen definiert werden.
RPGWX bereitet numerische Felder (mit und ohne Dezimalstellen) im Standard so auf, wie es in den IBM i > Systemwerten > Typ *EDT eingetragen ist. Das betrifft folgende Feldtypen:
SQL-Datentyp DECIMAL
DDS-Datentyp P (Packed decimal)
DDS-Datentyp S (Zoned decimal)
Beispiel mit QDECFMT=B(blank): 1,000.52
Beispiel mit QDECFMT=J: 1.000,52
Mit FMT() werden die Gruppenzeichen entfernt (Tausenderpunkt): 1000,52
Mit FMT(*NONE) wird keine Aufbereitung vorgenommen, egal was in QDECFMT steht: 100052
Zusammenfassung:
SQL-Datentyp INTEGER wird per Default NICHT mit Dezimalkomma und Tausenderpunkt aufbereitet: 123456789
Wenn Tausenderpunkt gewünscht wird, muss fmt(*DEC) angegeben werden.
DDS-Daten vom Typ P oder S erhalten per Default einen Dezimalkomma und Tausenderpunkt.
Wenn Tausender-Trennzeichen NICHT gewünscht sind, muss fmt() angegeben werden.
Wenn weder Tausender-Trennzeichen noch Dezimalkomma gewünscht sind, muss fmt(*none) angegeben werden.
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.
Standardmäßig werden Textfelder ohne Mehrfach-Blanks angezeigt. In den meisten Fällen ist das optisch gewünscht.
Wenn der Inhalt eines Charakterfeldes in der Originalform, z.B. mit führenden Blanks oder mehreren Blanks im Text, angezeigt werden soll, kann man als Option KEEPFORMAT verwenden.
Beispiel für ein Textfeld mit KEEPFORMAT:
C MOVE 'AS400' LCLCLS
Beispiel für ein Textfeld in Standard-Formatierung: (komprimiert alle Leerstellen zu einer)
C MOVE 'AS400' LCLCLS
Mit Hilfe des Schlüssel-Wortes BgColor (oder auch BgColour) kann die Hintergrund-Farbei bei einer Spalte festgelegt bzw. geändert werden.
Beispiel
führt zu dieser Darstellung:
Ü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)
Mit exit() kann man ein eigenen Code für die Steuerung der Darstellung hinterlegen.
Wx_WrkFld('fldname' : 'feldbezeichnung' : 'Exit( <proc_name>, <srvpgm_name>, <srvpgm_lib>, <fieldfunction>)');
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
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 aufgerufenEin Beispielprogramm ist auf der Seite Beispiel-Programme im Abschnitt "Exit-Programm für die Darstellungs-Steuerung in Spalten in Wrk-Programmen" dargestellt.
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
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
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
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)') ;
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.
Sofern bei editierbaren List-Anzeigen bei der Spalten-Definition das Schlüssel-Wort Output angegeben wurde, wird die Spalte für die Eingabe gesperrt.
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.
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)');
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: |
Für Kontext-Menü-Punkte können die folgenden Aufbereitungsoptionen angegeben werden:
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.
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
Ü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
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
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
Für Buttons in Worktables können die folgenden Aufbereitungsoptionen angegeben 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)
Mit Hilfe des Schlüssel-Wortes BackColor kann die Hintergrund-Farbei bei einer Spalte festgelegt bzw. geändert werden.
Ü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)
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
Über das Schlüssel-Wort NoHelpText
kann die Anzeige des Level2 Hilfe-Textes für Buttons und Kontext-Menü-Einträge verhindert werden.
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)');
Für Felder in Detail-Anzeigen/Change Tables können für die Auswahl und Anzeige die gleichen Aufbereitungsoptionen wie für die Filter-Felder angegeben werden. |
Daneben gibt es noch weitere Optionen, die nur für Change Tables gelten
Im Anzeige-Modus wird die Option automatisch von WOPiXX gesetzt.
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
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
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
Bei Klick auf den Text wird der Link aktiviert.
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
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.
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:
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.
Wx_ManChgFldChar('ARmailbox' :%Addr(ARmailbox) : 'DWB0273' : %Len(ARmailbox): 'ismailbox');
Lässt den Benutzer eine der existierenden Mailboxen auswählen:
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.
Für Header-Felder können die folgenden Aufbereitungsoptionen angegeben werden.
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.