Allgemeines Statistik System

Benutzerhandbuch

Betrieb I - Grundfunktionen

aDokumentationsübersicht

       A S S  -  B E N U T Z E R H A N D B U C H

       A S S

       B E T R I E B   I    -    Grundfunktionen

      O. Behrens
      P. Buchholz
      H. Buerger
      D. Hahne
      R. Paulus
      R. Stoeckle
      H. Valz
      G. Witte

Inhaltsverzeichnis


0 Allgemeines

pInhaltsverzeichnis
nStichwortverzeichnis

        In diesem Handbuch wird beschrieben, welche Aktivitaeten
        technischer Art erforderlich sind, um in einem RZ ein
        installiertes ASS zu betreiben.


        Dieses Handbuch gilt fuer folgende Systemumgebungen:

        IBM-Betriebssysteme     MVS oder VSE

            mit den Versionen:  - IMS/DLI
                                - CICS/VSAM
                                - CICS/DLI
                                - CICS/ADABAS

        SIEMENS-Betriebssystem  BS2000

            mit den Versionen:  - UTM/ISAM

        Fuer den einzelnen Anwender sind natuerlich nur die fuer seine
        ASS-Version relevanten Ausfuehrungen zu beachten.


1 Betrieb der Verwaltung der Parameterdatenbanken

pInhaltsverzeichnis
nStichwortverzeichnis

1.1 DLI

pInhaltsverzeichnis
nStichwortverzeichnis

               Die Parameterdatenbanken muessen ONLINE zugreifbar
               sein; die Transaktion ST06 muss gestartet sein.
               DST001
                DST011
                DST012
                DST013
               DST002
                DST021
                DST022
                DST023
               DST003
                DST031
                DST032
                DST033
               DST007
                DST071
               DST009
                DST091 ,nur falls ASS-Online-Security installiert
                        worden ist, siehe Handbuch 'Installation',
                        Kapitel 1.1 und 5.7

1.2 ADABAS

pInhaltsverzeichnis
nStichwortverzeichnis

               ADABAS muss aktiv sein und die erforderlichen
               ADABAS-Files muessen im JOB, in dem die Transaktion
               ST06 ablaeuft, zugeordnet sein, ST06 muss gestartet
               sein.

1.3 BS2000-ISAM

pInhaltsverzeichnis
nStichwortverzeichnis

               Die Transaktionen ST06 und ST31 und gegebenenfalls
               ST09 (vgl. Kap. 8) sind in einer
               UTM-Anwendung zusammengefasst, siehe daher 6.3.


2 Folgeeinspeicherung

pInhaltsverzeichnis
nStichwortverzeichnis

               Die Folgeeinspeicherung laeuft in mehreren Schritten ab:

               1. Schritt:
                  Verarbeiten externe Schnittstellendatei und
                  Erzeugen interne Schnittstellendatei,
                  bestehend aus den Steps

                   - Abziehen Arbeitsgebiet (PCL1004)
                   - Erzeugen interne Schnittstellendatei (PCL1001)

               2. Schritt:
                  Abziehen alte Summendatenbank(en) auf seq. Datei
                  (entfaellt bei Ersteinspeicherung oder falls
                  die interne Schnittstelle direkt eingespeichert
                  wird).
    IBM  DL/I     Regelfall: Alte Summendatenbank mittels HSSR
                  oder DFSURGU0 auf seq. Datei abziehen.
                  Existiert im betreffenden RZ HSSR bzw. DFSURGU0
                  nicht, so kann die alte Summendatenbank mit dem
                  Programm PCL1024 abgezogen werden.
                  Werden Verdichtungsstufen fortgeschrieben, die in
                  mehreren Summendatenbanken gespeichert sind, so
                  muss der Abzug mit dem Programm PCL1124 erzeugt
                  werden.
    SIEMENS
      ISAM        Alte Summendatenbank(en) mit PCL1024/PCL1124
                  abziehen.
    SAG  ADABAS   Alte Summendatenbank(en) mit PCL1024/PCL1124
                  abziehen.

               3. Schritt:
                  Verarbeiten der Internen Schnittstellendatei
                  mit dem Programm PCL1002:
                  Laden Summendatenbank(en) aus interner Schnitt-
                  stellendatei bzw. erzeugen Ladebestand (bzw.
                  Ladebestaende) aus interner Schnittstellendatei
                  fuer PCL1013 (siehe PCL1002).

                  HINWEIS:

                  PCL1002 fuehrt einen UPDATE auf die Steuerungs-DB
                  durch. Beim Laden von grossen Summendatenbanken
                  entsteht daher viel Loginformation.
                  In diesem Fall fuehrt man das Laden besser mit
                  Schritt 5 durch.

               5. Schritt:
                  Einspeicherung in die Summendatenbank(en)
                  (entfaellt, falls Einspeicherung bereits von PCL1002
                  durchgefuehrt wurde).
    IBM           Ladebestand (bzw. Ladebestaende) in
                  Summendatenbank(en) speichern (PCL1013)
    SIEMENS       Ladebestand (bzw. Ladebestaende) in
                  Summendatenbank(en) speichern (PCL1013)
    SAG  ADABAS   Summendatenbank(en) mit ADABAS-Utilities laden unter
                  Verwendung von MST0100 im User-Exit 6.

               6. Schritt:
                  Update auf die Steuerungs-DB (PCL1032)

                  Normalerweise fuehrt PCL1002 einen UPDATE auf die
                  Steuerungs-DB durch. Falls Parallellaeufe von
                  PCL1002 erforderlich sein sollten, kann man diesen
                  UPDATE verzoegern und spaeter vom Programm PCL1032
                  durchfuehren lassen. Einzelheiten s.u..

               HINWEIS:

               Im Programm PCL1002 existiert auch die Moeglichkeit,
               Aenderungen direkt auf die Summendatenbank zu spielen.
               Dies ist jedoch nur moeglich, wenn die externe
               Schnittstelle ausschliesslich Bewegungswerte enthaelt
               und keine aktiven Verdichtungsstufen auf sequentiellem
               Datentraeger vorliegen. Beim Fortschreiben von
               Aenderungen auf die Summendatenbanken verlaengern sich
               die Saetze. Dies fuehrt z.B. in einer DLI-Umgebung zu
               Segmentsplits. Ein direktes Fortschreiben ist also
               nur bei kleinem Aenderungsumfang empfehlenswert.

               Fuehrt man eine Folgeeinspeicherung in der oben
               beschriebenen Form (sechs Steps) durch, so wird die
               betreffende Summendatenbank reorganisiert.

               Hinweis fuer DLI:
               Es versteht sich, dass beim direkten Einspeichern
               von Aenderungen mittels PCL1002 nicht mehr mit einem
               LADE-PCB gearbeitet werden kann, PROCOPT=A ist dann
               fuer die betreffenden Summendatenbanken erforderlich.

     Achtung:  Die Schritte 3 und 4 duerfen nicht vertauscht werden.

2.1 Verarbeiten der externen Schnittstelle PCL1001

pInhaltsverzeichnis
nStichwortverzeichnis

      ASS ist ein in sich abgeschlossenes System.
      Es uebernimmt Daten aus anderen Systemen nur ueber die externe
      Schnittstellendatei.

      Die externe Schnittstelle ist also die zentrale Schnittstelle
      von ASS zu ASS-fremden Datenbestaenden. Alle Statistikdaten,
      die in ASS-Summendatenbanken gespeichert und maschinell
      zur Verfuegung gestellt werden koennen, muessen in externen
      Schnittstellendateien bereitgestellt werden, von wo aus
      sie ihm Rahmen der Folgeeinspeicherung in ASS-Summendatenbanken
      uebernommen werden.

      Der physikalische Aufbau der externen Schnittstelle ist in dem
      Handbuch SYSTEMDOKUMENTATION beschrieben.

      Externe Schnittstellen, die von Schnittstellenprogrammen
      erstellt wurden, werden zunaechst vom Programm PCL1001
      verarbeitet und dabei in eine sogenannte interne Schnittstelle
      umgeformt.

      Bei der Verarbeitung von externen Schnittstellendateien werden
      eine Reihe von Pruefungen durchgefuehrt, um Fehler in der
      externen Schnittstelle oder Fehler im Handling der
      Folgeeinspeicherung erkennen zu koennen.

     Eingaben:
     --------

     1.  Die externe Schnittstellendatei  (ASSIN01).
     2.  Abzug des Arbeitsgebiets, fuer das eine interne
         Schnittstellendatei erzeugt werden soll. Dieser Abzug wird
         mit dem Programm PCL1004 erzeugt. Einzelheiten
         zu diesen Programmen sind dem Handbuch fuer die
         Dienstprogramme zu entnehmen.

     Ausgaben:
     --------

     Der OUTPUT von PCL1001 besteht aus drei Komponenten:

     1.  Eine interne Schnittstellendatei.
     2.  Fortschreiben von Kontrollinformationen in Werte- und
         Schluessel- und Steuerungsdatenbank, u.a.:
         - Aenderungssperre bei Schluesseln setzen
         - Aenderungssperre bei Werten setzen
         - Zeitraeume bei verwendeten Werten setzen
         - Eingespeicherte Zeiten im Arbeitsgebiet setzen
     3.  Evtl. Ergaenzung von Schluesselauspraegungen in der
         Schluesseldatenbank.

     Betriebsmittel:
     --------------

     Da externe Schnittstellen unter Umstaenden einen sehr grossen
     Umfang annehmen koennen, braucht PCL1001 fuer die Verarbeitung
     auch eine gewisse Menge an Betriebsmitteln:
     - temporaere Workdatei  ASSWONN
     - zwei Arbeitsdateien   ASSWK01 und ASSWK01
     - Arbeitsdatei ASSWK03, falls in Vorlaufkarte ASSWK = 3
                             oder ASSWK = 4 angegeben
     - Arbeitsdatei ASSWK04, falls in Vorlaufkarte ASSWK = 4 angegeben

     Um das Verstaendnis der Arbeitsweise des Programms PCL1001
     zu erleichtern, folgt zunaechst ein Datenflussplan.
     Daran anschliessend werden verschiedene Problempunkte
     erlaeutert.

     Ablauf:
     ------

      .---.         .---.         .---.         .---.
    ,'     ',     ,'     ',     ,'     ',     ,'     ',
    !'.___.'!     !'.___.'!     !'.___.'!     !'.___.'!
    !       !     !       !     !       !     !       !
    !  140  !     !  160  !     !  170  !     !  180  !
    !       !     !       !     !       !     !       !
     '.___.'       '.___.'       '.___.'       '.___.'
        !             !             !             !
        !             !             !             !
        !             !             !             !
        !_________    !   __________!             !
                   !  !  !                        !
                   !  !  !   _____________________!
                   !  !  !  !
                   !  !  !  !
   _______         !  !  !  !
  /       !        !  !  !  !
  !  190  !        !  !  !  !                          .---.
  +-------+        V  V  V  V                        ,'     ',
      !          ***************                     !'.___.'!
      +--------->!             !                     !       !
                 !   PCL1001   !-------------------->!  210  !
                 !             !-----+               !       !
                 ***************     !                '.___.'
                  !  !  A  A  A      !
                  !  !  !  !  !      !               ************
                  !  !  !  !  !      +-------------->!          !
                  !  !  !  !  !                      !  220     !
                  !  !  !  !  !                      !      *****
                  !  !  !  !  !                      !     /
                  !  !  !  !  !                      *****
                  !  !  !  !  !
                  !  !  !  !  !_______________________________
                  !  !  !  !                                  !
                  !  !  !  !_____________________             !
         _________!  !  !                        !            !
        !            !  !__________              !            !
        !            !             !             !            !
        !            !             !             !            !
        V            V             V             V            V
      .---.        .---.         .---.         .---.        .---.
    ,'     ',    ,'     ',     ,'     ',     ,'     ',    ,'     ',
    !'.___.'!    !'.___.'!     !'.___.'!     !'.___.'!    !'.___.'!
    !       !    !       !     !       !     !       !    !       !
    !  230  !    !  240  !     !  250  !     !  260  !    !  270  !
    !       !    !       !     !       !     !       !    !       !
     '.___.'      '.___.'       '.___.'       '.___.'      '.___.'


     Dateibeschreibung:
     -----------------

 Lfd.-Nr. !  DD-Name/PGM ! Beschreibung
          !  LINK-Name   !
 ---------!--------------!---------------------------------------------
          !              !
 140      !  //ASSDB     ! Ausgabe von PCL1004
          !              !
 160      !  //ASSIN01   ! Externe Schnittstelle
          !              !
 170      !  //TABL01    ! SHRINK-Tabelle (nur wenn geshrinkte
          !              ! ext. Schnittstellen verarbeitet werden)
          !              !
 180      !  //DST001    ! Werte-DB
          !  //DST011    ! Primaer-Index         (nur DLI)
          !  //DST012    ! Sekundaer-Index 1     (nur DLI)
          !  //DST013    ! Sekundaer-Index 2     (nur DLI)
          !  //DST002    ! Schluessel-DB
          !  //DST021    ! Primaer-Index         (nur DLI)
          !  //DST022    ! Sekundaer-Index 1     (nur DLI)
          !  //DST023    ! Sekundaer-Index 2     (nur DLI)
          !  //DST003    ! Steuerungs-DB
          !  //DST031    ! Primaer-Index         (nur DLI)
          !  //DST032    ! Sekundaer-Index 1     (nur DLI)
          !  //DST033    ! Sekundaer-Index 2     (nur DLI)
          !  //DST006    ! Before-Images  (nur SIEMENS-ISAM / VSAM)
          !              !
 190      !  //ASSCO     ! Vorlaufkarte, auf DUMMY setzen und bei
          !              ! Bedarf aktivieren
          !              !
 210      !  -           ! LOGDATEI  (nur DLI)
          !              !
 220      !  //ASSLIST   ! Ablaufprotokoll PCL1001
          !  //SYSPRINT  !
          !              !
 230      !  //ASSOUNN   ! Interne Schnittstelle, Eingabe fuer PCL1002
          !              ! Satzlaenge=10000
          !              !
 240      !  //ASSFEHL   ! Fehler- und Schwebedatei
          !              ! Satzlaenge=10000
          !              !
 250      !  //ASSWONN   ! Arbeitsdatei
          !              ! Satzlaenge=20000

 Lfd.-Nr. !  DD-Name/PGM ! Beschreibung
          !  LINK-Name   !
 ---------!--------------!---------------------------------------------
          !              !
 260      !  //ASSWK01   ! Workdatei 01, Satzlaenge=20000
          !  //ASSWK02   !    -"-    02, Satzlaenge=20000
          !  //ASSWK03   !    -"-    03, Satzlaenge=20000
          !  //ASSWK04   !    -"-    04, Satzlaenge=20000
          !              !
 270      !  //SORTWK01  ! SORTWORK-Bereich 1    -
          !      bis     !        bis             !> bei IBM
          !  //SORTWKnn  ! SORTWORK-Bereich nn   -
          !  //SORTWK1   ! SORTWORK-Bereich 1    -
          !      bis     !        bis             !> bei SIEMENS
          !  //SORTWKn   ! SORTWORK-Bereich n    -
          !              !
