Allgemeines Statistik System
Benutzerhandbuch
Betrieb I - Grundfunktionen
DokumentationsübersichtA S S - B E N U T Z E R H A N D B U C H A S S B E T R I E B I - Grundfunktionen O. Behrens P. Buchholz H. Buerger D. Hahne R. Paulus R. Stoeckle H. Valz G. Witte
In diesem Handbuch wird beschrieben, welche Aktivitaeten technischer Art erforderlich sind, um in einem RZ ein installiertes ASS zu betreiben. Dieses Handbuch gilt fuer folgende Systemumgebungen: IBM-Betriebssysteme MVS oder VSE mit den Versionen: - IMS/DLI - CICS/VSAM - CICS/DLI - CICS/ADABAS SIEMENS-Betriebssystem BS2000 mit den Versionen: - UTM/ISAM Fuer den einzelnen Anwender sind natuerlich nur die fuer seine ASS-Version relevanten Ausfuehrungen zu beachten.
Die Parameterdatenbanken muessen ONLINE zugreifbar sein; die Transaktion ST06 muss gestartet sein. DST001 DST011 DST012 DST013 DST002 DST021 DST022 DST023 DST003 DST031 DST032 DST033 DST007 DST071 DST009 DST091 ,nur falls ASS-Online-Security installiert worden ist, siehe Handbuch 'Installation', Kapitel 1.1 und 5.7
ADABAS muss aktiv sein und die erforderlichen ADABAS-Files muessen im JOB, in dem die Transaktion ST06 ablaeuft, zugeordnet sein, ST06 muss gestartet sein.
Die Transaktionen ST06 und ST31 und gegebenenfalls ST09 (vgl. Kap. 8) sind in einer UTM-Anwendung zusammengefasst, siehe daher 6.3.
Die Folgeeinspeicherung laeuft in mehreren Schritten ab: 1. Schritt: Verarbeiten externe Schnittstellendatei und Erzeugen interne Schnittstellendatei, bestehend aus den Steps - Abziehen Arbeitsgebiet (PCL1004) - Erzeugen interne Schnittstellendatei (PCL1001) 2. Schritt: Abziehen alte Summendatenbank(en) auf seq. Datei (entfaellt bei Ersteinspeicherung oder falls die interne Schnittstelle direkt eingespeichert wird). IBM DL/I Regelfall: Alte Summendatenbank mittels HSSR oder DFSURGU0 auf seq. Datei abziehen. Existiert im betreffenden RZ HSSR bzw. DFSURGU0 nicht, so kann die alte Summendatenbank mit dem Programm PCL1024 abgezogen werden. Werden Verdichtungsstufen fortgeschrieben, die in mehreren Summendatenbanken gespeichert sind, so muss der Abzug mit dem Programm PCL1124 erzeugt werden. SIEMENS ISAM Alte Summendatenbank(en) mit PCL1024/PCL1124 abziehen. SAG ADABAS Alte Summendatenbank(en) mit PCL1024/PCL1124 abziehen. 3. Schritt: Verarbeiten der Internen Schnittstellendatei mit dem Programm PCL1002: Laden Summendatenbank(en) aus interner Schnitt- stellendatei bzw. erzeugen Ladebestand (bzw. Ladebestaende) aus interner Schnittstellendatei fuer PCL1013 (siehe PCL1002). HINWEIS: PCL1002 fuehrt einen UPDATE auf die Steuerungs-DB durch. Beim Laden von grossen Summendatenbanken entsteht daher viel Loginformation. In diesem Fall fuehrt man das Laden besser mit Schritt 5 durch. 5. Schritt: Einspeicherung in die Summendatenbank(en) (entfaellt, falls Einspeicherung bereits von PCL1002 durchgefuehrt wurde). IBM Ladebestand (bzw. Ladebestaende) in Summendatenbank(en) speichern (PCL1013) SIEMENS Ladebestand (bzw. Ladebestaende) in Summendatenbank(en) speichern (PCL1013) SAG ADABAS Summendatenbank(en) mit ADABAS-Utilities laden unter Verwendung von MST0100 im User-Exit 6. 6. Schritt: Update auf die Steuerungs-DB (PCL1032) Normalerweise fuehrt PCL1002 einen UPDATE auf die Steuerungs-DB durch. Falls Parallellaeufe von PCL1002 erforderlich sein sollten, kann man diesen UPDATE verzoegern und spaeter vom Programm PCL1032 durchfuehren lassen. Einzelheiten s.u.. HINWEIS: Im Programm PCL1002 existiert auch die Moeglichkeit, Aenderungen direkt auf die Summendatenbank zu spielen. Dies ist jedoch nur moeglich, wenn die externe Schnittstelle ausschliesslich Bewegungswerte enthaelt und keine aktiven Verdichtungsstufen auf sequentiellem Datentraeger vorliegen. Beim Fortschreiben von Aenderungen auf die Summendatenbanken verlaengern sich die Saetze. Dies fuehrt z.B. in einer DLI-Umgebung zu Segmentsplits. Ein direktes Fortschreiben ist also nur bei kleinem Aenderungsumfang empfehlenswert. Fuehrt man eine Folgeeinspeicherung in der oben beschriebenen Form (sechs Steps) durch, so wird die betreffende Summendatenbank reorganisiert. Hinweis fuer DLI: Es versteht sich, dass beim direkten Einspeichern von Aenderungen mittels PCL1002 nicht mehr mit einem LADE-PCB gearbeitet werden kann, PROCOPT=A ist dann fuer die betreffenden Summendatenbanken erforderlich. Achtung: Die Schritte 3 und 4 duerfen nicht vertauscht werden.
ASS ist ein in sich abgeschlossenes System. Es uebernimmt Daten aus anderen Systemen nur ueber die externe Schnittstellendatei. Die externe Schnittstelle ist also die zentrale Schnittstelle von ASS zu ASS-fremden Datenbestaenden. Alle Statistikdaten, die in ASS-Summendatenbanken gespeichert und maschinell zur Verfuegung gestellt werden koennen, muessen in externen Schnittstellendateien bereitgestellt werden, von wo aus sie ihm Rahmen der Folgeeinspeicherung in ASS-Summendatenbanken uebernommen werden. Der physikalische Aufbau der externen Schnittstelle ist in dem Handbuch SYSTEMDOKUMENTATION beschrieben. Externe Schnittstellen, die von Schnittstellenprogrammen erstellt wurden, werden zunaechst vom Programm PCL1001 verarbeitet und dabei in eine sogenannte interne Schnittstelle umgeformt. Bei der Verarbeitung von externen Schnittstellendateien werden eine Reihe von Pruefungen durchgefuehrt, um Fehler in der externen Schnittstelle oder Fehler im Handling der Folgeeinspeicherung erkennen zu koennen. Eingaben: -------- 1. Die externe Schnittstellendatei (ASSIN01). 2. Abzug des Arbeitsgebiets, fuer das eine interne Schnittstellendatei erzeugt werden soll. Dieser Abzug wird mit dem Programm PCL1004 erzeugt. Einzelheiten zu diesen Programmen sind dem Handbuch fuer die Dienstprogramme zu entnehmen. Ausgaben: -------- Der OUTPUT von PCL1001 besteht aus drei Komponenten: 1. Eine interne Schnittstellendatei. 2. Fortschreiben von Kontrollinformationen in Werte- und Schluessel- und Steuerungsdatenbank, u.a.: - Aenderungssperre bei Schluesseln setzen - Aenderungssperre bei Werten setzen - Zeitraeume bei verwendeten Werten setzen - Eingespeicherte Zeiten im Arbeitsgebiet setzen 3. Evtl. Ergaenzung von Schluesselauspraegungen in der Schluesseldatenbank. Betriebsmittel: -------------- Da externe Schnittstellen unter Umstaenden einen sehr grossen Umfang annehmen koennen, braucht PCL1001 fuer die Verarbeitung auch eine gewisse Menge an Betriebsmitteln: - temporaere Workdatei ASSWONN - zwei Arbeitsdateien ASSWK01 und ASSWK01 - Arbeitsdatei ASSWK03, falls in Vorlaufkarte ASSWK = 3 oder ASSWK = 4 angegeben - Arbeitsdatei ASSWK04, falls in Vorlaufkarte ASSWK = 4 angegeben Um das Verstaendnis der Arbeitsweise des Programms PCL1001 zu erleichtern, folgt zunaechst ein Datenflussplan. Daran anschliessend werden verschiedene Problempunkte erlaeutert. Ablauf: ------ .---. .---. .---. .---. ,' ', ,' ', ,' ', ,' ', !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! ! ! 140 ! ! 160 ! ! 170 ! ! 180 ! ! ! ! ! ! ! ! ! '.___.' '.___.' '.___.' '.___.' ! ! ! ! ! ! ! ! ! ! ! ! !_________ ! __________! ! ! ! ! ! ! ! ! _____________________! ! ! ! ! ! ! ! ! _______ ! ! ! ! / ! ! ! ! ! ! 190 ! ! ! ! ! .---. +-------+ V V V V ,' ', ! *************** !'.___.'! +--------->! ! ! ! ! PCL1001 !-------------------->! 210 ! ! !-----+ ! ! *************** ! '.___.' ! ! A A A ! ! ! ! ! ! ! ************ ! ! ! ! ! +-------------->! ! ! ! ! ! ! ! 220 ! ! ! ! ! ! ! ***** ! ! ! ! ! ! / ! ! ! ! ! ***** ! ! ! ! ! ! ! ! ! !_______________________________ ! ! ! ! ! ! ! ! !_____________________ ! _________! ! ! ! ! ! ! !__________ ! ! ! ! ! ! ! ! ! ! ! ! V V V V V .---. .---. .---. .---. .---. ,' ', ,' ', ,' ', ,' ', ,' ', !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! ! ! ! ! 230 ! ! 240 ! ! 250 ! ! 260 ! ! 270 ! ! ! ! ! ! ! ! ! ! ! '.___.' '.___.' '.___.' '.___.' '.___.' Dateibeschreibung: ----------------- Lfd.-Nr. ! DD-Name/PGM ! Beschreibung ! LINK-Name ! ---------!--------------!--------------------------------------------- ! ! 140 ! //ASSDB ! Ausgabe von PCL1004 ! ! 160 ! //ASSIN01 ! Externe Schnittstelle ! ! 170 ! //TABL01 ! SHRINK-Tabelle (nur wenn geshrinkte ! ! ext. Schnittstellen verarbeitet werden) ! ! 180 ! //DST001 ! Werte-DB ! //DST011 ! Primaer-Index (nur DLI) ! //DST012 ! Sekundaer-Index 1 (nur DLI) ! //DST013 ! Sekundaer-Index 2 (nur DLI) ! //DST002 ! Schluessel-DB ! //DST021 ! Primaer-Index (nur DLI) ! //DST022 ! Sekundaer-Index 1 (nur DLI) ! //DST023 ! Sekundaer-Index 2 (nur DLI) ! //DST003 ! Steuerungs-DB ! //DST031 ! Primaer-Index (nur DLI) ! //DST032 ! Sekundaer-Index 1 (nur DLI) ! //DST033 ! Sekundaer-Index 2 (nur DLI) ! //DST006 ! Before-Images (nur SIEMENS-ISAM / VSAM) ! ! 190 ! //ASSCO ! Vorlaufkarte, auf DUMMY setzen und bei ! ! Bedarf aktivieren ! ! 210 ! - ! LOGDATEI (nur DLI) ! ! 220 ! //ASSLIST ! Ablaufprotokoll PCL1001 ! //SYSPRINT ! ! ! 230 ! //ASSOUNN ! Interne Schnittstelle, Eingabe fuer PCL1002 ! ! Satzlaenge=10000 ! ! 240 ! //ASSFEHL ! Fehler- und Schwebedatei ! ! Satzlaenge=10000 ! ! 250 ! //ASSWONN ! Arbeitsdatei ! ! Satzlaenge=20000 Lfd.-Nr. ! DD-Name/PGM ! Beschreibung ! LINK-Name ! ---------!--------------!--------------------------------------------- ! ! 260 ! //ASSWK01 ! Workdatei 01, Satzlaenge=20000 ! //ASSWK02 ! -"- 02, Satzlaenge=20000 ! //ASSWK03 ! -"- 03, Satzlaenge=20000 ! //ASSWK04 ! -"- 04, Satzlaenge=20000 ! ! 270 ! //SORTWK01 ! SORTWORK-Bereich 1 - ! bis ! bis !> bei IBM ! //SORTWKnn ! SORTWORK-Bereich nn - ! //SORTWK1 ! SORTWORK-Bereich 1 - ! bis ! bis !> bei SIEMENS ! //SORTWKn ! SORTWORK-Bereich n - ! ! * ! //ASSAU ! nur fuer die Option ASSAU bzw. ASSAU_KOPF * ! ! Host: F B 80, PC: Textdatei Restriktionen: ------------- In einem Programmlauf koennen nur die Daten fuer ein Arbeitsgebiet uebernommen werden. Besonderheiten: --------------- Wird PCL1001 vorzeitig beendet, so wird ein gezielter Programmabbruch erzeugt. Vorzeitiges Programmende liegt vor, wenn - es durch Angaben in den Vorlaufkarten erzwungen wird - wenn mehr als 100 fehlerhafte Summensaetze erkannt werden. Der Wert von 100 kann durch Vorlaufkarte uebersteuert werden (s.u. Option 'FEHLER=NNNN'). Die Massnahmen, die beim "gezielten" Programmabbruch durchgefuehrt werden, sind im INCLUDE-Member SST1031 festgelegt. SST1031 darf installationsabhaengig angepasst werden und ist dann in die installationsabhaengige INCLUDE-Bibliothek zu uebernehmen. Das Datenmengenproblem ---------------------- Das Programm PCL1001 (wie auch das Programm PCL1002) sind darauf ausgelegt, grosse Datenmengen zu verarbeiten. So gibt es Schnittstellendateien, die mehrere Millionen Saetze enthalten. Jeder Satz der Schnittstelle muss intern in PCL1001 noch zusaetzlich vervielfaeltigt werden (entsprechend der Anzahl der nicht generierbaren Verdichtungsstufen). Das entstehende Datenvolumen waere dann noch zu sortieren, ein Unterfangen, das von vornherein zum Scheitern verurteilt ist. Es wurde daher eine portionsweise Verarbeitung der Schnittstellendatei realisiert. Es werden n Saetze der Schnittstellendatei eingelesen, auf das Format der internen Schnittstellendatei gebracht und in die Datei ASSWONN geschrieben. Dann wird ein Sort aufgerufen. In der Sort-Input-Phase wird die Datei ASSWONN seq. gelesen, jeder gelesene Satz wird entsprechend den Anforderungen der Verdichtungsstufen vervielfaeltigt und dann dem SORT uebergeben. In der Sort-Output-Phase erfolgt die Verdichtung. Beim ersten Aufruf des Sort werden die verdichteten Summensaetze in eine Datei ASSWKnn geschrieben. Bei den Folgeaufrufen werden die im vorhergehenden Aufruf erzeugten verdichteten Summensaetze aus einer Datei ASSWKnn sofort mit den vom SORT gelieferten Saetzen gemischt und verdichtet und das Ganze in eine Datei ASSWKmm gestellt. ASSWKnn wird dann im naechsten Aufruf wieder als Ausgabedatei verwendet. Beim letzten Aufruf des Sort wird auf die Datei ASSOUNN ausgegeben. Es werden zwei Arbeitsdateien ASSWK01 und ASSWK02 benoetigt. Bei kleinen Datenmengen kann der erste Aufruf des Sort auch schon der letzte sein. In diesem Fall werden keine Dateien ASSWKnn benoetigt. Die Ausgabe erfolgt sofort und vollstaendig auf ASSOUNN. Fortschreibung stillgelegter Verdichtungsstufen: ------------------------------------------------ Stillgelegte Verdichtungsstufen werden standardmaessig bei der Folgeeinspeicherung nicht fortgeschrieben. Dies kann mittels der Option VSTNR=nn uebersteuert werden. Wenn Sie mit der Option VSTNR arbeiten, muessen Sie alle Ver- dichtungsstufen, in die Einspeicherungen vorgenommen werden sollen, in der Vorlaufkarte angeben. Dabei muss natuerlich auf Datenkonsistenz geachtet werden. So duerfen zum Beispiel keine Datensaetze verloren gehen oder doppelt eingespeichert werden. Um die Regeln zur Auswahl der Verdichtungsstufen zu verstehen, muss man den Begriff der Verdichtungsstufenmenge kennen. Dazu betrachten wir einen Wert, der bei der Einspeicherung an- geliefert wird und dazu alle Verdichtungsstufen, in denen dieser Wert verwendet wird. Dann bilden jeweils die Verdichtungsstufen, in denen exakt dieselben Schluessel ausgepraegt sind und die die gleiche Schluesselreihenfolge haben, eine Verdichtungsstufenmenge. Folgende Regeln sind nun zu beachten : - Aus jeder Verdichtungsstufenmenge (pro angeliefertem Wert) darf hoechstens eine Verdichtungsstufe ausgewaehlt werden. - Aus jeder Verdichtungsstufenmenge, die eine aktive Ver- dichtungsstufe enthaelt, muss genau eine Verdichtungsstufe ausgewaehlt werden. - Alle aktiven sequentiellen Verdichtungsstufen muessen angegeben werden. - Stillgelegte sequentielle Verdichtungsstufen werden nicht be- ruecksichtigt. Generierung von Verdichtungsstufen: ----------------------------------- Der Begriff "GENERIERBARE VERDICHTUNGSSTUFE": Eine Verdichtungsstufe V1 ist aus anderen Verdichtungsstufen generierbar, wenn die Verdichtungsstufen ungleich V1, in denen mindestens die in V1 ausgepraegten Schluessel auch ausgepraegt sind, zusammen alle verwendeten Werte von V1 auch verwenden. Schluesselrelationen im Arbeitsgebiet sind per Definition nicht generierbar. Standardmaessig werden waehrend der Verarbeitung der Schnitt- stellendatei im Programm PCL1001 interne Schnittstellen- saetze nur fuer nicht generierbare Verdichtungsstufen erzeugt. Gibt es generierbare Verdichtungsstufen, so stehen am Ende der Verarbeitung der Schnittstellendatei die internen Schnittstellensaetze fuer nicht generierbare Verdichtungsstufen in verdichteter Form in einer Datei ASSWKnn. Zur Generierung der generierbaren Verdichtungsstufen wird die Datei ASSWKnn sequentiell gelesen, daraus interne Schnittstellensaetze (noch nicht verdichtet) erzeugt und in ASSWONN gestellt. Mit Hilfe des Sort wird dann ASSWONN sortiert und verdichtet, mit ASSWKnn gemischt und nach ASSOUNN ausgegeben. Hierbei kann es passieren, dass auf die Datei ASSWONN sehr viele Saetze ausgegeben werden. Die erzeugte Datenmenge waere fuer einen Sort-Aufruf ev. zu gross. In diesem Fall kann eine portionsweise Verarbeitung wie bei der Verarbeitung der externen Schnittstelle aktiviert werden. Eine portionsweise Verarbeitung benoetigt eine dritte Arbeitsdatei ASSWK03. Diese muss in der JCL zur Verfuegung gestellt werden und via Vorlaufkarte (ASSWK = 3) muss dies dem Programm mitgeteilt werden. Insgesamt wird durch obiges Verfahren die Anzahl der erzeugten (und somit zu sortierenden und verdichtenden) internen Schnittstellensaetze i.a. drastisch reduziert. Lassen sich generierbare Verdichtungsstufen aus unterschiedlichen anderen Verdichtungsstufen generieren, so werden zur Generierung die Verdichtungsstufen mit den wenigsten Saetzen genommen. Anzahl Saetze pro Verdichtungsstufe wird aus SST023CV.CANZSA (Steuerungsdatenbank) entnommen. Bei der ersten Folgeeinspeicherung fuer ein Arbeitsgebiet existiert CANZSA noch nicht, die Auswahl der Verdichtungsstufen, aus denen generiert wird, ist dann rein zufaellig. Die Generierung von Verdichtungsstufen kann von aussen ausgeschaltet werden (OPTION 'NOVSTGENER' in der Vorlaufkarte). Bei Eingabe dieser OPTION werden alle Verdichtungsstufen als nicht generierbar angenommen und dementsprechend verarbeitet. Verdichtungsstufen aus generierbaren Verdichtungsstufen generieren: Betrachtet man allein die Menge der generierbaren Verdichtungs- stufen, so kann diese Menge wieder in zwei Teilmengen zerlegt werden: Verdichtungsstufen, die aus bereits generierbaren Verdichtungsstufen generiert werden koennen bzw. nicht. Beispiel: Die Verdichtungsstufe 1 enthalte die Schluessel S1, S2, S3 und S4, die Werte W1 und W2. Die Verdichtungsstufe 2 enthalte die Schluessel S1, S2 und S4, die Werte W1 und W2. Die Verdichtungsstufe 3 enthalte die Schluessel S1 und S2, den Wert W1. Die Verdichtungsstufe 4 enthalte die Schluessel S1 und S4, den Wert W2. Die Verdichtungsstufen 1 ist nicht generierbar. Die Verdichtungsstufen 2, 3 und 4 sind alle generierbar (aus Verdichtungsstufe 1). Die Verdichtungsstufen 3 und 4 sind jedoch auch aus Verdichtungsstufe 2 generierbar. Folgendes soll erreicht werden: Zunaechst sollen die Daten fuer die nicht generierbaren Verdichtungsstufen (im Beispiel Verdichtungsstufe 1) erzeugt werden. Dann werden hieraus die Daten fuer die nicht generierbaren Verdichtungsstufen, die nicht aus generier- baren Verdichtungsstufen generiert werden koennen, (im Beispiel Verdichtungsstufe 2) erzeugt und zum Schluss hieraus die Daten fuer die generierbaren Verdichtungs- stufen, die aus generierbaren Verdichtungsstufen generierbar sind (im Beispiel Verdichtungsstufe 3 und 4). Das geschilderte Verfahren benoetigt 4 Arbeitsdateien. Es wird durch die Angabe ASSWK = 4 in der Vorlaufkarte aktiviert. Folgende Besonderheiten sind zu beachten: Index-Verdichtungsstufen gelten u.U. (s.u.) als generierbar. Sie gelten jedoch nie als aus generierbaren Verdichtungsstufen generierbar. Existieren explizite Generierungsangaben (s.u.), so wird das hier geschilderte Verfahren nicht aktiviert. Um sicherzustellen, dass bei ASSWK = 4 nicht zu grosse Verdichtungsstufen generiert werden, gilt ein Verdichtungsstufe als generierbar aus generierbaren Verdichtungsstufen, wenn sie nicht zu "gross" ist. Eine Verdichtungsstufe gilt als nicht zu "gross", wenn ihre Satzanzahl kleiner als ein Zehntel der Satzanzahl der groessten Verdichtungsstufe, die eingespeichert wird, ist. Bei der Ersteinspeicherung in ein Arbeitsgebiet sind die genannten Satzanzahlen nicht bekannt. In diesem Fall gibt es keine zu grossen Verdichtungsstufen. Explizite Generierungsangaben ----------------------------- Die Generierung von Verdichtungsstufen kann explizit ueber Vorlaufkarten vorgegeben werden: GENVST: Quell-Verdichtungsstufe -> Ziel-Verdichtungsstufe Beispiel: GENVST: 17 -> 23 Die Verdichtungsstufe 23 soll aus der Verdichtungstufe 17 generiert werden. Verdichtungsstufen mit Werten: Eine Ziel-Verdichtungsstufe kann aus einer Quell-Verdichtungs- stufe generiert werden, wenn alle Schluessel, die in der Ziel-Verdichtungsstufe ausgepraegt sind, auch in der Quell-Verdichtungsstufe ausgepraegt sind und alle Werte, die in der Ziel-Verdichtungsstufe enthalten sind, auch in der Quell-Verdichtungsstufe enthalten sind (unabhaengig von der externen Schnittstelle). Index-Verdichtungsstufen: Eine Index-Verdichtungsstufe kann aus einer Quell-Verdichtungs- stufe generiert werden, wenn alle Schluessel, die in der Index-Verdichtungsstufe ausgepraegt sind auch in der Quell-Verdichtungsstufe ausgepraegt sind und die Quell- Verdichtungsstufe selbst keine Index-Verdichtungsstufe ist. Es koennen mehrere GENVST-Angaben gemacht werden, wobei jede Angabe vollstaendig in einer Vorlaufkarte stehen muss. Zu einer Ziel-Verdichtungsstufe darf nur eine Quell-Verdichtungsstufe angegeben, falsch waere also GENVST: 17 -> 23 GENVST: 18 -> 23 Quell-Verdichungsstufen duerfen nicht als Ziel-Verdichtungs- stufen angegeben werden und umgekehrt. Folgende Vorlaufkarten-Optionen beeinflussen die GENVST-Angaben: Ist CANZSA_GENER_MAX angegeben, so werden bei Verdichtungsstufen mit Werten als Quelle nur Verdichtungsstufen akzeptiert, die noch nicht eingespeichert sind oder die weniger Saetze enthalten, als bei CANZSA_GENER_MAX vorgegeben wurde. Index-Verdichtungsstufen werden werden als Ziel nur wirksam, wenn auch INDEX_GEN = n angegeben ist, n > 0. Als Quelle werden dann nur Verdichtungsstufen akzepiert, die weniger als n Saetze enthalten oder noch nicht ein- gespeichert wurden. Ist NOVSTGENER angegeben, so wirken die GENVST-Angaben nicht. Existieren GENVST-Angaben, die nicht aktzeptiert werden, so wird das Programm abgebrochen. Soll das Programm nicht abgebrochen werden, so ist zusaetzlich die Vorlaufkarten- Option GENVST_NICHT_ABBRECHEN anzugeben. Grundsaetzlich werden nicht aktzeptierte GENVST-Angaben protokolliert. Ziel-Verdichtungsstufen, deren GENVST-Angaben nicht erfuellbar sind, werden wie nicht generierbare Verdichtungs- stufen behandelt. Vorzeitiges Programmende: ------------------------- Nach jedem SORT-Aufruf wird geprueft, ob durch Vorlaufkarten- Optionen ein vorzeitiges Programmende erzwungen werden soll. Die zeitliche Frequenz dieser Pruefung richtet sich also nach der Haeufigkeit der SORT-Aufrufe. Die Frequenz der Sortaufrufe richtet sich nach der Verarbei- tungs-OPTION 'SORTMAX', in der angegeben wird, wieviele Saetze pro Aufruf sortiert werden sollen. ACHTUNG: Ein Satz aus der Schnittstellendatei ergibt N zu sor- tierende Saetze, wobei N die Anzahl der nicht generier- baren Verdichtungsstufen ist. Ist die Schnittstellendatei vollstaendig verarbeitet, folgt ein abschliessender SORT-Aufruf. Gibt es generierbare Verdichtungsstufen, so kann es bei der Generierung von Verdichtungsstufen zusaetzliche SORT-Aufrufe geben. Folgende Kriterien fuehren zum vorzeitigen Programmende: - Es sind aus der Schnittstellendatei bereits mehr Saetze als in der Verarbeitungs-OPTION 'SAETZE' angegeben wurde, verarbeitet worden. - Die Laufzeit des Programms ist groesser als in der Verarbeitungs-OPTION 'MINUTEN' angegeben wurde. Wird das Programm PCL1001 aufgrund von Verarbeitungsoptionen vorzeitig beendet, wird es abnormal beendet, damit eventuelle Folgesteps des aktuellen Jobs nicht mehr ausgefuehrt werden. Verzoegerter Update der Parameterdatenbanken -------------------------------------------- Die Update's auf die Parameter-Datenbanken werden erst am Programmende von PCL1001 durchgefuehrt (Ausnahme Schluessel-Datenbank. s.u.). Ist die Option NUPDAT gesetzt, so werden alle Update's der Parameterdatenbanken auf die Datei ASSUPD ausgegeben. Diese Update's koennen (muessen) dann mit dem Programm PCL1032 nachgeholt werden. Eine Sonderbehandlung erfahren Schluesselauspraegungen. Sie werden u.U. (in Abhaengigkeit von Vorlaufkarten-Optionen) sofort auf die Schluessel-Datenbank gespeichert. Siehe hierzu auch die Beschreibung der Optionen KEYUPDATE bzw. KEYZU. Implementation der "privaten" Checkpoint-Schreibung --------------------------------------------------- Checkpoints werden mit dem Programm MCL0699 geschrieben. Die Aufrufe auf MCL0699 werden durch die Vorlaufkarten- Option CHKP_PRIVAT aktiviert. Checkpoints werden nur dann geschrieben, wenn in der betreffenden Installation MCL0699 dafuer ausgelegt ist. Checkpoints werden nur nach Aenderungen der Parameter- Datenbanken geschrieben. Werden Schluesselauspraegungen waehrend der Verarbeitung der externen Schnittstelle (nicht am Programmende) auf die Schluessel-Datenbank ergaenzt, so werden die betreffenden Aenderungen mit installationsabhaengigen Verfahren fixiert und zwar unabhaengig von der privaten Checkpoint-Schreibung. Benutzung eines Schreib-cache-Verfahrens zur Erzeugung nicht generierbarer Verdichtungsstufen: -------------------------------------- Die Eingabe der OPTION 'VORVERDICHTEN' bewirkt eine andere Art der Erzeugung der nicht generierbaren Verdichtungsstufen. Jeder von ASSIN01 gelesene Summensatz wird auf internes Format gebracht und zunaechst in eine programminterne Tabelle gestellt (SCHREIB-cache). Bei jedem weiteren Summensatz wird zunaechst versucht, diesen soweit wie moeglich in diesen SCHREIB-cache einzuarbeiten. Ist dies nicht moeglich (Aenderung des internen Schluessels), so wird zunaechst der alte Tabelleneintrag nach ASSWONN geschrieben und dann der neue Inhalt aufgenommen. Eine Vervielfaeltigung im USER-EXIT E15 entfaellt in diesem Fall. Eine Sortierung der Daten von ASSWONN erfolgt immer dann, wenn mindestens N Saetze ('SORTMAX=N') auf ASSWONN geschrieben wurden und natuerlich bei EOF von ASSIN01. Der SCHREIB-cache enthaelt M Eintraege, wobei M die Anzahl der nicht generierbaren Verdichtungsstufen ist. Die OPTION 'VORVERDICHTEN' empfiehlt sich immer dann, wenn die externe Schnittstellendatei sortiert vorliegt. Sortiert heisst in unserem Fall: Der hoechste Sortierbegriff ist der Schluesselinhalt desjenigen Schluessels, der in der zugehoerigen Summen-DB am weitesten links steht (kleinste CREPO), ... , niedrigster Sortierbegriff ist der Schluesselinhalt desjenigen Schluessels, der in der zugehoerigen Summen-DB am weitesten rechts steht (groesste CREPO). Beim Generieren der generierbaren Verdichtungsstufen wird stets mit der obigen Vorverdichtung gearbeitet. Ein Ausschalten der Generierung ist voraussichtlich nur in wenigen Anwendungsfaellen sinnvoll. Es ist sicherlich dann sinnvoll, wenn man bei der Generierung der Verdichtungsstufen Platzprobleme auf ASSWONN bekommt. Platzbedarf fuer Dateien ------------------------ Auf die Dateien ASSWONN, ASSWK01, ASSWK02, ASSWK03, ASSWK04 und ASSOUNN werden interne Summensaetze geschrieben. Diese Saetze bestehen aus einem Schluesselteil und einer Wertetabelle. Der Schluesselteil hat die Laenge des KEYS der zugehoerigen Summen-DB + 2. In Abhaengigkeit von Vorlaufkarten-Optionen (z. B. VERDICHTEN) ist ein Eintrag der Wertetabelle unter- schiedlich lang. Die maximale Laenge betraegt 14 Byte. In die Wertetabelle werden i.a. nur Werte ungleich Null aufgenommen. Beispiel: Die externe Schnittstelle enthalte 10 Werte mit gleichem Wertezeitraum. Der KEY der Summen-DB habe die Laenge 30. Daraus ergibt sich eine maximale Satzlaenge von 30 + 2 + 10 * 14 = 172 BYTES (+ Satzlaengenfeld). Dateigroessen: ASSWONN: Die Datei ASSWONN kann in zwei Funktionen waehrend des Programmlaufes verwendet werden: 1. Waehrend der portionsweisen Verarbeitung der Ext. Schnitt- stellendatei ASSIN01 wird ASSWONN i.a. mehrfach erstellt. Die Anzahl der geschriebenen Saetze pro Erstellung haengt von diversen Parametern ab (s.u.). 2. bei der Generierung der generierbaren Verdichtungsstufen Damit haengt die Dateigroesse von zwei Faktoren ab: (Der Datei-Bedarf ist das Maximum von Punkt 1. und 2..) 1. SORTMAX-Parameter: a.ohne Vorverdichten: Anzahl-Saetze = SORTMAX / Anzahl nicht generierbarer Verdichtungsstufen. b.mit Vorverdichten: Anzahl-Saetze = SORTMAX. 2. Verdichtungsstufengenerierung a.Verdichtungsstufengenerierung ist nicht ausgeschaltet (keine Option NOVSTGENER): In diesem Fall werden die Saetze aller generierbaren Verdichtungsstufen aus ASSWK01 oder ASSWK02 erzeugt und nach ASSWONN (mit Vorverdichten) geschrieben. Dies kann in Extremfaellen zu sehr grossen Datenmengen fuehren und zwar dann, wenn - die ausgepraegten Schluessel der generierbaren Verdichtungsstufen vorwiegend rechts im KEY der zugehoerigen Summen-DB angeordnet sind. - ASSWK01/ASSWK02 bereits grosse Ausmasse angenommen haben. Eine endgueltige Schaetzung ist in diesem Fall nur schwer moeglich. Der theoretische WORST-CASE: Anzahl generierbarer Verdichtungsstufen * Anzahl Saetze von ASSWK01/ASSWK02. Werden mehr als 2 Arbeitsdateien zu Verfuegung gestellt (s.o.), so wird das Problem einer zu grossen Datei ASSWONN entschaerft. Die Dateien ASSWK03 bzw. ASSWK04 enthalten nur Daten von generierbaren Verdichtungsstufen. Insbesondere ASSWK04 duerfte nicht das Volumen von ASSWK01/ASSWK02 annehmen. b.Verdichtungsstufengenerierung ist ausgeschaltet: (Option NOVSTGENER): Es wird nicht auf ASSWONN geschrieben. ASSWK01/ASSWK02: Diese Dateien muessen so gross dimensioniert werden, dass sie die Endausgabedatenmenge der nicht generierbaren Verdichtungsstufen aufnehmen koennen, es sei denn, man arbeitet mit 'NOVSTGENER' und so grossem SORTMAX-Parameter, dass sofort auf ASSOUNN geschrieben wird. In diesem Fall werden ASSWK01 und ASSWK02 nicht benutzt. ASSWK03/ASSWK04: Diese Dateien werden beim Generieren von Verdichtungsstufen benutzt. Je nach Situation muessen sie das Volumen der generierbaren Verdichtungsstufen aufnehmen koennen. ASSOUNN: Diese Datei enthaelt die komplette interne Schnittstelle fuer komprimierte Verdichtungsstufen. Eine Schaetzung, wie viele Saetze diese Datei enthaelt, ist praktisch nicht moeglich. Der Platzbedarf fuer ASSOUNN haengt entscheidend davon ab, wie stark die externe Schnittstellendatei verdichtet werden kann. Verdichtungsverhaeltnisse von nahezu 1:1 bis 20:1 kommen in der Praxis vor. Laufzeitprobleme: ----------------- Bei grossen externen Schnittstellendateien und Arbeitsgebieten mit mehreren Verdichtungsstufen koennen optimale Vorlaufkarten- angaben zu deutlicher Programmlaufzeitverkuerzung fuehren: - Der SORTMAX-Parameter sollte nicht zu klein gewaehlt werden. Die Voreinstellung von zwei Millionen sollte, wenn die SORTWK-Bereiche und ASSWONN hinreichend gross gewaehlt werden koennen, nicht verkleinert werden, eher vergroessert. - Die Generierung von Verdichtungsstufen sollte hoechstens dann ausgeschaltet werden, wenn die externe Schnittstellendatei sortiert vorliegt (s.o.) und wenn im Arbeitsgebiet hauptsaechlich ueber die Schluessel verdichtet wird, die im KEY der zugehoerigen Summen-DB weit rechts liegen (grosse CREPO). Werden Verdichtungsstufen generiert, so sollte ASSWK03 und ev. sogar ASSWK04 (s.o.) zur Verfuegung gestellt werden. - Das VORVERDICHTEN sollte eingeschaltet werden: - wenn es genau eine nicht generierbare Verdichtungsstufe gibt oder - wenn die externe Schnittstellendatei sortiert vorliegt. Adressraumbedarf fuer Auspraegungstabellen ------------------------------------------ Schluesselauspraegungen werden von PCL1001 von der externen Darstellung in eine interne Nummer umgeschluesselt. Diese Umschluesselung wird mit Hilfe von Auspraegungstabellen durchgefuehrt. Fuer jeden verwendeten Schluessel des betreffenden Arbeitsgebiets wird programmintern eine Schluessel- auspraegungstabelle angelegt. Jede Auspraegung belegt hierbei einen Tabellenplatz. Der Platz, der fuer eine Auspraegung erforderlich ist, variiert i.a. von Schluessel zu Schluessel und ist abhaengig davon, ob mit Zeitpruefung gearbeitet wird. Ein Tabelleneintrag ist folgendermassen aufgebaut: - interne Nummer 2 Byte (bei interner Laenge 1 oder 2) 4 Byte (bei interner Laenge 3 oder 4) - Schluesselinhalt 1 bis n Byte in Abhaengigkeit von der externen Laenge des Schluessels. - Gueltigkeitsintervall 8 Byte Dieser Eintrag existiert nur, wenn die Zeitpruefung eingeschaltet ist (siehe Option ZEITPRUEF). In die oben beschriebenen Tabellen werden alle Schluesselaus- praegungen gestellt, die im Arbeitsgebietsabzug enthalten sind. Schluesselauspraegungen von Schluesseln der internen Laenge 3 bzw. 4 werden in Abhaengigkeit der Vorlaufkarten-Option UMSCHLMAX bzw. UMSCHLPLATZ (s.u.) in Tabellen gestellt. Auspraegungen, die automatisch ergaenzt werden, werden in speziellen Ueberlauftabellen gesammelt. Diese werden sortiert verwaltet. Werden sehr viele Schluesselauspraegungen ergaenzt, so kann das sortierte Einarbeiten in diese Ueberlauftabellen zu erhoehtem CPU-Bedarf fuehren. Ueberlauftabellen werden pro Schluessel verwaltet. Um nicht zu viel Adressraum zu beanspruchen, wird zunaechst mit "kleinen" Ueberlauftabellen gearbeitet. Laeuft eine Ueberlauftabelle ueber, so wird eine neue, groessere einge- richtet. Bei Schluesseln der interne Laenge 3 oder 4 wird installationsabhaengig durch die Variable ALC-AU-UE-MAX (Text-Datenbank, siehe Handbuch INSTALLATION) die maximale Tabellengroesse der Ueberlauftabelle festgelegt. Es ist erstrebenswert, nicht zu viele Schluessel- auspraegungen ergaenzen zu lassen. Eine Reduktion kann durch Einsatz der Option KEYZU erreicht werden (siehe entsprechende Beschreibung). Zeitpruefung von Schluesselauspraegungen ---------------------------------------- Schluesselauspraegungen koennen in der Transaktion ST06 mit zeitlichen Gueltigkeitsintervallen versehen werden (Auspraegung ist gueltig von, bis). Beim Pruefen von externen Schnittstellen kann gegen diese Zeitintervalle geprueft werden. Ueberprueft werden dabei Summensaetze. Es werden hierbei alle Zeitangaben zu Werten mit Werteinhalt ungleich 0 ueberprueft. Bei jeder aktiven Schluesselauspraegung (d.h. der betreffende Schluessel ist in mindestens einer aktiven Verdichtungsstufe ausgepraegt und die aktuelle Schnittstelle enthaelt wenigstens einen verwendeten Wert dieser Verdichtungsstufe) wird geprueft, ob jedes Wertedatum im Gueltigkeitsintervall enthalten ist. Die Pruefung entfaellt, wenn die Schluesselauspraegung noch nicht in der Schluesseldatenbank enthalten ist. Die geschilderte Zeitpruefung ist standardmaessig nicht eingeschaltet. Sie muss explizit durch die OPTION ZEITPRUEF (s.u.) angefordert werden. Zu beachten ist, dass die Zeit- pruefung zusaetzliche Rechenzeit und zusaetzlichen Adressraum fuer Schluesselauspraegungstabellen erfordert. Die Zeitpruefung erfolgt grundsaetzlich monatsgenau, auch wenn in der externen Schnittstelle tagesgenaue Daten angeliefert werden. VORLAUFKARTE: ------------ Die Optionen in der Vorlaufkarte muessen durch Komma getrennt werden. Sie koennen zwischen Hochkommata gestellt werden. Beispiel: NMAXDAT,SORTMAX=1000000 oder: 'NMAXDAT','SORTMAX=1000000' Es werden nur die Stellen 1 - 72 beruecksichtigt. Moegliche Optionen: ------------------ Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- DRUCK ! Protokoll maximal erzeugen ! DRUCK ! ! NDRUCK ! Protokoll unterdruecken ! DRUCK ! ! MAXDAT ! es wird geprueft, ob das ! MAXDAT ! Wertedatum aufsteigend ist ! ! ! NMAXDAT ! Es wird nicht geprueft, ob ! MAXDAT ! das Wertedatum aufsteigend ! ! ist ! ! ! MAXDATGLEICH ! Wertedatum darf <= dem ! NICHT MAXDATGLEICH ! Datum der letzten Ein- ! ! speicherung sein, muss aber! ! >= dem Datum der ersten ! ! Einspeicherung sein ! ! ! UPDAT ! UPDATE Parameterdatenbanken! UPDAT ! ! NUPDAT ! kein UPDATE der ! UPDAT ! Parameterdatenbanken ! ! ! MINUTEN=NNNN ! maximale Laufzeit in ! 1000000 ! Minuten ! ! ! SAETZE=NNNNNN ! Maximal zu verarbeitende ! 99000000 ! Saetze aus Schnittstelle. ! ! 0 bedeutet kein Limit. ! ! ! SORTMAX=NNNN ! maximal pro SORT-Aufruf zu ! 2000000 ! sortierende Saetze ! Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- ! ! AGNR=NN ! Festlegung, fuer welches ! fehlt diese Angabe, ! Arbeitsgebiet ASSIN01 gilt ! so wird die Schnitt- ! ! stellennummer aus ! ! dem Kopfsatz ge- ! ! nommen ! ! KEYZU ! Diese Option dient nur ! nicht KEYZU ! zum Ergaenzen von ! ! Schluesselauspraegungen ! ! aus der Schnittstelle in ! ! die Schluessel-DB. Sie ! ! darf nur fuer Sonderlaeufe ! ! hergenommen werden. ! ! Anwendungsfall: Vor Ein- ! ! speicherung Schluesselaus- ! ! praegungen auf Schluessel- ! ! Datenbank bringen. ! ! SAETZE sollte kleiner als ! ! die Anzahl der externen ! ! Schnittstellensaetze ge- ! ! setzt werden. ! ! Weil das Abbruchkriterium ! ! nur zum Zeitpunkt des ! ! Sortieraufrufs geprueft ! ! wird, ist SORTMAX unter ! ! Beruecksichtigung der Zahl ! ! unter SAETZE=... ! ! und den Optionen NOVSTGENER! ! und VORVERDICHTEN geeignet ! ! zu waehlen. ! ! KEYZU bewirkt, dass ! ! grundsaetzliche keine in- ! ! terne Schnittstellendatei ! ! erzeugt wird. Es erfolgt ! ! eine optimierte Verarbei- ! ! tung bei der u.a. kein ! ! Sort durchgefuehrt wird. ! ! Weiterhin werden keinerlei ! ! Work-Dateien benoetigt. ! ! A c h t u n g: Dement- ! ! sprechend erfolgt eine ! ! unvollstaendige Verarbei- ! ! tung ! Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- NOKEYZU ! Neue Auspraegungen in der ! nicht NOKEYZU ! externen Schnittstelle ! ! fuehren zu einem Fehler ! ! NOKEYZU impliziert ! ! FEHLER = 0 ! ! ! FEHLER=nnn ! Obergrenze fuer fehlerhafte! 100 ! Summensaetze ! werden mehr fehler- ! ! hafte Summensaetze ! ! als maximal zu- ! ! laessig erkannt, so ! ! wird PCL1001 vor- ! ! zeitig beendet. ! ! ! ! EXIT=KURZ ! Bei dieser Angabe erwartet ! keine kuerze ! PCL1001 eine externe ! Schnittstelle ! Schnittstelle im kurzen ! ! Format. Diese Angabe ! ! muss unbedingt mit dem ! ! tatsaechlichen Format der ! ! Schnittstelle harmonieren. ! ! Zur Zeit ist jede Angabe ! ! identisch mit KURZ. ! ! ! NOVSTGENER ! Generierung von ! Verdichtungsstufen ! Verdichtungsstufen aus ! generieren ! anderen Verdichtungsstufen ! ! ausschalten ! ! ! VORVERDICHTEN ! siehe ausfuehrliche ! nicht VORVERDICHTEN ! Beschreibung oben. ! ! ! CHKP_PRIVAT ! aktivieren der "privaten" ! nicht CHKP_PRIVAT ! Checkpoint-Schreibung ! ! ! INVERS ! der Werteinhalt wird mit ! nicht INVERS ! inversen Vorzeichen ! ! verarbeitet ! ! Anwendungsfall: Fehlein- ! ! speicherungen rueckgaengig ! ! machen ! ! ! ZEITPRUEF ! Zeitpruefung von Schl.- ! nicht ZEITPRUEF ! auspraegungen einsch. s.o. ! ! ! KEYLIST ! neu ueber die ext. Schnitt-! nicht KEYLIST ! stelle hinzugekommene Aus- ! ! praegungen zum jeweiligen ! ! Schluessel protokollieren ! Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- VSTNR=nnn ! Verdichtungsstufen, in die ! nicht VSTNR ! eingespeichert werden soll,! ! explizit angeben. ! ! Hierbei ist fuer nnn die ! ! jeweilige Verdichtungs- ! ! stufennummer anzugeben. ! ! Beispiel: ! ! VSTNR=17 , VSTNR=31 ! ! Mittels dieser Option kann ! ! man Einspeicherungen in ! ! stillgelegte Verdichtungs- ! ! stufen vornehmen. ! ASSIN=nn ! Wird z.B. ASSIN=03 ange- ! keine Angabe ! geben, so werden nachein- ! ! ander die Dateien ASSIN01, ! ! ASSIN02, ASSIN03 gelesen u.! ! verarbeitet. Das Verarbei- ! ! tungsergebnis entspricht ! ! einer Konkatenierung von ! ! ASSIN01, ASSIN02 und ! ! ASSIN03 unter dem DD-Namen ! ! ASSIN01. Diese Option ist ! ! vorwiegend fuer Siemens- ! ! Umgebungen gedacht. ! ! ! NOWEPRUEF ! Diese Option bewirkt ! WEPRUEF ! folgendes: ! ! - Eindeutigkeit von Werte- ! ! nummer + Wertedatum in ! ! Kopfsaetzen wird nicht mehr! ! geprueft. ! ! - Wird im Kopfsatz nur ein ! ! Zeitraum angekuendigt, so ! ! wird aus den zugehoerigen ! ! Summensaetzen nur der ange-! ! kuendigte Zeitraum ueber- ! ! nommen. ! ! ! MST0169 ! Vor der Verarbeitung eines ! nicht MST0169 ! Summensatzes wird der User-! ! Exit MST0169 aufgerufen, ! ! um den aktuellen Summen- ! ! satz vor der Verarbeitung ! ! ev. zu veraendern. ! Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- VERDICHTEN ! Diese Option bewirkt, dass ! nicht VERDICHTEN ! Zwischenergebnisse auf ! ! ASSWONN, ASSWK01, ASSWK02, ! ! ASSWK03 und ASSWK04 ver- ! ! dichtet gespeichert werden.! ! Sie reduziert dort den ! ! Platzbedarf, erfordert da- ! ! fuer jedoch mehr CPU-Zeit. ! ! Ebenso wird der Platzbedarf! ! fuer die Sort-Dateien ! ! reduziert. ! ! ! KEYUPDATE ! Mit dieser Option koennen ! nicht KEYUPDATE ! mehrere PCL1001 fuer ! ! verschiedene Arbeitsgebiete! bei KEYLUECKE gilt ! parallel laufen. Dabei ! jedoch KEYUPDATE ! werden Schluesselaus- ! ! auspraegungen, die nicht ! ! im PCL1004-Abzug enthalten ! ! sind, sofort in die ! ! Schluesseldatenbank einge- ! ! fuegt, sofern sie ! ! dort noch nicht enthalten ! ! sind. Diese Option er- ! ! fordert ein serialisiertes ! ! Zugreifen zur Schluessel- ! ! datenbank. ! ! Diese Option steht zur Zeit! ! nur fuer ISAM und auf ! ! Anforderung fuer DL/I mit ! ! IMS zur Verfuegung. ! ! ! KEYLUECKE ! Beim Ergaenzen von ! nicht KEYLUECKE ! Schluesselauspraegungen ! ! werden eventuelle Luecken ! ! aufgefuellt. ! ! Impliziert KEYUPDATE ! ! ! INDEX_GEN=n ! Generierung von Indizes ! INDEX_GEN=0 ! (Relationen) aus ! ! Verdichtungsstufen mit ! bei UMBUCH gilt ! mindestens 1 und hoechstens! jedoch INDEX_GEN=0 ! n - 1 Saetzen. ! ! ! UMBUCH ! Umbuchung von ! nicht UMBUCH ! Bestandswerten aus einer ! impliziert ! Aenderungsschnittstelle ! NOVSTGENER ! von dem Dienstprogramm ! VORVERDICHTEN ! PCL1019. ! INDEX_GEN=0 ! ! nicht VSTNR Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- UMSCHLMAX=n ! Anzahl Auspraegungen pro ! UMSCHLMAX=0 ! Schluessel mit interner ! ! Laenge 3 oder 4, die in ! ! Hauptspeicher maximal ! ! eingelesen werden ! ! ! UMSCHLPLATZ=n ! Adressraum in Bytes, in den! UMSCHLPLATZ=0 ! Auspraegungen von ! ! Schluessel mit interner ! ! Laenge 3 oder 4 in den ! ! Hauptspeicher eingelesen ! ! werden ! ! ! CANZSA_GENER_MAX! Generierung aus Verdich- ! CANZSA_GENER_MAX=0 = n ! tungsstufen mit maximal ! Steuerung nicht ! n Saetzen ! aktiv NO_EURO_PRUEF ! Mit dieser Optionen koennen! Pruefen ! Pruefungen bei Euro-Werten ! ! mit Stichtag bei Bestands- ! ! fortschreibung durch Bewe- ! ! gungsanlieferung ausge- ! ! schaltet werden. Diese ! ! Option ist gefaehrlich. Sie! ! ist nur zulaessig, wenn ! ! sichergestellt ist, dass ! ! in der Schnittstelle ! ! Gegenbuchungen enthalten ! ! sind, die bewirken, dass ! ! sich die Bewegungen nur ! ! auf einen Zeitpunkt aus- ! ! wirken. ! ! Dies ist auch nach ! ! PCL1019 der Fall mit ! ! BEWEGUNG_BESTAND, ueber ! ! ein Zeitintervall und ohne ! ! Euro-Umrechnung. ! ! ! SICHTEN ! Diese Option bewirkt, dass ! keine Sichten ! eine aktive Verdichtungs- ! ! stufe betrachtet wird, ! ! wenn die Schnittstelle ! ! einen ausgepraegten ! ! Schluessel dieser Verdich- ! ! tungsstufe und einen ! ! verwendeten Wert enthaelt. ! ! Betrachtete Verdichtungs- ! ! stufen muessen bzgl. der ! ! Schluessel vollstaendig ! ! bedient werden. Die ! ! erforderlichen Schluessel ! ! koennen auch durch die ! ! Optionen INHALT bzw. ! ! INHALT_ERS geliefert ! ! werden. Diese ! ! Option ist gefaehrlich. ! ! Sie darf nur benutzt wer- ! ! den, wenn im betreffenden ! ! Arbeitsgebiet die Verdich- ! ! tungsstufen geeignet defi- ! ! niert sind und mit den ! ! Einspeicherungen hierfuer ! ! harmonieren. ! Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- EXIT_TEXT ! Es wird eine externe ! nicht EXIT_TEXT ! Schnittstelle im Textformat! ! erwartet (HSYSDOK,Kap. 5.3)! BESTANDSUEBERNAHME! Steuerung der Verarbeitung ! nicht ! externer Schnittstellen ! BESTANDSUEBERNAHME ! mit Bestandswerten und ! ! Bestandsanlieferung ! ! (siehe auch PCL1002) ! GENVST ! s.o. ! GENVST_NICHT_ABBRECHEN ! s.o. ! ! ! NO_END_CNT_VAL ! Zaehler fuer Summensaetze ! pruefen ! im Endesatz nicht pruefen ! ! ! ASSWK = n ! n = 3 oder 4, Generierung ! ! von Verdichtungsstufen ! ! optimieren (s.o.) ! ! ! ISAMSORT ! nur am PC und dort ! nicht ISAMSORT ! empfehlenswert ! ! ! INHALT (...) = ... ! Schluesselinhalte via ! ! Vorlaufkarte, s.u. ! ! ! INHALT_ERS (...) = ... ! Schluesselinhalte ! ! via Vorlaufkarte, s.u. ! ! ! ASSAU ! Auf die Schluesseldatenbank! nicht ASSAU ! eingefuegte Auspraegungen ! ! auf die Datei ASSAU aus- ! ! geben. ! ! ! * ASSAU_KOPF ! wie ASSAU, jedoch mit Kopf-! nicht ASSAU_KOPF * ! satz (Ueberschrift) ! ! ! FB ! Externe Schnittstelle ist ! nicht FB ! festgeblockt im langen ! ! oder kurzen (EXIT=KURZ) ! ! Format. ! ! ! EXIT_VAR ! Automatische Erkennung von ! nicht EXIT_VAR ! festgeblockten externen ! ! Schnittstellen. Die Option ! ! FB wird ignoriert. Das ! ! Format wird mit jedem ! ! Kopfsatz neu ermittelt. ! ! Das kurze und lange Format ! ! wird zur Zeit nicht ! ! automatisch erkannt. ! ! EXIT_VAR ist nur am PC ! ! implementiert. ! Option ! Bedeutung ! Voreinstellung ------------------------------------------------------------------- ! ! BS2000-ANSI ! Externe Schnittstelle ! keine Uebersetzung ! von BS2000-EBCDIC nach ! ! ANSI (Unix) uebersetzen. ! ! ! MVS_ANSI ! Externe Schnittstelle ! keine Uebersetzung ! von MVS-EBCDIC nach ! ! ANSI (Unix) uebersetzen. ! ! ! OS2_ANSI ! Externe Schnittstelle ! keine Uebersetzung ! von Windows (OS2) nach ! ! ANSI (Unix) uebersetzen. ! ! ! BS2000_MVS ! Externe Schnittstelle ! keine Uebersetzung ! von BS2000-EBCDIC nach ! ! MVS-EBCDIC uebersetzen. ! ! ! MVS_BS2000 ! Externe Schnittstelle ! keine Uebersetzung ! von MVS-EBCDIC nach ! ! BS2000-EBCDIC uebersetzen. ! Generierung von Verdichtungsstufen: CANZSA_GENER_MAX=n Ist die Vorlaufkartenoption NOVSTGENER nicht angegeben, so unterscheidet PCL1001 zwischen generierbaren und nicht generierbaren Verdichtungsstufen. Die Einteilung haengt allein von den ausge- praegten Schluesseln und Werten ab, d.h. ob sich die Informationen aus anderen Verdichtungsstufen (durch Summierung) ergeben. Dieses kann in der Praxis dazu fuehren, dass alle Verdichtungs- stufen bis auf die Basis generierbar sind und sich ein unguenstiges Verhalten bzgl. Platz und Laufzeit ergibt. Durch die Angabe von CANZSA_GENER_MAX=n gelten alle Verdichtungsstufen mit 0 oder mehr als n Saetzen als nicht generierbar und werden zum Generieren auch nicht verwendet. Fuer alle uebrigen Verdichtungsstufen wird folgendermassen verfahren: die Verdichtungsstufen werden intern nach der Anzahl Saetze, die sie enthalten, sortiert. Eine Verdichtungsstufe gilt als generierbar, wenn sich ihre Information aus anderen Verdichtungsstufen ergibt. Diese anderen Verdichtungs- stufen sind automatisch nicht generierbar. Generierung von Indizes (Relationen): INDEX_GEN=n Standardmaessig sind Indizes nicht aus anderen Verdichtungsstufen generierbar. Ueber die Vorlaufkartenoption INDEX_GEN=n kann dies abgeaendert werden, wobei n fuer eine positive Zahl steht, zum Beispiel INDEX_GEN=100000. Dann wird zur Generierung eines Index die kleinste Verdichtungsstufe genommen, die mindestens einen Satz und hoechstens n - 1 Saetze enthaelt. Mit INDEX_GEN=0 (dem Standard) wird die Generierung von Indizes deaktiviert. Folglich ist die Angabe der Option bei einer Ersteinspeicherung wirkungslos, da dann noch jede Verdichtungsstufe leer ist. Des weiteren kann weder eine Verdich- tungsstufe noch ein Index aus einem Index generiert werden. Intern koennen bei der Generierung von Indizes sogenannte Nullsaetze zu den nicht generierbaren Verdichtungsstufen erzeugt werden. Diese Nullsaetze sind notwendig: wenn ein Index fuer mehrere Verdichtungs- stufen geeignet ist und ein Satz der externen Schnittstelle jedoch wegen der verwendeten Werte nicht in die Verdichtungsstufe ueber- nommen werden muss aus der der Index generiert wird. Diese Null- saetze werden erst durch das Dienstprogramm PCL1002 eliminiert. Die Option INDEX_GEN wird bei Angabe der Option UMBUCH ignoriert. Umbuchung von Bestandswerten: UMBUCH Das Umbuchen von Bestandswerten aus einer Schnittstelle des Dienstprogrammes PCL1019 (mit der Angabe AENDERN) erfolgt mit dieser Option. Voraussetzung an diese Schnittstelle ist, dass bei Bestandswerten wie durch PCL1019 der Folgemonat wieder rausgebucht wird. Umgebucht werden saemtliche Verdichtungsstufenmengen, die mindestens eine aktive Verdichtungsstufe enthalten, selbstverstaendlich ausser sequentielle Verdichtungsstufen mit der Art 1, da diese ja nicht fortgeschrieben werden koennen. Es werden also auch stillgelegte Verdichtungsstufen umgebucht, falls sie in einer Menge enthalten sind mit mindestens einer aktiven Verdichtungsstufe. Die eingespeicherten Zeiten duerfen sich nur soweit ueberlappen, dass mindestens ein Monat jeder Verdichtungsstufe nicht durch andere dieser Menge abgedeckt wird. Des weiteren ist zu beachten, dass ueberlappende Zeiten nur in einer Verdichtungsstufe umgebucht werden. Deshalb sollte man ueber- lappende Zeiten moeglichst vermeiden. Durch das Dienstprogramm PCL1042 gesplittete Mengen haben keine ueberlappende Zeiten. Um Inkonsistenz zu vermeiden, wird ueberprueft, ob jeder Werteintrag in jeder Menge bezueglich der eingespeicherten Zeiten umbuchbar ist. Ansonsten wird der Satz als fehlerhaft abgewiesen. Die Option UMBUCH impliziert die Optionen NOVSTGENER, VORVERDICHTEN und INDEX_GEN=0 auch unabhaengig von gegenteiligen Angaben in der Vorlaufkarte. Dagegen fuehrt die Angabe der Option VSTNR zu einer Fehlermeldung. Die Umbuchung kann auch stillgelegte Verdichtungsstufen betreffen. Ergaenzung von Schluesselauspraegungen (Option KEYLUECKE) Wenn das Dienstprogramm PCL1001 neue Schluesselauspraegungen ergaenzt, so wird standardmaessig als interne Nummer der Auspraegung die groesste bisher vergebene Nummer plus eins genommen. Durch Umbuchungen (zum Beispiel mit PCL1019) koennen nun Schluesselauspraegungen auf der Schluesseldatenbank verbleiben, auf die es keinen Bezug aus Verdichtungsstufen mehr gibt. Trifft dies fuer sehr viele Auspraegungen zu, so koennen diese mit dem Dienstprogramm PCL1055 von der Schluesseldatenbank geloescht werden. Die dabei entstehenden Luecken werden jedoch standardmaessig nicht fuer neue Auspraegungen wieder benutzt. Diese Luecken kann man entweder mit dem Dienstprogramm PCL1058 (dabei muessen jedoch saemtliche betroffenen Verdichtungsstufen neu geladen werden) schliessen oder mittels der Option KEYLUECKE. Die Option KEYLUECKE impliziert die Option KEYUPDATE. Da jedoch fuer jede zu ergaenzende Auspraegung saemtliche Auspraegungen zu diesem Schluessel nachgelesen werden muessen, werden die Auspraegungen zunaechst wie im Standardfall ergaenzt. Erst beim Erreichen der Obergrenze werden die Luecken abgesucht. Einspeicherung in Schluessel mit interner Laenge > 2 Schluessel mit interner Laenge > 2 gelten im ASS als Massen- schluessel mit vielen Auspraegungen. Daher werden in der Regel die Auspraegungen derartiger Schluessel im Rahmen der Einspeiche- rung nicht intern in Tabellen verwaltet (Platzproblem). Fuer das Ermitteln der internen Zaehlnummer (verdichteter Inhalt) zu einem Schluesselinhalt eines Schnittstellensatzes ist daher jeweils ein Schluesseldatenbankzugriff erforderlich. Kann durch das System hinreichend viel Adressraum zur Verfuegung gestellt werden, so kann durch die Angabe von UMSCHLMAX=n dieses Verhalten verbessert werden. Zu jedem Schluessel mit interner Laenge > 2, wird soviel Adressraum angefordert, dass n Auspraegungen darin Platz finden. Das Verfahren wird jedoch nur fuer die Schluessel angewandt, deren Auspraegungsanzahl hoechstens 4 mal so gross ist wie das angegebene n. Hierdurch wird erreicht, dass einerseits nicht unnoetig allokiert wird, andererseits jedoch ein Grossteil der Datenbankzugriffe vermieden wird. ACHTUNG: Bei Angabe dieser Option darf das Programm PCL1004 nicht mit der Option OA laufen. Analog zu UMSCHLMAX koennen mit der Angabe UMSCHLPLATZ=n die Zugriffe auf die Schluesseldatenbank deutlich reduziert werden. Mit UMSCHLPLATZ wird vorgegeben, wieviel Adressraum (in Bytes) fuer Auspraegungstabellen fuer Schluessel mit interner Laenge > 2 maximal verwendet werden soll. Die Angabe ueber Vorlaufkarte ist erforderlich, da i.a. nicht ermittelbar ist, wieviel Adressraum zur Verfuegung steht (bestimmter Adressraum muss z.B. fuer Satzpuffer oder den Sort freigehalten werden). Pro Schluessel mit interner Laenge > 2 wird maximal der Platz fuer m Auspraegungen benoetigt, wobei m die naechste interne Nummer fuer die Auspraegungen des betreffenden Schluessels ist (es wird die naechste interne Nummer verwendet, da die Anzahl Auspraegungen nicht bekannt ist). Alle Auspraegungen, die in den Arbeitsspeicher eingelesen werden, werden via Arbeitsspeicher umgeschluesselt, fuer den Rest wird auf die Schluesseldatenbank zugegriffen. Platzbedarf fuer eine Schluesselauspraegung: 4 Byte fuer die interne Nummer + n Byte fuer den Schluesselinhalt (n = externe Laenge) + 8 Byte fuer ein Zeitintervall, falls die Zeitpruefung fuer Schluesselauspraegungen aktiviert wurde (ist i.a. nicht der Fall). Die Angaben bei UMSCHLPLATZ sollten mindestens im Megabyte-Bereich liegen. ACHTUNG: Bei Angabe von UMSCHLPLATZ darf das Programm PCL1004 nicht mit der Option OA laufen. Die Optionen UMSCHLMAX und UMSCHLPLATZ duerfen nur alternativ verwendet werden. ASSAU bzw. ASSAU_KOPF --------------------- Auf die Schluesseldatenbank eingefuegte Auspraegungen werden auf die Datei ASSAU ausgeben. Die Ausgabe erfolgt semikolonsepariert als Textdatei. Die Eintraege bestehen aus folgenden Feldern: - Datum in der Form JJMMTT, Startdatum von PCL1001 - Arbeitsgebietsnummer, 3-stellig mit fuehrenden Nullen - Schluesselnummer, 5-stellig mit fuehrenden Nullen - Schluesselbezeichnung, 20 Byte - Schluesselinhalt, 32 Byte - Verdichteter Schluesselinhalt, 9-stellig mit fuehrenden Nullen Am Host haben die Saetze die fixe Laenge 80, am PC das Format line-sequential. Die Ausgabe ist sortiert. Da die Ausgabe im Textformat erfolgt, werden Bitschluessel nicht ausgegeben. Ist die Option ASSAU gesetzt, so werden auf die Schluessel- datenbank eingefuegte Schluesselauspraegungen nicht im Ablaufprotokoll aufgefuehrt. Die Option ASSAU_KOPF impliziert die Option ASSAU. * Bei ASSAU_KOPF wird zusaetzlich ein Kopfsatz (Ueberschrift) * als erster Satz in die Datei ASSAU geschrieben. Schluessel via Vorlaufkarte --------------------------- I.a. muss eine externe Schnittstelle, die in ein bestimmtes Arbeitsgebiet eingespeichert werden soll, alle Schluessel, die in diesem Arbeitsgebiet gebraucht werden, anliefern. Die angekuendigten Werte bestimmen die benoetigten Verdichtungs- stufen. Alle in diesen Verdichtungsstufen ausgepraegten Schluessel sind die erforderlichen Schluessel. Fehlen Schluessel, so koennen diese durch Vorlaufkartenangaben ergaenzt werden: INHALT (Schluesselnummer) = 'Schluesselinhalt' Einem Schluessel kann hierdurch genau ein (fester) Schluesselinhalt zugeordnet werden. Die durch INHALT (...) angegebenen Schluessel ergaenzen die externen Schnittstelle. Werden Schluessel angegeben, die nicht gebraucht werden oder die in der externen Schnittstelle bereits enthalten sind, so werden diese Angaben ignoriert. Sollen die Inhalte eines Schluessel der externen Schnittstelle durch einen festen Inhalt ueberschrieben werden, so wird dies durch INHALT_ERS (Schluesselnummer) = 'Schluesselinhalt' ermoeglicht. Fehlt der betreffende Schluessel in der externen Schnittstelle, so wirken die Schluessel von INHALT_ERS wie die Schluessel von INHALT. Es koennen maximal 90 Schluessel durch INHALT bzw. INHALT_ERS versorgt werden.
Mit dem User-Exit MCL0169 besteht die Moeglichkeit, * die Schluesselinhalte der ankommenden Summensaetze zu * veraendern. Existiert ein neu gewuenschter Schluesselinhalt * nicht auf der Schluesseldatenbank, wird er neu angelegt * (sofern er den formellen Anforderungen entspricht und * die Schluessel-Neuanlage auf der Schluesseldatenbank * eingestellt ist (siehe Handbuch ST06 Kapitel 3.5.2)). Aktiviert wird der User-Exit MCL0169 per * PCL1001-Vorlaufkarte mit der Option 'MST0169'. Die Umschluesselungsanweisungen erfolgen in der Datei * '$ASS/ASSMANI.TXT' (DD-Name, bzw. Link-Name: ASSMANI) und * muessen folgender Form entsprechen: SCHLUESSELNUMMER;SCHLUESSELINHALT_ALT;SCHLUESSELINHALT_NEU Optional kann die Anweisung mit einem Semikolon * abgeschlossen werden. Beispiel: * -------- Bei der Anlieferung neuer Summensaetze soll sich der * Schluesselinhalt von Schluessel 4897 (Produktname) von * PRODUKT1 in PRODUKT2 aendern und PRODUKT76 in PRODUKT13: 4897;PRODUKT1;PRODUKT2 * 4897;PRODUKT76;PRODUKT13; Es koennen maximal 1000 Anweisungen erfolgen.
Interne Schnittstellen fuer komprimierte Verdichtungsstufen werden vom Programm PCL1002 weiterverarbeitet. Hierbei gibt es unterschiedliche Varianten: 1. Variante: (Ur-) Laden einer bzw. mehrerer Summendatenbanken. 2. Variante: Alte Summendatenbank(en) auf sequentielle Datei abziehen, mit interner Schnittstelle mischen und wieder auf Summendatenbank(en) speichern. 3. Variante: Interne Schnittstelle direkt in Summendatenbank(en) einarbeiten. 4. Variante: Interne Schnittstelle additiv zu(r) bestehenden Summendatenbank(en) dazuspeichern. 5. Variante: Abgleich von Plandaten. Welche Variante zum Einsatz kommt, wird ueber Vorlaufkarte gesteuert. Die Moeglichkeiten bei den Vorlaufkarten sind weiter unten beschrieben. Bevor die Varianten im einzelnen beschrieben werden, sollen zunaechst noch einige variantenuebergreifende Bemerkungen gemacht werden. Der INPUT von PCL1002 besteht aus einer internen Schnittstelle, den Parameterdatenbanken DST001, DST002, DST003, mitunter aus einem Abzug von Verdichtungsstufen aus Summendatenbanken und bei der Variante 2 ev. auch noch aus "alten" sequentiellen Verdichtungsstufen. Das Verarbeitungsergebnis von PCL1002 besteht aus einem UPDATE der Steuerungsdatenbank DST003, von neuen oder geaenderten Summendatenbanken und ev. aus neuen sequentiellen Verdichtungsstufen. Eine Summendatenbank kann in einer DLI-Umgebung mit HSSR abgezogen werden. Falls HSSR nicht zur Verfuegung steht oder Summendatenbanken nicht in DLI gespeichert sind, muessen Summendatenbanken mit dem Programm PCL1024 abgezogen werden (Beschreibung siehe unten). Werden Verdichtungsstufen in einem Arbeitsgebiet auf mehrere Summendatenbanken verteilt und werden in einem Lauf von PCL1002 Verdichtungsstufen aus mehreren Summendatenbanken fortge- schrieben, so muss der Abzug der "alten" Verdichtungsstufen mit dem Programm PCL1124 erzeugt werden. Werden Summendatenbanken vollstaendig neu erstellt, so kann man das Laden entweder direkt vom PCL1002 durchfuehren lassen oder aber Ladebestaende erstellen, die anschliessend vom Programm PCL1013 geladen werden koennen. Bei grossen Summendatenbanken fuehrt man das Laden besser mit PCL1013 durch, da PCL1013 mit einem reinen Lade-PSB arbeiten kann und kein Logging anfaellt. Laedt man mit PCL1002, so kann auf das Logging nicht verzichtet werden. Das Laden mit PCL1013 ist weiter unten beschrieben. Man kann die UPDATE's, die von PCL1002 auf der Steuerungs-DB durchgefuehrt werden, auch verzoegern, indem man die Datenbankaenderungen zunaechst auf eine Datei schreiben laesst. Die Aenderungen aus dieser Datei koennen dann mit dem Programm PCL1032 auf die Steuerungsdatenbank gespielt werden. Man kann also im Extremfall PCL1002 so laufen lassen, dass keine Datenbankaenderungen durchgefuehrt werden. Hinweis fuer BMP: Laesst man PCL1002 als BMP laufen, so kann man nicht die PROCOPT=LS benutzen. Hinweis fuer Siemens: Werden Summendaten waehrend des ONLINE-Betriebes eingespeichert, so sollte das betreffende Arbeitsgebiet vorher gesperrt werden, damit nicht parallel Auswertungen versucht werden. Das Sperren verhindert im Prinzip nur technische Fehlermeldungen (z. B. Fehlermeldungen beim Oeffnen einer Datei). Wird mit verteilten Summendatenbanken gearbeitet, so ist das Sperren jedoch unbedingt erforderlich, um Ueberholeffekte Einspeicherung/Auswertung zu verhindern. Diese Ueberholeffekte muessen auch bei BATCH- Auswertungen durch Sperren der betreffenden Arbeitsgebiete verhindert werden. Es ist darauf zu achten, dass in der JCL des PCL1002 die Parameterdatenbanken mit SHARUPD=YES, die Summen- datenbanken dagegen mit SHARUPD=NO angegeben werden. Die Varianten im einzelnen: 1. Variante: ----------- (Ur-) Laden von Summendatenbanken. Variante 1a.: Wird in einem Arbeitsgebiet eine interne Schnittstelle zum allerersten mal verarbeitet, so ergeben sich natuerlich noch keinerlei Fortschreibungsprobleme. Daher eignet sich diese Variante zum erstmaligen Laden von Daten in die ASS-Bestaende. Gibt es in einem Arbeitsgebiet Werte vom Typ BESTAND, so kann nur die Variante 1 zur Urladung (vollstaendige Bestandsuebernahme) herangezogen werden. In diesem Fall ist keine Vorlaufkarte erforderlich. Variante 1b.: Ansonsten kann diese Variante in all den Faellen angewandt werden, in denen die interne Schnittstelle die kompletten Summenbestaende enthaelt. PCL1002 wird dann mit der Option LADEN eingesetzt (betrifft PCL1042, PCL1051 und PCL1058). 2. Variante: ----------- Alte Summendatenbank(en) auf sequentielle Datei abziehen, mit interner Schnittstelle mischen und wieder auf Summendatenbank(en) speichern. Die 2. Variante ist der Standardfall der Folgeeinspeicherung. Diese Variante muss gewaehlt werden, wenn aktive Verdichtungsstufen auf seq. Datentraegern existieren oder wenn in der externen Schnittstelle Bestandswerte angeliefert werden. Darueber hinaus empfiehlt sich diese Variante, wenn Summendatenbanken reorganisiert werden sollen und wenn die interne Schnittstelle im Verhaeltnis zur Summendatenbank nicht als sehr klein anzusehen ist. 3. Variante: ----------- Interne Schnittstelle direkt in Summendatenbank(en) einarbeiten. Die 3. Variante ist fuer folgenden Anwendungsfall gedacht: In einem Arbeitsgebiet gibt es keine Verdichtungsstufen auf seq. Datentraegern. Die Werte in den Summendaten werden durch Bewegungen fortgeschrieben. Die Anzahl der Bewegungen, die auf die Summendaten gespielt werden sollen, ist im Verhaeltnis zu den bereits vorhandenen Summendaten klein. Eine Folgeeinspeicherung entsprechend Variante 2, die technisch moeglich ist, ist fuer diesen Anwendungsfall sehr teuer. In diesem Fall kann man daher die interne Schnittstelle direkt von PCL1002 in die Summendatenbank(en) einarbeiten lassen, und zwar durch die Verarbeitungsoption DIREKTSP. ACHTUNG: I.a. werden Saetze in der Summendatenbank durch Folgeein- speicherungen laenger. Dies fuehrt z.B. in einer DLI-Umgebung zu SEGMENT-SPLIT's. Man kann eine Reorganisation erreichen, wenn man von Zeit zu Zeit eine Folgeeinspeicherung gemaess Variante 2 durchfuehrt. 4. Variante: ----------- Interne Schnittstelle additiv zu(r) bestehenden Summendatenbank(en) dazuspeichern. Die 4. Variante funktioniert im Prinzip wie die erste Variante. Sie setzt nur voraus, dass Summendatenbanken bzw. seq. Verdichtungsstufen bereits existieren, die vorhandene Schnittstelle aber nur zusaetzliche Summensaetze enthaelt, die in den Summendaten ergaenzt werden sollen. Bei Einsatz dieser Variante werden die schon in den Datenbanken vorhandenen Saetze beibehalten. Es findet nur eine Erweiterung statt. Die Variante 4 wird durch die Vorlaufkarte VST_ERGAENZ angefordert. Diese Vorlaufkartenoption ist unten bei den Vorlaufkarten beschrieben. 5. Variante: ----------- Abgleich von Vorgabewerten (Plandaten) bzw. Erfasswerten Mit dieser Programmfunktion werden die Vorgabe-/Erfasswerte eines Arbeitsgebietes durch die Vorgabe-/Erfasswerte aus einem Sicherungs-Abzug ersetzt. Der Rest der aktuellen Summendaten bleibt dabei unveraendert. Diese Variante ist fuer folgendes Problem gedacht: In einem Arbeitsgebiet sind Vorgabe-/Erfasswerte definiert und auch laufend erfasst worden. Fehler in der Folgeeinspeicherung oder Fehler im Schnittstellenprogramm machen es erforderlich, fuer einen bestimmten Zeitraum Folgeeinspeicherungen zu wiederholen. Hierzu muessen die Summendaten zeitlich zurueckgesetzt werden, etwa auf den 10. eines bestimmten Monats. Vorgabe-/Erfasswerte wurden aber noch am 11. und 12. erfasst. Dies haette zur Konsequenz, dass die Erfassungsarbeiten vom 11. und 12. verloren waeren. Man kann die Vorgabe-/Erfasswerte des 11. und 12. retten, wenn man als allererstes einen Summendaten-Abzug (siehe 2.4) der aktuellen Summendaten macht, danach zuruecksetzt und die Wiederholungslaeufe durchfuehrt. Zum Schluss werden dann die Vorgabe-/Erfasswerte der anfangs abgezogenen Summendaten mit der Option V_ABGLEICH / E_ABGLEICH unter Angabe eines Arbeitsgebietes wieder auf die reparierten Summendaten gespielt. ACHTUNG: Es koennen nur die Werte und Verdichtungsstufen behandelt werden, die zum Laufzeitpunkt in der Steuerungsdatenbank definiert sind, d.h. wurden am 11. oder 12. neue Vorgabe-/Erfasswerte in der Steuerungsdatenbank definiert, so sind diese Werte verloren. Der Abzug der Summendaten wird ueber DBALT eingelesen und die aktuellen Summendaten werden direkt angesprochen. 6. Variante: ----------- Gewoehnlich ist die Uebernahme von Bestandswerten mit Anliefer- ungsart Bestand nur Monat fuer Monat zulaessig. Durch Angabe von NMAXDAT in PCL1001 werden jedoch die zugehoerigen Pruefungen deaktiviert. Werden nun bei der Einspeicherung Monate ausge- lassen, so wird das zeitliche Gueltigkeitsintervall eines Werteinhalts vergroessert. Beispiel: --------- Eingespeichert sind zu einer Schluesselinhaltskombination zum Zeitaspekt 0103 100 Einheiten (Datum letzte Einspeicherung) und fuer 0303 zur gleichen Schluesselinhaltskombination werden 200 Einheiten angeliefert. In diesem Fall liefert die Auswertung fuer 0103 und 0203 (!) als Ergebnis 100 Einheiten. Durch Angabe der Option BESTANDSUEBERNAHME aendert sich das Verhalten. Im selben Beispiel wuerde die Auswertung von 0203 0 Einheiten liefern. Aehnliches gilt, wenn in einem Lauf mehrere Zeitaspekte eingespeichert werden. Auch hier werden in den "zeitlichen Luecken" Null-Inhalte erzeugt. Bemerkung: Die Behandlung von bereits eingespeicherten Saetzen, die in der Schnittstelle nicht angeliefert werden, bleibt unbe- ruehrt. Diese (Alt-)Bestaende werden weiterhin durch Null-Setzung der betreffenden Bestandswerte zeitlich abgeschlossen. Ausserdem ist weiterhin die Anlieferung zu einem Monat nur einmal gestattet. Ablauf ohne Restart: ------------------- .---. .---. .---. .---. ,' ', ,' ', ,' ', ,' ', !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! ! ! 100 ! ! 110 ! ! 120 ! ! 130 ! ! ! ! ! ! ! ! ! '.___.' '.___.' '._ _.' '.___.' !_______ !____ _____! ! ! ! ! ! !_______ ! ! ! _______ ! ! ! ________________! / ! ! ! ! ! ! 140 ! ! ! ! ! .---. +-------+ V V V V ,' ', ! *************** !'.___.'! .---. +------->! ! ! ! ,' ', ! PCL1002 !-------------------->! 160 ! !'.___.'!---------->! ! ! ! ! ! *************** '.___.' ! 196 ! ! ! ! ! ! !______________________________ ! ! ____________! ! ! ! !____________________ ! '.___.' ! ! ! !________________ ! ! ! ! + - - - - ->+ ! ! ! ! ! ! ! V V V V ! ! .---. .---. .---. .---. ! ! ,' ', ,' ', ,' ', ,' ', ! ! !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! ! ! ! ! ! ! 195 ! ! 196 ! ! 170 ! ! 180 ! ! ! ! ! ! ! ! ! ! ! ! ! '.___.' '.___.' '.___.' '.___.' ! V +___ ! _______ ! ! ********** ! ! / ! ! ! ! ! ! ! ! 200 ! ! ! ! 190 ! ! ! +-------+ V ! ! *** V V ! *************** ! ! / ************* ! ! ! ! ***** ! ! +------> ! PCL1013 !- - ->! ! PCL1032 ! ! ! ! ! ! *************** ! ************* ! ! ! ! ! ! +------+ ! V V V V ************ .---. ************ .---. ! ! ,' ', ! ! ,' ', ! 220 ! !'.___.'! ! 320 ! !'.___.'! ! ***** ! ! ! ***** ! ! ! / ! 230 ! ! / ! 330 ! ***** ! ! ***** ! ! '.___.' '.___.' Dateibeschreibung: ----------------- Lfd.-Nr. ! DD-Name/PGM ! Beschreibung ! LINK-Name ! ---------!--------------!--------------------------------------------- 100 ! //DBALT ! Abzug der Summendatenbank ! ! Aktivieren fuer Variante 2 und Variante 5 ! ! Auf DUMMY setzen fuer Variante 1, ! ! Variante 3 und ! ! Variante 4 ! ! 110 ! //AE ! Interne Schnittstelle aus PCL1001 ! ! 120 ! //DST001 ! Werte-DB ! //DST011 ! Primaer-Index (nur DLI) ! //DST012 ! Sekundaer-Index 1 (nur DLI) ! //DST013 ! Sekundaer-Index 2 (nur DLI) ! //DST002 ! Schluessel-DB ! //DST021 ! Primaer-Index (nur DLI) ! //DST022 ! Sekundaer-Index 1 (nur DLI) ! //DST023 ! Sekundaer-Index 2 (nur DLI) ! //DST003 ! Steuerungs-DB ! //DST031 ! Primaer-Index (nur DLI) ! //DST032 ! Sekundaer-Index 1 (nur DLI) ! //DST033 ! Sekundaer-Index 2 (nur DLI) ! //DST007 ! Text-DB ! //DST071 ! Primaer-Index (nur DLI) ! ! 130 ! //ASSCI01 ! Vortragsbestand der sequentiellen Verdich- ! bis ! tungsstufen. Nur die benoetigten Dateien ! //ASSCI50 ! muessen zugewiesen werden. ! ! Die letzten beiden Ziffern bezeichnen ! ! den Ort der Verdichtungsstufe. ! ! 140 ! //VORLAUF ! Vorlaufkarte, auf DUMMY setzen und bei ! ! Bedarf aktivieren. ! ! 160 ! - ! LOGDATEI (nur DLI) ! ! 170 ! //ASSCO01 ! Fortschreibung der sequentiellen Verdich- ! bis ! tungsstufen. Nur die benoetigten Dateien ! //ASSCO50 ! muessen zugewiesen werden. ! ! Die letzten beiden Ziffern bezeichnen ! ! den Ort der Verdichtungsstufe. ! ! 180 ! //AUS ! Ausgabe PCL1002, ! ! Ladebestand, falls mit PCL1013 (//LADE) ! ! oder ADAWAN geladen wird ! //AUSnn ! Ladebestand analog zu //AUS fuer Summen- ! ! datenbanken von Verdichtungsstufen, die ! ! nicht in der direkt dem Arbeitsgebiet ! ! zugeordneten Summendatenbank gespeichert ! ! werden (verteilte Summendatenbanken) Lfd.-Nr. ! DD-Name/PGM ! Beschreibung ! LINK-Name ! ---------!--------------!--------------------------------------------- ! ! 190 ! //LISTE ! Ablaufprotokoll PCL1002 ! ! ! //ASSINFO ! max. Satzlaenge von VST's (falls angef.) ! ! 195 ! //ASSUPD ! Verzoegerte UPDATE's 196 ! //ASSUPI ! Verzoegerte UPDATE's von PCL1001 ! ! 200 ! //ASSCO ! Vorlaufkarte, auf DUMMY setzen und auf ! ! Anforderung aktivieren ! ! 220 ! //LISTE ! Ablaufprotokoll PCL1013 ! ! 230 ! //DST110 ! Summen-DB neu (FUER ARBEITSGEBIET 1) ! //DST111 ! Index-DB neu (FUER ARBEITSGEBIET 1, DLI) ! bis ! bis ! //DST600 ! Summen-DB neu (FUER ARBEITSGEBIET 50) ! //DST601 ! Index-DB neu (FUER ARBEITSGEBIET 50, DLI) ! ! 320 ! //LISTE ! Ablaufprotokoll PCL1032 ! ! 330 ! //DST003 ! Steuerungs-DB ! //DST031 ! Primaer-Index (nur DLI) ! //DST032 ! Sekundaer-Index 1 (nur DLI) ! //DST033 ! Sekundaer-Index 2 (nur DLI) VORLAUFKARTE: ------------ IBM: Feste Satzlaenge 80 Bytes ungeblockt, SIEMENS: Variable Saetzlange, mindestens 72 Stellen, hinten mit Blanks auffuellen, maximal 80 Stellen. Eintraege sind ab Spalte 1 vorzunehmen. Mehrere Eintraege werden durch Kommata getrennt. Es wird nur die erste Vorlaufkarte interpretiert. Moegliche Optionen: ------------------ Inhalt ! Aktion ---------------------------------------------- DATEI ! Ausgabe auf Datei(en), UPDATE Steuerungs-DB. ! Ladebestand fuer PCL1013 beziehungsweise fuer das ! ADABAS-Ladeutility. ! HSSR ! Ausgabe auf Datei(en), UPDATE Steuerungs-DB, wobei ! diese Option die Option DATEI impliziert. ! Ladebestand fuer DL/I mittels DFSURGL0 oder einem ! vergleichbarem Produkt. ! HSSR8 ! Diese Option impliziert die Option HSSR. ! Ladebestand fuer DL/I ab IMS Version 8, also ohne ! Kopfsatz und anderem Endesatz. ! BMC ! Diese Option impliziert die Option HSSR. ! Ladebestand fuer DL/I mittels BMC Load Plus. ! DB2 ! Diese Option impliziert die Option DATEI. ! Die Ausgabe erfolgt fuer das DB2 Load Utility. ! ADA ! Diese Option impliziert die Option DATEI. ! Die Ausgabe erfolgt wie in der PL/I-Version mit der ! Option DATEI, aber ohne HSSR, BMC und DB2. ! Adabas Load Exit 6 MST0100: PCL1002 mit Option DATEI ! PCL1002 mit Option ADA ! Adabas Load Exit 6 MCL0100: PCL1002 mit Option DATEI ! VSAM Repro: PCL1002 mit Option DATEI ! PCL1002 mit Option ADA ! SONST ! Ausgabe auf Datei(en), Update der Steuerungsdatenbank ! wenn nicht die Option NUPDAT gesetzt, Pruefungen ! ausgeschaltet. ! NOPRUEF ! UPDATE der Steuerungs-DB, ! Pruefungen ausgeschaltet, ! Ausgabe auf Datei(en) oder Summen-Datenbank(en) in ! Abhaengigkeit von DIREKTSP. Inhalt ! Aktion ---------------------------------------------- ! NOCELET1 ! CELET1 (Datum der letzten Einspeicherung) ! in SST021CO zunaechst nicht fortschreiben, kann ! mit Kommando FREIGEBEN in der Online-Transaktion ! ST06 aktiviert werden (vgl. Handbuch Einrichten ! eines Arbeitsgebietes) ! DIREKTSP ! Interne Schnittstelle direkt in ! Summen-Datenbank(en) einarbeiten ! KORR ! Korrekturlauf, ermoeglicht es, Bestands- ! werte, die als Bestand angeliefert werden, ! zu korrigieren, auch wenn Wertedatum < ! CELET1 ist. ! NUPDAT ! Aenderungen, die normalerweise auf die ! Steuerungs-DB durchgefuehrt worden waeren, ! in die Datei ASSUPD stellen, um diese ! Aenderungen mit dem Programm PCL1032 ! spaeter auf die Steuerungs-DB spielen ! zu koennen. ! VST_ERGAENZ ! Dieser Inhalt ist nur im Zusammenhang ! mit Reorganisationsmassnahmen mit ! Hilfe des Programms PCL1011 sinnvoll. ! Wurden von PCL1011 zusaetzliche ! Verdichtungsstufen erzeugt, so ! enthaelt die interne Schnittstelle ! die neuen Verdichtungsstufen, die von ! PCL1002 additiv verarbeitet werden, ! d.h. die neuen Verdichtungsstufen ! werden in die Summendatenbank(en) dazu- ! geladen oder auf seq. Datei(en) ausgegeben ! (als Input fuer PCL1013, je nach ! Vorlaufkartensteuerung) oder ! es entstehen neue sequentielle Ver- ! dichtungsstufen. ! Die Versionsnummer des betreffenden ! Arbeitsgebietes wird in diesem Fall ! nicht fortgeschrieben. Inhalt ! Aktion ---------------------------------------------- ! CHKP_PRIVAT ! "private" Checkpoint-Schreibung ! (siehe weiter unten). ! V_ABGLEICH ! Abgleich von Vorgabewerten (Plandaten) = AGNR ! unter Angabe der Nummer des Arbeitsgebiets. ! (siehe weiter unten). ! E_ABGLEICH ! Abgleich von Erfasswerten = AGNR ! unter Angabe der Nummer des Arbeitsgebiets. ! (siehe weiter unten). ! LADEN ! Laden der Summendatenbank(en) nach den Dienstpro- ! grammen PCL1042 , PCL1051 und PCL1058 ! (Variante 1.B) ! BESTANDSUEBERNAHME ! Steuerung der Uebernahme von Bestandswerten mit ! Anlieferungsart Bestand ! ASSINFO ! Ausgabe der maximalen Satzlaenge von Verdichtungs- ! stufen auf die Datei ASSINFO. ! * ASSINFO_CSV ! Wie ASSINFO, Felder werden durch Semikolon getrennt. ! * ASSINFO_KOPF! Wie ASSINFO_CSV, mit Kopfsatz (Ueberschrift). ! DOPPELT_WERT! Verarbeitung von internen Schnitstellen, die von ! PCL1011 mit dieser Option erzeugt wurden. ! DOPPELT_DIR ! Verarbeitung von internen Schnitstellen, die von ! PCL1011 mit dieser Option erzeugt wurden. Beispiele: --------- NOCELET1 NUPDAT DATEI,NOCELET1 NOPRUEF NOPRUEF,NOCELET1 SONST DIREKTSP V_ABGLEICH=44 E_ABGLEICH=44 "Private" Checkpoint-Schreibung (PCL1002) ----------------------------------------- Checkpoints werden mit dem Programm MCL0699 geschrieben. Checkpoints werden nur dann geschrieben, wenn in der betreffenden Installation MCL0699 dafuer ausgelegt ist. Die Checkpoint-Schreibung ist nur bei einem direkten UPDATE der Summendatenbank moeglich, also bei gewaehltem Parameter 'DIREKTSP' in der Vorlaufkarte. Die Aktivierung erfolgt dann ueber den weiteren Parameter 'CHKP_PRIVAT' in der Vorlaufkarte. Checkpoints koennen nach Zugriffen auf die Summendatenbank geschrieben werden. Unterstuetzung von BMC Load Plus und Unload Plus fuer DL/I ---------------------------------------------------------- Mit der Option BMC wird die Summendatenbank nicht direkt geladen, sondern ein Ladebestand erzeugt, der mit Load Plus anschliessend geladen werden kann. Der Ladebestand fuer Load Plus ist identisch mit dem sogenannten HSSR-Format fuer das Utility DFSURGL0, ausser dass der erste und letzte Satz fehlt. Die Option BMC impliziert die Optionen DATEI und HSSR. Entsprechend kann statt dem Dienstprogramm PCL1024 Unload Plus benutzt werden. Dabei ist darauf zu achten, dass der Aufbau dem HSSR-Format entspricht, ausser dass der erste und letzte Satz fehlt. Dieses Manko kann behoben werden, in dem der BMC-Abzug mit je einem Dummy-Kopf- und Endesatz verkettet wird.
Mit PCL1013 werden die von PCL1002 geschriebenen Summendaten (Datei "AUS" bzw. "AUSnn") in die betreffende Summendatenbank geladen. Der Ablaufplan ist in 2.2 integriert. In der Vorlaufkarte muss angegeben werden, fuer welche Summen- datenbank ein Ladelauf durchgefuehrt werden soll. Inhalt: AGNR=nn, wobei 01 <= nn <= 300 (bzw. <= Maximalzahl zulaessiger Arbeitsgebiete). nn gibt die Nummer der zu ladenden DB an. Diese Nummer ist die jeweilige Arbeitsgebietsnummer, wenn nicht mit verteilten Summen-Datenbanken gearbeitet wird. Beispiel fuer IBM/MVS: //ASSCO DD * AGNR=17 Beispiel fuer SIEMENS/BS2000: /FILE dateiname,LINK=ASSCO wobei die Datei mit Dateiname einen Satz mit dem Inhalt AGNR=17 enthaelt. PCL1013 kann benutzt werden, wenn eine Summendatenbank vollstaendig neu geladen wird oder wenn mit VST_ERGAENZ erzeugte Verdichtungsstufen additiv zu einer Summendatenbank dazugeladen werden sollen. ACHTUNG: -------- In einer PC-Umgebung (Windows / Unix) muss in dem Fall, wenn kein vollstaendiger Ladebestand auf der Eingabe- datei steht (PCL1002 mit Option VST_ERGAENZ), das Programm PCL1013 ebenfalls mit der Option VST_ERGAENZ gestartet werden, da andern- falls kein additives Laden der Daten erfolgt, die Altdaten auf der Summendatenbank mithin geloescht werden. ACHTUNG: ------- Bei Folgeeinspeicherungen nach Variante 1 oder 2 ist darauf zu achten, dass die betreffende Summendatenbank vor dem Ladelauf leer ist. Dies kann mit DB-Systemabhaengigen Utilities erreicht werden, z.b. DELETE/DEFINE CLUSTER bei DLI. ACHTUNG bei ADABAS: ------------------ ADABAS-Summendatenbanken werden nicht mit PCL1013 geladen, sondern mit dem ADABAS-Utility ADAWAN. Hierbei ist darauf zu achten, dass beim USER-EXIT 6 das ASS-Programm MST0100 angegeben wird. Zuvor muss jedoch MST0100 uebersetzt und gelinkt werden. Vorlaufkarte: ------------- Werden Summensaetze geladen, die von einem anderen Betriebssystem stammen als dem, unter dem PCL1013 laeuft, so ist es u. U. erforderlich, dass der Kopfsatz der Summendaten an einen anderen Code (Translation) angepasst wird. Hierfuer stehen folgende Optionen bereit: BS2000_ANSI : Uebersetzen von BS2000-EBCDIC nach ANSI (Unix) MVS_ANSI : Uebersetzen von MVS-EBCDIC nach ANSI (Unix) Im Kopfsatz muessen nur Ziffern angepasst werden (i.w. Datumsan- gaben). Daher ist das Translate-Problem vergleichsweise einfach: BS2000-EBCDIC und MVS-EBCDIC unterscheiden sich bei Ziffern nicht. Gleiches gilt fuer Windows und Unix. Mit der Option FB wird festgelegt, dass die Summensaetze aus einer Datei mit fester Satzlaenge von 80 Byte gelesen werden sollen. Dies ist insbesondere bei Migrationen erforderlich: Summensaetze werden am Host mit PCL1024 und der Option FB auf eine Datei mit fester Satzlaenge von 80 Byte abgezogen, anschliessend folgt ein File-Transfer und dann ein Ladelauf von PCL1013 mit den Optionen FB und z.B. BS2000_ANSI.
Unter dem Abziehen einer Summendatenbank wird das vollstaendige sequentielle Lesen dieser Summendatenbank und das Schreiben aller Segmente (Saetze) in eine sequentielle Datei verstanden. Bei DLI-Datenbanken gibt es ein Utility (HSSR), das sehr schnell Datenbanken abziehen kann. Steht HSSR nicht zur Verfuegung, koennen Summendatenbank-Abzuege mit dem Programm PCL1024 oder dem Programm PCL1124 oder dem DLI-Utility DFSURGU0 durchgefuehrt werden. Hinweis: Mit dem Programm PCL1083 kann ein Summendatenbank-Abzug, der mit diesen Programmen erstellt wurde, ins Ladeformat tranformiert werden. Er kann dann mit dem PCL1013 wieder geladen werden (vgl. HBetrie2) Das Programm PCL1124 besitzt im Gegensatz zum Programm PCL1024 mehr Intelligenz und kann dazu benutzt werden, die Summensaetze zu Arbeitsgebieten abzuziehen, die auf mehrere Summendaten- banken verteilt sind. In diesem Fall muss es auch benutzt werden. Summendatenbank-Abzuege werden vom Programm PCL1002 bei den Varianten 2 und 5 benoetigt (siehe 2.2). Vorlaufkarte In der Vorlaufkarte (DD-Name ASSCO mit Format FB 80) gibt man ab Spalte 1 AGNR=nn an, wobei nn die Nummer des Arbeitsgebiet ist, dessen Summendatenbank abzuziehen ist. Hinweis fuer Siemens: Werden Summendaten waehrend des ONLINE-Betriebes abgezogen, so sollte das betreffende Arbeitsgebiet vorher gesperrt werden, damit nicht parallel Auswertungen versucht werden. Das Sperren verhindert im Prinzip nur technische Fehlermeldungen (z. B. Fehlermeldungen beim Oeffnen einer Datei). Auswertungen anderer Arbeitsgebiete sind moeglich. Es ist darauf zu achten, dass in der JCL des PCL1024 die Parameterdatenbanken mit SHARUPD=YES, die Summendatenbanken dagegen mit SHARUPD=NO angegeben werden. Mehrere Summendatenbanken auf eine Datei abziehen PCL1124 ============================================================ Einem Arbeitsgebiet koennen mehrere Summendatenbanken zugeordnet sein. Fuer jede Verdichtungsstufe mit Art ' ' (aktiv) oder '3' (nicht aktiv) wird die zugehoerige Summendatenbank durch den Ort definiert. Mit PCL1124 ist es nun moeglich, alle Summendatenbanken, die zu einem Arbeitsgebiet gehoeren, auf eine Datei abzuziehen. Dieser Abzug kann ganz analog wie der PCL1024-Abzug weiterverwendet werden, z.B. zur Folgeeinspeicherung via PCL1002. Abgezogen werden Verdichtungsstufen und Relationen, die folgende Kriterien erfuellen: a) Die Art muss ' ' oder '3' oder 'J' (Relation) sein. b) Die Anzahl der Saetze (laut AG) muss > 0 sein. c) Falls die Option NUR_AKTIV angegeben wird, muss die Verdichtungsstufe sich auf einer Summendatenbank befinden, die mindestens eine aktive Verdichtungsstufe enthaelt. Verdichtungsstufen, die diese Kriterien nicht erfuellen oder gar nicht im Arbeitsgebiet definiert sind, sich aber auf einer Summen- datenbank befinden, werden ueberlesen. Eingaben : ========== Vorlaufkarte, DD-Name ASSCO, Format FB 80 Schluesseldatenbank DST002 Steuerungsdatenbank DST003 Summendatenbanken DSTxxx , die abgezogen werden sollen Ausgaben : ========== Summendatenbankabzug, DD-Name AUS, Format VB 10039 Protokoll, DD-Name LISTE, Format FBA 133 Vorlaufkarte: ============= Optionen werden durch Kommata getrennt, Blanks werden ueberlesen, Semikolon bedeutet das Ende der Eingabe, nach dem Gleichheitszeichen muss eine numerische Eingabe kommen. Nur die ersten 72 Zeichen werden beruecksichtigt. Option I Bedeutung -------------------------------------------------------------------- AGNR = xx I Arbeitsgebietsnummer ist xx, I muss angegeben werden und zwischen 1 und I CARNR_MAX (definiert im Include SST1127) liegen. NUR_AKTIV I Nur aktive Summendatenbanken werden abgezogen, I d.h. Summendatenbanken, die mindestens eine I aktive Verdichtungsstufe enthalten. Beispiel: ========= AGNR = 13 , NUR_AKTIV Stillgelegte Verdichtungsstufen verlagern PCL1124 ============================================================ Stillgelegte Verdichtungsstufen, die in der primaeren Summen- datenbank gespeichert sind, belasten u.U. die Folgeein- speicherung. Sie muessen bei jeder Folgeeinspeicherung (nicht DIREKTSP) abgezogen und wieder neu geladen werden. Befinden sich jedoch stillgelegte Verdichtungsstufen auf einer sekundaeren Summendatenbank und in der betreffenden Summendatenbank befinden sich nur stillgelegte Verdichtungsstufen, so koennen Folgeeinspeicherungen ohne Entladen/Laden dieser Verdichtungs- stufen durchgefuehrt werden. Es leuchtet sofort ein, dass hierdurch Einsparungen bei der Folgeeinspeicherung erzielt werden koennen. Mit Hilfe von PCL1124 steht ein Verfahren zur Verfuegung, um stillgelegte Verdichtungsstufen von der primaeren Summen- datenbank auf sekundaere Summendatenbanken zu verlagern. In der Vorlaufkarte von PCL1124 wird angegeben, welche stillgelegten Verdichtungsstufen verlagert werden sollen und wohin. Es stehen hierfuer zwei Moeglichkeiten zur Verfuegung: VDST nr1 > ort (Mehrfachangabe) oder VDST_STILL > ort (Einzelangabe) Mit der ersten Methode koennen eine oder mehrere stillgelegte Verdichtungsstufen mit den Nummern nr1 auf eine sekundaere Summendatenbank mit dem Ort ort verschoben werden und mit der zweiten Methode koennen saemtliche stillgelegten Verdichtungsstufen auf eine sekundaere Summendatenbank verschoben werden. Es koennen nur Verdichtungsstufen mit mindestens einem Satz von der primaeren Summendatenbank auf eine sekundaere Summendatenbank verschoben werden. Bei der Mehrfachangabe muss bei allen zu verlagernden Verdichtungsstufen der gleiche Ort angegeben werden. PCL1124 erzeugt zwei Abzugsdateien, AUS fuer die primaere Summendatenbank und AUS2 fuer die sekundaere Summendatenbank. Die erforderlichen Aenderungen der Steuerungsdatenbank (Ort der stillgelegten Verdichtungsstufen anpassen und ev. ein DUMMY-Arbeitsgebiet anlegen) werden zunaechst auf die Datei ASSUPD ausgegeben. Sie muessen zum Schluss noch mit PCL1032 auf die Steuerungsdatenbank gespielt werden (verzoegerte Update). Die Abzugsdateien koennen mit PCL1083 zum Beispiel fuer PCL1013 (ISAM) oder das DB2-Loadutility konvertiert werden. Anschliessend werden die einzelnen Summendatenbanken geladen. Damit haben PCL1124 und PCL1083 nur lesenden Zugriff und das Arbeitsgebiet muss nur fuer PCL1032 und das Laden der einzelnen Summendatenbanken gesperrt werden. Vereinfachter Ablaufplan: ASSCO Para-DB SU-DB !_________!_________! ! PCL1124 _________!_________ ! ! ! ASSUPD AUS AUS2 ! ! ! ! ! ! ! ASSAINN ASSAINN ! ! ! ! ! ! ! PCL1083 PCL1083 ! ! ! ! ! ! ! ASSAONN ASSAONN ! ! ! Sperrung des Arbeitsgebiet ! ! ! ASSUPD ! ! ! primaere sekundaere PCL1032 SU-DB SU-DB ! laden laden ! DST003 Arbeitsgebiet entsperren Beispiel: ========= AGNR = 13 VDST 31 > 122 VDST 32 > 122 Die beiden Verdichtungsstufen 31 und 32 des Arbeitsgebiets 13 sollen auf den Ort 122 (sekundaere Summendatenbank) ausgelagert werden.
Wie bereits oben erwaehnt, kann man PCL1002 so laufen lassen, dass keine DB-Aenderungen durchgefuehrt werden. Die erforderlichen Aenderungen in der Steuerungs-DB werden dann nicht direkt auf die Steuerungs-DB geschrieben, sondern in die Datei ASSUPD. Die Aenderungsanweisungen aus der Datei ASSUPD muessen dann zeitlich verzoegert mit dem Programm PCL1032 nachgetragen werden. Der Ablaufplan ist in 2.2 integriert. Die Aenderungsanweisungen bestehen hauptsaechlich aus der Aenderung der Versionsnummer der Summendatenbank und der Anzahl der Saetze pro Verdichtungsstufe (Eintrag auf der Steuerungsdatenbank). PCL1032 kennt auch noch eine Vorlaufkartendatei. LINK-Name bzw. DD-Name ist ASSCO, bei Windows bzw. Unix wird der Name aus '$ASSVLK/T1032.VLK' gebildet. Das Dateiformat ist analog zur Vorlaufkartendatei von PCL1001. Die Vorlaufkartendatei macht nur im Zusammenhang mit dem Protokoll-Arbeitsgebiet Sinn (Siehe hierzu HSYSDOK). Sie sollte standardmaessig auf Dummy gesetzt werden.
Auswertungen im BATCH werden von den Programmen PCL1003 und PCL1016 durchgefuehrt. Bei Adressraumproblemen siehe Handbuch INSTALLATION, Area-Einstellungen fuer PCL1016. PCL1003 fuehrt Anforderungen, die in der ASS-Anforderungs- sprache erstellt wurden, aus. PCL1016 wertet die Anforderungsdatenbank DST004 aus. PCL1003 und PCL1016 haben aehnliche interne Arbeitsweisen: Jede Anforderung wird fuer sich abgearbeitet. Das Abarbeiten einer Anforderung erfolgt in 3 Schritten: 1. Schritt: Anforderung analysieren und auf programm- internes Format bringen. 2. Schritt: Summendatenbanken lesen und Daten fuer die aktuelle Anforderung auf eine Workdatei schreiben (Workdatei 1), evtl. diese Workdatei sortieren. 3. Schritt: Die im 2. Schritt erstellte Workdatei druck- aufbereiten und nach LISTE schreiben. In diesem Schritt werden auch alle Formeln aus der Anforderung abgearbeitet. Soll die Anforderung sortiert werden, wird eine Workdatei 2 erstellt, die dann sortiert und druckaufbereitet wird. Arbeitet man mit Umrechnungswerten, so wird im 2. Schritt zusaetzlich eine weitere Workdatei ( Workdatei 3 ) fuer die Umrechnungswerte erstellt. Sie wird nur benutzt, wenn Umrechnungswerte vorkommen. Werden Anforderungen abgearbeitet, die bei Werte-Formel GESAMT-Operanden enthalten, so kann es passieren, dass bei grossen Anforderungen nicht alle GESAMT-Werte im Arbeitsspeicher vorgehalten werden koennen. In diesem Fall werden Arbeitsdateien WORK10 und WORK11 benutzt. Sie sollten analog WORK1 stets in der JCL zugewiesen werden. Auf den folgenden Seiten sind die Datenflussplaene der Auswertung dargestellt. Die BATCH-Auswertung kann hinsichtlich Rechenzeit, Zugriffszahlen, Listgroessen etc. durch Vorlaufkarten beeinflusst werden. Dies ist im Anschluss an die Ablaufplaene beschrieben. Ablauf: ------ *************** **************** *********************** ! ! ! ! ! ! ! D U P V 1 ! ! D U P V 2 ! ! D U P V 3 / 4 / 5 ! ! ! ! ! ! ! *************** **************** *********************** ! ! ! 100 ! 112 ! 114 ! ! ________________! ! ! ! _________________________! ! ! ! V V V .---. .---. .---. .---. .---. .---. ,' ', ,' ', ' ', ,' ', ,' ', ,' ', !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! ! ! ! ! ! ! 110 ! ! 115 ! ! 120 ! ! 130 ! ! 140 ! ! 145 ! ! ! ! ! ! ! ! ! ! ! ! ! '.___.' '.___.' '.___.' '.___.' '.___.' '.___.' ! ! ! ! ! ! ! ! ! ! ! ! !________ !________ ! ! ! ! ! ! ! ! ! ! _______ ! ! ! ! ! ! ___/___ !!________ ! ! _______! ! ! / !151! ! ! ! ! ________________! ! ! 150 !---+ ! ! ! ! ! __________________________! +-------+ ! ! ! ! ! ! ! ! ! ! ! ! ! .---. ! V V V V V V ,' ', ! *************** !'.___.'! +---------------->! ! ! ! ! PCL1003 !<-------------->! 170 ! 160 ! ! ! ! *************** '.___.' ! ! ! ! ! ! ! !____________________________ _________________! ! !______________ ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! V V V V ************ .---. .---. .---. ! ! ,' ', ,' ', ,' ', ! 180 ! !'.___.'! !'.___.'! !'.___.'! ! ***** ! ! ! ! ! ! ! / ! 190 ! ! 210 ! ! 220 ! ***** ! ! ! ! ! ! '.___.' '.___.' '.___.' Dateibeschreibung: ----------------- Lfd.-Nr. ! DD-Name/PGM ! Bezeichnung ! LINK-Name ! ---------!--------------!------------------------------------------- 100 ! DUPV1 ! Anlegen temporaere Workdatei 1 ! ! (im BS2000 nur ein FILE-Kommando) ! ! 112 ! DUPV2 ! Anlegen temporaere Workdatei 2 ! ! (im BS2000 nur ein FILE-Kommando) ! ! 110 ! //WORK1 ! Temporaere Workdatei 1 (Ausgabe) ! //WORK1 ! -"- 1 (Eingabe) ! ! IBM: RecFm=VB, LRecl=6006 ! ! SNI: mindestens Standardblockung 3 ! ! ! //WORK2 ! Temporaere Workdatei 2 (Ausgabe) ! //WORK2 ! -"- 2 (Eingabe) ! ! IBM: RecFm=VB, LRecl=6006 ! ! SNI: mindestens Standardblockung 3 ! ! 114 ! DUPV3/4/5 ! Anlegen temporaere Workdatei 3, 10 ,11 ! ! (im BS2000 nur ein FILE-Kommando) ! ! 115 ! //WORK3 ! Temporaere Workdatei 3 (Ausgabe) ! //WORK3 ! -"- 3 (Eingabe) ! //WORK10 ! Temporaere Workdatei 10 (Ausgabe) ! //WORK10 ! -"- 10 (Eingabe) ! //WORK11 ! Temporaere Workdatei 11 (Ausgabe) ! //WORK11 ! -"- 11 (Eingabe) ! ! IBM: RecFm=VB, LRecl=6006 ! ! SNI: mindestens Standardblockung 3 ! ! 120 ! //DST001 ! Werte-DB ! //DST011 ! Primaer-Index (nur DLI) ! //DST012 ! Sekundaer-Index 1 (nur DLI) ! //DST013 ! Sekundaer-Index 2 (nur DLI) ! ! ! //DST002 ! Schluessel-DB ! //DST021 ! Primaer-Index (nur DLI) ! ! ! //DST003 ! Steuerungs-DB ! //DST031 ! Primaer-Index (nur DLI) ! //DST032 ! Sekundaer-Index 1 (nur DLI) ! //DST033 ! Sekundaer-Index 2 (nur DLI) ! ! ! //DST004 ! Anforderungs-DB ! //DST041 ! Primaer-Index (nur DLI) ! ! 130 ! //DST100 ! Summen-DB (Fuer Arbeitsgebiet 1) ! //DST101 ! Index-DB (Fuer Arbeitsgebiet 1, nur DLI) ! bis ! bis ! //DST600 ! Summen-DB (Fuer Arbeitsgebiet 50) ! //DST601 ! Index-DB (Fuer Arbeitsgebiet 50, nur DLI) ! usw. ! Lfd.-Nr. ! DD-Name/PGM ! Bezeichnung ! LINK-Name ! ---------!--------------!------------------------------------------- 140 ! //ASSCV01 ! Externe Verdichtungsstufen. Nur die ! bis ! benoetigten Dateien muessen zugewiesen ! //ASSCV50 ! werden. ! ! Die letzten beiden Ziffern bezeichnen ! ! den Ort der Verdichtungsstufe. ! ! 145 ! //DST009 ! Security-Datenbank, ! oder ! nur falls ASS-Online-Security installiert ! //DST009 ! worden ist, siehe Handbuch 'Installation', ! //DST091 ! Kapitel 1.1 und 5.7 ! oder ! ! //DST600 ! ! oder ! ! entspre- ! ! chende ! ! ADABAS-Files! ! ! 150 ! //KARTE ! In ASS-Anforderungssprache formulierte ! ! Listanforderung der Fachabteilung ! ! 151 ! //ASSDATE ! Bezugsmonat und Anforderungsvariable ! ! ! //ASSCO ! Vorlaufkarte ! ! 160 ! PCL1003 ! Auswerten Arbeitsgebiet ! ! 170 ! //SORTWK01 ! Sortwork-Bereich01 - ! bis ! bis > IBM ! //SORTWKnn ! Sortwork-Bereichnn - ! //SORTWK1 ! Sortwork-Bereich1 - ! bis ! bis > SIEMENS ! //SORTWKn ! Sortwork-Bereichn - ! ! 180 ! //LISTE ! Auswertung auf Liste ! //LISTE01 ! ! . ! ! . ! ! . ! ! //LISTE10 ! ! ! 190 ! //LDAT ! Auswertung auf eine seq. Datei, auf DUMMY ! ! Setzen und auf Anforderung aktivieren. 210 ! //PWORK ! Ausgabe der Statistiksaetze (Protokoll ! ! der Anforderung, installationsabhaengig, ! ! s.u.) ! ! 220 ! //LISTDB ! Ausgabe der Datei fuer die Berichts-DB Ablauf: ------ *************** **************** *********************** ! ! ! ! ! ! ! D U P V 1 ! ! D U P V 2 ! ! D U P V 3 / 4 / 5 ! ! ! ! ! ! ! *************** **************** *********************** ! ! ! 100 ! 112 ! 114 ! ! ___________________! ! ! ! _______________________________! ! ! ! V V V .---. .---. .---. .---. .---. .---. .---. ,' ', ,' ', ,' ', ,' ', ,' ', ,' ', ,' ', !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 110 ! ! 115 ! ! 120 ! ! 130 ! ! 140 ! ! 145 ! ! 150 ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! '.___.' '.___.' '.___.' '.___.' '.___.' '.___.' '.___.' ! ! ! ! ! ! ! ! ! ! ! ! ! ! !_____ ! ! ! ! ! ! ! ! !____ ! ! ! ! .---. ! !____________ ! __! ! ! ! ,' ', !______________ ! ! ! __________! ! ! !'.___.'! ! ! ! ! ! __________________! ! ! ! ! ! ! ! ! ! __________________________! ! 156 ! ! ! ! ! ! ! ! 160 ! ! __________ ! ! ! ! ! ! ! .---. '.___.' / ! V V V V V V V ,' ', ! ! 155 ! *************** !'.___.'! ! +----------+->! ! ! ! ! ! PCL1016 !<------------->! 170 ! ------------------->! ! ! ! __________ *************** '.___.' / ! A ! ! ! ! ! ! ! ! 151 / 152!-----------+ ! ! ! ! ! ! !___________________________ +----------+ ! ! ! ! ! ____________________ ! ____________________! ! ! ! !___________ ! ! ! _____________! ! ! ! ! ! ! ! ! !__ ! ! ! ! ! _____! ! ! ! ! V V V V V V V ********** .---. .---. .---. .---. .---. .---. ! ! ,' ', ,' ', ,' ', ,' ', ,' ', ,' ', ! 180 ! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'! ! **** ! ! ! ! ! ! ! ! ! ! ! ! ! / ! 190 ! ! 200 ! ! 205 ! ! 210 ! ! 220 ! ! 230 ! **** ! ! ! ! ! ! ! ! ! ! ! ! '.___.' '.___.' '.___.' '.___.' '.___.' '.___.' Dateibeschreibung: ----------------- Lfd.-Nr. ! DD-Name/PGM ! Bezeichnung ! LINK-Name ! ---------!--------------!------------------------------------------- 100 ! DUPV1 ! Anlegen Temporaere Workdatei 1 ! ! (im BS2000 nur ein FILE-Kommando) ! ! 112 ! DUPV2 ! Anlegen Temporaere Workdatei 2 ! ! (im BS2000 nur ein FILE-Kommando) ! ! 110 ! //WORK1 ! Temporaere Workdatei 1 (Ausgabe) ! //WORK1 ! -"- 1 (Eingabe) ! ! IBM: RecFm=VB, LRecl=5560 ! ! SNI: mindestens Standardblockung 3 ! ! ! //WORK2 ! Temporaere Workdatei 2 (Ausgabe) ! //WORK2 ! -"- 2 (Eingabe) ! ! IBM: RecFm=VB, LRecl=5560 ! ! SNI: mindestens Standardblockung 3 ! ! 114 ! DUPV3/4/5 ! Anlegen Temporaere Workdatei 3,10,11 ! ! (im BS2000 nur ein FILE-Kommando) ! ! 115 ! //WORK3 ! Temporaere Workdatei 3 (Ausgabe) ! //WORK3 ! -"- 3 (Eingabe) ! //WORK10 ! Temporaere Workdatei 10 (Ausgabe) ! //WORK10 ! -"- 10 (Eingabe) ! //WORK11 ! Temporaere Workdatei 11 (Ausgabe) ! //WORK11 ! -"- 11 (Eingabe) ! ! IBM: RecFm=VB, LRecl=5560 ! ! SNI: mindestens Standardblockung 3 ! ! 120 ! //DST001 ! Werte-DB ! //DST011 ! Primaer-Index (nur DLI) ! //DST012 ! Sekundaer-Index 1 (nur DLI) ! //DST013 ! Sekundaer-Index 2 (nur DLI) ! //DST002 ! Schluessel-DB ! //DST021 ! Primaer-Index (nur DLI) ! //DST022 ! Sekundaer-Index 1 (nur DLI) ! //DST023 ! Sekundaer-Index 2 (nur DLI) ! //DST003 ! Steuerungs-DB ! //DST031 ! Primaer-Index (nur DLI) ! //DST032 ! Sekundaer-Index 1 (nur DLI) ! //DST033 ! Sekundaer-Index 2 (nur DLI) ! ! 130 ! //DST100 ! Summen-DB (Fuer Arbeitsgebiet 1) ! //DST101 ! Index-DB (Fuer Arbeitsgebiet 1, nur DLI) ! bis ! bis ! //DST600 ! Summen-DB (Fuer Arbeitsgebiet 50) ! //DST601 ! INDEX-DB (Fuer Arbeitsgebiet 50, nur DLI) ! usw. ! Lfd.-Nr. ! DD-Name/PGM ! Bezeichnung ! LINK-Name ! ---------!--------------!------------------------------------------- ! ! 140 ! //ASSCV01 ! Externe Verdichtungsstufen. Nur die ! bis ! benoetigten Dateien muessen zugewiesen ! //ASSCV50 ! werden. ! ! Die letzten beiden Ziffern bezeichnen ! ! den Ort der Verdichtungsstufe. ! ! 145 ! //DST009 ! Security-Datenbank, ! oder ! nur falls ASS-Online-Security installiert ! //DST009 ! worden ist, siehe Handbuch 'Installation', ! //DST091 ! Kapitel 1.1 und 5.7 ! oder ! ! //DST600 ! ! oder ! ! entspre- ! ! chende ! ! ADABAS-Files! ! ! 150 ! //DST004 ! Listanforderungen der Fachabteilung ! //DST041 ! Index fuer DST004, nur DLI ! ! 151 ! //ASSCO ! Vorlaufkarte ! ! 152 ! //ASSDATE ! Bezugsmonat und Anforderungsvariable ! //ASSALIA ! Anforderungen, die nicht ausgefuehrt ! ! werden sollen ! ! 155 ! //KARTEI ! In ASS-Anforderungssprache formulierte ! ! Listanforderung der Fachabteilung ! ! ! ! 156 ! //KARTE ! Workdatei(en) (Eingabe) ! //KARTEO ! (Ausgabe) ! ! 160 ! PCL1016 ! Auswerten Arbeitsgebiet ! ! 170 ! //SORTWK01 ! Sortwork-Bereich01 - ! bis ! bis > IBM ! //SORTWKnn ! Sortwork-Bereichnn - ! //SORTWK1 ! Sortwork-Bereich1 - ! bis ! bis > SIEMENS ! //SORTWKn ! Sortwork-Bereichn - ! ! 180 ! //LISTE ! Auswertung auf Liste ! //LISTE01 ! ! . ! ! . ! ! . ! ! //LISTE10 ! Lfd.-Nr. ! DD-Name/PGM ! Bezeichnung ! LINK-Name ! ---------!--------------!------------------------------------------- ! ! 190 ! //LDAT ! Auswertung auf eine seq. Datei, auf DUMMY ! ! setzen und bei Bedarf aktivieren. ! ! 200 ! //ASSALI ! Mit 'NUPDAT' ausgefuehrte Listanford., ! ! die Markierung der Listanforderung als ! ! ausgefuehrt kann ueber das ! ! Dienstprogramm PCL1012 nachgeholt werden. ! ! feste Satzlaenge von 80 ! ! 205 ! //ASSVT ! Anforderungsergebnis fuer E-Mail-Versand ! ! aus sequentiele Datei, auf Dummy Setzen ! ! und bei Bedarf aktivieren ! ! ! ! 210 ! //PWORK ! Ausgabe der Statistiksaetze (Protokoll ! ! der Anforderung, installationsabhaengig, ! ! s.u.) ! ! 220 ! //LISTDB ! Ausgabe der Datei fuer die Berichts-DB ! ! 230 ! //ASSFTG ! Fuer Listanforderungen mit Turni, die ! ! nach Arbeitstagen gesteuert sind. ! ! Werden solche Listanforderungen ausge- ! ! wertet, so muss diese Datei zugeordnet ! ! sein und alle nicht-Arbeitstage im ! ! Format JJMMTT enthalten. ! ! Format der Datei :feste Satzlaenge von 80. Die Datei ASSDATE ----------------- Format: (siehe Include SST1122) ------ IBM: Feste Satzlaenge 80 Byte. SIEMENS: Variable Satzlaenge 80 Byte. Die Beschreibung ist im Auswertungshandbuch unter dem Kapitel "Uebersteuerungsmoeglichkeiten in der Batchauswertung" enthalten. In dieser Datei muss der erste Satz linksbuendig den gewuenschten Bezugsmonat in der Form JJMM oder JJMMTT enthalten. Vorlaufkarten der BATCH-Auswertung: ---------------------------------- Vorlaufkarten werden ueber ASSCO eingelesen. Format: IBM: Feste Satzlaenge 80 Byte. SIEMENS: Variable Satzlaenge 80 Byte. Die Eintragungen in der Vorlaufkarte sind optional. ASSCO kann auf DUMMY gesetzt werden. Die 1. Vorlaufkarte: ------------------- Die 1. Vorlaufkarte spielt eine Sonderrolle. Sie ist fuer die unten aufgefuehrten Optionen reserviert und kann auch leer sein. Inhalt ! Bedeutung ---------------------------------------------- MINUTEN=nnn ! Begrenzung der Programmlaufzeit ! in Minuten je Anforderung ! ZEILEN=mmm ! Begrenzung der Listgroesse ! DRLIM=nnn ! Begrenzung des Druckoutputs ! ZUGRIFFE=ooo ! Begrenzung der Anzahl Zugriffe ! zu Summendatenbanken ! ANFORDERUNGEN=ppp ! Begrenzung der Anzahl auszu- ! fuehrender Anforderungen, nur ! fuer PCL1016 ! ENDE=hhmm ! Begrenzung der Programmlauf- ! zeit durch einen festen Ende- ! zeitpunkt ! NUPDAT ! Ausgefuehrte Anforderungen nicht ! markieren, nur fuer PCL1016 ! NUPDATPR ! Ausgefuehrte Anforderungen nicht ! markieren, nur fuer PCL1016 ! NPRT ! Von Anforderungen unabhaengiges ! Protokoll unterdruecken, nur ! fuer PCL1016 ! Inhalt ! Bedeutung ---------------------------------------------- ANALYSE ! Anforderungen nur ueberpruefen, ! nicht ausfuehren, nur PCL1016 ! FEHLER_ANALYSE ! Anforderungen nur ueberpruefen, ! nicht ausfuehren, nur PCL1016 ! BIB=n ! Selektion von Anforderungen, die ! ausgefuehrt werden sollen ! NULLEN ! Bei nicht berechenbaren Formeln ! wird in die PC-Datei 0 ausgege- ! ben (nur PCL1016) ! KARTE ! Anforderung(en) werden von KARTEI ! gelesen anstatt von der Anfor- ! derungsdatenbank (nur PCL1016) ! LOESCHEN ! einmalig auszufuehrende Anforde- ! rungen werden unabhaengig vom ! Ausfuehrungsdatum durch PCL1016- ! Lauf geloescht ! NODEL ! es werden keine Anforderungen ! geloescht. (nur PCL1016) ! IGNORE_ANF ! Das PC-Format wird standardmaessig ! ueber die optionale PC-Anweisung ! der Anforderung und falls diese ! nicht existiert ueber die ! Bibliothek G, H, I oder J ! bestimmt. Mittels IGNORE_ANF wird ! die optionale PC-Anweisung ! ignoriert. (nur PCL1016) ! NO_ASSDS ! Beim Erzeugen von PC-Dateien wird ! grundsaetzlich keine Beschrei- ! bungsdatei ASSDS erzeugt. ! (nur PCL1016) ! EHB ! Erzeugen Ladeformat fuer PCL1095 ! (Berichtsdatenbank) fuer die ! Anzeige von Berichten unter ASS- ! Excel und ASS-Internet. ! (nur PCL1016) Inhalt ! Bedeutung ---------------------------------------------- EMAIL ! Ausgabe in sequentielle Datei fuer ! Folgeverarbeitung fuer die Versen- ! dung via E-Mail. Es werden nur ! Anforderungen ausgefuehrt, die ! einen entsprechenden Verteiler ! haben. Es kann zusaetzlich maximal ! eins der Ausgabeformate HTML, ! PDF_HOCH oder PDF_QUER angegeben ! werden. Voreingestellt ist das ! normale Listenformat. ! (nur PCL1016) ! EMAIL_PLUS ! Anforderungen mit Verteiler ! werden wie bei EMAIL behandelt. ! Anforderungen ohne Verteiler ! werden wie bei einem "normalen" ! Lauf von PCL1016 ausgefuehrt. ! (nur PCL1016) ! HTML ! Ausgabe des Anforderungsergebnis ! im HTML-Format, nur in Kombination ! mit Option EMAIL zulaessig. ! (nur PCL1016) ! PDF_HOCH ! Ausgabe des Anforderungsergebnis ! im PDF-Format, nur in Kombination ! mit Option EMAIL zulaessig. ! Hierbei werden die einzelnen ! Seiten fuer das Drucken im ! Hochformat vorbereitet. ! (nur PCL1016) ! PDF_QUER ! analog zu PDF_HOCH, allerdings ! werden hier die einzelnen ! Seiten fuer das Drucken im ! Querformat vorbereitet. ! (nur PCL1016) ! DATEIERZEUGUNG ! nur PCL1016 ! AREA_TEXTDB=1016nn ! nur PCL1016 Beispiel: MINUTEN=10000,ZUGRIFFE=500000,ZEILEN=20000,ENDE=0315 Beschreibung der einzelnen Optionen: ----------------------------------- MINUTEN: ------- Existiert in der 1. Vorlaufkarte die Angabe MINUTEN=nnn, so bewirkt dies eine Einschraenkung der Programmlaufzeit. Nach der Pruefung der Anforderung wird ermittelt, wieviel Zeit die Abarbeitung der Anforderung voraussichtlich braucht. Zum anderen wird errechnet, wieviel Zeit noch zur Verfuegung steht (Restlaufzeit = vorgegebene Zeit - verbrauchte Zeit). Reicht die Restlaufzeit aus, so wird die Anforderung ausgefuehrt. Andernfalls wird mit der naechsten Anforderung weitergemacht. Wichtig: die Laufzeit wird je Anforderung neu berechnet. ZEILEN: ------ Durch diesen Parameter kann der Druckoutput, der pro Anforderung entstehen kann, begrenzt werden. Jede Anforderung hat eine theoretische Hoechstzeilenzahl. Diese Zeilenzahl errechnet sich aus dem Produkt der Anzahl Auspraegungen ueber alle Kopf- und Zeilenschluessel. Beispiel: Folgende Anforderung sei gegeben: KS: ZEITRAUM=(0187,0287,0387); /* 3 Auspraegungen */ ZS: GESCHLECHT=(M,W), /* 2 Auspraegungen */ TARIF; /* der TARIF habe 100 Auspraegungen */ Dies ergibt 3 * 2 * 100 = 600 Zeilen. Gegen die so errechnete Zeilenzahl wird geprueft. Uebersteigt diese Zeilenzahl das vorgegebene Limit, so wird die aktuelle Anforderung nicht ausgefuehrt. Es wird mit der naechsten Anforderung weitergemacht. DRLIM: ----- Durch diesen Parameter kann der Druckoutput, der pro Anforderung entstehen kann, begrenzt werden. Waehrend bei ZEILEN eine Schaetzung durchgefuehrt wird und die Anforderung ev. ueberhaupt nicht ausgefuehrt wird, wird bei DRLIM gezaehlt, wie viele Druckzeilen pro Anforderung tatsaechlich geschrieben werden. Wird der Grenzwert, der bei DRLIM angegeben ist, ueberschritten, dann wird in der betreffenden Liste am Ende ein entsprechender Hinweis geschrieben und kein weiterer Druckoutput fuer diese Anforderung erzeugt. Die betreffende Anfor- derung gilt als korrekt ausgefuehrt. ZUGRIFFE: -------- Durch diese Angabe kann die Anzahl der Zugriffe zu Summendatenbanken limitiert werden, die fuer die Abarbeitung einer Anforderung maximal zulaessig ist. Uebersteigt die Anzahl das vorgegebene Limit, so wird die aktuelle Anforderung nicht ausgefuehrt. Es wird mit der naechsten Anforderung weitergemacht. ANFORDERUNDEN: ------------- Durch diese Angabe kann man die Anzahl der Anforderungen, die in einem Lauf ausgefuehrt werden, begrenzen. Gezaehlt werden nur die erfolgreich ausgefuehrten Anforderungen. NUPDAT: ------ Normalerweise werden die Anforderungen, die von PCL1016 erfolgreich ausgefuehrt wurden, in der Anforderungs- datenbank als ausgefuehrt markiert. Dies hat zur Folge, dass PCL1016 nicht mehr ein rein lesendes Programm ist. Laeuft PCL1016 beispielsweise nachts im operatorlosen Betrieb, und man moechte, dass PCL1016 nur liest, so kann das durch die Angabe NUPDAT erreicht werden. Die erforderlichen Aenderungen werden dann in die Datei ASSALI geschrieben. Diese Aenderungsanweisungen koennen dann zeitversetzt mit PCL1012 nachgetragen werden. NUPDATPR: -------- Die Option entspricht im wesentlichen der Option NUPDAT. Alle Saetze der Datei ASSALIA werden nach ASSALI kopiert. Bevor eine Anforderung ausgefuehrt wird, wird geprueft, ob sie in der Datei ASSALIA enthalten ist. Hierdurch kann erreicht werden, dass das Programm PCL1016 mehrfach hintereinander ohne UPDATE ausgefuehrt werden kann, ohne dass eine Anforderung mehrfach ausgefuehrt wird. Z.B. im 1. Lauf entsteht eine Datei ASSALI, die im 2. Lauf als ASSALIA benutzt wird. ASSALI des 2. Laufs wird als ASSALIA des 3. Laufs benutzt usw. Da durch diese Methode ASSALI immer groesser wird, sollte einmal taeglich ASSALI mit PCL1012 in die Anforderungs-DB eingearbeitet werden. Hierbei wird ASSALI geleert. Elegant laesst sich die obige Situation mit GDG-Dateien loesen. Eine allerste Datei ASSALI erhaelt man, wenn man PCL1016 mit der Option NUPDAT ausfuehrt. NPRT: ----- Die Option bewirkt, dass die erste und letzte Seite des Protokolls unterdrueckt wird. Wurden in einem Programm- lauf keine Anforderungen bearbeitet, so entsteht somit kein Output mehr. ANALYSE: -------- Die Option bewirkt, dass die Anforderungen nicht voll- staendig ausgefuehrt werden. Die Anforderungen werden auf Syntax und Semantik ueberprueft und ausserdem das Zugriffsverhalten auf die Summendatenbank und die Be- arbeitungszeit ermittelt. Es wird auch das entsprechende Protokoll erstellt. Nicht ausgefuehrt werden die Zu- griffe auf die Summendatenbank und es unterbleibt eine Aufbereitung der Liste. Mehrfachanforderungen, Join-Anforderungen und verkettete Anforderungen werden nicht analysiert. FEHLER_ANALYSE: --------------- Wie die Option ANALYSE, es werden jedoch nur die Anforderungen protokolliert, bei denen ein Fehler entdeckt wurde. ENDE: ---- Existiert in der Vorlaufkarte die Eingabe der Form ENDE=hhmm, so bewirkt dies eine Einschraenkung der Programmlaufzeit. (hh = Stunden, mm = Minuten ) Mit der Option ENDE kann ein Zeitpunkt angegeben werden, ueber den das Programm nicht mehr mit der Abarbeitung von Anforderungen fortfahren soll. Der Endezeitpunkt errechnet sich aus dem aktuellen Tagesdatum und der ueber die mit der Vorlaufkarte angegebenen Zeit wie folgt: - Liegt die Startzeit des Programms nach der Endezeit der Vorlaufkarte, bezieht sich die Endezeit auf den nachfolgenden Tag. - Ansonsten wird das Endedatum gleich dem Tagesdatum gesetzt. Den Vorteil dieser Regelung erlaeutert folgendes Beispiel: Das Programm PCL1003 soll ueber Nacht laufen und wird am 30.06.88 um 22.00 Uhr mit der Vorlaufkarte ANFORDERUNGEN=100,ENDE=0230 gestartet. Das Programm darf also maximal bis zum 01.07.88 um 02.30 Uhr laufen. Waere das Endedatum nicht vom 30. Juni auf den 01. Juli einen Tag weiter geschaltet worden, haette das Programm ueberhaupt keine Anforderungen verarbeitet. Es bestehen folgende Unterschiede zur Option MINUTEN: - Das Kriterium, wann keine Anforderungen mehr ausgefuehrt werden, ist unabhaengig von der Laufzeit der jeweiligen Anforderung. - Ist das Endekriterium erfuellt, wird nicht mit der naechsten Anforderung fortgefahren, sondern das gesamte Programm mit entsprechender Fehlermeldung abgebrochen. Die Abbruchgenauigkeit liegt bei etwa 5 Minuten. Standardeinstellungen: --------------------- MINUTEN=10000 fuer PCL1003 MINUTEN=300 fuer PCL1016 Keine Begrenzung bei ZEILEN Keine Begrenzung bei ZUGRIFFE Keine Begrenzung bei ENDE ANFORDERUNGEN=100 Nicht NUPDAT Nicht ANALYSE BIB=E / BIB=P / BIB=G / BIB=H / BIB=I / BIB=J / BIB=B: ------------------------------------------------------ Anforderungen, die ausgefuehrt werden sollen, koennen nach dem Bibliothekstyp selektiert werden. BIB=E bedeutet, dass einmalig auszufuehrende An- forderungen ausgefuehrt werden. BIB=P bedeutet, dass periodisch auszufuehrende Anforderungen ausgefuehrt werden. Diese Option ist wahlfrei. Wird diese Option nicht angegeben, werden einmalige und periodische Anforderungen ausgefuehrt. BIB=G, ... , BIB=J sprechen installationsabhaengige Listanforderungsbibliotheken an. Diese Angaben sind nur sinnvoll, wenn die entsprechenen Bibliotheken eingerichtet sind. Siehe auch Handbuch Installation. BIB=B bedeutet, dass Anforderungen, die nur sicherge- stellt wurden, bearbeitet wurden. Hier ist zu beachten, dass diese nicht fehlerfrei sein muessen. Ausserdem werden keine Updates auf die Anforderungsdatenbank durchgefuehrt. Diese Angabe sollte nur zu Testzwecken verwendet werden. NULLEN: ------- Bei Erstellung von PC-Dateien aus dem PCL1016 heraus, wird bei nicht berechenbaren Formeln 0 (anstatt Blank) in die Datei geschrieben. KARTE: ------ Bei Angabe dieser Option fuer das Programm PCL1016 werden die auszufuehrenden Listanforderungen anstatt von der Anforderungsdatenbank von der sequentiellen Datei KARTEI gelesen. Analog zum PCL1003 besteht die Einschraenkung, dass keine verketteten Anforderungen verarbeitet werden koennen. LOESCHEN: --------- Diese Option kann beim Programm PCL1016 angegeben werden. Sie bewirkt, dass bereits ausgefuehrte, einmalig auszufuehrende Anforderungen im angegebenen Namensintervall unabhaengig vom Ausfuehrungsdatum von der Anforderungsdatenbank geloescht werden. NODEL: ------ Diese Option bewirkt, dass bereits ausgefuehrte, einmalig auszufuehrende Anforderungen nicht von der Anforderungsdatenbank geloescht werden, auch wenn dass das Ausfuehrungsdatum lange zurueckliegt. EHB: ---- Diese Option kann beim Programm PCL1016 angegeben werden. Sie bewirkt, dass Anforderungsergebnisse und -protokolle auf eine Ladedatei fuer PCL1095 ausgegeben werden. Damit stehen die Anforderungsergebnisse unter ASS-EXCEL und ASS-Internet in einer Anforderungsbibliothek 'Z' zur Verfuegung. Bemerkung: gleiches geschieht, wenn bei der Anforderung die Option LISTDB auf 'B' gesetzt wird. EMAIL: ------ Diese Option kann beim Programm PCL1016 angegeben werden. Sie bewirkt, dass nur Anforderungen ausgefuehrt werden, denen ein (E-Mail-)Verteiler zugeordnet wurde. Das Anforderungsergebnis wird auf eine sequentielle Datei geschrieben, die auf einem PC (eventuell nach Filetransfer) via PCL1125 weiterverarbeitet werden kann. PCL1125 versendet die Anforderungsergebnisse an die bei der Anforderung unter dem Verteiler zusammengefassten Empfaenger (vergleiche HAUSWERT und HST09). Das Anforderungsergebnis kann folgende Formate haben - Liste: es wird nur die Liste versendet, keine Protokolle - PC-DATEI: gilt fuer Anforderungen auf einer der Sonderbibliotheken G, H, I, J oder fuer Anforderungen, bei denen die Option Datei angegeben ist. Im letzteren Fall muss vorab noch das Programm PCL1038 mit der Option EMAIL gestartet werden. - HTML-Format: Erzeugen des List-Outputs im HTML-Format DATEIERZEUGUNG: --------------- Wird diese Option angegeben, so wird zu jeder Anforderung, die ausgefuehrt werden soll und bei der bei korrekter Ausfuehrung das Anforderungsergebnis in die Datei LDAT geschrieben wird, ein "fehlerhaftes" Ausfuehrungsergebnis in die Datei LDAT geschrieben. Dieses "fehlerhafte" Ausfuehrungsergebnis wird, falls aus der Datei LDAT eine PC-Datei erzeugt wird, in die entsprechene PC-Datei weitergereicht und dort entsprechend gekennzeichnet. Einzelheiten hierzu siehe Handbuch HBETRIE2, 3.4 PCL1038. AREA_TEXTDB: ------------ Die Area-Einstellungen fuer PCL1016 werden standard- maessig aus Satznummer 42 der Text-DB gelesen. Fuer Sonderlaeufe ist u.U. eine andere Einstellung guenstiger. Diese koennen unter der bei AREA_TEXTDB angegebenen Satznummer angegeben werden. Siehe hierzu auch Handbuch HINSTALL. Beispiel: AREA_TEXTDB = 101601 Die Angaben bei AREA_TEXTDB ueberschreiben die Angaben der Satznummer 42, fehlende Angaben werden aus Satznummer 42 uebernommen. Vorlaufkarten 2 bis N (N maximal 50): ------------------------------------ Diese Vorlaufkarten koennen Selektionskriterien fuer Anforderungsnamen enthalten: Inhalt: Ab Spalte 1 Name einer Listanforderung oder Intervall von Namen von Listanforderungen, durch Bindestrich getrennt. Beispiel: 1. HUGO 2. A - D Im 1. Beispiel werden alle Anforderungen, deren Name mit HUGO beginnt, ausgefuehrt. Im 2. Beispiel werden alle Anforderungen, deren Name im Intervall von A bis D liegt, ausgefuehrt. Existieren mehr als zwei Vorlaufkarten, so werden zuerst die Anforderungen aus der 2. Vorlaufkarte, dann die Anforderungen aus der 3. Vorlaufkarte usw. ausgefuehrt. Existiert nur die erste Vorlaufkarte, so werden alle Anforderungen, deren Ausfuehrdatum erreicht ist, ausgefuehrt. ACHTUNG: Die angeforderten Namensmengen der Vorlaufkarten 2 bis N duerfen sich nicht ueberlappen, da es dann zu einer mehrfachen Ausfuehrung einer Anforderung kommen koennte. Existieren Ueberlappungen, bricht das Programm PCL1016 mit einer entsprechenden Fehlermeldung ab. Hinter der Angabe eines Anforderungsintervalls kann ein Verteiler angegeben werden. Diese Angabe wird nur bei Verwendung der Option EMAIL verwendet. Hierdurch werden Verteiler-Angaben, die bei den (Einzel-)Anforderungen u.U. existieren, ueber- steuert. Syntax/Beispiel: A - D, VERTEILER: HUGO Die Verteiler-Angabe wird durch ',' vom Anforderungs- intervall abgetrennt und durch das Schluesselwort VERTEILER: (oder VT:) eingeleitet. Satzaufbau von LDAT (OPT=DATEI): ------------------------------- DCL LDAT_KARTE CHAR(80); DCL 01 LDAT_KOPF1 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 01 */ 05 LFDNR PIC'99', /* STETS 01 */ 05 EDATUM CHAR(6), /* ERSTELLUNGSDATUM */ 05 UE CHAR(70); /* UEBERSCHRIFT */ DCL 01 LDAT_KOPF2 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 01 */ 05 LFDNR PIC'99', /* STETS 02 */ 05 ANZ_AG PIC'99', 05 CARNR(5) PIC'999', /* ANGEFORDERTE AG'S */ 05 BIART CHAR(1), /* ANGEFORDERTE BIBLIOTHEK */ 05 BINAME CHAR(8), /* ANGEFORDERTEs ELEMENT */ 05 KZ_KEBEZI PIC'(5)9'; DCL 01 LDAT_PARAM BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 20 */ 05 LFDNR PIC'99', /* n AUS &&LDAT_SPn */ 05 PARINHALT CHAR(60); /* AKTUELLER PARINHALT */ DCL 01 LDAT_KOPF3 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 01 */ 05 LFDNR PIC'99', /* 03, 04, ... */ 05 ANZ_WENR PIC'99', /* ANZAHL WERTENUMMERN */ /* IM AKTUELLEN SATZ */ 05 WERT_EL (2), 10 WENR PIC'(5)9',/* WERTENUMMER */ 10 WEEXL PIC'99' ,/* WERTELAENGE */ 10 WEKST PIC'9' ,/* KOMMASTELLEN */ 10 WEBEZ CHAR(20) ;/* BEZEICHNUNG */ DCL 01 LDAT_KOPF4 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 03 */ 05 LFDNR PIC'99', /* 01, 02, ... */ 05 ANZ_KSZS PIC'99',/*ANZAHL KOPF/ZEILENSCHLUESSEL*/ /*IM AKTUELLEN SATZ */ 05 KSZS_EL (2), 10 LTH PIC'99' ,/* FELDLAENGE */ 10 BEZ CHAR(20) ,/* BEZEICHNUNG */ 05 KSZS_LTH_L (2), 10 LTH_L PIC'999' ;/* BEI LTH = 0: LANGE FELD- */ /* LAENGE (AUS MCL0097) */ DCL 01 LDAT_KOPF5 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* 3 + X <--> X. SS */ 05 LFDNR PIC'99', /* 01, 02, ... */ 05 ANZ_SS PIC'99', /* ANZAHL SCHLUESSEL */ /* IM AKTUELLEN SATZ */ 05 SS (1), 10 ART PIC'9' ,/* 1 SCHL, 2 WERT, 3 ZEIT */ 10 NR PIC'(5)9',/* KENR / WENR */ 10 LTH PIC'99' ,/* FELDLAENGE */ 10 KST PIC'9' ,/* KOMMASTELLEN */ 10 BEZ CHAR(60) ;/* BEZEICHNUNG */ DCL 01 LDAT_SUSATZ1 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 02 */ 05 LFDNR PIC'99', /* 01, 02, ... */ 05 ANZ_KS PIC'99', /* ANZAHL KOPFSCHLUESSEL */ /* IM AKTUELLEN SATZ */ 05 ANZ_ZS PIC'99', /* ANZAHL ZEILENSCHLUESSEL*/ /* IM AKTUELLEN SATZ */ 05 KSZS (2), 10 ART PIC'9', /* 1: SCHLUESSEL */ /* 2: WERT */ /* 3: ZEITRAUM */ 10 NR PIC'99999', /* SCHLUESSELNUMMER ODER*/ /* WERTENUMMER */ 10 INHALT CHAR(20); /* KEINH ODER FOBEZ ODER*/ /* ZEITRAUM ODER WEBEZ */ DCL 01 LDAT_SUSATZ1_50 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 02, 30, 31 */ 05 LFDNR PIC'99', /* 01, 02, ... */ 05 ANZ_KS PIC'99', /* ANZAHL KOPFSCHLUESSEL */ /* IM AKTUELLEN SATZ */ 05 ANZ_ZS PIC'99', /* ANZAHL ZEILENSCHLUESSEL */ /* IM AKTUELLEN SATZ */ 05 ART PIC'9', 05 NR PIC'99999', /* SCHLUESSELNUMMER ODER */ /* WERTENUMMER */ 05 INHALT CHAR(50), /* KEINH ODER FOBEZ ODER */ /* ZEITRAUM ODER WEBEZ */ 05 LTH_AKT PIC'99'; /* NUR BEI SA 30, 31 */ /* Werden vom USER-EXIT MCL0097 lange Inhalte zurueckgegeben, */ /* so wird der betreffende Inhalt auf mehrere Karten verteilt.*/ /* Die erste Karte enthaelt dann die SA = 30, die Folgekarten */ /* die SA = 31. LTH_AKT drueckt aus, wie lang der Inhalt */ /* in der aktuellen Karte gefuellt ist (LTH_AKT <= 50). */ DCL 01 LDAT_SUSATZ2 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 10 */ 05 LFDNR PIC'99', /* 01, 02, ... */ 05 ANZ_SS PIC'99', /* ANZAHL SPALTEN */ /* IM AKTUELLEN SATZ */ 05 SSTAB (4), 10 INHALT PIC'S(15)9'; DCL 01 LDAT_SUSATZ3 BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* STETS 11 */ 05 LFDNR PIC'99', /* 01, 02, ... */ 05 ANZ_SS PIC'99', /* ANZAHL SPALTEN */ /* IM AKTUELLEN SATZ */ 05 SSTAB (4), 10 KST PIC'9', /* KOMMASTELLEN */ 10 INHALT PIC'S(15)9'; DCL 01 LDAT_ENDESATZ BASED(ADDR(LDAT_KARTE)), 05 SA PIC'99', /* 98 bzw. 99 */ 05 LFDNR PIC'99'; /* STETS 01 */ Erklaerungen zu LDAT -------------------- Jede Datei beginnt mit zwei bis n Kopfsaetzen und endet mit einem Endesatz. Im Endesatz wird gekennzeichnet, ob die betreffende Anforderung korrekt ausgefuehrt wurde: SA im Endesatz = 99 -> Anforderung korrekt ausgefuehrt SA im Endesatz = 98 -> Anforderung fehlerhaft ausgefuehrt, d.h. die Summen-Daten in der Datei LDAT zu der betreffenden Anforderung fehlen oder sind unvollstaendig. Gibt es in der aktuellen Anforderung Parameter mit Namen &&LDAT_SPn = ... , so werden die Parameterinhalte zu diesen Parametern in Saetzen mit SA = 20 und LFDNR = n ausgegeben. Jede "echte" Listenzeile wird mit Saetzen LDAT_SUSATZ1, LDAT_SUSATZ1_50, LDAT_SUSATZ2 oder LDAT_SUSATZ3 beschrieben. Saetze vom Typus LDAT_KOPF3 (altes Format, LDAT_ERWEITERT_V640 auf '0'b) und LDAT_KOPF5 beschreiben die Spaltenschluessel. Hierbei werden die Aufbereitungsangaben aus der betreffenden Anforderung uebernommen. Bei Nachkommastellenangaben A, B, C, ... wird als Kommastelle Null ausgegeben. Werden Werte errechnet und konnte ein bestimmter Wert nicht korrekt ermittelt werden (z.B. Division durch Null), so enthaelt der entsprechende Eintrag in SSTAB Blanks. Saetze vom Typus LDAT_KOPF4 dienen dazu, Formatbeschreibungen erstellen zu koennen. Sie werden in LDAT aufgenommen, wenn im Include SST1253 der Schalter LDAT_ERWEITERT auf '1'B gesetzt wurde. Sie werden zwischen die Saetze vom Typ LDAT_KOPF2 und vom Typ LDAT_KOPF3 bzw. LDAT_KOPF5 eingefuegt. Das Karten-Format der Datei LDAT hat zur Konsequenz, dass diese Datei sehr gross werden kann. Via Text-Datenbank kann ein verdichtetes Lesen/Schreiben dieser Datei eingerichtet werden (siehe Hinstall). Um die Daten einzelner Anforderungen trennen zu koennen, wird am Ende der Daten einer Anforderung ein zusaetzlicher Satz '<<<<< ENDE DER ANFORDERUNG >>>>>' eingefuegt. Die Option SPTEXTPC ------------------- Wird die Option SPTEXTPC gesetzt, so orientieren sich die Ausgaben auf die Datei LDAT staerker am Listbild. Es soll hierdurch i. w. erreicht werden, dass die aus der Datei LDAT erzeugten PC-Schnittstellen an das Listbild angepasst werden. Dies bedeutet im einzelnen: - Es werden die Kopf-, Zeilenueberschriften aus dem Listbild uebernommen. - Bei Spaltenueberschriften werden die spaltenorientierten Spaltenueberschriften uebernommen. Gibt es keine, so wird eine Spaltenueberschrift generiert. - Mit &&KSin unterdrueckte Kopfschluessel werden nicht ausgegeben. - Existieren Spaltensequenzen, so werden nur die Spalten der ersten Sequenz in der entsprechenden Reihenfolge ausgegeben. Die Option NOSUMPC ------------------ Wird die Option NOSUMPC gesetzt, so werden keine Sternzeilen (Summenzeilen) ausgegeben. Bei Join-Anforderungen ist folgende Besonderheit zu beachten: Wird bei einer Einzelanforderung die Ausgabe von Summenzeilen angefordert (durch eine entsprechende Option), so gelten diese Zeilen in der Praesentation nicht als Sternzeilen und werden daher immer ausgegeben. Satzaufbau von LISTDB (OPT=LISTDB): ------------------------------- DCL LISTDB_SATZ CHAR(5002); DCL 01 LISTDB_KOPF BASED(ADDR(LISTDB_SATZ)), 05 SL BIN FIXED(15), /* SATZLAENGE */ 05 KOPF_KZ CHAR(1), /* KOPFKENNZEICHEN */ /* 'K' FUER KOPFSATZ */ /* ASCI-ZEICHEN SONST */ 05 BIBANFNAME CHAR(8), /* ANFORDERUNGSNAME */ 05 BIBNR BIN FIXED(15) /* STETS '00' */ UNALIGNED, 05 BIBART CHAR(1), /* BIBLOTHEKSART */ /* 'A':ANFORD.-PROT. */ /* 'L':LISTE */ 05 KENR BIN FIXED(15) /* SCHLUESSELNUMMER */ UNALIGNED, 05 KEINH CHAR(26), /* SCHLUESSELINHALT */ 05 BIBLFDNR BIN FIXED(31) /* STETS '00' */ 05 EDATUM PIC'(6)9', /* ERSTELLDAT. JJMMTT */ 05 EZEIT PIC'(6)9', /* ERST.-ZEIT HHMMSS */ 05 LDATUM PIC'(6)9', /* STETS '000000' */ 05 VDATUM PIC'(6)9', /* STETS '000000' */ 05 VZEIT PIC'(6)9', /* STETS '000000' */ 05 PRKLASSE BIN FIXED(15) /* PROTOKOLLKLASSE */ UNALIGNED, /* AUS ANFORDERUNG */ 05 LIKLASSE BIN FIXED(15) /* LISTKLASSE */ UNALIGNED, /* AUS ANFORDERUNG */ 05 VERARBKZ1 CHAR(1), /* VERARBEITUNGSKENN- */ /* ZEICHEN STETS ' ' */ 05 KOPIEN BIN FIXED(15) /* ANZAHL KOPIEN */ UNALIGNED, /* STETS '00' */ 05 VERARBKZ2 CHAR(1), /* VERARBEITUNGSKENN- */ /* ZEICHEN STETS ' ' */ 05 VERARBKZ3 CHAR(1), /* VERARBEITUNGSKENN- */ /* ZEICHEN STETS ' ' */ 05 VERARBKZ4 CHAR(1), /* VERARBEITUNGSKENN- */ /* ZEICHEN STETS ' ' */ 05 VERARBKZ5 CHAR(1), /* VERARBEITUNGSKENN- */ /* ZEICHEN STETS ' ' */ 05 RESERVE CHAR(20); /* RESERVE STETS ' ' */ DCL 01 LISTDB_DATENSATZ BASED(ADDR(LISTDB_SATZ)), 05 SL BIN FIXED(15), /* SATZLAENGE */ 05 CTLASA CHAR(1), /* DRUCKSTEUERZEICHEN */ 05 DATEN CHAR(5001); /* DATENTEIL */ Erklaerungen zu LISTDB ---------------------- Jede Datei ist folgendermassen organisiert: Zunaechst kommt der Kopfsatz fuer die Anforderung. Die weiteren Saetze sind das Protokoll der Anforderung. Danach kommen die einzelnen Berichte zu der Anforderung, wobei vor jedem Bericht wieder ein Kopfsatz steht. Erklaerungen zu ASSFTG ---------------------- Diese Datei ist relevant fuer periodische Anforderungen mit den Arbeitstag-gesteuerten Turni AW, AM, AQ, AH, AJ. Fuer diese Anforderungen muss diese Datei alle nicht-Arbeitstage des Ausfuehrungsjahres enthalten, also auch die Samstage und Sonn- tage. Jeder Satz der Datei entspricht einem Datum in der Form JJMMTT.
ASS bietet die Moeglichkeit, eine sogenannte Berichts- datenbank einzurichten. Sie dient dazu, im Batch er- erstellte Berichte (PCL1016) im Online zu verwalten und auch anzuzeigen. Dabei werden die Verwaltungsangaben in der Transaktion ST31 gesetzt (s. Handbuch AUSWERTUNG, Kap. 3.4) und mit dem Dienstprogramm PCL1094 im Batch abgearbeitet. Zum Laden der Berichte dient das Programm PCL1095. Dazu muss bei der Anforderung die Option LISTDB angegeben werden, damit die Berichte auf eine ladefaehige sequentielle Datei ausgegeben werden (vgl. Kap. 3). In der Berichtsdatenbank vorhandene Berichte koennen im Online angezeigt werden. Damit koennen auch umfang- reichere Anforderungen, die Online nicht auswertbar sind, im Dialog angeschaut werden. Die Berichtsdatenbank wird auch benoetigt, wenn mittels Empfaengern/Empfaengerlisten Listpakete erstellt werden sollen (s. Handbuch PAKETIERTE LISTAUSGABE). Zum DV-technischen Einrichten der Berichtsdatenbank siehe Handbuch INSTALLATION, Kap. 1.
Das Dienstprogramm PCL1094 dient dazu, die in der Transaktion ST31 gesetzten Verarbeitungskennzeichen abzuarbeiten. Dabei koennen Berichte gedruckt, auf eine sequentielle Datei abgezogen und/oder geloescht werden. Beim Drucken eines Berichts wird die entsprechende List- (bzw. Protokoll-)klasse beruecksichtigt. Ausserdem koennen mehrere Kopien gedruckt werden. Die sequentielle Datei, auf die die Berichte abgezogen werden, hat ladefaehiges Format, d.h. sie kann spaeter wieder als Eingabedatei fuer PCL1095 verwendet werden. In diesem Zusammenhang ist zu beachten, dass alle Berichte, die in einem Lauf von PCL1094 von der Berichtsdatenbank abgezogen werden, auf dieselbe sequ. Datei geschrieben werden. In einem Lauf von PCL1094 werden alle Berichte von der Berichtsdatenbank geloescht, bei denen das Loeschkenn- zeichen gesetzt wurde oder bei denen das Loeschdatum abgelaufen ist. Sind bei einem Bericht mehrere Verarbeitungskennzeichen gesetzt worden, so arbeitet das Programm PCL1094 sie in der Reihenfolge Drucken, Auslagern, Loeschen ab. Es besteht ausserdem noch die Moeglichkeit, den Lauf von PCL1094 auf Teile der Berichtsdatenbank einzu- schraenken, indem man in Vorlaufkarten bis zu 10 Namensintervalle angibt. Waehrend des Programmlaufs werden dann nur die Berichte bearbeitet, deren Name in den vorgebenen Intervallen liegt. Es besteht weiterhin die Moeglichkeit, nach Abarbeitung des Verarbeitungskennzeichens aus der ST31, alle Berichte eines angegebenen Namensintervalls aus der Berichts- datenbank zu loeschen. Hierzu ergaenzt man bei der betreffenden Intervallangabe in der Vorlaufkarte ,LOESCHEN. Ueberlappen sich Intervallangaben aus Vorlaufkartenangaben, so erfolgt eine Loeschung nur, wenn bei allen diesen Intervallen ,LOESCHEN angegeben wird. PCL1094 Beispiele: SU - VR - AK Vom Anfang bis zu AK...... ER Alle Berichte, deren Name mit ER beginnt VO - ,LOESCHEN Von VO...... bis Ende bearbeiten und loeschen ABLAUF: ------ .---. ,' ', !'.___.'! ! ! _________ ! 1 ! / ! ! ! ! 2 ! '.___.' +---------+ ! ! +----+ +---+ ! ! V V *************** ! ! ! PCL1094 ! ! ! *************** ! ! ! ! +-------+ +-+ ! +----------------------+ ! ! +---------+ ! V V V V .---. .---. *********** *********** ,' ', ,' ', ! ! ! ! !'.___.'! !'.___.'! ! 4 ! ! 5 ! ! ! ! ! ! ! ! ! ! 1 ! ! 3 ! ! /**** ! /**** ! ! ! ! *****/ *****/ '.___.' '.___.' Nr. ! DD-Name ! Beschreibung ------------------------------------ 1 ! DSTnnn ! Berichtsdatenbank 2 ! ASSCO ! Vorlaufkarte 3 ! LISTDB ! sequentielle Datei fuer ausgelagerte ! ! Berichte 4 ! LISTE ! Listklassen ! LISTE01 ! ! ... ! ! LISTE10 ! 5 ! ASSLIST ! Protokoll PCL1094 Die Option PAKET_LOESCHEN: Auf die Berichtsdatenbank werden auch Anforderungen und Listen gestellt, die fuer die paketierte Listausgabe benoetigt werden. Durch die Option PAKET_LOESCHEN werden alle diese Listen und Anforderungen geloescht, wenn sie bereits zu den Listpaketen verarbeitet wurden. Eine Einschraenkung auf Namensintervalle ist nicht moeglich. Die Option PAKET_LOESCHEN kann nicht zusammen mit anderen Vorlaufkarten verwendet werden. Auch verarbeitet das Programm PCL1094 bei dieser Option nicht die 'normalen' Berichte der Berichtsdatenbank. Es muessen alle Dateizuweisungen wie oben beschrieben in der Jobcontrol erfolgen.
Mit dem Dienstprogramm PCL1095 koennen Berichte von einer sequentiellen Datei in die Berichtsdatenbank geladen werden. Diese sequentielle Datei wird vom Auswertungsprogramm PCL1016 (PCL1003) erzeugt, falls in der Anforderung die Option LISTDB angegeben wurde. Auch sequentielle Dateien, die mit PCL1094 ausgelagerte Berichte enthalten, koennen wieder zurueckgeladen werden. Da unter demselben Namen mehrere Berichte vorhanden sein koennen, erhalten diese intern verschiedene Bibliotheksnummern. Beim Laden wird die niedrigste Nummer unter dem betreffenden Namen ermittelt und der zusaetzliche Bericht mit der um 1 reduzierten Nummer in die Berichtsdatenbank geladen. Falls nicht mehr genug Platz auf der Berichtsdatenbank ist (Nummer nahe 0), so erscheint im Ablaufprotokoll ein Hinweis, der eine Reorganisation der Berichtsdatenbank fuer Berichte des entsprechenden Namens anraet (s. 4.3). Optional kann eine Vorlaufkarte angegeben werden mit dem Inhalt ERSETZEN. Existiert in diesem Fall bereits mindestens ein Bericht unter dem Namen, den auch der zu ladende Bericht hat, so wird vor dem Laden des neuen Berichtes zunaechst ein alter geloescht. Gibt es mehrere alte Berichte unter demselben Namen, so wird der mit der kleinsten Nummer (d.h. der juengste alte) geloescht. ABLAUF: ------ .---. .---. ,' ', ,' ', !'.___.'! !'.___.'! _________ ! ! ! ! / ! ! 1 ! ! 2 ! ! 4 ! ! ! ! ! +---------+ '.___.' '.___.' ! ! ! ! +--------+ ! +---------+ ! ! ! V V V *************** ! ! ! PCL1095 ! ! ! *************** ! ! +----+ +----+ ! ! V V .---. *********** ,' ', ! ! !'.___.'! ! 3 ! ! ! ! ! ! 1 ! ! /**** ! ! *****/ '.___.' Nr. ! DD-Name ! Beschreibung ------------------------------------ 1 ! DSTnnn ! Berichtsdatenbank ! ! 2 ! LISTDB ! sequentielle Datei mit Ladebestand ! ! 3 ! ASSLIST ! Protokoll ! ! 4 ! ASSCO ! Vorlaufkarte
Von dem Dienstprogramm PCL1095 kann in dem Ablaufproto- koll fuer Berichte mit einem bestimmten Namen eine Reorganisation angeraten werden. Diese Situation tritt dann auf, wenn fuer diese Berichte nicht mehr genuegend freie (interne) Bibliotheksnummern zur Verfuegung stehen. Da diese Nummern beim Laden fortlaufend vergeben werden und aeltere Berichte wieder geloescht werden, gibt es freie Bibliotheksnummern, die jedoch nicht von PCL1095 erkannt werden koennen. Durch die angeratene Reorganisation werden diese Luecken wieder geschlossen. Um dies zu erreichen, sind folgende zwei Schritte durchzufuehren: 1. Schritt: Die betroffenen Berichte muessen alle von der Berichts-DB abgezogen und dort geloescht werden. (In der Transaktion ST31 die entsprechenden Verarbei- tungskennzeichen setzen und anschliessend PCL1094 laufen lassen oder direkt mit PCL1094 und der Vorlaufkarten- angabe LOESCHEN, s.o.). 2. Schritt: Der im ersten Schritt erstellte Abzug mit den Berichten mit dem Programm PCL1095 wieder in die Berichtsdatenbank laden.
Die Dienstprogramme erfuellen ein grosses Spektrum von Aufgaben. Ihre Behandlung wuerde den Rahmen dieser Dokumentation sprengen. Das Betreiben der Dienstprogramme wird daher in einem eigenen Handbuch BETRIEB II - Erweiterte Funktionen beschrieben.
Listanforderungen, die ausgefuehrt werden sollen, werden in der Datenbank DST004 gespeichert. Es gibt nun zwei Moeglichkeiten, diese in DST004 festgehaltene Anforderung auszufuehren. Der einfachste Weg ist die Ausfuehrung ueber das Programm PCL1016, das unmittelbar auf DST004 zugreift. Daneben besteht die Moeglichkeit, die Anforderung ueber das Programm PCL1012 auf eine sequentielle Datei abzuziehen, um sie dann ueber das Programm PCL1003 auszufuehren. Dieses Verfahren ist jedoch nicht empfehlenswert, da PCL1003 nur "einfache" Anforderungen ausfuehren kann (keine verketteten Anforderungen, keine Join- Anforderungen, keine Mehrfach-Anforderungen).
Alle erforderlichen Datenbanken (siehe unten) muessen ONLINE zugreifbar sein und die Transaktion ST31 muss gestartet sein. DST001 DST011 DST012 DST013 DST002 DST021 DST022 DST023 DST003 DST031 DST032 DST033 DST004 DST041 DST005 nicht in CICS-Umgebung DST007 DST071 DST009 DST091 ,nur falls ASS-Online-Security installiert worden ist, siehe Handbuch 'Installation', Kapitel 1.1 und 5.7 DST100 > DST101 ! DST110 ! DST111 ! . !> siehe PSB PCL0031 und Handbuch . ! 'Installation', Kap. 3.7 . ! DST600 ! DST601 ! usw. >
ADABAS muss aktiv sein und die erforderlichen ADABAS-Files muessen im JOB, in dem die Transaktion ST31 ablaeuft, zugeordnet sein, ST31 muss gestartet sein.
Die Isam-Dateien fuer die Datenbanken DST001 DST002 DST003 DST004 DST005 DST006 DST007 DST110 > . ! . !> Summendatenbanken . ! DST600 ! usw. > Achtung: DST600 kann auch als Security-Datenbank installiert worden sein und wird dann benoetigt, siehe Handbuch 'Installation', Kapitel 1.1 und 5.7 Von den Summendatenbanken muessen nur die tatsaechlich benoetigten dem entsprechenden UTM-Prozess per FILE-Kommando zugeordnet werden. An dieser Stelle ist achtzugeben, mit wie vielen Prozessen die UTM-Anwendung betrieben wird. Ist die Anzahl der Prozesse groesser als 1, so muss mit ISAM SHARUPD=YES gearbeitet werden. Da i.a. jedoch nur wenig Benutzer mit der ST31 arbeiten, sollte ueberlegt werden, ob nicht ein Prozess ausreicht und auf SHARUPD=YES verzichtet werden kann, da ja SHARUPD=YES auch zusaetzliche Betriebsmittel beansprucht.
Beim Einrichten eines neuen Arbeitsgebietes sind folgende Massnahmen durchzufuehren: - Schluessellaenge der Summendatenbank des neuen Arbeitsgebietes ermitteln (Summe der internen Laengen aller verwendeten Schluessel plus 2, oder Arbeitsgebiet mit PCL1006 dokumentieren lassen. Schluessellaenge wird dort ermittelt und im Protokoll ausgedruckt). - Summendatenbank in der erforderlichen Groesse mit der oben ermittelten Schluessellaenge bereitstellen. Diese Aktivitaet richtet sich nach dem eingesetzen DB-System: Die ST31 (i.a. PCL0031) und folgende Batch-Programme greifen auf Summen-Datenbanken zu: - PCL1002 - PCL1003 - PCL1007 - PCL1013 - PCL1016 - PCL1019 - PCL1024 - PCL1051 - PCL1055 - PCL1058 - PCL1097 - PCL1124 - PCL1224 - PCL1304 - PCL1333 (ASS-Server, falls installiert) Je nach DB-Umgebung sind verschiedene Massnahmen erforderlich (natuerlich nur fuer die Programme, die im Einsatz sind): DLI : DELETE/DEFINE CLUSTER und DBD's generieren. PSB's anpassen. ISAM-BS2000 : Entsprechendes File-Kommando - JOB-CONTROL aktualisieren
ASS bietet die Moeglichkeit die Verdichtungsstufen eines Arbeitsgebiets nicht nur auf verschiedene sequentielle Dateien abzuspeichern, sondern zusaetzlich auch auf mehrere Summendatenbanken aufzuteilen. Dabei wird zwischen der primaeren und den sekundaeren Summendatenbanken unterschieden. Die primaere Summendatenbank entspricht der optionalen bisherigen Summendatenbank. Verteilte Summendatenbanken bieten sich also bei sehr grossen Datenbestaenden an (Limitierung der physischen Groesse einer Datenbank) und fuer stillgelegte Verdichtungsstufen die fuer Auswertungen im Dialog gebraucht werden. Die verteilten Summendatenbanken sind wie folgt in ASS realisiert worden. Bei den Summendatenbanken kann entsprechend den sequentiellen Verdichtungsstufen ein Verdichtungsstufenort angegeben werden (siehe ST06). Dieser Verdichtungsstufenort bezeichnet ein Dummy-Arbeitsgebiet, welches dann fuer ASS nicht mehr zur Verfuegung steht, da dessen Summendatenbank als sekundaere Summendatenbank genutzt wird. Ist bei einer direkten Verdichtungsstufe kein gueltiger Ort angegeben worden, so wird standardmaessig die primaere Summendatenbank angenommen. Schluesselrelationen werden auf der primaeren Summendaten- bank abgespeichert. In Verbindung mit sequentiellen Verdichtungsstufen gibt es bezueglich verteilter Summendatenbanken keine Restriktionen. Bei der Auswertung (ST31 und PCL1016) gibt es fuer den Endbenutzer keine Besonderheiten, ausser das die sekundaeren Summendatenbanken den Anwendungen bekannt gemacht werden muessen. Bei der Einspeicherung und diversen Dienstprogrammen, die einen Summendatenbankabzug benoetigen, ist zu beachten, dass dieser Abzug saemtliche Summendatenbanken des betreffenden Arbeitsgebietes enthaelt. Folglich muss bei verteilten Summendatenbanken statt des Dienstprogrammes PCL1024 das Dienstprogramm PCL1124 benutzt werden. Der Einfachheit halber kann aber das Dienstprogramm PCL1024 stets durch PCL1124 ersetzt werden. Bei dem Dienstprogramm PCL1124 ist es moeglich, nur die Summendatenbanken abzuziehen, die mindestens eine aktive Verdichtungstufe enthalten. Da das Dienstprogramm PCL1124 wie PCL1024 nur eine sequentielle Abzugsdatei erzeugt, koennen verschiedene ASS-fremde Utilities wie zum Beispiel DFSURGU0 nicht mehr benutzt werden, falls die Abzugsdatei mehrere Summendatenbanken enthalten sollte. Dagegen werden die Summendatenbanken aber durch die Dienstprogramme PCL1002 und PCL1013 einzeln geladen. Somit kann statt des Dienstprogrammes PCL1013 auch wie gewohnt ein ASS-fremdes Utility wie zum Beispiel DFSURGL0 oder ADACMP/ADALOD eingesetzt werden. ADABAS: Bei dem Datenbanksystem ADABAS ist zu beachten, dass nicht mehrere Summendatenbanken auf einem ADABAS-File abgespeichert werden koennen. Werden in einem Lauf von PCL1002 mehrere Summendatenbanken veraendert, so sollte nicht mit DIREKTSP gearbeitet werden. Wird auf eine zweite Summendatenbank zugegriffen, so wird vorher die erste geschloessen. Bricht danach das Programm PCL1002 ab, so koennen die Aenderungen der ersten Summendatenbank nicht mehr zurueckgesetzt werden. Im genannten Fall muss also auf eine vorher durchgefuehrte Sicherung zurueckgegriffen werden, bevor das Programm PCL1002 wiederanlaufen kann. Existieren in einem Arbeitsgebiet stillgelegte Verdichtungs- stufen (siehe Verdichtungsstufenmengen), so besteht u.U. der Wunsch, diese Verdichtungsstufen in sekundaeren Summendatenbanken zu speichern, um insbesondere die Folgeeinspeicheurng zu entlasten. Siehe hierzu 2.4 Abziehen von Summendatenbanken.
Mit Hilfe von Statistik ueber Statistik soll es ermoeglicht werden festzustellen, wer wann welche Elemente von ASS (Arbeitsgebiete, Schluessel, Werte, Verdichtungsstufen ...) benutzt hat und wie stark die Nutzung der betreffenden Elemente ueberhaupt ist. Diese Nutzungsdaten werden in einem speziellen ASS-Arbeitsgebiet verwaltet und stehen somit der ASS-Auswertung zur Verfuegung. ASS-Arbeitsgebiete werden ueber externe Schnittstellen gepflegt. Die Aufgabe von PCL1054 ist es, externe Schnitt- stellen fuer das Arbeitsgebiet fuer Statistik ueber Statistik zu erzeugen. Um auch feststellen zu koennen, welche Elemente von ASS wenig oder gar nicht benutzt werden, kann in das betreffende Arbeitsgebiet auch gespeichert werden, welche Elemente ueberhaupt zur Verfuegung stehen. PCL1054 kennt daher zwei grundsaetzlich verschiedene Arbeitsweisen: - Erzeugung von externen Schnittstellen, die die zur Verfuegung stehenden Elemente von ASS enthaelt (UMGEBUNG=DST003 bzw. UMGEBUNG=DST004, s.u.). - Erzeugung von externen Schnittstellen, die die Information enthalten, wer wann welche Anforderungen ausgefuehrt hat und wie oft (UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE, s.u.). Sollen Statistiken ueber Statistiken erzeugt werden, so muessen in bestimmten Zeitabstaenden mit Hilfe von PCL1054 die erforderlichen externen Schnittstellen erstellt und eingespeichert werden, um anschliessend die gewuenschten Auswertungen durchfuehren zu koennen. FUNKTIONSBESCHREIBUNG: --------------------- UMGEBUNG=DST003 bzw. UMGEBUNG=DST004 Diese Optionen koennen jederzeit eingesetzt werden. Es wird eine externe Schnittstelle erzeugt, die die zur Verfuegung stehenden Arbeitsgebiete, Schluessel, Werte und Verdichtungsstufen (UMGEBUNG=DST003) bzw. die zur Verfuegung stehenden Anforderungen, Anwendungen Schluessel-Gruppierungen, Werte-Gruppierungen und Formeln enthaelt (UMGEBUNG=DST004). Die ASS-Zeit wird durch die Option MONAT= ... (s.u.) festgelegt. Es wird der aktuelle Zustand der DST003 bzw. DST004 abgebildet. Laeufe von PCL1054 zu unterschiedlichen Zeitpunkten mit gleicher MONATsoption haben daher i.a. unterschiedliche externe Schnittstellen zur Folge. In der zugehoerigen Summen-Datenbank werden die ermittelten Informationen aufkumuliert. Es ist also moeglich zu erkennen, welche Elemente von PCL1054 bei irgendeinem Lauf von PCL1054 gefunden wurden. Es werden nur Arbeitsgebiete betrachtet, die eingespeichert sind und deren Pruefkennzeichgen nicht auf NEIN steht. UMGEBUNG=ONLINE bzw. UMGEBUNG=BATCH Die Auswertung protokolliert, wer wann welche Anforderung ausgefuehrt hat (wenn diese Funktion aktiviert ist). Online ausgefuehrte Anforderungen werden in der DST004, im Batch ausgefuehrte Anforderungen werden in der Datei PWORK protokolliert. Diese Protokolle werden von PCL1054 gelesen und in externe Schnittstellen umgeformt. Ablauf: ------ +-------------------+ +-----------------+ I Auswertung von I I Auswertung von I I Anforderungen, I I Anforderungen, I I die Online aus- I I die im Batch I I gefuehrt wurden I I ausgefuehrt I I I I wurden I +-------------------+ +-----------------+ I I V V +-------------------+ +-----------------+ +--------+ +--------+ I interne Protokoll-I I interne Proto- I I I I I I saetze auf der I I kollsaetze auf I I DST003 I I DST004 I I Anforderungs-DB I I seq. Datei I I I I I +-------------------+ +-----------------+ +--------+ +--------+ I I I I +------------+ +----+ +--------------+ I I I I +------------------------+ V V V V +-------------------+ I Programm PCL1054 I +-------------------+ I V +--------------------------------------+ I Externe Schnittstelle (langes Format)I +--------------------------------------+ I V +-------------------+ I Programm PCL1001 I +-------------------+ I V +---------------------------+ I Interne Schnittstelle I +---------------------------+ I V +----------------------------+ I Erst-/Folgeeinspeicherung I +----------------------------+ I V +--------------------------+ I Verdichtungsstufe(n) des I I Statistik-Arbeitsgebiets I +--------------------------+ .---. .---. .---. ,' ', ,' ', ,' ', !'.___.'! !'.___.'! !'.___.'! ! ! ! ! ! ! ! 130 ! ! 140 ! ! 520 ! ! ! ! ! ! ! '.___.' '.___.' '.___.' _______ ! ! ! / ! +---+ ! +---+ ! 150 ! ! ! ! +-------+ V V V ! *************** +--------->! ! ! PCL1054 ! ! !---------+ *************** ! ! ! ! V V V .---. .---. ************* ,' ', ,' ', ! ! !'.___.'! !'.___.'! ! 180 ! ! ! ! ! ! ***** ! 500 ! ! 530 ! ! / ! ! ! ! ***** '.___.' '.___.' LFD.-NR. ! DD-NAME/PGM ! BESCHREIBUNG ---------!-------------!-------------------------------------- 130 ! //DST003 ! Steuerungsdatenbank ! //DST031 ! (nur DLI) ! //DST032 ! (nur DLI) ! //DST033 ! (nur DLI) ! ! (nur Option 'DST003') ! ! 140 ! //DST004 ! Anforderungsdatenbank ! //DST041 ! (nur DLI) ! ! (nur Optionen 'ONLINE' oder 'DST004') ! ! 150 ! //ASSCO ! Vorlaufkarten ! ! 180 ! //LISTE ! Protokoll und Fehlermeldungen ! ! 500 ! //ASSIN01 ! Externe Schnittstellensaetze ! ! 520 ! //PWORK ! Eingabe der im Batch geschriebenen ! ! Statistiksaetze (nur Option 'BATCH') ! ! 530 ! //ASSFEHL ! Fehlerhafte Protokollsaetze ! ! Die Datei PWORK: --------------- Die Behandlung der Datei PWORK ist im Handbuch 'INSTALLATION' beschrieben. Besonderheiten bei UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE: ------------------------------------------------------- Werden Schnittstellensaetze aus der Anforderungs-Daten- bank erzeugt, so werden die verarbeiteten Saetze aus der Anforderungs-Datenbank geloescht. Laeuft die Batch-Auswertung (PCL1003/PCL1016) ueber Mitternacht bei Monatswechsel (z.B. in der Nacht vom 31.8. zum 1.9.), so enthaelt eine Datei PWORK Protokoll- angaben zu unterschiedlichen Monaten. Werden mehrere Dateien PWORK zu einer Datei zusammengefasst, so kann diese zusammenfassende Datei ebenfalls Protokollangaben zu unterschiedlichen Monaten enthalten. In beiden Faellen muss die betreffende Datei mehrfach von PCL1054 mit unterschiedlichen MONATsangaben in der Vorlaufkarte verarbeitet werden. Mengengeruest bei UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE: ------------------------------------------------------ Die Protokollsaetze enthalten in kompakter Form, wer was wann angefordert hat. Da aus Anforderungen verschiedene Statistiken ueber Statistiken versorgt werden koennen, kann die Anzahl der erzeugten Schnittstellensaetze auch ziemlich gross werden. Diese Anzahl haengt von der Groesse und Komplexitaet der Anforderung ab. Ein Verhaeltnis von 1:20 bis 1:50 duerfte am haeufigsten vorkommen. Vorlaufkarte: ------------ PARAMETER ! BEDEUTUNG / AUSWIRKUNG -------------------!------------------------------------------ ! PROGRAMM=PCL1054 ! Zur Kontrolle wird geprueft, ! ob die Vorlaufkarten-Datei ! zum Programm PCL1054 gehoert. ! Diese Option muss angegeben werden. -------------------!------------------------------------------ UMGEBUNG=ONLINE ! Es werden die Protokollsaetze von den ! Anforderungen, die in der Anforderungs- ! Datenbank stehen, verarbeitet -------------------!------------------------------------------ UMGEBUNG=BATCH ! Es werden die Protokollsaetze von den ! Anforderungen, die in der Datei PWORK ! stehen, verarbeitet -------------------!------------------------------------------ UMGEBUNG=DST003 ! Die Steuerungs-Datenbank wird auf ! die externe Schnittstelle abgebildet -------------------!------------------------------------------ UMGEBUNG=DST004 ! Die Anforderungs-Datenbank wird auf ! die externe Schnittstelle abgebildet -------------------!------------------------------------------ MONAT=JJMM ! Die Angabe des Monats in der Form MONAT=AKT ! JJMM gibt an, welche Protokoll- ! saetze verarbeitet werden sollen. ! Protokollsaetze anderer Monate werden ! ueberlesen. Diese Angabe ist optional. ! Falls die Angabe des Monats nicht ! erfolgt, wird der Monat vor dem ! aktuellen Kalendermonat gesetzt. ! Die Angabe AKT bewirkt, dass nicht der ! Vormonat, sondern der aktuelle Monat ! behandelt wird. ! Bei Umgebung = DST003 oder ... = DST004 ! wird mit Monat = die ASS-Zeit der ! externen Schnittstelle festgelegt -------------------!------------------------------------------ LOESCHEN ! Zusaetzlich zu der normalen Verarbeitung ! werden alle Protokollsaetze auf der ! Anforderungsdatenbank, die vor dem ! zu verarbeitenden Monat liegen, bei ! Verarbeitung der Umgebung ONLINE ! geloescht. -------------------!------------------------------------------ USERID=SUBSTR ! Die UserID wird ab der Position "von" in (USERID,von,laenge)! der Laenge "laenge" auf die externe ! Schnittstelle ausgegeben. Falls dabei ! nur Blanks uebrigbleiben wird ! stattdessen wie auch sonst die ! Dummy-Auspraegung 000000000000 ! ausgegeben. ! Bspl.: SUBSTR(USERID,1,3) gibt nur die ! ersten drei Zeichen aus. Vorlaufkartenbeispiele ---------------------- Erzeugung der externen Schnittstellensaetze fuer die Eintraege des Monats September 1988 auf der Anforderungsdatenbank: PROGRAMM=PCL1054,UMGEBUNG=ONLINE,MONAT=8809 Erzeugung der externen Schnittstellensaetze fuer die Eintraege der Batch-Programmlaeufe des Monats Juli 1988: PROGRAMM=PCL1054,UMGEBUNG=BATCH,MONAT=8807 Erzeugung der externen Schnittstellensaetze im Monat September 1988 fuer die Eintraege der Online-Programmlaeufe des Vormonats August 1988: PROGRAMM=PCL1054,UMGEBUNG=ONLINE Erzeugung der externen Schnittstellensaetze im Monat September 1988 fuer die Eintraege der Online-Programmlaeufe fuer den Monat September 1988: PROGRAMM=PCL1054,UMGEBUNG=ONLINE,MONAT=AKT Erzeugung der externen Schnittstellensaetze fuer die zur Verfuegung stehenden Arbeitsgebiete, Schluessel, Werte und Verdichtungsstufen und fuer die zur Verfuegung stehenden Anforderungen, Anwendungen, Schluesselgruppierungen, Wertegruppierungen und Formeln: PROGRAMM=PCL1054 UMGEBUNG=DST003 UMGEBUNG=DST004 MONAT=AKT
Falls eine Security-Loesung mittels der Online- Transaktion ST09 angestrebt wird, muessen die genannten Datenbanken fuer Online-Verarbeitung zugreifbar sein und die Transaktion ST09 gestartet sein (siehe Kap. 9.1 ff).
Die ASS-Security-Datenbanken muessen ONLINE zugreifbar sein, die Transaktion ST09 gestartet sein. DST007 DST071 DST009 DST091
ADABAS muss aktiv sein und die erforderlichen ADABAS-Files muessen im JOB, in dem die Transaktion ST09 ablaeuft, zugeordnet sein, ST09 muss gestartet sein.
Die Transaktionen ST06, ST31 und ST09 sind in einer UTM-Anwendung zusammengefasst, siehe daher 6.3.
Wird eine Anforderung bearbeitet, so werden die folgenden Schritte durchlaufen: - Pruefen auf formale Richtigkeit Als erstes wird die Anforderung daraufhin ueberprueft, ob sie formal richtig ist (z.B. sind Werte angefordert, sind die Zeiten richtig angefordert etc.). Diese Syntaxpruefung erfolgt im Programm MCL0016. - Pruefen auf logische Richtigkeit Im zweiten Schritt wird geprueft, ob die Anforderung logische Fehler enthaelt (Semantikpruefung). Gleich- zeitig werden interne Tabellen aufgebaut, in denen die benoetigten Informationen ueber Schluessel, Aus- praegungen, Werte, Zeiten etc. abgelegt werden. Diese Informationen muessen aus den Parameterdatenbanken gelesen werden. Dies kann bei groesseren Arbeitsge- bieten und bei Massenschluesseln zu einer grossen An- zahl von Datenbank-Zugriffen fuehren und dadurch die Performance gerade bei Online-Auswertungen stark beeintraechtigen. Deswegen besteht die Moeglichkeit, Arbeitsgebiets- und Schluesselcaches einzurichten, die die Datenbankzugriffe reduzieren (siehe Kap. 10.3). Dafuer ist das MCL0017 mit Unterprogrammen zustaendig. - Verarbeitung der Summensaetze festlegen Als naechstes wird die Verarbeitung der Summensaetze festgelegt. Es wird bestimmt, welche Verdichtungs- stufen mit welcher Lesestrategie zu verarbeiten sind (siehe Kap. 10.3). Dies geschieht im MCL0008. - Lesen der Summensaetze Weiter werden dann im MCL0009 die Summensaetze gelesen und in eine interne Tabelle verteilt. Dabei werden nur die 'echten' Werteeintraege beruecksichtigt. - Berechnungen durchfuehren Formeln, Sternsummen, Funktionen etc. werden danach im MCL0010 (und Unterprogrammen) berechnet. Dabei wird die interne Tabelle (aus MCL0009) strikt von oben nach unten abgearbeitet. - Statistik aufbereiten Zuletzt wird die berechnete Statistik aufbereitet (Anzeige von Bezeichnung, Abkuerzung, Spaltenbreiten festlegen etc.) und ausgegeben (MCL0006).
Steht nicht mehr zur Verfuegung.
ASS bietet dem Benutzer die Moeglichkeit, sogenannte Schluessel- oder Auspraegungscaches anzulegen. Diese Caches sind Massen- bzw. Sammelspeicher fuer die Aus- praegungen eines Schluessels. Dementsprechend werden sie in der Schluesseldatenbank (in den Segmenten SST015CK und SST016CL) abgelegt, und zwar sind sie dem Schluessel logisch untergeordnet. Die Caches werden je nach der Informationsmenge, die sie enthalten, als kurzer und langer Cache bezeichnet. Schluesselcaches sind bei Schluesseln mit interner Laenge 3 oder 4 nicht moeglich. Das unten beschriebene Zugriffsverhalten auf Schluesselauspraegungen gilt nur fuer Schluessel der internen Laenge 1 oder 2. Bei Schluesseln der internen Laenge 3 oder 4 wird ganz anders zugegriffen. Der prinzipielle Aufbau der Caches sei nun am kurzen Cache beschrieben: In ihm wird nur der verdichtete Schlues- selinhalt und der Schluesselinhalt in variabler Laenge zusammen mit einem Laengenfeld abgespeichert. Im An- schluss folgen die entsprechenden Informationen der naechsten Auspraegung. Dies geschieht solange, bis die maximale Satzlaenge des Segments erreicht wird. Die folgenden Auspraegungen werden dann im naechsten Segment abgelegt. Der lange Cache enthaelt darueber hinaus noch Informa- tionen ueber Inhaltsbezeichnung, Inhaltskurzbezeichnung, Gueltigkeitsdaten und bei hierarchischen Schluesseln die uebergeordnete Auspraegung, teilweise auch wieder in verkuerzter Form. Der prinzipielle Aufbau ist derselbe wie beim kurzen Cache. Die Caches dienen dazu, waehrend einer Auswertung die Performance zu verbessern. Dies sei am besten an einem Beispiel erlaeutert: In manchen Situationen, wie z.B. bei der Behandlung von Auspraegungsmengen oder dem Auf- sammeln von Auspraegungen, muessen ohne den Cache saemt- liche Auspraegungen zu einem Schluessel gelesen werden. Bei einem Schluessel mit 20000 Auspraegungen (z.B. Kundennr.) sind also 20000 Lesezugriffe auf die Schlues- seldatenbank noetig. Diesselbe Information kann aber unter Verwendung des (z.B.) kurzen Caches bereits in einigen hundert Saetzen der Schluesseldatenbank abgelegt werden. Die Anzahl der Lesezugriffe zur Schluessel- datenbank kann damit deutlich reduziert werden. Da bekanntlich Zugriffe auf eine Datenbank relativ viel Zeit brauchen, kann dadurch in kuerzerer Zeit eine Auswertung ausgefuehrt werden. Dies macht sich insbe- besondere im Online-Betrieb positiv bemerkbar. Die Schluesselcaches werden von ASS nicht automatisch gepflegt, d.h. der Benutzer muss selbst entscheiden, ob zu einem Schluessel die Caches angelegt werden sollen. Bei Aenderungen bei den Auspraegungen wird der zuge- hoerige Cache ungueltig. Ob Caches angelegt oder geloescht werden sollen, wird ASS in der Transaktion ST06 mitgeteilt. (s. entsprechendes Handbuch). Diese Information wird in der Schluessel- datenbank abgelegt. Die Caches muessen mit dem Programm PCL1089 angelegt bzw. geloescht werden (s.u.). Das Einrichten eines Caches fuer einen Schluessel lohnt sich praktisch nur, um Online-Auswertungen zu beschleunigen. Der Cache beschleunigt folgende Auswertungstypen: - es werden alle Auspraegungen angefordert. - es wird mit Auspraegungmengen oder mit ?-Maskierung gearbeitet. Gibt es Aenderungen bei den Auspraegungen, wird von ASS eine Kennzeichnung in der Schluesseldatenbank mitge- pflegt, aus der ersichtlich ist, ob die Caches noch dem aktuellen Stand der Auspraegungen entsprechen. Diese Kennzeichnung kann ebenfalls ueber die Transaktion ST06 abgerufen werden. Sind die Caches nicht auf dem aktuellen Stand, so koennen sie wieder mit dem Programm PCL1089 aktualisiert werden. Wird also z.B. bei einem Schluessel mit automatischer Auspraegungsergaenzung gearbeitet, so empfiehlt es sich, nach jeder Folgeeinspeicherung PCL1089 laufen zu lassen.
FUNKTIONSBESCHREIBUNG: --------------------- Mit dem Programm PCL1089 koennen Schuesselcaches erzeugt oder geloescht werden. Die Information, ob zu einem Schluessel Caches erzeugt bzw. geloescht werden sollen, entnimmt das Programm der Schluesseldatenbank (Segment SST011KY) (siehe auch Handbuch ST06). Ist das Kennzeichen auf 'T' oder 'A' gesetzt, so werden zu dem betreffenden Schluessel der lange und der kurze Cache erzeugt. Beim Kennzeichen 'D' werden die Caches geloescht. Ausserdem wird die Kennzeichnung dem neuen Zustand der Caches angepasst. Es empfiehlt sich, PCL1089 immer dann laufen zu lassen, wenn sich in der Schluesseldatenbank bei den Schlues- selauspraegungen etwas geaendert hat. Dies ist in folgenden Faellen moeglich: - bei Aenderungen im Dialog mit Transaktion ST06 - bei Folgeeinspeicherungen - beim Zurueckladen eines Arbeitsgebiets mit PCL1005 - beim Erfassen von Auspraegungen mit PCL1036 - beim Loeschen von Auspraegungen mit PCL1055 - bei der Reorganisation der internen Schluessel- inhaltsnummern mit PCL1058 ABLAUF: ------ .---. ,' ', Nr. ! DD-Name ! Beschreibung !'.___.'! ---------------------------------- ! ! 1 ! DST002 ! Schluessel-DB ! 1 ! ! DST021 ! Primaerindex ! ! ! DST022 ! 1. Sekundaer- '.___.' ! DST023 ! 2. index (nur DLI) ! ! ! ! 2 ! DST002 ! Schluessel-DB V ! DST021 ! Primaerindex- *************** ! DST022 ! 1. Sekundaer- ! ! ! DST023 ! 2. index (nur DLI) ! PCL1089 ! ! ! ! ! 3 ! PROTO ! Protokoll *************** ! ! ! +-------+ ! ! V V .---. ************* ,' ', ! ! !'.___.'! ! 3 ! ! ! ! ! ! 2 ! ! /***** ! ! ******/ '.___.'
Der Cache fuer Arbeitsgebiete dient zur Verbesserung der Performance beim lesenden Zugriff auf die Steuerungsdatenbank im Rahmen der Auswertung. Die Optimierung wird dadurch erreicht, dass mehrere Saetze der Steuerungsdatenbank zu einem neuen Satz zusammengefasst werden. Dies wird durch das Dienstprogramm PCL1046 erledigt. Jede Aenderung eines Arbeitsgebiets (z.B. durch ST06, Plandaten/Vorgabewerte in der ST31 und Batchprogramme) wird also erst nach einem erneuten Lauf von PCL1046 wirksam. Soll der Cache benutzt werden, so sollte er taeglich kurz vor Beginn des ONLINE-Betriebs neu mit PCL1046 erstellt werden. Zur Zeit ist der Cache fuer Arbeitsgebiete nur in einer DLI-, DB2- oder VSAM-Installation verfuegbar. Bei PC-Isam wird standarmaessig mit dem Cache fuer Arbeitsgebiete gearbeitet. Der Cache fuer Arbeitsgebiete liegt physisch auf der SPA-Datenbank (DST005) und wird dort von dem Dienstprogramm PCL1046 aktualisiert. Im Cache werden die verwendeten Schluessel, Verdichtungsstufen, Werte und gegebenenfalls der Schluesselausschluss gespeichert. Da der Cache pro Arbeitsgebiet in der Groesse beschraenkt ist, listet das Dienstprogramm PCL1046 zu jedem Arbeitsgebiet an, zu welchem Prozentsatz der Cache gefuellt ist. Ist fuer ein geprueftes Arbeitsgebiet der Cache zu klein, so bricht das Programm mit einer entsprechenden Meldung ab und ab diesem Arbeitsgebiet einschliesslich ist der Cache nicht mehr vorhanden. Im Handbuch "Installation" ist beschrieben wie die Groesse des Cache berechnet werden kann und wie er gegebenenfalls vergroessert werden kann. Im Protokoll des Dienstprogramm PCL1046 wird auch angelistet zu wieviel Prozent der Cache pro Arbeitsgebiet belegt wird. Wie der Cache wirksam wird, steht ebenfalls im Handbuch "Installation". Ablauf von PCL1046 AG-DB ____! ! PCL1046 ____!____ ! ! ASSLIST SPA-DB Dateibeschreibung: ASSLIST Protokoll in der Form FBA 133 Eine Vorlaufkarte gibt es nicht.
Um die Bearbeitungszeit von ASS waehrend einer Auswertung niedrig zu halten, muessen die Informationen aus den Verdichtungsstufen moeglichst effizient, d.h. mit wenigen Zugriffen, gelesen werden. Aus diesem Grund kennt ASS fuenf verschiedene Lesestrategien: - Sequentielles Lesen --------------------- Das sequentielle Lesen ist die einfachste Form, eine Verdichtungsstufe auszuwerten. Hierbei werden alle Saetze einer Verdichtungsstufe sequentiell gelesen und verarbeitet. Diese Methode wird angewandt, wenn z.B. keine Auspraegungen selektiert werden oder die Daten der betreffenden Verdichtungsstufe auf einer sequentiellen Datei gespeichert sind. Sie wird darueber hinaus immer dann verwendet, wenn die nachfolgend beschriebenen Lesestrategien nicht moeglich sind. Die Zahl der erforderlichen Zugriffe ist gleich der Anzahl der Saetze in der Verdichtungsstufe. Bei umfang- reichen Verdichtungsstufen ist somit eine Online- Auswertung nicht moeglich. - Direktes Lesen mit Schluesselvariation ---------------------------------------- Werden in einer Anforderung einzelne Auspraegungen eines Schluessels selektiert, kann die Anzahl der erforder- lichen Zugriffe meist durch direktes Lesen mit Schlues- selvariation deutlich verringert werden. Hierbei wird zu jedem Schluessel der Verdichtungsstufe eine Auspraegung ausgewaehlt, wobei man sich jedoch bei angeforderten Schluesseln auf die gewuenschten Auspraegungen be- schraenkt. Diese werden dann verknuepft und als Index zum direkten Lesen der Verdichtungsstufe verwendet. Dies wird fuer alle moeglichen Kombinationen der zu den jeweiligen Schluesseln gehoerenden Auspraegungen durchgefuehrt. Dementsprechend erhaelt man die Anzahl der erforder- lichen Zugriffe, indem man fuer jeden Schluessel der Verdichtungsstufe die Zahl der Auspraegungen miteinander multipliziert. Dazu ein Beispiel: -------- Verdichtungsstufe Schluessel Niederl. Produkt Kundengr. Zahl Auspraegungen 50 20 5 Auspraegungen NL1 P1 KG1 . . . . . . NL50 P20 KG5 In dieser Verdichtungsstufe seien 4000 Saetze vorhanden, d.h von den 5000 moeglichen Auspraegungs- kombinationen gibt es zu 1000 keine Werte. Weiter liege folgende Anforderung vor: Niederlassung=(NL3,NL15), Produktgruppe=(PG5,PG6,PG7) Damit ergibt sich die Zahl der Zugriffe aus Auspraegungen(Niederl.)xAuspr(Produkt)xAuspr(Kundengr) also Zugriffe = 2 x 3 x 5 = 30 Dieses Produkt ist oft groesser als die Anzahl der Saetze in der Verdichtungsstufe, weil meistens nicht fuer alle Auspraegungskombinationen Werte vorhanden sind. - Positionieren auf den 'linkesten' Schluessel (stueckweise sequentielles Lesen) ---------------------------------------------- Als weitere Lesestrategie ist das stueckweise sequen- tielle Lesen der Verdichtungsstufe moeglich. Bei dieser Strategie wird fuer den Schluessel, der am weitesten links in der Verdichtungsstufe steht und ausgepraegt ist, eine gewuenschte Auspraegung als Index ver- wendet und mit dieser in der Verdichtungsstufe direkt positioniert. Danach wird solange sequentiell gelesen, bis in der Verdichtungsstufe eine neue Auspraegung fuer den 'linkesten' Schluessel auftritt. Bei dieser Zugriffsvariante wird die Zahl der erforderlichen Zugriffe mit folgender Formel geschaetzt: Zahl Zugriffe = Anzahl Saetze in Verdichtungsstufe ---------------------- x 2 x Selektierte Auspraegungen Anzahl Auspraegungen 'linkester' Schluessel 'linkester' Schluessel (*) In dieser Schaetzung wird davon ausgegangen, dass die Auspraegungen (*) in der Verdichtungsstufe gleichmaessig verteilt sind. Es gibt jedoch Faelle, in denen diese Annahme verletzt wird. Es gibt z.B. bei einem Schluessel 'Vertreter' 10000 Auspraegungen, in dem Arbeitsgebiet werden aber fuer nur 1000 Auspraegungen Werte gepflegt. In solchen Faellen liefert die Schaetzung zu kleine Zahlen fuer die Zugriffszahl. Dies hat laengere Lauf- zeiten zur Folge, die im Online-Betrieb nicht gewuenscht werden. Um dies berichtigen zu koennen, kann (*) in der Formel ueberschrieben werden. Dazu ist in der Trans- aktion ST06 die ungefaehre Anzahl der im Arbeitsgebiet verwendeten Auspraegungen eines Schluessels anzugeben (s. Handbuch ST06). - Positionieren auf die 'linkesten' Schluessel mit Schluesselvariation ---------------------------------------------- Diese Methode kombiniert die Methode der Schluessel- variation mit der Methode des stueckweise sequentiellen Lesens. Diese Methode wird am besten an einem Beispiel verdeutlicht: Es wird das Beispiel aus der Schluesselvariation betrachtet. Die betrachtete Verdichtungsstufe enthalte rechts von der Kundengruppe noch weitere Schluessel, so dass eine reine Schluesselvariation nicht mehr in Betracht kommt. Es liege folgende Anforderung vor: Niederlassung=(NL3,NL15), Kundengruppe=(KG1) Folgende Datensaetze koennen Information enthalten: NL3 P1 KG1 NL3 P2 KG1 . . . NL3 P20 KG1 NL15 P1 KG1 NL15 P2 KG1 . . . NL15 P20 KG1. Es gibt also insgesamt 2 * 20 * 1 = 40 Kombinationen. Da nicht bekannt ist, welche Auspraegungen rechts von der Kundengruppe vorkommen, wird jede der genannten Kombinationen stueckweise sequentiell ausgewertet. Hierbei ist zu beachten, dass nicht nur ueber den linkesten, sondern ueber die drei linkesten Schluessel positioniert wird (compound key). Im obigen Beispiel wird also 40-mal stueckweise sequentiell gelesen. Die Schaetzformel fuer die Anzahl der Zugriffe ist eine Kombination aus der Anzahl Zugriffe fuer die Variation mit der Schaetzung fuers stueckweise se- quentielle Lesen. Die obige Methode kann auch zum Einsatz kommen, wenn zwischen Niederlassung und Kundengruppe verdichtete Schluessel enthalten sind. Ebenso kann diese Methode zum Einsatz kommen, wenn "linkeste" Schluessel einer Verdichtungsstufe nicht angefordert werden, sie jedoch so wenig Auspraegungen besitzen, dass eine Variation noch moeglich ist. - Ausnutzung von Schluesselrelationen ------------------------------------- Sobald in einer Fragestellung zu einem selektierten Schluessel, der nicht linkester Schluessel einer Ver- dichtungsstufe ist, alle zugehoerigen Auspraegungen des linkesten Schluessels angefordert werden, ist eine Dialogauswertung mit den bisher bekannten Lesevarianten im Normalfall nicht moeglich. Es empfiehlt sich dann, mit Schluesselrelationen zu arbeiten, die technisch aehnlich wie Verdichtungsstufen in einem Arbeitsgebiet definiert werden. In einer Schluesselrelation werden zwischen zwei und zehn Schluessel des Arbeitsgebietes in einer bestimmten Reihenfolge definiert, die von der ueblichen Hierarchie- folge voellig abweichen kann. Im Unterschied zu den Verdichtungsstufen werden bei Schluesselrelationen keine Werteverwendungen definiert und auch keine Summendaten gespeichert, sondern ledig- lich die in den Summendaten enthaltenen Schluesselkom- binationen. Betrachtet man das obige Beispiel, so koennte man in einer Relation die Schluessel PRODUKT und NIEDERLASSUNG in dieser Reihenfolge definieren. Nur die in den Summendaten vorkommenden Schluesselkom- binationen werden gespeichert: PRODUKT NIEDERLASSUNG ------------------------- P1 NL1 NL5 P2 NL7 NL20 P3 NL5 Moechte man jetzt die Werte fuer das Produkt P1 in allen Niederlassungen ermitteln, liefert die Relation nur die beiden in den Summendaten enthaltenen Nieder- lassungen NL1 und NL5. Mit diesen beiden Auspraegungen des jetzt bekannten, linkesten Schluessels der Verdichtungsstufe koennen die Daten wiederum stueckweise sequentiell oder auch direkt gelesen werden, wenn alle Schluessel des Arbeitsge- bietes in der Relation beschrieben sind. Unter diesen fuenf Lesestrategien einer Verdichtungs- stufe waehlt ASS sich die guenstigste aus. Oft ist es jedoch fuer eine Auswertung noetig, mehrere Verdich- tungsstufen zu lesen, z.B. wenn Werte aus verschieden Arbeitsgebieten angefordert werden. In diesem Fall wird fuer jede Verdichtungsstufe die effektivste Lesestrate- gie ausgewaehlt. Die Anzahl der Zugriffe ergibt sich dann als Summe der Zugriffszahlen fuer die einzelnen Verdichtungsstufen. Durch geschickte Vergabe der Hierarchienummern und durch geeignete Festlegung von Verdichtungsstufen sowie deren Schluesselreihenfolgen beim Einrichten eines Arbeitsgebietes (Transaktion ST06) kann der Anwender erreichen, dass die verschiedenen Lesestrategien vorteilhaft eingesetzt werden. Dabei sollten z.B. haeufig benutzte Schluessel mit vielen Auspraegungen, von denen i.a. nur einige angefordert werden, moeglichst weit nach links gestellt werden, also niedrige Hierarchienummern im Arbeitsgebiet erhalten oder gezielt durch Aenderung der Schluesselreihenfolge betroffener Verdichtungsstufen.
Die Verdichtungsstufen, die fuer eine Auswertung gelesen werden muessen, werden nach folgendem Verfahren ermittelt: 1) Zunaechst werden fuer jeden angeforderten Wert die Verdichtungsstufen ermittelt, die prinzipiell in Frage kommen. Dies bedeutet, dass die (zu dem Wert) einge- speicherten Zeiten zumindest einen Teil der angefor- derten Zeiten abdecken und dass alle angeforderten Schluessel in der Verdichtungsstufe ausgepraegt sind. 2) Fuer die unter 1) ermittelten Verdichtungstufen werden die Zugriffszahlen ermittelt. Dabei werden die unter 10.4.1 beschriebenen Lesestrategien durchgetestet und die Zugriffszahl der guenstigsten Strategie festgehalten. 3) Pro angeforderten Wert werden aus den unter 1) er- mittelten Verdichtungsstufen die Mengen zu einer lo- gischen Verdichtungsstufe zusammengefasst, wobei die Zugriffe der einzelnen Verdichtungsstufen einer Menge aufaddiert werden. Danach werden die Mengen nach den Zugriffszahlen sortiert, um die Verdichtungsstufen- (-mengen) mit den kleinsten Zugriffszahlen bevorzugen zu koennen. 4) Die angeforderten Werte werden nach ihrer (nach 3)) guenstigsten Verdichtungstufe absteigend sortiert, d.h. der Wert, dessen beste Verdichtungsstufe die groesste Zugriffszahl besitzt, kommt an die erste Stelle. TOTAL-Operanden werden an die Spitze dieser Tabelle gesetzt. 5) Jetzt werden die zu benutzenden Verdichtungsstufen ermittelt. Zunaechst werden fuer den ersten Wert die Verdichtungstufen nach der Reihenfolge ihrer Zugriffs- zahlen (s. 3)) ausgewaehlt, so dass alle angeforderten Zeiten befriedigt werden koennen. Fuer die folgenden Werte wird erst geprueft, ob eine bereits ausgewaehlte Verdichtungsstufe verwendet werden kann. Ansonsten werden analog zum ersten Wert die Verdichtungsstufen ausgewaehlt. 6) Fuer jede der ausgewaehlten Verdichtungsstufen wird die optimale Lesestrategie ermittelt: Sequentielle Verdichtungsstufen und Verdichtungsstufen fuer TOTAL-Operanden werden sequentiell gelesen. Bei Verdichtungsstufen auf der Summendatenbank wird zunaechst auf stueckweise sequentielles Lesen geprueft. Danach wird festgestellt, ob Lesen mittels Relation moeglich ist. Anschliessend wird auf Compound-Key-Lesen getestet, und zwar der Reihe nach ueber die zwei, drei, vier, etc. linkesten Schluessel. Zum Schluss wird noch die Schluesselvariation getestet. Verbessert sich die Zugriffszahl gegenueber einer zuvor getesteten Stra- tegie, so wird auf die neue Leseregel geschaltet. Die Zugriffe fuer eine Auswertung ist die Summe der Zugriffe auf die benoetigten Verdichtungsstufen.
A B C D E F G H K L P R S T U V Z