Inhaltsübersicht
Table of Contents maxLevel 3
Bibliotheken
Alle zur Erstellung von WOPiXXRPGWX-Programmen benötigten Quellen, d.h. Prototypen, Referenz-Felder und Referenz-Datenstrukturen sind in der Bibliothek WOPIX hinterlegt RPGWX hinterlegt und werden somit ausgeliefert. Außerdem befinden sich in dieser Bibliothek alle Service-Programme, in denen alle WOPiXXRPGWX-Funktionen enthalten sind, die der WOPiXXRPGWX-Programmierer aufrufen kann.
Da WOPiXX RPGWX auf Directweb basiert wird auch die Bibliothek DIRWEB ausgeliefert. In dieser Bibliothek befinden sich alle zur Laufzeit von directweb benötigten Programm- und Service-Programm-Objekte, sowie Prototypen und Referenz-Felder und Referenz-Datenstrukturen, die zur Erstellung von Directweb (Service)-Programmen erforderlich sind.
Für die Umwandlung von WOPiXXRPGWX-Programmen sollten die beiden Objekt-Bibliotheken in der folgenden Reihenfolge in der Bibliotheksliste hinterlegt sein:
QTEMP
<ihre eigenen Bibliotheken>
WOPIX
DIRWEB
Die Bibliothekslisten, die den Anwendungen zugeordnet sind, werden zur Laufzeit von der WOPiXXRPGWX-Engine gesetzt. Wartungsprogramme über die die Bibliothekslisten vordefiniert und zugeordnet werden können, werden zur Verfügung gestellt.
Werden die Bibliotheken WOPIX und DIRWEB nicht in der Bibliotheksliste für die individuellen WOPiXXRPGWX-Programme hinterlegt, werden sie zur Laufzeit (der WOPiXXRPGWX-Programme) automatisch in die Bibliotheksliste aufgenommen.
Binderverzeichnisse
Alle WOPiXXRPGWX- und Directweb-Prozeduren sind in Service-Programmen hinterlegt.
Um die Auflistung der Service-Programme beim Erstellen der individuellen WOPiXXRPGWX-Programme zu vermeiden, wurden die Service-Programme in Binder-Verzeichnissen zusammengefasst.
Alle Service-Programme, in denen WOPiXXRPGWX-Prozeduren enthalten sind, sind in Binderverzeichnis WXBNDDIR in Bibliothek WOPIX hinterlegt. Die Service-Programme mit den Dirweb-Prozeduren sind in Binderverzeichnis DWBNDDIR in Bibliothek DIRWEB hinterlegt.
Die Binder-Verzeichnisse müssen beim Erstellen der individuellen WOPiXXRPGWX-Programme angegeben werden.
Toolmaker stellt die Copy-Strecke Copystrecke WX_HSPECS
in Datei QCPYLESRC in Bibliothek WOPIX zur Verfügung. Wird diese Copy-Strecke Copystrecke in die individuellen WOPiXXRPGWX-Programme integriert, werden die Binder-Verzeichnisse beim Erstellen der Programme mit Option 14 in PDM bzw. dem CL-Befehl CRTBNDRPG
(CRPG-Binderprogramm erstellen) automatisch integriert.
Code Block | ||||
---|---|---|---|---|
| ||||
* Binding Directories /IF NOT DEFINED(HBndDir) H BndDir('WXBNDDIR': 'DWBNDDIR': 'QC2LE') /ENDIF |
Aktivierungsgruppen
Da es sich sowohl bei den WOPiXXRPGWX- als auch bei den Dirweb-Prozeduren um echte ILE Prozeduren handelt, können die individuellen WOPiXXRPGWX-Programme nicht in der Default-Aktivierungsgruppe (= Default-Wert in Befehl CRTBNDPRG) erstellt werden, d.h. die Option DFTACTGRP=*NO
ist nicht zulässig.
Da in dem steuernden Dirweb-Programm intensiv mit Pointern gearbeitet wird und Pointer bzw. die zugeordneten Speicherbereiche nicht in unterschiedlichen Aktivierungsgruppen verwaltet werden können, müssen die individuellen WOPiXXRPGWX-Programme in der gleichen Aktivierungsgruppe wie das steuernde Dirweb-Programm ausgeführt werden, d.h. die Option ACTGRP = '*CALLER'
oder ACTGRP = 'QILE'
muss im Compile-Befehl oder den H-Bestimmungen angegeben werden.
Bei Einbindung der Copy-Strecke Copystrecke WX_HSPECS (H-Bestimmungen in HX_HSPECS), wird beim Erstellen der individuellen WOPiXXRPGWX-Programme mit Option 14 im PDM bzw. dem CL-Befehl CRTBNDRPG die Aktivierungsgruppe auf *CALLER (bzw. QILE) gesetzt.
Code Block | ||||
---|---|---|---|---|
| ||||
* Activation Group /IF NOT DEFINED(HActGrp) /DEFINE HActGrp /IF Defined (*CRTBNDRPG) H DftActGrp(*No) ActGrp('QILE') /ENDIF /ENDIF |
...
Copystrecken
Für die Entwicklung von Web-Anwendungen mit WOPIXX RPGWX werden die folgenden Copy-Strecken Copystrecken zur Verfügung gestellt.
- WX_HSPECS - H-Bestimmungen- Alle wichtigen Schlüssel-Worte
- WX_HCOPYR - H-Bestimmung- Schlüsselwort Copyright
- WX_FLDREF - D-Bestimmungen – Referenz-Felder und -Datenstrukturen
- WX_PROTO - D-Bestimmungen – Alle WOPiXXRPGWX-Prototypen
Die in den Bibliotheken WOPIX und DIRWEB zur Verfügung gestellten Copy-Strecken Copystrecken können vom Programmierer in die Programme eingebunden werden. Weitere Informationen dazu finden Sie auf der Seite Erstellen von WOPiXXRPGWX-Programmen.
Note | ||
---|---|---|
| ||
Der Source Code in den Copy-Strecken Copystrecken sollte jedoch vom Programmierer nicht verändert werden. Toolmaker übernimmt keine Verantwortung für Fehler, die durch Manipulation der zur Verfügung gestellten Quellen auftreten könnten. |
...
Copystrecken zur Referenzierung von Variablen
Die Copy-StreckenCopystrecken, die zur Definition von Parameter-Feldern verwendet werden, sind jeweils direkt in den Copy-Strecken Copystrecken für die Prototypen integriert. Da die Prototypen in die individuellen WOPiXXRPGWX-Programme eingebunden werden müssen, werden die Referenz-Felder und Datenstrukturen ebenfalls eingebunden. Eine separate Einbindung der Copy-Strecken Copystrecken mit den Referenz-Informationen ist somit in den individuellen WOPiXXRPGWX-Programmen nicht erforderlich.
Da alle Referenz-Datenstrukturen durch Compiler-Direktiven bedingt sind, treten bei mehrfacher Einbindung der gleichen Copy-Strecke Copystrecke bzw. bei mehrfacher Definition der gleichen Datenstruktur keine Probleme auf. Die erste Definition wird verwendet, die folgenden Definitionen werden ignoriert.
Bei WOPiXXRPGWX-Programmen mit embedded SQL muss ggf. die Copy-Strecke Copystrecke D_FLDREF angegeben werden, da der SQL Precompiler verschachtelte Copy-Strecken Copystrecken abhängig vom Release u.U. nicht auflösen kann.
Upgrade und Änderung von
...
Copystrecken
Diese Copy-Strecken Copystrecken werden jeweils bei einem Upgrade von WOPiXX RPGWX ausgetauscht.
Referenz-Felder und –Datenstrukturen, die in den Copy-Strecken Copystrecken hinterlegt sind werden von Toolmaker nur in Ausnahmefällen geändert.
Alle Parameter-Felder, die in Prototypen definiert sind, basieren auf diesen Referenz-Definitionen.
Vorhandene Prozeduren bzw. deren Prototypen werden von Toolmaker allenfalls dahingehend erweitert, dass optionale Parameter ans Ende der Parameter-Liste hinzugefügt werden.
Note | ||
---|---|---|
| ||
Nach einem Upgrade sollten die individuellen WOPiXXRPGWX-Programme erneut kompiliert werden, um sicherzustellen, dass die Parameter- und Variablen-Definitionen übereinstimmen. |
Referenzierung und Prototypen
Alle in den Prototypen hinterlegten Parameter-Felder wurden basierend auf den Feldern in der Feld-Referenz-Datei oder anderen in den Copy-Strecken Copystrecken WX_FLDREF und D_FLDREF definiert.
Variablen oder Datenstruktur-Unterfelder, über die Daten mit den WOPiXXRPGWX-Funktionen ausgetauscht werden, können genau wie die Parameter-Felder in den Prototypen definiert werden.
H-Bestimmungen in HX_HSPECS
Die Copy-Strecke Copystrecke WX_HSPECS enthält Compilerdirektiven, die für WOPiXX RPGWX sinnvoll sind.
Code Block | ||||
---|---|---|---|---|
| ||||
********************************************************************************************** * H - S P E C I F I C A T I O N S ********************************************************************************************** * Binding Directory H/IF NOT DEFINED(HBndDir) H BndDir('WXBNDDIR': 'DWBNDDIR': 'QC2LE') H/ENDIF * H/If Not Defined(HCopyRight) H/Include QCPYLESRC,WX_HCOPYR H/EndIf * * H-Specs DirectWeb H/Include QCPYLESRC,DW_HSpecs |
Individuelle Anpassung der H-Bestimmungen
Alle Schlüssel-Worte in der Copy-Strecke Copystrecke WX_HSPECS sind durch Compiler-Direktiven bedingt und können beliebig aktiviert oder deaktiviert werden.
Im folgenden Beispiel wird die Option BNDDIR um das individuelle Binderverzeichnis MYBNDDIR erweitert. Anschließend wird die Copy-Strecke Copystrecke WX_HSPECS eingebunden. Durch das Setzen der Compiler-Direktive /Define HBNDDIR werden die in der Copy-Strecke Copystrecke WX_HSPECS angegebenen Binder-Verzeichnis-Einträge übergangen.
/Define HBndDir
H BndDir('WXBNDDIR': 'DWBNDDIR': 'QC2LE', 'MYBNDDIR')
/INCLUDE WX_HSPECS
Deaktivieren / Ändern Aktivierungsgruppe in Copy-StreckeCopystrecke
Bei der Verwendung von individuellen H-Bestimmungen muss folgendes beachtet werden:
Umwandlung mit CRTBNDRPG (RPG-Binderprogramm erstellen)
- Da aus WOPiXXRPGWX-Programmen ILE-Prozeduren aufgerufen werden, dürfen die Programme nicht in der Default-Aktivierungsgruppe ausgeführt werden. → Aus diesem Grund muss die Option DFTACTGRP (Standardaktivierungsgruppe) in dem Compile-Befehl
CRTBNDRPG auf *NO
gestellt werden. - Individuelle WOPiXXRPGWX-Programme müssen in der gleichen Aktivierungsgruppe wie das steuernde Dirweb-Programm laufen. → Deshalb muss die Option ACTGRP (Aktivierungsgruppe) im Compile-Befehl mit
*CALLER
angegeben werden. - Die Service-Programme, in denen die WOPiXXRPGWX-Funktionen hinterlegt sind, sind in Binderverzeichnis
WXBNDDIR
hinterlegt. → Aus diesem Grund muss bei Kompilierung mit CRTBNDRPG zumindest das Binderverzeichnis WXBNDDIR in der Option BNDDIR (Binderverzeichnis) angegeben werden.
Falls zusätzlich auch Directweb-Prozeduren in den individuellen CGI-Programmen verwendet werden sollen, muss auch das Binderverzeichnis DWBNDDIR in der Option BNDDIR angegeben werden.
Anstatt den Compile-Befehl anzupassen, können die notwendigen Informationen auch in den H-Bestimmungen hinterlegt werden. Die Kompilierung kann anschließend über CRTBNDRPG ohne Anpassung erfolgen.
Bei Programmen, die embedded SQL beinhalten erfolgt die Kompilierung über den Befehl CRTSQLRPGI
(SQL ILE RPG-Objekt erstellen). Dieser Befehl hat keine Optionen um die Aktivierungsgruppe oder Binderverzeichnisse vorzugeben. Deshalb müssen bei Programmen mit embedded SQL die benötigten Informationen in den H-Bestimmungen hinterlegt werden.
H-Bestimmungen
- Das Schlüssel-Wort DFTACTGRP in den H-Bestimmungen überschreibt zur Compile-Zeit den Eintrag in Option DFTACTGRP im Compile-Befehl CRTBNDRPG.
Werden H-Bestimmungen verwendet, sollte DFTACTGRP(*NO) angegeben werden.
- Das Schlüssel-Wort ACTGRP in den H-Bestimmungen überschreibt zur Compile-Zeit den Eintrag in Option ACTGRP im Compile-Befehl CRTBNDRPG.
Werden H-Bestimmungen verwendet sollteACTGRP(*CALLER)
angegeben werden.
- Werden im Schlüssel-Wort BNDDIR in den H-Bestimmungen Binderverzeichnisse angegeben, wird die Option im BNDDIR im Compile-Command nicht überschrieben, sondern die in den H-Bestimmungen hinterlegten Binderverzeichnisse werden zusätzlich zu den im Compile-Befehl hinterlegten Binderverzeichnisse verwendet.
Werden H-Bestimmungen verwendet, dann sollte zumindest das BinderverzeichnisWXBNDDIR
angegeben werden. Sofern auch Directweb-Prozeduren aufgerufen werden sollten, sollte zusätzlich das BinderverzeichnisDWBNDDIR
angegeben werden.
Die Binderverzeichnisse müssen im Schlüssel-Wort BNDDIR in Hochkommata und in Großbuchstaben und durch Kommata getrennt angegeben werden.
Deklarationen in der
...
Copystrecke WX_PROTO
Alle Prototypen (incl. Referenz-Datenstrukturen) für die WOPiXXRPGWX-Prozeduren sind in der Copy-Strecke Copystrecke WOPIX/QPROLESRC(WX_PROTO)
zusammengefasst.
Damit stehen alle Prozeduren zur Verfügung, unabhängig davon, ob sie originär WOPiXXRPGWX- oder directweb- Prozeduren sind. Im Detail sähe das so aus:
- Die Prototypen für die WOPiXX RPGWX-Prozeduren sind in Teildateien mit dem gleichen Namen wie die Quelle, in der die Prozedur codiert wurde, in der Datei QPROLESRC in der Bibliothek
WOPIX
hinterlegt. - Die Prototypen für Directweb-Prozeduren sind in Teildateien mit dem gleichen Namen wie die Quelle, in der die Prozedur codiert wurde, in der Datei QPROLESRC in der Bibliothek
DIRWEB
hinterlegt.
In allen Teildateien, in denen Prototypen definiert werden, werden die Copy-Strecken Copystrecken mit den Feld-Referenzen, die zur Definition der Parameter-Felder verwendet wurden, integriert. Damit ist eine zusätzliche Einbindung der Feld-Referenzen im WOPiXXRPGWX-Programm nicht erforderlich.
Alle Prototypen und Referenz-Datenstrukturen sind durch Compiler-Direktiven bedingt, so dass eine (versehentliche) Mehrfacheinbindung der gleichen Copy-Strecke Copystrecke bzw. Datenstruktur nicht zu Problemen führt.
Default-HTML-Dokumente
Für Work- und Change-Programme werden Default-HTML-Dokumente zur Verfügung gestellt.
- Wx_ChgDefault.html - Default-Dokument für Change Tables (Einzel-Anzeige)
- Wx_WrkDefault.html - Default-Dokument für Work Tables (List-Anzeige)
Die Default-HTML-Dokumente werden beim Einrichten der Anwendung (6.1 Anwendung) in das Verzeichnis für HTML-Vorlagen übertragen.
Zur Laufzeit wird der HTML und JavaScript-Code aufbereitet. Der aufbereitete HTML- und Javascript Code wird in die Default-Dokumente übertragen und an Stelle der Platzhalter ausgegeben.
Die Default-Dokumente können durch individuelle HTML-Dokumente mit individuellem HTML und Java-Script-Code ersetzt werden. Die individuellen HTML-Dokumente müssen jedoch die gleichen Platzhalter wie die Default-Dokumente beinhalten.
Die Platzhalter sind durch ein führendes und folgendes Prozent-Zeichen gekennzeichnet, z.B. %ERRTXT%