*         !  //ASSAU     ! nur fuer die Option ASSAU bzw. ASSAU_KOPF
*         !              ! Host: F B 80, PC: Textdatei

      Restriktionen:
      -------------

      In einem Programmlauf koennen nur die Daten fuer ein
      Arbeitsgebiet uebernommen werden.

      Besonderheiten:
      ---------------

      Wird PCL1001 vorzeitig beendet, so wird ein gezielter
      Programmabbruch erzeugt.
      Vorzeitiges Programmende liegt vor, wenn

       - es durch Angaben in den Vorlaufkarten erzwungen wird
       - wenn mehr als 100 fehlerhafte Summensaetze erkannt werden.
         Der Wert von 100 kann durch Vorlaufkarte uebersteuert
         werden (s.u. Option 'FEHLER=NNNN').

      Die Massnahmen, die beim "gezielten" Programmabbruch
      durchgefuehrt werden, sind im INCLUDE-Member SST1031 festgelegt.
      SST1031 darf installationsabhaengig angepasst werden und ist
      dann in die installationsabhaengige INCLUDE-Bibliothek
      zu uebernehmen.

      Das Datenmengenproblem
      ----------------------

      Das Programm PCL1001 (wie auch das Programm PCL1002) sind
      darauf ausgelegt, grosse Datenmengen zu verarbeiten.
      So gibt es Schnittstellendateien, die mehrere Millionen Saetze
      enthalten. Jeder Satz der Schnittstelle muss intern
      in PCL1001 noch zusaetzlich vervielfaeltigt werden (entsprechend
      der Anzahl der nicht generierbaren Verdichtungsstufen).
      Das entstehende Datenvolumen waere dann noch zu sortieren,
      ein Unterfangen, das von vornherein zum Scheitern verurteilt
      ist.

      Es wurde daher eine portionsweise Verarbeitung der
      Schnittstellendatei realisiert. Es werden n Saetze der
      Schnittstellendatei eingelesen, auf das Format der internen
      Schnittstellendatei gebracht und in die Datei ASSWONN
      geschrieben. Dann wird ein Sort aufgerufen.

      In der Sort-Input-Phase wird die Datei ASSWONN seq. gelesen,
      jeder gelesene Satz wird entsprechend den Anforderungen der
      Verdichtungsstufen vervielfaeltigt und dann dem SORT
      uebergeben.

      In der Sort-Output-Phase erfolgt die Verdichtung. Beim ersten
      Aufruf des Sort werden die verdichteten Summensaetze in eine
      Datei ASSWKnn geschrieben. Bei den Folgeaufrufen werden die im
      vorhergehenden Aufruf erzeugten verdichteten Summensaetze aus
      einer Datei ASSWKnn sofort mit den vom SORT gelieferten Saetzen
      gemischt und verdichtet und das Ganze in eine Datei ASSWKmm
      gestellt. ASSWKnn wird dann im naechsten Aufruf wieder als
      Ausgabedatei verwendet.

      Beim letzten Aufruf des Sort wird auf die Datei ASSOUNN
      ausgegeben.

      Es werden zwei Arbeitsdateien ASSWK01 und ASSWK02 benoetigt.

      Bei kleinen Datenmengen kann der erste Aufruf des Sort
      auch schon der letzte sein. In diesem Fall werden keine
      Dateien ASSWKnn benoetigt. Die Ausgabe erfolgt sofort
      und vollstaendig auf ASSOUNN.



      Fortschreibung stillgelegter Verdichtungsstufen:
      ------------------------------------------------

      Stillgelegte Verdichtungsstufen werden standardmaessig bei der
      Folgeeinspeicherung nicht fortgeschrieben.
      Dies kann mittels der Option VSTNR=nn uebersteuert werden.

      Wenn Sie mit der Option VSTNR arbeiten, muessen Sie alle Ver-
      dichtungsstufen, in die Einspeicherungen vorgenommen werden
      sollen, in der Vorlaufkarte angeben.
      Dabei muss natuerlich auf Datenkonsistenz geachtet werden. So
      duerfen zum Beispiel keine Datensaetze verloren gehen oder
      doppelt eingespeichert werden.

      Um die Regeln zur Auswahl der Verdichtungsstufen zu verstehen,
      muss man den Begriff der Verdichtungsstufenmenge kennen.
      Dazu betrachten wir einen Wert, der bei der Einspeicherung an-
      geliefert wird und dazu alle Verdichtungsstufen, in denen dieser
      Wert verwendet wird.
      Dann bilden jeweils die Verdichtungsstufen, in denen exakt
      dieselben Schluessel ausgepraegt sind und die die gleiche
      Schluesselreihenfolge haben, eine Verdichtungsstufenmenge.

      Folgende Regeln sind nun zu beachten :
      - Aus jeder Verdichtungsstufenmenge (pro angeliefertem Wert)
        darf hoechstens eine Verdichtungsstufe ausgewaehlt werden.
      - Aus jeder Verdichtungsstufenmenge, die eine aktive Ver-
        dichtungsstufe enthaelt, muss genau eine Verdichtungsstufe
        ausgewaehlt werden.
      - Alle aktiven sequentiellen Verdichtungsstufen muessen angegeben
        werden.
      - Stillgelegte sequentielle Verdichtungsstufen werden nicht be-
        ruecksichtigt.



      Generierung von Verdichtungsstufen:
      -----------------------------------

      Der Begriff "GENERIERBARE VERDICHTUNGSSTUFE":

      Eine Verdichtungsstufe V1 ist aus anderen Verdichtungsstufen
      generierbar, wenn die Verdichtungsstufen ungleich V1, in denen
      mindestens die in V1 ausgepraegten Schluessel auch ausgepraegt
      sind, zusammen alle verwendeten Werte von V1 auch verwenden.
      Schluesselrelationen im Arbeitsgebiet sind per Definition nicht
      generierbar.

      Standardmaessig werden waehrend der Verarbeitung der Schnitt-
      stellendatei im Programm PCL1001 interne Schnittstellen-
      saetze nur fuer nicht generierbare Verdichtungsstufen erzeugt.

      Gibt es generierbare Verdichtungsstufen, so stehen am Ende
      der Verarbeitung der Schnittstellendatei die internen
      Schnittstellensaetze fuer nicht generierbare Verdichtungsstufen
      in verdichteter Form in einer Datei ASSWKnn.

      Zur Generierung der generierbaren Verdichtungsstufen
      wird die Datei ASSWKnn sequentiell gelesen, daraus interne
      Schnittstellensaetze (noch nicht verdichtet) erzeugt und in
      ASSWONN gestellt.
      Mit Hilfe des Sort wird dann ASSWONN sortiert und verdichtet,
      mit ASSWKnn gemischt und nach ASSOUNN ausgegeben.
      Hierbei kann es passieren, dass auf die Datei ASSWONN sehr
      viele Saetze ausgegeben werden. Die erzeugte Datenmenge waere
      fuer einen Sort-Aufruf ev. zu gross. In diesem Fall kann
      eine portionsweise Verarbeitung wie bei der Verarbeitung der
      externen Schnittstelle aktiviert werden. Eine portionsweise
      Verarbeitung benoetigt eine dritte Arbeitsdatei ASSWK03.
      Diese muss in der JCL zur Verfuegung gestellt werden
      und via Vorlaufkarte (ASSWK = 3) muss dies dem Programm
      mitgeteilt werden.

      Insgesamt wird durch obiges Verfahren die Anzahl der
      erzeugten (und somit zu sortierenden und verdichtenden)
      internen Schnittstellensaetze i.a. drastisch reduziert.

      Lassen sich generierbare Verdichtungsstufen aus
      unterschiedlichen anderen Verdichtungsstufen generieren,
      so werden zur Generierung die Verdichtungsstufen mit den
      wenigsten Saetzen genommen. Anzahl Saetze pro Verdichtungsstufe
      wird aus SST023CV.CANZSA (Steuerungsdatenbank) entnommen.
      Bei der ersten Folgeeinspeicherung fuer ein Arbeitsgebiet
      existiert CANZSA noch nicht, die Auswahl der Verdichtungsstufen,
      aus denen generiert wird, ist dann rein zufaellig.

      Die Generierung von Verdichtungsstufen kann von aussen
      ausgeschaltet werden (OPTION 'NOVSTGENER' in der Vorlaufkarte).
      Bei Eingabe dieser OPTION werden alle Verdichtungsstufen als
      nicht generierbar angenommen und dementsprechend verarbeitet.

      Verdichtungsstufen aus generierbaren Verdichtungsstufen
      generieren:

      Betrachtet man allein die Menge der generierbaren Verdichtungs-
      stufen, so kann diese Menge wieder in zwei Teilmengen
      zerlegt werden: Verdichtungsstufen, die aus bereits
      generierbaren Verdichtungsstufen generiert werden koennen
      bzw. nicht.

      Beispiel:
      Die Verdichtungsstufe 1 enthalte die Schluessel
      S1, S2, S3 und S4, die Werte W1 und W2.
      Die Verdichtungsstufe 2 enthalte die Schluessel
      S1, S2 und S4, die Werte W1 und W2.
      Die Verdichtungsstufe 3 enthalte die Schluessel
      S1 und S2, den Wert W1.
      Die Verdichtungsstufe 4 enthalte die Schluessel
      S1 und S4, den Wert W2.

      Die Verdichtungsstufen 1 ist nicht generierbar.

      Die Verdichtungsstufen 2, 3 und 4 sind alle generierbar
      (aus Verdichtungsstufe 1).

      Die Verdichtungsstufen 3 und 4 sind jedoch auch aus
      Verdichtungsstufe 2 generierbar.

      Folgendes soll erreicht werden:
      Zunaechst sollen die Daten fuer die nicht generierbaren
      Verdichtungsstufen (im Beispiel Verdichtungsstufe 1) erzeugt
      werden. Dann werden hieraus die Daten fuer die nicht
      generierbaren Verdichtungsstufen, die nicht aus generier-
      baren Verdichtungsstufen generiert werden koennen,
      (im Beispiel Verdichtungsstufe 2) erzeugt und zum Schluss
      hieraus die Daten fuer die generierbaren Verdichtungs-
      stufen, die aus generierbaren Verdichtungsstufen
      generierbar sind (im Beispiel Verdichtungsstufe 3 und 4).

      Das geschilderte Verfahren benoetigt 4 Arbeitsdateien.
      Es wird durch die Angabe ASSWK = 4 in der Vorlaufkarte
      aktiviert.

      Folgende Besonderheiten sind zu beachten:
      Index-Verdichtungsstufen gelten u.U. (s.u.) als
      generierbar. Sie gelten jedoch nie als aus generierbaren
      Verdichtungsstufen generierbar.

      Existieren explizite Generierungsangaben (s.u.), so wird
      das hier geschilderte Verfahren nicht aktiviert.

      Um sicherzustellen, dass bei ASSWK = 4 nicht zu grosse
      Verdichtungsstufen generiert werden, gilt ein
      Verdichtungsstufe als generierbar aus generierbaren
      Verdichtungsstufen, wenn sie nicht zu "gross" ist.
      Eine Verdichtungsstufe gilt als nicht zu "gross",
      wenn ihre Satzanzahl kleiner als ein Zehntel der
      Satzanzahl der groessten Verdichtungsstufe,
      die eingespeichert wird, ist.
      Bei der Ersteinspeicherung in ein Arbeitsgebiet sind die
      genannten Satzanzahlen nicht bekannt. In diesem Fall
      gibt es keine zu grossen Verdichtungsstufen.

      Explizite Generierungsangaben
      -----------------------------

      Die Generierung von Verdichtungsstufen kann explizit ueber
      Vorlaufkarten vorgegeben werden:

      GENVST: Quell-Verdichtungsstufe -> Ziel-Verdichtungsstufe

      Beispiel: GENVST: 17 -> 23
      Die Verdichtungsstufe 23 soll aus der Verdichtungstufe 17
      generiert werden.

      Verdichtungsstufen mit Werten:
      Eine Ziel-Verdichtungsstufe kann aus einer Quell-Verdichtungs-
      stufe generiert werden, wenn alle Schluessel, die in der
      Ziel-Verdichtungsstufe ausgepraegt sind, auch in der
      Quell-Verdichtungsstufe ausgepraegt sind
      und
      alle Werte, die in der Ziel-Verdichtungsstufe enthalten
      sind, auch in der Quell-Verdichtungsstufe enthalten sind
      (unabhaengig von der externen Schnittstelle).

      Index-Verdichtungsstufen:
      Eine Index-Verdichtungsstufe kann aus einer Quell-Verdichtungs-
      stufe generiert werden, wenn alle Schluessel, die in der
      Index-Verdichtungsstufe ausgepraegt sind auch in der
      Quell-Verdichtungsstufe ausgepraegt sind und die Quell-
      Verdichtungsstufe selbst keine Index-Verdichtungsstufe ist.

      Es koennen mehrere GENVST-Angaben gemacht werden,
      wobei jede Angabe vollstaendig in einer Vorlaufkarte
      stehen muss. Zu einer Ziel-Verdichtungsstufe darf nur eine
      Quell-Verdichtungsstufe angegeben, falsch waere also
        GENVST:   17 -> 23
        GENVST:   18 -> 23
      Quell-Verdichungsstufen duerfen nicht als Ziel-Verdichtungs-
      stufen angegeben werden und umgekehrt.

      Folgende Vorlaufkarten-Optionen beeinflussen die GENVST-Angaben:

      Ist CANZSA_GENER_MAX angegeben, so werden bei Verdichtungsstufen
      mit Werten als Quelle nur Verdichtungsstufen akzeptiert,
      die noch nicht eingespeichert sind oder die weniger Saetze
      enthalten, als bei CANZSA_GENER_MAX vorgegeben wurde.

      Index-Verdichtungsstufen werden werden als Ziel nur wirksam,
      wenn auch INDEX_GEN = n angegeben ist, n > 0.
      Als Quelle werden dann nur Verdichtungsstufen akzepiert,
      die weniger als n Saetze enthalten oder noch nicht ein-
      gespeichert wurden.

      Ist NOVSTGENER angegeben, so wirken die GENVST-Angaben nicht.

      Existieren GENVST-Angaben, die nicht aktzeptiert werden,
      so wird das Programm abgebrochen. Soll das Programm nicht
      abgebrochen werden, so ist zusaetzlich die Vorlaufkarten-
      Option GENVST_NICHT_ABBRECHEN anzugeben.
      Grundsaetzlich werden nicht aktzeptierte GENVST-Angaben
      protokolliert.
      Ziel-Verdichtungsstufen, deren GENVST-Angaben nicht
      erfuellbar sind, werden wie nicht generierbare Verdichtungs-
      stufen behandelt.



      Vorzeitiges Programmende:
      -------------------------

      Nach jedem SORT-Aufruf wird geprueft, ob durch Vorlaufkarten-
      Optionen ein vorzeitiges Programmende erzwungen werden soll.
      Die zeitliche Frequenz dieser Pruefung richtet sich also nach
      der Haeufigkeit der SORT-Aufrufe.
      Die Frequenz der Sortaufrufe richtet sich nach der Verarbei-
      tungs-OPTION 'SORTMAX', in der angegeben wird, wieviele Saetze
      pro Aufruf sortiert werden sollen.

      ACHTUNG: Ein Satz aus der Schnittstellendatei ergibt N zu sor-
               tierende Saetze, wobei N die Anzahl der nicht generier-
               baren Verdichtungsstufen ist.

      Ist die Schnittstellendatei vollstaendig verarbeitet, folgt ein
      abschliessender SORT-Aufruf.

      Gibt es generierbare Verdichtungsstufen, so kann es bei der
      Generierung von Verdichtungsstufen zusaetzliche SORT-Aufrufe
      geben.

      Folgende Kriterien fuehren zum vorzeitigen Programmende:
        - Es sind aus der Schnittstellendatei bereits mehr Saetze
          als in der Verarbeitungs-OPTION 'SAETZE' angegeben wurde,
          verarbeitet worden.
        - Die Laufzeit des Programms ist groesser als
          in der Verarbeitungs-OPTION 'MINUTEN' angegeben wurde.

      Wird das Programm PCL1001 aufgrund von Verarbeitungsoptionen
      vorzeitig beendet, wird es abnormal beendet, damit eventuelle
      Folgesteps des aktuellen Jobs nicht mehr ausgefuehrt werden.

      Verzoegerter Update der Parameterdatenbanken
      --------------------------------------------

       Die Update's auf die Parameter-Datenbanken werden erst
      am Programmende von PCL1001 durchgefuehrt (Ausnahme
      Schluessel-Datenbank. s.u.).

       Ist die Option NUPDAT gesetzt, so werden alle Update's
      der Parameterdatenbanken auf die Datei ASSUPD ausgegeben.
      Diese Update's koennen (muessen) dann mit dem Programm PCL1032
      nachgeholt werden.
       Eine Sonderbehandlung erfahren Schluesselauspraegungen.
      Sie werden u.U. (in Abhaengigkeit von Vorlaufkarten-Optionen)
      sofort auf die Schluessel-Datenbank gespeichert.
      Siehe hierzu auch die Beschreibung der Optionen KEYUPDATE
      bzw. KEYZU.



      Implementation der "privaten" Checkpoint-Schreibung
      ---------------------------------------------------

      Checkpoints werden mit dem Programm MCL0699 geschrieben.
      Die Aufrufe auf MCL0699 werden durch die Vorlaufkarten-
      Option CHKP_PRIVAT aktiviert. Checkpoints werden nur dann
      geschrieben, wenn in der betreffenden Installation
      MCL0699 dafuer ausgelegt ist.
      Checkpoints werden nur nach Aenderungen der Parameter-
      Datenbanken geschrieben.
      Werden Schluesselauspraegungen waehrend der Verarbeitung
      der externen Schnittstelle (nicht am Programmende) auf
      die Schluessel-Datenbank ergaenzt, so werden die
      betreffenden Aenderungen mit installationsabhaengigen
      Verfahren fixiert und zwar unabhaengig von der privaten
      Checkpoint-Schreibung.

      Benutzung eines Schreib-cache-Verfahrens zur Erzeugung
      nicht generierbarer Verdichtungsstufen:
      --------------------------------------


      Die Eingabe der OPTION 'VORVERDICHTEN' bewirkt eine andere Art
      der Erzeugung der nicht generierbaren Verdichtungsstufen. Jeder
      von ASSIN01 gelesene Summensatz wird auf internes Format
      gebracht und zunaechst in eine programminterne Tabelle
      gestellt (SCHREIB-cache). Bei jedem weiteren Summensatz wird
      zunaechst versucht, diesen soweit wie moeglich in diesen
      SCHREIB-cache einzuarbeiten.
      Ist dies nicht moeglich (Aenderung des internen Schluessels),
      so wird zunaechst der alte Tabelleneintrag nach ASSWONN
      geschrieben und dann der neue Inhalt aufgenommen.

      Eine Vervielfaeltigung im USER-EXIT E15 entfaellt in diesem Fall.

      Eine Sortierung der Daten von ASSWONN erfolgt immer dann, wenn
      mindestens N Saetze ('SORTMAX=N') auf ASSWONN geschrieben wurden
      und natuerlich bei EOF von ASSIN01.

      Der SCHREIB-cache enthaelt M Eintraege, wobei M die Anzahl der
      nicht generierbaren Verdichtungsstufen ist.

      Die OPTION 'VORVERDICHTEN' empfiehlt sich immer dann, wenn die
      externe Schnittstellendatei sortiert vorliegt. Sortiert heisst
      in unserem Fall: Der hoechste Sortierbegriff ist der
      Schluesselinhalt desjenigen Schluessels, der in der
      zugehoerigen Summen-DB am weitesten links steht (kleinste
      CREPO), ... , niedrigster Sortierbegriff ist der
      Schluesselinhalt desjenigen Schluessels, der in der
      zugehoerigen Summen-DB am weitesten rechts steht (groesste
      CREPO).

      Beim Generieren der generierbaren Verdichtungsstufen wird
      stets mit der obigen Vorverdichtung gearbeitet.
      Ein Ausschalten der Generierung ist voraussichtlich nur in
      wenigen Anwendungsfaellen sinnvoll. Es ist sicherlich dann
      sinnvoll, wenn man bei der Generierung der Verdichtungsstufen
      Platzprobleme auf ASSWONN bekommt.



      Platzbedarf fuer Dateien
      ------------------------

      Auf die Dateien ASSWONN, ASSWK01, ASSWK02, ASSWK03, ASSWK04
      und ASSOUNN werden interne Summensaetze geschrieben. Diese Saetze
      bestehen aus einem Schluesselteil und einer Wertetabelle.
      Der Schluesselteil hat die Laenge des KEYS der zugehoerigen
      Summen-DB + 2. In Abhaengigkeit von Vorlaufkarten-Optionen
      (z. B. VERDICHTEN) ist ein Eintrag der Wertetabelle unter-
      schiedlich lang. Die maximale Laenge betraegt 14 Byte.
      In die Wertetabelle werden i.a. nur Werte ungleich Null
      aufgenommen.

      Beispiel:
      Die externe Schnittstelle enthalte 10 Werte mit gleichem
      Wertezeitraum. Der KEY der Summen-DB habe die Laenge 30.
      Daraus ergibt sich eine maximale Satzlaenge von
      30 + 2 + 10 * 14 = 172 BYTES (+ Satzlaengenfeld).

      Dateigroessen:

      ASSWONN:

      Die Datei ASSWONN kann in zwei Funktionen waehrend des
      Programmlaufes verwendet werden:
      1. Waehrend der portionsweisen Verarbeitung der Ext. Schnitt-
         stellendatei ASSIN01 wird ASSWONN i.a. mehrfach erstellt.
         Die Anzahl der geschriebenen Saetze pro Erstellung
         haengt von diversen Parametern ab (s.u.).
      2. bei der Generierung der generierbaren Verdichtungsstufen
      Damit haengt die Dateigroesse von zwei Faktoren ab:
      (Der Datei-Bedarf ist das Maximum von Punkt 1. und 2..)
      1. SORTMAX-Parameter:
       a.ohne Vorverdichten:
         Anzahl-Saetze = SORTMAX / Anzahl nicht generierbarer
                         Verdichtungsstufen.
       b.mit Vorverdichten:
         Anzahl-Saetze = SORTMAX.

      2. Verdichtungsstufengenerierung
       a.Verdichtungsstufengenerierung ist nicht ausgeschaltet
         (keine Option NOVSTGENER):
         In diesem Fall werden die Saetze aller generierbaren
         Verdichtungsstufen aus ASSWK01 oder ASSWK02 erzeugt und
         nach ASSWONN (mit Vorverdichten) geschrieben.
         Dies kann in Extremfaellen zu sehr grossen Datenmengen
         fuehren und zwar dann, wenn
         - die ausgepraegten Schluessel der generierbaren
           Verdichtungsstufen vorwiegend rechts im KEY der
           zugehoerigen Summen-DB angeordnet sind.
         - ASSWK01/ASSWK02 bereits grosse Ausmasse angenommen haben.
         Eine endgueltige Schaetzung ist in diesem Fall nur schwer
         moeglich.
         Der theoretische WORST-CASE: Anzahl generierbarer
         Verdichtungsstufen * Anzahl Saetze von ASSWK01/ASSWK02.
         Werden mehr als 2 Arbeitsdateien zu Verfuegung gestellt
         (s.o.), so wird das Problem einer zu grossen Datei
         ASSWONN entschaerft. Die Dateien ASSWK03 bzw.
         ASSWK04 enthalten nur Daten von generierbaren
         Verdichtungsstufen. Insbesondere ASSWK04 duerfte nicht
         das Volumen von ASSWK01/ASSWK02 annehmen.

       b.Verdichtungsstufengenerierung ist ausgeschaltet:
         (Option NOVSTGENER):
         Es wird nicht auf ASSWONN geschrieben.

      ASSWK01/ASSWK02:

      Diese Dateien muessen so gross dimensioniert werden, dass sie
      die Endausgabedatenmenge der nicht generierbaren
      Verdichtungsstufen aufnehmen koennen, es sei denn, man arbeitet
      mit 'NOVSTGENER' und so grossem SORTMAX-Parameter, dass sofort
      auf ASSOUNN geschrieben wird.
      In diesem Fall werden ASSWK01 und ASSWK02 nicht benutzt.

      ASSWK03/ASSWK04:

      Diese Dateien werden beim Generieren von Verdichtungsstufen
      benutzt. Je nach Situation muessen sie das Volumen der
      generierbaren Verdichtungsstufen aufnehmen koennen.

      ASSOUNN:

      Diese Datei enthaelt die komplette interne Schnittstelle fuer
      komprimierte Verdichtungsstufen. Eine Schaetzung, wie viele
      Saetze diese Datei enthaelt, ist praktisch nicht moeglich. Der
      Platzbedarf fuer ASSOUNN haengt entscheidend davon ab, wie stark
      die externe Schnittstellendatei verdichtet werden kann.
      Verdichtungsverhaeltnisse von nahezu 1:1 bis 20:1 kommen in
      der Praxis vor.



      Laufzeitprobleme:
      -----------------

      Bei grossen externen Schnittstellendateien und Arbeitsgebieten
      mit mehreren Verdichtungsstufen koennen optimale Vorlaufkarten-
      angaben zu deutlicher Programmlaufzeitverkuerzung fuehren:

      - Der SORTMAX-Parameter sollte nicht zu klein gewaehlt werden.
        Die Voreinstellung von zwei Millionen sollte, wenn die
        SORTWK-Bereiche und ASSWONN hinreichend gross gewaehlt
        werden koennen, nicht verkleinert werden, eher vergroessert.

      - Die Generierung von Verdichtungsstufen sollte hoechstens dann
        ausgeschaltet werden, wenn die externe Schnittstellendatei
        sortiert vorliegt (s.o.) und wenn im Arbeitsgebiet
        hauptsaechlich ueber die Schluessel verdichtet wird, die im
        KEY der zugehoerigen Summen-DB weit rechts liegen (grosse
        CREPO).
        Werden Verdichtungsstufen generiert, so sollte ASSWK03
        und ev. sogar ASSWK04 (s.o.) zur Verfuegung gestellt werden.

      - Das VORVERDICHTEN sollte eingeschaltet werden:
        - wenn es genau eine nicht generierbare Verdichtungsstufe gibt
          oder
        - wenn die externe Schnittstellendatei sortiert vorliegt.



      Adressraumbedarf fuer Auspraegungstabellen
      ------------------------------------------

      Schluesselauspraegungen werden von PCL1001 von der
      externen Darstellung in eine interne Nummer umgeschluesselt.
      Diese Umschluesselung wird mit Hilfe von Auspraegungstabellen
      durchgefuehrt. Fuer jeden verwendeten Schluessel des
      betreffenden Arbeitsgebiets wird programmintern eine Schluessel-
      auspraegungstabelle angelegt. Jede Auspraegung belegt hierbei
      einen Tabellenplatz. Der Platz, der fuer eine Auspraegung
      erforderlich ist, variiert i.a. von Schluessel zu Schluessel
      und ist abhaengig davon, ob mit Zeitpruefung gearbeitet wird.
      Ein Tabelleneintrag ist folgendermassen aufgebaut:

      - interne Nummer        2 Byte (bei interner Laenge 1 oder 2)
                              4 Byte (bei interner Laenge 3 oder 4)
      - Schluesselinhalt      1 bis n Byte in Abhaengigkeit
                              von der externen Laenge des Schluessels.
      - Gueltigkeitsintervall 8 Byte
                              Dieser Eintrag existiert nur, wenn die
                              Zeitpruefung eingeschaltet ist
                              (siehe Option ZEITPRUEF).

      In die oben beschriebenen Tabellen werden alle Schluesselaus-
      praegungen gestellt, die im Arbeitsgebietsabzug enthalten sind.
      Schluesselauspraegungen von Schluesseln der internen Laenge
      3 bzw. 4 werden in Abhaengigkeit der Vorlaufkarten-Option
      UMSCHLMAX bzw. UMSCHLPLATZ (s.u.) in Tabellen gestellt.
      Auspraegungen, die automatisch ergaenzt werden, werden in
      speziellen Ueberlauftabellen gesammelt. Diese werden
      sortiert verwaltet. Werden sehr viele Schluesselauspraegungen
      ergaenzt, so kann das sortierte Einarbeiten in diese
      Ueberlauftabellen zu erhoehtem CPU-Bedarf fuehren.
      Ueberlauftabellen werden pro Schluessel verwaltet.
      Um nicht zu viel Adressraum zu beanspruchen, wird zunaechst
      mit "kleinen" Ueberlauftabellen gearbeitet. Laeuft eine
      Ueberlauftabelle ueber, so wird eine neue, groessere einge-
      richtet.
      Bei Schluesseln der interne Laenge 3 oder 4 wird
      installationsabhaengig durch die Variable ALC-AU-UE-MAX
      (Text-Datenbank, siehe Handbuch INSTALLATION) die maximale
      Tabellengroesse der Ueberlauftabelle festgelegt.

      Es ist erstrebenswert, nicht zu viele Schluessel-
      auspraegungen ergaenzen zu lassen.
      Eine Reduktion kann durch Einsatz der Option KEYZU erreicht
      werden (siehe entsprechende Beschreibung).



      Zeitpruefung von Schluesselauspraegungen
      ----------------------------------------

      Schluesselauspraegungen koennen in der Transaktion ST06 mit
      zeitlichen Gueltigkeitsintervallen versehen werden (Auspraegung
      ist gueltig von, bis). Beim Pruefen von externen Schnittstellen
      kann gegen diese Zeitintervalle geprueft werden. Ueberprueft
      werden dabei Summensaetze. Es werden hierbei alle Zeitangaben
      zu Werten mit Werteinhalt ungleich 0 ueberprueft. Bei jeder
      aktiven Schluesselauspraegung (d.h. der betreffende Schluessel
      ist in mindestens einer aktiven Verdichtungsstufe ausgepraegt
      und die aktuelle Schnittstelle enthaelt wenigstens einen
      verwendeten Wert dieser Verdichtungsstufe) wird geprueft,
      ob jedes Wertedatum im Gueltigkeitsintervall enthalten ist.
      Die Pruefung entfaellt, wenn die Schluesselauspraegung noch
      nicht in der Schluesseldatenbank enthalten ist.

      Die geschilderte Zeitpruefung ist standardmaessig nicht
      eingeschaltet. Sie muss explizit durch die OPTION ZEITPRUEF
      (s.u.) angefordert werden. Zu beachten ist, dass die Zeit-
      pruefung zusaetzliche Rechenzeit und zusaetzlichen
      Adressraum fuer Schluesselauspraegungstabellen erfordert.

      Die Zeitpruefung erfolgt grundsaetzlich monatsgenau, auch
      wenn in der externen Schnittstelle tagesgenaue Daten
      angeliefert werden.



     VORLAUFKARTE:
     ------------

     Die Optionen in der Vorlaufkarte muessen durch Komma getrennt
     werden. Sie koennen zwischen Hochkommata gestellt werden.
     Beispiel:  NMAXDAT,SORTMAX=1000000
     oder:      'NMAXDAT','SORTMAX=1000000'

     Es werden nur die Stellen 1 - 72 beruecksichtigt.

     Moegliche Optionen:
     ------------------

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
    DRUCK           ! Protokoll maximal erzeugen ! DRUCK
                    !                            !
    NDRUCK          ! Protokoll unterdruecken    ! DRUCK
                    !                            !
    MAXDAT          ! es wird geprueft, ob das   ! MAXDAT
                    ! Wertedatum aufsteigend ist !
                    !                            !
    NMAXDAT         ! Es wird nicht geprueft, ob ! MAXDAT
                    ! das Wertedatum aufsteigend !
                    ! ist                        !
                    !                            !
    MAXDATGLEICH    ! Wertedatum darf <= dem     ! NICHT MAXDATGLEICH
                    ! Datum der letzten Ein-     !
                    ! speicherung sein, muss aber!
                    ! >= dem Datum der ersten    !
                    ! Einspeicherung sein        !
                    !                            !
    UPDAT           ! UPDATE Parameterdatenbanken! UPDAT
                    !                            !
    NUPDAT          ! kein UPDATE der            ! UPDAT
                    ! Parameterdatenbanken       !
                    !                            !
    MINUTEN=NNNN    ! maximale Laufzeit in       ! 1000000
                    ! Minuten                    !
                    !                            !
    SAETZE=NNNNNN   ! Maximal zu verarbeitende   ! 99000000
                    ! Saetze aus Schnittstelle.  !
                    ! 0 bedeutet kein Limit.     !
                    !                            !
    SORTMAX=NNNN    ! maximal pro SORT-Aufruf zu ! 2000000
                    ! sortierende Saetze         !

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
                    !                            !
    AGNR=NN         ! Festlegung, fuer welches   ! fehlt diese Angabe,
                    ! Arbeitsgebiet ASSIN01 gilt ! so wird die Schnitt-
                    !                            ! stellennummer aus
                    !                            ! dem Kopfsatz ge-
                    !                            ! nommen
                    !                            !
    KEYZU           ! Diese Option dient nur     ! nicht KEYZU
                    ! zum Ergaenzen von          !
                    ! Schluesselauspraegungen    !
                    ! aus der Schnittstelle in   !
                    ! die Schluessel-DB. Sie     !
                    ! darf nur fuer Sonderlaeufe !
                    ! hergenommen werden.        !
                    ! Anwendungsfall: Vor Ein-   !
                    ! speicherung Schluesselaus- !
                    ! praegungen auf Schluessel- !
                    ! Datenbank bringen.         !
                    ! SAETZE sollte kleiner als  !
                    ! die Anzahl der externen    !
                    ! Schnittstellensaetze ge-   !
                    ! setzt werden.              !
                    ! Weil das Abbruchkriterium  !
                    ! nur zum Zeitpunkt des      !
                    ! Sortieraufrufs geprueft    !
                    ! wird, ist SORTMAX unter    !
                    ! Beruecksichtigung der Zahl !
                    ! unter SAETZE=...           !
                    ! und den Optionen NOVSTGENER!
                    ! und VORVERDICHTEN geeignet !
                    ! zu waehlen.                !
                    ! KEYZU bewirkt, dass        !
                    ! grundsaetzliche keine in-  !
                    ! terne Schnittstellendatei  !
                    ! erzeugt wird. Es erfolgt   !
                    ! eine optimierte Verarbei-  !
                    ! tung bei der u.a. kein     !
                    ! Sort durchgefuehrt wird.   !
                    ! Weiterhin werden keinerlei !
                    ! Work-Dateien benoetigt.    !
                    ! A c h t u n g: Dement-     !
                    ! sprechend erfolgt eine     !
                    ! unvollstaendige Verarbei-  !
                    ! tung                       !

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
    NOKEYZU         ! Neue Auspraegungen in der  ! nicht NOKEYZU
                    ! externen Schnittstelle     !
                    ! fuehren zu einem Fehler    !
                    ! NOKEYZU impliziert         !
                    ! FEHLER = 0                 !
                    !                            !
    FEHLER=nnn      ! Obergrenze fuer fehlerhafte! 100
                    ! Summensaetze               ! werden mehr fehler-
                    !                            ! hafte Summensaetze
                    !                            ! als maximal zu-
                    !                            ! laessig erkannt, so
                    !                            ! wird PCL1001 vor-
                    !                            ! zeitig beendet.
                    !                            !
                    !                            !
    EXIT=KURZ       ! Bei dieser Angabe erwartet ! keine kuerze
                    ! PCL1001 eine externe       ! Schnittstelle
                    ! Schnittstelle im kurzen    !
                    ! Format. Diese Angabe       !
                    ! muss unbedingt mit dem     !
                    ! tatsaechlichen Format der  !
                    ! Schnittstelle harmonieren. !
                    ! Zur Zeit ist jede Angabe   !
                    ! identisch mit KURZ.        !
                    !                            !
    NOVSTGENER      ! Generierung von            ! Verdichtungsstufen
                    ! Verdichtungsstufen aus     ! generieren
                    ! anderen Verdichtungsstufen !
                    ! ausschalten                !
                    !                            !
    VORVERDICHTEN   ! siehe ausfuehrliche        ! nicht VORVERDICHTEN
                    ! Beschreibung oben.         !
                    !                            !
    CHKP_PRIVAT     ! aktivieren der "privaten"  ! nicht CHKP_PRIVAT
                    ! Checkpoint-Schreibung      !
                    !                            !
    INVERS          ! der Werteinhalt wird mit   ! nicht INVERS
                    ! inversen Vorzeichen        !
                    ! verarbeitet                !
                    ! Anwendungsfall: Fehlein-   !
                    ! speicherungen rueckgaengig !
                    ! machen                     !
                    !                            !
    ZEITPRUEF       ! Zeitpruefung von Schl.-    ! nicht ZEITPRUEF
                    ! auspraegungen einsch. s.o. !
                    !                            !
    KEYLIST         ! neu ueber die ext. Schnitt-! nicht KEYLIST
                    ! stelle hinzugekommene Aus- !
                    ! praegungen zum jeweiligen  !
                    ! Schluessel protokollieren  !

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
    VSTNR=nnn       ! Verdichtungsstufen, in die ! nicht VSTNR
                    ! eingespeichert werden soll,!
                    ! explizit angeben.          !
                    ! Hierbei ist fuer nnn die   !
                    ! jeweilige Verdichtungs-    !
                    ! stufennummer anzugeben.    !
                    ! Beispiel:                  !
                    !  VSTNR=17 , VSTNR=31       !
                    ! Mittels dieser Option kann !
                    ! man Einspeicherungen in    !
                    ! stillgelegte Verdichtungs- !
                    ! stufen vornehmen.          !
    ASSIN=nn        ! Wird z.B. ASSIN=03 ange-   ! keine Angabe
                    ! geben, so werden nachein-  !
                    ! ander die Dateien ASSIN01, !
                    ! ASSIN02, ASSIN03 gelesen u.!
                    ! verarbeitet. Das Verarbei- !
                    ! tungsergebnis entspricht   !
                    ! einer Konkatenierung von   !
                    ! ASSIN01, ASSIN02 und       !
                    ! ASSIN03 unter dem DD-Namen !
                    ! ASSIN01. Diese Option ist  !
                    ! vorwiegend fuer Siemens-   !
                    ! Umgebungen gedacht.        !
                    !                            !
    NOWEPRUEF       ! Diese Option bewirkt       ! WEPRUEF
                    ! folgendes:                 !
                    ! - Eindeutigkeit von Werte- !
                    ! nummer + Wertedatum in     !
                    ! Kopfsaetzen wird nicht mehr!
                    ! geprueft.                  !
                    ! - Wird im Kopfsatz nur ein !
                    ! Zeitraum angekuendigt, so  !
                    ! wird aus den zugehoerigen  !
                    ! Summensaetzen nur der ange-!
                    ! kuendigte Zeitraum ueber-  !
                    ! nommen.                    !
                    !                            !
    MST0169         ! Vor der Verarbeitung eines ! nicht MST0169
                    ! Summensatzes wird der User-!
                    ! Exit MST0169 aufgerufen,   !
                    ! um den aktuellen Summen-   !
                    ! satz vor der Verarbeitung  !
                    ! ev. zu veraendern.         !

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
    VERDICHTEN      ! Diese Option bewirkt, dass ! nicht VERDICHTEN
                    ! Zwischenergebnisse auf     !
                    ! ASSWONN, ASSWK01, ASSWK02, !
                    ! ASSWK03 und ASSWK04 ver-   !
                    ! dichtet gespeichert werden.!
                    ! Sie reduziert dort den     !
                    ! Platzbedarf, erfordert da- !
                    ! fuer jedoch mehr CPU-Zeit. !
                    ! Ebenso wird der Platzbedarf!
                    ! fuer die Sort-Dateien      !
                    ! reduziert.                 !
                    !                            !
    KEYUPDATE       ! Mit dieser Option koennen  ! nicht KEYUPDATE
                    ! mehrere PCL1001 fuer       !
                    ! verschiedene Arbeitsgebiete! bei KEYLUECKE gilt
                    ! parallel laufen. Dabei     ! jedoch KEYUPDATE
                    ! werden Schluesselaus-      !
                    ! auspraegungen, die nicht   !
                    ! im PCL1004-Abzug enthalten !
                    ! sind, sofort in die        !
                    ! Schluesseldatenbank einge- !
                    ! fuegt, sofern sie          !
                    ! dort noch nicht enthalten  !
                    ! sind. Diese Option er-     !
                    ! fordert ein serialisiertes !
                    ! Zugreifen zur Schluessel-  !
                    ! datenbank.                 !
                    ! Diese Option steht zur Zeit!
                    ! nur fuer ISAM und auf      !
                    ! Anforderung fuer DL/I mit  !
                    ! IMS zur Verfuegung.        !
                    !                            !
    KEYLUECKE       ! Beim Ergaenzen von         ! nicht KEYLUECKE
                    ! Schluesselauspraegungen    !
                    ! werden eventuelle Luecken  !
                    ! aufgefuellt.               !
                    ! Impliziert KEYUPDATE       !
                    !                            !
    INDEX_GEN=n     ! Generierung von Indizes    ! INDEX_GEN=0
                    ! (Relationen) aus           !
                    ! Verdichtungsstufen mit     !  bei UMBUCH gilt
                    ! mindestens 1 und hoechstens! jedoch INDEX_GEN=0
                    ! n - 1 Saetzen.             !
                    !                            !
    UMBUCH          ! Umbuchung von              ! nicht UMBUCH
                    ! Bestandswerten aus einer   !  impliziert
                    ! Aenderungsschnittstelle    ! NOVSTGENER
                    ! von dem Dienstprogramm     ! VORVERDICHTEN
                    ! PCL1019.                   ! INDEX_GEN=0
                    !                            ! nicht VSTNR

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
    UMSCHLMAX=n     ! Anzahl Auspraegungen pro   ! UMSCHLMAX=0
                    ! Schluessel mit interner    !
                    ! Laenge 3 oder 4, die in    !
                    ! Hauptspeicher maximal      !
                    ! eingelesen werden          !
                    !                            !
    UMSCHLPLATZ=n   ! Adressraum in Bytes, in den! UMSCHLPLATZ=0
                    ! Auspraegungen von          !
                    ! Schluessel mit interner    !
                    ! Laenge 3 oder 4 in den     !
                    ! Hauptspeicher eingelesen   !
                    ! werden                     !
                    !                            !
    CANZSA_GENER_MAX! Generierung aus Verdich-   ! CANZSA_GENER_MAX=0
      = n           ! tungsstufen mit maximal    ! Steuerung nicht
                    ! n Saetzen                  ! aktiv
    NO_EURO_PRUEF   ! Mit dieser Optionen koennen! Pruefen
                    ! Pruefungen bei Euro-Werten !
                    ! mit Stichtag bei Bestands- !
                    ! fortschreibung durch Bewe- !
                    ! gungsanlieferung ausge-    !
                    ! schaltet werden. Diese     !
                    ! Option ist gefaehrlich. Sie!
                    ! ist nur zulaessig, wenn    !
                    ! sichergestellt ist, dass   !
                    ! in der Schnittstelle       !
                    ! Gegenbuchungen enthalten   !
                    ! sind, die bewirken, dass   !
                    ! sich die Bewegungen nur    !
                    ! auf einen Zeitpunkt aus-   !
                    ! wirken.                    !
                    !  Dies ist auch nach        !
                    ! PCL1019 der Fall mit       !
                    ! BEWEGUNG_BESTAND, ueber    !
                    ! ein Zeitintervall und ohne !
                    ! Euro-Umrechnung.           !
                    !                            !
    SICHTEN         ! Diese Option bewirkt, dass ! keine Sichten
                    ! eine aktive Verdichtungs-  !
                    ! stufe betrachtet wird,     !
                    ! wenn die Schnittstelle     !
                    ! einen ausgepraegten        !
                    ! Schluessel dieser Verdich- !
                    ! tungsstufe und einen       !
                    ! verwendeten Wert enthaelt. !
                    ! Betrachtete Verdichtungs-  !
                    ! stufen muessen bzgl. der   !
                    ! Schluessel vollstaendig    !
                    ! bedient werden. Die        !
                    ! erforderlichen Schluessel  !
                    ! koennen auch durch die     !
                    ! Optionen INHALT bzw.       !
                    ! INHALT_ERS geliefert       !
                    ! werden. Diese              !
                    ! Option ist gefaehrlich.    !
                    ! Sie darf nur benutzt wer-  !
                    ! den, wenn im betreffenden  !
                    ! Arbeitsgebiet die Verdich- !
                    ! tungsstufen geeignet defi- !
                    ! niert sind und mit den     !
                    ! Einspeicherungen hierfuer  !
                    ! harmonieren.               !

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
    EXIT_TEXT       ! Es wird eine externe       ! nicht EXIT_TEXT
                    ! Schnittstelle im Textformat!
                    ! erwartet (HSYSDOK,Kap. 5.3)!
  BESTANDSUEBERNAHME! Steuerung der Verarbeitung ! nicht
                    ! externer Schnittstellen    ! BESTANDSUEBERNAHME
                    ! mit Bestandswerten und     !
                    ! Bestandsanlieferung        !
                    ! (siehe auch PCL1002)       !
    GENVST          ! s.o.                       !
    GENVST_NICHT_ABBRECHEN ! s.o.                !
                    !                            !
     NO_END_CNT_VAL ! Zaehler fuer Summensaetze  ! pruefen
                    ! im Endesatz nicht pruefen  !
                    !                            !
    ASSWK = n       ! n = 3 oder 4, Generierung  !
                    ! von Verdichtungsstufen     !
                    ! optimieren (s.o.)          !
                    !                            !
    ISAMSORT        ! nur am PC und dort         ! nicht ISAMSORT
                    ! empfehlenswert             !
                    !                            !
    INHALT (...) =  ... ! Schluesselinhalte via  !
                    ! Vorlaufkarte, s.u.         !
                    !                            !
    INHALT_ERS (...) =  ... ! Schluesselinhalte  !
                    ! via Vorlaufkarte, s.u.     !
                    !                            !
    ASSAU           ! Auf die Schluesseldatenbank! nicht ASSAU
                    ! eingefuegte Auspraegungen  !
                    ! auf die Datei ASSAU  aus-  !
                    ! geben.                     !
                    !                            !
