Toolmaker Produkt-Dokumentation
Anwendungsleitfaden
Inhaltsübersicht
Beim Einsatz von directword sind bestimmte Regeln zu beachten, die in nachfolgenden Kapiteln beschrieben sind.
Einsatz von directword
directword ermöglicht auf der IBM i, abhängig von verwendeten Befehlen, Textverarbeitung mit Microsoft Word und erschließt für textverarbeitungsorientierte IBM i-Anwendungen neue Plattformen wie Windows XP/Vista und WINDOWS7. Das in den jeweiligen Anwendungen bewährte System von Dokumentvorlage und Dokumentenablage bleibt dabei einschließlich der gewohnten Berechtigungsregelungen voll erhalten, sofern Sie Ihre Dokumente in Ordnern auf der IBM i ablegen. Wählen Sie als Dateiablage einen Netzwerk-Server, z.B. Windows NT-Server, so müssen Sie die Sicherheitsregelungen dieses Systems beachten.
Einige Befehle funktionieren nur im native-Umfeld der IBM i. In den Beispielprogrammen sind diese mit (native) gekennzeichnet.
Anpassung der CL-Programme
Soweit möglich, wurde die Logik der IBM i-Textverarbeitung beibehalten bzw. entsprechend in Word nachgebildet. Es gibt jedoch auch Umstände, die eine abweichende Handhabung erforderlich machen. Im Gegensatz zu OS/400, wo alle Prozesse einer Sitzung streng nacheinander ablaufen, werden unter Einbeziehung von PC-Betriebssystemen parallele Prozesse erzwungen.
Beispielsweise werden im Gegensatz zu MRGDOC mit anschließendem CHGDOCD als zwei aufeinander folgende Befehle diese von DWMRGDOC in einem Befehl verarbeitet.
Die Implementierung der directword-Befehle erfolgt durch teilweisen oder vollständigen Ersatz der Office-Befehle. directword umfasst folgenden Befehlssatz:
DWADDMRGF Mischdatei hinzufügen
DWCHGDOCD Dokumentdetails ändern
DWCHKDLO Dokument prüfen
DWCONDOC Konvertierung eines RFTDCA-Dokumentes
DWCPYDOC Dokument kopieren
DWCRTFLR Ordner erstellen
DWCRTOBJF Objektdatei für interne Informationen erstellen
DWDLGDOCD Dialog zum Ändern von Dokumentdetails
DWDLTDLO Dokument löschen
DWDSPDOC Dokument anzeigen (OfficeVision + PC-Textdateien)
DWEXTOBJF Objektdatei erweitern
DWMRGDOC Dokument mischen (OfficeVision + PC-Textdateien)
DWMRGMAIL Dokument in Outlook mischen
DWPRTDOC Dokument drucken (OfficeVision + PC-Textdateien)
DWRGZOBJF Objektdatei reorganisieren
DWRNMDLO Dokumentbibliotheksobjekt umbenennen
DWSERMAIL Serienmails mit Outlook erstellen
DWSLTDOC Dokument auswählen
DWSLTDOD Dokument auswählen mit Beschreibung
DWSLTFLR Ordner auswählen
DWUPDDOL Bausteinliste aktualisieren
DWWRDMKR Word-Makro ausführen
DWWRKDOC Mit Dokumenten arbeiten
Die hervorgehobenen Befehle entsprechen den Befehlen aus dem ehemaligen OfficeVision.
Achtung
Einige Befehle (z.B. DWCHGDOCD) sind nur sinnvoll bei Speicherung der Dokumente auf dem IBM i-System da nur hier die Dokumentdetails geändert werden können.
Zusammensetzung über Bausteinliste
Wird die Bausteinabfolge eines Dokumentes in einer Datei definiert, kann diese Datei mit einer Sonderform der Include-Anweisung verarbeitet werden, um ein Dokument aus mehreren Bausteinen zusammenzusetzen. Mittels des Befehls DWUPDDOL (Bausteinliste aktualisieren) werden aus einer beliebigen Anwenderdatei (&DATEI) die Datenfelder ORDNER und BAUSTEIN (zwingende Namenskonvention) in eine Liste von Bausteinen unter einer vom Anwender benannten Kennung (&LISTE) aktualisiert. Diese Kennung kann später beim DWMRGDOC verwendet werden.
Eine Befehlssequenz könnte folgendermaßen aussehen:
DWUPDDOL DOLID(&LISTE) DOLFILE(LIBL/&DATEI{*}) + DOLMBR(&WRKFLR)
DWMRGDOC FROMDOC(&INCDOC) FROMFLR(&AKTTXT) + TODOC(&TODOC) TOFLR(&TOFLR) + OLID(&LISTE) AKTENZ(&AKTENNR) + DTAFILE(*LIBL/PROBKUE0) REPLACE(*YES) +
DSPOPT(&PRINT) EDITOR(WORD)
Mischen von Daten im Batchbetrieb
Beim interaktiven Arbeiten mit directword wird die TCP/IP-Adresse des PCs aus der 5250-Sitzung ausgelesen, an diese TCP/IP-Adresse wird auch der Mischbefehl gesendet. Bei SNA-Verbindungen mit TCP/IP gibt es diese Attribute in der 5250-Sitzung nicht, deshalb wird über die Datei SNATCP (Verwaltung über Menüauswahl 4 aus dem directword Startmenü) eine Verbindung zur TCP/IP-Adresse des Misch-PCs hergestellt.
Diese Funktion wird auch im Batchbetrieb benutzt. Starten Sie den DWMRGDOC-Befehl über SBMJOB und geben Sie als Jobnamen einen eindeutigen Namen ein (z.B. DWBATCH). Dieser Name muss auch als Eintrag in der Datei SNATCP in der Bibliothek DIRWORD vorkommen. Im Batchbetrieb schaut directword mit dem Jobnamen in dieser Datei nach, findet den Eintrag DWBATCH mit TCP/IP-Adresse und schickt an diese Adresse den Mischbefehl.
Hinweis: Der Batchbetrieb läuft nicht bei gestartetem directword Dienst. Für Batchbetrieb muß der Dienst beendet und unter Start – Programme – directword – directword TCPServer gestartet werden.
Achtung: wird der PC heruntergefahren oder der Benutzer meldet sich ab, so muß der directword TCP Server bei Neustrat bzw. Neuanmeldung des Benutzers wieder gestartet werden.
Hinweis: Der Benutzer muß angemeldet bleiben von dem aus der TCP Server gestartet wurde.
Synchrone Verarbeitung
Einige Befehle von directword (Mischen, Drucken und Makroausführung) wurden so erstellt, dass die IBM i-Prozesse vom PC-Prozess einen Rückkehrcode erhalten (oder einen Time-Out). Hiermit können Abläufe synchronisiert werden. Dies hilft insbesondere dann weiter, wenn Misch- und Druckprozesse in CL-Programme eingebunden werden und der nächste Schritt erst nach Abschluss der PC-Aktivitität erfolgen soll.
Die Befehle DWMRGDOC, DWPRTDOC und DWWRDMKR wurden mit diesen synchronen Merkmalen ausgestattet und haben, neben den Befehlsparametern zusätzliche Parameter für Rückkehrcode, Statustext und Time-Out.
Bei Ausführung von DWMRGDOC bzw. DWPRTDOC in synchroner Verarbeitung wird ein Eintrag in die Datei DWANSWER in der Bibliothek DIRWORD vorgenommen. Bei DWWRDMKR erhält den Rückkehrcode direkt als Parameter.
0052 – Synchrone Verarbeitung Eintrag Datenteildatei DWANSWER
Das Auslesen der Teildatei DWANSWER erfolgt mit dem CL-Befehl DWGETANSWC (siehe Bsp. BEISP0230).
Das Feld Result kann folgende Werte haben:
1=Erfolgreich
2=Nicht erfolgreich
5=Zeit abgelaufen
Mischen von Variablen in Kopf-/Fußzeilen
directword unterstützt nur das Mischen von Variablen im Textbereich, nicht in Kopf-/Fußzeilen. Es gibt jedoch einen Workaround um dies doch zu ermöglichen:
- Im Word unter "Extra" "Optionen" Reiter "Drucken" Druckoption "Felder aktualisieren" einschalten
- Variablen in den Text des Vorlage-Dokumentes einfügen (Hinter jeder Variable muss unbedingt eine Leerstelle stehen)
- Variablen markieren und über "Hinzufügen" "Textmarke" diese mit Namen als Textmarke festlegen.
- Variable mit Schriftart "Weiss" unsichtbar machen
- In Kopf-/Fußzeile wechseln
- Textmarke einfügen über "Einfügen" "Feld" Kategorie: "Verknüpfungen und Verweise" Feldnamen: "Ref", auf "Optionen" klicken, auf Reiter "Textmarken" klicken, Textmarke auswählen und mit OK einfügen
- Vorlagedokument abspeichern
- Mischbefehl ausführen
Angezeigt werden in der Kopf/Fußzeile noch die Platzhalter, diese werden ersetzt indem
a) das Dokument entweder ausgedruckt wird, oder
b) die Seitenansicht aufgerufen wurde.
Mischen von Variablen in Textfeldern
directword unterstützt das Mischen von Textfeldern innerhalb des Textbereiches.
Vorlage mit Textfeldern:
0160 - Vorlage mit Textfeldern
Verlauf des Einmischvorganges:
Zunächst werden die Platzhalter im Dokument, dann die Textfelder, eingemischt.
Behandlung von FORMTEXT-Feldern
Bei der Behandlung von Formtextfeldern in directword ist folgendes zu beachten:
0188 – FORMTEXT-Feld
Nach Einmischen des Datensatzes wird der sichtbare Text in Standardtext kopiert. Aufgrund dieser Vorgehensweise werden diese Felder bei Feldaktualisierung nicht mit dem Standardwert überschrieben.
0189 – Optionen für Textformularfelder
Einmischen von Daten aus mehreren Dateien
Die Einbeziehung von Daten aus mehreren Dateien erfolgt bei OfficeVision mittels der Instruktion "Datenfeld aus Datenmischangaben". Dies ist in directword nicht möglich. Stattdessen erwartet directword, dass zusätzlich zu berücksichtigende Datendateien vor dem DWMRGDOC festgelegt werden. Dies erfolgt über den Befehl DWADDMRGF. Dieser Befehl kann in einem CL-Programm mehrfach benutzt werden.
Wichtig
Gleiche Feldnamen dürfen nicht in verschiedenen Dateien verwendet werden.
Anwendungsbeispiel: Ein Brief soll eine Liste mit Telefonnummern und eine weitere Liste mit Bankkontonummern enthalten. Die Telefonnummern stehen in der Datei TELEFON (mehrere Sätze), die Kontonummern in der Datei BANKKONTO. Die Datei PERSON enthält einen Satz mit Angaben zu einer Person wie Adresse und anderen Variablen. Dann lautet die Befehlsfolge wie folgt:
DWADDMRGF DTAFILE(TELEFON)
DWADDMRGF DTAFILE(BANKKONTO)
DWMRGDOC ...DTAFILE(PERSON) ...
Nachrichtenüberwachung
Bei interaktiven Jobs wird die Nachricht angezeigt, danach wird mit Datenfreigabe fortgesetzt.
In Batch-Jobs werden diese Informationen ins Jobprotokoll geschrieben. In beiden Fällen wird ein Datenbereich QTEMP/DWCPFMSG gepflegt. Darin steht die evtl. CPFMSG-ID des letzten Fehlers. Dieser kann statt der MONMSG-Anweisungen im CL-Programm abgefragt werden:
DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
RTVDTAARA DTAARA(QTEMP/DWCPFMSG) RTNVAR(&MSGID)
MONMSG MSGID(CPF1015)
Umstellung der OfficeVision-Befehle
Die directword Befehle haben vom normalen Office-Befehlssatz generell abweichende Namen; sie beginnen mit "DW". Die Office-Befehle befinden sich in der Bibliothek QSYS und sind deswegen nicht durch eine vorangestellte Anwendungsbibliothek überschreibbar. Von einer Änderung in der QSYS wurde abgesehen. Außerdem beinhaltet der directword-Befehlssatz zusätzliche Befehle und innerhalb eines Befehles werden teilweise zusätzliche Parameter verwendet. Deswegen ist es erforderlich, die CL-Programme geringfügig zu überarbeiten.
Das Startprogramm STRDWD bzw. die Startprogramme der jeweiligen Anwendung sind so zu modifizieren, dass die Bibliothek DIRWORD am Ende der Bibliotheksliste aufgenommen wird.
Nach Office-Befehlen in den CL-Programmen der anzupassenden Anwendung suchen. Dem Befehl ein DW voranstellen, z. B. DWMRGDOC statt MRGDOC. Bedienerhilfe F4 drücken und die Parameterbelegung kontrollieren. Nachfolgende Parametertabelle gibt Auskunft, welche Parameter wegfallen, und wie Sie fest vorbelegt werden. Anschließend Datenfreigabe drücken.
Befehl Parameter Parameterwert
MRGDOC MRGTYPE *FILE
JOBQ *NO
JOBD (MRGDOC-Unterlassungswert)
OUTPUT (MRGDOC-Unterlassungswert)
PRTDOC ADJLINES *YES
ADJPAGES *YES