Kapitelübersicht



8. Sonstige Dienstprogramme
  8.1 Erstellen von Umbuchungsanforderungen aus einem Umbuchungselement PCL1093
  8.2 Kopieren von Anforderungen auf sequentielle Dateien PCL1012
  8.3 Modifizierung von Zeitangaben und Auspraegungen in Anforderungen und Formeln PCL1043
    8.3.1 Automatische Stringersetzung in Kommentaren und Ueberschriften PCL1043
    8.3.2 Aenderung der Vorbelegung fuer Parameterinhalte und Kommentare PCL1043
  8.4 Datenbanken initialisieren ( nur VSAM/DLI/ISAM) PCL1050
  8.5 Arbeitsgebiete sperren PCL1082
  8.6 Formate (MFS) modifizieren ( nur IMS ) PST1053
  8.7 Transparente Verdichtungsstufen transformieren (nur Installationen mit FOCUS-Zugriff) PCL1048
  8.8 Transparente Verdichtungsstufen entsorgen (nur Installationen mit FOCUS-Zugriff) PCL1057
  8.9 Aufruf von MST0272 aus Assembler MST0271
  8.10 Summensaetze aus Basisverdichtungsstufe liefern MST0272
  8.11 Externe ASS-Schnittstelle erstellen PCL1081
  8.12 Abzug der Summendatenbank ins Ladeformat transformieren PCL1083
  8.13 AG-Textdatenbank erstellen fuer USER-Exit PCL1231
  8.14 FTP im Text-Format PCL1174 und PCL1175







  8.     Sonstige Dienstprogramme


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis




  8.1    Erstellen von Umbuchungsanforderungen aus        PCL1093
         einem Umbuchungselement


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Mit dem Programm PCL1093 werden in der ST31 erstellte Um-
        buchungselemente verarbeitet. Das Programm erzeugt fuer die
        vorhandenen Arbeitsgebiete Umbuchungsanforderungen, die als
        Eingabe fuer das Programm PCL1019 dienen.


        Die Namen der zu bearbeitenden Umbuchungselemente werden in
        den Vorlaufkarten angegeben. In der ersten Vorlaufkarte wird
        dabei ein Masterelement erwartet. Dieses bestimmt die Werte
        und Zeiten, fuer die umgebucht werden soll. In bis zu 24
        weiteren Vorlaufkarten kann jeweils ein Namensintervall
        angegeben werden. Von den Umbuchungselementen, die in diesen
        Namensintervallen liegen, werden nur die Angaben zu den
        Schluesseln bzw. deren umzubuchenden Inhalten beruecksichtigt.
        Angaben zu Werten und Zeiten von diesen Elementen werden
        ignoriert und durch die aus dem Masterelement ersetzt. Vom
        Masterelement dagegen werden die Angaben zu den Schluesseln
        nicht bearbeitet, ausser das Masterelement wird als einziges
        in der Vorlaufkarte angegeben. Auf alle Faelle muss als erstes
        das Masterelement angegeben werden. Dabei ist eine Bis-Angabe
        unzulaessig.


        BEISPIEL:    UMBUCH01                      <- Masterelement
                     TEST01 - TEST12
                     CCC
                     KEY1900 - LLL


        Es werden weiterhin nur die Umbuchungselemente aus den Namens-
        intervallen bearbeitet, bei denen das gesetzte Ausfuehrungs-
        datum erreicht wurde. Das Masterelement wird immer unabhaengig
        vom Ausfuehrungdatum beruecksichtigt.


        Bei der Verarbeitung mit PCL1093 werden die globalen Angaben
        der Umbuchungselemente nach den vorhandenen Arbeitsgebieten
        getrennt. Ist ein Arbeitsgebiet von den Umbuchungsanweisungen
        betroffen, so werden fuer dieses Umbuchungsanforderungen
        erstellt. Diese werden auf die Datei ASSUAnn ausgegeben, wobei
        nn die Nummer des Arbeitsgebiets ist (fuer AG 26 also ASSUA26).
        Fuer eingerichtete Arbeitsgebiete muss also die entsprechende
        Datei ASSUAnn in der JCL zugewiesen werden.




        Bei der Verarbeitung der Umbuchungselemente sind folgende
        Besonderheiten zu beachten:
        - Sind keine Angaben ueber umzubuchende Werte vorhanden, so
          sind alle Werte des entsprechenden Arbeitsgebiets betroffen.
        - Sind keine Angaben ueber umzubuchende Zeitraeume vorhanden,
          so werden alle eingespeicherten Zeiten des Arbeitsgebiets
          umgebucht.
        - Angaben ueber umzubuchende Zeitraeume und Werte werden nur
          aus dem Masterelement entnommen.


        Nach der Verarbeitung eines Umbuchungselementes werden bei
        diesem auf der Anforderungsdatenbank alle Angaben zu den
        Schluesseln geloescht. Die Zeitraum- und Werteangaben bleiben
        erhalten.


        Zeitangaben:
        Zeitangaben koennen in der Form MMJJ oder TTMMJJ vorliegen.
        Zeitangaben der Form MMJJ sind fuer Tages-Arbeitsgebiete
        und fuer Monats-Arbeitsgebiete geeignet. Bei Tages-Arbeits-
        gebieten werden sie auf Monatsanfang ('01') bzw.
        Monatsende ('32') erweitert ( 0107 -> 010107 - 320107,
        0107 - 0207 -> 010107 - 320207 ).
        Zeitangaben mit TT sind i.a. fuer Monats-Arbietsgebiete
        nicht geeignet, es sei denn sie schliessen vollstaendige
        Monate ein ( 010107 - 320207 -> 0107 - 0207,
        0107 - 320207 -> 0107   -   0207 bei Monats-Arbeitsgebiet,
        0107 - 320207 -> 010107 - 320207 bei Tages-Arbeitsgebiet,
        010107 - 0207 -> 0107   -   0207 bei Monats-Arbeitsgebiet,
        010107 - 0207 -> 010107 - 320207 bei Tages-Arbeitsgebiet ).
        Zeitangaben, die fuer den jeweiligen Arbeitsgebiets-Typ
        nicht geeignet sind, werden ueberlesen.





        ABLAUF:
        ------


          .---.        .---.                      !
        ,'     ',    ,'     ',                    ! 1  Anforderungs-DB
        !'.___.'!    !'.___.'!     _______        !    //DST004
        !       !    !       !    /       !       !    //DST041 (DLI)
        !   1   !    !   2   !    !   3   !       !
        !       !    !       !    !       !       ! 2  Steuerungs-DB
         '.___.'      '.___.'     ---------       !    //DST003
            V            V            V           !    //DST031 (DLI)
            !            !            !           !    //DST032 (DLI)
            !____________!____________!           !    //DST033 (DLI)
                         !                        !
                         !                        ! 3  Vorlaufkarte
                   -------------                  !    //ASSCO
                   !           !                  !
                   !  PCL1093  !                  ! 4  Umbuchungs-
                   !           !                  !     anforderungen
                   -------------                  !    //ASSUA01
                         !                        !    //ASSUA02
            _____________!_____________           !     .
            !            !            !           !     .
            !            !            !           !    //ASSUA99
            V            V            V           !
          .---.      _________    _________       ! 5  Protokoll
        ,'     ',    !       !    !       !       !    //ASSLST
        !'.___.'!    !   4   !    !   5   !       !
        !       !    !      _!    !      _!       !
        !   1   !    !_____/      !_____/         !
        !       !                                 !
         '.___.'                                  !






  8.2    Kopieren von Anforderungen auf sequentielle      PCL1012
         Dateien


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Fuer BATCH-Auswertungen stehen generell die beiden Programme
        PCL1003 und PCL1016 zur Verfuegung.


        Die Ausfuehrliche Programmbeschreibung erfolgt im Benutzer-
        handbuch "BETRIEB 1".


        Im Unterschied zu PCL1003 ist PCL1016 in der Lage, die Anfor-
        derungsdatenbank hinsichtlich auszufuehrender Anforderungen
        auszuwerten.


        Das Programm ueberprueft, ob einmalig oder periodisch auszu-
        fuehrende Anforderungen (Bibliotheken E und P) zur Ausfuehrung
        faellig sind, und fuehrt ggf. die Auswertungen aus.


        Im Anschluss daran werden die Anforderungen ueber das Aus-
        fuehrungsdatum in der Anforderungs-DB als ausgefuehrt gekenn-
        zeichnet.


        Wenn bei diesem UPDATE der Dialog aktiv ist, kann dieses zu
        erheblichen Problemen fuehren.


        ASS bietet dazu 2 Alternativen, BATCH-Auswertungen problemlos
        parallel zum Dialog-Betrieb durchzufuehren.




        Alternative 1:
        -------------


        Das Auswertungsprogramm PCL1016 wird mit der Vorlaufkarten-
        option 'NUPDAT' oder 'NUPDATPR' gestartet.


        In diesem Fall unterbleibt die Markierung der Anforderungs-DB.


        Die ausgefuehrten Anforderungen werden stattdessen in eine
        Datei geschrieben.


        Der UPDATE kann mit dem Programm PCL1012 nach Beendigung des
        Dialog-Betriebes nachgeholt werden.



        Alternative 2:
        -------------


        Mit PCL1012 koennen zur Ausfuehrung anstehende Anforderungen
        auf eine sequentielle Datei uebertragen werden, um sie an-
        schliessend mit dem Programm PCL1003, das unabhaengig von der
        Anforderungs-DB arbeitet, ausfuehren zu lassen.


        Die Anforderungen werden bei der Uebertragung durch PCL1012 in
        der Anforderungs-DB bereits als ausgefuehrt gekennzeichnet.




        ABLAUF:
        ------


        Datenflussplan
        --------------




                           .---.       .---.
         __________      ,'     ',   ,'     ',
        /          !     !'.___.'!   !'.___.'!
        !    1     !     !       !   !       !
        !__________!     !   2   !   !   3   !
                 !       !       !   !       !
                 !        '.___.'     '.___.'
                 !           !           A
                 !           !           !
                 !           !           !
                 !           !           !
                 !           !           !
                 !           !           !
                 !           !           !
                 V           V           V
               +---------------------------+
               !                           !
               !          PCL1012          !
               !                           !
               +---------------------------+
                !              !          !
                !              !          !
                !              !          !
                !              !          !
                !              !          !
                V              V          V

                             .---.      .---.
        +--------------+   ,'     ',  ,'     ',
        !       4      !   !'.___.'!  !'.___.'!
        !    ..      ..!   !       !  !       !
        !..''  ''..''      !   5   !  !   6   !
                           !       !  !       !
                            '.___.'    '.___.'




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



        Nummer ! DD/Linkname ! Bedeutung
        -------!-------------!--------------------------------------
               !             !
          1    ! ASSCO       ! Vorlaufkarte(n)
               !             ! Auf Dummy setzen und nur bei Bedarf
               !             ! aktivieren.
               !             !
          2    ! ASSALI      ! Datei mit den von PCL1016 zur
               !             ! Markierung vorgesehenen Anforderungen.
               !             ! Auf Dummy setzen und nur aktivieren,
               !             ! wenn PCL1016 mit verzoegertem Update
               !             ! angewandt wird.
               !             !
          3    ! DST004      ! Anforderungsdatenbank
               !             !
          4    ! KARTE       ! Ausgabedatei fuer auszufuehrende
               !             ! Anforderungen. Wird mit Vorlaufkarten-
               !             ! option ASSALI gearbeitet, kann KARTE
               !             ! auf Dummy gesetzt werden.
               !             !
          5    ! LISTE       ! Ablauf- und Fehlerprotokoll
               !             !
          6    ! ASSALI2     ! Gleicher Dataset wie in 2.
               !             ! Waehrend er mit ASSALI im INPUT-MODUS
               !             ! eroeffnet wird, wird er mit ASSALI2
               !             ! OUTPUT-MODUS eroeffnet, um am Ende der
               !             ! Verarbeitung durch die Befehlsfolge
               !             ! OPEN OUTPUT/CLOSE ein Loeschen des
               !             ! Datasets zu erreichen.
               !             ! Wird nicht mit der Option ASSALI
               !             ! gearbeitet, kann ASSALI2 auf Dummy
               !             ! gesetzt werden.





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


        1. Vorlaufkarte ( Alternative 1 )
        --------------------------------


        Die 1. Vorlaukarte wird "nur" dann benutzt, wenn die Mar-
        kierung in der Anforderungs-DB nachgeholt werden soll.


        Dann muss im Spaltenbereich 1-72 die Anweisung "ASSALI"
        angegeben werden.
        Wird in der 1. Vorlaufkarte "LOESCHEN" eingegeben, so werden
        die Elemente der Bibliothek E sofort aus der Anforderungs-DB
        geloescht, die Elemente der Bibliothek P jedoch wie bei
        "ASSALI" markiert.


        Die weiteren Vorlaufkarten bleiben leer.


        2.- 50. Vorlaufkarte ( Alternative 2 )
        --------------------------------------


        In diesem Fall bleibt die 1. Vorlaufkarte leer.


        Pro Vorlaufkarte kann im Spaltenbereich 1-72 ein Namensbereich
        in der Form


                       ********   -   ********
                          !               !
                       NAME-VON   -   NAME-BIS


        angegeben werden.
        Die Namensbereiche duerfen sich nicht ueberlappen.


        Wird ohne Vorlaufkarte gearbeitet, werden von PCL1012 alle
        anstehenden Anforderungen bearbeitet.





        BEISPIELE:
        ---------


        1. Der beim Lauf von PCL1016 verhinderte Update soll nach-
           geholt werden.


           ASSALI



        2. Alle zur Ausfuehrung anstehenden Anforderungen aus E und P,
           deren Namen mit A,B,C oder D beginnen, sollen markiert und
           auf eine sequentielle Datei gebracht werden.


           1. Vorlaufkarte (leer):
           2. Vorlaufkarte       : A-D9999999


        BESONDERHEITEN:
        --------------


        Wird PCL1012 zur Uebertragung aus der Anforderungs-Datenbank
        (Alternative 2) verwendet oder es wird mit der Vorlaufkarte
        "ASSALI" gearbeitet, so ist mit dem Programmlauf eine
        Reorganisation der Anforderungs-DB verbunden.


        Alle Anforderungen der Bibliothek E, deren Ausfuehrungsdatum
        weiter als einen Monat zurueckliegt, werden dabei geloescht.







  8.3    Modifizierung von Zeitangaben, und Auspraegungen
         in Anforderungen und Formeln                       PCL1043


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Mit dem Programm PCL1043 koennen Zeitangaben und Schluessel-
        auspraegungen in bestehenden Listanforderungen und Formeln
        modifiziert werden.


        Via Stringersetzung koennen automatisch Parameter oder neue
        Zeichenketten in die Ueberschriftsbereiche und Kommentare
        eingetragen werden  (s.u. 8.3.1)
        und Vorbelegungen fuer Parameterinhalte geaendert werden
        (s.u. 8.3.2).


        Ueber Vorlaufkarten koennen folgende Verarbeitungsregeln vor-
        gegeben werden:


         - Selektion nach Bibliotheksarten und/oder Namensbereichen


         - Umsetzungsangaben zu Zeitraeumen bzw. Zeitintervallen


         - Umsetzungsangaben zu Schluesselauspraegungen


        Die Verarbeitung der Elemente aus den Anforderungsbibliotheken
        B, E, P und U bringt normalerweise keine Probleme mit sich.


        Bei Elementen der Formelbibliothek ist allerdings Vorsicht
        geboten, da eine Identifizierung als Werte-, Zeitraum- oder
        Schluesselformel nicht immer eindeutig moeglich ist.


        Eine Schluesselauspraegung '1286' kann z.B. von PCL1043 auch
        als Zeitangabe verstanden werden und umgekehrt.


        Durch eine geeignete Namenskonvention fuer Formeln kann man
        beispielsweise erreichen, dass ueber einen einzigen Namens-
        bereich nicht gleichzeitig Werte-, Zeitraum- und Schluessel-
        formeln angesprochen werden koennen.


        Eine irrtuemliche Anpassung ist allerdings nur bei Formeln in
        der Formelbibliothek moeglich.


        Formeln, die in den in anderen Bibliotheken gespeicherten An-
        forderungen enthalten sind, werden von PCL1043 erkannt.


        Auf jeden Fall sind im Programm PCL1043 umfangreiche Pruef-
        routinen realisiert, die die angeforderte Umsetzungslogik
        testen.


        Sollte eine Umsetzung nicht eindeutig abzuleiten sein, unter-
        bleibt diese und das entsprechende Element wird als fehlerhaft
        protokolliert.




        ABLAUF:
        ------


                    ________                      !
                   /       !                      ! 1  Vorlaufkarte(n)
                   !   1   !                      !
                   ---------                      !    //ASSCO
                       V                          !
                       !                          !
                       !                          ! 2  Anforderungs-DB
                       !              .---.       !
                       !            ,'     ',     !    //DST004
                 -------------      !'.___.'!     !    //DST041 (DLI)
                 !           !      !       !     !
                 !  PCL1043  !<---->!   2   !     !
                 !           !      !       !     ! 3  Geaenderte An-
                 -------------       '.___.'      !    forderungen
                  ! !     ! !                     !    (fuer PCL1045)
                  ! !     ! !                     !
       +----------+ !     ! +----------+          !    //ASSLIA
       !            !     !            !
       V            V  (  V            V       )  ! 4  Ablauf- und
  *********  ********* ( *********  *********  )  !    Fehlerprotokoll
  !       !  !       ! ( !       !  !       !  )  !
  !   3   !  !   4   ! ( !   5   !  !   6   !  )  !    //ASSLST
  !     ***  !     *** ( !     ***  !     ***  )  !
  !    /     !    /    ( !    /     !    /     )  !
  !***       !***      ( !***       !***       )  !
                                                  !(5  Protokoll der
                                                  !    fehlerhaften
                                                  !    und unvollst.
                                                  !    geaenderten Anf.
                                                  !
                                                  !    //ASSFEHL     )
                                                  !
                                                  !(6  Umsetzen von
                                                  !    Schluesselin-
                                                  !    halten (Modus
                                                  !    80)
                                                  !
                                                  !    //ASSINKY     )
                                                  !




        VORLAUFKARTE:   ASSCO
        ------------


        In den Vorlaufkarten werden jeweils nur die ersten 72 Spalten
        beruecksichtigt.


        In der ersten Karte kann die Option DATEI angegeben werden,
        damit die geaenderten Anforderungen auf die Datei ASSLIA aus-
        gegeben werden. In diesem Fall erfolgt kein Update der Anfor-
        derungsdatenbank. Die Datei ASSLIA kann spaeter mit PCL1045
        auf die Anforderungsdatenbank zurueckgeschrieben werden.
        Wird die Option Datei nicht verwendet, so bleibt die erste
        Karte leer.


        Wird in der ersten Karte die Option NODEL angegeben, so
        werden einmalig auszufuehrende Anforderungen nicht von der
        Anforderungsdatenbank geloescht, auch wenn das Ausfuehrungs-
        datum lange zurueckliegt.


        Auf den folgenden Karten koennen jeweils bis zu


        - 50 Namensintervalle, auch getrennt nach Bibliotheksarten
        - 2000 Zeitumsetzungsangaben, auch als Angaben zum Wert bei
          maximal 1000 verschiedenen Werten
        - 5000 Auspraegungsumsetzungsangaben zu maximal 1000
          verschiedenen Schluesseln
        - 100 Modi fuer Auspraegungsumsetzungen
        angegeben werden.


        Eine Karte kann jedoch nur eine der o.g. Angaben enthalten,
        wobei die Reihenfolge dieser Kategorien beliebig ist.




        NAMENSINTERVALLE:
        ----------------


        Mit dieser Vorlaufkarte koennen maximal 500 Namen oder Namens-
        intervalle vorgegeben werden, nach denen PCL1043 die Formel-
        und Anforderungsbibliotheken durchsucht.


        Damit ist es z.B. auch moeglich, Formeln gezielt anzusprechen,
        die ueber ein Namensintervall nicht eindeutig als Schluessel-,
        Werte- oder Zeitraumformel zu identifizieren sind.


        Syntax:
        ------
        Eine Vorlaufkarte kann wie folgt aufgebaut sein:


               ********
               ******** - ********
            *: ********
            *: ******** - ********


            !  !          !
            !  !          NAME-BIS (letzte zu bearbeitende Anforderung)
            !  !
            !  NAME-VON  (erste zu bearbeitende Anforderung)
            !
          Bibliotheksart  = B, E, G, H, I, J, P, U oder X


        Wird keine Bibliotheksart spezifiziert, so nimmt ASS als
        Standard alle Bibliotheksarten in der Reihenfolge B,E,P,U,X.


        Wird kein Namensintervall angegeben, so nimmt ASS alle
        Elemente der durch die Bibliotheksartangabe ausgewaehlten
        Bibliothek(en).


        Wird keine BIS-Angabe praezisiert, so werden alle Anforderungen
        der Bibliothek(en) abgearbeitet, deren Namen, vom Anfang her
        gesehen, die in NAME-VON angegebene Zeichenkette enthalten.


        Ansonsten werden Anforderungen bearbeitet, deren Namen in der
        jeweiligen Bibliothek folgende Bedingung erfuellen:


               NAME-VON <= Anforderungsname <= NAME-BIS


        Dabei duerfen sich Namensintervalle nicht ueberlappen !




        ZEITUMSETZUNGSANGABEN:
        ---------------------


        Um in einem Programmlauf von PCL1043 Zeiten umsetzen zu
        koennen, muessen diese in der Vorlaufkarte nach folgender
        Syntax angegeben werden:


        - Zeitangaben:


                    MMJJ -> MMJJ
          ( ***** ) MMJJ -> MMJJ
              !      !       !
              !      !      neue Zeitangabe
              !      !
              !     alte Zeitangabe
              !
            Werte-Nummer


        - Zeitraumangaben:


                    MMJJ - MMJJ -> MMJJ - MMJJ
          ( ***** ) MMJJ - MMJJ -> MMJJ - MMJJ
              !      !              !
              !      !             neue Zeitraumangabe
              !      !
              !     alte Zeitraumangabe
              !
            Werte-Nummer


        Die Zeitumsetzangaben muessen eindeutig sein.


        TAGESANGABEN  im Format  'TTMMJJ':


        ---------------------------------
        Fuer Zeitangaben in Tagesarbeitsgebieten kann an Stelle
        der oben verwenden Formatangabe  'MMJJ'  stets auch
        'TTMMJJ'  verwendet werden.
        Eine Umsetzung von Monatsangaben in Tagesangaben (und
        umgekehrt) ist moeglich.


        Zeitangaben koennen innerhalb von Listanforderungen und
        Formeln in verschiedener Weise auftreten.


        Man kann unterscheiden zwischen:


            - Zeitintervallen mit Wert-Abhaengigkeit
            - Zeitangaben mit Wert-Abhaengigkeit
            - Zeitintervallen
            - Zeitangaben


        In dieser Reihenfolge erfolgt auch die Bearbeitung mit PCL1043.




        Beispiel:
        --------
        Umsetzungsangaben: ( 1 )  0189 - 0389 -> 0190 - 0390
                           ( 1 )  0189        -> 0789
                                  0189 - 0389 -> 1089 - 1289
                                  0189        -> 0489
                                  0389        -> 0689
                                  0689        -> 0989


        Umsetzung:    alter Zustand:          neuer Zustand:
                      WE_1 ( 0189 - 0389 )    WE_1 ( 0190 - 0390 )
                      WE_1 ( 0189 - 0689 )    WE_1 ( 0789 - 0989 )
                      WE_1 ( 0189 - 0389 )    WE_1 ( 1089 - 1289 )
                      WE_1 ( 0189 - 0689 )    WE_1 ( 0489 - 0989 )
                      '0189-0389'             '1089-1289'
                      '0189-0689'             '0489-0989'


        Die Zeitumsetzungsangaben mit Wert-Abhaengigkeit erfolgen ueber
        die Werte-Nummer. Es kann daher zu Problemen fuehren, wenn die
        Wertebezeichnung bzw. -abkuerzung nicht eindeutig ist. Wenn
        insbesondere auch keine Arbeitsgebietsangaben zu den angefor-
        derten Werten vorliegen, ist ein solcher Wert oft nicht ein-
        deutig zu erkennen. In dem Fall erfolgt eine allgemeine
        Zeitumsetzung.


        Ausserdem kann in manchen Anforderungen die Reihenfolge, in
        der die Zeitumsetzungsangaben behandelt werden, dazu fuehren,
        dass bei Zeitintervallen nach der Umsetzung die Von-Zeit nicht
        mehr kleiner als die Bis-Zeit ist.


        Darueber hinaus koennen Zeitangaben in Werte- und Zeitraum-
        formeln sowohl in Listanforderungen als auch in der Formel-
        bibliothek stehen.


        Bei Formeln aus der Formelbibliothek wird von PCL1043 eine
        Werteformel erkannt, wenn mindestens eine der folgenden Be-
        dingungen erfuellt ist:


            - GESAMT
            - TOTAL
            - KUMUL
            - RANG
            - Wert mit Angabe einer Zeit
            - Wert mit Schluesselbedingung
            - Wert mit Angabe eines Arbeitsgebietes


        Ansonsten wird die Formel als Zeitraumformel interpretiert,
        falls ein Operand als Zeitraum umzusetzen ist.


        Andernfalls wird ueberpruft, ob eine Auspraegungsumsetzung
        moeglich ist.




        AUSPRAEGUNGSUMSETZUNGSANGABEN:
        -----------------------------


        Mit dem Programm PCL1043 koennen Schluesselauspraegungen in
        Listanforderungen und Formeln umgesetzt werden.


        Syntax:
        ------


          ( **** ) '************' -> '************'
              !      !                 !
              !      !                neue Auspraegung
              !      !
              !     alte Auspraegung
              !
            Schluessel-Nummer


           < **** > **
              !     !
              !     Modus zur Umsetzung
            Schluessel-Nummer
         Der Modus wird mit einer Zahl zwischen 1 und 99 angegeben.
        Die Modi sind bei dem Programm PCL1005 dokumentiert.


         Zu einem Schluessel koennen entweder mehrere Umsetzungen von
        alt nach neu gemacht werden oder genau eine Modus-Umsetzung.


        Schluesselauspraegungen koennen in verschiedener Weise in
        Listanforderungen und Formeln angesprochen werden:


        Anforderungsbibliotheken:
         (1) Gruppierungen von Schluesselauspraegungen
         (2) Schluesselbedingungen zum Wert
         (3) Schluesselformeln
         (4) Schluesselbedingungen in Werteformeln


        Formelbibliothek:
         (5) Schluesselformeln
         (6) Schluesselbedingungen in Werteformeln



        Beispiel:
        --------
        Umsetzungsangaben: ( 1 )  'A' -> 'B'
                           ( 1 )  '0' -> '1'
                           ( 2 )  'A' -> 'Z'
                           < 3 >  2


        Umsetzung:  alter Zustand:            neuer Zustand:
         (1):       KY_1 = ( 'A', '9', '0')   KY_1 = ( 'B', '9', '1')
         (2):       WE_1 (, KY_1 = 'A' )      WE_1 (, KY_1 = 'B' )
         (3),(5):   KY_1 = ( FO = '9'+'0')    KY_1 = ( FO = '9'+'1')
         (4),(6):   FO = WE_1 (,KY_2 = 'A')   FO = WE_1 (,KY_2 = 'Z')




  Meldungen


  Im Prokoll von PCL1043 koennen folgende Informationen und Warnungen
 erfolgen.



 Bibliothek
 ! Name der Anforderung/Formel/Gruppierung
 ! !
 * * *    *
     AUGR Schluessel    Auspraegungs-Menge geaendert, wobei
                            moeglicherweise der Name einer Menge als
                            Auspraegung geaendert wurde  (*)
     AXEL 0             Anforderung als PC EXCEL-Anforderung erkannt
     SCHL Schluessel    Formel als Schluessel-Formel angesehen und
                            geaendert
     WERT 0             Formel als Werte-Formel erkannt und geaendert
     ZEIT 0             Formel als Zeitraum-Formel angesehen und
                            geaendert
        - 0             Formel als Schluessel-Formel angesehen aber
                            nicht geaendert, da Schluessel nicht
                            eindeutig erkennbar war oder keine
                            Aenderung erfolgte
        ? 0             Art der Formel nicht ermittelbar


 (*):  Zu dem Schluessel Jahr gebe es die Inhalte (Auspraegungen) 20
      bis 99 und angefordert seien die Mengen 19 = ('9?') und 19. In
      der Auswertung wird die zweite 19 als Mengenbezeichnung erkannt
      und hier aber als Jahreszahl umgesetzt. Entsprechendes kann auch
      mit Formelnamen geschehen. Da in komplexeren Anforderungen dies
      nicht mehr einfach erkennbar sein muss und auch abhaengig vom
      aktuellen Inhalt der Schluesseldatenbank sein kann, erfolgt zur
      Zeit keine entsprechende Erkennung.



 Bibliothek
 ! Name der Anforderung/Formel/Gruppierung
 ! !
 * * *    *          *      *
          0          Symbol Status
                     Formel mit unzulaessigem Symbol beim genannten
                     internen Status
     AUFO Schluessel Zeile  Position
                     Schluessel-Formel unvollstaendig geaendert  (*)
     AUF0 Schluessel Formel Position bzw. in COBOL
   AUFOAX Schluessel Formel Position
                     Schluessel-Formel unvollstaendig geaendert  (**)
     AUME Schluessel Zeile  Position
                     Menge unvollstaendig geaendert  (***)
     KYFO Schluessel Zeile  Position
                     Schluessel-Formel unvollstaendig geaendert  (*)
     KYF0 Schluessel Formel Position bzw. in COBOL
   KYFOAX Schluessel Formel Position
                     Schluessel-Formel unvollstaendig geaendert  (**)
     SCHL Schluessel Symbol Status
                     Schluessel-Formel mit unzulaessigem Symbol beim
                     genannten internen Status
     SCHL 0                 0
                     Tabellenueberlauf, da in der Formel zu viele
                     Schluessel vorkommen
     WEFO Schluessel Zeile  Position
                     Schluesselbedingung in Werte-Formel unvollstaendig
                     geaendert  (*)
     WEF0 Schluessel Formel Position bzw. in COBOL
   WEFOAX Schluessel Formel Position
                     Schluesselbedingung in Werte-Formel unvollstaendig
                     geaendert  (**)
     WERT 0          Symbol Status
                     Werte-Formel mit unzulaessigem Symbol beim
                     genannten internen Status
     ZEIT 0          Symbol Status
                     Zeitraum-Formel mit unzulaessigem Symbol beim
                     genannten internen Status
 (*):   Der Inhalt an der Position der genannten Formelzeile kann nicht
       ersetzt werden, da am Ende der Zeile nicht mehr genuegend Platz
       zum Verschieben ist. Zur Zeit wird weder der Inhalt umgebrochen
       noch die Formel um zusaetzliche Zeilen erweitert.
 (**):  Der Inhalt an der Position der genannten AXEL-Formel kann nicht
       ersetzt werden, da am Ende der Formel nicht genuegend Platz zum
       Verschieben ist. Zur Zeit wird keine Formel um zusaetzliche
       Zeilen erweitert.
 (***): Zur Zeit wird der Inhalt von Mengen nicht umgebrochen.


       Es werden die Namen der fehlerhaften und unvollstaendig
       geaenderten Anforderungen in der Datei ASSFEHL protokolliert.




        Restriktionen fuer Auspraegungsumsetzungen:
        ------------------------------------------


        Eine Umsetzung von Schluesselauspraegungen ist unter folgenden
        Bedingungen nicht moeglich:


        Anforderungsbibliotheken:


         - In einer Schluesselformel einer Anforderung kann ueber die
           Schluesselbezeichnung und -abkuerzung kein angeforderter
           Schluessel identifiziert werden.
         - In einer Listanforderung stimmt eine umzusetzende Ausprae-
           gung mit dem Inhalt einer Formel ueberein.
         - Alte und neue Auspraegung weisen unterschiedliche Laengen
           auf.


         Bei der Umsetzung einer Auspraegung von alt nach neu kann sich
        nicht die Laenge aendern, dagegen aber bei der Umsetzung ueber
        einen Modus (zum Beispiel kommt das Jahrhundert vor das Jahr).
         Falls bei einer Verlaengerung der neuen Auspraegung der Platz
        in der Selektionsliste oder der Formel nicht mehr ausreichend
        ist wird dies als Meldung ausgegeben.


        Formelbibliothek:


        In der Formelbibliothek koennen ungepruefte Formeln und Texte
        gespeichert werden, sodass eine Schluesselformel nicht immer
        eindeutig zu identifizieren und somit auch eine Umsetzung von
        Schluesselauspraegungen nicht zweifelsfrei moeglich ist.


        Trotzdem ist das Programm PCL1043 in der Lage, durch Verwendung
        bestimmter Algorithmen auch Auspraegungen in der Formelbiblio-
        thek umzusetzen.


        Dabei ist jedoch besondere Vorsicht geboten; insbesondere
        sollte das Verarbeitungsprotokoll von PCL1043 herangezogen
        werden, um evtl. nicht erfolgreich umgesetzte Formeln zu
        erkennen.


        Formeln mit falschen Aufbereitungsangaben werden von PCL1043
        als korrekt behandelt.
        Aufbereitungsangaben werden generell nicht geprueft.



        VERARBEITUNGSPROTOKOLL:
        ----------------------


        Wird in einer Anforderung oder in der Formelbibliothek eine
        syntaktisch falsche Formel erkannt, wird diese Anforderung
        bzw. Formel als fehlerhaft protokolliert.


        Ist eine Formel nicht als Schluessel-, Werte- oder Zeitraum-
        formel erkannt, wird diese Formel als unbekannt protokolliert.


        Bei allen uebrigen Formeln wird im Protokoll angegeben, als
        welchen Formeltyp PCL1043 diese Formel verarbeitet hat.




        ZUSAMMENFASSENDES BEISPIEL:
        --------------------------


        In einem Programmlauf von PCL1043 sollen zu den Anforderungen
        der Arbeitsgebiete 20 und 30 Zeit- und Auspraegungsumsetzungen
        durchgefuehrt werden.


        In der Bibliothek B sind alle Anforderungen betroffen, deren
        Namen mit 'AG20' beginnen, in der Bibliothek E alle, die mit
        'AG30' beginnen, in der Bibliothek P alle Anforderungen.


        In der Formelbibliothek X werden alle Formeln bearbeitet, die
        im Namensintervall 'AG20 - AG30' liegen.


        Der Wert '100' kommt nur noch in Tagesarbeitsgebieten vor.
        Entsprechend sollen die Zeitangaben wie folgt umgesetzt werden:
              0106        -> 01M0
              0106 - BM01 -> 0101M0 - 15BM00


        Bei allen anderen Werten lautet die Zeitumsetzung:
              0106        -> BM01
              0105 - 0305 -> 01M1 - 03M1


        Zum Schluessel '2000' sind die Auspraegungen folgendermassen
        umzusetzen:
              '100' -> '102'
              '200' -> '205'




        Diese Aufgabe ist mit folgenden Vorlaufkarten zu loesen:


         B: AG20
         E: AG30
         P:
         X: AG20 - AG30
            (  100 )   0106        ->    01M0
            (  100 )   0106 - BM01 ->  0101M0 - 15BM00
                       0106        ->    BM01
                       0105 - 0305 ->    01M1 -   03M1
            ( 2000 )  '100'        -> '102'
            ( 2000 )  '200'        -> '205'




    8.3.1  Automatische Stringersetzung in
           Kommentaren und Ueberschriften                     PCL1043


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
          ------------------------------
  In Ueberschriften / Kommentaren von Anforderungen kann das PCL1043
  einen beliebigen String durch anderen maschinell ersetzen.
  Diese Umsetzung eignet sich, falls ein standardisierter Text in
  mehreren Anforderungen generell durch einen anderen ausgetauscht
  werden soll.

  Der Bereich, in dem die Ersetzung stattfinden soll, muss
  durch <UE>, <ZU>, <SU> oder <KO> angekuendigt werden:

  Angabe in der Vorlaufkarte:
  --------------------------
  Textersetzung in Anforderungsueberschrift:
  <UE>   'alter String'   ->   'neuer String'

  Textersetzung in Zeilenueberschriften:
  <ZU>   'alter String'   ->   'neuer String'

  Textersetzung in Spaltenueberschriften:
  <SU>   'alter String'   ->   'neuer String'

  Textersetzung in Kommentaren:
  <KO>   'alter String'   ->   'neuer String'




  Einstreuung von Parametern:
  ==========================


  Auch die automatische Einstreuung eines Parameters
  (z.B. eines Europarameters) in Anforderungen ist moeglich.


  Falls im 'neuen String' ein Parametername enthalten ist
  (z.B. &&DM), so kann das PCL1043 den verwendeten Parameter
  in die Parametertabelle einpflegen, falls dieser bisher nicht
  eingetragen ist. Dabei sind in der Vorlaufkarte geeignete
  Angaben fuer Parameterinhalt und -Kommentar anzugeben.

  Vorlaufkarte fuer Parameter-Einpflege:
  -------------------------------------
  'alter String'   ->   'neuer &&PARNAME', 'ParInhalt','ParKommentar'

  vgl. Beispiel

  Beispiel:
  --------
   In die Anforderungen, deren Name mit RP beginnen soll in den
   Ueberschriften, Zeilenueberschriften und Kommentaren
   der String 'Vertreter' durch den String 'KeyAccMan'
   ersetzt werden. Die Umsetzung ist unproblematisch, da der alte
   String genauso lang ist wie der neue String.
   Daneben soll in den Ueberschriften, Zeilenueberschriften und
   Spaltenueberschriften die Zeichenkette 'DM' durch '&&DEM' ersetzt
   werden. Als Vorbelegung fuer den Parameterinhalt ist wieder 'DM'
   vorgesehen, Kommentar sei 'Europarameter'.

  Dafuer sind folgende Angaben in der Vorlaufkarte erforderlich:

  B: RP
    <UE> 'Vertreter' ->  'KeyAccMan'
    <ZU> 'Vertreter' ->  'KeyAccMan'
    <KO> 'Vertreter' ->  'KeyAccMan'
    <UE> 'DM'        ->  '&&DEM',    'DM',   'Europarameter'
    <ZU> 'DM'        ->  '&&DEM',    'DM',   'Europarameter'
    <SU> 'DM'        ->  '&&DEM',    'DM',   'Europarameter'

  Wird zu einem spaeteren Zeitpunkt der betreffende Parameter nicht
  mehr benoetigt, weil z.B. alle Werte nur noch in Euro dargestellt
  werden, kann man diesen durch die 'DEL'-Anweisung wieder entfernen.

    <UE> '&&DEM' -> 'Euro',DEL




    8.3.2  Aenderung der Vorbelegung fuer
           Parameterinhalte und Kommentare                    PCL1043


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
          -------------------------------
  Alte Parameterinhalte koennen mit dem PCL1043 maschinell
  fuer viele Anforderungen umgesetzt werden. Dabei kann auch der
  Kommentar, der als Text der Promptmaske erscheint, ersetzt werden.

  <PD> kuendigt dabei die Umsetzanweisung an:

  Angabe in der Vorlaufkarte:
  --------------------------


  Umsetzung des Parameterinhaltes (ggf. Kommentar)
  <PD>  &&PARNAME, 'alter Inhalt', PARART ->     'neuer Inhalt'
                                              (, 'neuer Kommentar')

  Beispiel:
  --------
  Bei den Zeitparametern '&&ZE' der Anforderungen, die mit 'RP'
  beginnen, soll die absolute Voreinstellung '0199' nach der
  relativen Zeitangabe 'BM01' geaendert werden.
  Gleichzeitig soll der Kommentar der Auspraegungsparameter '&&VERTR'
  von 'Vertreter:' nach 'Bitte KeyAccMan. waehlen:' umgesetzt
  werden, ohne die Vorbelegung '4711' zu aendern:


  B: RP
    <PD> '&&ZE',    '0199', ZE ->  'BM01'
    <PD> '&&VERTR', '4711', AU ->  '4711', 'Bitte KeyAccMan waehlen:'




  8.4    Datenbanken initialisieren ( nur VSAM/DLI/ISAM)  PCL1050


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Bei der Installation von ASS ist es notwendig, in Abhaengig-
        keit vom DB-System, Datenbanken zu initialisieren.
        Denn bis auf die Summendatenbank wird auf die Datenbanken nur
        aendernd oder lesend zugegriffen, aber niemals ladend.
        Dies trifft auch fuer die Summendatenbanken zu, die als List-,
        PM-Datenbank oder Anforderungs-Cache verwendet werden.


        I.a. wird das Initialisieren von den betreffenden DB-Systemen
        unterstuetzt.


        In einer VSAM-, DLI- oder ISAM-Umgebung ist das Initialisieren
        (auch Formatisieren genannt) mitunter arbeitsaufwendig.


        Daher wird von ASS ein Utility zur Verfuegung gestellt, das die
        Initialisierung der betreffenden Datenbanken erleichtert.
        Die Initialisierung wird vom Programm PCL1050 durchgefuehrt.


        Es ist zu beachten, dass es bei dem DC-System CICS keine
        SPA-Datenbank gibt, diese wird durch die CICS-Anweisungen fuer
        temporaere Dateien realisiert.




        PCL1050 laedt folgende Daten (VSAM/DLI):


        Auf die Werte-DB wird der Wert 4999 geladen, auf die
        Schluessel-DB der Schluessel 4999 und auf die Steuerungs-DB das
        Arbeitsgebiet 49.
        Diese koennen dann bei Bedarf via ST06 geloescht werden.


        Auf die Anforderungsdatenbank wird die Anforderung AN_49 auf
        die Bibliothek B geladen.
        Diese kann via ST31 geloescht werden.


        Auf die Berichtsdatenbank wird die Liste LADESATZ mit der
        Bibliotheksart L geladen.
        Diese kann via ST31 zum Loeschen gekennzeichnet werden und
        mittels PCL1094 geloescht werden.


        Auf die SPA-Datenbank wird ein Leer-Element namens **AG mit der
        Nummer 0 geladen (nur bei IMS- Umgebung).
        Falls die ASS-Security-Datenbank existiert, so wird dort der
        SC_49 eingetragen.
        Er kann spaeter mit der Transaktion ST09 geloescht werden.


        Auf die Text-Datenbank wird ein Text-Satz zur Sprache 'D'
        mit Textart 'T' und dem Inhalt 'LADESATZ ... ' geschrieben.
        Er kann spaeter bei Bedarf mit der ST06 geloescht werden.


        Auf die PM-Datenbank wird ein Ladesatz mit dem Usernamen
        BATCH, dem Elementnamen PM_nnnn (wobei nnnn die Nummer des
        Arbeitsgebiets mit fuehrenden Nullen ist), dem aktuellen Datum
        und Zeit, einem einstelligen Kennzeichen und der laufenden
        Nummer 0000000 geschrieben.
        Die Nummer des Arbeitsgebiets und das einstellige Kennzeichen
        sind in dem Include SST1219 definiert. Die PM-Datenbank wird
        ueber dieses Include installiert und Einzelheiten entnehme
        man dem Handbuch Installation unter dem entsprechenden
        Datenbanksystem.


        In der Vorlaufkarte wird angegeben, welche Datenbanken
        initialisiert werden sollen.
        Existieren bestimmte Datenbanken in einer Installation nicht
        (z.B. die SPA-Datenbank in einer CICS-Umgebung), so duerfen
        diese in der Vorlaufkarte nicht genannt werden.
        Der Aufbau der Vorlaufkarte ist unten unter Optionen
        beschrieben.


        Bei ISAM-Dateien werden keine Daten geladen. Es wird nur
        ein OPEN OUTPUT und anschliessend ein CLOSE durchgefuehrt.
        Bei einer ISAM-Umgebung wird auch eine BEFORE-IMAGE-Datei
        DST006 benoetigt, die ebenfalls formatisiert werden muss.
        Sie ist von den Dateimerkmalen identisch zur Werte-Datenbank
        DST001. Um die DST006 zu formatisieren kann also eine Werte-
        Datenbank unter dem Namen DST006 formatisiert werden.


        Datenflussplan
        --------------


        ASSCO ----------------------
                                    !
                                 PCL1050
           _____ _____ _____ _____ _!____ _____ _____ _______ _____
          !     !     !     !     !      !     !     !       !     !
       ASSLST WE-DB KY-DB ST-DB AN-DB SPA-DB TE-DB SC-DB LIST-DB PM-DB


        Dateibeschreibung
        -----------------


        DD-Name  ! RECFM ! LRECL !  Beschreibung
        ----------------------------------------
        ASSCO    ! FB    !   80  ! Vorlaufkarte
                 !       !       !
        ASSLST   ! FBA   !  133  ! Protokoll
                 !       !       !
        DST001   !       !       ! WE-DB    Wertedatenbank
        DST011 * !       !       !
        DST012 * !       !       !
        DST013 * !       !       !
        DST002   !       !       ! KY-DB    Schluesseldatenbank
        DST021 * !       !       !
        DST022 * !       !       !
        DST023 * !       !       !
        DST003   !       !       ! ST-DB    Steuerungsdatenbank
        DST031 * !       !       !
        DST032 * !       !       !
        DST033 * !       !       !
        DST004   !       !       ! AN-DB    Anforderungsdatenbank
        DST041 * !       !       !
        DST005 * !       !       ! SPA-DB   SPA-Datenbank
        DST007   !       !       ! TE-DB    Text-Datenbank
        DST071 * !       !       !
        DST009   !       !       ! SC-DB    Security-Datenbank
        DST091 * !       !       !
        DSTXX0   !       !       ! LIST-DB  Listen-Datenbank
        DSTXX1 * !       !       !
        DSTmm0   !       !       ! PM-DB    PM-Datenbank
        DSTmm1 * !       !       ! (mm ist abhaengig von SST1219)
        DSTnn0   !       !       ! Anforderungs-Cache
        DSTnn1 * !       !       !


        Bemerkung:
        Die mit "*" gekennzeichneten Datenbanken sind nur fuer das
        DB-System DL/I relevant.
        Die SPA-Datenbank wird fuer das DC-System IMS benoetigt, aber
        nicht fuer CICS.
        Die PM-Datenbank kann nur dann formatisiert werden, falls
        diese Datenbank bereits installiert ist. Einzelheiten entnehme
        man dazu dem Handbuch Installation fuer das betreffende
        Datenbanksystem.


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


        Die Optionen werden ab der 1. Karte angegeben und unterein-
        ander durch Kommata getrennt.
        ACHTUNG:  Es werden aber nur die ersten 72 Zeichen innerhalb
                  einer Karte beruecksichtigt.


        Inhalt     ! Aktion
        -----------+---------------------------------------------
                   !
        WE         !  Satz in Werte-Datenbank schreiben
                   !
        KY         !  Satz in Schluessel-Datenbank schreiben
                   !
        ST         !  Satz in Steuerungs-Datenbank schreiben
                   !
        AN         !  Satz in Anforderungs-Datenbank schreiben
                   !
        SPA        !  Satz in SPA-Datenbank schreiben
                   !
        TE         !  Satz in Text-Datenbank schreiben
                   !
        SC         !  Satz in Security-Datenbank schreiben
                   !
        LISTDB     !  Satz in Listen-Datenbank schreiben
                   !
        PM         !  Satz in PM-Datenbank schreiben
                   !  (wie bereits oben erwaehnt, muss diese
                   !  Datenbank bereits installiert sein)
                   !
        ANFCACHE   !  Satz in Anforderungs-Cache schreiben
                   !
        DB=ISAM    !  Sollen ISAM-Dateien (BS2000) formatiert werden,
                   !  so muss diese Option angegeben werden.



        BEISPIEL:
        --------


        //         EXEC PCL1050
        //DFSURW1  DD   UNIT=SYSDA
        //ASSCO    DD   *
            WE,
            KY,
            ST
        //ASSLST   DD   SYSOUT=*



        Bemerkung:
        ---------
        Falls in der Prozedur das DD-Statement "DFSURWF1" noch nicht
        vorhanden ist, muss dieses Statement in einer DLI-Umgebung
        unbedingt eingefuegt werden.






  8.5    Arbeitsgebiete sperren                           PCL1082


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Mit dem Dienstprogramm PCL1082 kann man Arbeitsgebiete
        fuer die Auswertung sperren bzw. wieder freigeben. Ein
        gesperrtes Arbeitsgebiet steht nicht fuer Auswertungen zur
        Verfuegung. Es ist aber moeglich, in gesperrte Arbeitsgebiete
        einzuspeichern bzw. gesperrte Arbeitsgebiete zu reorgani-
        sieren. Von daher ist es sinnvoll, Arbeitsgebiete waehrend
        Einspeicherungen oder Reorganisationen zu sperren, um zu
        verhindern, dass vor korrektem Abschluss dieser Massnahmen
        Auswertungen auf zwischenzeitlich inkonsistente Daten zu-
        greifen.


        Es besteht zusaetzlich die Moeglichkeit,
        Arbeitsgebiete fuer die Folgeeinspeicherung zu reservieren.
        Hierzu ist in der Vorlaufkarte die Angabe FOLGEEINSP zu machen.
        Derartig gekennzeichnete Arbeitsgebiete stehen fuer die
        Auswertung zur Verfuegung, werden jedoch fuer die Verarbeitung
        durch die meisten Batch-Utilities (z.B. Reorganisations-
        programme) gesperrt. Hierdurch besteht die Moeglichkeit,
        insbesondere waehrend des Laufes von PCL1001 die Auswertung
        des zu bespeicherenden Arbeitsgebietes zu ermoeglichen.
        Ein Arbeitsgebiet, dass fuer die Folgeeinspeicherung
        reserviert ist, kann im weiteren Verlauf durch einen erneuten
        Lauf direkt auf "gesperrt" gesetzt werden.


        Welche Arbeitsgebiete gesperrt bzw. freigegeben werden sollen,
        wird ueber Vorlaufkarten gesteuert.


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


        Eine Vorlaufkarte muss die Arbeitsgebietsnummer enthalten und
        eine Angabe, wie das Arbeitsgebiet zu behandeln ist. Fuer
        jedes zu behandelnde Arbeitsgebiet muss eine Vorlaufkarte
        angegeben werden.


        ACHTUNG:  Es werden nur die ersten 72 Zeichen innerhalb
                  einer Karte beruecksichtigt.


        FORMAT:


           AGNR = 37 , SPERREN
           AGNR = 04 , FREIGEBEN
           AGNR = 23 , FOLGEEINSP



        Bemerkung:
        ---------
        Ist ein Arbeitsgebiet nicht geprueft, so kann kein Sperrkenn-
        zeichen gesetzt werden.




        Datenflussplan
        --------------


          .---.        .---.                      !
        ,'     ',    ,'     ',                    ! 1  SPA-Datenbank
        !'.___.'!    !'.___.'!     _______        !    //DST005
        !       !    !       !    /       !       !    //DST051 (DLI)
        !   1   !    !   2   !    !   3   !       !
        !       !    !       !    !       !       ! 2  Steuerungs-DB
         '.___.'      '.___.'     ---------       !    //DST003
            V            V            V           !    //DST031 (DLI)
            !            !            !           !    //DST032 (DLI)
            !____________!____________!           !    //DST033 (DLI)
                         !                        !
                         !                        ! 3  Vorlaufkarte
                   -------------                  !    //ASSCO
                   !           !                  !
                   !  PCL1082  !                  ! 4  Protokoll
                   !           !                  !    //ASSLST
                   -------------                  !
                         !                        !
            _____________!_____________           !
            !            !            !           !
            !            !            !           !
            V            V            V           !
          .---.        .---.      _________       !
        ,'     ',    ,'     ',    !       !       !
        !'.___.'!    !'.___.'!    !   4   !       !
        !       !    !       !    !      _!       !
        !   1   !    !   2   !    !_____/         !
        !       !    !       !                    !
         '.___.'      '.___.'                     !






  8.6    Formate (MFS) modifizieren ( nur IMS )           PST1053


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Dieses Dienstprogramm kann nur in IMS-Installationen angewendet
        werden.


        Falls mit den Aenderungen in den beiden Includes SSTDEV1 und
        SSTDEV2 nicht die Formate in die gewuenschte Form gebracht
        werden koennen, so kann mit diesem Dienstprogramm die MFS-
        Source saemtlicher Masken angepasst werden.


        Zur Zeit ist folgende Funktion implementiert:
        In der MSG-Anweisung wird der SOR-Parameter um IGNORE
        erweitert.


        Achtung: PST1053 ist nur auf die ausgelieferten MFS-Sourcen
                 anwendbar.


        ABLAUF:
        ------


        Datenflussplan
        --------------


              ASSCO    ASSBST
                !____ ____!
                     !
                  PST1053
                 ____!____
                !         !
             ASSLST    ASSBST


        Dateibeschreibung
        -----------------


        DD-Name  !Format!RECL! Beschreibung
       ----------+--------------------------------------------------
                 !      !    !
        ASSCO    ! FB   !  80! Vorlaufkarte, z.Z. noch nicht benutzt
                 !      !    !
        ASSLST   ! FBA  ! 133! Protokoll,
                 !      !    ! 80-spaltig in den Spalten 7 bis 86
                 !      !    !
        ASSBST   ! FB   !  80! Formate,
                 !      !    ! werden auf der gleichen Datei veraendert






  8.7    Transparente Verdichtungsstufen transformieren   PCL1048


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Mit dem Dienstprogramm PCL1048 werden transparente
        Verdichtungsstufen in das komprimierte Format transformiert.
        Steht in der Cobol-Version von ASS nicht zur verfuegung.






  8.8    Transparente Verdichtungsstufen entsorgen        PCL1057


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


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


        Das Programm PCL1057 ist nur bei ASS-Installationen mit
        transparenten Verdichtungsstufen moeglich.


        Mit diesem Programm kann ueber Vorlaufkarte bestimmt werden,
        fuer welche Jahre die Informationen in den transparenten
        Verdichtungsstufen verbleiben.
        Steht in der Cobol-Version von ASS nicht zur verfuegung.






  8.9    Aufruf von MST0272 aus ASSEMBLER                 MST0271


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


        Einzige Aufgabe des Assemblerprogrammes MST0271 ist es,
        das PL/I-Programm MST0272 aufzurufen.
        Falls MST0272 sich nicht von Ihrem COBOL-Hauptprogramm
        aufrufen laesst, so kann man dies mittels MST0271 bewerk-
        stelligen.
        MST0271 laeuft nur unter BS2000 und VSAM.
        Im Falle von VSAM ist MST0271 als Beispielprogramm ge-
        dacht.






  8.10   Summensaetze der Basisverdichtungsstufe liefern      MST0272


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


        Dieses Programm ist ein PL/I-Unterprogramm, dass von
        benutzereigenen Batch-Hauptprogrammen aufgerufen werden
        kann.
        Es gibt pro Aufruf einen Satz aus der Summendatenbank zurueck,
        der die eingegebenen Suchkriterien erfuellt. Bei jedem Folge-
        aufruf liefert MST0272 den naechsten Summensatz zu diesen
        Suchkriterien (sofern vorhanden).


        Die Suchkriterien muessen vom aufrufenden Programm mitgeteilt
        werden : Zu jedem eingegebenen Schluessel muss genau ein Inhalt
        vorgegeben werden, mit dem dann der entsprechende Schluessel-
        inhalt des Rueckgabesatzes uebereinstimmen muss.
        Es wird immer die Basisverdichtungsstufe ausgewertet.
        Die Reihenfolge der zurueckgegebenen Saetze richtet sich nach
        der Reihenfolge auf der Summendatenbank und somit nach den
        internen Schluesselinhaltsnummern.


        Mittels dieses Programmes ist es z.B. leicht moeglich, mit
        Hilfe eines vom Benutzer geschriebenen Hauptprogramms beliebige
        Umbuchungen vorzunehmen.
        Der Ausgabesatz wird im Format der langen Schnittstelle er-
        stellt.


        Dem MST0272 sind mitzuteilen :
        - 1 Arbeitgebiet
        - 1 Zeitraumintervall
        - 0 bis 90 Werte
        - 0 bis 98 Schluessel und Schluesselinhalte
        - Opcode (Blank oder 'CLOS')
        - PCB-Pointer (nur DL/I)


        Das MST0272 liefert zurueck :
        - 1 Ausgabesatz im langen Schnittstellenformat
        - Returncode und Fehlertext


        Schnittstellenbeschreibung s.u..


        Zur Programmlogik des MST0272 :
        Es werden alle verwendeten und in der Basisverdichtungsstufe
        ausgepraegten Schluessel samt ihrer aktuellen Auspraegungen
        zurueckgegeben.
        Ferner werden zu den eingegebenen Werten und den Zeitpunkten
        im eingegebenen Intervall die Werteinhalte zurueckgeliefert,
        sofern sie auf der Summendatenbank vorhanden sind.
        Wurden keine Werte eingegeben, so werden alle in der Basis-
        verdichtungsstufe verwendeten Werte ergaenzt, die keine
        Vorgabewerte sind.




        Soll bei Folgeaufrufen des MST0272 jeweils nur der naechste
        Summensatz zurueckgegeben werden, so muss die Eingabe-
        schnittstelle unveraendert bleiben.
        Werden in der Eingabeschnittstelle nur die Schluesselinhalte
        geaendert, so wird die Summendatenbank wieder von vorne ge-
        lesen, die Parameterdatenbanken werden aber nicht von neuem
        gelesen. Dies ist wichtig bei Performance-Betrachtungen.


        Nach einem CLOSE-Aufruf ( EINTAB.OPC = 'CLOS' ) wird die
        Summendatenbank von vorne gelesen.


        Passen nicht alle Werteeintraege in den Ausgabesatz, so fuehrt
        MST0272 Satzsplitting durch: Zunaechst werden soviele Werte-
        eintraege zurueckgeliefert, wie in den Ausgabesatz passen,
        beim naechsten Aufruf werden dann die naechsten Werteeintraege
        zurueckgegeben, usw..


        Zwischen 2 Aufrufen des MST0272 sollte der Ausgabeparameter
        ASSIN01 nicht veraendert werden, da nicht alle Felder von
        ASSIN01 jedesmal neu gefuellt werden.


        Zum Begriff der Basisverdichtungsstufe :
        Diese kann von den angegebenen Werten abhaengig sein.
        Schluessel, die auch in keiner anderen Verdichtungsstufe,
        in der einer der eingegebenen Werte verwendet wird, ausgepraegt
        sind, koennen in dieser Basisverdichtungsstufe verdichtet sein,
        alle anderen muessen ausgepraegt sein.
        MST0272 kann mehrere Verdichtungsstufen einer Verdichtungs-
        stufenmenge verarbeiten, die Verdichtungsstufenmenge jedoch
        muss eindeutig sein.
        Im Falle mehrerer Verdichtungsstufen wird eine nach der anderen
        abgearbeitet. Auch wenn sich 2 Verdichtungsstufen zeitlich
        ueberschneiden, werden die Summensaetze getrennt zurueckgegeben
        und nicht aufaddiert.


        Verdichtungsstufen, die sich nicht auf einer Summendatenbank
        befinden ( sequentielle Verdichtungsstufen ), werden nicht
        beruecksichtigt.




        Aufrufparameter von MST0272
        ===========================
        In PL/I lesen sie sich so:


        DCL
         01 EINTAB CONNECTED,
          05 AG,
           10 AGNR         BIN FIXED(15), /* Arbeitgebietsnummer   */
           10 ZEIT_VON     CHAR (4),      /* von-Angabe  Zeit-     */
           10 ZEIT_BIS     CHAR (4),      /* bis-Angabe  intervall */
                                          /* Format JJMM           */
           10 ANZ_SCHL     BIN FIXED(15), /* Anzahl Schluessel     */
           10 ANZ_WERTE    BIN FIXED(15), /* Anzahl Werte          */
           10 KENR (98)    BIN FIXED(15), /* Schluesselnummern,    */
                                          /* ANZ_SCHL Eintraege    */
           10 WENR (90)    BIN FIXED(15), /* Wertenummern,         */
                                          /* ANZ_WERTE Eintraege   */
          05 KEY,
           10 KEINH (98)   CHAR(12),      /* Schluesselinhalte zu  */
                                          /* den Schl. aus KENR    */
          05 OPC           CHAR(4),       /* Opcode :              */
                                          /* 'CLOS' : Close auf    */
                                          /* Summendatenbank und   */
                                          /* Parameterdatenbanken  */
                                          /* Blank  : sonst        */


         01 ASSIN01 ,                     /* Ausgabesatz           */
          05 SL            BIN FIXED(15), /* Satzlaenge            */
          05 DTA           CHAR(6000),    /* Datenteil,            */
                                          /* Beschreibung s.u.     */


         01 RETCODE,
            05 RTC         CHAR(2),       /* Returncode,           */
                                          /* Blank : O.K.          */
                                          /* 'GE'  : nicht gefunden*/
                                          /* sonst : Fehler        */
            05 FTEXT       CHAR(80),      /* Fehlertext,           */
                                          /* siehe ASS9501-ASS9512,*/
                                          /* bei RTC = 08,17   z.T.*/
                                          /* aus MST0008,MST0017   */


         01 PCB_POINTER,                  /* Nur DL/I              */
          05 PCBDBIO_PTR        POINTER,  /* Einbabe/Ausgabe       */
          05 PCBDB01_PTR        POINTER,  /* Wertedatenbank        */
          05 PCBDB02_PTR        POINTER,  /* Schluesseldatenbank   */
          05 PCBDB02Y1_PTR      POINTER,  /* 1.Sekundaerindex  ,,  */
          05 PCBDB02Y2_PTR      POINTER,  /* 2.Sekundaerindex  ,,  */
          05 PCBDB03_PTR        POINTER,  /* Steuerungsdatenbank   */
          05 PCBDBPR_PTR        POINTER,  /* Securitydatenbank     */
          05 PCBDBSU_PTR (100)  POINTER;  /* Summendatenbanken     */




        Format von ASSIN01 ( ext. Schnittstelle, langes Format ) :
        ==========================================================


        DCL
        01 CH_W_ASSIN01_2    BASED ( ADDR(ASSIN01) ),
           05 SATZ_LAENGE  BIN FIXED (15) ,  /* SATZLAENGE           */
           05 SCHNST_NR    BIN FIXED (15) ,  /* NR DER SCHNITTSTELLE */
           05 EDATUM       CHAR      (06) ,  /* ERSTELLUNGSDAT.JJMMTT*/
           05 SATZ_ART     BIN FIXED (15) ,  /* SATZART              */
           05 ORD_BEGR     CHAR      (30) ,  /* ORDNUNGSBEGR I AUSGBE*/
           05 SCHL_ZAHL    BIN FIXED (15) ,  /* ANZAHL SCHLUESSEL    */
           05 WERT_ZAHL    BIN FIXED (15) ,  /* ANZAHL WERTE         */
                                             /* SCHLUESSEL-TABELLE   */
           05 SCHL_EINTAB (200),
            10 SCHL_NR     BIN FIXED (15) ,  /* SCHLUESSEL-NR        */
            10 SCHL_INH    CHAR      (12) ,  /* SCHLUESSEL-INHALT    */


        01 CH_W_ASSIN01_3    BASED ( ADDR(ASSIN01) ),
           05 SATZ_LAENGE  BIN FIXED (15) ,  /* SATZLAENGE           */
           05 SCHNST_NR    BIN FIXED (15) ,  /* NR DER SCHNITTSTELLE */
           05 EDATUM       CHAR      (06) ,  /* ERSTELLUNGSDAT.JJMMTT*/
           05 SATZ_ART     BIN FIXED (15) ,  /* SATZART              */
           05 ORD_BEGR     CHAR      (30) ,  /* ORDNUNGSBEGR I AUSGBE*/
           05 SCHL_ZAHL    BIN FIXED (15) ,  /* ANZAHL SCHLUESSEL    */
           05 WERT_ZAHL    BIN FIXED (15) ,  /* ANZAHL WERTE         */
                                             /*      WERTE-TABELLE   */
           05 WERT_EINTAB (400),
            10 WERT_NR     BIN FIXED (15) ,  /* WERTE-NR             */
            10 WERT_INH    DEC FIXED (15) ,  /* WERTE-INHALT         */
            10 WERT_DATUM  CHAR      (04) ;  /* WERTE-DATUM JJMM     */


        Zu beachten :
        Schluessel- und Werteeintraege belegen dieselbe Tabelle.
        Zunaechst kommen SCHL_ZAHL Eintraege fuer die Schluessel, dann
        WERT_ZAHL Eintraege fuer die Werte.






  8.11   Externe ASS-Schnittstelle erstellen                  PCL1081


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


        Dieses Programm erzeugt aus einer vom Benutzer erstellten
        Schnittstelle eine externe Schnittstelle fuer ASS im kurzen
        Format.
        Dabei werden Konsistenzpruefungen durchgefuehrt, wobei die
        Eintraege in der angelieferten Eingabedatei mit den Daten
        auf den Parameterdatenbanken verglichen werden.
        Z.B. wird geprueft, ob ueberhaupt eine passende Verdichtungs-
        stufe zur Einspeicherung vorhanden ist.



        Zur Programmlogik
        =================


        - Es gibt eine Eingabedatei ASSIN01 und zwei Ausgabedateien
          ASSOU01 und ASSOU02. Wahlweise kann der Kopfsatz auch auf
          einer gesonderten Datei angeliefert werden, die dann ASSIN02
          heisst. Dies wird im Include SST1222 festgelegt (KOPFORT
          = '1' : ASSIN02 ist aktiv). Alle vier Dateien sind sequen-
          tielle Dateien mit variabler Satzlaenge. ASSIN01 bzw. ASSIN02
          enthaelt als ersten Satz einen beschreibenden Kopfsatz, dann
          folgen auf ASSIN01 die eigentlichen Datensaetze, die alle
          gleich aufgebaut sind.


        - Die Angabe KOPFORT im Copy SST1222 kann
          per Vorlaufkarte uebersteuert werden. Zusaetzlich
          sind in dieser Version auf ASSIN01 bzw. ASSIN02 auch Eingaben
          im line-sequentiellen Format erlaubt. Diese Option wird
          ebenfalls ueber Vorlaufkarte gesteuert.


        - Der Kopfsatz wird eingelesen und geprueft. Hierbei wird auf
          die ASS-Parameterdatenbanken zugegriffen und geprueft, ob
          der Kopfsatz fuer das betreffende Arbeitsgebiet geeignet ist.
          Der Kopfsatz wird immer auf die Datei ASSFEHL geschrieben.


        - Aus jedem Summensatz der Eingabedatei wird ein Summensatz im
          externen Schnittstellenformat aufgebaut und auf ASSOU01 aus-
          gegeben, es sei denn, der angelieferte Satz enthaelt nur
          Null-Eintraege. Hierbei wird kleinstes und groesstes Werte-
          datum pro Wert ermittelt.
          Auch die Summensaetze werden geprueft. Fehlerhafte Summen-
          saetze werden auf die Datei ASSFEHL geschrieben.


        - Der Endesatz der ASS-externen Schnittstelle wird auf
          ASSOU01 ausgegeben.


        - Der Kopfsatz der ASS-externen Schnittstelle wird auf ASSOU02
          geschrieben, wobei hier die minimalen und maximalen Zeit-
          raeume, die vorher ermittelt wurden, beruecksichtigt werden.


       Aufbau des beschreibenden Satzes
       ================================


       01 KOPFSATZ,
        05 SL      BIN FIXED (15), /* SATZLAENGENFELD: ANZAHL EIN-  */
                                   /* TRAEGE IN EL_TAB * 12 + 2     */
        05 AGNR    BIN FIXED (15), /* NUMMER DER ARBEITSGEBIETS     */
        05 EL_TAB (325),           /* 325 IST DIE MAXIMALE ZAHL     */
                                   /* VON EINTRAEGEN. DIE TAT-      */
                                   /* SAECHLICHE ZAHL WIRD AUS DEM  */
                                   /* SATZLAENGENFELD BERECHNET.    */
         10 EL_ART BIN FIXED (15), /* ART DES EINTRAGES             */
                                   /*  1: ORDNUNGSBEGRIFF           */
                                   /*  2: SCHLUESSEL                */
                                   /*  3: WERT MIT ZEIT (JJMM)      */
                                   /*  4: WERT MIT ZEIT (JJMMTT)    */
                                   /*  SONST: ELEMENT WIRD IGNORIERT*/
         10 EL_NR  BIN FIXED (15), /* BEI SCHLUESSELN SCHLUESSELNR. */
                                   /* BEI WERTEN WERTENUMMER        */
                                   /* SONST 0                       */
         10 EL_DIST BIN FIXED(15), /* DISTANZ DES EINTRAGS (AUSPRAE-*/
                                   /* GUNG, ORDNUNGSBEGRIFF ODER    */
                                   /* WERTEINHALT) IM SUMMENSATZ,   */
                                   /* BEZOGEN AUF DEN SATZANFANG    */
         10 EL_LTH BIN FIXED (15), /* LAENGE DES EINTRAGS IM SUMMEN-*/
                                   /* SATZ                          */
         10 EL_DIST_DAT BIN FIXED (15), /* BEI WERTEEINTRAEGEN:     */
                                        /* DISTANZ DES ZUGEHOERIGEN */
                                        /* WERTEDATUMS (JJMM/JJMMTT)*/
                                        /* IM SUMMENSATZ            */
                                        /* SONST 0                  */
         10 EL_WE_ART BIN FIXED (15);   /* BEI WERTEEINTRAEGEN:     */
                                        /* ZUGEHOERIGE WERTEART     */
                                        /* 0 : BESTAND              */
                                        /* 1 : BEWEGUNG             */
                                        /* SONST 0                  */



       Aufbau der Summensaetze der Eingabedatei
       ========================================


       Die Summensaetze muessen alle im Kopfsatz angekuendigten Daten-
       felder an der angekuendigten Position enthalten.


       Schluesselinhalte und Ordnungsbegriff werden im Character-Format
       erwartet.


       Werte werden in gepackter Form erwartet. Die Laengenangabe im
       Kopfsatz gibt die Laenge in Bytes an.
       DEC FIXED(L) ist (L/2 (abgerundet) + 1) Bytes lang.
       Beispiel: DEC FIXED(5) ist 3 Bytes lang.


       Ein Wertedatum hat stets das Format CHAR(04) in der Form JJMM.


       Beispiel:
       =========


       Es soll eine externe Schnittstelle erzeugt werden fuer
        Arbeitsgebiet 1,
        Schluessel    LAND, KREIS, BAUSPARTARIF
        Schluesselnr.   1 ,   11 ,   4
        Werte       BRUTTO_STUECK, BRUTTO_BAUSPARSUMME
        Wertenr.        3        ,   4
        Anlieferung  Bestand (0) ,  Bewegung (1)


       Der Kopfsatz sieht wie folgt aus:
       01 KOPFSATZ,
        05 SL      BIN FIXED (15) INIT(62),
        05 AGNR    BIN FIXED (15) INIT(1), /* ARBEITSGEBIET   */
           /* SCHLUESSEL LAND */
        05 EL_ART_LAND        BIN FIXED (15) INIT(2),
        05 LAND_NR            BIN FIXED (15) INIT(1),
        05 LAND_DIST          BIN FIXED (15) INIT(1),
        05 LAND_LTH           BIN FIXED (15) INIT(12),
        05 LAND_DIST_DAT      BIN FIXED (15) INIT(0),
        05 LAND_WE_ART        BIN FIXED (15) INIT(0),
           /* SCHLUESSEL KREIS */
        05 EL_ART_KREIS       BIN FIXED (15) INIT(2),
        05 KREIS_NR           BIN FIXED (15) INIT(11),
        05 KREIS_DIST         BIN FIXED (15) INIT(13),
        05 KREIS_LTH          BIN FIXED (15) INIT(12),
        05 KREIS_DIST_DAT     BIN FIXED (15) INIT(0),
        05 KREIS_WE_ART       BIN FIXED (15) INIT(0),
           /* SCHLUESSEL TARIF */
        05 EL_ART_TARIF       BIN FIXED (15) INIT(2),
        05 TARIF_NR           BIN FIXED (15) INIT(4),
        05 TARIF_DIST         BIN FIXED (15) INIT(25),
        05 TARIF_LTH          BIN FIXED (15) INIT(2),
        05 TARIF_DIST_DAT     BIN FIXED (15) INIT(0),
        05 TARIF_WE_ART       BIN FIXED (15) INIT(0),
           /* WERT BRUTTO STUECK */
        05 EL_ART_B_STCK      BIN FIXED (15) INIT(3),
        05 B_STCK_NR          BIN FIXED (15) INIT(3),
        05 B_STCK_DIST        BIN FIXED (15) INIT(27),
        05 B_STCK_LTH         BIN FIXED (15) INIT(4),
        05 B_STCK_DIST_DAT    BIN FIXED (15) INIT(31),
        05 B_STCK_WE_ART      BIN FIXED (15) INIT(1),
           /* WERT BRUTTO BAUSPARSUMME */
        05 EL_ART_B_SUM       BIN FIXED (15) INIT(3),
        05 B_SUM_NR           BIN FIXED (15) INIT(4),
        05 B_SUM_DIST         BIN FIXED (15) INIT(35),
        05 B_SUM_LTH          BIN FIXED (15) INIT(8),
        05 B_SUM_DIST_DAT     BIN FIXED (15) INIT(43),
        05 B_SUM_WE_ART       BIN FIXED (15) INIT(1);




       Aufbau eines Summensatzes (Datenteil ohne Satzlaengenfeld)
       ==========================================================



       Die Auspraegungen obiger Schluessel seien Bayern, Muenchen,
       T1, die Werteinhalte 112 und 120233334 zum Datum Jan. 1992
       bzw. Februar 1992.
       Dann sieht der zugehoerige Summensatz folgendermassen aus:
       (Die Zwischenraeume grenzen die einzelnen Eintraege in diesem
        Beispiel nur der Uebersichtlichkeit halber ab, darunter sind
        einige Angaben aus dem Kopfsatz markiert.)



       BAYERN       MUENCHEN     T1      9201          9202
       ccecdd444444 decdcccd4444 ef 0012 ffff 00010334 ffff
       218595000000 445538550000 31 001c 9201 0002233c 9202

       LAND_LTH---- ^ KREIS_DIST         ^ B_STCK_DIST_DAT
       = 12           = 13                 = 31



       Anforderungen an die Eingabedatei:
       =================================


       Sie muss alle Schluessel des gewuenschten Arbeitsgebietes ent-
       halten, die fuer die geplante Datenuebernahme erforderlich sind.
       Dies sind alle Schluessel aus allen denjenigen aktiven Verdich-
       tungsstufen, die durch die gewuenschte Einspeicherung eines Wer-
       tes betroffen sind, in denen der Wert also verwendet wird.


       Es muss wenigstens ein Wert des gewuenschten Arbeitsgebietes
       enthalten sein, der in einer nicht stillgelegten Verdichtungs-
       stufe eingespeichert wird.


       Der Ordnungsbegriff darf fehlen.


       Kommt ein Wert in einem Summensatz mehrfach vor, so kann der
       Wert in diesem Summensatz zu einem Datum nur einmal angeliefert
       werden.


       Ein Wert darf entweder nur als Bestand oder als Bewegung vor-
       kommen. Alle Bestandswerte muessen dasselbe Datum enthalten.


       Mehrere Werte duerfen auf dasselbe Wertedatum Bezug nehmen.




        Verwendung einer Metatabelle
        ============================


        Die Beschreibungen der angelieferten Summensaetze in der Datei
        ASSOU01 koennen statt aus dem Kopfsatz auch aus einer Tabelle
        ( = Metatabelle) geholt werden.
        Diese Metatabelle kann Informationen aus mehreren Arbeits-
        gebieten enthalten. Das fuer die Erstellung der externen
        Schnittstelle relevante Arbeitsgebiet wird dann in der Vor-
        laufkarte angegeben.
        Ferner koennen in der Metatabelle Feldformate bestimmt werden.
        Z.B. koennen Werteinhalte nicht nur als dezimal gepackt,
        sondern auch in binaerer Form oder im Picture-Format an-
        geliefert werden.
        Die Metatabelle wird in der JCL unter dem DD-Namen ASSIN02 an-
        gegeben.



        Syntax der Metatabelle
        ======================


        Um die Informationen aus dem richtigen Arbeitsgebiet aus der
        Metatabelle herauszufiltern, muss die Tabelle folgenden Aufbau
        haben :



        AG-Zeile
        TAB-Zeile
        Beschreibende Saetze
               .
               .
               .
        neue AG-Zeile oder Datei-Ende (kennzeichnet Ende der Infor-
                                       mation ueber betreffendes AG )



        Leerzeilen sind erlaubt und werden ueberlesen.



        Aufbau der AG-Zeile
        ===================


        Spalte  !   Inhalt
        --------------------------
         1 -  2 !   'AG'
         4 -  7 ! Arbeitsgebietsnummer, Format PIC '9999'
         9 - 16 ! Werteanlieferungsart : 'BESTAND' / 'BEWEGUNG'




        Aufbau der TAB-Zeile
        ====================


        Spalte  !   Inhalt
        --------------------------
         1 -  3 !   'POS' (wird als einziges abgefragt)
         4 - 72 !  beliebig, z.B.
                ! '  LEN  KEY  TYP FORMAT BEZEICHNUNG          POSDAT'



        Aufbau der Beschreibenden Saetze
        ================================


        Spalte  !   Inhalt
        --------------------------
         1 -  4 ! Position des Feldes in den angelieferten Summen-
                ! saetzen, Format PIC 9999
         6 -  9 ! Laenge des Feldes, Format PIC 9999
        11 - 14 ! Nummer des Elements, also Schluessel- oder Werte-
                ! nummer
        16 - 18 ! Typ des Elements : 'KEY' / 'VAL' / 'VAT' / 'ADD' /
                !                    'FIX' / 'ORD'
        20 - 25 ! Feldformat : 'CHAR' / 'NUMBER' / 'PACKED' / 'BINARY'
                !              'NUMKST'
        27 - 46 ! Bezeichnung, wird nicht abgefragt
        48 - 51 ! Position des Datums, nur relevant fuer Werteeintraege
                ! ( Typ 'VAL' ), Format PIC 9999



        Bedeutung der Element-Typen
        ===========================


        Typ     !   Bedeutung
        --------------------------
        KEY     ! Schluessel im ASS-Sinne
        VAL     ! Wert im ASS-Sinne, Zeit im Format JJMM
        VAT     ! Wert im ASS-Sinne, Zeit im Format JJMMTT
        FIX     ! Schluessel im ASS-Sinne, aber als Auspraegung wird in
                ! den Saetzen der externen Schnittstelle stets die
                ! Pseudoauspraegung '?!' eingesetzt.
                ! Laengen und Positionsangabe brauchen in der Meta-
                ! tabelle nicht angegeben zu werden.
        ADD     ! Schluessel im ASS-Sinne, der im betreffenden Arbeits-
                ! gebiet verwendet wird, aber fuer die Einspeicherung
                ! irrelevant ist, da er in keiner von der Einspeicher-
                ! ung betroffenden Verdichtungsstufe ausgepraegt ist.
                ! Laengen und Positionsangabe brauchen in der Meta-
                ! tabelle nicht angegeben zu werden.
        ORD     ! Ordnungsbegriff




        Bedeutung der Feld-Formate
        ==========================


        Format  !   Bedeutung
        --------------------------
        CHAR    ! Character(s)
        PACKED  ! Dezimal gepackte ganze Zahl, maximal 15 Stellen
        BINARY  ! ganze Zahl im binaeren Format, maximal 4 Bytes lang.
        NUMBER  ! Ganze Zahl im Format PIC SZ(n) (COBOL-Notation),
                ! 1 <= n <= 15
        NUMKST  ! Ganze Zahl im Format PIC SZ(n) (COBOL-Notation),
                ! 1 <= n <= 21 mit Kommastellen und Tausenderpunkt



        Beispiel fuer Metatabelle :
        ===========================


        0---+----1----+----2----+----3----+----4----+----5----+----


        AG 0032 BESTAND

        POS  LEN  KEY  TYP FORMAT BEZEICHNUNG          POSDAT
        --------  2901 ADD CHAR   ARTIKEL
        0011 0001 1903 KEY CHAR   VERTRAGSTYP
        0023 0002 1903 VAL BINARY STAT_SUMME           0031
        0015 0003 1901 VAL NUMBER ANZAHL               0001
        0025 0010      ORD CHAR

        AG 0033 BEWEGUNG

        POS  LEN  KEY  TYP FORMAT BEZEICHNUNG          POSDAT
        --------  2901 ADD CHAR   ARTIKEL
        --------- 1903 FIX CHAR   VERTRAGSTYP
        0023 0002 1903 VAL BINARY STAT_SUMME           0031
        0015 0003 1901 VAL NUMBER ANZAHL               0001




       Verwendung vom Line-Sequentiellen Format
       ========================================


       PCL1081 kann Eingaben im line-sequential Format
       verarbeiten. Dabei gelten die gleichen Voraussetzungen,
       wie bereits beschrieben. Die Unterschiede werden im weiteren
       Verlauf detailliert beschrieben.


       Aufbau des beschreibenden Satzes
       ================================


       01 KOPFSATZ,
        05 AGNR           * NUMMER DER ARBEITSGEBIETS                *
        05 EL_TAB (800),  * 800 IST DIE MAXIMALE ZAHL VON EINTRAEGEN *
         10 EL_ART        * ART DES EINTRAGES                        *
                          *  1: ORDNUNGSBEGRIFF                      *
                          *  2: SCHLUESSEL                           *
                          *  3: WERT, ZEITFORMAT JJMM                *
                          *  4: WERT, ZEITFORMAT JJMMTT              *
                          * SONST: ELEMENT WIRD IGNORIERT            *
         10 EL_NR         * BEI SCHLUESSELN SCHLUESSELNUMMER,        *
                          * BEI WERTEN WERTENUMMER                   *
                          * SONST 0                                  *
         10 EL_SPNR       * SPALTENNUMMER IM SUMMENSATZ (BEGINNEND   *
                          * AB DER ERSTEN SPALTE) BEZOGEN AUF DEN    *
                          * SATZANFANG                               *
         10 EL_DIST       * DISTANZ DES EINTRAGS (AUSPRAEGUNG, ORDN- *
                          * UNGSBEGRIFF ODER WERTEINHALT) INNERHALB  *
                          * DER SPALTE, BEZOGEN AUF SPALTENANFANG    *
         10 EL_LTH        * LAENGE DES EINTRAGS IN DER SPALTE        *
         10 EL_SPNR_DAT   * BEI WERTEEINTRAEGEN: SPALTENNUMMER IM    *
                          * SUMMENSATZ                               *
         10 EL_DIST_DAT   * BEI WERTEEINTRAEGEN: DISTANZ DES ZUGE-   *
                          * HOERIGEN WERTEDATUMS (JJMM/JJMMTT)       *
                          * SONST 0 BZW. BLANK                       *
         10 EL_WE_ART     * BEI WERTEEINTRAEGEN: ZUGEHOERIGE WERTEART*
                          * 0 : BESTAND                              *
                          * 1 : BEWEGUNG                             *
                          * SONST 0 bzw. blank                       *


       Die Angaben werden auf ASSIN01 bzw. ASSIN02 z.B. semikolon-
       separiert und im Character-Format angeliefert.



       Aufbau der Summensaetze der Eingabedatei
       ========================================


       Alle Inhalte werden im Character-Format erwartet.


       Die Spaltentrennung erfolgt durch ein geeignetes Trennzeichen
       (z.B. Semikolon). Anhand dessen werden die Spaltennummern
       ermittelt und mit denen aus dem Kopfsatz verglichen.
       Leerspalten sind zulaessig.


       Blanks innerhalb einer Spalte sind moeglich. Bei Werten duerfen
       auch fuehrende bzw. schleppende Nullen vorhanden sein.
       Kommata sowie Tausenderpunkt werden ebenfalls verarbeitet.


       Beispiel fuer Line-Sequential:
       ===============================


       Der Kopfsatz fuer obiges Beispiel sieht wie folgt aus:


        1;2;1;1;1;6;;;;3;3;2;1;3;2;4;0;2;4;3;1;8;;;; ...


       AGNR;L_ART;L_NR;L_SP;L_DIST;L_LTH;L_SP_DAT;L_DIST_DAT;L_WE_ART;
               B_STCK_ART;B_STCK_NR;B_STCK_SP;B_STCK_DIST;B_STCK_LTH;
                  B_STCK_SP_DAT;B_STCK_DIST_DAT;B_STCK_WE_ART; ...


       Der Summensatz fuer obiges Beispiel sieht wie folgt aus:


       BAYERN ; 1129201 ; MUENCHEN ; ...
       Spalte1  Spalte2   Spalte3    usw.




        Vorlaufkarte:
        =============


        Die Vorlaufkarte wird in der JCL mit dem DD-Namen ASSCO
        definiert.
        Unterschiedliche Optionen werden durch Kommata getrennt,
        Blanks werden ueberlesen, Semikolon beendet die Eingabe,
        nach einem Gleichheitszeichen wird eine numerische Eingabe
        zwischen 0 und 32767 erwartet.
        Soll ohne Metatabelle gearbeitet werden, so ist in der Vor-
        laufkarte nur ein Semikolon anzugegeben.


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


        Option            !   Bedeutung
        -----------------------------------------------------------
        METATAB           ! Beschreibende Informationen fuer die
                          ! angelieferten Summensaetze wird aus der
                          ! Metatabelle geholt ( DD-Name ASSIN02 )
        AGNR=xxxx         ! Angabe des Arbeitsgebietes, fuer das
                          ! eine externe Schnittstelle erstellt
                          ! werden soll.
                          ! Ist nur fuer die Option METATAB relevant.
        KOPFORT=x         ! Kopfsatz befindet sich auf ASSIN01 bzw.
                          ! ASSIN02 (Include SST1222 uebersteuern)
        FORMAT=x          ! Kopf- und Summensatz werden im angegebenen
                          ! Format erwartet (Bsp. L fuer line-seq.).
        KOMMA=x           ! Angegebenes Zeichen wird als Komma inter-
                          ! pretiert. Ist nur fuer Line-sequentielles
                          ! Format von Bedeutung. Optional.
        TP=x              ! Angegebenes Zeichen wird als Tausenderpunkt
                          ! interpretiert. Nur fuer Line-sequentielles
                          ! Format von Bedeutung. Optional.
        TRENNZ=x          ! Angegebenes Zeichen wird als Trennzeichen
                          ! bei Line-sequentiell interpretiert.
                          ! Optional.
        FEHLER=xxxxxxxxxx ! Maximale Anzahl fehlerhafter Summensaetze,
                          ! die toleriert werden.






  8.12   Abzug der Summendatenbank                        PCL1083
         ins Ladeformat transformieren


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis



   Mit der Applikation PCL1083 kann der Abzug einer Summendatenbank
  von PCL1024 und PCL1124 transformiert werden zum Laden mit der
  Applikation PCL1013.
   Beim Einsatz von PCL1124 ist zu beachten, dass nur genau eine
  Datenbank damit abgezogen werden darf, da PCL1083 nicht zwischen
  primaerer und sekundaeren Summendatenbanken unterscheidet. Die
  Applikation ist also gedacht fuer die Migration auf ein anderes
  Datenbanksystem oder das Zurueckladen fuer eine abgebrochene
  Folgeeinspeicherung oder Reorganisation.


   Bei VSAM kann statt PCL1013 auch die Funktion REPRO des IBM-Utility
  IDCAMS benutzt werden. Bei PCL1083 ist dann die Option ADA anzugeben.
   Bei dem Datenbanksystem DL/I kann statt PCL1024 das IBM-Utility
  DFSURGU0 und statt PCL1083 nebst PCL1013 das IBM-Utility DFSURGL0
  benutzt werden.
   Bei DB2 kann das LOAD-Utility statt PCL1013 benutzt werden, falls
  die Option DB2 benutzt wird.
   Bei ADABAS kann statt PCL1013 auch das SAG-Utility benutzt werden,
  das nach PCL1002 zum Laden eingesetzt wird. Nach PCL1083 und PCL1083
  mit der Option ADA ist dabei als Exit 6 MST0100 anzugeben und nach
  PCL1083 ohne die Option ADA ist als Exit 6 MCL0100 anzugeben.
   Bei Benutzung der Option COBOL muss mit PCL1013 geladen werden.



  Ablauf-Skizze


      ASSCO     DSTnnn    DST002    DST003
         !_________!    ____!_________!
                   !   !
            PCL1024/PCL1124
          _________!
         !         !
       LISTE      AUS
                   !
                   !
                   !
      ASSCO     ASSAINN
         !_________!
                   !
                PCL1083
          _________!
         !         !
      PROTO     ASSAONN
                   !
                   !
                   !
      ASSCO      LADE
         !_________!
                   !
                PCL1013
          _________!
         !         !
       LISTE    DSTnnn



  Datei-Definitionen


    ASSCO    FB oder VB mit maximaler Datenlaenge von 255
             Die Vorlaufkarte ist zur Zeit optional
    PROTO    FBA 133
             Protokoll, wird nur geschrieben
    ASSAINN  Summendatenbankabzug von PCL1024 oder PCL1124, wird nur
             gelesen
    ASSAONN  VB 9800    (wie AUS in PCL1002), ausser Option COBOL
             Ladedatei fuer PCL1013/REPRO/Load, wird nur geschrieben
    ASSAONN  VB 20004    (wie AUS in PCL1002), nur Option COBOL
             Ladedatei fuer PCL1013, wird nur geschrieben
    Es erfolgt kein Zugriff auf irgendeine Datenbank.


   Aus der Vorlaufkarte ASSCO wird nur der erste Satz gelesen. Keine
  Vorlaufkarte ist identisch mit einer leeren Vorlaufkarte. Des
  weiteren gibt es noch die folgenden Optionen, die linksbuendig
  angegeben werden muessen: COBOL, ADA und DB2. Wie ueblich werden nur
  die ersten 72 Zeichen der Vorlaufkarte ausgewertet.
   Bei der Option COBOL ist die Ausgabe ASSAONN VB 20004 und sonst VB
  9800.
   Bei der Option ADA erfolgt die Ausgabe identisch zur PL/I Version.
   Bei keiner Option kann die Ausgabe mittels PCL1013, REPRO (PCL1083
  mit Option ADA) oder ADABAS-Utility (Exit 6) geladen werden, bei DB2
  mit dem LOAD-Utility und bei COBOL mit PCL1013.






  8.13   AG-Textdatenbank erstellen fuer USER-Exit         PCL1231


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


        Das Programm PCL1231 kann eine Datenbank zur Textierung
        von Anforderungen erzeugen. Diese Datenbank wird dann von
        einem Standard-USER-Exit MCL0097 zum Auswertungszeitpunkt
        eingelesen, falls zusaetzliche Textierungen angefordert
        sind. Auf diese Weise koennen Addressen oder aehnliches in
        eine Anforderung eingetragen werden.


        Fuer die Auswertung unter ASS-Excel ist zu beachten:
        Die erweiterten Textangaben stehen im Bezuege-Blatt dann zur
        Verfuegung, wenn bei "Zusaetze --> Seitenueberschriften"
        formal der Begriff &&KSiE1 angefordert wurde
        (also z.B. &&KS2E1 fuer den zweiten Zeilenschluessel).


        Das PCL1231 laedt dazu aus einer Schnittstelle eine
        speziell eingerichtete Datenbank stets ganz neu.
        Datenbanksystemabhaengig muss deshalb zuvor ein Delete der
        bestehenden AG-TextDB und evtl. eine Neuinitialisierung
        mit dem PCL1050 (VLK "TextDB") erfolgen (vgl. Ablaufplan).
        Zur Einrichtung der Datenbank vgl. HINSTALL, AG-TextDB.

        Ablaufplan DLI/VSAM:
        -------------------
                         AG-TextDB "DSTnnn"
                                      !
                                      !
                             DELETE DEFINE CLUSTER
                                      !
                                      !
                                    DSTnnn
             VLK "TextDB"             !
                   !__________________!
                                      !
                                    PCL1050
                 ASSIN                !
                   !__________________!
                                      !
                                    PCL1231
                             _________!
                            !         !
                          ASSLST    DSTnnn

        Ablaufplan DB2:
        --------------
                         AG-TextDB "DSTnnn"
                                      !
                                      !
                              DELETE ALL IN TABLE
                 ASSIN                !
                   !__________________!
                                      !
                                    PCL1231
                             _________!
                            !         !
                           LISTE    DSTnnn


        Ablaufplan bei PC/UNIX mit IDX-Datenbanken:
        ------------------------------------------
        Eine Initialisierung der Datenbank ist nicht noetig.


                         AG-TextDB "DSTTXT"
                                      !
                 ASSIN "PCL1231.TXT"  !
                   !__________________!
                                      !
                                    PCL1231
                             _________!
                            !         !
                           LISTE    DSTTXT




  Datei-Definitionen
    ASSLST   FBA 133 (UNIX/PC: $ASSPTK/PCL1231.PTK)
             Protokoll, wird nur geschrieben


    ASSIN    VB10000 (UNIX/PC: $ASS/PCL1231.TXT)
             Eingabedatei wird nur gelesen
             Alte Schnittstellen koennen durch Dateiverkettung
             zusammen mit der neuen wieder eingespielt werden.

        Satzaufbau von ASSIN:
        --------------------
        Alle Eintraege der Eingabeschnittstelle sind lesbare Zeichen;
        die einzelnen Felder werden mit Semikolon getrennt:
           Schluesselnummer              max.   5 Stellen
           Schluesselinhalt              max.  50 Stellen
           Schluesselinhalsbezeichnung   max. 100 Stellen
           Schluesselinhaltsabkuerzung   max. 100 Stellen
           Text 1                        max. 100 Stellen
           Text 2                        max. 100 Stellen
           Text 3                        max. 100 Stellen
           Text 4                        max. 100 Stellen
           Text 5                        max. 100 Stellen

        Einzelne Textfelder muessen nicht belegt werden.

        Beipiel:


 00110;1000;;;Baumann;Baumannstr 10;88888 Baudorf;Baum_inter-media.de
 00110;1001;;;Hirmer;Hirmerstr 10;88888 Hierdorf;066/1234
 00110;1002;;;Krause;Krausstr 10;88888 Krausen;+0 43-(0)66 66 / 123
 00110;1003;;;Fiedler, Kl;Fiedlbach 10;88888 Fiedling;Fied_i-m.de






  8.14   FTP im Text-Format                         PCL1174 und PCL1175


Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis


  Beim ftp zwischen Windows und BS2000 ist der binaere Modus nur durch
 die beiden folgenden Anweisungen zu erreichen:
  -->     binary
  -->     quote ftype binary


  Alternative Loesung fuer das Uebertragen des Textdatenbank- oder
 Arbeitsgebietsabzugs:
  PCL1174 und PCL1175 koennen fuer jede Datei mit fixer Satzlaenge (FB)
 80, 96 und 166 genutzt werden. Die Uebertragung dieser Datei kann
 binaer oder im Textformat (ASCII ohne Zeilenterminierung) erfolgen,
 wobei dies durch eine doppelt so grosse Ausgabe von PCL1174 erreicht
 erreicht wird.


        ASSCO   ASSIN
          !___ ___!
              !
           PCL1174
              !
              !
            ASSOUT  =   ASSIN   ASSCO
                          !___ ___!
                              !
                           PCL1175
                              !
                              !
                            ASSOUT


 MVS, OS/390 und z/OS  ASSCO, Vorlaufkarte FB 80
                       ASSIN und ASSOUT jeweils FB 80
                       ASSI96 und ASSO96 jeweils FB 96
                       ASSI166 und ASSO166 jeweils FB 166
 BS2000                ASSCO, Vorlaufkarte, variabel lang
                       ASSIN und ASSOUT fixe Satzlaenge 80
                       ASSI96 und ASSO96 fixe Satzlaenge 96
                       ASSI166 und ASSO166 fixe Satzlaenge 166
 UNIX und WINDOWS      ASSCO hat Dateinamen $ASSVLK/T1174.VLK
                                       bzw. $ASSVLK/T1175.VLK
                       ASSIN hat Dateinamen $ASS/ASSIN.DAT
                       ASSOUT hat Dateinamen $ASS/ASSOUT.DAT
                       ($ASSVLK und $ASS wie ueblich aus ASS.AIN)
  Mit der linksbuendigen Angabe FB80 oder FB96 oder FB166 wird die
 entsprechende Laenge festgelegt.
 Bei FB80 wird ueber ASSIN und ASSOUT zugegriffen,
 bei bei FB96 wird ueber ASSI96 und ASSO96 zugegriffen
 und bei FB166 wird ueber ASSI166 und ASSO166 zugegriffen.



Vorheriges Kapitel: 7. Online-Pflege von externen Schnittstellendateien

Nächstes Kapitel:   Stichwortverzeichnis