*   ASSAU_KOPF      ! wie ASSAU, jedoch mit Kopf-! nicht ASSAU_KOPF
*                   ! satz (Ueberschrift)        !
                    !                            !
    FB              ! Externe Schnittstelle ist  ! nicht FB
                    ! festgeblockt im langen     !
                    ! oder kurzen (EXIT=KURZ)    !
                    ! Format.                    !
                    !                            !
    EXIT_VAR        ! Automatische Erkennung von ! nicht EXIT_VAR
                    ! festgeblockten externen    !
                    ! Schnittstellen. Die Option !
                    ! FB wird ignoriert. Das     !
                    ! Format wird mit jedem      !
                    ! Kopfsatz neu ermittelt.    !
                    ! Das kurze und lange Format !
                    ! wird zur Zeit nicht        !
                    ! automatisch erkannt.       !
                    ! EXIT_VAR ist nur am PC     !
                    ! implementiert.             !

     Option         ! Bedeutung                  ! Voreinstellung
  -------------------------------------------------------------------
                    !                            !
     BS2000-ANSI    ! Externe Schnittstelle      ! keine Uebersetzung
                    ! von BS2000-EBCDIC nach     !
                    ! ANSI (Unix) uebersetzen.   !
                    !                            !
     MVS_ANSI       ! Externe Schnittstelle      ! keine Uebersetzung
                    ! von MVS-EBCDIC nach        !
                    ! ANSI (Unix) uebersetzen.   !
                    !                            !
     OS2_ANSI       ! Externe Schnittstelle      ! keine Uebersetzung
                    ! von Windows (OS2) nach     !
                    ! ANSI (Unix) uebersetzen.   !
                    !                            !
     BS2000_MVS     ! Externe Schnittstelle      ! keine Uebersetzung
                    ! von BS2000-EBCDIC nach     !
                    ! MVS-EBCDIC uebersetzen.    !
                    !                            !
     MVS_BS2000     ! Externe Schnittstelle      ! keine Uebersetzung
                    ! von MVS-EBCDIC nach        !
                    ! BS2000-EBCDIC uebersetzen. !



   Generierung von Verdichtungsstufen: CANZSA_GENER_MAX=n

   Ist die Vorlaufkartenoption NOVSTGENER nicht angegeben, so
  unterscheidet PCL1001 zwischen generierbaren und nicht generierbaren
  Verdichtungsstufen. Die Einteilung haengt allein von den ausge-
  praegten Schluesseln und Werten ab, d.h. ob sich die Informationen
  aus anderen Verdichtungsstufen (durch Summierung) ergeben.
  Dieses kann in der Praxis dazu fuehren, dass alle Verdichtungs-
  stufen bis auf die Basis generierbar sind und sich ein unguenstiges
  Verhalten bzgl. Platz und Laufzeit ergibt. Durch die Angabe
  von CANZSA_GENER_MAX=n gelten alle Verdichtungsstufen mit 0 oder
  mehr als n Saetzen als nicht generierbar und werden zum Generieren
  auch nicht verwendet. Fuer alle uebrigen Verdichtungsstufen wird
  folgendermassen verfahren: die Verdichtungsstufen werden intern
  nach der Anzahl Saetze, die sie enthalten, sortiert. Eine
  Verdichtungsstufe gilt als generierbar, wenn sich ihre Information
  aus anderen Verdichtungsstufen ergibt. Diese anderen Verdichtungs-
  stufen sind automatisch nicht generierbar.


   Generierung von Indizes (Relationen): INDEX_GEN=n

   Standardmaessig sind Indizes nicht aus anderen Verdichtungsstufen
  generierbar. Ueber die Vorlaufkartenoption INDEX_GEN=n kann dies
  abgeaendert werden, wobei n fuer eine positive Zahl steht, zum
  Beispiel INDEX_GEN=100000. Dann wird zur Generierung eines Index die
  kleinste Verdichtungsstufe genommen, die mindestens einen Satz und
  hoechstens n - 1 Saetze enthaelt. Mit INDEX_GEN=0 (dem Standard) wird
  die Generierung von Indizes deaktiviert. Folglich ist die Angabe der
  Option bei einer Ersteinspeicherung wirkungslos, da dann noch jede
  Verdichtungsstufe leer ist. Des weiteren kann weder eine Verdich-
  tungsstufe noch ein Index aus einem Index generiert werden.
   Intern koennen bei der Generierung von Indizes sogenannte Nullsaetze
  zu den nicht generierbaren Verdichtungsstufen erzeugt werden. Diese
  Nullsaetze sind notwendig: wenn ein Index fuer mehrere Verdichtungs-
  stufen geeignet ist und ein Satz der externen Schnittstelle jedoch
  wegen der verwendeten Werte nicht in die Verdichtungsstufe ueber-
  nommen werden muss aus der der Index generiert wird. Diese Null-
  saetze werden erst durch das Dienstprogramm PCL1002 eliminiert.

   Die Option INDEX_GEN wird bei Angabe der Option UMBUCH ignoriert.


   Umbuchung von Bestandswerten: UMBUCH

   Das Umbuchen von Bestandswerten aus einer Schnittstelle des
  Dienstprogrammes PCL1019 (mit der Angabe AENDERN) erfolgt mit dieser
  Option. Voraussetzung an diese Schnittstelle ist, dass bei
  Bestandswerten wie durch PCL1019 der Folgemonat wieder rausgebucht
  wird.
   Umgebucht werden saemtliche Verdichtungsstufenmengen, die mindestens
  eine aktive Verdichtungsstufe enthalten, selbstverstaendlich ausser
  sequentielle Verdichtungsstufen mit der Art 1, da diese ja nicht
  fortgeschrieben werden koennen. Es werden also auch stillgelegte
  Verdichtungsstufen umgebucht, falls sie in einer Menge enthalten sind
  mit mindestens einer aktiven Verdichtungsstufe. Die eingespeicherten
  Zeiten duerfen sich nur soweit ueberlappen, dass mindestens ein Monat
  jeder Verdichtungsstufe nicht durch andere dieser Menge abgedeckt
  wird. Des weiteren ist zu beachten, dass ueberlappende Zeiten nur in
  einer Verdichtungsstufe umgebucht werden. Deshalb sollte man ueber-
  lappende Zeiten moeglichst vermeiden. Durch das Dienstprogramm
  PCL1042 gesplittete Mengen haben keine ueberlappende Zeiten. Um
  Inkonsistenz zu vermeiden, wird ueberprueft, ob jeder Werteintrag in
  jeder Menge bezueglich der eingespeicherten Zeiten umbuchbar ist.
  Ansonsten wird der Satz als fehlerhaft abgewiesen.

   Die Option UMBUCH impliziert die Optionen NOVSTGENER, VORVERDICHTEN
  und INDEX_GEN=0 auch unabhaengig von gegenteiligen Angaben in der
  Vorlaufkarte. Dagegen fuehrt die Angabe der Option VSTNR zu einer
  Fehlermeldung.
   Die Umbuchung kann auch stillgelegte Verdichtungsstufen betreffen.



   Ergaenzung von Schluesselauspraegungen (Option KEYLUECKE)

   Wenn das Dienstprogramm PCL1001 neue Schluesselauspraegungen
  ergaenzt, so wird standardmaessig als interne Nummer der Auspraegung
  die groesste bisher vergebene Nummer plus eins genommen.
   Durch Umbuchungen (zum Beispiel mit PCL1019) koennen nun
  Schluesselauspraegungen auf der Schluesseldatenbank verbleiben, auf
  die es keinen Bezug aus Verdichtungsstufen mehr gibt. Trifft dies
  fuer sehr viele Auspraegungen zu, so koennen diese mit dem
  Dienstprogramm PCL1055 von der Schluesseldatenbank geloescht werden.
  Die dabei entstehenden Luecken werden jedoch standardmaessig nicht
  fuer neue Auspraegungen wieder benutzt. Diese Luecken kann man
  entweder mit dem Dienstprogramm PCL1058 (dabei muessen jedoch
  saemtliche betroffenen Verdichtungsstufen neu geladen werden)
  schliessen oder mittels der Option KEYLUECKE.
   Die Option KEYLUECKE impliziert die Option KEYUPDATE. Da jedoch fuer
  jede zu ergaenzende Auspraegung saemtliche Auspraegungen zu diesem
  Schluessel nachgelesen werden muessen, werden die Auspraegungen
  zunaechst wie im Standardfall ergaenzt. Erst beim Erreichen der
  Obergrenze werden die Luecken abgesucht.


   Einspeicherung in Schluessel mit interner Laenge > 2

   Schluessel mit interner Laenge > 2 gelten im ASS als Massen-
  schluessel mit vielen Auspraegungen. Daher werden in der Regel
  die Auspraegungen derartiger Schluessel im Rahmen der Einspeiche-
  rung nicht intern in Tabellen verwaltet (Platzproblem). Fuer
  das Ermitteln der internen Zaehlnummer (verdichteter Inhalt) zu
  einem Schluesselinhalt eines Schnittstellensatzes ist daher
  jeweils ein Schluesseldatenbankzugriff erforderlich.
  Kann durch das System hinreichend viel Adressraum zur Verfuegung
  gestellt werden, so kann durch die Angabe von UMSCHLMAX=n
  dieses Verhalten verbessert werden. Zu jedem Schluessel mit
  interner Laenge > 2, wird soviel Adressraum angefordert, dass
  n Auspraegungen darin Platz finden. Das Verfahren wird jedoch
  nur fuer die Schluessel angewandt, deren Auspraegungsanzahl
  hoechstens 4 mal so gross ist wie das angegebene n. Hierdurch
  wird erreicht, dass einerseits nicht unnoetig allokiert wird,
  andererseits jedoch ein Grossteil der Datenbankzugriffe vermieden
  wird. ACHTUNG: Bei Angabe dieser Option darf das Programm PCL1004
  nicht mit der Option OA laufen.

  Analog zu UMSCHLMAX koennen mit der Angabe UMSCHLPLATZ=n die
  Zugriffe auf die Schluesseldatenbank deutlich reduziert werden.
  Mit UMSCHLPLATZ wird vorgegeben, wieviel Adressraum (in Bytes)
  fuer Auspraegungstabellen fuer Schluessel mit interner Laenge > 2
  maximal verwendet werden soll.
  Die Angabe ueber Vorlaufkarte ist erforderlich, da i.a. nicht
  ermittelbar ist, wieviel Adressraum zur Verfuegung steht
  (bestimmter Adressraum muss z.B. fuer Satzpuffer oder den Sort
  freigehalten werden). Pro Schluessel mit interner Laenge > 2
  wird maximal der Platz fuer m Auspraegungen benoetigt, wobei
  m die naechste interne Nummer fuer die Auspraegungen des
  betreffenden Schluessels ist (es wird die naechste interne
  Nummer verwendet, da die Anzahl Auspraegungen nicht bekannt ist).
  Alle Auspraegungen, die in den Arbeitsspeicher eingelesen werden,
  werden via Arbeitsspeicher umgeschluesselt, fuer den Rest wird
  auf die Schluesseldatenbank zugegriffen.
  Platzbedarf fuer eine Schluesselauspraegung:
   4 Byte fuer die interne Nummer +
   n Byte fuer den Schluesselinhalt (n = externe Laenge) +
   8 Byte fuer ein Zeitintervall, falls die Zeitpruefung fuer
     Schluesselauspraegungen aktiviert wurde (ist i.a. nicht der Fall).
  Die Angaben bei UMSCHLPLATZ sollten mindestens im Megabyte-Bereich
  liegen.
  ACHTUNG: Bei Angabe von UMSCHLPLATZ darf das Programm PCL1004
  nicht mit der Option OA laufen.

  Die Optionen UMSCHLMAX und UMSCHLPLATZ duerfen nur alternativ
  verwendet werden.



      ASSAU bzw. ASSAU_KOPF
      ---------------------
       Auf die Schluesseldatenbank eingefuegte Auspraegungen werden
      auf die Datei ASSAU ausgeben. Die Ausgabe erfolgt
      semikolonsepariert als Textdatei. Die Eintraege bestehen aus
      folgenden Feldern:
       - Datum in der Form JJMMTT, Startdatum von PCL1001
       - Arbeitsgebietsnummer, 3-stellig mit fuehrenden Nullen
       - Schluesselnummer, 5-stellig mit fuehrenden Nullen
       - Schluesselbezeichnung, 20 Byte
       - Schluesselinhalt, 32 Byte
       - Verdichteter Schluesselinhalt, 9-stellig mit fuehrenden Nullen
      Am Host haben die Saetze die fixe Laenge 80, am PC das
      Format line-sequential. Die Ausgabe ist sortiert. Da die Ausgabe
      im Textformat erfolgt, werden Bitschluessel nicht ausgegeben.

      Ist die Option ASSAU gesetzt, so werden auf die Schluessel-
      datenbank eingefuegte Schluesselauspraegungen nicht im
      Ablaufprotokoll aufgefuehrt.

      Die Option ASSAU_KOPF impliziert die Option ASSAU.
*     Bei ASSAU_KOPF wird zusaetzlich ein Kopfsatz (Ueberschrift)
*     als erster Satz in die Datei ASSAU geschrieben.



      Schluessel via Vorlaufkarte
      ---------------------------
      I.a. muss eine externe Schnittstelle, die in ein bestimmtes
      Arbeitsgebiet eingespeichert werden soll, alle Schluessel,
      die in diesem Arbeitsgebiet gebraucht werden, anliefern.
      Die angekuendigten Werte bestimmen die benoetigten Verdichtungs-
      stufen. Alle in diesen Verdichtungsstufen ausgepraegten
      Schluessel sind die erforderlichen Schluessel.
      Fehlen Schluessel, so koennen diese durch Vorlaufkartenangaben
      ergaenzt werden: INHALT (Schluesselnummer) = 'Schluesselinhalt'
      Einem Schluessel kann hierdurch genau ein (fester)
      Schluesselinhalt zugeordnet werden.
      Die durch INHALT (...) angegebenen Schluessel ergaenzen die
      externen Schnittstelle.
      Werden Schluessel angegeben, die nicht gebraucht werden
      oder die in der externen Schnittstelle bereits enthalten sind,
      so werden diese Angaben ignoriert.

      Sollen die Inhalte eines Schluessel der externen Schnittstelle
      durch einen festen Inhalt ueberschrieben werden, so wird dies
      durch INHALT_ERS (Schluesselnummer) = 'Schluesselinhalt'
      ermoeglicht. Fehlt der betreffende Schluessel in der externen
      Schnittstelle, so wirken die Schluessel von INHALT_ERS wie
      die Schluessel von INHALT.

      Es koennen maximal 90 Schluessel durch INHALT bzw. INHALT_ERS
      versorgt werden.

2.1.1 Umschluesseln mit User-Exit MST0169

pInhaltsverzeichnis
nStichwortverzeichnis

       Mit dem User-Exit MCL0169 besteht die Moeglichkeit,
*     die Schluesselinhalte der ankommenden Summensaetze zu
*     veraendern. Existiert ein neu gewuenschter Schluesselinhalt
*     nicht auf der Schluesseldatenbank, wird er neu angelegt
*     (sofern er den formellen Anforderungen entspricht und
*     die Schluessel-Neuanlage auf der Schluesseldatenbank
*     eingestellt ist (siehe Handbuch ST06 Kapitel 3.5.2)).

       Aktiviert wird der User-Exit MCL0169 per
*     PCL1001-Vorlaufkarte mit der Option 'MST0169'.

      Die Umschluesselungsanweisungen erfolgen in der Datei
*     '$ASS/ASSMANI.TXT' (DD-Name, bzw. Link-Name: ASSMANI) und
*     muessen folgender Form entsprechen:

      SCHLUESSELNUMMER;SCHLUESSELINHALT_ALT;SCHLUESSELINHALT_NEU

       Optional kann die Anweisung mit einem Semikolon
*     abgeschlossen werden.

      Beispiel:
*     --------

       Bei der Anlieferung neuer Summensaetze soll sich der
*     Schluesselinhalt von Schluessel 4897 (Produktname) von
*     PRODUKT1 in PRODUKT2 aendern und PRODUKT76 in PRODUKT13:

       4897;PRODUKT1;PRODUKT2
*      4897;PRODUKT76;PRODUKT13;

      Es koennen maximal 1000 Anweisungen erfolgen.

2.2 Verarbeiten der internen Schnittstelle PCL1002

