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