Kapitelübersicht
7. Windows-Utilities fuer ASS-PC
7.1 Vorlaufkarten editieren.
7.2 Ablaufprotokolle anzeigen
7.3 Batchverarbeitung unter Windows (WINBAT)
7.4 dBase-IV Ausgabeformat in der ST31 unter Windows
Kap. 7
7. Windows-Utilities fuer ASS-PC
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Fuer ASS-PC unter Windows werden einige spezielle
Programme ausgeliefert. Sie helfen zum einen bei der
Installation des ASS-PC Systems, zum anderen erleichtern sie
die Bedienung und Wartung.
Die beschriebenen Utilities setzen voraus, dass die ASS-PC
ASS-Pfadvariable korrekt definiert worden sind. (Siehe
Kapitel 2.3).
7.1
7.1 Vorlaufkarten editieren.
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Die meisten Batchprogramme in ASS-PC werden ueber
Vorlaufkarten gesteuert. Im Allgemeinen muss daher vor dem
Programmstart eine Vorlaufkartendatei Tnnnn.VLK editiert
werden. Es sollten deshalb die Dateien mit der Extension VLK
mit dem Windows-Editor (oder einem anderen Windows-faehigen
Editor) verknuepft werden (siehe Windows-Handbuch). Eine
andere Moeglichkeit bildet das Hilfsprogramm WINBAT. Dieses
erlaubt die Abfolge bestimmter Programme in einer Art Batch-
Datei festzulegen und diese mit WINBAT ablaufen zu lassen.
Siehe auch den Abschnitt zu WINBAT.
7.2
7.2 Ablaufprotokolle anzeigen
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Um zu ueberpruefen, ob ein ASS-PC Batchprogramm fehlerfrei
gearbeitet hat, sollte man das Ablaufprotokoll ueberpruefen.
Dazu ist es nuetzlich, die Dateien *.PTK mit dem Windows-
Editor notepad.exe zu verknuepfen. Doppeltes anklicken des
Dateinamens im Explorer bewirkt dann automatisch den
Sprung in den Editor.
7.3
7.3 Batchverarbeitung unter Windows (WINBAT)
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
1. Allgemeines
--------------
a) Funktion der WINBAT
-------------------
WINBAT ist ein Windows-Programm, das die Befehle, die in
einer Textdatei eingetragen sind, abarbeitet. Die Befehle,
die hier abgesetzt werden koennen, sind an der DOS-BATCH-
Sprache orientiert. Damit wird unter Windows ein Leistungs-
merkmal der JCL (Job-Control-Language) am Grossrechner
imitiert.
b) WINBAT als ONLINE- und BATCHVARIANTE
------------------------------------
Es wird eine ONLINE- und eine BATCH-Variante der WINBAT aus-
geliefert. Die ONLINE-Version "winbaton.exe" entspricht der
bisherigen "winbat.exe" . Der Sprachumfang und die -syntax
bleiben unveraendert.
In der BATCH-Version "winbatba.exe" ist der Sprachumfang
beschraenkt. Es sind nur Schluesselworte/Befehle erlaubt, die
keine Benutzerinteraktion erfordern. N i c h t erlaubt sind
PAUSE, ACCEPT, JA_NEIN_FRAGE. Die Batchvariante ist vorwie-
wiegend fuer den operatorlosen Betrieb (z.B. fuer Nachtlaeufe)
gedacht.
c) Aufrufmoeglichtkeit durch Desktop-Verknuepfungen
------------------------------------------------
Aufgerufen wird WINBAT unter DOS/Windows (Ausfuehren...)
mit der zu bearbeitenden Datei. Also beispielsweise:
c:/ass/pgm/winbaton c:/ass/vlk/pcl1004.wbt
Fuer Standardablaeufe von Programmen (Erst- bzw. Folgeein-
speicherung) koennen auf dem Desktop Icons angelegt werden,
die durch doppeltes Anklicken die entsprechende WBT-Datei
abarbeiten.
Wird keine Datei angegeben, so nimmt WINBAT die Datei
WINBAT.WBT im ASS-Vorlaufkartenverzeichnis ($ASSVLK) als
Eingabedatei.
2. Befehle
----------
WINBAT arbeitet Schluesselwort- und Zeilenorientiert. Im
Allgemeinen wird also eine Zeile in einer WBT-Datei durch
ein Schluesselwort eingeleitet. Gross- bzw. Kleinschreibung
wird dabei ignoriert. Wird in einer Zeile kein Schluessel-
wort gefunden, so wird sie als Programmaufruf interpretiert.
Ausnahme: Zeilen nach dem Schluesselwort WRITE-TEXT-DATEI,
siehe unten.
Parameter und Zeitstempel
-------------------------
Analog zur Anforderungssprache von ASS kann die Winbat parame-
trisiert werden. Fuer Zeitstempel existieren dazu die Standard-
parameter
&&JJ &&HH
&&JJMM &&HHMM
&&JJMMTT &&HHMMSS
&&JJMMTTHH
&&JJMMTTHHMM
&&JJMMTTHHMMSS
Sie werden mit dem aktuellen Maschinendatum /-Zeit zum Start-
zeitpunkt des Programms vorbelegt und koennen frei ueberschrieben
werden. Falls eigene Parameter definiert werden, so muessen sie
PL/I-Bezeichner sein. Allgemeine Syntax:
&&PARAM = 'Zuweisung' (; Kommentar)
Beispiel:
&&HUGO = 'Der arme Hugo, der muss leiden'; Strings in Hochkomma
&&JJMMTT = 020307
Falls ein Parameter eingesetzt werden soll, muss er in Hokomma
angefuehrt werden.
Beispiel:
REN $ASSDB/DST002 $ASSDB/DST002.'&&HUGO'
* Windows-Variable
* ----------------
* In der Winbat koennen auch Windows-Variable benutzt werden.
* Der Name muss durch das Prozentzeichen eingeschlossen werden.
* Name und einschliessende Prozentzeichen werden durch den
* betreffenden Inhalt ersetzt.
* Beispiel: %temp% wird durch das Temp-Verzeichnis ersetzt.
3. Liste der Schluesselworte:
----------------------------
REM Kommentar
Diese Zeile wird bei der Verarbeitung ignoriert.
TITEL-TEXT-1 Kommentar
Der Text 'Kommentar' wird im Hauptfenster in Zeile 1 ange-
zeigt. Der Text darf 40 Zeichen lang sein.
TITEL-TEXT-2 Kommentar
Der Text 'Kommentar' wird im Hauptfenster in Zeile 2 ange-
zeigt. Der Text darf 40 Zeichen lang sein.
TITEL-TEXT-3 Kommentar
Der Text 'Kommentar' wird im Hauptfenster in Zeile 3 ange-
zeigt. Der Text darf 40 Zeichen lang sein.
COPY Dateiname1 Dateiname2
Die Datei Dateiname1 wird nach Dateiname2 kopiert.
S i e h e auch die Bemerkung zu COPY, REANME und DELETE.
COPYVER Dateiname1 Dateiname2
Die Datei Dateiname1 wird nach Dateiname2 kopiert.
Bei COPYVER (im Sinne von Verify) werden nach dem Kopieren
Quell- und Zieldatei durch nochmaliges Lesen auf Gleichheit
getestet. COPYVER erfordert daher mehr Rechenzeit als COPY.
S i e h e auch die Bemerkung zu COPY, REANME und DELETE.
REN Dateiname1 Dateiname2 bzw.
RENAME Dateiname1 Dateiname2
Die Datei Dateiname1 wird nach Dateiname2 umbenannt.
S i e h e auch die Bemerkung zu COPY, REANME und DELETE.
DELETE Dateiname
Die Datei Dateiname wird geloescht. Achtung: Wenn die zu
loeschende Datei nicht exitstiert, fuehrt dies zu einer
Fehlermeldung und zum A b b r u c h der Batch-Verarbeitung.
Im Zweifel sollte man also den unten erklaerten Befehl
IF EXISTS verwenden.
Mit der folgenden Konstruktion koennen beliebig viele Text-
dateien konkateniert werden:
KONKAT-ANF Zieldatei
Dateiname1
Dateiname2
.
.
.
KONKAT-ENDE
Achtung:
Die Quelldateien duerfen nur Saetze mit der maximalen Laenge
400 enthalten. Es muss sich bei diesen Dateien um Text-
dateien (z.B. ASS-Protokolldateien) handeln. Zum Beispiel:
KONKAT-ANF $ASSPTK/EINSP.PTK
$ASSPTK/PCL1024.PTK
$ASSPTK/PCL1004.PTK
$ASSPTK/PCL1001.PTK
$ASSPTK/PCL1002.PTK
$ASSPTK/PCL1046.PTK
KONKAT-ENDE
Bemerkung zu COPY, RENAME, DELETE und KONKAT-ANF:
Der/die Dateinamen muessen vollstaendig sein, Maskierungen,
wie DELETE *.PTK oder COPY DST???.IDX *.IDS sind nicht zu-
laessig. ABER: Der Dateiname darf eine Variable %1 sein,
siehe unter ACCEPT-1.
STATUS-ON Kommentar
Der Text 'Kommentar' wird in einem Fenster ohne Button
ausgegeben. Durch das Schluesselwort
STATUS-OFF
wird dieses Fenster wieder geschlossen.
Der Kommentar kann z.Zt. 25 Zeichen lang sein.
Diese Funktion ist gedacht fuer lang laufende Programme ohne
Bildschirmausgabe. Also z.B.
STATUS-ON PCL1001 laeuft ...
c:/ass/pgm/pcl1001
STATUS-OFF
PAUSE Kommentar
Der Text 'Kommentar' wird in ein Fenster mit OK-Button
gestellt. Die Verarbeitung wird fortgesetzt, wenn der
OK-Button angeklickt wird. Der 'Kommentar' kann z.Zt. 40
Zeichen lang sein. Also z.B.:
PAUSE Bitte Diskette 2 einlegen ...
ACCEPT-1 nn KOMMENTAR
ACCEPT-2 nn KOMMENTAR
ACCEPT-3 nn KOMMENTAR
Der Text KOMMENTAR wird in ein Fenster mit OK- und CANCEL-
Button gestellt. Unter dem Kommentar erscheint ein Eingabe-
feld, das nn Zeichen entgegennimmt. Diese Eingaben koennen
in den folgenden Zeilen unter den Variablennamen %1, %2 bzw.
%3 angesprochen werden. Mit einem IF (siehe auch dort) kann
abgefragt werden, welchen Button der Anwender betaetigt hat.
Also z.B.:
ACCEPT-1 65 Bitte Dateinamen eingeben:
IF ACCEPT-CANCEL
GOTO weiter
end-if
if exists %1
notepad %1
goto weiter
end-if
pause Nicht gefunden: %1
exit
:weiter
In diesem Beispiel wird also ein bis zu 65 Zeichen langer
Dateiname angefordert. Danach wird geprueft, ob eine Datei
mit diesem Namen existiert. Falls ja, wird sie editiert,
falls nicht, wird eine Meldung ausgegeben.
WRITE-TEXT-DATEI Dateiname
Oeffnet eine Textdatei namens 'Dateiname'. Die nachfolgenden
Zeilen werden in diese Datei geschrieben. Allerdings duer-
fen diese Zeilen kein Zeichen in der ersten Spalte haben.
END-WRITE
schliesst die zuletzt geoeffnete Datei. Beispiel:
WRITE-TEXT-DATEI $ASSVLK/t1016.vlk
NUPDAT,BIB=E
LDAT - LDAT
END-WRITE
:Marke
Mit einem Doppelpunkt wird eine Sprungmarke definiert, die
mit
GOTO Marke
angesprungen werden kann. ACHTUNG: Die Sprungmarke muss in
einer spaeteren Zeile liegen. Ein GOTO zu einer schon ueber-
laufenen Marke ist N I C H T moeglich.
EXIT
Die Stapelverarbeitung wird abgebrochen.
Ein GOTO oder EXIT ohne IF ist natuerlich sinnlos. Es gibt
zur Zeit vier IF-Abfragemoeglichkeiten:
1. Moeglichkeit:
IF EXISTS Dateiname
Dieses IF erlaubt die Abfrage der Existenz einer Datei.
(z.B. vor ihrer eigentlichen Verarbeitung durch ein
anderes Programm).
2. Moeglichkeit
Zuerst wird dem Benutzer eine Frage gestellt:
JA-NEIN-FRAGE Fragetext
Der Text 'Fragetext' wird in ein Fenster mit einem JA-
und einem NEIN-Button gestellt. Dann kann mit
IF ANTWORT-JA
oder
IF ANTWORT-NEIN
abgefragt werden, welcher der beiden Buttons betaetigt
wurde. Zur Zeit kann der Fragetext 50 Zeichen lang sein.
Bemerkung: Zwischen dem Statement JA-NEIN-FRAGE und dem
Abfragen der Antwort des Benutzers mit IF ANTWORT-JA bzw.
IF ANTWORT-NEIN koennen beliebig viele andere Befehle aus-
gefuehrt werden. Bis zur naechsten JA-NEIN-FRAGE bleibt die
die zuletzt gegebene Anwort gespeichert.
3. Moeglichkeit:
IF ASSFEHLER
Vor dem Start eines Programmes erzeugt WINBAT eine Datei
namens ASSFEHL.ERR im Verzeichnis $ASS. Wird ein ASS-
Programm korrekt beendet, loescht es diese Datei.
Mit IF-ASSFEHLER wird die Existenz dieser Datei geprueft.
Ist sie vorhanden, wird die im IF-Zweig angegebene Befehls-
folge abgearbeitet.
Diese Moeglichkeit ist der unmittelbaren Abfrage mit
IF EXISTS vorzuziehen, da hier die ASS-Pfadvariable $ASS
automatisch beruecksichtigt wird.
4. Moeglichkeit:
Zuerst wird dem Benutzer ACCEPT-n angeboten (siehe oben).
Dann kann mit
IF ACCEPT-OK
oder
IF ACCEPT-CANCEL
abgefragt werden, ob der OK- oder CANCEL-Button betaetigt
wurde.
Die dem IF folgende Reihe von Befehlen wird mit
END-IF
abgeschlossen.
Beispiele fuer die Moeglichkeiten 1, 2, 3 und 4:
1. Beispiel:
REM ASS-Batchauswertung laufen lassen
c:/ass/pgm/pcl1016
REM Anschauen der Liste:
notepad c:/ass/ptk/liste.ptk
REM Frage an Benutzer
JA-NEIN-FRAGE Soll LISTE.PTK gedruckt werden?
IF ANTWORT-JA
c:/ass/pgm/pcl1201.exe c:/ass/ptk/liste.ptk
END-IF
2. Beispiel:
REM Summendatenbankabzug erstellen:
c:/ass/pgm/pcl1024
REM Existiert die Datei, die anzeigt dass ein Fehler
REM aufgetreten ist?
IF EXISTS c:/ass/dateien/assfehl.err
pause Fehler im PCL1024
notepad c:/ass/ptk/pcl1024.ptk
EXIT
END-IF
3. Beispiel:
REM Initialisieren:
ASSFEHLER-INIT
REM Oder besser als im vorigen Beispiel:
c:/ass/pgm/pcl1002
IF ASSFEHLER
pause Fehler im PCL1002
notepad c:/ass/ptk/pcl1002.ptk
EXIT
END-IF
4. Beispiel:
REM Initialisieren:
ASSFEHLER-INIT
REM Starte Batch mit benutzereingegebenen Parametern
REM via ASSDATE
ACCEPT-1 4 Akt. Monat (MMJJ):
IF ACCEPT-CANCEL
GOTO ende
END-IF
ACCEPT-2 6 Bitte Sparte angeben:
IF ACCEPT-CANCEL
GOTO ende
END-IF
WRITE-TEXT-DATEI $ASSVLK/ASSDATE.VLK
&&BM = %1
&&SPARTE = %2
END-WRITE
$asspgm/pcl1016
IF EXISTS $assptk/liste.ptk
notepad $assptk/liste.ptk
END-IF
exit
:ende
PAUSE PCL1016 nicht gestartet
Weitere Beispiele fuer Windows-Batch-Dateien sind im Verzei-
chnis $ASSVLK zu finden. An allen Stellen kann statt eines
vollstaendigen Dateinamens auch eine Datei mit einer ASS-
Pfadvariable angegeben werden. Z.B.:
COPY $ASSDB/DST001 $ASSDB/DST001S
analog auch bei RENAME, DELETE
WRITE-TEXT-DATEI $ASSVLK/t1016.vlk
NUPDAT,BIB=E
LDAT - LDAT
END-WRITE
notepad $ASSPTK/PCL1004.PTK
7.4
7.4 dBase-IV Ausgabeformat in der ST31 unter Windows
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
In der ST31 unter Windows gibt es die Moeglichkeit, das
Ergebnis einer einfachen ASS-Anforderung, d.h. Schluessel und
Zeitraum im Kopf- bzw. Zeilenbereich und Werte im
Spaltenbereich, als dBase-IV-Datei auszugeben. Dazu gibt man
in der Optionenmaske VS118 bei dem Punkt 'AUSGABE DATEI' ein
'D' ein. Bei Ausfuehrung der Anforderung in der ST31, dem
Windows-Anwendungsdialog oder im Batch mit dem PCL1016 wird
eine dBase-IV-Datei $ASS/anfname.DBF erzeugt. Der Name der
Anforderung bestimmt dabei den Namen der dBaseIV-Datei. Auf
diese Weise koennen spezielle Daten aus dem ASS-PC exportiert
und anderer PC-Software zugaenglich gemacht werden. Eine
andere Moeglichkeit bietet der am Anfang dieses Kapitels
erwaehnte DDE-Server.
Zusaetzlich wird durch Betaetigung der Taste Shift-F1 in den
Anwendungen die aktuelle Anforderung erneut ausgefuehrt und
eine dBase-IV-Datei erzeugt.
Vorheriges Kapitel: 6. Drucken im Online-Dialog ST31
Nächstes Kapitel: Stichwortverzeichnis