pInhaltsverzeichnis
nStichwortverzeichnis

      Interne Schnittstellen fuer komprimierte Verdichtungsstufen
      werden vom Programm PCL1002 weiterverarbeitet.

      Hierbei gibt es unterschiedliche Varianten:

      1. Variante: (Ur-) Laden einer bzw. mehrerer Summendatenbanken.

      2. Variante: Alte Summendatenbank(en) auf sequentielle
                   Datei abziehen, mit interner Schnittstelle
                   mischen und wieder auf Summendatenbank(en)
                   speichern.

      3. Variante: Interne Schnittstelle direkt in Summendatenbank(en)
                   einarbeiten.

      4. Variante: Interne Schnittstelle additiv zu(r) bestehenden
                   Summendatenbank(en) dazuspeichern.

      5. Variante: Abgleich von Plandaten.

      Welche Variante zum Einsatz kommt, wird ueber Vorlaufkarte
      gesteuert. Die Moeglichkeiten bei den Vorlaufkarten sind
      weiter unten beschrieben.

      Bevor die Varianten im einzelnen beschrieben werden, sollen
      zunaechst noch einige variantenuebergreifende Bemerkungen
      gemacht werden.

      Der INPUT von PCL1002 besteht aus einer internen Schnittstelle,
      den Parameterdatenbanken DST001, DST002, DST003, mitunter
      aus einem Abzug von Verdichtungsstufen aus Summendatenbanken
      und bei der Variante 2 ev. auch noch aus "alten"
      sequentiellen Verdichtungsstufen.

      Das Verarbeitungsergebnis von PCL1002 besteht aus einem
      UPDATE der Steuerungsdatenbank DST003, von neuen oder
      geaenderten Summendatenbanken und ev. aus neuen sequentiellen
      Verdichtungsstufen.

      Eine Summendatenbank kann in einer DLI-Umgebung mit HSSR
      abgezogen werden. Falls HSSR nicht zur Verfuegung steht
      oder Summendatenbanken nicht in DLI gespeichert sind, muessen
      Summendatenbanken mit dem Programm PCL1024 abgezogen werden
      (Beschreibung siehe unten).
      Werden Verdichtungsstufen in einem Arbeitsgebiet auf mehrere
      Summendatenbanken verteilt und werden in einem Lauf von PCL1002
      Verdichtungsstufen aus mehreren Summendatenbanken fortge-
      schrieben, so muss der Abzug der "alten" Verdichtungsstufen
      mit dem Programm PCL1124 erzeugt werden.

      Werden Summendatenbanken vollstaendig neu erstellt,
      so kann man das Laden entweder direkt vom PCL1002 durchfuehren
      lassen oder aber Ladebestaende erstellen, die anschliessend
      vom Programm PCL1013 geladen werden koennen. Bei grossen
      Summendatenbanken fuehrt man das Laden besser mit PCL1013
      durch, da PCL1013 mit einem reinen Lade-PSB arbeiten kann
      und kein Logging anfaellt. Laedt man mit PCL1002, so kann auf
      das Logging nicht verzichtet werden.
      Das Laden mit PCL1013 ist weiter unten beschrieben.

      Man kann die UPDATE's, die von PCL1002 auf der Steuerungs-DB
      durchgefuehrt werden, auch verzoegern, indem man die
      Datenbankaenderungen zunaechst auf eine Datei schreiben laesst.
      Die Aenderungen aus dieser Datei koennen dann mit dem
      Programm PCL1032 auf die Steuerungsdatenbank gespielt werden.

      Man kann also im Extremfall PCL1002 so laufen lassen, dass
      keine Datenbankaenderungen durchgefuehrt werden.

       Hinweis fuer BMP:
       Laesst man PCL1002 als BMP laufen, so kann man nicht die
      PROCOPT=LS benutzen.

       Hinweis fuer Siemens:
      Werden Summendaten waehrend des ONLINE-Betriebes eingespeichert,
      so sollte das betreffende Arbeitsgebiet vorher gesperrt werden,
      damit nicht parallel Auswertungen versucht werden. Das Sperren
      verhindert im Prinzip nur technische Fehlermeldungen (z. B.
      Fehlermeldungen beim Oeffnen einer Datei). Wird mit verteilten
      Summendatenbanken gearbeitet, so ist das Sperren jedoch unbedingt
      erforderlich, um Ueberholeffekte Einspeicherung/Auswertung
      zu verhindern. Diese Ueberholeffekte muessen auch bei BATCH-
      Auswertungen durch Sperren der betreffenden Arbeitsgebiete
      verhindert werden. Es ist darauf zu achten, dass in der JCL des
      PCL1002 die Parameterdatenbanken mit SHARUPD=YES, die Summen-
      datenbanken dagegen mit SHARUPD=NO angegeben werden.



      Die Varianten im einzelnen:

      1. Variante:
      -----------
      (Ur-) Laden von Summendatenbanken.

      Variante 1a.:

      Wird in einem Arbeitsgebiet eine interne Schnittstelle
      zum allerersten mal verarbeitet, so ergeben sich natuerlich
      noch keinerlei Fortschreibungsprobleme. Daher eignet sich
      diese Variante zum erstmaligen Laden von Daten in die
      ASS-Bestaende.
      Gibt es in einem Arbeitsgebiet Werte vom Typ BESTAND,
      so kann nur die Variante 1 zur Urladung (vollstaendige
      Bestandsuebernahme) herangezogen werden.
      In diesem Fall ist keine Vorlaufkarte erforderlich.

      Variante 1b.:

      Ansonsten kann diese Variante in all den Faellen angewandt
      werden, in denen die interne Schnittstelle die kompletten
      Summenbestaende enthaelt. PCL1002 wird dann mit der
      Option LADEN eingesetzt (betrifft PCL1042, PCL1051 und PCL1058).

      2. Variante:
      -----------

      Alte Summendatenbank(en) auf sequentielle
      Datei abziehen, mit interner Schnittstelle
      mischen und wieder auf Summendatenbank(en)
      speichern.

      Die 2. Variante ist der Standardfall der Folgeeinspeicherung.
      Diese Variante muss gewaehlt werden, wenn aktive
      Verdichtungsstufen auf seq. Datentraegern existieren oder wenn
      in der externen Schnittstelle Bestandswerte angeliefert werden.
      Darueber hinaus empfiehlt sich diese Variante, wenn
      Summendatenbanken reorganisiert werden sollen und wenn die
      interne Schnittstelle im Verhaeltnis zur Summendatenbank nicht
      als sehr klein anzusehen ist.

      3. Variante:
      -----------

      Interne Schnittstelle direkt in Summendatenbank(en)
      einarbeiten.

      Die 3. Variante ist fuer folgenden Anwendungsfall gedacht:
      In einem Arbeitsgebiet gibt es keine Verdichtungsstufen auf
      seq. Datentraegern. Die Werte in den Summendaten werden
      durch Bewegungen fortgeschrieben. Die Anzahl der Bewegungen,
      die auf die Summendaten gespielt werden sollen, ist im
      Verhaeltnis zu den bereits vorhandenen Summendaten klein.
      Eine Folgeeinspeicherung entsprechend Variante 2, die
      technisch moeglich ist, ist fuer diesen Anwendungsfall
      sehr teuer.
      In diesem Fall kann man daher die interne Schnittstelle direkt
      von PCL1002 in die Summendatenbank(en) einarbeiten lassen, und
      zwar durch die Verarbeitungsoption DIREKTSP.


      ACHTUNG:

      I.a. werden Saetze in der Summendatenbank durch Folgeein-
      speicherungen laenger.
      Dies fuehrt z.B. in einer DLI-Umgebung zu SEGMENT-SPLIT's.
      Man kann eine Reorganisation erreichen, wenn man von Zeit zu
      Zeit eine Folgeeinspeicherung gemaess Variante 2 durchfuehrt.

      4. Variante:
      -----------

      Interne Schnittstelle additiv zu(r) bestehenden
      Summendatenbank(en) dazuspeichern.

      Die 4. Variante funktioniert im Prinzip wie die erste
      Variante. Sie setzt nur voraus, dass Summendatenbanken
      bzw. seq. Verdichtungsstufen bereits existieren, die
      vorhandene Schnittstelle aber nur zusaetzliche Summensaetze
      enthaelt, die in den Summendaten ergaenzt werden sollen.
      Bei Einsatz dieser Variante werden die schon in den Datenbanken
      vorhandenen Saetze beibehalten. Es findet nur eine
      Erweiterung statt.

      Die Variante 4 wird durch die Vorlaufkarte  VST_ERGAENZ
      angefordert. Diese Vorlaufkartenoption ist unten bei den
      Vorlaufkarten beschrieben.

      5. Variante:
      -----------

      Abgleich von Vorgabewerten (Plandaten) bzw. Erfasswerten

      Mit dieser Programmfunktion werden die Vorgabe-/Erfasswerte
      eines Arbeitsgebietes durch die Vorgabe-/Erfasswerte aus einem
      Sicherungs-Abzug ersetzt. Der Rest der aktuellen Summendaten
      bleibt dabei unveraendert.

      Diese Variante ist fuer folgendes Problem gedacht:

      In einem Arbeitsgebiet sind Vorgabe-/Erfasswerte definiert und
      auch laufend erfasst worden. Fehler in der Folgeeinspeicherung
      oder Fehler im Schnittstellenprogramm machen es erforderlich,
      fuer einen bestimmten Zeitraum Folgeeinspeicherungen zu
      wiederholen. Hierzu muessen die Summendaten zeitlich
      zurueckgesetzt werden, etwa auf den 10. eines bestimmten
      Monats. Vorgabe-/Erfasswerte wurden aber noch am 11. und 12.
      erfasst. Dies haette zur Konsequenz, dass die
      Erfassungsarbeiten vom 11. und 12. verloren waeren.
      Man kann die Vorgabe-/Erfasswerte des 11. und 12. retten, wenn
      man als allererstes einen Summendaten-Abzug (siehe 2.4)
      der aktuellen Summendaten macht, danach zuruecksetzt
      und die Wiederholungslaeufe durchfuehrt.
      Zum Schluss werden dann die Vorgabe-/Erfasswerte der anfangs
      abgezogenen Summendaten mit der Option V_ABGLEICH / E_ABGLEICH
      unter Angabe eines Arbeitsgebietes wieder auf die reparierten
      Summendaten gespielt.

      ACHTUNG:  Es koennen nur die Werte und Verdichtungsstufen
                behandelt werden, die zum Laufzeitpunkt in der
                Steuerungsdatenbank definiert sind, d.h.
                wurden am 11. oder 12. neue Vorgabe-/Erfasswerte
                in der Steuerungsdatenbank definiert, so sind
                diese Werte verloren.

      Der Abzug der Summendaten wird ueber DBALT eingelesen und
      die aktuellen Summendaten werden direkt angesprochen.

      6. Variante:
      -----------

      Gewoehnlich ist die Uebernahme von Bestandswerten mit Anliefer-
      ungsart Bestand nur Monat fuer Monat zulaessig. Durch Angabe von
      NMAXDAT in PCL1001 werden jedoch die zugehoerigen Pruefungen
      deaktiviert. Werden nun bei der Einspeicherung Monate ausge-
      lassen, so wird das zeitliche Gueltigkeitsintervall eines
      Werteinhalts vergroessert.

      Beispiel:
      ---------
      Eingespeichert sind zu einer Schluesselinhaltskombination zum
      Zeitaspekt 0103 100 Einheiten (Datum letzte Einspeicherung) und
      fuer 0303 zur gleichen Schluesselinhaltskombination werden
      200 Einheiten angeliefert. In diesem Fall liefert die Auswertung
      fuer 0103 und 0203 (!) als Ergebnis 100 Einheiten.

      Durch Angabe der Option BESTANDSUEBERNAHME aendert sich das
      Verhalten. Im selben Beispiel wuerde die Auswertung von 0203
      0 Einheiten liefern. Aehnliches gilt, wenn in einem Lauf mehrere
      Zeitaspekte eingespeichert werden. Auch hier werden in den
      "zeitlichen Luecken" Null-Inhalte erzeugt.

      Bemerkung: Die Behandlung von bereits eingespeicherten Saetzen,
      die in der Schnittstelle nicht angeliefert werden, bleibt unbe-
      ruehrt. Diese (Alt-)Bestaende werden weiterhin durch Null-Setzung
      der betreffenden Bestandswerte zeitlich abgeschlossen.
      Ausserdem ist weiterhin die Anlieferung zu einem Monat nur einmal
      gestattet.

      Ablauf ohne Restart:
      -------------------
    .---.          .---.          .---.          .---.
  ,'     ',      ,'     ',      ,'     ',      ,'     ',
  !'.___.'!      !'.___.'!      !'.___.'!      !'.___.'!
  !       !      !       !      !       !      !       !
  !  100  !      !  110  !      !  120  !      !  130  !
  !       !      !       !      !       !      !       !
   '.___.'        '.___.'        '._ _.'        '.___.'
      !_______       !____     _____!              !
              !           !   !                    !
              !_______    !   !                    !
       _______        !   !   !    ________________!
      /       !       !   !   !   !
      !  140  !       !   !   !   !                        .---.
      +-------+       V   V   V   V                      ,'     ',
            !        ***************                     !'.___.'!
   .---.    +------->!             !                     !       !
 ,'     ',           !   PCL1002   !-------------------->!  160  !
 !'.___.'!---------->!             !                     !       !
 !       !           ***************                      '.___.'
 !  196  !             !  ! ! ! ! !______________________________
 !       ! ____________!  ! ! ! !____________________            !
  '.___.' !               ! ! !________________      !           !
          !               ! + - - - - ->+      !     !           !
          !               !             !      !     V           V
          V               V             !      !   .---.       .---.
        .---.           .---.           !      ! ,'     ',   ,'     ',
      ,'     ',       ,'     ',         !      ! !'.___.'!   !'.___.'!
      !'.___.'!       !'.___.'!         !      ! !       !   !       !
      !       !       !       !         !      ! !  195  !   !  196  !
      !  170  !       !  180  !         !      ! !       !   !       !
      !       !       !       !         !      !  '.___.'     '.___.'
       '.___.'         '.___.'          !      V     +___        !
       _______            !             ! **********     !       !
      /       !           !             ! !        !     !       !
      !  200  !           !             ! !  190   !     !       !
      +-------+           V             ! !      ***     V       V
          !        ***************      ! !     /      *************
          !        !             !      !  *****       !           !
          +------> !   PCL1013   !- - ->!              !  PCL1032  !
                   !             !      !              !           !
                   ***************      !              *************
                          !             !                  !    !
                          !             !           +------+    !
                          V             V           V           V
                    ************      .---.    ************   .---.
                    !          !    ,'     ',  !          ! ,'     ',
                    !   220    !    !'.___.'!  !  320     ! !'.___.'!
                    !      *****    !       !  !      ***** !       !
                    !     /         !  230  !  !     /      !  330  !
                     *****          !       !   *****       !       !
                                     '.___.'                 '.___.'

 Dateibeschreibung:
 -----------------

 Lfd.-Nr. !  DD-Name/PGM ! Beschreibung
          !  LINK-Name   !
 ---------!--------------!---------------------------------------------
 100      !  //DBALT     ! Abzug der Summendatenbank
          !              ! Aktivieren fuer Variante 2 und Variante 5
          !              ! Auf DUMMY setzen fuer Variante 1,
          !              !                       Variante 3 und
          !              !                       Variante 4
          !              !
 110      !  //AE        ! Interne Schnittstelle aus PCL1001
          !              !
 120      !  //DST001    ! Werte-DB
          !  //DST011    ! Primaer-Index       (nur DLI)
          !  //DST012    ! Sekundaer-Index 1   (nur DLI)
          !  //DST013    ! Sekundaer-Index 2   (nur DLI)
          !  //DST002    ! Schluessel-DB
          !  //DST021    ! Primaer-Index       (nur DLI)
          !  //DST022    ! Sekundaer-Index 1   (nur DLI)
          !  //DST023    ! Sekundaer-Index 2   (nur DLI)
          !  //DST003    ! Steuerungs-DB
          !  //DST031    ! Primaer-Index       (nur DLI)
          !  //DST032    ! Sekundaer-Index 1   (nur DLI)
          !  //DST033    ! Sekundaer-Index 2   (nur DLI)
          !  //DST007    ! Text-DB
          !  //DST071    ! Primaer-Index       (nur DLI)
          !              !
 130      !  //ASSCI01   ! Vortragsbestand der sequentiellen Verdich-
          !     bis      ! tungsstufen. Nur die benoetigten Dateien
          !  //ASSCI50   ! muessen zugewiesen werden.
          !              ! Die letzten beiden Ziffern bezeichnen
          !              ! den Ort der Verdichtungsstufe.
          !              !
 140      !  //VORLAUF   ! Vorlaufkarte, auf DUMMY setzen und bei
          !              ! Bedarf aktivieren.
          !              !
 160      !  -           ! LOGDATEI   (nur DLI)
          !              !
 170      !  //ASSCO01   ! Fortschreibung der sequentiellen Verdich-
          !     bis      ! tungsstufen. Nur die benoetigten Dateien
          !  //ASSCO50   ! muessen zugewiesen werden.
          !              ! Die letzten beiden Ziffern bezeichnen
          !              ! den Ort der Verdichtungsstufe.
          !              !
 180      !  //AUS       ! Ausgabe PCL1002,
          !              ! Ladebestand, falls mit PCL1013 (//LADE)
          !              ! oder ADAWAN geladen wird
          !  //AUSnn     ! Ladebestand analog zu //AUS fuer Summen-
          !              ! datenbanken von Verdichtungsstufen, die
          !              ! nicht in der direkt dem Arbeitsgebiet
          !              ! zugeordneten Summendatenbank gespeichert
          !              ! werden (verteilte Summendatenbanken)

 Lfd.-Nr. !  DD-Name/PGM ! Beschreibung
          !  LINK-Name   !
 ---------!--------------!---------------------------------------------
          !              !
 190      !  //LISTE     ! Ablaufprotokoll PCL1002
          !              !
          !  //ASSINFO   ! max. Satzlaenge von VST's (falls angef.)
          !              !
 195      !  //ASSUPD    ! Verzoegerte UPDATE's
 196      !  //ASSUPI    ! Verzoegerte UPDATE's von PCL1001
          !              !
 200      !  //ASSCO     ! Vorlaufkarte, auf DUMMY setzen und auf
          !              ! Anforderung aktivieren
          !              !
 220      !  //LISTE     ! Ablaufprotokoll PCL1013
          !              !
 230      !  //DST110    ! Summen-DB neu  (FUER ARBEITSGEBIET 1)
          !  //DST111    ! Index-DB neu   (FUER ARBEITSGEBIET 1, DLI)
          !     bis      !             bis
          !  //DST600    ! Summen-DB neu  (FUER ARBEITSGEBIET 50)
          !  //DST601    ! Index-DB neu   (FUER ARBEITSGEBIET 50, DLI)
          !              !
 320      !  //LISTE     ! Ablaufprotokoll PCL1032
          !              !
 330      !  //DST003    ! Steuerungs-DB
          !  //DST031    ! Primaer-Index         (nur DLI)
          !  //DST032    ! Sekundaer-Index 1     (nur DLI)
          !  //DST033    ! Sekundaer-Index 2     (nur DLI)



      VORLAUFKARTE:
      ------------

      IBM: Feste Satzlaenge 80 Bytes ungeblockt,

      SIEMENS: Variable Saetzlange, mindestens 72 Stellen, hinten
               mit Blanks auffuellen, maximal 80 Stellen.

      Eintraege sind ab Spalte 1 vorzunehmen.
      Mehrere Eintraege werden durch Kommata getrennt.
      Es wird nur die erste Vorlaufkarte interpretiert.

      Moegliche Optionen:
      ------------------

      Inhalt    ! Aktion
      ----------------------------------------------
      DATEI     ! Ausgabe auf Datei(en), UPDATE Steuerungs-DB.
                ! Ladebestand fuer PCL1013 beziehungsweise fuer das
                ! ADABAS-Ladeutility.
                !
      HSSR      ! Ausgabe auf Datei(en), UPDATE Steuerungs-DB, wobei
                ! diese Option die Option DATEI impliziert.
                ! Ladebestand fuer DL/I mittels DFSURGL0 oder einem
                ! vergleichbarem Produkt.
                !
      HSSR8     ! Diese Option impliziert die Option HSSR.
                ! Ladebestand fuer DL/I ab IMS Version 8, also ohne
                ! Kopfsatz und anderem Endesatz.
                !
      BMC       ! Diese Option impliziert die Option HSSR.
                ! Ladebestand fuer DL/I mittels BMC Load Plus.
                !
      DB2       ! Diese Option impliziert die Option DATEI.
                ! Die Ausgabe erfolgt fuer das DB2 Load Utility.
                !
      ADA       ! Diese Option impliziert die Option DATEI.
                ! Die Ausgabe erfolgt wie in der PL/I-Version mit der
                ! Option DATEI, aber ohne HSSR, BMC und DB2.
                ! Adabas Load Exit 6 MST0100: PCL1002 mit Option DATEI
                !                             PCL1002 mit Option ADA
                ! Adabas Load Exit 6 MCL0100: PCL1002 mit Option DATEI
                ! VSAM Repro: PCL1002 mit Option DATEI
                !             PCL1002 mit Option ADA
                !
      SONST     ! Ausgabe auf Datei(en), Update der Steuerungsdatenbank
                ! wenn nicht die Option NUPDAT gesetzt, Pruefungen
                ! ausgeschaltet.
                !
      NOPRUEF   ! UPDATE der Steuerungs-DB,
                ! Pruefungen ausgeschaltet,
                ! Ausgabe auf Datei(en) oder Summen-Datenbank(en) in
                ! Abhaengigkeit von DIREKTSP.

      Inhalt    ! Aktion
      ----------------------------------------------
                !
      NOCELET1  ! CELET1 (Datum der letzten Einspeicherung)
                ! in SST021CO zunaechst nicht fortschreiben, kann
                ! mit Kommando FREIGEBEN in der Online-Transaktion
                ! ST06 aktiviert werden (vgl. Handbuch Einrichten
                ! eines Arbeitsgebietes)
                !
      DIREKTSP  ! Interne Schnittstelle direkt in
                ! Summen-Datenbank(en) einarbeiten
                !
      KORR      ! Korrekturlauf, ermoeglicht es, Bestands-
                ! werte, die als Bestand angeliefert werden,
                ! zu korrigieren, auch wenn Wertedatum <
                ! CELET1 ist.
                !
      NUPDAT    ! Aenderungen, die normalerweise auf die
                ! Steuerungs-DB durchgefuehrt worden waeren,
                ! in die Datei ASSUPD stellen, um diese
                ! Aenderungen mit dem Programm PCL1032
                ! spaeter auf die Steuerungs-DB spielen
                ! zu koennen.
                !
    VST_ERGAENZ ! Dieser Inhalt ist nur im Zusammenhang
                ! mit Reorganisationsmassnahmen mit
                ! Hilfe des Programms PCL1011 sinnvoll.
                ! Wurden von PCL1011 zusaetzliche
                ! Verdichtungsstufen erzeugt, so
                ! enthaelt die interne Schnittstelle
                ! die neuen Verdichtungsstufen, die von
                ! PCL1002 additiv verarbeitet werden,
                ! d.h. die neuen Verdichtungsstufen
                ! werden in die Summendatenbank(en) dazu-
                ! geladen oder auf seq. Datei(en) ausgegeben
                ! (als Input fuer PCL1013, je nach
                ! Vorlaufkartensteuerung) oder
                ! es entstehen neue sequentielle Ver-
                ! dichtungsstufen.
                ! Die Versionsnummer des betreffenden
                ! Arbeitsgebietes wird in diesem Fall
                ! nicht fortgeschrieben.

      Inhalt    ! Aktion
      ----------------------------------------------
                !
    CHKP_PRIVAT ! "private" Checkpoint-Schreibung
                ! (siehe weiter unten).
                !
    V_ABGLEICH  ! Abgleich von Vorgabewerten (Plandaten)
         = AGNR ! unter Angabe der Nummer des Arbeitsgebiets.
                ! (siehe weiter unten).
                !
    E_ABGLEICH  ! Abgleich von Erfasswerten
         = AGNR ! unter Angabe der Nummer des Arbeitsgebiets.
                ! (siehe weiter unten).
                !
    LADEN       ! Laden der Summendatenbank(en) nach den Dienstpro-
                ! grammen PCL1042 , PCL1051 und PCL1058
                ! (Variante 1.B)
                !
    BESTANDSUEBERNAHME
                ! Steuerung der Uebernahme von Bestandswerten mit
                ! Anlieferungsart Bestand
                !
    ASSINFO     ! Ausgabe der maximalen Satzlaenge von Verdichtungs-
                ! stufen auf die Datei ASSINFO.
                !
*   ASSINFO_CSV ! Wie ASSINFO, Felder werden durch Semikolon getrennt.
                !
*   ASSINFO_KOPF! Wie ASSINFO_CSV, mit Kopfsatz (Ueberschrift).
                !
    DOPPELT_WERT! Verarbeitung von internen Schnitstellen, die von
                ! PCL1011 mit dieser Option erzeugt wurden.
                !
    DOPPELT_DIR ! Verarbeitung von internen Schnitstellen, die von
                ! PCL1011 mit dieser Option erzeugt wurden.

    Beispiele:
    ---------

    NOCELET1
    NUPDAT
    DATEI,NOCELET1
    NOPRUEF
    NOPRUEF,NOCELET1
    SONST
    DIREKTSP
    V_ABGLEICH=44
    E_ABGLEICH=44



     "Private" Checkpoint-Schreibung (PCL1002)
     -----------------------------------------

   Checkpoints werden mit dem Programm MCL0699 geschrieben.
   Checkpoints werden nur dann geschrieben, wenn in der betreffenden
   Installation MCL0699 dafuer ausgelegt ist.

   Die Checkpoint-Schreibung ist nur bei einem direkten UPDATE der
   Summendatenbank moeglich, also bei gewaehltem Parameter 'DIREKTSP'
   in der Vorlaufkarte. Die Aktivierung erfolgt dann ueber den
   weiteren Parameter 'CHKP_PRIVAT' in der Vorlaufkarte. Checkpoints
   koennen nach Zugriffen auf die Summendatenbank geschrieben werden.

   Unterstuetzung von BMC Load Plus und Unload Plus fuer DL/I
   ----------------------------------------------------------

    Mit der Option BMC wird die Summendatenbank nicht direkt geladen,
   sondern ein Ladebestand erzeugt, der mit Load Plus anschliessend
   geladen werden kann. Der Ladebestand fuer Load Plus ist identisch
   mit dem sogenannten HSSR-Format fuer das Utility DFSURGL0, ausser
   dass der erste und letzte Satz fehlt.
    Die Option BMC impliziert die Optionen DATEI und HSSR.

    Entsprechend kann statt dem Dienstprogramm PCL1024 Unload Plus
   benutzt werden. Dabei ist darauf zu achten, dass der Aufbau dem
   HSSR-Format entspricht, ausser dass der erste und letzte Satz fehlt.
   Dieses Manko kann behoben werden, in dem der BMC-Abzug mit je einem
   Dummy-Kopf- und Endesatz verkettet wird.

2.3 Laden von Summendatenbanken PCL1013

pInhaltsverzeichnis
nStichwortverzeichnis

   Mit PCL1013 werden die von PCL1002 geschriebenen Summendaten
   (Datei "AUS" bzw. "AUSnn") in die betreffende Summendatenbank
   geladen. Der Ablaufplan ist in 2.2 integriert.

   In der Vorlaufkarte muss angegeben werden, fuer welche Summen-
   datenbank ein Ladelauf durchgefuehrt werden soll.
   Inhalt: AGNR=nn, wobei  01 <= nn <= 300 (bzw. <= Maximalzahl
   zulaessiger Arbeitsgebiete).
   nn gibt die Nummer der zu ladenden DB an. Diese Nummer ist die
   jeweilige Arbeitsgebietsnummer, wenn nicht mit verteilten
   Summen-Datenbanken gearbeitet wird.

   Beispiel fuer IBM/MVS:
   //ASSCO   DD *
   AGNR=17

   Beispiel fuer SIEMENS/BS2000:
   /FILE dateiname,LINK=ASSCO
   wobei die Datei mit Dateiname einen Satz mit dem Inhalt
   AGNR=17
   enthaelt.

   PCL1013 kann benutzt werden, wenn eine Summendatenbank
   vollstaendig neu geladen wird oder wenn mit VST_ERGAENZ erzeugte
   Verdichtungsstufen additiv zu einer Summendatenbank dazugeladen
   werden sollen.

   ACHTUNG:
   --------
   In einer PC-Umgebung (Windows / Unix) muss
   in dem Fall, wenn kein vollstaendiger Ladebestand auf der Eingabe-
   datei steht (PCL1002 mit Option VST_ERGAENZ), das Programm PCL1013
   ebenfalls mit der Option VST_ERGAENZ gestartet werden, da andern-
   falls kein additives Laden der Daten erfolgt, die Altdaten auf
   der Summendatenbank mithin geloescht werden.

   ACHTUNG:
   -------
   Bei Folgeeinspeicherungen nach Variante 1 oder 2 ist darauf
   zu achten, dass die betreffende Summendatenbank vor dem Ladelauf
   leer ist. Dies kann mit DB-Systemabhaengigen Utilities
   erreicht werden, z.b. DELETE/DEFINE CLUSTER bei DLI.

   ACHTUNG bei ADABAS:
   ------------------
   ADABAS-Summendatenbanken werden nicht mit PCL1013 geladen, sondern
   mit dem ADABAS-Utility ADAWAN. Hierbei ist darauf zu achten, dass
   beim USER-EXIT 6 das ASS-Programm MST0100 angegeben wird.
   Zuvor muss jedoch MST0100 uebersetzt und gelinkt werden.

   Vorlaufkarte:
   -------------

   Werden Summensaetze geladen, die von einem anderen Betriebssystem
   stammen als dem, unter dem PCL1013 laeuft, so ist es u. U.
   erforderlich, dass der Kopfsatz der Summendaten an einen anderen
   Code (Translation) angepasst wird.
   Hierfuer stehen folgende Optionen bereit:

   BS2000_ANSI  : Uebersetzen von BS2000-EBCDIC nach ANSI (Unix)
   MVS_ANSI     : Uebersetzen von MVS-EBCDIC    nach ANSI (Unix)

   Im Kopfsatz muessen nur Ziffern angepasst werden (i.w. Datumsan-
   gaben). Daher ist das Translate-Problem vergleichsweise
   einfach: BS2000-EBCDIC und MVS-EBCDIC unterscheiden sich
   bei Ziffern nicht. Gleiches gilt fuer Windows und Unix.

   Mit der Option FB wird festgelegt, dass die Summensaetze
   aus einer Datei mit fester Satzlaenge von 80 Byte gelesen
   werden sollen. Dies ist insbesondere bei Migrationen erforderlich:
   Summensaetze werden am Host mit PCL1024 und der Option FB
   auf eine Datei mit fester Satzlaenge von 80 Byte abgezogen,
   anschliessend folgt ein File-Transfer und dann ein Ladelauf
   von PCL1013 mit den Optionen FB und z.B. BS2000_ANSI.

2.4 Abziehen von Summendatenbanken HSSR / PCL1024/ PCL1124

pInhaltsverzeichnis
nStichwortverzeichnis

   Unter dem Abziehen einer Summendatenbank wird das vollstaendige
   sequentielle Lesen dieser Summendatenbank und das Schreiben
   aller Segmente (Saetze) in eine sequentielle Datei verstanden.

   Bei DLI-Datenbanken gibt es ein Utility (HSSR), das sehr schnell
   Datenbanken abziehen kann.
   Steht HSSR nicht zur Verfuegung, koennen Summendatenbank-Abzuege
   mit dem Programm PCL1024 oder dem Programm PCL1124
   oder dem DLI-Utility DFSURGU0 durchgefuehrt werden.

   Hinweis: Mit dem Programm PCL1083 kann ein Summendatenbank-Abzug,
           der mit diesen Programmen erstellt wurde, ins Ladeformat
           tranformiert werden. Er kann dann mit dem PCL1013 wieder
           geladen werden (vgl. HBetrie2)

   Das Programm PCL1124 besitzt im Gegensatz zum Programm PCL1024
   mehr Intelligenz und kann dazu benutzt werden, die Summensaetze
   zu Arbeitsgebieten abzuziehen, die auf mehrere Summendaten-
   banken verteilt sind. In diesem Fall muss es auch benutzt werden.

   Summendatenbank-Abzuege werden vom Programm PCL1002 bei den
   Varianten 2 und 5 benoetigt (siehe 2.2).

   Vorlaufkarte

    In der Vorlaufkarte (DD-Name ASSCO mit Format FB 80) gibt man ab
   Spalte 1

   AGNR=nn

   an, wobei nn die Nummer des Arbeitsgebiet ist, dessen
   Summendatenbank abzuziehen ist.

       Hinweis fuer Siemens:
      Werden Summendaten waehrend des ONLINE-Betriebes abgezogen,
      so sollte das betreffende Arbeitsgebiet vorher gesperrt werden,
      damit nicht parallel Auswertungen versucht werden. Das Sperren
      verhindert im Prinzip nur technische Fehlermeldungen (z. B.
      Fehlermeldungen beim Oeffnen einer Datei). Auswertungen anderer
      Arbeitsgebiete sind moeglich. Es ist darauf zu achten, dass in
      der JCL des PCL1024 die Parameterdatenbanken mit SHARUPD=YES, die
      Summendatenbanken dagegen mit SHARUPD=NO angegeben werden.

   Mehrere Summendatenbanken auf eine Datei abziehen    PCL1124
   ============================================================

   Einem Arbeitsgebiet koennen mehrere Summendatenbanken zugeordnet
   sein. Fuer jede Verdichtungsstufe mit Art ' ' (aktiv) oder '3'
   (nicht aktiv) wird die zugehoerige Summendatenbank durch den Ort
   definiert.
   Mit PCL1124 ist es nun moeglich, alle Summendatenbanken, die zu
   einem Arbeitsgebiet gehoeren, auf eine Datei abzuziehen.
   Dieser Abzug kann ganz analog wie der PCL1024-Abzug weiterverwendet
   werden, z.B. zur Folgeeinspeicherung via PCL1002.
   Abgezogen werden Verdichtungsstufen und Relationen, die folgende
   Kriterien erfuellen:
   a) Die Art muss ' ' oder '3' oder 'J' (Relation) sein.
   b) Die Anzahl der Saetze (laut AG) muss > 0 sein.
   c) Falls die Option NUR_AKTIV angegeben wird, muss die
      Verdichtungsstufe sich auf einer Summendatenbank befinden, die
      mindestens eine aktive Verdichtungsstufe enthaelt.

   Verdichtungsstufen, die diese Kriterien nicht erfuellen oder gar
   nicht im Arbeitsgebiet definiert sind, sich aber auf einer Summen-
   datenbank befinden, werden ueberlesen.

   Eingaben :
   ==========
   Vorlaufkarte,           DD-Name ASSCO,  Format  FB 80
   Schluesseldatenbank  DST002
   Steuerungsdatenbank  DST003
   Summendatenbanken    DSTxxx , die abgezogen werden sollen

   Ausgaben :
   ==========
   Summendatenbankabzug,   DD-Name AUS,      Format  VB 10039
   Protokoll,              DD-Name LISTE,    Format  FBA 133

   Vorlaufkarte:
   =============
   Optionen werden durch Kommata getrennt, Blanks werden ueberlesen,
   Semikolon bedeutet das Ende der Eingabe, nach dem Gleichheitszeichen
   muss eine numerische Eingabe kommen.
   Nur die ersten 72 Zeichen werden beruecksichtigt.

   Option           I      Bedeutung
   --------------------------------------------------------------------
   AGNR = xx        I Arbeitsgebietsnummer ist xx,
                    I muss angegeben werden und zwischen 1 und
                    I CARNR_MAX (definiert im Include SST1127) liegen.
   NUR_AKTIV        I Nur aktive Summendatenbanken werden abgezogen,
                    I d.h. Summendatenbanken, die mindestens eine
                    I aktive Verdichtungsstufe enthalten.

   Beispiel:
   =========
     AGNR = 13   ,  NUR_AKTIV

   Stillgelegte Verdichtungsstufen verlagern            PCL1124
   ============================================================

    Stillgelegte Verdichtungsstufen, die in der primaeren Summen-
   datenbank gespeichert sind, belasten u.U. die Folgeein-
   speicherung. Sie muessen bei jeder Folgeeinspeicherung (nicht
   DIREKTSP) abgezogen und wieder neu geladen werden. Befinden
   sich jedoch stillgelegte Verdichtungsstufen auf einer sekundaeren
   Summendatenbank und in der betreffenden Summendatenbank
   befinden sich nur stillgelegte Verdichtungsstufen, so koennen
   Folgeeinspeicherungen ohne Entladen/Laden dieser Verdichtungs-
   stufen durchgefuehrt werden. Es leuchtet sofort ein, dass
   hierdurch Einsparungen bei der Folgeeinspeicherung erzielt
   werden koennen.

    Mit Hilfe von PCL1124 steht ein Verfahren zur Verfuegung, um
   stillgelegte Verdichtungsstufen von der primaeren Summen-
   datenbank auf sekundaere Summendatenbanken zu verlagern.

    In der Vorlaufkarte von PCL1124 wird angegeben, welche
   stillgelegten Verdichtungsstufen verlagert werden sollen und
   wohin. Es stehen hierfuer zwei Moeglichkeiten zur Verfuegung:
      VDST nr1 > ort    (Mehrfachangabe)
    oder
      VDST_STILL > ort  (Einzelangabe)

    Mit der ersten Methode koennen eine oder mehrere stillgelegte
   Verdichtungsstufen mit den Nummern nr1 auf eine sekundaere
   Summendatenbank mit dem Ort ort verschoben werden und mit der
   zweiten Methode koennen saemtliche stillgelegten Verdichtungsstufen
   auf eine sekundaere Summendatenbank verschoben werden.
   Es koennen nur Verdichtungsstufen mit mindestens einem Satz von der
   primaeren Summendatenbank auf eine sekundaere Summendatenbank
   verschoben werden.
   Bei der Mehrfachangabe muss bei allen zu verlagernden
   Verdichtungsstufen der gleiche Ort angegeben werden.

    PCL1124 erzeugt zwei Abzugsdateien, AUS fuer die primaere
   Summendatenbank und AUS2 fuer die sekundaere Summendatenbank.
   Die erforderlichen Aenderungen der Steuerungsdatenbank
   (Ort der stillgelegten Verdichtungsstufen anpassen und ev.
   ein DUMMY-Arbeitsgebiet anlegen) werden zunaechst auf die
   Datei ASSUPD ausgegeben. Sie muessen zum Schluss noch
   mit PCL1032 auf die Steuerungsdatenbank gespielt werden
   (verzoegerte Update).

    Die Abzugsdateien koennen mit PCL1083 zum Beispiel fuer PCL1013
   (ISAM) oder das DB2-Loadutility konvertiert werden.
   Anschliessend werden die einzelnen Summendatenbanken geladen.
    Damit haben PCL1124 und PCL1083 nur lesenden Zugriff und das
   Arbeitsgebiet muss nur fuer PCL1032 und das Laden der einzelnen
   Summendatenbanken gesperrt werden.

   Vereinfachter Ablaufplan:

       ASSCO    Para-DB    SU-DB
         !_________!_________!
                   !
                PCL1124
          _________!_________
         !         !         !
       ASSUPD     AUS       AUS2
         !         !         !
         !         !         !
         !      ASSAINN   ASSAINN
         !         !         !
         !         !         !
         !      PCL1083   PCL1083
         !         !         !
         !         !         !
         !      ASSAONN   ASSAONN
         !         !         !
                                     Sperrung des Arbeitsgebiet
         !         !         !
       ASSUPD      !         !
         !      primaere sekundaere
      PCL1032    SU-DB     SU-DB
         !       laden     laden
         !
       DST003
                                     Arbeitsgebiet entsperren

   Beispiel:
   =========
     AGNR = 13
     VDST 31 > 122
     VDST 32 > 122

   Die beiden Verdichtungsstufen 31 und 32 des Arbeitsgebiets 13
   sollen auf den Ort 122 (sekundaere Summendatenbank) ausgelagert
   werden.

2.5 Verzoegerter UPDATE fuer PCL1002 PCL1032

pInhaltsverzeichnis
nStichwortverzeichnis

   Wie bereits oben erwaehnt, kann man PCL1002 so laufen lassen,
   dass keine DB-Aenderungen durchgefuehrt werden. Die erforderlichen
   Aenderungen in der Steuerungs-DB werden dann nicht direkt auf
   die Steuerungs-DB geschrieben, sondern in die Datei ASSUPD.
   Die Aenderungsanweisungen aus der Datei ASSUPD muessen dann
   zeitlich verzoegert mit dem Programm PCL1032 nachgetragen werden.

   Der Ablaufplan ist in 2.2 integriert.
   Die Aenderungsanweisungen bestehen hauptsaechlich aus der
   Aenderung der Versionsnummer der Summendatenbank und der Anzahl der
   Saetze pro Verdichtungsstufe (Eintrag auf der Steuerungsdatenbank).

   PCL1032 kennt auch noch eine Vorlaufkartendatei.
   LINK-Name bzw. DD-Name ist ASSCO, bei Windows bzw. Unix
   wird der Name aus '$ASSVLK/T1032.VLK' gebildet.
   Das Dateiformat ist analog zur Vorlaufkartendatei von PCL1001.
   Die Vorlaufkartendatei macht nur im Zusammenhang mit dem
   Protokoll-Arbeitsgebiet Sinn (Siehe hierzu HSYSDOK).
   Sie sollte standardmaessig auf Dummy gesetzt werden.


