Inhaltsübersicht
WOPiXX ist eine Sammlung von ILE Prozeduren und Funktionen, mit deren Hilfe Web-Anwendungen allein mit RPG IV erstellt werden können. Kenntnisse von HTML, JavaScript, CSS oder stateless Programmierung sind nicht erforderlich. Alle Funktionen, die nichts mit dem Benutzer-Dialog zu tun haben (Datenbankzugriffe, Plausibilitätsprüfung, Berechnungen) erfolgen mit "normalem" RPG. Für den Dialog mit dem Benutzer stellt WOPiXX seine Prozeduren zur Verfügung.
Die Darstellung im Browser wird von WOPiXX eigenständig mit mit Hilfe von AJAX-Technologien (Asynchronous Javascript And XML) durchgeführt. Der Programmierer muss lediglich über WOPiXX die anzuzeigenden Dateien, Felder oder Spalten definieren und sofern gewünscht Aufbereitungsoptionen für die einzelnen Felder angeben.
Weiterhin liefert Directweb Werkzeuge zur Verwaltung und Integration der Web-Programme. So können die Web-Programme in einem Menü hinterlegt werden. Bibliothekslisten können auf Programm- oder Anwendungsebene zugeordnet werden. Es bestehen Möglichkeiten zur Hinterlegung von Informationen und SQL-Statements, die in die WOPiXX-Programme eingebunden werden können, und die zur Laufzeit als Combo-Boxen oder Matchcode-Programme aufbereitet werden.
Aktuell werden von Dirweb/WOPiXX die folgenden Anzeige-Formate unterstützt:
- List- oder WRK-Programme (entsprechen Subfile-Programmen)
- Detail- oder CHG-Programme (Bearbeiten einzelne Sätze)
List-Anzeigen (oder Work Tables/Programme)
Listanzeigen können mit Subfiles in der Green-Screen-Programmierung verglichen werden. Über AJAX-Technologien sind automatisch (ohne zusätzliche Programmierung) Funktionen, wie Vertauschen der einzelnen Spalten, beliebige Festlegung der Spaltenbreite, auf- und absteigende Sortierung nach einzelnen Spalten oder Nachladen von Datensätzen integriert.
Für Listanzeigen können diverse Filter definiert werden, durch die zur Laufzeit nur die gewünschten Informationen aus den Tabellen selektiert werden.
Kontext-Menü-Punkte und Buttons zum Aufruf von Folge-Programmen können beliebig definiert werden.
Abbildung 1: Beispiel List-Anzeige/Work Table
Detail-Anzeige (oder Change Tables/Programme)
Detail-Anzeigen entsprechen den Detail-Anzeigen in der Green-Screen-Programmierung.
Der Programmierer definiert die Dateien/Tabellen oder Views, sowie die anzuzeigenden/zu erfassenden Felder/Spalten. Es ist möglich diverse Reiter anzulegen unter denen die Felder/Spalten gruppiert werden. Aufbereitungsoptionen der einzelnen Felder/Spalten werden über Schlüssel-Worte gehandelt.
Das Einlesen der Daten, die Prüfungen sowie das Fortschreiben der Daten obliegt weiterhin dem Programmierer.
Auch bei der Detail-Anzeige können Buttons für Bearbeitungsoptionen (z.B. Sichern der erfassten Daten) oder zum Aufruf von Folge-Programmen definiert werden.
Abbildung 2: Detail-Anzeige / Change Table
Neuerungen seit Version 2.11
- Benannte Parameter
Informationen für den Folge-Aufruf (bzw. für die komplette Session) können in Form von benannten Parametern, d.h. unter einem beliebigen Namen gesichert werden.
Es werden Funktionen zur Verfügung gestellt, über die benannte Parameter(-Werte) in fast jedem beliebigen Datentyp (Alpha, Unicode, gepackt/gezont, ganzzahlig, Datum, Zeit und Zeitmarke) gesichert werden kann.
Des weiteren werden Funktionen zur Verfügung gestellt, über die die gesicherten benannten Parameter-Werte in den o.g. Datentypen empfangen werden können.
- Editierbare Listen
Durch die Definition des Buttons EdtList bzw. den Aufruf der Funktion Wx_WrkBtnEdtList() können Spalten-Inhalte in List-Anzeigen geändert werden.
Bei Klick auf den definierten Button werden die geänderten Spaltenwerte an das Programm zurückgegeben.
Durch die Angabe des Schlüssel-Wortes Output bei der Spalten-Definition können die Spalten vor einer Änderung geschützt werden.
- ShortCuts für Buttons und Kontext-Menü-Anzeigen
Mit Hilfe des neuen Schlüssel-Wortes ShortCut können für alle Buttons (in List- und Detail-Anzeigen), sowie für Kontext-Menü-Punkte ShortCuts definiert werden.
Die ShortCuts stellen für den Anwender eine Alternative zum Mouseclick bzw. zur Kontext-Menü-Auswahl über die rechte Mouse-Taste dar.
- Neue Schlüssel-Worte für Comboboxen
- DayNameCombobox mit Wochentagsnamen jeweils in der
Spache des aktuellen Anwenders
Rückgabe-Wert: Name des Wochentags
Sortierung nach numerischem Wochentag (Montag=1, Sonntag=7)
- DayNameNumCombobox mit Wochentagsnamen jeweils in der
Sprache des aktuellen Benutzers
Rückgabe-Wert: Numerischer Wochentag (Montag=1)
Sortierung nach dem numerischen Wochentag
- MonthNameCombobox mit Monatsnamen jeweils in der Sprache
des aktuellen Benutzers
Rückgabe-Wert: Monats-Name
Sortierung nach dem numerischen Monat
- MonthNameNumCombobox mit Monatsnamen jeweils in der Spache
des aktuellen Benutzers
Rückgabe-Wert: numerischer Monat (Januar=1)
Sortierung nach dem numerischen Monat
- Bilder in List-Anzeigen (Aufpoppen in vorgegebener Größe)
Bilder in Listanzeigen werden über das Schlüssel-Wort image gesteuert.
Wird nur das Schlüssel-Wort image angegeben, so wird beim Mouseover das Bild in Original-Größe angezeigt.
Über zusätzliche Parameter bei Schlüssel-Wort image kann die Anzeigegröße festgelegt werden Image(Breite,Höhe)
- Schlüssel-Wort isLink
Bei Schlüssel-Wort isLink wird bei einem Klick per Default in das Folge-Programm im Änderungsmodus verzweigt.
Wird das Schlüssel-Wort isLink(Output) angegeben, wird in das Folge-Programm im Anzeigemodus verzweigt.
- Erweiterung manuelle SQL-Abfragen
Bereits in den früheren WOPiXX-Versionen konnten für List-Programme SQL-Statements manuell vorgegeben werden.
Die Tabellen oder Views aus denen jedoch die einzelnen Spalten und Filter-Felder stammen, mussten wie beim automatisch generierten SQL mit allen Join-Anweisungen hinterlegt werden.
Durch die letzte Erweiterung ist es nicht mehr erforderlich bei manuellen SQL-Statements die Tabellen extra zu definieren. Spalten müssen nur dann noch über die Funktion Wx_WrkFld() definiert werden, wenn nicht der Spalten-Name, sondern eine abweichende Überschrift ausgegeben werden soll oder eine spezielle Aufbereitung für die Spalte erforderlich ist.
Zur Definition von Filter-Feldern für die manuellen SQL-Abfragen, wurden eine Reihe von neuen Funktionen eingeführt, über die Filter-Felder mit dem gewünschten Datentypen definiert werden können. Die Filter-Informationen werden von WOPiXX automatisch generiert und zu dem manuellen SQL-Statement hinzugefügt.
- Ermitteln Spalten-Listen über Funktion für manuelle SQL-Statements
Auch für manuelle SQL-Statements müssen die Schlüssel- und Spalten mit den Wx_WrkKeyRRN/Wx_WrkKeyFld bzw. mit den Funktionen Wx_WrkFld() definiert werden. Zumindest dann, wenn eine Überschrift angegeben oder Aufbereitungs-Optionen gesetzt werden müssen.
Sofern es sich bei den Spalten in dem manuellen SELECT-Statment nicht um Ausdrücke (z.B. Menge * Preis oder Date(Digits(NumDate) concat '000000') handelt, werden mehrere Funktionen zur Verfügung gestellt, über die in den WOPiXX-Funktionen definierten Spalten durch Kommata getrennt aufgelistet werden.
- Wx_WrlSQLManKey() – Schlüssel-Werte
- WX_WrkListColumns() – Spalten
- WxX_WrkListKeyAndColumns – Schlüssel und Spalten.
Das Ergebnis aus diesen Funktionen kann innerhalb des manuellen SELECT-Statements verwendet werden.
- Schüssel-Wort Icn(Icon) für Funktion Wx_ChgNavTab()
Mit Hilfe des Schlüssel-Wortes Icn(Icon) kann für Reiter/Navigation Tabs ein Icon angegeben werden.
Die Icons werden ohne Pfad angegeben und müssen im Icons-Verzeichnis der Anwendung hinterlegt werden.
/www/dirweb/htdocs/icons/ANWENDUNG
- Schlüssel-Wort HelpDoc für die Funktionen Wx_OpnHTMLWrk() und Wx_OpnHTMLChg()
Für jede Change oder List-Anzeige kann ein universelles Hilfe-Dokument hinterlegt werden.
Dieses Hilfe-Dokument wird in der linken oberen Ecke der der List- bzw. der Detail-Anzeige ausgegeben werden und kann durch Klick auf das Icon geöffnet werden.
Bei dem Hilfe-Dokument kann es sich wahlweise um ein PDF-Dokument, das im Anwendungsverzeichnis für Hilfe-Dokumente hinterlegt sein muss, oder um einen Link handeln.
- Schlüssel-Wort DoubleClick für die Funktion Wx_OpnHTMLWrk
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.
Mit Hilfe des Schlüssel-Wortes DoubleClick kann das Standard-Verhalten beeinflusst werden, d.h. es kann festgelegt werden, ob und in welchem Modus das Folge-Programm geöffnet wird.
Weiterhin ist es möglich beim Doppeklick, bevor das Folge-Programm im Änderungs-Modus geöffent wird ein Bestätigungs-Fenster auszugeben.
- Maximum 1000 Ein-/Ausgabe-Felder in Change Tabellen
- Beschleunigung
- Cachen von Message-Texten
Im Zuge der Beschleunigung werden die mehrsprachigen Texte nicht mehr bei jedem Durchlauf neu ermittelt, sondern einmalig pro Sprache.
Sofern ein Nachrichten-Text noch nicht ermittelt wurde erfolgt die Ermittlung automatisch.
Sofern Nachrichten-Texte geändert werden, müssen die gecachten Message-Texte gelöscht werden.
Die Berarbeitung der Message-Texte erfolgt über das Programm mit Cache MsgId Einträgen arbeiten.
- Anzeige der Versions-Nr.
Sofern für die Anwendung eine Versions-Nr. vorliegt, wird diese in den Überschriften, nach der Anwendung angezeigt.
Die Versions-Nr. kann nur beim Exportieren einer Anwendung erfasst werden.
Die Versions-Nr. besteht aus 3 Teilen: Version.Release.PTF.
- Gruppierung
Durch das Schlüssel-Wort Group bei Aufruf der Funktion WX_OpnHTMLWrk kann wird ans Ende des Kontext-Menüs ein zusätzliches Item „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.
- Wahlweise Anzeige von Icons und/oder Texten in Verbindungng mit Schlüssel-Wort CTL
In Listanzeigen kann über das Schlüssel-Wort CTL gesteuert werden, ob nur die hinterlegten Icons oder die Icons zusammen mit den erklärenden Texten angezeigt werden.
Das Schlüssel-Wort CTL wurde um einen Parameter erweitert, CTL(Kennung, Text). Wird im 2. Parameter Text angegeben, wird der Text zusätzlich zu dem Icon angezeigt.
- Spaltenauswahl in List-Anzeigen
Bei Rechtsklick auf die Überschriften einer List-Anzeige können die anzuzeigenden Spalten ausgewählt werden,
Alle definierten Spalten werden angezeigt.
Bei Klick auf „Spalten-Aufbereitung zurücksezten" werden alle ausgeblendeten Spalten wieder aktiviert.
Das Feature kann nicht deaktiviert werden.
- Schlüssel-Wort Footer in List-Anzeigen
Angabe in Wx_WrkFld(). Festlegung von Aggregat-Funktionen (*SUM/*AVG/*MAX/*MIN) oder Anzeige eines Footer-Textes
- Hilfe-Texte für Buttons und Kontext-Menü-Anzeigen
Sofern in der Message-Id für die selbstdefinierten Buttons oder Kontext-Menü-Punkte ein Level2 Message-Text in der Message-File vorhanden ist, wird dieser bei Mouse Over über den Button angezeigt.
Über das Schlüssel-Wort HelpText, das im Parameter Options übergeben wird können auch andere Hilfe-Texte angegeben werden. Sofern das Schlüssel-Wort HelpText in den Options übergeben wird, wird dieser angezeigt, während der Level2-Message-Text nicht angezeigt wird. Bei Schlüssel-Wort HelpText kann wahlweise eine Message-Id, z.B. HelpText(MSG4711) oder ein Hilfe-Text hinterlegt werden.
Sofern kein Hilfe-Text angezeigt werden soll, kann die Ausgabe und Anzeige des Level2 Hilfe-Textes durch Angabe des Schlüssel-Wortes NoHelpText unterbunden werden.
- Schlüssel-Wort bgcolor(Farbe) zum Ändern der Hintergrund-Farbe von Spalten einer List-Anzeige.
- Sichern und Empfangen von Filter-Werten aus Work-Programmen in Folge-Programmen
Filter-Werte, die in Work-Programmen erfasst werden, können in den Folge-Programme durch einen Funktions-Aufruf abgerufen und weiterverwendet werdenwerden.
- Fehlerhandling in Editierbaren List-Anzeigen
Die erfassten Werte werden über XML-Daten mit dem WOPiXX-Programm ausgetauscht.
Die erfassten/empfangenen Werte werden im WOPiXX-Programm geprüft.
Im Fehler-Fall können über die Funktionen WX_WrkFldErr() und Wx_MultWrkFldErr(). Fehler-Nachrichten ausgegeben werden.
- Schlüssel-lWort WaitMsg für Buttons und Kontextmenü-Einträge
Bei (längerlaufenden) Programmen ohne Bildschirm-Anzeige, die über Klick auf einen
Button oder eine Kontext-Menü-Auswahl aktiviert werden, kann mit dem Schlüssel-Wort eine Uhr aktiviert werden, die erst dann abgeblendet wird, wenn die Verarbeitung abgeschlossen wurde. Nach Ende der Verarbeitung werden die Anzeigen (mit den geänderten Werten) aktualisiert.