Die WebUtil Core Features (alles, was man sonst selbst in Java Beans nachbauen müßte)
- Text_IO: Read and write text files on the client machine.
- Tool_Env: Read client side variables
- C API on the client: Interface with client side C.
- Host: Run Host commands on the client machine
- OLE2: Integrate with client side OLE (e.g. Word and Excel)
- Enhanced Host commands: Host command can now call back into Forms!
- Browser functions: Integrate with the browser.
- File transfer: Move from between the client, application server and database.
- Client machine information: Read information from the client machine
- READ/WRITE_IMAGE_FILE: Read and write client side images
- Get_File_Name: Use a file selection dialog on the client machine
Enthalten sind hauptsächlich 3 wichtige Dateien:
- jacob.jar
- jacob-1.18-M2-x64.dll
- jacob-1.18-M2-x86.dll
- Signieren der Datei jacob.jar mit einem gültigen Zertifikat und in das Verzeichnis ORACLE_HOME/forms/java kopieren (dort ist schon die bereits signierte Datei frmwebutil.jar)
- Kopieren der Datei jacob-1.18-M2-x86.dll in das Verzeichnis ORACLE_HOME/forms/webutil/win32 und jacob-1.18-M2-x64.dll in ORACLE_HOME/forms/webutil/win64
- bei Bedarf, falls eine C-dll Datei auf dem Client aufgerufen werden soll, Kopie von ffisamp.dll aus dem Demo-Test in den Unterordner ORACLE_HOME/forms/webutil//win32
- Anpassen der Konfigurationsdatei webutil.cfg
Darin kann konfiguriert werden, ob Webutil Fehler und Meldungen geloggt werden sollen. Ebenfalls läßt sich ein- und ausschalten, ob der Dateitransfer gestattet ist. Als nächstes läßt sich einstellen, in welches Verzeichnis die benutzten DLL-Files auf den Client kopiert werden. Und es wird konfiguriert, welche DLL's Webutil verwendet. Falls diese nicht in /win32 und/oder /win64 liegen und die angegebene Größe in Bytes nicht zu tatsächlichen Größen passt, gibt es später Fehlermeldungen beim Aufruf der Forms-Anwendung. - Einspielen eines Datenbank-Packages webutil_db mit dem Skript (ORACLE_HOME/forms/create_webutil_db.sql) und Erstellen eines Public Synonyms dafür
# Sample configuration for deploying WebUtil. Note that WebUtil is
# only installed with the Forms Builder and is also available for download
# from OTN.
[webutil]
WebUtilArchive=frmwebutil.jar,jacob.jar
WebUtilLogging=off
WebUtilLoggingDetail=normal
WebUtilErrorMode=Alert
WebUtilDispatchMonitorInterval=5
WebUtilTrustInternal=true
WebUtilMaxTransferSize=16384
baseHTML=webutilbase.htm
baseHTMLjpi=webutiljpi.htm
archive=frmall.jar
lookAndFeel=oracle
form=webutil_demo.fmx
Hat man dies alles getan, ist Webutil fast schon einsatzbereit. Als weitere Forms-Module liefert Oracle eine webutil.pll und webutil.olb mit. Am einfachsten packt man diese 2 Module in das Verzeichnis, dass der Variable FORMS_PATH entspricht und kompiliert die webutil.pll einmal durch und generiert ggf. das webutil.plx.
Zum Testen, ob alles richtig eingestellt ist, liefert Oracle ein Forms webutil_demo.fmb zum Testen, erhältlich unter dem folgenden Link. Damit kann geprüft werden, ob die Webutil-Basis Funktionen richtig laufen.
unter Forms 10g geht die Uhrzeitermittlung noch korrekt |
Hinweise / Auffälligkeiten:
Warum die Maske bei der Time Zone Europe/Berlin 18:13 Uhr ausspuckt, obwohl es erst 16:13 Uhr ist, ist mir noch rätselhaft. Was auch unter der Version 12c nicht bei mir funktioniert hat, ist die Demo im Reiter Browser, um eine Message an den Browser zu senden (liegt vielleicht daran, dass keine Statusleiste im Browser ist). Sonst lief die Demo-Version sehr gut bei mir. Hinzukommen können auf Nicht-Windows Umgebungen Fehlermeldungen bei nicht richtig gesetzten Berechtigungen auf Verzeichnissen für den Application Server, damit der Datei-Upload/-download funktioniert.
Nachtrag vom 4.7.2016, dank einer Antwort von Frank Hoffmann via Twitter
Es muss bedingt durch eine Änderung im Forms Patch 12.2.1.1 (change im Time zone Support) in der default.env eine Umgebungsvariable gesetzt werden:
FORMS_DATETIME_LOCAL_TZ=GMT
Bis bald wieder sagt
Holger