3 Auswertungen im BATCH einschliesslich PCL1003/ Aufbau der Datei LDAT PCL1016

pInhaltsverzeichnis
nStichwortverzeichnis

            Auswertungen im BATCH werden von den Programmen PCL1003
            und PCL1016 durchgefuehrt.

            Bei Adressraumproblemen siehe Handbuch INSTALLATION,
            Area-Einstellungen fuer PCL1016.

            PCL1003 fuehrt Anforderungen, die in der ASS-Anforderungs-
            sprache erstellt wurden, aus.

            PCL1016 wertet die Anforderungsdatenbank DST004 aus.

            PCL1003 und PCL1016 haben aehnliche interne Arbeitsweisen:

            Jede Anforderung wird fuer sich abgearbeitet.
            Das Abarbeiten einer Anforderung erfolgt in 3 Schritten:

            1. Schritt: Anforderung analysieren und auf programm-
                        internes Format bringen.

            2. Schritt: Summendatenbanken lesen und Daten fuer die
                        aktuelle Anforderung auf eine Workdatei
                        schreiben (Workdatei 1),
                        evtl. diese Workdatei sortieren.

            3. Schritt: Die im 2. Schritt erstellte Workdatei druck-
                        aufbereiten und nach LISTE schreiben.
                        In diesem Schritt werden auch alle Formeln
                        aus der Anforderung abgearbeitet.
                        Soll die Anforderung sortiert werden, wird
                        eine Workdatei 2 erstellt, die dann sortiert
                        und druckaufbereitet wird.

            Arbeitet man mit Umrechnungswerten, so wird im 2. Schritt
            zusaetzlich eine weitere Workdatei ( Workdatei 3 ) fuer
            die Umrechnungswerte erstellt.
            Sie wird nur benutzt, wenn Umrechnungswerte vorkommen.

            Werden Anforderungen abgearbeitet, die bei Werte-Formel
            GESAMT-Operanden enthalten, so kann es passieren, dass
            bei grossen Anforderungen nicht alle GESAMT-Werte im
            Arbeitsspeicher vorgehalten werden koennen. In diesem
            Fall werden Arbeitsdateien WORK10 und WORK11 benutzt.
            Sie sollten analog WORK1 stets in der JCL zugewiesen
            werden.

            Auf den folgenden Seiten sind die Datenflussplaene der
            Auswertung dargestellt.

            Die BATCH-Auswertung kann hinsichtlich Rechenzeit,
            Zugriffszahlen, Listgroessen etc. durch Vorlaufkarten
            beeinflusst werden. Dies ist im Anschluss an die
            Ablaufplaene beschrieben.

   Ablauf:
   ------

 ***************    ****************    ***********************
 !             !    !              !    !                     !
 ! D U P V 1   !    !  D U P V 2   !    !  D U P V 3 / 4 / 5  !
 !             !    !              !    !                     !
 ***************    ****************    ***********************
        !                  !                   !
 100    !            112   !             114   !
        !  ________________!                   !
        ! !           _________________________!
        ! !          !
        V V          V
      .---.      .---.      .---.      .---.      .---.       .---.
    ,'     ',  ,'     ',   '     ',  ,'     ',  ,'     ',   ,'     ',
    !'.___.'!  !'.___.'!  !'.___.'!  !'.___.'!  !'.___.'!   !'.___.'!
    !       !  !       !  !       !  !       !  !       !   !       !
    !  110  !  !  115  !  !  120  !  !  130  !  !  140  !   !  145  !
    !       !  !       !  !       !  !       !  !       !   !       !
     '.___.'    '.___.'    '.___.'    '.___.'    '.___.'     '.___.'
        !          !          !          !          !           !
        !          !          !          !          !           !
        !________  !________  !          !          !           !
                 !          !  !         !          !           !
         _______ !          !  !         !          !           !
     ___/___    !!________  !  !  _______!          !           !
    /       !151!         ! !  !  ! ________________!           !
    !  150  !---+         ! !  !  ! ! __________________________!
    +-------+             ! !  !  ! ! !
       !                  ! !  !  ! ! !                   .---.
       !                  V V  V  V V V                 ,'     ',
       !                 ***************                !'.___.'!
       +---------------->!             !                !       !
                         !   PCL1003   !<-------------->!  170  !
                   160   !             !                !       !
                         ***************                 '.___.'
                            !   !  ! !
                            !   !  ! !____________________________
           _________________!   !  !______________               !
           !                    !                !               !
           !                    !                !               !
           !                    !                !               !
           !                    !                !               !
           V                    V                V               V
      ************            .---.            .---.           .---.
      !          !          ,'     ',        ,'     ',       ,'     ',
      !  180     !          !'.___.'!        !'.___.'!       !'.___.'!
      !      *****          !       !        !       !       !       !
      !     /               !  190  !        !  210  !       !  220  !
      *****                 !       !        !       !       !       !
                             '.___.'          '.___.'         '.___.'

   Dateibeschreibung:
   -----------------

   Lfd.-Nr. !  DD-Name/PGM ! Bezeichnung
            !  LINK-Name   !
   ---------!--------------!-------------------------------------------
   100      !  DUPV1       ! Anlegen temporaere Workdatei 1
            !              ! (im BS2000 nur ein FILE-Kommando)
            !              !
   112      !  DUPV2       ! Anlegen temporaere Workdatei 2
            !              ! (im BS2000 nur ein FILE-Kommando)
            !              !
   110      !  //WORK1     ! Temporaere Workdatei 1 (Ausgabe)
            !  //WORK1     !              -"-     1 (Eingabe)
            !              ! IBM: RecFm=VB, LRecl=6006
            !              ! SNI: mindestens Standardblockung 3
            !              !
            !  //WORK2     ! Temporaere Workdatei 2 (Ausgabe)
            !  //WORK2     !              -"-     2 (Eingabe)
            !              ! IBM: RecFm=VB, LRecl=6006
            !              ! SNI: mindestens Standardblockung 3
            !              !
   114      !  DUPV3/4/5   ! Anlegen temporaere Workdatei 3, 10 ,11
            !              ! (im BS2000 nur ein FILE-Kommando)
            !              !
   115      !  //WORK3     ! Temporaere Workdatei 3 (Ausgabe)
            !  //WORK3     !              -"-     3 (Eingabe)
            !  //WORK10    ! Temporaere Workdatei 10 (Ausgabe)
            !  //WORK10    !              -"-     10 (Eingabe)
            !  //WORK11    ! Temporaere Workdatei 11 (Ausgabe)
            !  //WORK11    !              -"-     11 (Eingabe)
            !              ! IBM: RecFm=VB, LRecl=6006
            !              ! SNI: mindestens Standardblockung 3
            !              !
   120      !  //DST001    ! Werte-DB
            !  //DST011    ! Primaer-Index        (nur DLI)
            !  //DST012    ! Sekundaer-Index 1    (nur DLI)
            !  //DST013    ! Sekundaer-Index 2    (nur DLI)
            !              !
            !  //DST002    ! Schluessel-DB
            !  //DST021    ! Primaer-Index        (nur DLI)
            !              !
            !  //DST003    ! Steuerungs-DB
            !  //DST031    ! Primaer-Index        (nur DLI)
            !  //DST032    ! Sekundaer-Index 1    (nur DLI)
            !  //DST033    ! Sekundaer-Index 2    (nur DLI)
            !              !
            !  //DST004    ! Anforderungs-DB
            !  //DST041    ! Primaer-Index        (nur DLI)
            !              !
   130      !  //DST100    ! Summen-DB (Fuer Arbeitsgebiet 1)
            !  //DST101    ! Index-DB  (Fuer Arbeitsgebiet 1, nur DLI)
            !     bis      !          bis
            !  //DST600    ! Summen-DB (Fuer Arbeitsgebiet 50)
            !  //DST601    ! Index-DB  (Fuer Arbeitsgebiet 50, nur DLI)
            !     usw.     !

   Lfd.-Nr. !  DD-Name/PGM ! Bezeichnung
            !  LINK-Name   !
   ---------!--------------!-------------------------------------------
   140      !  //ASSCV01   ! Externe Verdichtungsstufen. Nur die
            !      bis     ! benoetigten Dateien muessen zugewiesen
            !  //ASSCV50   ! werden.
            !              ! Die letzten beiden Ziffern bezeichnen
            !              ! den Ort der Verdichtungsstufe.
            !              !
   145      !  //DST009    ! Security-Datenbank,
            !     oder     ! nur falls ASS-Online-Security installiert
            !  //DST009    ! worden ist, siehe Handbuch 'Installation',
            !  //DST091    ! Kapitel 1.1 und 5.7
            !     oder     !
            !  //DST600    !
            !     oder     !
            !  entspre-    !
            !  chende      !
            !  ADABAS-Files!
            !              !
   150      !  //KARTE     ! In ASS-Anforderungssprache formulierte
            !              ! Listanforderung der Fachabteilung
            !              !
   151      !  //ASSDATE   ! Bezugsmonat und Anforderungsvariable
            !              !
            !  //ASSCO     ! Vorlaufkarte
            !              !
   160      !  PCL1003     ! Auswerten Arbeitsgebiet
            !              !
   170      ! //SORTWK01   ! Sortwork-Bereich01   -
            !     bis      !       bis             >   IBM
            ! //SORTWKnn   ! Sortwork-Bereichnn   -
            ! //SORTWK1    ! Sortwork-Bereich1    -
            !     bis      !       bis             >   SIEMENS
            ! //SORTWKn    ! Sortwork-Bereichn    -
            !              !
   180      !  //LISTE     ! Auswertung auf Liste
            !  //LISTE01   !
            !      .       !
            !      .       !
            !      .       !
            !  //LISTE10   !
            !              !
   190      !  //LDAT      ! Auswertung auf eine seq. Datei, auf DUMMY
            !              ! Setzen und auf Anforderung aktivieren.
   210      !  //PWORK     ! Ausgabe der Statistiksaetze (Protokoll
            !              ! der Anforderung, installationsabhaengig,
            !              ! s.u.)
            !              !
   220      !  //LISTDB    ! Ausgabe der Datei fuer die Berichts-DB

   Ablauf:
   ------

 ***************    ****************    ***********************
 !             !    !              !    !                     !
 ! D U P V 1   !    !  D U P V 2   !    !  D U P V 3 / 4 / 5  !
 !             !    !              !    !                     !
 ***************    ****************    ***********************
     !                     !                   !
 100 !               112   !             114   !
     !  ___________________!                   !
     ! !        _______________________________!
     ! !       !
     V V       V
   .---.     .---.     .---.     .---.     .---.     .---.     .---.
 ,'     ', ,'     ', ,'     ', ,'     ', ,'     ', ,'     ', ,'     ',
 !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'!
 !       ! !       ! !       ! !       ! !       ! !       ! !       !
 !  110  ! !  115  ! !  120  ! !  130  ! !  140  ! !  145  ! !  150  !
 !       ! !       ! !       ! !       ! !       ! !       ! !       !
  '.___.'   '.___.'   '.___.'   '.___.'   '.___.'   '.___.'   '.___.'
     !         !         !         !         !         !         !
     !         !         !         !         !         !         !
     !_____    !         !         !         !         !         !
           !   !         !____     !         !         !         !
   .---.   !   !____________  !  __!         !         !         !
 ,'     ', !______________  ! ! !  __________!         !         !
 !'.___.'!                ! ! ! ! !  __________________!         !
 !       !                ! ! ! ! ! !  __________________________!
 !  156  !                ! ! ! ! ! ! !         160
 !       !  __________    ! ! ! ! ! ! !                  .---.
  '.___.'  /          !   V V V V V V V                ,'     ',
     !     !   155    !  ***************               !'.___.'!
     !     +----------+->!             !               !       !
     !                   !   PCL1016   !<------------->!  170  !
     ------------------->!             !               !       !
   __________            ***************                '.___.'
  /          !           A ! ! ! ! ! ! !
  ! 151 / 152!-----------+ ! ! ! ! ! ! !___________________________
  +----------+             ! ! ! ! ! ____________________         !
       ____________________! ! ! ! !___________         !         !
       !        _____________! ! !            !         !         !
       !        !              ! !__          !         !         !
       !        !         _____!    !         !         !         !
       V        V         V         V         V         V         V
 **********   .---.     .---.     .---.     .---.     .---.     .---.
 !        ! ,'     ', ,'     ', ,'     ', ,'     ', ,'     ', ,'     ',
 ! 180    ! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'!
 !     **** !       ! !       ! !       ! !       ! !       ! !       !
 !    /     !  190  ! !  200  ! !  205  ! !  210  ! !  220  ! !  230  !
 ****       !       ! !       ! !       ! !       ! !       ! !       !
             '.___.'   '.___.'   '.___.'   '.___.'   '.___.'   '.___.'

   Dateibeschreibung:
   -----------------

   Lfd.-Nr. !  DD-Name/PGM ! Bezeichnung
            !  LINK-Name   !
   ---------!--------------!-------------------------------------------
   100      !  DUPV1       ! Anlegen Temporaere Workdatei 1
            !              ! (im BS2000 nur ein FILE-Kommando)
            !              !
   112      !  DUPV2       ! Anlegen Temporaere Workdatei 2
            !              ! (im BS2000 nur ein FILE-Kommando)
            !              !
   110      !  //WORK1     ! Temporaere Workdatei 1 (Ausgabe)
            !  //WORK1     !              -"-     1 (Eingabe)
            !              ! IBM: RecFm=VB, LRecl=5560
            !              ! SNI: mindestens Standardblockung 3
            !              !
            !  //WORK2     ! Temporaere Workdatei 2 (Ausgabe)
            !  //WORK2     !              -"-     2 (Eingabe)
            !              ! IBM: RecFm=VB, LRecl=5560
            !              ! SNI: mindestens Standardblockung 3
            !              !
   114      !  DUPV3/4/5   ! Anlegen Temporaere Workdatei 3,10,11
            !              ! (im BS2000 nur ein FILE-Kommando)
            !              !
   115      !  //WORK3     ! Temporaere Workdatei 3 (Ausgabe)
            !  //WORK3     !              -"-     3 (Eingabe)
            !  //WORK10    ! Temporaere Workdatei 10 (Ausgabe)
            !  //WORK10    !              -"-     10 (Eingabe)
            !  //WORK11    ! Temporaere Workdatei 11 (Ausgabe)
            !  //WORK11    !              -"-     11 (Eingabe)
            !              ! IBM: RecFm=VB, LRecl=5560
            !              ! SNI: mindestens Standardblockung 3
            !              !
   120      !  //DST001    ! Werte-DB
            !  //DST011    ! Primaer-Index        (nur DLI)
            !  //DST012    ! Sekundaer-Index 1    (nur DLI)
            !  //DST013    ! Sekundaer-Index 2    (nur DLI)
            !  //DST002    ! Schluessel-DB
            !  //DST021    ! Primaer-Index        (nur DLI)
            !  //DST022    ! Sekundaer-Index 1    (nur DLI)
            !  //DST023    ! Sekundaer-Index 2    (nur DLI)
            !  //DST003    ! Steuerungs-DB
            !  //DST031    ! Primaer-Index        (nur DLI)
            !  //DST032    ! Sekundaer-Index 1    (nur DLI)
            !  //DST033    ! Sekundaer-Index 2    (nur DLI)
            !              !
   130      !  //DST100    ! Summen-DB (Fuer Arbeitsgebiet 1)
            !  //DST101    ! Index-DB  (Fuer Arbeitsgebiet 1, nur DLI)
            !     bis      !          bis
            !  //DST600    ! Summen-DB (Fuer Arbeitsgebiet 50)
            !  //DST601    ! INDEX-DB  (Fuer Arbeitsgebiet 50, nur DLI)
            !     usw.     !

   Lfd.-Nr. !  DD-Name/PGM ! Bezeichnung
            !  LINK-Name   !
   ---------!--------------!-------------------------------------------
            !              !
   140      !  //ASSCV01   ! Externe Verdichtungsstufen. Nur die
            !      bis     ! benoetigten Dateien muessen zugewiesen
            !  //ASSCV50   ! werden.
            !              ! Die letzten beiden Ziffern bezeichnen
            !              ! den Ort der Verdichtungsstufe.
            !              !
   145      !  //DST009    ! Security-Datenbank,
            !     oder     ! nur falls ASS-Online-Security installiert
            !  //DST009    ! worden ist, siehe Handbuch 'Installation',
            !  //DST091    ! Kapitel 1.1 und 5.7
            !     oder     !
            !  //DST600    !
            !     oder     !
            !  entspre-    !
            !  chende      !
            !  ADABAS-Files!
            !              !
   150      !  //DST004    ! Listanforderungen der Fachabteilung
            !  //DST041    ! Index fuer DST004, nur DLI
            !              !
   151      !  //ASSCO     ! Vorlaufkarte
            !              !
   152      !  //ASSDATE   ! Bezugsmonat und Anforderungsvariable
            !  //ASSALIA   ! Anforderungen, die nicht ausgefuehrt
            !              ! werden sollen
            !              !
   155      !  //KARTEI    ! In ASS-Anforderungssprache formulierte
            !              ! Listanforderung der Fachabteilung
            !              !
            !              !
   156      !  //KARTE     ! Workdatei(en) (Eingabe)
            !  //KARTEO    !               (Ausgabe)
            !              !
   160      !  PCL1016     ! Auswerten Arbeitsgebiet
            !              !
   170      ! //SORTWK01   ! Sortwork-Bereich01    -
            !     bis      !       bis              >   IBM
            ! //SORTWKnn   ! Sortwork-Bereichnn    -
            ! //SORTWK1    ! Sortwork-Bereich1     -
            !     bis      !       bis              >   SIEMENS
            ! //SORTWKn    ! Sortwork-Bereichn     -
            !              !
   180      !  //LISTE     ! Auswertung auf Liste
            !  //LISTE01   !
            !      .       !
            !      .       !
            !      .       !
            !  //LISTE10   !

   Lfd.-Nr. !  DD-Name/PGM ! Bezeichnung
            !  LINK-Name   !
   ---------!--------------!-------------------------------------------
            !              !
   190      !  //LDAT      ! Auswertung auf eine seq. Datei, auf DUMMY
            !              ! setzen und bei Bedarf aktivieren.
            !              !
   200      !  //ASSALI    ! Mit 'NUPDAT' ausgefuehrte Listanford.,
            !              ! die Markierung der Listanforderung als
            !              ! ausgefuehrt kann ueber das
            !              ! Dienstprogramm PCL1012 nachgeholt werden.
            !              ! feste Satzlaenge von 80
            !              !
   205      !  //ASSVT     ! Anforderungsergebnis fuer E-Mail-Versand
            !              ! aus sequentiele Datei, auf Dummy Setzen
            !              ! und bei Bedarf aktivieren
            !              !
            !              !
   210      !  //PWORK     ! Ausgabe der Statistiksaetze (Protokoll
            !              ! der Anforderung, installationsabhaengig,
            !              ! s.u.)
            !              !
   220      !  //LISTDB    ! Ausgabe der Datei fuer die Berichts-DB
            !              !
   230      !  //ASSFTG    ! Fuer Listanforderungen mit Turni, die
            !              ! nach Arbeitstagen gesteuert sind.
            !              ! Werden solche Listanforderungen ausge-
            !              ! wertet, so muss diese Datei zugeordnet
            !              ! sein und alle nicht-Arbeitstage im
            !              ! Format JJMMTT enthalten.
            !              ! Format der Datei :feste Satzlaenge von 80.

              Die Datei ASSDATE
              -----------------

              Format:    (siehe Include SST1122)
              ------
              IBM: Feste Satzlaenge 80 Byte.
              SIEMENS: Variable Satzlaenge 80 Byte.

               Die Beschreibung ist im Auswertungshandbuch unter dem
              Kapitel "Uebersteuerungsmoeglichkeiten in der
              Batchauswertung" enthalten.
              In dieser Datei muss der erste Satz linksbuendig den
              gewuenschten Bezugsmonat in der Form JJMM
              oder JJMMTT enthalten.



              Vorlaufkarten der BATCH-Auswertung:
              ----------------------------------

              Vorlaufkarten werden ueber ASSCO eingelesen.
              Format:
              IBM: Feste Satzlaenge 80 Byte.
              SIEMENS: Variable Satzlaenge 80 Byte.

              Die Eintragungen in der Vorlaufkarte sind optional.
              ASSCO kann auf DUMMY gesetzt werden.

              Die 1. Vorlaufkarte:
              -------------------
              Die 1. Vorlaufkarte spielt eine Sonderrolle.
              Sie ist fuer die unten aufgefuehrten Optionen
              reserviert und kann auch leer sein.

              Inhalt               ! Bedeutung
              ----------------------------------------------
              MINUTEN=nnn          ! Begrenzung der Programmlaufzeit
                                   ! in Minuten je Anforderung
                                   !
              ZEILEN=mmm           ! Begrenzung der Listgroesse
                                   !
              DRLIM=nnn            ! Begrenzung des Druckoutputs
                                   !
              ZUGRIFFE=ooo         ! Begrenzung der Anzahl Zugriffe
                                   ! zu Summendatenbanken
                                   !
              ANFORDERUNGEN=ppp    ! Begrenzung der Anzahl auszu-
                                   ! fuehrender Anforderungen, nur
                                   ! fuer PCL1016
                                   !
              ENDE=hhmm            ! Begrenzung der Programmlauf-
                                   ! zeit durch einen festen Ende-
                                   ! zeitpunkt
                                   !
              NUPDAT               ! Ausgefuehrte Anforderungen nicht
                                   ! markieren, nur fuer PCL1016
                                   !
              NUPDATPR             ! Ausgefuehrte Anforderungen nicht
                                   ! markieren, nur fuer PCL1016
                                   !
              NPRT                 ! Von Anforderungen unabhaengiges
                                   ! Protokoll unterdruecken, nur
                                   ! fuer PCL1016
                                   !

              Inhalt               ! Bedeutung
              ----------------------------------------------
              ANALYSE              ! Anforderungen nur ueberpruefen,
                                   ! nicht ausfuehren, nur PCL1016
                                   !
              FEHLER_ANALYSE       ! Anforderungen nur ueberpruefen,
                                   ! nicht ausfuehren, nur PCL1016
                                   !
              BIB=n                ! Selektion von Anforderungen, die
                                   ! ausgefuehrt werden sollen
                                   !
              NULLEN               ! Bei nicht berechenbaren Formeln
                                   ! wird in die PC-Datei 0 ausgege-
                                   ! ben (nur PCL1016)
                                   !
              KARTE                ! Anforderung(en) werden von KARTEI
                                   ! gelesen anstatt von der Anfor-
                                   ! derungsdatenbank (nur PCL1016)
                                   !
              LOESCHEN             ! einmalig auszufuehrende Anforde-
                                   ! rungen werden unabhaengig vom
                                   ! Ausfuehrungsdatum durch PCL1016-
                                   ! Lauf geloescht
                                   !
              NODEL                ! es werden keine Anforderungen
                                   ! geloescht. (nur PCL1016)
                                   !
              IGNORE_ANF           ! Das PC-Format wird standardmaessig
                                   ! ueber die optionale PC-Anweisung
                                   ! der Anforderung und falls diese
                                   ! nicht existiert ueber die
                                   ! Bibliothek G, H, I oder J
                                   ! bestimmt. Mittels IGNORE_ANF wird
                                   ! die optionale PC-Anweisung
                                   ! ignoriert. (nur PCL1016)
                                   !
              NO_ASSDS             ! Beim Erzeugen von PC-Dateien wird
                                   ! grundsaetzlich keine Beschrei-
                                   ! bungsdatei ASSDS erzeugt.
                                   ! (nur PCL1016)
                                   !
              EHB                  ! Erzeugen Ladeformat fuer PCL1095
                                   ! (Berichtsdatenbank) fuer die
                                   ! Anzeige von Berichten unter ASS-
                                   ! Excel und ASS-Internet.
                                   ! (nur PCL1016)

              Inhalt               ! Bedeutung
              ----------------------------------------------
              EMAIL                ! Ausgabe in sequentielle Datei fuer
                                   ! Folgeverarbeitung fuer die Versen-
                                   ! dung via E-Mail. Es werden nur
                                   ! Anforderungen ausgefuehrt, die
                                   ! einen entsprechenden Verteiler
                                   ! haben. Es kann zusaetzlich maximal
                                   ! eins der Ausgabeformate HTML,
                                   ! PDF_HOCH oder PDF_QUER angegeben
                                   ! werden. Voreingestellt ist das
                                   ! normale Listenformat.
                                   ! (nur PCL1016)
                                   !
              EMAIL_PLUS           ! Anforderungen mit Verteiler
                                   ! werden wie bei EMAIL behandelt.
                                   ! Anforderungen ohne Verteiler
                                   ! werden wie bei einem "normalen"
                                   ! Lauf von PCL1016 ausgefuehrt.
                                   ! (nur PCL1016)
                                   !
              HTML                 ! Ausgabe des Anforderungsergebnis
                                   ! im HTML-Format, nur in Kombination
                                   ! mit Option EMAIL zulaessig.
                                   ! (nur PCL1016)
                                   !
              PDF_HOCH             ! Ausgabe des Anforderungsergebnis
                                   ! im PDF-Format, nur in Kombination
                                   ! mit Option EMAIL zulaessig.
                                   ! Hierbei werden die einzelnen
                                   ! Seiten fuer das Drucken im
                                   ! Hochformat vorbereitet.
                                   ! (nur PCL1016)
                                   !
              PDF_QUER             ! analog zu PDF_HOCH, allerdings
                                   ! werden hier die einzelnen
                                   ! Seiten fuer das Drucken im
                                   ! Querformat vorbereitet.
                                   ! (nur PCL1016)
                                   !
              DATEIERZEUGUNG       ! nur PCL1016
                                   !
              AREA_TEXTDB=1016nn   ! nur PCL1016

              Beispiel:
              MINUTEN=10000,ZUGRIFFE=500000,ZEILEN=20000,ENDE=0315

              Beschreibung der einzelnen Optionen:
              -----------------------------------

              MINUTEN:
              -------

              Existiert in der 1. Vorlaufkarte die Angabe
              MINUTEN=nnn, so bewirkt dies eine Einschraenkung der
              Programmlaufzeit. Nach der Pruefung der Anforderung
              wird ermittelt, wieviel Zeit die Abarbeitung der
              Anforderung voraussichtlich braucht. Zum anderen wird
              errechnet, wieviel Zeit noch zur Verfuegung steht
              (Restlaufzeit = vorgegebene Zeit - verbrauchte Zeit).
              Reicht die Restlaufzeit aus, so wird die Anforderung
              ausgefuehrt. Andernfalls wird mit der naechsten
              Anforderung weitergemacht. Wichtig: die Laufzeit
              wird je Anforderung neu berechnet.

              ZEILEN:
              ------

              Durch diesen Parameter kann der Druckoutput, der pro
              Anforderung entstehen kann, begrenzt werden. Jede
              Anforderung hat eine theoretische Hoechstzeilenzahl.
              Diese Zeilenzahl errechnet sich aus dem Produkt
              der Anzahl Auspraegungen ueber alle Kopf- und
              Zeilenschluessel.

              Beispiel:

              Folgende Anforderung sei gegeben:

              KS:  ZEITRAUM=(0187,0287,0387); /*  3 Auspraegungen  */
              ZS:  GESCHLECHT=(M,W),          /*  2 Auspraegungen  */
                   TARIF;      /* der TARIF habe 100 Auspraegungen */
              Dies ergibt 3 * 2 * 100 = 600 Zeilen.

              Gegen die so errechnete Zeilenzahl wird geprueft.
              Uebersteigt diese Zeilenzahl das vorgegebene Limit,
              so wird die aktuelle Anforderung nicht ausgefuehrt.
              Es wird mit der naechsten Anforderung weitergemacht.

              DRLIM:
              -----

              Durch diesen Parameter kann der Druckoutput, der pro
              Anforderung entstehen kann, begrenzt werden. Waehrend
              bei ZEILEN eine Schaetzung durchgefuehrt wird und die
              Anforderung ev. ueberhaupt nicht ausgefuehrt wird, wird
              bei DRLIM gezaehlt, wie viele Druckzeilen pro Anforderung
              tatsaechlich geschrieben werden. Wird der Grenzwert,
              der bei DRLIM angegeben ist, ueberschritten, dann wird
              in der betreffenden Liste am Ende ein entsprechender
              Hinweis geschrieben und kein weiterer Druckoutput
              fuer diese Anforderung erzeugt. Die betreffende Anfor-
              derung gilt als korrekt ausgefuehrt.

              ZUGRIFFE:
              --------

              Durch diese Angabe kann die Anzahl der Zugriffe zu
              Summendatenbanken limitiert werden, die fuer die
              Abarbeitung einer Anforderung maximal zulaessig ist.
              Uebersteigt die Anzahl das vorgegebene Limit, so wird
              die aktuelle Anforderung nicht ausgefuehrt. Es wird mit
              der naechsten Anforderung weitergemacht.

              ANFORDERUNDEN:
              -------------

              Durch diese Angabe kann man die Anzahl der Anforderungen,
              die in einem Lauf ausgefuehrt werden, begrenzen.
              Gezaehlt werden nur die erfolgreich ausgefuehrten
              Anforderungen.

              NUPDAT:
              ------

              Normalerweise werden die Anforderungen, die von PCL1016
              erfolgreich ausgefuehrt wurden, in der Anforderungs-
              datenbank als ausgefuehrt markiert. Dies hat zur Folge,
              dass PCL1016 nicht mehr ein rein lesendes Programm ist.
              Laeuft PCL1016 beispielsweise nachts im operatorlosen
              Betrieb, und man moechte, dass PCL1016 nur liest, so
              kann das durch die Angabe NUPDAT erreicht werden. Die
              erforderlichen Aenderungen werden dann in die Datei
              ASSALI geschrieben. Diese Aenderungsanweisungen koennen
              dann zeitversetzt mit PCL1012 nachgetragen werden.

              NUPDATPR:
              --------

              Die Option entspricht im wesentlichen der Option NUPDAT.
              Alle Saetze der Datei ASSALIA werden nach ASSALI kopiert.
              Bevor eine Anforderung ausgefuehrt wird, wird geprueft,
              ob sie in der Datei ASSALIA enthalten ist.

              Hierdurch kann erreicht werden, dass das Programm PCL1016
              mehrfach hintereinander ohne UPDATE ausgefuehrt werden
              kann, ohne dass eine Anforderung mehrfach ausgefuehrt
              wird. Z.B. im 1. Lauf entsteht eine Datei ASSALI, die im
              2. Lauf als ASSALIA benutzt wird. ASSALI des 2. Laufs
              wird als ASSALIA des 3. Laufs benutzt usw.

              Da durch diese Methode ASSALI immer groesser wird,
              sollte einmal taeglich ASSALI mit PCL1012 in die
              Anforderungs-DB eingearbeitet werden. Hierbei wird
              ASSALI geleert.

              Elegant laesst sich die obige Situation mit GDG-Dateien
              loesen. Eine allerste Datei ASSALI erhaelt man, wenn
              man PCL1016 mit der Option NUPDAT ausfuehrt.

              NPRT:
              -----

              Die Option bewirkt, dass die erste und letzte Seite des
              Protokolls unterdrueckt wird. Wurden in einem Programm-
              lauf keine Anforderungen bearbeitet, so entsteht somit
              kein Output mehr.

              ANALYSE:
              --------

              Die Option bewirkt, dass die Anforderungen nicht voll-
              staendig ausgefuehrt werden. Die Anforderungen werden
              auf Syntax und Semantik ueberprueft und ausserdem das
              Zugriffsverhalten auf die Summendatenbank und die Be-
              arbeitungszeit ermittelt. Es wird auch das entsprechende
              Protokoll erstellt. Nicht ausgefuehrt werden die Zu-
              griffe auf die Summendatenbank und es unterbleibt eine
              Aufbereitung der Liste.
              Mehrfachanforderungen, Join-Anforderungen und verkettete
              Anforderungen werden nicht analysiert.

              FEHLER_ANALYSE:
              ---------------

              Wie die Option ANALYSE, es werden jedoch nur die
              Anforderungen protokolliert, bei denen ein Fehler
              entdeckt wurde.

              ENDE:
              ----

              Existiert in der Vorlaufkarte die Eingabe der Form
              ENDE=hhmm, so bewirkt dies eine Einschraenkung der
              Programmlaufzeit. (hh = Stunden, mm = Minuten )
              Mit der Option ENDE kann ein Zeitpunkt angegeben werden,
              ueber den das Programm nicht mehr mit der Abarbeitung
              von Anforderungen fortfahren soll.
              Der Endezeitpunkt errechnet sich aus dem aktuellen
              Tagesdatum und der ueber die mit der Vorlaufkarte
              angegebenen Zeit wie folgt:
              - Liegt die Startzeit des Programms nach der Endezeit
                der Vorlaufkarte, bezieht sich die Endezeit auf den
                nachfolgenden Tag.
              - Ansonsten wird das Endedatum gleich dem Tagesdatum
                gesetzt.

              Den Vorteil dieser Regelung erlaeutert folgendes
              Beispiel:
                 Das Programm PCL1003 soll ueber Nacht laufen und
                 wird am 30.06.88 um 22.00 Uhr mit der Vorlaufkarte
                 ANFORDERUNGEN=100,ENDE=0230 gestartet.
                 Das Programm darf also maximal bis zum 01.07.88
                 um 02.30 Uhr laufen. Waere das Endedatum nicht
                 vom 30. Juni auf den 01. Juli einen Tag weiter
                 geschaltet worden, haette das Programm ueberhaupt
                 keine Anforderungen verarbeitet.

              Es bestehen folgende Unterschiede zur Option MINUTEN:
              - Das Kriterium, wann keine Anforderungen mehr
                ausgefuehrt werden, ist unabhaengig von der
                Laufzeit der jeweiligen Anforderung.
              - Ist das Endekriterium erfuellt, wird nicht
                mit der naechsten Anforderung fortgefahren,
                sondern das gesamte Programm mit entsprechender
                Fehlermeldung abgebrochen.
              Die Abbruchgenauigkeit liegt bei etwa 5 Minuten.

              Standardeinstellungen:
              ---------------------

              MINUTEN=10000  fuer PCL1003
              MINUTEN=300    fuer PCL1016
              Keine Begrenzung bei ZEILEN
              Keine Begrenzung bei ZUGRIFFE
              Keine Begrenzung bei ENDE
              ANFORDERUNGEN=100
              Nicht NUPDAT
              Nicht ANALYSE

              BIB=E / BIB=P / BIB=G / BIB=H / BIB=I / BIB=J / BIB=B:
              ------------------------------------------------------

              Anforderungen, die ausgefuehrt werden sollen, koennen
              nach dem Bibliothekstyp selektiert werden.
              BIB=E bedeutet, dass einmalig auszufuehrende An-
              forderungen ausgefuehrt werden.
              BIB=P bedeutet, dass periodisch auszufuehrende
              Anforderungen ausgefuehrt werden.
              Diese Option ist wahlfrei.
              Wird diese Option nicht angegeben, werden einmalige
              und periodische Anforderungen ausgefuehrt.

              BIB=G, ... , BIB=J sprechen installationsabhaengige
              Listanforderungsbibliotheken an. Diese Angaben sind
              nur sinnvoll, wenn die entsprechenen Bibliotheken
              eingerichtet sind. Siehe auch Handbuch Installation.

              BIB=B bedeutet, dass Anforderungen, die nur sicherge-
              stellt wurden, bearbeitet wurden. Hier ist zu beachten,
              dass diese nicht fehlerfrei sein muessen. Ausserdem
              werden keine Updates auf die Anforderungsdatenbank
              durchgefuehrt. Diese Angabe sollte nur zu Testzwecken
              verwendet werden.

              NULLEN:
              -------

              Bei Erstellung von PC-Dateien aus dem PCL1016 heraus,
              wird bei nicht berechenbaren Formeln 0 (anstatt Blank)
              in die Datei geschrieben.

              KARTE:
              ------

              Bei Angabe dieser Option fuer das Programm PCL1016
              werden die auszufuehrenden Listanforderungen anstatt
              von der Anforderungsdatenbank von der sequentiellen
              Datei KARTEI gelesen. Analog zum PCL1003 besteht die
              Einschraenkung, dass keine verketteten Anforderungen
              verarbeitet werden koennen.

              LOESCHEN:
              ---------

              Diese Option kann beim Programm PCL1016 angegeben
              werden. Sie bewirkt, dass bereits ausgefuehrte,
              einmalig auszufuehrende Anforderungen im angegebenen
              Namensintervall unabhaengig vom Ausfuehrungsdatum von
              der Anforderungsdatenbank geloescht werden.

              NODEL:
              ------

              Diese Option bewirkt, dass bereits ausgefuehrte,
              einmalig auszufuehrende Anforderungen nicht von der
              Anforderungsdatenbank geloescht werden, auch wenn dass
              das Ausfuehrungsdatum lange zurueckliegt.

              EHB:
              ----

              Diese Option kann beim Programm PCL1016 angegeben werden.
              Sie bewirkt, dass Anforderungsergebnisse und -protokolle
              auf eine Ladedatei fuer PCL1095 ausgegeben werden.
              Damit stehen die Anforderungsergebnisse unter ASS-EXCEL
              und ASS-Internet in einer Anforderungsbibliothek 'Z'
              zur Verfuegung.
              Bemerkung: gleiches geschieht, wenn bei der Anforderung
              die Option LISTDB auf 'B' gesetzt wird.

              EMAIL:
              ------

              Diese Option kann beim Programm PCL1016 angegeben
              werden. Sie bewirkt, dass nur Anforderungen ausgefuehrt
              werden, denen ein (E-Mail-)Verteiler zugeordnet wurde.
              Das Anforderungsergebnis wird auf eine sequentielle
              Datei geschrieben, die auf einem PC (eventuell nach
              Filetransfer) via PCL1125 weiterverarbeitet werden kann.
              PCL1125 versendet die Anforderungsergebnisse an die
              bei der Anforderung unter dem Verteiler zusammengefassten
              Empfaenger (vergleiche HAUSWERT und HST09).
              Das Anforderungsergebnis kann folgende Formate haben
               - Liste:       es wird nur die Liste versendet, keine
                              Protokolle
               - PC-DATEI:    gilt fuer Anforderungen auf einer der
                              Sonderbibliotheken G, H, I, J oder
                              fuer Anforderungen, bei denen die Option
                              Datei angegeben ist. Im letzteren Fall
                              muss vorab noch das Programm PCL1038
                              mit der Option EMAIL gestartet werden.
               - HTML-Format: Erzeugen des List-Outputs im HTML-Format

              DATEIERZEUGUNG:
              ---------------

              Wird diese Option angegeben, so wird zu jeder
              Anforderung, die ausgefuehrt werden soll und bei der
              bei korrekter Ausfuehrung das Anforderungsergebnis
              in die Datei LDAT geschrieben wird, ein "fehlerhaftes"
              Ausfuehrungsergebnis in die Datei LDAT geschrieben.
              Dieses "fehlerhafte" Ausfuehrungsergebnis wird, falls
              aus der Datei LDAT eine PC-Datei erzeugt wird,
              in die entsprechene PC-Datei weitergereicht und
              dort entsprechend gekennzeichnet.
              Einzelheiten hierzu siehe Handbuch HBETRIE2, 3.4 PCL1038.

              AREA_TEXTDB:
              ------------
              Die Area-Einstellungen fuer PCL1016 werden standard-
              maessig aus Satznummer 42 der Text-DB gelesen.
              Fuer Sonderlaeufe ist u.U. eine andere Einstellung
              guenstiger. Diese koennen unter der bei AREA_TEXTDB
              angegebenen Satznummer angegeben werden.
              Siehe hierzu auch Handbuch HINSTALL.
              Beispiel: AREA_TEXTDB = 101601
              Die Angaben bei AREA_TEXTDB ueberschreiben die
              Angaben der Satznummer 42, fehlende Angaben werden aus
              Satznummer 42 uebernommen.

              Vorlaufkarten 2 bis N (N maximal 50):
              ------------------------------------

              Diese Vorlaufkarten koennen Selektionskriterien fuer
              Anforderungsnamen enthalten:

              Inhalt:

              Ab Spalte 1 Name einer Listanforderung oder Intervall
              von Namen von Listanforderungen, durch Bindestrich
              getrennt.

              Beispiel:    1. HUGO
                           2. A - D

              Im 1. Beispiel werden alle Anforderungen, deren Name mit
              HUGO beginnt, ausgefuehrt.
              Im 2. Beispiel werden alle Anforderungen, deren Name im
              Intervall von A bis D liegt, ausgefuehrt.

              Existieren mehr als zwei Vorlaufkarten, so werden zuerst
              die Anforderungen aus der 2. Vorlaufkarte, dann die
              Anforderungen aus der 3. Vorlaufkarte usw. ausgefuehrt.
              Existiert nur die erste Vorlaufkarte, so werden alle
              Anforderungen, deren Ausfuehrdatum erreicht ist,
              ausgefuehrt.

              ACHTUNG:

              Die angeforderten Namensmengen der Vorlaufkarten 2 bis N
              duerfen sich nicht ueberlappen, da es dann zu einer
              mehrfachen Ausfuehrung einer Anforderung kommen koennte.
              Existieren Ueberlappungen, bricht das Programm PCL1016
              mit einer entsprechenden Fehlermeldung ab.

              Hinter der Angabe eines Anforderungsintervalls kann
              ein Verteiler angegeben werden.
              Diese Angabe wird nur bei Verwendung der Option EMAIL
              verwendet. Hierdurch werden Verteiler-Angaben, die
              bei den (Einzel-)Anforderungen u.U. existieren, ueber-
              steuert.

              Syntax/Beispiel:  A - D, VERTEILER: HUGO

              Die Verteiler-Angabe wird durch ',' vom Anforderungs-
              intervall abgetrennt und durch das Schluesselwort
              VERTEILER: (oder VT:) eingeleitet.



     Satzaufbau von LDAT (OPT=DATEI):
     -------------------------------

      DCL  LDAT_KARTE          CHAR(80);

      DCL 01 LDAT_KOPF1        BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 01          */
           05 LFDNR            PIC'99',  /* STETS 01          */
           05 EDATUM           CHAR(6),  /* ERSTELLUNGSDATUM  */
           05 UE               CHAR(70); /* UEBERSCHRIFT      */

      DCL 01 LDAT_KOPF2        BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 01          */
           05 LFDNR            PIC'99',  /* STETS 02          */
           05 ANZ_AG           PIC'99',
           05 CARNR(5)         PIC'999', /* ANGEFORDERTE AG'S */
           05 BIART            CHAR(1),  /* ANGEFORDERTE BIBLIOTHEK */
           05 BINAME           CHAR(8),  /* ANGEFORDERTEs ELEMENT   */
           05 KZ_KEBEZI        PIC'(5)9';

      DCL 01 LDAT_PARAM        BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 20          */
           05 LFDNR            PIC'99',  /* n AUS &&LDAT_SPn  */
           05 PARINHALT        CHAR(60); /* AKTUELLER PARINHALT */

      DCL 01 LDAT_KOPF3        BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 01          */
           05 LFDNR            PIC'99',  /* 03, 04, ...       */
           05 ANZ_WENR         PIC'99',  /* ANZAHL WERTENUMMERN    */
                                         /* IM AKTUELLEN SATZ      */
           05 WERT_EL (2),
            10 WENR            PIC'(5)9',/* WERTENUMMER       */
            10 WEEXL           PIC'99'  ,/* WERTELAENGE       */
            10 WEKST           PIC'9'   ,/* KOMMASTELLEN      */
            10 WEBEZ           CHAR(20) ;/* BEZEICHNUNG       */

      DCL 01 LDAT_KOPF4        BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 03          */
           05 LFDNR            PIC'99',  /* 01, 02, ...       */
           05 ANZ_KSZS         PIC'99',/*ANZAHL KOPF/ZEILENSCHLUESSEL*/
                                       /*IM AKTUELLEN SATZ        */
           05 KSZS_EL (2),
            10 LTH             PIC'99'  ,/* FELDLAENGE        */
            10 BEZ             CHAR(20) ,/* BEZEICHNUNG       */
           05 KSZS_LTH_L (2),
            10 LTH_L           PIC'999' ;/* BEI LTH = 0: LANGE FELD- */
                                         /* LAENGE (AUS MCL0097)     */

      DCL 01 LDAT_KOPF5        BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* 3 + X  <--> X. SS        */
           05 LFDNR            PIC'99',  /* 01, 02, ...              */
           05 ANZ_SS           PIC'99',  /* ANZAHL SCHLUESSEL        */
                                         /* IM AKTUELLEN SATZ        */
           05 SS      (1),
            10 ART             PIC'9'   ,/* 1 SCHL, 2 WERT, 3 ZEIT   */
            10 NR              PIC'(5)9',/* KENR / WENR              */
            10 LTH             PIC'99'  ,/* FELDLAENGE               */
            10 KST             PIC'9'   ,/* KOMMASTELLEN             */
            10 BEZ             CHAR(60) ;/* BEZEICHNUNG              */

      DCL 01 LDAT_SUSATZ1      BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 02          */
           05 LFDNR            PIC'99',  /* 01, 02, ...       */
           05 ANZ_KS           PIC'99',  /* ANZAHL KOPFSCHLUESSEL  */
                                         /* IM AKTUELLEN SATZ      */
           05 ANZ_ZS           PIC'99',  /* ANZAHL ZEILENSCHLUESSEL*/
                                         /* IM AKTUELLEN SATZ      */
           05 KSZS    (2),
            10 ART             PIC'9',     /* 1: SCHLUESSEL        */
                                           /* 2: WERT              */
                                           /* 3: ZEITRAUM          */
            10 NR              PIC'99999', /* SCHLUESSELNUMMER ODER*/
                                           /* WERTENUMMER          */
            10 INHALT          CHAR(20);   /* KEINH ODER FOBEZ ODER*/
                                           /* ZEITRAUM ODER WEBEZ  */

      DCL 01 LDAT_SUSATZ1_50 BASED(ADDR(LDAT_KARTE)),
            05  SA            PIC'99',  /* STETS 02, 30, 31  */
            05  LFDNR         PIC'99',  /* 01, 02, ...       */
            05  ANZ_KS        PIC'99',  /* ANZAHL KOPFSCHLUESSEL    */
                                        /* IM AKTUELLEN SATZ        */
            05  ANZ_ZS        PIC'99',  /* ANZAHL ZEILENSCHLUESSEL  */
                                        /* IM AKTUELLEN SATZ        */
            05  ART           PIC'9',
            05  NR            PIC'99999', /* SCHLUESSELNUMMER ODER  */
                                          /* WERTENUMMER            */
            05  INHALT        CHAR(50),   /* KEINH ODER FOBEZ ODER  */
                                          /* ZEITRAUM ODER WEBEZ    */
            05  LTH_AKT       PIC'99';    /* NUR BEI SA 30, 31      */
      /* Werden vom USER-EXIT MCL0097 lange Inhalte zurueckgegeben, */
      /* so wird der betreffende Inhalt auf mehrere Karten verteilt.*/
      /* Die erste Karte enthaelt dann die SA = 30, die Folgekarten */
      /* die SA = 31. LTH_AKT drueckt aus, wie lang der Inhalt      */
      /* in der aktuellen Karte gefuellt ist (LTH_AKT <= 50).       */

      DCL 01 LDAT_SUSATZ2      BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 10          */
           05 LFDNR            PIC'99',  /* 01, 02, ...       */
           05 ANZ_SS           PIC'99',  /* ANZAHL SPALTEN         */
                                         /* IM AKTUELLEN SATZ      */
           05 SSTAB   (4),
            10 INHALT          PIC'S(15)9';

      DCL 01 LDAT_SUSATZ3      BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* STETS 11          */
           05 LFDNR            PIC'99',  /* 01, 02, ...       */
           05 ANZ_SS           PIC'99',  /* ANZAHL SPALTEN           */
                                         /* IM AKTUELLEN SATZ        */
           05 SSTAB   (4),
            10 KST             PIC'9',   /* KOMMASTELLEN      */
            10 INHALT          PIC'S(15)9';

      DCL 01 LDAT_ENDESATZ     BASED(ADDR(LDAT_KARTE)),
           05 SA               PIC'99',  /* 98 bzw. 99        */
           05 LFDNR            PIC'99';  /* STETS 01          */

    Erklaerungen zu LDAT
    --------------------

    Jede Datei beginnt mit zwei bis n Kopfsaetzen und endet mit einem
    Endesatz. Im Endesatz wird gekennzeichnet, ob die betreffende
    Anforderung korrekt ausgefuehrt wurde:
       SA im Endesatz = 99 -> Anforderung korrekt ausgefuehrt
       SA im Endesatz = 98 -> Anforderung fehlerhaft ausgefuehrt,
                              d.h. die Summen-Daten in der Datei LDAT
                              zu der betreffenden Anforderung fehlen
                              oder sind unvollstaendig.
    Gibt es in der aktuellen Anforderung Parameter mit Namen
    &&LDAT_SPn = ... , so werden die Parameterinhalte zu diesen
    Parametern in Saetzen mit SA = 20 und LFDNR = n ausgegeben.

    Jede "echte" Listenzeile wird mit Saetzen LDAT_SUSATZ1,
    LDAT_SUSATZ1_50, LDAT_SUSATZ2 oder LDAT_SUSATZ3 beschrieben.

    Saetze vom Typus LDAT_KOPF3 (altes Format, LDAT_ERWEITERT_V640
    auf '0'b) und LDAT_KOPF5 beschreiben die Spaltenschluessel. Hierbei
    werden die Aufbereitungsangaben aus der betreffenden Anforderung
    uebernommen. Bei Nachkommastellenangaben A, B, C, ... wird als
    Kommastelle Null ausgegeben.

    Werden Werte errechnet und konnte ein bestimmter Wert nicht
    korrekt ermittelt werden (z.B. Division durch Null), so enthaelt
    der entsprechende Eintrag in SSTAB Blanks.
    Saetze vom Typus LDAT_KOPF4 dienen dazu, Formatbeschreibungen
    erstellen zu koennen. Sie werden in LDAT aufgenommen, wenn im
    Include SST1253 der Schalter LDAT_ERWEITERT auf '1'B gesetzt
    wurde. Sie werden zwischen die Saetze vom Typ LDAT_KOPF2
    und vom Typ LDAT_KOPF3 bzw. LDAT_KOPF5 eingefuegt.

    Das Karten-Format der Datei LDAT hat zur Konsequenz, dass
    diese Datei sehr gross werden kann. Via Text-Datenbank
    kann ein verdichtetes Lesen/Schreiben dieser Datei eingerichtet
    werden (siehe Hinstall). Um die Daten einzelner Anforderungen
    trennen zu koennen, wird am Ende der Daten einer Anforderung
    ein zusaetzlicher Satz  '<<<<< ENDE DER ANFORDERUNG >>>>>'
    eingefuegt.

    Die Option SPTEXTPC
    -------------------
    Wird die Option SPTEXTPC gesetzt, so orientieren sich die
    Ausgaben auf die Datei LDAT staerker am Listbild. Es soll
    hierdurch i. w. erreicht werden, dass die aus der Datei LDAT
    erzeugten PC-Schnittstellen an das Listbild angepasst werden.
    Dies bedeutet im einzelnen:
    - Es werden die Kopf-, Zeilenueberschriften aus dem Listbild
      uebernommen.
    - Bei Spaltenueberschriften werden die spaltenorientierten
      Spaltenueberschriften uebernommen. Gibt es keine, so wird eine
      Spaltenueberschrift generiert.
    - Mit &&KSin unterdrueckte Kopfschluessel werden nicht
      ausgegeben.
    - Existieren Spaltensequenzen, so werden nur die Spalten der
      ersten Sequenz in der entsprechenden Reihenfolge ausgegeben.

    Die Option NOSUMPC
    ------------------
    Wird die Option NOSUMPC gesetzt, so werden keine Sternzeilen
    (Summenzeilen) ausgegeben. Bei Join-Anforderungen ist folgende
    Besonderheit zu beachten: Wird bei einer Einzelanforderung
    die Ausgabe von Summenzeilen angefordert (durch eine entsprechende
    Option), so gelten diese Zeilen in der Praesentation nicht
    als Sternzeilen und werden daher immer ausgegeben.



     Satzaufbau von LISTDB (OPT=LISTDB):
     -------------------------------

      DCL  LISTDB_SATZ         CHAR(5002);

      DCL 01 LISTDB_KOPF       BASED(ADDR(LISTDB_SATZ)),
           05 SL               BIN FIXED(15), /* SATZLAENGE */
           05 KOPF_KZ          CHAR(1),       /* KOPFKENNZEICHEN    */
                                              /* 'K' FUER KOPFSATZ  */
                                              /* ASCI-ZEICHEN SONST */
           05 BIBANFNAME       CHAR(8),       /* ANFORDERUNGSNAME   */
           05 BIBNR            BIN FIXED(15)  /* STETS '00'         */
                               UNALIGNED,
           05 BIBART           CHAR(1),       /* BIBLOTHEKSART      */
                                              /* 'A':ANFORD.-PROT.  */
                                              /* 'L':LISTE          */
           05 KENR             BIN FIXED(15)  /* SCHLUESSELNUMMER   */
                               UNALIGNED,
           05 KEINH            CHAR(26),      /* SCHLUESSELINHALT   */
           05 BIBLFDNR         BIN FIXED(31)  /* STETS '00'         */
           05 EDATUM           PIC'(6)9',     /* ERSTELLDAT. JJMMTT */
           05 EZEIT            PIC'(6)9',     /* ERST.-ZEIT  HHMMSS */
           05 LDATUM           PIC'(6)9',     /* STETS '000000'     */
           05 VDATUM           PIC'(6)9',     /* STETS '000000'     */
           05 VZEIT            PIC'(6)9',     /* STETS '000000'     */
           05 PRKLASSE         BIN FIXED(15)  /* PROTOKOLLKLASSE    */
                               UNALIGNED,     /* AUS ANFORDERUNG    */
           05 LIKLASSE         BIN FIXED(15)  /* LISTKLASSE         */
                               UNALIGNED,     /* AUS ANFORDERUNG    */
           05 VERARBKZ1        CHAR(1),       /* VERARBEITUNGSKENN- */
                                              /* ZEICHEN STETS ' '  */
           05 KOPIEN           BIN FIXED(15)  /* ANZAHL KOPIEN      */
                               UNALIGNED,     /* STETS '00'         */
           05 VERARBKZ2        CHAR(1),       /* VERARBEITUNGSKENN- */
                                              /* ZEICHEN STETS ' '  */
           05 VERARBKZ3        CHAR(1),       /* VERARBEITUNGSKENN- */
                                              /* ZEICHEN STETS ' '  */
           05 VERARBKZ4        CHAR(1),       /* VERARBEITUNGSKENN- */
                                              /* ZEICHEN STETS ' '  */
           05 VERARBKZ5        CHAR(1),       /* VERARBEITUNGSKENN- */
                                              /* ZEICHEN STETS ' '  */
           05 RESERVE          CHAR(20);      /* RESERVE STETS ' '  */

      DCL 01 LISTDB_DATENSATZ  BASED(ADDR(LISTDB_SATZ)),
           05 SL               BIN FIXED(15), /* SATZLAENGE         */
           05 CTLASA           CHAR(1),       /* DRUCKSTEUERZEICHEN */
           05 DATEN            CHAR(5001);    /* DATENTEIL          */

    Erklaerungen zu LISTDB
    ----------------------

    Jede Datei ist folgendermassen organisiert:
    Zunaechst kommt der Kopfsatz fuer die Anforderung. Die weiteren
    Saetze sind das Protokoll der Anforderung.
    Danach kommen die einzelnen Berichte zu der Anforderung, wobei
    vor jedem Bericht wieder ein Kopfsatz steht.

    Erklaerungen zu ASSFTG
    ----------------------

    Diese Datei ist relevant fuer periodische Anforderungen mit den
    Arbeitstag-gesteuerten Turni AW, AM, AQ, AH, AJ.
    Fuer diese Anforderungen muss diese Datei alle nicht-Arbeitstage
    des Ausfuehrungsjahres enthalten, also auch die Samstage und Sonn-
    tage.
    Jeder Satz der Datei entspricht einem Datum in der Form JJMMTT.


4 Einsatz der Berichtsdatenbank

pInhaltsverzeichnis
nStichwortverzeichnis

              ASS bietet die Moeglichkeit, eine sogenannte Berichts-
              datenbank einzurichten. Sie dient dazu, im Batch er-
              erstellte Berichte (PCL1016) im Online zu verwalten und
              auch anzuzeigen.
              Dabei werden die Verwaltungsangaben in der Transaktion
              ST31 gesetzt (s. Handbuch AUSWERTUNG, Kap. 3.4) und mit
              dem Dienstprogramm PCL1094 im Batch abgearbeitet. Zum
              Laden der Berichte dient das Programm PCL1095. Dazu muss
              bei der Anforderung die Option LISTDB angegeben werden,
              damit die Berichte auf eine ladefaehige sequentielle
              Datei ausgegeben werden (vgl. Kap. 3).
              In der Berichtsdatenbank vorhandene Berichte koennen im
              Online angezeigt werden. Damit koennen auch umfang-
              reichere Anforderungen, die Online nicht auswertbar
              sind, im Dialog angeschaut werden.
              Die Berichtsdatenbank wird auch benoetigt, wenn mittels
              Empfaengern/Empfaengerlisten Listpakete erstellt werden
              sollen (s. Handbuch PAKETIERTE LISTAUSGABE).
              Zum DV-technischen Einrichten der Berichtsdatenbank
              siehe Handbuch INSTALLATION, Kap. 1.

4.1 Verwaltung der Berichtsdatenbank PCL1094

pInhaltsverzeichnis
nStichwortverzeichnis

              Das Dienstprogramm PCL1094 dient dazu, die in der
              Transaktion ST31 gesetzten Verarbeitungskennzeichen
              abzuarbeiten. Dabei koennen Berichte gedruckt, auf eine
              sequentielle Datei abgezogen und/oder geloescht werden.
              Beim Drucken eines Berichts wird die entsprechende List-
              (bzw. Protokoll-)klasse beruecksichtigt. Ausserdem
              koennen mehrere Kopien gedruckt werden.
              Die sequentielle Datei, auf die die Berichte abgezogen
              werden, hat ladefaehiges Format, d.h. sie kann spaeter
              wieder als Eingabedatei fuer PCL1095 verwendet
              werden. In diesem Zusammenhang ist zu beachten, dass
              alle Berichte, die in einem Lauf von PCL1094 von der
              Berichtsdatenbank abgezogen werden, auf dieselbe sequ.
              Datei geschrieben werden.
              In einem Lauf von PCL1094 werden alle Berichte von der
              Berichtsdatenbank geloescht, bei denen das Loeschkenn-
              zeichen gesetzt wurde oder bei denen das Loeschdatum
              abgelaufen ist.
              Sind bei einem Bericht mehrere Verarbeitungskennzeichen
              gesetzt worden, so arbeitet das Programm PCL1094 sie
              in der Reihenfolge Drucken, Auslagern, Loeschen ab.

              Es besteht ausserdem noch die Moeglichkeit, den Lauf
              von PCL1094 auf Teile der Berichtsdatenbank einzu-
              schraenken, indem man in Vorlaufkarten bis zu 10
              Namensintervalle angibt. Waehrend des Programmlaufs
              werden dann nur die Berichte bearbeitet, deren Name in
              den vorgebenen Intervallen liegt.

              Es besteht weiterhin die Moeglichkeit, nach Abarbeitung
              des Verarbeitungskennzeichens aus der ST31, alle Berichte
              eines angegebenen Namensintervalls aus der Berichts-
              datenbank zu loeschen. Hierzu ergaenzt man bei der
              betreffenden Intervallangabe in der Vorlaufkarte
              ,LOESCHEN. Ueberlappen sich Intervallangaben aus
              Vorlaufkartenangaben, so erfolgt eine Loeschung nur,
              wenn bei allen diesen Intervallen ,LOESCHEN angegeben
              wird.

                                                             PCL1094
              Beispiele:
               SU - VR
               - AK            Vom Anfang bis zu AK......
               ER              Alle Berichte, deren Name mit ER beginnt
               VO - ,LOESCHEN  Von VO...... bis Ende bearbeiten
                               und loeschen

               ABLAUF:
               ------
                    .---.
                  ,'     ',
                  !'.___.'!
                  !       !         _________
                  !   1   !        /        !
                  !       !       !    2    !
                   '.___.'        +---------+
                      !                !
                      +----+       +---+
                           !       !
                           V       V
                        ***************
                        !             !
                        !   PCL1094   !
                        !             !
                        ***************
                           ! !   ! !
                   +-------+ +-+ ! +----------------------+
                   !           ! +---------+              !
                   V           V           V              V
                 .---.       .---.    ***********    ***********
               ,'     ',   ,'     ',  !         !    !         !
               !'.___.'!   !'.___.'!  !    4    !    !    5    !
               !       !   !       !  !         !    !         !
               !   1   !   !   3   !  !     /****    !     /****
               !       !   !       !  *****/         *****/
                '.___.'     '.___.'

                Nr. ! DD-Name ! Beschreibung
               ------------------------------------
                 1  ! DSTnnn  ! Berichtsdatenbank
                 2  ! ASSCO   ! Vorlaufkarte
                 3  ! LISTDB  ! sequentielle Datei fuer ausgelagerte
                    !         ! Berichte
                 4  ! LISTE   ! Listklassen
                    ! LISTE01 !
                    !  ...    !
                    ! LISTE10 !
                 5  ! ASSLIST ! Protokoll


                                                             PCL1094

              Die Option PAKET_LOESCHEN:

              Auf die Berichtsdatenbank werden auch Anforderungen und
              Listen gestellt, die fuer die paketierte Listausgabe
              benoetigt werden. Durch die Option PAKET_LOESCHEN werden
              alle diese Listen und Anforderungen geloescht, wenn sie
              bereits zu den Listpaketen verarbeitet wurden. Eine
              Einschraenkung auf Namensintervalle ist nicht moeglich.
              Die Option PAKET_LOESCHEN kann nicht zusammen mit anderen
              Vorlaufkarten verwendet werden. Auch verarbeitet das
              Programm PCL1094 bei dieser Option nicht die 'normalen'
              Berichte der Berichtsdatenbank.
              Es muessen alle Dateizuweisungen wie oben beschrieben
              in der Jobcontrol erfolgen.

4.2 Laden von Berichten auf die Berichtsdatenbank PCL1095

pInhaltsverzeichnis
nStichwortverzeichnis

              Mit dem Dienstprogramm PCL1095 koennen Berichte von
              einer sequentiellen Datei in die Berichtsdatenbank
              geladen werden. Diese sequentielle Datei wird vom
              Auswertungsprogramm PCL1016 (PCL1003) erzeugt, falls
              in der Anforderung die Option LISTDB angegeben wurde.
              Auch sequentielle Dateien, die mit PCL1094 ausgelagerte
              Berichte enthalten, koennen wieder zurueckgeladen werden.

              Da unter demselben Namen mehrere Berichte vorhanden
              sein koennen, erhalten diese intern verschiedene
              Bibliotheksnummern. Beim Laden wird die niedrigste
              Nummer unter dem betreffenden Namen ermittelt und der
              zusaetzliche Bericht mit der um 1 reduzierten Nummer in
              die Berichtsdatenbank geladen. Falls nicht mehr genug
              Platz auf der Berichtsdatenbank ist (Nummer nahe 0), so
              erscheint im Ablaufprotokoll ein Hinweis, der eine
              Reorganisation der Berichtsdatenbank fuer Berichte des
              entsprechenden Namens anraet (s. 4.3).

              Optional kann eine Vorlaufkarte angegeben werden mit
              dem Inhalt ERSETZEN. Existiert in diesem Fall bereits
              mindestens ein Bericht unter dem Namen, den auch der
              zu ladende Bericht hat, so wird vor dem Laden des
              neuen Berichtes zunaechst ein alter geloescht.
              Gibt es mehrere alte Berichte unter demselben Namen,
              so wird der mit der kleinsten Nummer (d.h. der juengste
              alte) geloescht.

              ABLAUF:
              ------

              .---.          .---.
            ,'     ',      ,'     ',
            !'.___.'!      !'.___.'!        _________
            !       !      !       !       /        !
            !   1   !      !   2   !      !    4    !
            !       !      !       !      +---------+
             '.___.'        '.___.'            !
                !              !               !
                +--------+     !     +---------+
                         !     !     !
                         V     V     V
                        ***************
                        !             !
                        !   PCL1095   !
                        !             !
                        ***************
                            !     !
                       +----+     +----+
                       !               !
                       V               V
                     .---.        ***********
                   ,'     ',      !         !
                   !'.___.'!      !    3    !
                   !       !      !         !
                   !   1   !      !     /****
                   !       !      *****/
                    '.___.'

                Nr. ! DD-Name ! Beschreibung
               ------------------------------------
                 1  ! DSTnnn  ! Berichtsdatenbank
                    !         !
                 2  ! LISTDB  ! sequentielle Datei mit Ladebestand
                    !         !
                 3  ! ASSLIST ! Protokoll
                    !         !
                 4  ! ASSCO   ! Vorlaufkarte

4.3 Reorganisation der Berichtsdatenbank

pInhaltsverzeichnis
nStichwortverzeichnis

              Von dem Dienstprogramm PCL1095 kann in dem Ablaufproto-
              koll fuer Berichte mit einem bestimmten Namen eine
              Reorganisation angeraten werden. Diese Situation tritt
              dann auf, wenn fuer diese Berichte nicht mehr genuegend
              freie (interne) Bibliotheksnummern zur Verfuegung
              stehen. Da diese Nummern beim Laden fortlaufend vergeben
              werden und aeltere Berichte wieder geloescht werden,
              gibt es freie Bibliotheksnummern, die jedoch nicht von
              PCL1095 erkannt werden koennen.

              Durch die angeratene Reorganisation werden diese Luecken
              wieder geschlossen. Um dies zu erreichen, sind folgende
              zwei Schritte durchzufuehren:

              1. Schritt: Die betroffenen Berichte muessen alle von
              der Berichts-DB abgezogen und dort geloescht werden.
              (In der Transaktion ST31 die entsprechenden Verarbei-
              tungskennzeichen setzen und anschliessend PCL1094 laufen
              lassen oder direkt mit PCL1094 und der Vorlaufkarten-
              angabe LOESCHEN, s.o.).

              2. Schritt: Der im ersten Schritt erstellte Abzug mit
              den Berichten mit dem Programm PCL1095 wieder in die
              Berichtsdatenbank laden.


5 Dienstprogramme

pInhaltsverzeichnis
nStichwortverzeichnis

               Die Dienstprogramme erfuellen ein grosses Spektrum
               von Aufgaben.

               Ihre Behandlung wuerde den Rahmen dieser Dokumentation
               sprengen.

               Das Betreiben der Dienstprogramme wird daher in einem
               eigenen Handbuch BETRIEB II - Erweiterte Funktionen
               beschrieben.


6 Listanforderung im DIALOG

pInhaltsverzeichnis
nStichwortverzeichnis

               Listanforderungen, die ausgefuehrt werden sollen,
               werden in der Datenbank DST004 gespeichert.
               Es gibt nun zwei Moeglichkeiten, diese in DST004
               festgehaltene Anforderung auszufuehren.
               Der einfachste Weg ist die Ausfuehrung ueber das
               Programm PCL1016, das unmittelbar auf DST004
               zugreift.
               Daneben besteht die Moeglichkeit, die Anforderung
               ueber das Programm PCL1012 auf eine sequentielle
               Datei abzuziehen, um sie dann ueber das Programm
               PCL1003 auszufuehren.
               Dieses Verfahren ist jedoch nicht empfehlenswert,
               da PCL1003 nur "einfache" Anforderungen ausfuehren
               kann (keine verketteten Anforderungen, keine Join-
               Anforderungen, keine Mehrfach-Anforderungen).

6.1 DLI

pInhaltsverzeichnis
nStichwortverzeichnis

               Alle erforderlichen Datenbanken (siehe unten) muessen
               ONLINE zugreifbar sein und die Transaktion ST31 muss
               gestartet sein.

                DST001
                 DST011
                 DST012
                 DST013
                DST002
                 DST021
                 DST022
                 DST023
                DST003
                 DST031
                 DST032
                 DST033
                DST004
                 DST041
                DST005     nicht in CICS-Umgebung
                DST007
                 DST071
               DST009
                DST091 ,nur falls ASS-Online-Security installiert
                        worden ist, siehe Handbuch 'Installation',
                        Kapitel 1.1 und 5.7
                DST100     >
                 DST101     !
                DST110      !
                 DST111     !
                   .        !> siehe PSB PCL0031 und Handbuch
                   .        !  'Installation', Kap. 3.7
                   .        !
                DST600      !
                 DST601     !
                usw.       >

6.2 ADABAS

pInhaltsverzeichnis
nStichwortverzeichnis

               ADABAS muss aktiv sein und die erforderlichen
               ADABAS-Files muessen im JOB, in dem die Transaktion
               ST31 ablaeuft, zugeordnet sein, ST31 muss gestartet
               sein.

6.3 BS2000-ISAM

pInhaltsverzeichnis
nStichwortverzeichnis

               Die Isam-Dateien fuer die Datenbanken

                 DST001
                 DST002
                 DST003
                 DST004
                 DST005
                 DST006
                 DST007
                 DST110   >
                   .       !
                   .       !> Summendatenbanken
                   .       !
                 DST600    !
                 usw.     >

               Achtung: DST600 kann auch als Security-Datenbank
                        installiert worden sein und wird dann
                        benoetigt, siehe Handbuch 'Installation',
                        Kapitel 1.1 und 5.7

               Von den Summendatenbanken muessen nur die tatsaechlich
               benoetigten dem entsprechenden UTM-Prozess per
               FILE-Kommando zugeordnet werden. An dieser Stelle ist
               achtzugeben, mit wie vielen Prozessen die
               UTM-Anwendung betrieben wird. Ist die Anzahl der
               Prozesse groesser als 1, so muss mit ISAM SHARUPD=YES
               gearbeitet werden. Da i.a. jedoch nur wenig Benutzer
               mit der ST31 arbeiten, sollte ueberlegt werden,
               ob nicht ein Prozess ausreicht und auf SHARUPD=YES
               verzichtet werden kann, da ja SHARUPD=YES auch
               zusaetzliche Betriebsmittel beansprucht.


7 Einrichten ARBEITSGEBIET

pInhaltsverzeichnis
nStichwortverzeichnis

               Beim Einrichten eines neuen Arbeitsgebietes sind
               folgende Massnahmen durchzufuehren:

               - Schluessellaenge der Summendatenbank des neuen
                 Arbeitsgebietes ermitteln (Summe der internen Laengen
                 aller verwendeten Schluessel plus 2, oder
                 Arbeitsgebiet mit PCL1006 dokumentieren lassen.
                 Schluessellaenge wird dort ermittelt und im Protokoll
                 ausgedruckt).

               - Summendatenbank in der erforderlichen Groesse
                 mit der oben ermittelten Schluessellaenge
                 bereitstellen.
                 Diese Aktivitaet richtet sich nach dem
                 eingesetzen DB-System:

                 Die ST31 (i.a. PCL0031) und folgende Batch-Programme
                 greifen auf Summen-Datenbanken zu:

                 - PCL1002
                 - PCL1003
                 - PCL1007
                 - PCL1013
                 - PCL1016
                 - PCL1019
                 - PCL1024
                 - PCL1051
                 - PCL1055
                 - PCL1058
                 - PCL1097
                 - PCL1124
                 - PCL1224
                 - PCL1304
                 - PCL1333 (ASS-Server, falls installiert)

                 Je nach DB-Umgebung sind verschiedene Massnahmen
                 erforderlich (natuerlich nur fuer die Programme,
                 die im Einsatz sind):

                 DLI :  DELETE/DEFINE CLUSTER
                        und DBD's generieren.

                        PSB's anpassen.

                 ISAM-BS2000 : Entsprechendes File-Kommando

               - JOB-CONTROL aktualisieren

7.1 Verteilte Summendatenbanken

pInhaltsverzeichnis
nStichwortverzeichnis

         ASS bietet die Moeglichkeit die Verdichtungsstufen eines
        Arbeitsgebiets nicht nur auf verschiedene sequentielle Dateien
        abzuspeichern, sondern zusaetzlich auch auf mehrere
        Summendatenbanken aufzuteilen. Dabei wird zwischen der
        primaeren und den sekundaeren Summendatenbanken unterschieden.
        Die primaere Summendatenbank entspricht der optionalen
        bisherigen Summendatenbank.
         Verteilte Summendatenbanken bieten sich also bei sehr grossen
        Datenbestaenden an (Limitierung der physischen Groesse einer
        Datenbank) und fuer stillgelegte Verdichtungsstufen die fuer
        Auswertungen im Dialog gebraucht werden.

         Die verteilten Summendatenbanken sind wie folgt in ASS
        realisiert worden. Bei den Summendatenbanken kann entsprechend
        den sequentiellen Verdichtungsstufen ein Verdichtungsstufenort
        angegeben werden (siehe ST06). Dieser Verdichtungsstufenort
        bezeichnet ein Dummy-Arbeitsgebiet, welches dann fuer ASS
        nicht mehr zur Verfuegung steht, da dessen Summendatenbank als
        sekundaere Summendatenbank genutzt wird. Ist bei einer
        direkten Verdichtungsstufe kein gueltiger Ort angegeben worden,
        so wird standardmaessig die primaere Summendatenbank
        angenommen.
        Schluesselrelationen werden auf der primaeren Summendaten-
        bank abgespeichert.
        In Verbindung mit sequentiellen Verdichtungsstufen gibt es
        bezueglich verteilter Summendatenbanken keine Restriktionen.

         Bei der Auswertung (ST31 und PCL1016) gibt es fuer den
        Endbenutzer keine Besonderheiten, ausser das die sekundaeren
        Summendatenbanken den Anwendungen bekannt gemacht werden
        muessen. Bei der Einspeicherung und diversen Dienstprogrammen,
        die einen Summendatenbankabzug benoetigen, ist zu beachten,
        dass dieser Abzug saemtliche Summendatenbanken des
        betreffenden Arbeitsgebietes enthaelt. Folglich muss bei
        verteilten Summendatenbanken statt des Dienstprogrammes PCL1024
        das Dienstprogramm PCL1124 benutzt werden. Der Einfachheit
        halber kann aber das Dienstprogramm PCL1024 stets durch
        PCL1124 ersetzt werden. Bei dem Dienstprogramm PCL1124 ist es
        moeglich, nur die Summendatenbanken abzuziehen, die mindestens
        eine aktive Verdichtungstufe enthalten. Da das Dienstprogramm
        PCL1124 wie PCL1024 nur eine sequentielle Abzugsdatei erzeugt,
        koennen verschiedene ASS-fremde Utilities wie zum Beispiel
        DFSURGU0 nicht mehr benutzt werden, falls die Abzugsdatei
        mehrere Summendatenbanken enthalten sollte. Dagegen werden die
        Summendatenbanken aber durch die Dienstprogramme PCL1002 und
        PCL1013 einzeln geladen. Somit kann statt des Dienstprogrammes
        PCL1013 auch wie gewohnt ein ASS-fremdes Utility wie zum
        Beispiel DFSURGL0 oder ADACMP/ADALOD eingesetzt werden.

        ADABAS:

         Bei dem Datenbanksystem ADABAS ist zu beachten, dass nicht
        mehrere Summendatenbanken auf einem ADABAS-File abgespeichert
        werden koennen. Werden in einem Lauf von PCL1002 mehrere
        Summendatenbanken veraendert, so sollte nicht mit DIREKTSP
        gearbeitet werden. Wird auf eine zweite Summendatenbank
        zugegriffen, so wird vorher die erste geschloessen. Bricht
        danach das Programm PCL1002 ab, so koennen die Aenderungen
        der ersten Summendatenbank nicht mehr zurueckgesetzt werden.
        Im genannten Fall muss also auf eine vorher durchgefuehrte
        Sicherung zurueckgegriffen werden, bevor das Programm
        PCL1002 wiederanlaufen kann.

         Existieren in einem Arbeitsgebiet stillgelegte Verdichtungs-
        stufen (siehe Verdichtungsstufenmengen), so besteht u.U.
        der Wunsch, diese Verdichtungsstufen in sekundaeren
        Summendatenbanken zu speichern, um insbesondere die
        Folgeeinspeicheurng zu entlasten. Siehe hierzu
        2.4 Abziehen von Summendatenbanken.


8 Statistik ueber Statistiken PCL1054

pInhaltsverzeichnis
nStichwortverzeichnis

        Mit Hilfe von Statistik ueber Statistik soll es ermoeglicht
        werden festzustellen, wer wann welche Elemente von ASS
        (Arbeitsgebiete, Schluessel, Werte, Verdichtungsstufen ...)
        benutzt hat und wie stark die Nutzung der betreffenden
        Elemente ueberhaupt ist. Diese Nutzungsdaten werden in
        einem speziellen ASS-Arbeitsgebiet verwaltet und stehen
        somit der ASS-Auswertung zur Verfuegung.
        ASS-Arbeitsgebiete werden ueber externe Schnittstellen
        gepflegt. Die Aufgabe von PCL1054 ist es, externe Schnitt-
        stellen fuer das Arbeitsgebiet fuer Statistik ueber
        Statistik zu erzeugen.

        Um auch feststellen zu koennen, welche Elemente von ASS
        wenig oder gar nicht benutzt werden, kann in das
        betreffende Arbeitsgebiet auch gespeichert werden, welche
        Elemente ueberhaupt zur Verfuegung stehen.

        PCL1054 kennt daher zwei grundsaetzlich verschiedene
        Arbeitsweisen:

         - Erzeugung von externen Schnittstellen, die die zur
           Verfuegung stehenden Elemente von ASS enthaelt
           (UMGEBUNG=DST003 bzw. UMGEBUNG=DST004, s.u.).

         - Erzeugung von externen Schnittstellen, die die
           Information enthalten, wer wann welche Anforderungen
           ausgefuehrt hat und wie oft
           (UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE, s.u.).

        Sollen Statistiken ueber Statistiken erzeugt werden, so
        muessen in bestimmten Zeitabstaenden mit Hilfe von
        PCL1054 die erforderlichen externen Schnittstellen erstellt
        und eingespeichert werden, um anschliessend die
        gewuenschten Auswertungen durchfuehren zu koennen.

        FUNKTIONSBESCHREIBUNG:
        ---------------------

        UMGEBUNG=DST003 bzw. UMGEBUNG=DST004

        Diese Optionen koennen jederzeit eingesetzt werden.
        Es wird eine externe Schnittstelle erzeugt, die die
        zur Verfuegung stehenden Arbeitsgebiete, Schluessel,
        Werte und Verdichtungsstufen (UMGEBUNG=DST003)
        bzw. die zur Verfuegung stehenden Anforderungen, Anwendungen
        Schluessel-Gruppierungen, Werte-Gruppierungen und
        Formeln enthaelt (UMGEBUNG=DST004).
        Die ASS-Zeit wird durch die Option MONAT= ... (s.u.)
        festgelegt.
        Es wird der aktuelle Zustand der DST003 bzw. DST004
        abgebildet. Laeufe von PCL1054 zu unterschiedlichen
        Zeitpunkten mit gleicher MONATsoption haben daher i.a.
        unterschiedliche externe Schnittstellen zur Folge.
        In der zugehoerigen Summen-Datenbank werden die
        ermittelten Informationen aufkumuliert. Es ist also
        moeglich zu erkennen, welche Elemente von PCL1054
        bei irgendeinem Lauf von PCL1054 gefunden wurden.
        Es werden nur Arbeitsgebiete betrachtet, die eingespeichert
        sind und deren Pruefkennzeichgen nicht auf NEIN steht.

        UMGEBUNG=ONLINE bzw. UMGEBUNG=BATCH

        Die Auswertung protokolliert, wer wann welche Anforderung
        ausgefuehrt hat (wenn diese Funktion aktiviert ist).
        Online ausgefuehrte Anforderungen werden in der DST004,
        im Batch ausgefuehrte Anforderungen werden in der Datei
        PWORK protokolliert. Diese Protokolle werden von PCL1054
        gelesen und in externe Schnittstellen umgeformt.

        Ablauf:
        ------

     +-------------------+  +-----------------+
     I  Auswertung von   I  I Auswertung von  I
     I  Anforderungen,   I  I Anforderungen,  I
     I  die Online aus-  I  I die im Batch    I
     I  gefuehrt wurden  I  I ausgefuehrt     I
     I                   I  I wurden          I
     +-------------------+  +-----------------+
             I                      I
             V                      V
     +-------------------+  +-----------------+  +--------+  +--------+
     I interne Protokoll-I  I interne Proto-  I  I        I  I        I
     I saetze auf der    I  I kollsaetze auf  I  I DST003 I  I DST004 I
     I Anforderungs-DB   I  I seq. Datei      I  I        I  I        I
     +-------------------+  +-----------------+  +--------+  +--------+
             I                      I                I            I
             +------------+    +----+ +--------------+            I
                          I    I      I  +------------------------+
                          V    V      V  V
                      +-------------------+
                      I Programm PCL1054  I
                      +-------------------+
                               I
                               V
             +--------------------------------------+
             I Externe Schnittstelle (langes Format)I
             +--------------------------------------+
                               I
                               V
                      +-------------------+
                      I Programm PCL1001  I
                      +-------------------+
                               I
                               V
                   +---------------------------+
                   I Interne Schnittstelle     I
                   +---------------------------+
                               I
                               V
                   +----------------------------+
                   I Erst-/Folgeeinspeicherung  I
                   +----------------------------+
                               I
                               V
                   +--------------------------+
                   I Verdichtungsstufe(n) des I
                   I Statistik-Arbeitsgebiets I
                   +--------------------------+

                .---.      .---.      .---.
              ,'     ',  ,'     ',  ,'     ',
              !'.___.'!  !'.___.'!  !'.___.'!
              !       !  !       !  !       !
              !  130  !  !  140  !  !  520  !
              !       !  !       !  !       !
               '.___.'    '.___.'    '.___.'
         _______  !          !          !
        /       ! +---+      !      +---+
        ! 150   !     !      !      !
        +-------+     V      V      V
           !          ***************
           +--------->!             !
                      !   PCL1054   !
                      !             !---------+
                      ***************         !
                       !           !          !
                       V           V          V
                     .---.       .---.     *************
                   ,'     ',   ,'     ',   !           !
                   !'.___.'!   !'.___.'!   !  180      !
                   !       !   !       !   !       *****
                   !  500  !   !  530  !   !     /
                   !       !   !       !   *****
                    '.___.'     '.___.'

        LFD.-NR. ! DD-NAME/PGM ! BESCHREIBUNG
        ---------!-------------!--------------------------------------
          130    ! //DST003    ! Steuerungsdatenbank
                 ! //DST031    ! (nur DLI)
                 ! //DST032    ! (nur DLI)
                 ! //DST033    ! (nur DLI)
                 !             ! (nur Option 'DST003')
                 !             !
          140    ! //DST004    ! Anforderungsdatenbank
                 ! //DST041    ! (nur DLI)
                 !             ! (nur Optionen 'ONLINE' oder 'DST004')
                 !             !
          150    ! //ASSCO     ! Vorlaufkarten
                 !             !
          180    ! //LISTE     ! Protokoll und Fehlermeldungen
                 !             !
          500    ! //ASSIN01   ! Externe Schnittstellensaetze
                 !             !
          520    ! //PWORK     ! Eingabe der im Batch geschriebenen
                 !             ! Statistiksaetze (nur Option 'BATCH')
                 !             !
          530    ! //ASSFEHL   ! Fehlerhafte Protokollsaetze
                 !             !

        Die Datei PWORK:
        ---------------

        Die Behandlung der Datei PWORK ist im Handbuch
        'INSTALLATION' beschrieben.

        Besonderheiten bei UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE:
        -------------------------------------------------------

        Werden Schnittstellensaetze aus der Anforderungs-Daten-
        bank erzeugt, so werden die verarbeiteten Saetze aus der
        Anforderungs-Datenbank geloescht.

        Laeuft die Batch-Auswertung (PCL1003/PCL1016) ueber
        Mitternacht bei Monatswechsel (z.B. in der Nacht vom
        31.8. zum 1.9.), so enthaelt eine Datei PWORK Protokoll-
        angaben zu unterschiedlichen Monaten. Werden mehrere
        Dateien PWORK zu einer Datei zusammengefasst, so kann
        diese zusammenfassende Datei ebenfalls Protokollangaben
        zu unterschiedlichen Monaten enthalten.
        In beiden Faellen muss die betreffende Datei mehrfach von
        PCL1054 mit unterschiedlichen MONATsangaben in der
        Vorlaufkarte verarbeitet werden.

        Mengengeruest bei UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE:
        ------------------------------------------------------

        Die Protokollsaetze enthalten in kompakter Form, wer was
        wann angefordert hat.
        Da aus Anforderungen verschiedene Statistiken ueber Statistiken
        versorgt werden koennen, kann die Anzahl der erzeugten
        Schnittstellensaetze auch ziemlich gross werden.
        Diese Anzahl haengt von der Groesse und Komplexitaet
        der Anforderung ab. Ein Verhaeltnis von 1:20 bis
        1:50 duerfte am haeufigsten vorkommen.



        Vorlaufkarte:
        ------------

        PARAMETER          ! BEDEUTUNG / AUSWIRKUNG
        -------------------!------------------------------------------
                           !
        PROGRAMM=PCL1054   ! Zur Kontrolle wird geprueft,
                           ! ob die Vorlaufkarten-Datei
                           ! zum Programm PCL1054 gehoert.
                           ! Diese Option muss angegeben werden.
        -------------------!------------------------------------------
        UMGEBUNG=ONLINE    ! Es werden die Protokollsaetze von den
                           ! Anforderungen, die in der Anforderungs-
                           ! Datenbank stehen, verarbeitet
        -------------------!------------------------------------------
        UMGEBUNG=BATCH     ! Es werden die Protokollsaetze von den
                           ! Anforderungen, die in der Datei PWORK
                           ! stehen, verarbeitet
        -------------------!------------------------------------------
        UMGEBUNG=DST003    ! Die Steuerungs-Datenbank wird auf
                           ! die externe Schnittstelle abgebildet
        -------------------!------------------------------------------
        UMGEBUNG=DST004    ! Die Anforderungs-Datenbank wird auf
                           ! die externe Schnittstelle abgebildet
        -------------------!------------------------------------------
        MONAT=JJMM         ! Die Angabe des Monats in der Form
        MONAT=AKT          ! JJMM gibt an, welche Protokoll-
                           ! saetze verarbeitet werden sollen.
                           ! Protokollsaetze anderer Monate werden
                           ! ueberlesen. Diese Angabe ist optional.
                           ! Falls die Angabe des Monats nicht
                           ! erfolgt, wird der Monat vor dem
                           ! aktuellen Kalendermonat gesetzt.
                           ! Die Angabe AKT bewirkt, dass nicht der
                           ! Vormonat, sondern der aktuelle Monat
                           ! behandelt wird.
                           ! Bei Umgebung = DST003 oder ... = DST004
                           ! wird mit Monat = die ASS-Zeit der
                           ! externen Schnittstelle festgelegt
        -------------------!------------------------------------------
        LOESCHEN           ! Zusaetzlich zu der normalen Verarbeitung
                           ! werden alle Protokollsaetze auf der
                           ! Anforderungsdatenbank, die vor dem
                           ! zu verarbeitenden Monat liegen, bei
                           ! Verarbeitung der Umgebung ONLINE
                           ! geloescht.
        -------------------!------------------------------------------
        USERID=SUBSTR      ! Die UserID wird ab der Position "von" in
        (USERID,von,laenge)! der Laenge "laenge" auf die externe
                           ! Schnittstelle ausgegeben. Falls dabei
                           ! nur Blanks uebrigbleiben wird
                           ! stattdessen wie auch sonst die
                           ! Dummy-Auspraegung 000000000000
                           ! ausgegeben.
                           ! Bspl.: SUBSTR(USERID,1,3) gibt nur die
                           ! ersten drei Zeichen aus.

        Vorlaufkartenbeispiele
        ----------------------

        Erzeugung der externen Schnittstellensaetze fuer die
        Eintraege des Monats September 1988 auf der
        Anforderungsdatenbank:

        PROGRAMM=PCL1054,UMGEBUNG=ONLINE,MONAT=8809

        Erzeugung der externen Schnittstellensaetze fuer die
        Eintraege der Batch-Programmlaeufe des Monats Juli 1988:

        PROGRAMM=PCL1054,UMGEBUNG=BATCH,MONAT=8807

        Erzeugung der externen Schnittstellensaetze im Monat September
        1988 fuer die Eintraege der Online-Programmlaeufe des
        Vormonats August 1988:

        PROGRAMM=PCL1054,UMGEBUNG=ONLINE

        Erzeugung der externen Schnittstellensaetze im Monat September
        1988 fuer die Eintraege der Online-Programmlaeufe fuer den
        Monat September 1988:

        PROGRAMM=PCL1054,UMGEBUNG=ONLINE,MONAT=AKT

        Erzeugung der externen Schnittstellensaetze fuer die
        zur Verfuegung stehenden Arbeitsgebiete, Schluessel, Werte
        und Verdichtungsstufen
        und fuer die zur Verfuegung stehenden Anforderungen,
        Anwendungen, Schluesselgruppierungen, Wertegruppierungen
        und Formeln:

        PROGRAMM=PCL1054
        UMGEBUNG=DST003
        UMGEBUNG=DST004
        MONAT=AKT


9 Betrieb der ASS-Online-Security

pInhaltsverzeichnis
nStichwortverzeichnis

               Falls eine Security-Loesung mittels der Online-
               Transaktion ST09 angestrebt wird, muessen die genannten
               Datenbanken fuer Online-Verarbeitung zugreifbar sein
               und die Transaktion ST09 gestartet sein (siehe
               Kap. 9.1 ff).

9.1 DLI

pInhaltsverzeichnis
nStichwortverzeichnis

               Die ASS-Security-Datenbanken muessen ONLINE
               zugreifbar sein, die Transaktion ST09 gestartet sein.

               DST007
                DST071

               DST009
                DST091

9.2 ADABAS

pInhaltsverzeichnis
nStichwortverzeichnis

               ADABAS muss aktiv sein und die erforderlichen
               ADABAS-Files muessen im JOB, in dem die Transaktion
               ST09 ablaeuft, zugeordnet sein, ST09 muss gestartet
               sein.

9.3 BS2000-ISAM

pInhaltsverzeichnis
nStichwortverzeichnis

               Die Transaktionen ST06, ST31 und ST09 sind in einer
               UTM-Anwendung zusammengefasst, siehe daher 6.3.


10 Tuning

pInhaltsverzeichnis
nStichwortverzeichnis

10.1 Interner Ablauf einer Auswertung

pInhaltsverzeichnis
nStichwortverzeichnis

              Wird eine Anforderung bearbeitet, so werden die
              folgenden Schritte durchlaufen:

              - Pruefen auf formale Richtigkeit
                Als erstes wird die Anforderung daraufhin ueberprueft,
                ob sie formal richtig ist (z.B. sind Werte angefordert,
                sind die Zeiten richtig angefordert etc.). Diese
                Syntaxpruefung erfolgt im Programm MCL0016.

              - Pruefen auf logische Richtigkeit
                Im zweiten Schritt wird geprueft, ob die Anforderung
                logische Fehler enthaelt (Semantikpruefung). Gleich-
                zeitig werden interne Tabellen aufgebaut, in denen
                die benoetigten Informationen ueber Schluessel, Aus-
                praegungen, Werte, Zeiten etc. abgelegt werden. Diese
                Informationen muessen aus den Parameterdatenbanken
                gelesen werden. Dies kann bei groesseren Arbeitsge-
                bieten und bei Massenschluesseln zu einer grossen An-
                zahl von Datenbank-Zugriffen fuehren und dadurch die
                Performance gerade bei Online-Auswertungen stark
                beeintraechtigen. Deswegen besteht die Moeglichkeit,
                Arbeitsgebiets- und Schluesselcaches einzurichten, die
                die Datenbankzugriffe reduzieren (siehe Kap. 10.3).
                Dafuer ist das MCL0017 mit Unterprogrammen zustaendig.

              - Verarbeitung der Summensaetze festlegen
                Als naechstes wird die Verarbeitung der Summensaetze
                festgelegt. Es wird bestimmt, welche Verdichtungs-
                stufen mit welcher Lesestrategie zu verarbeiten sind
                (siehe Kap. 10.3). Dies geschieht im MCL0008.

              - Lesen der Summensaetze
                Weiter werden dann im MCL0009 die Summensaetze gelesen
                und in eine interne Tabelle verteilt. Dabei werden nur
                die 'echten' Werteeintraege beruecksichtigt.

              - Berechnungen durchfuehren
                Formeln, Sternsummen, Funktionen etc. werden danach
                im MCL0010 (und Unterprogrammen) berechnet. Dabei
                wird die interne Tabelle (aus MCL0009) strikt von
                oben nach unten abgearbeitet.

              - Statistik aufbereiten
                Zuletzt wird die berechnete Statistik aufbereitet
                (Anzeige von Bezeichnung, Abkuerzung, Spaltenbreiten
                festlegen etc.) und ausgegeben (MCL0006).

10.2 Auspraegungsergaenzung bei Online-Auswertungen

pInhaltsverzeichnis
nStichwortverzeichnis

              Steht nicht mehr zur Verfuegung.

10.3 Die Schluessel- und Arbeitsgebietscaches

pInhaltsverzeichnis
nStichwortverzeichnis

10.3.1 Aufbau und Aufgabe der Schluesselcaches

pInhaltsverzeichnis
nStichwortverzeichnis

            ASS bietet dem Benutzer die Moeglichkeit, sogenannte
            Schluessel- oder Auspraegungscaches anzulegen. Diese
            Caches sind Massen- bzw. Sammelspeicher fuer die Aus-
            praegungen eines Schluessels. Dementsprechend werden
            sie in der Schluesseldatenbank (in den Segmenten
            SST015CK und SST016CL) abgelegt, und zwar sind sie
            dem Schluessel logisch untergeordnet. Die Caches werden
            je nach der Informationsmenge, die sie enthalten, als
            kurzer und langer Cache bezeichnet.

            Schluesselcaches sind bei Schluesseln mit interner
            Laenge 3 oder 4 nicht moeglich. Das unten beschriebene
            Zugriffsverhalten auf Schluesselauspraegungen gilt
            nur fuer Schluessel der internen Laenge 1 oder 2.
            Bei Schluesseln der internen Laenge 3 oder 4 wird ganz
            anders zugegriffen.

            Der prinzipielle Aufbau der Caches sei nun am kurzen
            Cache beschrieben: In ihm wird nur der verdichtete Schlues-
            selinhalt und der Schluesselinhalt in variabler Laenge
            zusammen mit einem Laengenfeld abgespeichert. Im An-
            schluss folgen die entsprechenden Informationen der
            naechsten Auspraegung. Dies geschieht solange, bis die
            maximale Satzlaenge des Segments erreicht wird. Die
            folgenden Auspraegungen werden dann im naechsten Segment
            abgelegt.
            Der lange Cache enthaelt darueber hinaus noch Informa-
            tionen ueber Inhaltsbezeichnung, Inhaltskurzbezeichnung,
            Gueltigkeitsdaten und bei hierarchischen Schluesseln die
            uebergeordnete Auspraegung, teilweise auch wieder in
            verkuerzter Form. Der prinzipielle Aufbau ist derselbe
            wie beim kurzen Cache.

            Die Caches dienen dazu, waehrend einer Auswertung die
            Performance zu verbessern. Dies sei am besten an einem
            Beispiel erlaeutert: In manchen Situationen, wie z.B.
            bei der Behandlung von Auspraegungsmengen oder dem Auf-
            sammeln von Auspraegungen, muessen ohne den Cache saemt-
            liche Auspraegungen zu einem Schluessel gelesen werden.
            Bei einem Schluessel mit 20000 Auspraegungen (z.B.
            Kundennr.) sind also 20000 Lesezugriffe auf die Schlues-
            seldatenbank noetig. Diesselbe Information kann aber
            unter Verwendung des (z.B.) kurzen Caches bereits in
            einigen hundert Saetzen der Schluesseldatenbank abgelegt
            werden. Die Anzahl der Lesezugriffe zur Schluessel-
            datenbank kann damit deutlich reduziert werden.

            Da bekanntlich Zugriffe auf eine Datenbank relativ viel
            Zeit brauchen, kann dadurch in kuerzerer Zeit eine
            Auswertung ausgefuehrt werden. Dies macht sich insbe-
            besondere im Online-Betrieb positiv bemerkbar.

            Die Schluesselcaches werden von ASS nicht automatisch
            gepflegt, d.h. der Benutzer muss selbst entscheiden, ob
            zu einem Schluessel die Caches angelegt werden sollen.
            Bei Aenderungen bei den Auspraegungen wird der zuge-
            hoerige Cache ungueltig.

            Ob Caches angelegt oder geloescht werden sollen, wird ASS
            in der Transaktion ST06 mitgeteilt. (s. entsprechendes
            Handbuch). Diese Information wird in der Schluessel-
            datenbank abgelegt. Die Caches muessen mit dem Programm
            PCL1089 angelegt bzw. geloescht werden (s.u.). Das
            Einrichten eines Caches fuer einen Schluessel lohnt sich
            praktisch nur, um Online-Auswertungen zu beschleunigen.

            Der Cache beschleunigt folgende Auswertungstypen:

                  - es werden alle Auspraegungen angefordert.
                  - es wird mit Auspraegungmengen oder mit
                    ?-Maskierung gearbeitet.

            Gibt es Aenderungen bei den Auspraegungen, wird von ASS
            eine Kennzeichnung in der Schluesseldatenbank mitge-
            pflegt, aus der ersichtlich ist, ob die Caches noch dem
            aktuellen Stand der Auspraegungen entsprechen. Diese
            Kennzeichnung kann ebenfalls ueber die Transaktion ST06
            abgerufen werden. Sind die Caches nicht auf dem aktuellen
            Stand, so koennen sie wieder mit dem Programm PCL1089
            aktualisiert werden.
            Wird also z.B. bei einem Schluessel mit automatischer
            Auspraegungsergaenzung gearbeitet, so empfiehlt es sich,
            nach jeder Folgeeinspeicherung PCL1089 laufen zu lassen.

10.3.2 Erzeugen und Loeschen der Schluesselcaches PCL1089

pInhaltsverzeichnis
nStichwortverzeichnis

               FUNKTIONSBESCHREIBUNG:
               ---------------------

               Mit dem Programm PCL1089 koennen Schuesselcaches erzeugt
               oder geloescht werden.

               Die Information, ob zu einem Schluessel Caches erzeugt
               bzw. geloescht werden sollen, entnimmt das Programm der
               Schluesseldatenbank (Segment SST011KY) (siehe auch
               Handbuch ST06).

               Ist das Kennzeichen auf 'T' oder 'A' gesetzt, so werden
               zu dem betreffenden Schluessel der lange und der kurze
               Cache erzeugt.
               Beim Kennzeichen 'D' werden die Caches geloescht.
               Ausserdem wird die Kennzeichnung dem neuen Zustand der
               Caches angepasst.

               Es empfiehlt sich, PCL1089 immer dann laufen zu lassen,
               wenn sich in der Schluesseldatenbank bei den Schlues-
               selauspraegungen etwas geaendert hat.

               Dies ist in folgenden Faellen moeglich:

               -  bei Aenderungen im Dialog mit Transaktion ST06
               -  bei Folgeeinspeicherungen
               -  beim Zurueckladen eines Arbeitsgebiets mit PCL1005
               -  beim Erfassen von Auspraegungen mit PCL1036
               -  beim Loeschen von Auspraegungen mit PCL1055
               -  bei der Reorganisation der internen Schluessel-
                  inhaltsnummern mit PCL1058

               ABLAUF:
               ------

                    .---.
                  ,'     ',         Nr. ! DD-Name ! Beschreibung
                  !'.___.'!        ----------------------------------
                  !       !          1  ! DST002  ! Schluessel-DB
                  !   1   !             ! DST021  ! Primaerindex
                  !       !             ! DST022  ! 1. Sekundaer-
                   '.___.'              ! DST023  ! 2. index (nur DLI)
                      !                 !         !
                      !              2  ! DST002  ! Schluessel-DB
                      V                 ! DST021  ! Primaerindex-
               ***************          ! DST022  ! 1. Sekundaer-
               !             !          ! DST023  ! 2. index (nur DLI)
               !   PCL1089   !          !         !
               !             !       3  ! PROTO   ! Protokoll
               ***************
                   !     !
                   !     +-------+
                   !             !
                   V             V
                 .---.     *************
               ,'     ',   !           !
               !'.___.'!   !     3     !
               !       !   !           !
               !   2   !   !      /*****
               !       !   ******/
                '.___.'


10.3.3 Cache fuer Arbeitsgebiete PCL1046

pInhaltsverzeichnis
nStichwortverzeichnis

                Der Cache fuer Arbeitsgebiete dient zur Verbesserung
               der Performance beim lesenden Zugriff auf die
               Steuerungsdatenbank im Rahmen der Auswertung.
               Die Optimierung wird dadurch erreicht, dass mehrere
               Saetze der Steuerungsdatenbank zu einem neuen Satz
               zusammengefasst werden. Dies wird durch das
               Dienstprogramm PCL1046 erledigt. Jede Aenderung eines
               Arbeitsgebiets (z.B. durch ST06, Plandaten/Vorgabewerte
               in der ST31 und Batchprogramme) wird also erst
               nach einem erneuten Lauf von PCL1046 wirksam.
               Soll der Cache benutzt werden, so sollte er
               taeglich kurz vor Beginn des ONLINE-Betriebs neu mit
               PCL1046 erstellt werden.
                Zur Zeit ist der Cache fuer Arbeitsgebiete nur in einer
               DLI-, DB2- oder VSAM-Installation verfuegbar.
                Bei PC-Isam wird standarmaessig mit dem Cache fuer
               Arbeitsgebiete gearbeitet.

                Der Cache fuer Arbeitsgebiete liegt physisch auf der
               SPA-Datenbank (DST005) und wird dort von dem
               Dienstprogramm PCL1046 aktualisiert. Im Cache werden
               die verwendeten Schluessel, Verdichtungsstufen, Werte
               und gegebenenfalls der Schluesselausschluss
               gespeichert. Da der Cache pro Arbeitsgebiet in der
               Groesse beschraenkt ist, listet das Dienstprogramm
               PCL1046 zu jedem Arbeitsgebiet an, zu welchem
               Prozentsatz der Cache gefuellt ist. Ist fuer ein
               geprueftes Arbeitsgebiet der Cache zu klein, so bricht
               das Programm mit einer entsprechenden Meldung ab und ab
               diesem Arbeitsgebiet einschliesslich ist der Cache nicht
               mehr vorhanden.
                Im Handbuch "Installation" ist beschrieben wie die
               Groesse des Cache berechnet werden kann und wie er
               gegebenenfalls vergroessert werden kann. Im Protokoll
               des Dienstprogramm PCL1046 wird auch angelistet zu
               wieviel Prozent der Cache pro Arbeitsgebiet belegt wird.
               Wie der Cache wirksam wird, steht ebenfalls im
               Handbuch "Installation".

               Ablauf von PCL1046

                                      AG-DB
                                    ____!
                                   !
                                PCL1046
                               ____!____
                              !         !
                           ASSLIST   SPA-DB

               Dateibeschreibung:

               ASSLIST   Protokoll in der Form  FBA 133

               Eine Vorlaufkarte gibt es nicht.

10.4 Lesen von Verdichtungsstufen

pInhaltsverzeichnis
nStichwortverzeichnis

10.4.1 Lesestrategien auf die Summendatenbank

pInhaltsverzeichnis
nStichwortverzeichnis

              Um die Bearbeitungszeit von ASS waehrend einer Auswertung
              niedrig zu halten, muessen die Informationen aus den
              Verdichtungsstufen moeglichst effizient, d.h. mit
              wenigen Zugriffen, gelesen werden. Aus diesem Grund
              kennt ASS fuenf verschiedene Lesestrategien:


              - Sequentielles Lesen
              ---------------------
              Das sequentielle Lesen ist die einfachste Form, eine
              Verdichtungsstufe auszuwerten. Hierbei werden alle
              Saetze einer Verdichtungsstufe sequentiell gelesen und
              verarbeitet. Diese Methode wird angewandt, wenn z.B.
              keine Auspraegungen selektiert werden oder die Daten der
              betreffenden Verdichtungsstufe auf einer sequentiellen
              Datei gespeichert sind. Sie wird darueber hinaus immer
              dann verwendet, wenn die nachfolgend beschriebenen
              Lesestrategien nicht moeglich sind.
              Die Zahl der erforderlichen Zugriffe ist gleich der
              Anzahl der Saetze in der Verdichtungsstufe. Bei umfang-
              reichen Verdichtungsstufen ist somit eine Online-
              Auswertung nicht moeglich.


              - Direktes Lesen mit Schluesselvariation
              ----------------------------------------
              Werden in einer Anforderung einzelne Auspraegungen eines
              Schluessels selektiert, kann die Anzahl der erforder-
              lichen Zugriffe meist durch direktes Lesen mit Schlues-
              selvariation deutlich verringert werden. Hierbei wird zu
              jedem Schluessel der Verdichtungsstufe eine Auspraegung
              ausgewaehlt, wobei man sich jedoch bei angeforderten
              Schluesseln auf die gewuenschten Auspraegungen be-
              schraenkt. Diese werden dann verknuepft und als Index
              zum direkten Lesen der Verdichtungsstufe verwendet. Dies
              wird fuer alle moeglichen Kombinationen der zu den
              jeweiligen Schluesseln gehoerenden Auspraegungen
              durchgefuehrt.
              Dementsprechend erhaelt man die Anzahl der erforder-
              lichen Zugriffe, indem man fuer jeden Schluessel der
              Verdichtungsstufe die Zahl der Auspraegungen miteinander
              multipliziert. Dazu ein

               Beispiel:
               --------

                  Verdichtungsstufe
                Schluessel        Niederl.   Produkt   Kundengr.
                Zahl Auspraegungen    50         20         5
                Auspraegungen         NL1        P1        KG1
                                       .          .         .
                                       .          .         .
                                      NL50       P20       KG5
               In dieser Verdichtungsstufe seien 4000 Saetze
               vorhanden, d.h von den 5000 moeglichen Auspraegungs-
               kombinationen gibt es zu 1000 keine Werte. Weiter
               liege folgende Anforderung vor:
                Niederlassung=(NL3,NL15), Produktgruppe=(PG5,PG6,PG7)
               Damit ergibt sich die Zahl der Zugriffe aus
                Auspraegungen(Niederl.)xAuspr(Produkt)xAuspr(Kundengr)
               also Zugriffe = 2 x 3 x 5 = 30

               Dieses Produkt ist oft groesser als die Anzahl der
               Saetze in der Verdichtungsstufe, weil meistens nicht
               fuer alle Auspraegungskombinationen Werte vorhanden
               sind.

               - Positionieren auf den 'linkesten' Schluessel
                 (stueckweise sequentielles Lesen)

               ----------------------------------------------
               Als weitere Lesestrategie ist das stueckweise sequen-
               tielle Lesen der Verdichtungsstufe moeglich. Bei dieser
               Strategie wird fuer den Schluessel, der am weitesten
               links in der Verdichtungsstufe steht und ausgepraegt
               ist, eine gewuenschte Auspraegung als Index ver-
               wendet und mit dieser in der Verdichtungsstufe direkt
               positioniert. Danach wird solange sequentiell gelesen,
               bis in der Verdichtungsstufe eine neue Auspraegung fuer
               den 'linkesten' Schluessel auftritt. Bei dieser
               Zugriffsvariante wird die Zahl der erforderlichen
               Zugriffe mit folgender Formel geschaetzt:

               Zahl Zugriffe =
                  Anzahl Saetze in
                  Verdichtungsstufe
                ---------------------- x 2 x Selektierte Auspraegungen
                 Anzahl Auspraegungen         'linkester' Schluessel
                'linkester' Schluessel (*)

               In dieser Schaetzung wird davon ausgegangen, dass die
               Auspraegungen (*) in der Verdichtungsstufe gleichmaessig
               verteilt sind. Es gibt jedoch Faelle, in denen diese
               Annahme verletzt wird. Es gibt z.B. bei einem Schluessel
               'Vertreter' 10000 Auspraegungen, in dem Arbeitsgebiet
               werden aber fuer nur 1000 Auspraegungen Werte gepflegt.
               In solchen Faellen liefert die Schaetzung zu kleine
               Zahlen fuer die Zugriffszahl. Dies hat laengere Lauf-
               zeiten zur Folge, die im Online-Betrieb nicht gewuenscht
               werden. Um dies berichtigen zu koennen, kann (*) in der
               Formel ueberschrieben werden. Dazu ist in der Trans-
               aktion ST06 die ungefaehre Anzahl der im Arbeitsgebiet
               verwendeten Auspraegungen eines Schluessels anzugeben
               (s. Handbuch ST06).


               - Positionieren auf die 'linkesten' Schluessel
                 mit Schluesselvariation
               ----------------------------------------------

               Diese Methode kombiniert die Methode der Schluessel-
               variation mit der Methode des stueckweise sequentiellen
               Lesens. Diese Methode wird am besten an einem Beispiel
               verdeutlicht:

               Es wird das Beispiel aus der Schluesselvariation
               betrachtet. Die betrachtete Verdichtungsstufe enthalte
               rechts von der Kundengruppe noch weitere Schluessel,
               so dass eine reine Schluesselvariation nicht mehr
               in Betracht kommt.

               Es liege folgende Anforderung vor:
                Niederlassung=(NL3,NL15), Kundengruppe=(KG1)

               Folgende Datensaetze koennen Information enthalten:

                 NL3   P1   KG1
                 NL3   P2   KG1
                       .
                       .
                       .
                 NL3   P20  KG1
                 NL15  P1   KG1
                 NL15  P2   KG1
                       .
                       .
                       .
                 NL15  P20  KG1.

               Es gibt also insgesamt 2 * 20 * 1 = 40 Kombinationen.
               Da nicht bekannt ist, welche Auspraegungen rechts
               von der Kundengruppe vorkommen, wird jede der
               genannten Kombinationen stueckweise sequentiell
               ausgewertet. Hierbei ist zu beachten, dass nicht nur
               ueber den linkesten, sondern ueber die drei linkesten
               Schluessel positioniert wird (compound key).
               Im obigen Beispiel wird also 40-mal stueckweise
               sequentiell gelesen.

               Die Schaetzformel fuer die Anzahl der Zugriffe ist
               eine Kombination aus der Anzahl Zugriffe fuer die
               Variation mit der Schaetzung fuers stueckweise se-
               quentielle Lesen.
               Die obige Methode kann auch zum Einsatz kommen,
               wenn zwischen Niederlassung und Kundengruppe
               verdichtete Schluessel enthalten sind. Ebenso kann
               diese Methode zum Einsatz kommen, wenn "linkeste"
               Schluessel einer Verdichtungsstufe nicht angefordert
               werden, sie jedoch so wenig Auspraegungen besitzen,
               dass eine Variation noch moeglich ist.


               - Ausnutzung von Schluesselrelationen
               -------------------------------------

               Sobald in einer Fragestellung zu einem selektierten
               Schluessel, der nicht linkester Schluessel einer Ver-
               dichtungsstufe ist, alle zugehoerigen Auspraegungen des
               linkesten Schluessels angefordert werden, ist eine
               Dialogauswertung mit den bisher bekannten Lesevarianten
               im Normalfall nicht moeglich.

               Es empfiehlt sich dann, mit Schluesselrelationen zu
               arbeiten, die technisch aehnlich wie Verdichtungsstufen
               in einem Arbeitsgebiet definiert werden.

               In einer Schluesselrelation werden zwischen zwei und
               zehn Schluessel des Arbeitsgebietes in einer bestimmten
               Reihenfolge definiert, die von der ueblichen Hierarchie-
               folge voellig abweichen kann.

               Im Unterschied zu den Verdichtungsstufen werden bei
               Schluesselrelationen keine Werteverwendungen definiert
               und auch keine Summendaten gespeichert, sondern ledig-
               lich die in den Summendaten enthaltenen Schluesselkom-
               binationen.

               Betrachtet man das obige Beispiel, so koennte man in
               einer Relation die Schluessel PRODUKT und NIEDERLASSUNG
               in dieser Reihenfolge definieren.

               Nur die in den Summendaten vorkommenden Schluesselkom-
               binationen werden gespeichert:

               PRODUKT    NIEDERLASSUNG
               -------------------------
                 P1           NL1
                              NL5
                 P2           NL7
                              NL20
                 P3           NL5

               Moechte man jetzt die Werte fuer das Produkt P1 in
               allen Niederlassungen ermitteln, liefert die Relation
               nur die beiden in den Summendaten enthaltenen Nieder-
               lassungen NL1 und NL5.

               Mit diesen beiden Auspraegungen des jetzt bekannten,
               linkesten Schluessels der Verdichtungsstufe koennen die
               Daten wiederum stueckweise sequentiell oder auch direkt
               gelesen werden, wenn alle Schluessel des Arbeitsge-
               bietes in der Relation beschrieben sind.

               Unter diesen fuenf Lesestrategien einer Verdichtungs-
               stufe waehlt ASS sich die guenstigste aus. Oft ist es
               jedoch fuer eine Auswertung noetig, mehrere Verdich-
               tungsstufen zu lesen, z.B. wenn Werte aus verschieden
               Arbeitsgebieten angefordert werden. In diesem Fall wird
               fuer jede Verdichtungsstufe die effektivste Lesestrate-
               gie ausgewaehlt. Die Anzahl der Zugriffe ergibt sich
               dann als Summe der Zugriffszahlen fuer die einzelnen
               Verdichtungsstufen.

               Durch geschickte Vergabe der Hierarchienummern und
               durch geeignete Festlegung von Verdichtungsstufen
               sowie deren Schluesselreihenfolgen beim Einrichten
               eines Arbeitsgebietes (Transaktion ST06) kann
               der Anwender erreichen, dass die verschiedenen
               Lesestrategien vorteilhaft eingesetzt werden. Dabei
               sollten z.B. haeufig benutzte Schluessel mit vielen
               Auspraegungen, von denen i.a. nur einige angefordert
               werden, moeglichst weit nach links gestellt werden, also
               niedrige Hierarchienummern im Arbeitsgebiet erhalten
               oder gezielt durch Aenderung der Schluesselreihenfolge
               betroffener Verdichtungsstufen.

10.4.2 Auswahl von Verdichtungsstufen in der Auswertung

pInhaltsverzeichnis
nStichwortverzeichnis

                Die Verdichtungsstufen, die fuer eine Auswertung
               gelesen werden muessen, werden nach folgendem
               Verfahren ermittelt:

                1) Zunaechst werden fuer jeden angeforderten Wert die
               Verdichtungsstufen ermittelt, die prinzipiell in Frage
               kommen. Dies bedeutet, dass die (zu dem Wert) einge-
               speicherten Zeiten zumindest einen Teil der angefor-
               derten Zeiten abdecken und dass alle angeforderten
               Schluessel in der Verdichtungsstufe ausgepraegt sind.

                2) Fuer die unter 1) ermittelten Verdichtungstufen
               werden die Zugriffszahlen ermittelt. Dabei werden die
               unter 10.4.1 beschriebenen Lesestrategien durchgetestet
               und die Zugriffszahl der guenstigsten Strategie
               festgehalten.

                3) Pro angeforderten Wert werden aus den unter 1) er-
               mittelten Verdichtungsstufen die Mengen zu einer lo-
               gischen Verdichtungsstufe zusammengefasst, wobei die
               Zugriffe der einzelnen Verdichtungsstufen einer Menge
               aufaddiert werden. Danach werden die Mengen nach den
               Zugriffszahlen sortiert, um die Verdichtungsstufen-
               (-mengen) mit den kleinsten Zugriffszahlen bevorzugen
               zu koennen.

                4) Die angeforderten Werte werden nach ihrer (nach 3))
               guenstigsten Verdichtungstufe absteigend sortiert,
               d.h. der Wert, dessen beste Verdichtungsstufe die
               groesste Zugriffszahl besitzt, kommt an die erste
               Stelle. TOTAL-Operanden werden an die Spitze dieser
               Tabelle gesetzt.

                5) Jetzt werden die zu benutzenden Verdichtungsstufen
               ermittelt. Zunaechst werden fuer den ersten Wert die
               Verdichtungstufen nach der Reihenfolge ihrer Zugriffs-
               zahlen (s. 3)) ausgewaehlt, so dass alle angeforderten
               Zeiten befriedigt werden koennen. Fuer die folgenden
               Werte wird erst geprueft, ob eine bereits ausgewaehlte
               Verdichtungsstufe verwendet werden kann. Ansonsten
               werden analog zum ersten Wert die Verdichtungsstufen
               ausgewaehlt.

                6) Fuer jede der ausgewaehlten Verdichtungsstufen
               wird die optimale Lesestrategie ermittelt:
               Sequentielle Verdichtungsstufen und Verdichtungsstufen
               fuer TOTAL-Operanden werden sequentiell gelesen. Bei
               Verdichtungsstufen auf der Summendatenbank wird
               zunaechst auf stueckweise sequentielles Lesen geprueft.
               Danach wird festgestellt, ob Lesen mittels Relation
               moeglich ist. Anschliessend wird auf Compound-Key-Lesen
               getestet, und zwar der Reihe nach ueber die zwei, drei,
               vier, etc. linkesten Schluessel. Zum Schluss wird noch
               die Schluesselvariation getestet. Verbessert sich die
               Zugriffszahl gegenueber einer zuvor getesteten Stra-
               tegie, so wird auf die neue Leseregel geschaltet. Die
               Zugriffe fuer eine Auswertung ist die Summe der Zugriffe
               auf die benoetigten Verdichtungsstufen.

Stichwortverzeichnis

nInhaltsverzeichnis

A B C D E F G H K L P R S T U V Z