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. Bürger D. Hahne R. Paulus R. Stöckle H. Valz G. Witte
In diesem Handbuch wird beschrieben, welche Aktivitäten technischer Art erforderlich sind, um in einem RZ ein installiertes ASS zu betreiben. Dieses Handbuch gilt für 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 Für den einzelnen Anwender sind natürlich nur die für seine ASS-Version relevanten Ausführungen zu beachten.
Die Parameterdatenbanken müssen 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.8
ADABAS muss aktiv sein und die erforderlichen ADABAS-Files müssen im JOB, in dem die Transaktion ST06 abläuft, 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 läuft 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 (entfällt 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. Ladebestände) aus interner Schnittstellendatei für PCL1013 (siehe PCL1002). HINWEIS: PCL1002 führt einen UPDATE auf die Steuerungs-DB durch. Beim Laden von großen Summendatenbanken entsteht daher viel Loginformation. In diesem Fall führt man das Laden besser mit Schritt 5 durch. 5. Schritt: Einspeicherung in die Summendatenbank(en) (entfällt, falls Einspeicherung bereits von PCL1002 durchgeführt wurde). IBM Ladebestand (bzw. Ladebestände) in Summendatenbank(en) speichern (PCL1013) SIEMENS Ladebestand (bzw. Ladebestände) 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 führt PCL1002 einen UPDATE auf die Steuerungs-DB durch. Falls Parallelläufe von PCL1002 erforderlich sein sollten, kann man diesen UPDATE verzögern und später vom Programm PCL1032 durchführen lassen. Einzelheiten s.u.. HINWEIS: Im Programm PCL1002 existiert auch die Möglichkeit, Änderungen direkt auf die Summendatenbank zu spielen. Dies ist jedoch nur möglich, wenn die externe Schnittstelle ausschließlich Bewegungswerte enthält und keine aktiven Verdichtungsstufen auf sequentiellem Datenträger vorliegen. Beim Fortschreiben von Änderungen auf die Summendatenbanken verlängern sich die Sätze. Dies führt z.B. in einer DLI-Umgebung zu Segmentsplits. Ein direktes Fortschreiben ist also nur bei kleinem Änderungsumfang empfehlenswert. Führt man eine Folgeeinspeicherung in der oben beschriebenen Form (sechs Steps) durch, so wird die betreffende Summendatenbank reorganisiert. Hinweis für DLI: Es versteht sich, dass beim direkten Einspeichern von Änderungen mittels PCL1002 nicht mehr mit einem LADE-PCB gearbeitet werden kann, PROCOPT=A ist dann für die betreffenden Summendatenbanken erforderlich. Achtung: Die Schritte 3 und 4 dürfen nicht vertauscht werden.
ASS ist ein in sich abgeschlossenes System. Es übernimmt Daten aus anderen Systemen nur über die externe Schnittstellendatei. Die externe Schnittstelle ist also die zentrale Schnittstelle von ASS zu ASS-fremden Datenbeständen. Alle Statistikdaten, die in ASS-Summendatenbanken gespeichert und maschinell zur Verfügung gestellt werden können, müssen in externen Schnittstellendateien bereitgestellt werden, von wo aus sie ihm Rahmen der Folgeeinspeicherung in ASS-Summendatenbanken übernommen werden. Der physikalische Aufbau der externen Schnittstelle ist in dem Handbuch SYSTEMDOKUMENTATION beschrieben. Externe Schnittstellen, die von Schnittstellenprogrammen erstellt wurden, werden zunächst vom Programm PCL1001 verarbeitet und dabei in eine sogenannte interne Schnittstelle umgeformt. Bei der Verarbeitung von externen Schnittstellendateien werden eine Reihe von Prüfungen durchgeführt, um Fehler in der externen Schnittstelle oder Fehler im Handling der Folgeeinspeicherung erkennen zu können. Eingaben: 1. Die externe Schnittstellendatei (ASSIN01). 2. Abzug des Arbeitsgebiets, für das eine interne Schnittstellendatei erzeugt werden soll. Dieser Abzug wird mit dem Programm PCL1004 erzeugt. Einzelheiten zu diesen Programmen sind dem Handbuch für die Dienstprogramme zu entnehmen. Ausgaben: Der OUTPUT von PCL1001 besteht aus drei Komponenten: 1. Eine interne Schnittstellendatei. 2. Fortschreiben von Kontrollinformationen in Werte- und Schlüssel- und Steuerungsdatenbank, u.a.: - Änderungssperre bei Schlüsseln setzen - Änderungssperre bei Werten setzen - Zeiträume bei verwendeten Werten setzen - Eingespeicherte Zeiten im Arbeitsgebiet setzen 3. Evtl. Ergänzung von Schlüsselausprägungen in der Schlüsseldatenbank. Betriebsmittel: Da externe Schnittstellen unter Umständen einen sehr großen Umfang annehmen können, braucht PCL1001 für die Verarbeitung auch eine gewisse Menge an Betriebsmitteln: - temporäre Workdatei ASSWONN - zwei Arbeitsdateien ASSWK01 und ASSWK02 - Arbeitsdatei ASSWK03, falls in Vorlaufkarte ASSWK = 3 oder ASSWK = 4 angegeben - Arbeitsdatei ASSWK04, falls in Vorlaufkarte ASSWK = 4 angegeben Um das Verständnis der Arbeitsweise des Programms PCL1001 zu erleichtern, folgt zunächst ein Datenflussplan. Daran anschließend werden verschiedene Problempunkte erläutert. Ablauf:
Dateibeschreibung:
Lfd.-Nr. | DD-Name/PGM LINK-Name |
Dateiname ASS-PC | Beschreibung |
---|---|---|---|
140 | //ASSDB | $ASS/AG.EBC | Abzug des Arbeitsgebiets Ausgabe von PCL1004 |
160 | //ASSIN01 | $ASS/ASSIN01 | Externe Schnittstelle |
180 | //DST001 //DST011 //DST012 //DST013 //DST002 //DST021 //DST022 //DST023 //DST003 //DST031 //DST032 //DST033 //DST006 //DST007 |
$ASSDB/DST001 - - - $ASSDB/DST002 - - - $ASSDB/DST003 - - - - §ASSDB/DST007 | Werte-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Schlüssel-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Steuerungs-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Before-Images (nur SIEMENS-ISAM / VSAM) Text-DB |
190 | //ASSCO | $ASSVLK/T1001.VLK | Vorlaufkarte |
210 | - | - | LOGDATEI (nur DLI) |
220 | //ASSLIST //SYSPRINT | $ASSPTK/PCL1001.PTK | Ablaufprotokoll PCL1001 |
230 | //ASSOUNN | $ASS/AE.DAT | Interne Schnittstelle, Eingabe für PCL1002 Satzlänge=10000 |
240 | //ASSFEHL | $ASS/ASSFEHL | Fehler- und Schwebedatei Satzlänge=10000 |
250 | //ASSWONN | $ASSWK/ASSWONN | Arbeitsdatei Satzlänge=20000 |
260 | //ASSWK01 //ASSWK02 //ASSWK03 //ASSWK04 |
$ASSWK/ASSWK01 $ASSWK/ASSWK02 $ASSWK/ASSWK03 $ASSWK/ASSWK04 |
Workdatei 01, Satzlänge=20000 Workdatei 02, Satzlänge=20000 Workdatei 03, Satzlänge=20000 Workdatei 04, Satzlänge=20000 |
270 | //SORTWK01 bis //SORTWKnn //SORTWK1 bis //SORTWKn |
$ASSWK/SORTNN | SORTWORK-Bereich 1 (bei IBM) bis SORTWORK-Bereich nn (bei IBM) SORTWORK-Bereich 1 (bei SIEMENS) bis SORTWORK-Bereich n (bei SIEMENS) |
- | //ASSUPD | $ASS/ASSUPD.DAT | Ausgabe für die Option NUPDAT |
- | //ASSAU | $ASS/ASSAU | Ausgabe für die Option ASSAU bzw. ASSAU_KOPF Host: F B 80, PC: Textdatei |
Restriktionen: In einem Programmlauf können nur die Daten für ein Arbeitsgebiet übernommen 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 Summensätze erkannt werden. Der Wert von 100 kann durch Vorlaufkarte übersteuert werden (s.u. Option 'FEHLER=NNNN'). Die Maßnahmen, die beim "gezielten" Programmabbruch durchgeführt werden, sind im INCLUDE-Member SST1031 festgelegt. SST1031 darf installationsabhängig angepasst werden und ist dann in die installationsabhängige INCLUDE-Bibliothek zu übernehmen. Das Datenmengenproblem Das Programm PCL1001 (wie auch das Programm PCL1002) sind darauf ausgelegt, große Datenmengen zu verarbeiten. So gibt es Schnittstellendateien, die mehrere Millionen Sätze enthalten. Jeder Satz der Schnittstelle muss intern in PCL1001 noch zusätzlich vervielfältigt werden (entsprechend der Anzahl der nicht generierbaren Verdichtungsstufen). Das entstehende Datenvolumen wäre 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 Sätze 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 vervielfältigt und dann dem SORT übergeben. In der Sort-Output-Phase erfolgt die Verdichtung. Beim ersten Aufruf des Sort werden die verdichteten Summensätze in eine Datei ASSWKnn geschrieben. Bei den Folgeaufrufen werden die im vorhergehenden Aufruf erzeugten verdichteten Summensätze aus einer Datei ASSWKnn sofort mit den vom SORT gelieferten Sätzen gemischt und verdichtet und das Ganze in eine Datei ASSWKmm gestellt. ASSWKnn wird dann im nächsten Aufruf wieder als Ausgabedatei verwendet. Beim letzten Aufruf des Sort wird auf die Datei ASSOUNN ausgegeben. Es werden zwei Arbeitsdateien ASSWK01 und ASSWK02 benötigt. Bei kleinen Datenmengen kann der erste Aufruf des Sort auch schon der letzte sein. In diesem Fall werden keine Dateien ASSWKnn benötigt. Die Ausgabe erfolgt sofort und vollständig auf ASSOUNN. Fortschreibung stillgelegter Verdichtungsstufen: Stillgelegte Verdichtungsstufen werden standardmäßig bei der Folgeeinspeicherung nicht fortgeschrieben. Dies kann mittels der Option VSTNR=nn übersteuert werden. Wenn Sie mit der Option VSTNR arbeiten, müssen Sie alle Ver- dichtungsstufen, in die Einspeicherungen vorgenommen werden sollen, in der Vorlaufkarte angeben. Dabei muss natürlich auf Datenkonsistenz geachtet werden. So dürfen zum Beispiel keine Datensätze 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 Schlüssel ausgeprägt sind und die die gleiche Schlüsselreihenfolge haben, eine Verdichtungsstufenmenge. Folgende Regeln sind nun zu beachten : - Aus jeder Verdichtungsstufenmenge (pro angeliefertem Wert) darf höchstens eine Verdichtungsstufe ausgewählt werden. - Aus jeder Verdichtungsstufenmenge, die eine aktive Ver- dichtungsstufe enthält, muss genau eine Verdichtungsstufe ausgewählt werden. - Alle aktiven sequentiellen Verdichtungsstufen müssen angegeben werden. - Stillgelegte sequentielle Verdichtungsstufen werden nicht be- rücksichtigt. 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 ausgeprägten Schlüssel auch ausgeprägt sind, zusammen alle verwendeten Werte von V1 auch verwenden. Schlüsselrelationen im Arbeitsgebiet sind per Definition nicht generierbar. Standardmäßig werden während der Verarbeitung der Schnitt- stellendatei im Programm PCL1001 interne Schnittstellen- sätze nur für nicht generierbare Verdichtungsstufen erzeugt. Gibt es generierbare Verdichtungsstufen, so stehen am Ende der Verarbeitung der Schnittstellendatei die internen Schnittstellensätze für nicht generierbare Verdichtungsstufen in verdichteter Form in einer Datei ASSWKnn. Zur Generierung der generierbaren Verdichtungsstufen wird die Datei ASSWKnn sequentiell gelesen, daraus interne Schnittstellensätze (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 Sätze ausgegeben werden. Die erzeugte Datenmenge wäre für einen Sort-Aufruf ev. zu groß. In diesem Fall kann eine portionsweise Verarbeitung wie bei der Verarbeitung der externen Schnittstelle aktiviert werden. Eine portionsweise Verarbeitung benötigt eine dritte Arbeitsdatei ASSWK03. Diese muss in der JCL zur Verfügung 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 Schnittstellensätze i.a. drastisch reduziert. Lassen sich generierbare Verdichtungsstufen aus unterschiedlichen anderen Verdichtungsstufen generieren, so werden zur Generierung die Verdichtungsstufen mit den wenigsten Sätzen genommen. Anzahl Sätze pro Verdichtungsstufe wird aus SST023CV.CANZSA (Steuerungsdatenbank) entnommen. Bei der ersten Folgeeinspeicherung für ein Arbeitsgebiet existiert CANZSA noch nicht, die Auswahl der Verdichtungsstufen, aus denen generiert wird, ist dann rein zufällig. Die Generierung von Verdichtungsstufen kann von außen 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 können bzw. nicht. Beispiel: Die Verdichtungsstufe 1 enthalte die Schlüssel S1, S2, S3 und S4, die Werte W1 und W2. Die Verdichtungsstufe 2 enthalte die Schlüssel S1, S2 und S4, die Werte W1 und W2. Die Verdichtungsstufe 3 enthalte die Schlüssel S1 und S2, den Wert W1. Die Verdichtungsstufe 4 enthalte die Schlüssel 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: Zunächst sollen die Daten für die nicht generierbaren Verdichtungsstufen (im Beispiel Verdichtungsstufe 1) erzeugt werden. Dann werden hieraus die Daten für die nicht generierbaren Verdichtungsstufen, die nicht aus generier- baren Verdichtungsstufen generiert werden können, (im Beispiel Verdichtungsstufe 2) erzeugt und zum Schluss hieraus die Daten für die generierbaren Verdichtungs- stufen, die aus generierbaren Verdichtungsstufen generierbar sind (im Beispiel Verdichtungsstufe 3 und 4). Das geschilderte Verfahren benötigt 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 große Verdichtungsstufen generiert werden, gilt eine Verdichtungsstufe als generierbar aus generierbaren Verdichtungsstufen, wenn sie nicht zu "groß" ist. Eine Verdichtungsstufe gilt als nicht zu "groß", wenn ihre Satzanzahl kleiner als ein Zehntel der Satzanzahl der größten Verdichtungsstufe, die eingespeichert wird, ist. Bei der Ersteinspeicherung in ein Arbeitsgebiet sind die genannten Satzanzahlen nicht bekannt. In diesem Fall gibt es keine zu großen Verdichtungsstufen. Explizite Generierungsangaben Die Generierung von Verdichtungsstufen kann explizit über 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 Schlüssel, die in der Ziel-Verdichtungsstufe ausgeprägt sind, auch in der Quell-Verdichtungsstufe ausgeprägt sind und alle Werte, die in der Ziel-Verdichtungsstufe enthalten sind, auch in der Quell-Verdichtungsstufe enthalten sind (unabhängig von der externen Schnittstelle). Index-Verdichtungsstufen: Eine Index-Verdichtungsstufe kann aus einer Quell-Verdichtungs- stufe generiert werden, wenn alle Schlüssel, die in der Index-Verdichtungsstufe ausgeprägt sind auch in der Quell-Verdichtungsstufe ausgeprägt sind und die Quell- Verdichtungsstufe selbst keine Index-Verdichtungsstufe ist. Es können mehrere GENVST-Angaben gemacht werden, wobei jede Angabe vollständig in einer Vorlaufkarte stehen muss. Zu einer Ziel-Verdichtungsstufe darf nur eine Quell-Verdichtungsstufe angegeben werden, falsch wäre also GENVST: 17 -> 23 GENVST: 18 -> 23 Quell-Verdichungsstufen dürfen 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 Sätze 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 Sätze 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 zusätzlich die Vorlaufkarten- Option GENVST_NICHT_ABBRECHEN anzugeben. Grundsätzlich werden nicht aktzeptierte GENVST-Angaben protokolliert. Ziel-Verdichtungsstufen, deren GENVST-Angaben nicht erfüllbar sind, werden wie nicht generierbare Verdichtungs- stufen behandelt. Vorzeitiges Programmende: Nach jedem SORT-Aufruf wird geprüft, ob durch Vorlaufkarten- Optionen ein vorzeitiges Programmende erzwungen werden soll. Die zeitliche Frequenz dieser Prüfung richtet sich also nach der Häufigkeit der SORT-Aufrufe. Die Frequenz der Sortaufrufe richtet sich nach der Verarbei- tungs-OPTION 'SORTMAX', in der angegeben wird, wieviele Sätze pro Aufruf sortiert werden sollen. ACHTUNG: Ein Satz aus der Schnittstellendatei ergibt N zu sor- tierende Sätze, wobei N die Anzahl der nicht generier- baren Verdichtungsstufen ist. Ist die Schnittstellendatei vollständig verarbeitet, folgt ein abschließender SORT-Aufruf. Gibt es generierbare Verdichtungsstufen, so kann es bei der Generierung von Verdichtungsstufen zusätzliche SORT-Aufrufe geben. Folgende Kriterien führen zum vorzeitigen Programmende: - Es sind aus der Schnittstellendatei bereits mehr Sätze als in der Verarbeitungs-OPTION 'SAETZE' angegeben wurde, verarbeitet worden. - Die Laufzeit des Programms ist größer 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 ausgeführt werden. Verzögerter Update der Parameterdatenbanken Die Update's auf die Parameter-Datenbanken werden erst am Programmende von PCL1001 durchgeführt (Ausnahme Schlüssel-Datenbank. s.u.). Ist die Option NUPDAT gesetzt, so werden alle Update's der Parameterdatenbanken auf die Datei ASSUPD ausgegeben. Diese Update's können (müssen) dann mit dem Programm PCL1032 nachgeholt werden. Eine Sonderbehandlung erfahren Schlüsselausprägungen. Sie werden u.U. (in Abhängigkeit von Vorlaufkarten-Optionen) sofort auf die Schlüssel-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 dafür ausgelegt ist. Checkpoints werden nur nach Änderungen der Parameter- Datenbanken geschrieben. Werden Schlüsselausprägungen während der Verarbeitung der externen Schnittstelle (nicht am Programmende) auf die Schlüssel-Datenbank ergänzt, so werden die betreffenden Änderungen mit installationsabhängigen Verfahren fixiert und zwar unabhängig 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 zunächst in eine programminterne Tabelle gestellt (SCHREIB-cache). Bei jedem weiteren Summensatz wird zunächst versucht, diesen soweit wie möglich in diesen SCHREIB-cache einzuarbeiten. Ist dies nicht möglich (Änderung des internen Schlüssels), so wird zunächst der alte Tabelleneintrag nach ASSWONN geschrieben und dann der neue Inhalt aufgenommen. Eine Vervielfältigung im USER-EXIT E15 entfällt in diesem Fall. Eine Sortierung der Daten von ASSWONN erfolgt immer dann, wenn mindestens N Sätze ('SORTMAX=N') auf ASSWONN geschrieben wurden und natürlich bei EOF von ASSIN01. Der SCHREIB-cache enthält M Einträge, wobei M die Anzahl der nicht generierbaren Verdichtungsstufen ist. Die OPTION 'VORVERDICHTEN' empfiehlt sich immer dann, wenn die externe Schnittstellendatei sortiert vorliegt. Sortiert heißt in unserem Fall: Der höchste Sortierbegriff ist der Schlüsselinhalt desjenigen Schlüssels, der in der zugehörigen Summen-DB am weitesten links steht (kleinste CREPO), ... , niedrigster Sortierbegriff ist der Schlüsselinhalt desjenigen Schlüssels, der in der zugehörigen Summen-DB am weitesten rechts steht (größte CREPO). Beim Generieren der generierbaren Verdichtungsstufen wird stets mit der obigen Vorverdichtung gearbeitet. Ein Ausschalten der Generierung ist voraussichtlich nur in wenigen Anwendungsfällen sinnvoll. Es ist sicherlich dann sinnvoll, wenn man bei der Generierung der Verdichtungsstufen Platzprobleme auf ASSWONN bekommt. Platzbedarf für Dateien Auf die Dateien ASSWONN, ASSWK01, ASSWK02, ASSWK03, ASSWK04 und ASSOUNN werden interne Summensätze geschrieben. Diese Sätze bestehen aus einem Schlüsselteil und einer Wertetabelle. Der Schlüsselteil hat die Länge des KEYS der zugehörigen Summen-DB + 2. In Abhängigkeit von Vorlaufkarten-Optionen (z. B. VERDICHTEN) ist ein Eintrag der Wertetabelle unter- schiedlich lang. Die maximale Länge beträgt 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 Länge 30. Daraus ergibt sich eine maximale Satzlänge von 30 + 2 + 10 * 14 = 172 BYTES (+ Satzlängenfeld). Dateigrößen: ASSWONN: Die Datei ASSWONN kann in zwei Funktionen während des Programmlaufes verwendet werden: 1. Während der portionsweisen Verarbeitung der Ext. Schnitt- stellendatei ASSIN01 wird ASSWONN i.a. mehrfach erstellt. Die Anzahl der geschriebenen Sätze pro Erstellung hängt von diversen Parametern ab (s.u.). 2. bei der Generierung der generierbaren Verdichtungsstufen Damit hängt die Dateigröße von zwei Faktoren ab: (Der Datei-Bedarf ist das Maximum von Punkt 1. und 2..) 1. SORTMAX-Parameter: a.ohne Vorverdichten: Anzahl-Sätze = SORTMAX / Anzahl nicht generierbarer Verdichtungsstufen. b.mit Vorverdichten: Anzahl-Sätze = SORTMAX. 2. Verdichtungsstufengenerierung a.Verdichtungsstufengenerierung ist nicht ausgeschaltet (keine Option NOVSTGENER): In diesem Fall werden die Sätze aller generierbaren Verdichtungsstufen aus ASSWK01 oder ASSWK02 erzeugt und nach ASSWONN (mit Vorverdichten) geschrieben. Dies kann in Extremfällen zu sehr großen Datenmengen führen und zwar dann, wenn - die ausgeprägten Schlüssel der generierbaren Verdichtungsstufen vorwiegend rechts im KEY der zugehörigen Summen-DB angeordnet sind. - ASSWK01/ASSWK02 bereits große Ausmaße angenommen haben. Eine endgültige Schätzung ist in diesem Fall nur schwer möglich. Der theoretische WORST-CASE: Anzahl generierbarer Verdichtungsstufen * Anzahl Sätze von ASSWK01/ASSWK02. Werden mehr als 2 Arbeitsdateien zu Verfügung gestellt (s.o.), so wird das Problem einer zu großen Datei ASSWONN entschärft. Die Dateien ASSWK03 bzw. ASSWK04 enthalten nur Daten von generierbaren Verdichtungsstufen. Insbesondere ASSWK04 dürfte nicht das Volumen von ASSWK01/ASSWK02 annehmen. b.Verdichtungsstufengenerierung ist ausgeschaltet: (Option NOVSTGENER): Es wird nicht auf ASSWONN geschrieben. ASSWK01/ASSWK02: Diese Dateien müssen so groß dimensioniert werden, dass sie die Endausgabedatenmenge der nicht generierbaren Verdichtungsstufen aufnehmen können, es sei denn, man arbeitet mit 'NOVSTGENER' und so großem 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 müssen sie das Volumen der generierbaren Verdichtungsstufen aufnehmen können. ASSOUNN: Diese Datei enthält die komplette interne Schnittstelle für komprimierte Verdichtungsstufen. Eine Schätzung, wie viele Sätze diese Datei enthält, ist praktisch nicht möglich. Der Platzbedarf für ASSOUNN hängt entscheidend davon ab, wie stark die externe Schnittstellendatei verdichtet werden kann. Verdichtungsverhältnisse von nahezu 1:1 bis 20:1 kommen in der Praxis vor. Laufzeitprobleme: Bei großen externen Schnittstellendateien und Arbeitsgebieten mit mehreren Verdichtungsstufen können optimale Vorlaufkarten- angaben zu deutlicher Programmlaufzeitverkürzung führen: - Der SORTMAX-Parameter sollte nicht zu klein gewählt werden. Die Voreinstellung von zwei Millionen sollte, wenn die SORTWK-Bereiche und ASSWONN hinreichend groß gewählt werden können, nicht verkleinert werden, eher vergrößert. - Unter Windows/Linux ist ein anderes Sort-Verfahren aktiv. Hier empfiehlt sich eine kleinere Einstellung für SORTMAX (1 Million) - Die Generierung von Verdichtungsstufen sollte höchstens dann ausgeschaltet werden, wenn die externe Schnittstellendatei sortiert vorliegt (s.o.) und wenn im Arbeitsgebiet hauptsächlich über die Schlüssel verdichtet wird, die im KEY der zugehörigen Summen-DB weit rechts liegen (große CREPO). Werden Verdichtungsstufen generiert, so sollte ASSWK03 und ev. sogar ASSWK04 (s.o.) zur Verfügung gestellt werden. - Das VORVERDICHTEN sollte eingeschaltet werden: - wenn es genau eine nicht generierbare Verdichtungsstufe gibt oder - wenn die externe Schnittstellendatei sortiert vorliegt. Adressraumbedarf für Ausprägungstabellen Schlüsselausprägungen werden von PCL1001 von der externen Darstellung in eine interne Nummer umgeschlüsselt. Diese Umschlüsselung wird mit Hilfe von Ausprägungstabellen durchgeführt. Für jeden verwendeten Schlüssel des betreffenden Arbeitsgebiets wird programmintern eine Schlüssel- ausprägungstabelle angelegt. Jede Ausprägung belegt hierbei einen Tabellenplatz. Der Platz, der für eine Ausprägung erforderlich ist, variiert i.a. von Schlüssel zu Schlüssel und ist abhängig davon, ob mit Zeitprüfung gearbeitet wird. Ein Tabelleneintrag ist folgendermaßen aufgebaut: - interne Nummer 2 Byte (bei interner Länge 1 oder 2) 4 Byte (bei interner Länge 3 oder 4) - Schlüsselinhalt 1 bis n Byte in Abhängigkeit von der externen Länge des Schlüssels. - Gültigkeitsintervall 8 Byte Dieser Eintrag existiert nur, wenn die Zeitprüfung eingeschaltet ist (siehe Option ZEITPRUEF). In die oben beschriebenen Tabellen werden alle Schlüsselaus- prägungen gestellt, die im Arbeitsgebietsabzug enthalten sind. Schlüsselausprägungen von Schlüsseln der internen Länge 3 bzw. 4 werden in Abhängigkeit der Vorlaufkarten-Option UMSCHLMAX bzw. UMSCHLPLATZ (s.u.) in Tabellen gestellt. Ausprägungen, die automatisch ergänzt werden, werden in speziellen Überlauftabellen gesammelt. Diese werden sortiert verwaltet. Werden sehr viele Schlüsselausprägungen ergänzt, so kann das sortierte Einarbeiten in diese Überlauftabellen zu erhöhtem CPU-Bedarf führen. Überlauftabellen werden pro Schlüssel verwaltet. Um nicht zu viel Adressraum zu beanspruchen, wird zunächst mit "kleinen" Überlauftabellen gearbeitet. Läuft eine Überlauftabelle über, so wird eine neue, größere einge- richtet. Bei Schlüsseln der interne Länge 3 oder 4 wird installationsabhängig durch die Variable ALC-AU-UE-MAX (Text-Datenbank, siehe Handbuch INSTALLATION) die maximale Tabellengröße der Überlauftabelle festgelegt. Es ist erstrebenswert, nicht zu viele Schlüssel- ausprägungen ergänzen zu lassen. Eine Reduktion kann durch Einsatz der Option KEYZU erreicht werden (siehe entsprechende Beschreibung). Zeitprüfung von Schlüsselausprägungen Schlüsselausprägungen können in der Transaktion ST06 mit zeitlichen Gültigkeitsintervallen versehen werden (Ausprägung ist gültig von, bis). Beim Prüfen von externen Schnittstellen kann gegen diese Zeitintervalle geprüft werden. Überprüft werden dabei Summensätze. Es werden hierbei alle Zeitangaben zu Werten mit Werteinhalt ungleich 0 überprüft. Bei jeder aktiven Schlüsselausprägung (d.h. der betreffende Schlüssel ist in mindestens einer aktiven Verdichtungsstufe ausgeprägt und die aktuelle Schnittstelle enthält wenigstens einen verwendeten Wert dieser Verdichtungsstufe) wird geprüft, ob jedes Wertedatum im Gültigkeitsintervall enthalten ist. Die Prüfung entfällt, wenn die Schlüsselausprägung noch nicht in der Schlüsseldatenbank enthalten ist. Die geschilderte Zeitprüfung ist standardmäßig nicht eingeschaltet. Sie muss explizit durch die OPTION ZEITPRUEF (s.u.) angefordert werden. Zu beachten ist, dass die Zeit- prüfung zusätzliche Rechenzeit und zusätzlichen Adressraum für Schlüsselausprägungstabellen erfordert. Die Zeitprüfung erfolgt grundsätzlich monatsgenau, auch wenn in der externen Schnittstelle tagesgenaue Daten angeliefert werden. VORLAUFKARTE: Die Optionen in der Vorlaufkarte müssen durch Komma getrennt werden. Sie können zwischen Hochkommata gestellt werden. Beispiel: NMAXDAT,SORTMAX=1000000 oder: 'NMAXDAT','SORTMAX=1000000' Es werden nur die Stellen 1 - 72 berücksichtigt. Mögliche Optionen:
Option | Bedeutung | Voreinstellung |
---|---|---|
DRUCK | Protokoll maximal erzeugen | DRUCK |
NDRUCK | Protokoll unterdrücken | DRUCK |
MAXDAT | es wird geprüft, ob das Wertedatum aufsteigend ist | MAXDAT |
NMAXDAT | Es wird nicht geprüft, ob das Wertedatum aufsteigend ist | MAXDAT |
MAXDATGLEICH | Wertedatum darf <= dem Datum der letzten Einspeicherung sein, muss aber >= dem Datum der ersten Einspeicherung sein | NICHT MAXDATGLEICH |
UPDAT | UPDATE Parameterdatenbanken | UPDAT |
NUPDAT | kein UPDATE der Parameterdatenbanken | UPDAT |
MINUTEN=NNNN | maximale Laufzeit in Minuten | 1000000 |
SAETZE=NNNNNN | Maximal zu verarbeitende Sätze aus Schnittstelle. 0 bedeutet kein Limit. |
99000000 |
SORTMAX=NNNN | maximal pro SORT-Aufruf zu sortierende Sätze | 2000000 |
AGNR=NN | Festlegung, für welches Arbeitsgebiet ASSIN01 gilt | fehlt diese Angabe, so wird die Schnittstellennummer aus dem Kopfsatz genommen |
KEYZU | Diese Option dient nur
zum Ergänzen von
Schlüsselausprägungen
aus der Schnittstelle in
die Schlüssel-DB. Sie
darf nur für Sonderläufe
hergenommen werden. Anwendungsfall: Vor Einspeicherung Schlüsselausprägungen auf Schlüssel-Datenbank bringen. SAETZE sollte kleiner als die Anzahl der externen Schnittstellensätze gesetzt werden. Weil das Abbruchkriterium nur zum Zeitpunkt des Sortieraufrufs geprüft wird, ist SORTMAX unter Berücksichtigung der Zahl unter SAETZE=... und den Optionen NOVSTGENER und VORVERDICHTEN geeignet zu wählen. KEYZU bewirkt, dass grundsätzliche keine interne Schnittstellendatei erzeugt wird. Es erfolgt eine optimierte Verarbeitung bei der u.a. kein Sort durchgeführt wird. Weiterhin werden keinerlei Work-Dateien benötigt. A c h t u n g: Dementsprechend erfolgt eine unvollständige Verarbeitung | nicht KEYZU |
NOKEYZU | Neue Ausprägungen in der externen Schnittstelle führen zu einem Fehler NOKEYZU impliziert FEHLER = 0 | nicht NOKEYZU |
FEHLER=nnn | Obergrenze für fehlerhafte Summensätze | 100 werden mehr fehlerhafte Summensätze als maximal zulässig erkannt, so wird PCL1001 vorzeitig beendet. |
EXIT=KURZ | Bei dieser Angabe erwartet PCL1001 eine externe Schnittstelle im kurzen Format. Diese Angabe muss unbedingt mit dem tatsächlichen Format der Schnittstelle harmonieren. Zur Zeit ist jede Angabe identisch mit KURZ. | keine kurze Schnittstelle |
NOVSTGENER | Generierung von Verdichtungsstufen aus anderen Verdichtungsstufen ausschalten | Verdichtungsstufen generieren |
VORVERDICHTEN | siehe ausführliche Beschreibung oben. | nicht VORVERDICHTEN |
CHKP_PRIVAT | aktivieren der „privaten“ Checkpoint-Schreibung | nicht CHKP_PRIVAT |
INVERS | der Werteinhalt wird mit
inversen Vorzeichen
verarbeitet Anwendungsfall: Fehleinspeicherungen rückgängig machen |
nicht INVERS |
ZEITPRUEF | Zeitprüfung von Schl.- ausprägungen einsch. s.o. | nicht ZEITPRUEF |
KEYLIST | neu über die ext. Schnitt- stelle hinzugekommene Ausprägungen zum jeweiligen Schlüssel protokollieren | nicht KEYLIST |
VSTNR=nnn | Verdichtungsstufen, in die
eingespeichert werden soll,
explizit angeben.
Hierbei ist für nnn die
jeweilige Verdichtungsstufennummer anzugeben. Beispiel: VSTNR=17 , VSTNR=31 Mittels dieser Option kann man Einspeicherungen in stillgelegte Verdichtungsstufen vornehmen. |
nicht VSTNR |
ASSIN=nn | Wird z.B. ASSIN=03 angegeben, so werden nacheinander die Dateien ASSIN01, ASSIN02, ASSIN03 gelesen u. verarbeitet. Das Verarbeitungsergebnis entspricht einer Konkatenierung von ASSIN01, ASSIN02 und ASSIN03 unter dem DD-Namen ASSIN01. Diese Option ist vorwiegend für Siemens-Umgebungen gedacht. | keine Angabe |
NOWEPRUEF | Diese Option bewirkt
folgendes: - Eindeutigkeit von Wertenummer + Wertedatum in Kopfsätzen wird nicht mehr geprüft. - Wird im Kopfsatz nur ein Zeitraum angekündigt, so wird aus den zugehörigen Summensätzen nur der angekündigte Zeitraum übernommen. |
WEPRUEF |
MCL0169 | Vor der Verarbeitung eines Summensatzes wird der User-Exit MCL0169 aufgerufen, um den aktuellen Summensatz vor der Verarbeitung ev. zu verändern. | nicht MCL0169 |
VERDICHTEN | Diese Option bewirkt, dass Zwischenergebnisse auf ASSWONN, ASSWK01, ASSWK02, ASSWK03 und ASSWK04 verdichtet gespeichert werden. Sie reduziert dort den Platzbedarf, erfordert dafür jedoch mehr CPU-Zeit. Ebenso wird der Platzbedarf für die Sort-Dateien reduziert. | nicht VERDICHTEN |
KEYUPDATE | Mit dieser Option können
mehrere PCL1001 für
verschiedene Arbeitsgebiete
parallel laufen. Dabei
werden Schlüsselausausprägungen, die nicht
im PCL1004-Abzug enthalten
sind, sofort in die
Schlüsseldatenbank eingefügt,
sofern sie
dort noch nicht enthalten
sind. Diese Option erfordert
ein serialisiertes
Zugreifen zur Schlüsseldatenbank. Diese Option steht zur Zeit nur für ISAM und auf Anforderung für DL/I mit IMS zur Verfügung. |
nicht KEYUPDATE bei KEYLUECKE gilt jedoch KEYUPDATE |
KEYLUECKE | Beim Ergänzen von
Schlüsselausprägungen
werden eventuelle Lücken
aufgefüllt. Impliziert KEYUPDATE |
nicht KEYLUECKE |
INDEX_GEN=n | Generierung von Indizes (Relationen) aus Verdichtungsstufen mit mindestens 1 und höchstens n - 1 Sätzen. | INDEX_GEN=0 bei UMBUCH gilt jedoch INDEX_GEN=0 |
UMBUCH | Umbuchung von Bestandswerten aus einer Änderungsschnittstelle von dem Dienstprogramm PCL1019. | nicht UMBUCH impliziert NOVSTGENER VORVERDICHTEN INDEX_GEN=0 nicht VSTNR |
UMSCHLMAX=n | Anzahl Ausprägungen pro Schlüssel mit interner Länge 3 oder 4, die in Hauptspeicher maximal eingelesen werden | UMSCHLMAX=0 |
UMSCHLPLATZ=n | Adressraum in Bytes, in den Ausprägungen von Schlüssel mit interner Länge 3 oder 4 in den Hauptspeicher eingelesen werden | UMSCHLPLATZ=0 |
CANZSA_GENER_MAX = n |
Generierung aus Verdichtungsstufen mit maximal n Sätzen | CANZSA_GENER_MAX=0 Steuerung nicht aktiv |
NO_EURO_PRUEF | Mit dieser Optionen können
Prüfungen bei Euro-Werten
mit Stichtag bei Bestandsfortschreibung
durch Bewegungsanlieferung
ausgeschaltet werden. Diese
Option ist gefährlich. Sie
ist nur zulässig, wenn
sichergestellt ist, dass
in der Schnittstelle
Gegenbuchungen enthalten
sind, die bewirken, dass
sich die Bewegungen nur
auf einen Zeitpunkt auswirken. Dies ist auch nach PCL1019 der Fall mit BEWEGUNG_BESTAND, über ein Zeitintervall und ohne Euro-Umrechnung. |
Prüfen |
SICHTEN | Diese Option bewirkt, dass eine aktive Verdichtungsstufe betrachtet wird, wenn die Schnittstelle einen ausgeprägten Schlüssel dieser Verdichtungsstufe und einen verwendeten Wert enthält. Betrachtete Verdichtungsstufen müssen bzgl. der Schlüssel vollständig bedient werden. Die erforderlichen Schlüssel können auch durch die Optionen INHALT bzw. INHALT_ERS geliefert werden. Diese Option ist gefährlich. Sie darf nur benutzt werden, wenn im betreffenden Arbeitsgebiet die Verdichtungsstufen geeignet definiert sind und mit den Einspeicherungen hierfür harmonieren. | keine Sichten |
EXIT_TEXT | Es wird eine externe Schnittstelle im Textformat erwartet (HSYSDOK,Kap. 5.3) | nicht EXIT_TEXT |
BESTANDSUEBERNAHME | Steuerung der Verarbeitung externer Schnittstellen mit Bestandswerten und Bestandsanlieferung (siehe auch PCL1002) | nicht BESTANDSUEBERNAHME |
GENVST | s.o. | |
GENVST_NICHT_ABBRECHEN | s.o. | |
NO_END_CNT_VAL | Zähler für Summensätze im Endesatz nicht prüfen | prüfen |
ASSWK = n | n = 3 oder 4, Generierung von Verdichtungsstufen optimieren (s.o.) | |
ISAMSORT | wird ab Release 8.10 ignoriert Das Sortierverfahren wird automatisch bestimmt |
|
INHALT (...) = ... | Schlüsselinhalte via Vorlaufkarte, s.u. | |
INHALT_ERS (...) = ... | Schlüsselinhalte via Vorlaufkarte, s.u. | |
ASSAU | Auf die Schlüsseldatenbank eingefügte Ausprägungen auf die Datei ASSAU ausgeben. | nicht ASSAU |
ASSAU_KOPF | wie ASSAU, jedoch mit Kopfsatz (Überschrift) | nicht ASSAU_KOPF |
FB | Externe Schnittstelle ist festgeblockt im langen oder kurzen (EXIT=KURZ) Format. | nicht FB |
EXIT_VAR | Automatische Erkennung von 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. | nicht EXIT_VAR |
TRANSLATE | Externe Schnittstelle von BS2000-EBCDIC nach Windows (DOS) übersetzen | keine Übersetzung |
BS2000-ANSI | Externe Schnittstelle von BS2000-EBCDIC nach ANSI (Unix) übersetzen. | keine Übersetzung |
MVS_ANSI | Externe Schnittstelle von MVS-EBCDIC nach ANSI (Unix) übersetzen. | keine Übersetzung |
OS2_ANSI | Externe Schnittstelle von Windows (DOS) nach ANSI (Unix) übersetzen. | keine Übersetzung |
BS2000_MVS | Externe Schnittstelle von BS2000-EBCDIC nach MVS-EBCDIC übersetzen. | keine Übersetzung |
MVS_BS2000 | Externe Schnittstelle von MVS-EBCDIC nach BS2000-EBCDIC übersetzen. | keine Übersetzung |
Generierung von Verdichtungsstufen: CANZSA_GENER_MAX=n Ist die Vorlaufkartenoption NOVSTGENER nicht angegeben, so unterscheidet PCL1001 zwischen generierbaren und nicht generierbaren Verdichtungsstufen. Die Einteilung hängt allein von den ausge- prägten Schlüsseln und Werten ab, d.h. ob sich die Informationen aus anderen Verdichtungsstufen (durch Summierung) ergeben. Dieses kann in der Praxis dazu führen, dass alle Verdichtungs- stufen bis auf die Basis generierbar sind und sich ein ungünstiges Verhalten bzgl. Platz und Laufzeit ergibt. Durch die Angabe von CANZSA_GENER_MAX=n gelten alle Verdichtungsstufen mit 0 oder mehr als n Sätzen als nicht generierbar und werden zum Generieren auch nicht verwendet. Für alle übrigen Verdichtungsstufen wird folgendermaßen verfahren: die Verdichtungsstufen werden intern nach der Anzahl Sätze, 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 Standardmäßig sind Indizes nicht aus anderen Verdichtungsstufen generierbar. Über die Vorlaufkartenoption INDEX_GEN=n kann dies abgeändert werden, wobei n für eine positive Zahl steht, zum Beispiel INDEX_GEN=100000. Dann wird zur Generierung eines Index die kleinste Verdichtungsstufe genommen, die mindestens einen Satz und höchstens n - 1 Sätze enthält. 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 können bei der Generierung von Indizes sogenannte Nullsätze zu den nicht generierbaren Verdichtungsstufen erzeugt werden. Diese Nullsätze sind notwendig: wenn ein Index für mehrere Verdichtungs- stufen geeignet ist und ein Satz der externen Schnittstelle jedoch wegen der verwendeten Werte nicht in die Verdichtungsstufe über- nommen werden muss aus der der Index generiert wird. Diese Null- sätze 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 sämtliche Verdichtungsstufenmengen, die mindestens eine aktive Verdichtungsstufe enthalten, selbstverständlich außer sequentielle Verdichtungsstufen mit der Art 1, da diese ja nicht fortgeschrieben werden können. Es werden also auch stillgelegte Verdichtungsstufen umgebucht, falls sie in einer Menge enthalten sind mit mindestens einer aktiven Verdichtungsstufe. Die eingespeicherten Zeiten dürfen sich nur soweit überlappen, dass mindestens ein Monat jeder Verdichtungsstufe nicht durch andere dieser Menge abgedeckt wird. Des weiteren ist zu beachten, dass überlappende Zeiten nur in einer Verdichtungsstufe umgebucht werden. Deshalb sollte man über- lappende Zeiten möglichst vermeiden. Durch das Dienstprogramm PCL1042 gesplittete Mengen haben keine überlappende Zeiten. Um Inkonsistenz zu vermeiden, wird überprüft, ob jeder Werteintrag in jeder Menge bezüglich 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 unabhängig von gegenteiligen Angaben in der Vorlaufkarte. Dagegen führt die Angabe der Option VSTNR zu einer Fehlermeldung. Die Umbuchung kann auch stillgelegte Verdichtungsstufen betreffen. Ergänzung von Schlüsselausprägungen (Option KEYLUECKE) Wenn das Dienstprogramm PCL1001 neue Schlüsselausprägungen ergänzt, so wird standardmäßig als interne Nummer der Ausprägung die größte bisher vergebene Nummer plus eins genommen. Durch Umbuchungen (zum Beispiel mit PCL1019) können nun Schlüsselausprägungen auf der Schlüsseldatenbank verbleiben, auf die es keinen Bezug aus Verdichtungsstufen mehr gibt. Trifft dies für sehr viele Ausprägungen zu, so können diese mit dem Dienstprogramm PCL1055 von der Schlüsseldatenbank gelöscht werden. Die dabei entstehenden Lücken werden jedoch standardmäßig nicht für neue Ausprägungen wieder benutzt. Diese Lücken kann man entweder mit dem Dienstprogramm PCL1058 (dabei müssen jedoch sämtliche betroffenen Verdichtungsstufen neu geladen werden) schließen oder mittels der Option KEYLUECKE. Die Option KEYLUECKE impliziert die Option KEYUPDATE. Da jedoch für jede zu ergänzende Ausprägung sämtliche Ausprägungen zu diesem Schlüssel nachgelesen werden müssen, werden die Ausprägungen zunächst wie im Standardfall ergänzt. Erst beim Erreichen der Obergrenze werden die Lücken abgesucht. Einspeicherung in Schlüssel mit interner Länge > 2 Schlüssel mit interner Länge > 2 gelten im ASS als Massen- schlüssel mit vielen Ausprägungen. Daher werden in der Regel die Ausprägungen derartiger Schlüssel im Rahmen der Einspeiche- rung nicht intern in Tabellen verwaltet (Platzproblem). Für das Ermitteln der internen Zählnummer (verdichteter Inhalt) zu einem Schlüsselinhalt eines Schnittstellensatzes ist daher jeweils ein Schlüsseldatenbankzugriff erforderlich. Kann durch das System hinreichend viel Adressraum zur Verfügung gestellt werden, so kann durch die Angabe von UMSCHLMAX=n dieses Verhalten verbessert werden. Zu jedem Schlüssel mit interner Länge > 2, wird soviel Adressraum angefordert, dass n Ausprägungen darin Platz finden. Das Verfahren wird jedoch nur für die Schlüssel angewandt, deren Ausprägungsanzahl höchstens 4 mal so groß ist wie das angegebene n. Hierdurch wird erreicht, dass einerseits nicht unnötig allokiert wird, andererseits jedoch ein Großteil der Datenbankzugriffe vermieden wird. ACHTUNG: Bei Angabe dieser Option darf das Programm PCL1004 nicht mit der Option OA laufen. Analog zu UMSCHLMAX können mit der Angabe UMSCHLPLATZ=n die Zugriffe auf die Schlüsseldatenbank deutlich reduziert werden. Mit UMSCHLPLATZ wird vorgegeben, wieviel Adressraum (in Bytes) für Ausprägungstabellen für Schlüssel mit interner Länge > 2 maximal verwendet werden soll. Die Angabe über Vorlaufkarte ist erforderlich, da i.a. nicht ermittelbar ist, wieviel Adressraum zur Verfügung steht (bestimmter Adressraum muss z.B. für Satzpuffer oder den Sort freigehalten werden). Pro Schlüssel mit interner Länge > 2 wird maximal der Platz für m Ausprägungen benötigt, wobei m die nächste interne Nummer für die Ausprägungen des betreffenden Schlüssels ist (es wird die nächste interne Nummer verwendet, da die Anzahl Ausprägungen nicht bekannt ist). Alle Ausprägungen, die in den Arbeitsspeicher eingelesen werden, werden via Arbeitsspeicher umgeschlüsselt, für den Rest wird auf die Schlüsseldatenbank zugegriffen. Platzbedarf für eine Schlüsselausprägung: 4 Byte für die interne Nummer + n Byte für den Schlüsselinhalt (n = externe Länge) + 8 Byte für ein Zeitintervall, falls die Zeitprüfung für Schlüsselausprägungen 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 dürfen nur alternativ verwendet werden. ASSAU bzw. ASSAU_KOPF Auf die Schlüsseldatenbank eingefügte Ausprägungen werden auf die Datei ASSAU ausgeben. Die Ausgabe erfolgt semikolonsepariert als Textdatei. Die Einträge bestehen aus folgenden Feldern: - Datum in der Form JJMMTT, Startdatum von PCL1001 - Arbeitsgebietsnummer, 3-stellig mit führenden Nullen - Schlüsselnummer, 5-stellig mit führenden Nullen - Schlüsselbezeichnung, 20 Byte - Schlüsselinhalt, 32 Byte - Verdichteter Schlüsselinhalt, 9-stellig mit führenden Nullen Am Host haben die Sätze die fixe Länge 80, am PC das Format line-sequential. Die Ausgabe ist sortiert. Da die Ausgabe im Textformat erfolgt, werden Bitschlüssel nicht ausgegeben. Ist die Option ASSAU gesetzt, so werden auf die Schlüssel- datenbank eingefügte Schlüsselausprägungen nicht im Ablaufprotokoll aufgeführt. Die Option ASSAU_KOPF impliziert die Option ASSAU. Bei ASSAU_KOPF wird zusätzlich ein Kopfsatz (Überschrift) als erster Satz in die Datei ASSAU geschrieben. Schlüssel via Vorlaufkarte I.a. muss eine externe Schnittstelle, die in ein bestimmtes Arbeitsgebiet eingespeichert werden soll, alle Schlüssel, die in diesem Arbeitsgebiet gebraucht werden, anliefern. Die angekündigten Werte bestimmen die benötigten Verdichtungs- stufen. Alle in diesen Verdichtungsstufen ausgeprägten Schlüssel sind die erforderlichen Schlüssel. Fehlen Schlüssel, so können diese durch Vorlaufkartenangaben ergänzt werden: INHALT (Schlüsselnummer) = 'Schlüsselinhalt' Einem Schlüssel kann hierdurch genau ein (fester) Schlüsselinhalt zugeordnet werden. Die durch INHALT (...) angegebenen Schlüssel ergänzen die externe Schnittstelle. Werden Schlüssel angegeben, die nicht gebraucht werden oder die in der externen Schnittstelle bereits enthalten sind, so werden diese Angaben ignoriert. Sollen die Inhalte eines Schlüssel der externen Schnittstelle durch einen festen Inhalt überschrieben werden, so wird dies durch INHALT_ERS (Schlüsselnummer) = 'Schlüsselinhalt' ermöglicht. Fehlt der betreffende Schlüssel in der externen Schnittstelle, so wirken die Schlüssel von INHALT_ERS wie die Schlüssel von INHALT. Es können maximal 90 Schlüssel durch INHALT bzw. INHALT_ERS versorgt werden.
Mit dem User-Exit MCL0169 besteht die Möglichkeit, die
Schlüsselinhalte der mit der externen Schnittstelle angelieferten
Summensätze zu verändern. Die nötigen Umschlüsselungsanweisungen
müssen in der Datei '$ASS/ASSMANI.TXT' (DD-Name, bzw. Link-Name:
ASSMANI) stehen und folgender Form entsprechen:
SCHLÜSSELNUMMER;SCHLÜSSELINHALT_ALT;SCHLÜSSELINHALT_NEU
Optional kann die Anweisung mit einem Semikolon
abgeschlossen werden.
Aktiviert wird der User-Exit MCL0169 per
PCL1001-Vorlaufkarte mit der Option 'MCL0169' (aus
historischen Gründen ist auch 'MST0169' zulässig).
Beispiel:
Bei der Anlieferung neuer Summensätze soll sich der
Schlüsselinhalt von Schlüssel 4897 (Produktname) von
PRODUKT1 in PRODUKT2 ändern und PRODUKT76 in PRODUKT13,
sowie der Inhalt KUNDE1 von Schlüssel 324 (Kundenname) in
KUNDE25:
4897;PRODUKT1;PRODUKT2
4897;PRODUKT76;PRODUKT13;
0324;KUNDE1;KUNDE25
Für die Umschlüsselungsangaben gelten folgende Restriktionen:
- Die Schlüsselnummer kann führende Nullen enthalten, darf aber
nicht länger als 5 Ziffern sein; Blanks davor und dahinter sind
erlaubt
- Bei Schlüsselinhalten werden führende Blanks zur Ausprägung
gezählt, hintere werden ignoriert
- Alter und neuer Inhalt dürfen jeweils nicht länger als die
externe Länge des Schlüssels sein
- Leere Angaben sind in allen drei Feldern unzulässig
- Es dürfen keine doppelten Angaben gemacht werden, d.h. jede
Kombination "SCHLÜSSELNUMMER;SCHLÜSSELINHALT_ALT" muss eindeutig
sein; dagegen dürfen verschiedene alte Inhalte auf denselben
neuen Inhalt abgebildet werden
Jegliche Verletzung der Restriktionen führt zum Programmabbruch.
Die Datei muss nicht sortiert sein. Angaben zu Schlüsseln, die
nicht in der externen Schnittstelle angeliefert werden, werden
ignoriert.
Auf jeden Inhalt wird max. eine Umschlüsselungsangabe angewendet,
d.h. die Angaben
00130;A ;B
00130;B ;C
schlüsseln "A" nach "B" um und nicht "A" nach "B" und dieses "B"
dann nach "C".
Eine Umschlüsselungsangabe braucht 2 * n Bytes Speicherplatz,
wobei n die externe Länge des entsprechenden Schlüssels ist. Über
die Vorlaufkartenoption "MCL0169_PLATZ = n" kann festgelegt
werden, wieviel Speicherplatz insgesamt reserviert werden soll
(n muss zwischen 100 und 990.000.000 liegen, natürlich unter
Berücksichtigung des max. verfügbaren Speichers in MCL0128).
Standardmäßig (d.h. ohne explizite Angabe) werden 100.000 Bytes
reserviert, d.h. bei im Schnitt 5-stelligen Schlüsseln können ca.
10.000 Angaben gemacht werden. Dabei werden Angaben zu Schlüsseln,
die nicht im Arbeitsgebiet enthalten sind, ignoriert, d.h. sie
verbrauchen auch keinen Speicherplatz. Im Protokoll wird dann
ausgegeben, wieviel Speicher von MCL0169 wirklich genutzt wurde.
Reicht der Speicherplatz nicht aus, kommt es zum Programmabbruch.
Die Umschlüsselung erfolgt VOR der Verarbeitung der externen
Schnittstelle, d.h. wird ein alter Inhalt in einen neuen Inhalt
geändert, der nicht auf der Schlüsseldatenbank existiert, wird
dieser neu angelegt, sofern er den formellen Anforderungen
entspricht und die Schlüssel-Neuanlage auf der Schlüsseldatenbank
eingestellt ist, siehe Handbuch ST06 Kapitel 3.5.2.
Die Form der "alten" Inhalte ist hingegen egal (bis auf die Länge,
siehe oben).
Interne Schnittstellen für 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 über Vorlaufkarte gesteuert. Die Möglichkeiten bei den Vorlaufkarten sind weiter unten beschrieben. Bevor die Varianten im einzelnen beschrieben werden, sollen zunächst noch einige variantenübergreifende 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 geänderten Summendatenbanken und ev. aus neuen sequentiellen Verdichtungsstufen. Eine Summendatenbank kann in einer DLI-Umgebung mit HSSR abgezogen werden. Falls HSSR nicht zur Verfügung steht oder Summendatenbanken nicht in DLI gespeichert sind, müssen 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 vollständig neu erstellt, so kann man das Laden entweder direkt vom PCL1002 durchführen lassen oder aber Ladebestände erstellen, die anschließend vom Programm PCL1013 geladen werden können. Bei großen Summendatenbanken führt man das Laden besser mit PCL1013 durch, da PCL1013 mit einem reinen Lade-PSB arbeiten kann und kein Logging anfällt. Lädt 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 durchgeführt werden, auch verzögern, indem man die Datenbankänderungen zunächst auf eine Datei schreiben lässt. Die Änderungen aus dieser Datei können dann mit dem Programm PCL1032 auf die Steuerungsdatenbank gespielt werden. Man kann also im Extremfall PCL1002 so laufen lassen, dass keine Datenbankänderungen durchgeführt werden. Hinweis für BMP: Lässt man PCL1002 als BMP laufen, so kann man nicht die PROCOPT=LS benutzen. Hinweis für Siemens: Werden Summendaten während 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 Öffnen einer Datei). Wird mit verteilten Summendatenbanken gearbeitet, so ist das Sperren jedoch unbedingt erforderlich, um Überholeffekte Einspeicherung/Auswertung zu verhindern. Diese Überholeffekte müssen 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 natürlich noch keinerlei Fortschreibungsprobleme. Daher eignet sich diese Variante zum erstmaligen Laden von Daten in die ASS-Bestände. Gibt es in einem Arbeitsgebiet Werte vom Typ BESTAND, so kann nur die Variante 1 zur Urladung (vollständige Bestandsübernahme) herangezogen werden. In diesem Fall ist keine Vorlaufkarte erforderlich. Variante 1b.: Ansonsten kann diese Variante in all den Fällen angewandt werden, in denen die interne Schnittstelle die kompletten Summenbestände enthält. 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 gewählt werden, wenn aktive Verdichtungsstufen auf seq. Datenträgern existieren oder wenn in der externen Schnittstelle Bestandswerte angeliefert werden. Darüber hinaus empfiehlt sich diese Variante, wenn Summendatenbanken reorganisiert werden sollen und wenn die interne Schnittstelle im Verhältnis zur Summendatenbank nicht als sehr klein anzusehen ist. 3. Variante: Interne Schnittstelle direkt in Summendatenbank(en) einarbeiten. Die 3. Variante ist für folgenden Anwendungsfall gedacht: In einem Arbeitsgebiet gibt es keine Verdichtungsstufen auf seq. Datenträgern. Die Werte in den Summendaten werden durch Bewegungen fortgeschrieben. Die Anzahl der Bewegungen, die auf die Summendaten gespielt werden sollen, ist im Verhältnis zu den bereits vorhandenen Summendaten klein. Eine Folgeeinspeicherung entsprechend Variante 2, die technisch möglich ist, ist für 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 Sätze in der Summendatenbank durch Folgeein- speicherungen länger. Dies führt z.B. in einer DLI-Umgebung zu SEGMENT-SPLIT's. Man kann eine Reorganisation erreichen, wenn man von Zeit zu Zeit eine Folgeeinspeicherung gemäß Variante 2 durchführt. 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 zusätzliche Summensätze enthält, die in den Summendaten ergänzt werden sollen. Bei Einsatz dieser Variante werden die schon in den Datenbanken vorhandenen Sätze 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 unverändert. Diese Variante ist für 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, für einen bestimmten Zeitraum Folgeeinspeicherungen zu wiederholen. Hierzu müssen die Summendaten zeitlich zurückgesetzt werden, etwa auf den 10. eines bestimmten Monats. Vorgabe-/Erfasswerte wurden aber noch am 11. und 12. erfasst. Dies hätte zur Konsequenz, dass die Erfassungsarbeiten vom 11. und 12. verloren wären. 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 zurücksetzt und die Wiederholungsläufe durchführt. 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 können 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 über DBALT eingelesen und die aktuellen Summendaten werden direkt angesprochen. 6. Variante: Gewöhnlich ist die Übernahme von Bestandswerten mit Anliefer- ungsart Bestand nur Monat für Monat zulässig. Durch Angabe von NMAXDAT in PCL1001 werden jedoch die zugehörigen Prüfungen deaktiviert. Werden nun bei der Einspeicherung Monate ausge- lassen, so wird das zeitliche Gültigkeitsintervall eines Werteinhalts vergrößert. Beispiel: Eingespeichert sind zu einer Schlüsselinhaltskombination zum Zeitaspekt 0103 100 Einheiten (Datum letzte Einspeicherung) und für 0303 zur gleichen Schlüsselinhaltskombination werden 200 Einheiten angeliefert. In diesem Fall liefert die Auswertung für 0103 und 0203 (!) als Ergebnis 100 Einheiten. Durch Angabe der Option BESTANDSUEBERNAHME ändert sich das Verhalten. Im selben Beispiel würde die Auswertung von 0203 0 Einheiten liefern. Ähnliches gilt, wenn in einem Lauf mehrere Zeitaspekte eingespeichert werden. Auch hier werden in den "zeitlichen Lücken" Null-Inhalte erzeugt. Bemerkung: Die Behandlung von bereits eingespeicherten Sätzen, die in der Schnittstelle nicht angeliefert werden, bleibt unbe- rührt. Diese (Alt-)Bestände werden weiterhin durch Null-Setzung der betreffenden Bestandswerte zeitlich abgeschlossen. Außerdem ist weiterhin die Anlieferung zu einem Monat nur einmal gestattet. Ablauf ohne Restart:
Dateibeschreibung:
Lfd.-Nr. | DD-Name/PGM LINK-Name |
Dateiname ASS-PC | Beschreibung |
---|---|---|---|
100 | //DBALT | $ASS/AG_SUM.EBC | Abzug der Summendatenbank Aktivieren für Variante 2 und Variante 5 Auf DUMMY setzen für Variante 1, Variante 3 und Variante 4 |
110 | //AE | $ASS/AE.DAT | Interne Schnittstelle aus PCL1001 |
120 | //DST001 //DST011 //DST012 //DST013 //DST002 //DST021 //DST022 //DST023 //DST003 //DST031 //DST032 //DST033 //DST007 //DST071 |
$ASSDB/DST001 - - - $ASSDB/DST002 - - - $ASSDB/DST003 - - - $ASSDB/DST007 - |
Werte-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Schlüssel-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Steuerungs-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Text-DB Primär-Index (nur DLI) |
130 | //ASSCI01 bis //ASSCI50 |
$ASSDB/ASSCVnn | Vortragsbestand der sequentiellen Verdichtungsstufen.
Nur die benötigten Dateien
müssen zugewiesen werden. Die letzten beiden Ziffern bezeichnen den Ort der Verdichtungsstufe. |
140 | //VORLAUF | $ASSVLK/T1002.VLK | Vorlaufkarte |
160 | - | - | LOGDATEI (nur DLI) |
170 | //ASSCO01 bis //ASSCO50 | $ASS/ASSCOnn | Fortschreibung der sequentiellen
Verdichtungsstufen. Nur die benötigten Dateien
müssen zugewiesen werden. Die letzten beiden Ziffern bezeichnen den Ort der Verdichtungsstufe. |
//AUSnn | $ASS/AUSnn | Ladebestand analog zu //AUS für Summendatenbanken von Verdichtungsstufen, die nicht in der direkt dem Arbeitsgebiet zugeordneten Summendatenbank gespeichert werden (verteilte Summendatenbanken) | |
190 | //LISTE | $ASSPTK/PCL1002.PTK | Ablaufprotokoll PCL1002 |
//ASSINFO | $ASS/ASSINFO.DAT | max. Satzlänge von VST's (falls angef.) | |
195 | //ASSUPD | $ASS/ASSUPD.DAT | Verzögerte UPDATE's |
196 | //ASSUPI | $ASS/ASSUPI.DAT | Verzögerte UPDATE's von PCL1001 |
230 | //DST110 //DST111 bis //DST600 //DST601 |
$ASSDB/DST110 ... | Summen-DB neu (FUER ARBEITSGEBIET 1) Index-DB neu (FUER ARBEITSGEBIET 1, DLI) bis Summen-DB neu (FUER ARBEITSGEBIET 50) Index-DB neu (FUER ARBEITSGEBIET 50, DLI) |
VORLAUFKARTE: IBM: Feste Satzlänge 80 Bytes ungeblockt, SIEMENS: Variable Sätzlange, mindestens 72 Stellen, hinten mit Blanks auffüllen, maximal 80 Stellen. Einträge sind ab Spalte 1 vorzunehmen. Mehrere Einträge werden durch Kommata getrennt. Es wird nur die erste Vorlaufkarte interpretiert. Mögliche Optionen:
Inhalt | Aktion |
---|---|
DATEI | Ausgabe auf Datei(en), UPDATE Steuerungs-DB. Ladebestand für PCL1013 beziehungsweise für das ADABAS-Ladeutility. |
HSSR | Ausgabe auf Datei(en), UPDATE Steuerungs-DB, wobei
diese Option die Option DATEI impliziert. Ladebestand für DL/I mittels DFSURGL0 oder einem vergleichbarem Produkt. |
HSSR8 | Diese Option impliziert die Option HSSR. Ladebestand für DL/I ab IMS Version 8, also ohne Kopfsatz und anderem Endesatz. |
BMC | Diese Option impliziert die Option HSSR. Ladebestand für DL/I mittels BMC Load Plus. |
DB2 | Diese Option impliziert die Option DATEI. Die Ausgabe erfolgt für 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, Prüfungen ausgeschaltet.
Ausgabe auf Datei(en) unter Windows nur bis 4 GB. |
NOPRUEF | UPDATE der Steuerungs-DB, Prüfungen ausgeschaltet, Ausgabe auf Datei(en) oder Summen-Datenbank(en) in Abhängigkeit von DIREKTSP. Ausgabe auf Datei(en) unter Windows nur bis 4 GB. Diese Option gilt nicht für DIREKTSP. |
NOPRUEF_DB |
UPDATE der Steuerungs-DB, Versionsprüfungen ausgeschaltet und
Ausgabe auf Summen-Datenbank.
Diese Option gilt nicht für DIREKTSP. |
NOCELET1 | CELET1 (Datum der letzten Einspeicherung) in SST021CO zunächst 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 |
NOKOPFPRUEF | Versionsprüfung ausgeschaltet für DIREKTSP. |
KORR | Korrekturlauf, ermöglicht es, Bestandswerte, die als Bestand angeliefert werden, zu korrigieren, auch wenn Wertedatum < CELET1 ist. |
NUPDAT | Änderungen, die normalerweise auf die Steuerungs-DB durchgeführt worden wären, in die Datei ASSUPD stellen, um diese Änderungen mit dem Programm PCL1032 später auf die Steuerungs-DB spielen zu können. |
VST_ERGAENZ | Dieser Inhalt ist nur im Zusammenhang
mit Reorganisationsmaßnahmen mit
Hilfe des Programms PCL1011 sinnvoll.
Wurden von PCL1011 zusätzliche
Verdichtungsstufen erzeugt, so
enthält die interne Schnittstelle
die neuen Verdichtungsstufen, die von
PCL1002 additiv verarbeitet werden,
d.h. die neuen Verdichtungsstufen
werden in die Summendatenbank(en) dazugeladen
oder auf seq. Datei(en) ausgegeben
(als Input für PCL1013, je nach
Vorlaufkartensteuerung) oder
es entstehen neue sequentielle Verdichtungsstufen.
Die Versionsnummer des betreffenden
Arbeitsgebietes wird in diesem Fall
nicht fortgeschrieben.
Unter Linux/Unix/Windows ist dies nicht empfehlenswert. Eine Folgeeinspeicherung ist die bessere Wahl. |
CHKP_PRIVAT | „private“ Checkpoint-Schreibung (siehe weiter unten). |
V_ABGLEICH = AGNR | Abgleich von Vorgabewerten (Plandaten) unter Angabe der Nummer des Arbeitsgebiets. (siehe weiter unten). |
E_ABGLEICH = AGNR | Abgleich von Erfasswerten unter Angabe der Nummer des Arbeitsgebiets. (siehe weiter unten). |
LADEN | Laden der Summendatenbank(en) nach den Dienstprogrammen PCL1042 , PCL1051 und PCL1058 (Variante 1.B) |
BESTANDSUEBERNAHME | Steuerung der Übernahme von Bestandswerten mit Anlieferungsart Bestand |
ASSINFO | Ausgabe der maximalen Satzlänge von Verdichtungsstufen auf die Datei ASSINFO. |
ASSINFO_CSV | Wie ASSINFO, Felder werden durch Semikolon getrennt. |
ASSINFO_KOPF | Wie ASSINFO_CSV, mit Kopfsatz (Überschrift). |
DOPPELT_WERT | Verarbeitung von internen Schnittstellen, die von PCL1011 mit dieser Option erzeugt wurden. |
DOPPELT_DIR | Verarbeitung von internen Schnittstellen, die von PCL1011 mit dieser Option erzeugt wurden. |
FB | Verarbeitung von internen Schnittstellen, die im festgeblockten Format vorliegen. Ber Summen-DB-Abzug wird dabei auch im festgeblockten Format erwartet. |
Beispiele: NOCELET1 NUPDAT DATEI,NOCELET1 NOPRUEF NOPRUEF,NOCELET1 SONST DIREKTSP V_ABGLEICH=44 E_ABGLEICH=44 Bei aktivem Arbeitscache muss nach erfolgter Einspeicherung das PCL1046 laufen, da sonst die Auswertung nicht auf die aktualisierten Daten zugreift. Wurden bei der Einspeicherung auch Schluesselausprägungen ergänzt, so muss bei aktiven Schluesselcaches außerdem noch PCL1089 laufen. „Private“ Checkpoint-Schreibung (PCL1002) Checkpoints werden mit dem Programm MCL0699 geschrieben. Checkpoints werden nur dann geschrieben, wenn in der betreffenden Installation MCL0699 dafür ausgelegt ist. Die Checkpoint-Schreibung ist nur bei einem direkten UPDATE der Summendatenbank möglich, also bei gewähltem Parameter 'DIREKTSP' in der Vorlaufkarte. Die Aktivierung erfolgt dann über den weiteren Parameter 'CHKP_PRIVAT' in der Vorlaufkarte. Checkpoints können nach Zugriffen auf die Summendatenbank geschrieben werden. Unterstützung von BMC Load Plus und Unload Plus für DL/I Mit der Option BMC wird die Summendatenbank nicht direkt geladen, sondern ein Ladebestand erzeugt, der mit Load Plus anschließend geladen werden kann. Der Ladebestand für Load Plus ist identisch mit dem sogenannten HSSR-Format für das Utility DFSURGL0, außer 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, außer 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. Besonderheiten für Windows/Linux Neue Verdichtungsstufen können nicht direkt in einem Schritt auf der Summendatenbank ergänzt werden. Beim Aktivieren der Option VST_ERGAENZ erzeugt PCL1002 immer einen Ladebestand auf Datei ($ASS/AG_SUM.UPD bzw. $ASS/AUSnn). Die Dateien mit den Ladebeständen enthalten immer nur die Summensätze der entsprechenden neuen Verdichtungsstufen. Mit dem Programm PCL1013 (Option VST_ERGAENZ) muessen die neuen Verdichtungsstufen dann nachträglich auf die Summendatenbanken gebracht werden. Verteilen sich die zu ergänzenden Verdichtungsstufen auf mehrere Summendatenbanken, so erstellt PCL1002 bei den Optionen DATEI und VST_ERGAENZ unter Umständen mehrere Dateien. In der Datei $ASS/AG_SUM.UPD stehen dann die neuen Verdichtungsstufen für die primäre Summendatenbank. Für jede betroffene sekundäre Summendatenbank (Dummy-Arbeitsgebiet) stellt PCL1002 die neuen Verdichtungsstufen in die Dateien $ASS/AUSnn. (nn = Ort der aktiven Verdichtungsstufe) Diese Dateien müssen vor dem Laden mit PCL1013 immer in $ASS/AG_SUM.UPD umbenannt werden und das jeweilige nn muss in der Vorlaufkarte von PCL1013 als Arbeitsgebietsnummer erscheinen. Dabei empfiehlt es sich, zuerst die Datei mit dem Ladebestand für die primäre Summendatenbank zu verarbeiten. Danach kann man nacheinander die Ladebestände für die sekundären Summendatenbanken einspielen. Da PCL1013 immer nur eine Eingabedatei verarbeiten kann, müssen die Dateien $ASS/AUSnn jeweils in $ASS/AG_SUM.UPD umbenannt werden. Enthält das Arbeitsgebiet sequentielle Verdichtungsstufen, so müssen diese unter dem Namen $ASSDB/ASSCVnn im Datenbankverzeichnis $ASSDB zu finden sein. Genaue Namenskonvention: Arbeitsgebietsnummer (=Ort der Verdichtungsstufe) Name nn = 01,...,99 ASSCVnn 100 ASSCV00 nnn = 101-200 ASSCnnn Erfolgt bei der Einspeicherung eine Fortschreibung oder Neuanlage von sequentiellen Verdichtungsstufen, so stehen diese nach Ablauf von PCL1002 im Stammverzeichnis von ASS-PC unter dem Namen $ASS/ASSCOnn (nn wie oben). Erst wenn der Programmlauf von PCL1002 für richtig befunden wurde, sollten die neu erstellten sequentiellen Verdichtungsstufendateien $ASS/ASSCOnn in $ASS/ASSCVnn umbenannt werden (nn muss dabei selbstverständlich erhalten bleiben). Danach muss man die Dateien aus dem Stammverzeichnis $ASS in das Datenbankverzeichnis $ASSDB stellen, wo sie dann für die Auswertung verfügbar sind. PCL1002 gibt die aktuelle Anzahl der Folgedateien der jeweiligen Summendatenbank ins Protokoll und in die Datei ASSINFO.DAT aus, jeweils unter dem Begriff „FILE“. Somit kann leichter kontrolliert werden, wie nahe man der Obergrenze bereits gekommen ist. In ASSINFO.DAT steht bei jeder Verdichtungsstufe die nach deren Verarbeitung aktuelle Anzahl, d.h. die endgültige Anzahl ist die im letzten Satz. Die Obergrenze ist mit ASS 8.10 von 20 auf 40 (SST2264) vergrößert worden.
Mit PCL1013 werden die von PCL1002 geschriebenen Summendaten
(Datei "AUS" bzw. "AUSnn") in die betreffende Summendatenbank
geladen.
Dateibeschreibung:
DD-Name/PGM LINK-Name |
Dateiname ASS-PC | Beschreibung |
---|---|---|
//DST001 //DST011 //DST012 //DST013 //DST002 //DST021 //DST022 //DST023 //DST003 //DST031 //DST032 //DST033 //DST007 //DST071 |
$ASSDB/DST001 - - - $ASSDB/DST002 - - - $ASSDB/DST003 - - - $ASSDB/DST007 - |
Werte-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Schlüssel-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Steuerungs-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Text-DB Primär-Index (nur DLI) |
//ASSCO | $ASSVLK/T1013.VLK | Vorlaufkarte |
//LADE | $ASS/AG_SUM.UPD | Ladebestand |
//LADEFB | $ASS/AG_SUM.UPD | Ladebestand festgeblockt (Option FB) |
//LISTE | $ASSPTK/PCL1013.PTK | Ablaufprotokoll PCL1002 |
//DST110 //DST111 bis //DST600 //DST601 |
$ASSDB/DST110 ... | Summen-DB neu (FUER ARBEITSGEBIET 1) Index-DB neu (FUER ARBEITSGEBIET 1, DLI) bis Summen-DB neu (FUER ARBEITSGEBIET 50) Index-DB neu (FUER ARBEITSGEBIET 50, DLI) |
In der Vorlaufkarte muss angegeben werden, für welche Summen- datenbank ein Ladelauf durchgeführt werden soll. Inhalt: AGNR=nn, wobei 01 <= nn <= 300 (bzw. <= Maximalzahl zulässiger 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 für IBM/MVS: //ASSCO DD * AGNR=17 Beispiel für SIEMENS/BS2000: /FILE dateiname,LINK=ASSCO wobei die Datei mit Dateiname einen Satz mit dem Inhalt AGNR=17 enthält. PCL1013 kann benutzt werden, wenn eine Summendatenbank vollständig 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 vollständiger 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 also gelöscht 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-Systemabhängigen 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 übersetzt und gelinkt werden. Vorlaufkarte: Werden Summensätze geladen, die von einem anderen Betriebssystem stammen als dem, unter dem PCL1013 läuft, so ist es u. U. erforderlich, dass der Kopfsatz der Summendaten an einen anderen Code (Translation) angepasst wird. Hierfür stehen folgende Optionen bereit: BS2000_ANSI : Übersetzen von BS2000-EBCDIC nach ANSI (Unix) MVS_ANSI : Übersetzen von MVS-EBCDIC nach ANSI (Unix) Im Kopfsatz müssen 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 für Windows und Unix. Mit der Option FB wird festgelegt, dass die Summensätze aus einer Datei mit fester Satzlänge von 80 Byte gelesen werden sollen. Dies ist insbesondere bei Migrationen erforderlich: Summensätze werden am Host mit PCL1124 und der Option FB auf eine Datei mit fester Satzlänge von 80 Byte abgezogen, anschließend 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 vollständige
sequentielle Lesen dieser Summendatenbank und das Schreiben
aller Segmente (Sätze) in eine sequentielle Datei verstanden.
Bei DLI-Datenbanken gibt es ein Utility (HSSR), das sehr schnell
Datenbanken abziehen kann.
Steht HSSR nicht zur Verfügung, können Summendatenbank-Abzüge
mit dem Programm PCL1024 oder dem Programm PCL1124
oder dem DLI-Utility DFSURGU0 durchgeführt 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 Summensätze
zu Arbeitsgebieten abzuziehen, die auf mehrere Summendaten-
banken verteilt sind. In diesem Fall muss es auch benutzt werden.
Für die Folgeeinspeicherung empfiehlt es sich, stets PCL1124 statt
PCL1024 zu verwenden.
Summendatenbank-Abzüge werden vom Programm PCL1002 bei den
Varianten 2 und 5 benötigt (siehe 2.2).
Vorlaufkarte:
In der Vorlaufkarte gibt man ab Spalte 1
AGNR=nn
an, wobei nn die Nummer des Arbeitsgebiet ist, dessen
Summendatenbank abzuziehen ist.
Hinweis für Siemens:
Werden Summendaten während 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 Öffnen einer Datei). Auswertungen anderer
Arbeitsgebiete sind möglich. 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 können mehrere Summendatenbanken zugeordnet
sein. Für jede Verdichtungsstufe mit Art ' ' (aktiv) oder '3'
(nicht aktiv) wird die zugehörige Summendatenbank durch den Ort
definiert.
Mit PCL1124 ist es nun möglich, alle Summendatenbanken, die zu
einem Arbeitsgebiet gehören, 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 erfüllen:
a) Die Art muss ' ' oder '3' oder 'J' (Relation) sein.
b) Die Anzahl der Sätze (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 enthält.
Verdichtungsstufen, die diese Kriterien nicht erfüllen oder gar
nicht im Arbeitsgebiet definiert sind, sich aber auf einer Summen-
datenbank befinden, werden überlesen.
DD-Name/PGM LINK-Name |
Format | Dateiname ASS-PC | Beschreibung |
---|---|---|---|
//ASSCO | FB 80 | $ASSVLK/T1024.VLK $ASSVLK/T1124.VLK | Vorlaufkarte |
//DST002 | $ASSDB/DST002 | Schlüsseldatenbank | |
//DST003 | $ASSDB/DST003 | Steuerungsdatenbankdatenbank | |
//DSTxxx | $ASSDB/DSTxxx | Summendatenbanken, die abgezogen werden sollen | |
//AUS | VB 10039 | $ASS/AG_SUM.EBC | Summendatenbank-Abzug |
//AUS2 | VB 10039 | $ASS/AG_SUMS.EBC | Summendatenbank-Abzug für die zu auszulagernden sekundären Summendatenbanken(s.u.) |
//LISTE | FBA 133 | $ASSPTK/PCL1024.PTK $ASSPTK/PCL1124.PTK | Protokoll |
Optionen werden durch Kommata getrennt, Blanks werden überlesen, Semikolon bedeutet das Ende der Eingabe, nach dem Gleichheitszeichen muss eine numerische Eingabe kommen. Nur die ersten 72 Zeichen werden berücksichtigt.
Option | Bedeutung |
---|---|
AGNR = xx | Arbeitsgebietsnummer ist xx, muss angegeben werden und zwischen 1 und CARNR_MAX (definiert im Include SST1127) liegen. |
NUR_AKTIV | Nur aktive Summendatenbanken werden abgezogen, d.h. Summendatenbanken, die mindestens eine aktive Verdichtungsstufe enthalten. |
FB | Es wird ein Abzug im festgeblockten Format erstellt |
FBKO | Es wird ein Abzug im festgeblockten Format erstellt, und die Daten enthalten zusätzlich einen HSSR-Kopfsatz und ein HSSR-Präfix vor jedem logischen Datensatz. |
LEER | Es wird ein leerer Abzug erstellt. |
CHECK | Summensätze prüfen (nur PCL1124). |
Beispiel: AGNR = 13 , NUR_AKTIV Stillgelegte Verdichtungsstufen verlagern PCL1124 Stillgelegte Verdichtungsstufen, die in der primären Summen- datenbank gespeichert sind, belasten u.U. die Folgeein- speicherung. Sie müssen bei jeder Folgeeinspeicherung (nicht DIREKTSP) abgezogen und wieder neu geladen werden. Befinden sich jedoch stillgelegte Verdichtungsstufen auf einer sekundären Summendatenbank und in der betreffenden Summendatenbank befinden sich nur stillgelegte Verdichtungsstufen, so können Folgeeinspeicherungen ohne Entladen/Laden dieser Verdichtungs- stufen durchgeführt werden. Es leuchtet sofort ein, dass hierdurch Einsparungen bei der Folgeeinspeicherung erzielt werden können. Mit Hilfe von PCL1124 steht ein Verfahren zur Verfügung, um stillgelegte Verdichtungsstufen von der primären Summen- datenbank auf sekundäre Summendatenbanken zu verlagern. In der Vorlaufkarte von PCL1124 wird angegeben, welche stillgelegten Verdichtungsstufen verlagert werden sollen und wohin. Es stehen hierfür zwei Möglichkeiten zur Verfügung: VDST nr1 > ort (Mehrfachangabe) oder VDST_STILL > ort (Einzelangabe) Mit der ersten Methode können eine oder mehrere stillgelegte Verdichtungsstufen mit den Nummern nr1 auf eine sekundäre Summendatenbank mit dem Ort ort verschoben werden und mit der zweiten Methode können sämtliche stillgelegten Verdichtungsstufen auf eine sekundäre Summendatenbank verschoben werden. Es können nur Verdichtungsstufen mit mindestens einem Satz von der primären Summendatenbank auf eine sekundäre Summendatenbank verschoben werden. Bei der Mehrfachangabe muss bei allen zu verlagernden Verdichtungsstufen der gleiche Ort angegeben werden. PCL1124 erzeugt zwei Abzugsdateien, AUS für die primäre Summendatenbank und AUS2 für die sekundäre Summendatenbank. Die erforderlichen Änderungen der Steuerungsdatenbank (Ort der stillgelegten Verdichtungsstufen anpassen und ev. ein DUMMY-Arbeitsgebiet anlegen) werden zunächst auf die Datei ASSUPD ausgegeben. Sie müssen zum Schluss noch mit PCL1032 auf die Steuerungsdatenbank gespielt werden (verzögerte Update). Die Abzugsdateien können mit PCL1083 zum Beispiel für PCL1013 (ISAM) oder das DB2-Loadutility konvertiert werden. Anschließend werden die einzelnen Summendatenbanken geladen. Damit haben PCL1124 und PCL1083 nur lesenden Zugriff und das Arbeitsgebiet muss nur für PCL1032 und das Laden der einzelnen Summendatenbanken gesperrt werden. Vereinfachter Ablaufplan:
Beispiel: AGNR = 13 VDST 31 > 122 VDST 32 > 122 Die beiden Verdichtungsstufen 31 und 32 des Arbeitsgebiets 13 sollen auf den Ort 122 (sekundäre Summendatenbank) ausgelagert werden. CHECK Mit der Vorlaufkartenoption „CHECK“ werden bei einem Abzug die Summendaten zusätzlich auf Konsistenz geprüft, u.a.: - Datenbank-Keys (d.h. Schlüsselinhalte) der Summensätze sind aufsteigend - Werte-/Zeitraum-Paare innerhalb eines Satzes aufsteigend - Tag darf nur bei Tagesarbeitsgebieten gesetzt sein Tritt hier ein Fehler auf, bricht das Programm ab.
Wie bereit serwähnt, kann man PCL1001, PCL1002 oder PCL1011 so laufen lassen, dass keine DB-Änderungen durchgeführt werden. Die erforderlichen Änderungen in der Steuerungs-DB werden dann nicht direkt auf die Steuerungs-DB geschrieben, sondern in die Datei ASSUPD. Die Änderungsanweisungen aus der Datei ASSUPD müssen dann zeitlich verzögert mit dem Programm PCL1032 nachgetragen werden. Die Änderungsanweisungen bestehen hauptsächlich aus der Änderung der Versionsnummer der Summendatenbank und der Anzahl der Sätze pro Verdichtungsstufe (Eintrag auf der Steuerungsdatenbank). Unter Windows/Linux erstellen die Programme PCL1001, PCL1002 und PCL1011 die Datei fuer die Updates alle unter dem gleichen Namen: $ASS/ASSUPD.DAT. Laufen die genannten Programme hintereinander ab, z.B. PCL1001 (Option NUPDAT) gefolgt von PCL1002 (Option NUPDAT), so muss zwischendurch immer PCL1032 laufen, da sonst das Nachfolgeprogramm die Updatedatei $ASS/ASSUPD.DAT ueberschreibt. 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 ist nur im Zusammenhang mit dem Protokoll-Arbeitsgebiet sinnvoll (Siehe hierzu HSYSDOK). Sie sollte standardmäßig auf Dummy gesetzt werden.
Auswertungen im BATCH werden von dem Programmen PCL1016 durchgeführt.
Bei Adressraumproblemen siehe Handbuch INSTALLATION,
Area-Einstellungen für PCL1016.
PCL1016 wertet die Anforderungsdatenbank DST004 aus.
PCL1003 führt Anforderungen, die in der ASS-Anforderungs-
sprache erstellt wurden, aus. Das kann aber auch über PCL1016
mit der Option KARTE geschehen, deshalb ist PCL1003 als veraltet
anzusehen, und nicht mehr zu empfehlen.
Viele der unten angegebenen Optionen stehen nur für PCL1016
zur Verfügung.
Jede Anforderung wird für 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 für 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
zusätzlich eine weitere Workdatei ( Workdatei 3 ) für
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 großen Anforderungen nicht alle GESAMT-Werte im
Arbeitsspeicher vorgehalten werden können. 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 Datenflusspläne der
Auswertung dargestellt.
Die BATCH-Auswertung kann hinsichtlich Rechenzeit,
Zugriffszahlen, Listgrößen etc. durch Vorlaufkarten
beeinflusst werden. Dies ist im Anschluss an die
Ablaufpläne beschrieben.
Ablauf:
Dateibeschreibung:
Lfd.-Nr. | DD-Name/PGM LINK-Name |
Dateiname ASS-PC | Bezeichnung |
---|---|---|---|
100 | DUPV1 | - | Anlegen temporäre Workdatei 1 (im BS2000 nur ein FILE-Kommando) |
112 | DUPV2 | - | Anlegen temporäre Workdatei 2 (im BS2000 nur ein FILE-Kommando) |
110 | //WORK1 //WORK1 //WORK2 //WORK2 |
$ASSWK/WORKnn | Temporäre Workdatei 1 (Ausgabe) -"- 1 (Eingabe) IBM: RecFm=VB, LRecl=6006 SNI: mindestens Standardblockung 3 Temporäre Workdatei 2 (Ausgabe) -"- 2 (Eingabe) IBM: RecFm=VB, LRecl=6006 SNI: mindestens Standardblockung 3 |
114 | DUPV3/4/5 | - | Anlegen temporäre Workdatei 3, 10 ,11 (im BS2000 nur ein FILE-Kommando) |
115 | //WORK3 //WORK3 //WORK10 //WORK10 //WORK11 //WORK11 |
$ASSWK/WORKnn | Temporäre Workdatei 3 (Ausgabe) -"- 3 (Eingabe) Temporäre Workdatei 10 (Ausgabe) -"- 10 (Eingabe) Temporäre Workdatei 11 (Ausgabe) -"- 11 (Eingabe) IBM: RecFm=VB, LRecl=6006 SNI: mindestens Standardblockung 3 |
120 | //DST001 //DST011 //DST012 //DST013 //DST002 //DST021 //DST003 //DST031 //DST032 //DST033 //DST004 //DST041 |
$ASSDB/DST001 - - - $ASSDB/DST002 - $ASSDB/DST003 - - - $ASSDB/DST004 - |
Werte-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Schlüssel-DB Primär-Index (nur DLI) Steuerungs-DB Primär-Index (nur DLI) Sekundär-Index 1 (nur DLI) Sekundär-Index 2 (nur DLI) Anforderungs-DB Primär-Index (nur DLI) |
130 | //DST110 //DST111 bis //DST610 //DST611 usw. |
$ASSDB/DST110 ... | Summen-DB (Für Arbeitsgebiet 1) Index-DB (Für Arbeitsgebiet 1, nur DLI) bis Summen-DB (Für Arbeitsgebiet 50) Index-DB (Für Arbeitsgebiet 50, nur DLI) |
140 | //ASSCV01 bis //ASSCV50 |
$ASSDB/ASSCVnn | Externe Verdichtungsstufen. Nur die
benötigten Dateien müssen zugewiesen
werden. Die letzten beiden Ziffern bezeichnen den Ort der Verdichtungsstufe. |
145 | //DST009 oder //DST009 //DST091 oder //DST600 oder entsprechende ADABAS-Files | $ASSDB/DST009 | Security-Datenbank |
150 | //KARTEI | $ASSVLK/KARTEI.VLK | In ASS-Anforderungssprache formulierte Listanforderung (Option KARTE) |
- | //KARTE | $ASSVLK/KARTE.VLK | In ASS-Anforderungssprache formulierte Listanforderung (PCL1003), in PCL1016 Workdatei) |
- | //KARTEO | $ASSVLK/KARTEO.VLK | Workdatei |
151 | //ASSCO | $ASSVLK/T1016.VLK(T1003.VLK) | Vorlaufkarte |
152 | //ASSDATE | $ASSVLK/ASSDATE.VLK | Bezugsmonat und Anforderungsvariable |
- | //ASSALIA | $ASS/ASSALIA | Anforderungen, die nicht ausgeführt werden sollen |
//ASSCO | $ASSVLK/T1016.VLK | Vorlaufkarte | |
170 | //SORTWK01 bis //SORTWKnn //SORTWK1 bis //SORTWKn |
$ASSWK/SORTNN | Sortwork-Bereich01 - bis > IBM Sortwork-Bereichnn - Sortwork-Bereich1 - bis > SIEMENS Sortwork-Bereichn - |
180 | //LISTE //LISTE01 . . . //LISTE10 |
$ASSPTK/LISTE.PTK $ASSPTK/LISTEnn.PTK | Auswertung auf Liste |
190 | $ASS/LDAT | //LDAT | Auswertung auf eine seq. Datei, auf DUMMY Setzen und auf Anforderung aktivieren. |
200 | //ASSALI | $ASS/ASSALI | Mit 'NUPDAT' ausgeführte Listanford., die Markierung der Listanforderung als ausgeführt kann über das Dienstprogramm PCL1012 nachgeholt werden. feste Satzlänge von 80 |
205 | //ASSVT | $ASS/MAILFB.EBC | Anforderungsergebnis für E-Mail-Versand aus sequentiele Datei, auf Dummy Setzen und bei Bedarf aktivieren |
210 | //PWORK | $ASS/PWORK | Ausgabe der Statistiksätze (Protokoll der Anforderung, installationsabhängig, s.u.) |
220 | //LISTDB | $ASS/LISTDB | Ausgabe der Datei für die Berichts-DB |
Die Datei ASSDATE Format: (siehe Include SST1122) IBM: Feste Satzlänge 80 Byte. SIEMENS: Variable Satzlänge 80 Byte. Die Beschreibung ist im Auswertungshandbuch unter dem Kapitel "Übersteuerungsmöglichkeiten in der Batchauswertung" enthalten. In dieser Datei muss der erste Satz linksbündig den gewünschten Bezugsmonat in der Form JJMM oder JJMMTT enthalten. Vorlaufkarten der BATCH-Auswertung: Vorlaufkarten werden über ASSCO eingelesen. Format: IBM: Feste Satzlänge 80 Byte. SIEMENS: Variable Satzlänge 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 für die unten aufgeführten Optionen reserviert und kann auch leer sein.
Inhalt | Bedeutung |
---|---|
MINUTEN=nnn | Begrenzung der Programmlaufzeit in Minuten je Anforderung |
ZEILEN=mmm | Begrenzung der Listgröße |
DRLIM=nnn | Begrenzung des Druckoutputs |
ZUGRIFFE=ooo | Begrenzung der Anzahl Zugriffe zu Summendatenbanken |
ANFORDERUNGEN=ppp | Begrenzung der Anzahl auszuführender Anforderungen |
ENDE=hhmm | Begrenzung der Programmlaufzeit durch einen festen Endezeitpunkt |
NUPDAT | Ausgeführte Anforderungen nicht markieren |
NUPDATPR | Ausgeführte Anforderungen nicht markieren |
NPRT | Von Anforderungen unabhängiges Protokoll unterdrücken |
ANALYSE |
Anforderungen nur überprüfen, nicht ausführen
Ausführungsdatums wird berücksichtigt nur PCL1016 |
ANALYSE_O_DAT |
Anforderungen nur überprüfen, nicht ausführen
Ausführungsdatums wird nicht berücksichtigt nur PCL1016 |
FEHLER_ANALYSE | Anforderungen nur überprüfen, nicht ausführen |
BIB=n | Selektion von Anforderungen, die ausgeführt werden sollen |
NULLEN | Bei nicht berechenbaren Formeln wird in die PC-Datei 0 ausgegeben |
KARTE | Anforderung(en) werden von KARTEI gelesen anstatt von der Anforderungsdatenbank |
LOESCHEN | einmalig auszuführende Anforderungen werden unabhängig vom Ausführungsdatum durch PCL1016-Lauf gelöscht |
NODEL | es werden keine Anforderungen gelöscht. |
IGNORE_ANF | Das PC-Format wird standardmäßig über die optionale PC-Anweisung der Anforderung und falls diese nicht existiert über die Bibliothek G, H, I oder J bestimmt. Mittels IGNORE_ANF wird die optionale PC-Anweisung ignoriert. |
NO_ASSDS | Beim Erzeugen von PC-Dateien wird grundsätzlich keine Beschreibungsdatei ASSDS erzeugt. |
EHB | Erzeugen Ladeformat für PCL1095 (Berichtsdatenbank) für die Anzeige von Berichten unter ASS-Excel und ASS-Internet. |
Ausgabe in sequentielle Datei für Folgeverarbeitung für die Versendung via E-Mail. Es werden nur Anforderungen ausgeführt, die einen entsprechenden Verteiler haben. Es kann zusätzlich maximal eins der Ausgabeformate HTML, PDF_HOCH oder PDF_QUER angegeben werden. Voreingestellt ist das normale Listenformat. | |
EMAIL_PLUS | Anforderungen mit Verteiler werden wie bei EMAIL behandelt. Anforderungen ohne Verteiler werden wie bei einem "normalen" Lauf von PCL1016 ausgeführt. |
HTML | Ausgabe des Anforderungsergebnis im HTML-Format, nur in Kombination mit Option EMAIL zulässig. |
PDF_HOCH | Ausgabe des Anforderungsergebnis im PDF-Format, nur in Kombination mit Option EMAIL zulässig. Hierbei werden die einzelnen Seiten für das Drucken im Hochformat vorbereitet. |
PDF_QUER | analog zu PDF_HOCH, allerdings werden hier die einzelnen Seiten für das Drucken im Querformat vorbereitet. |
DATEIERZEUGUNG | |
NO_GRU_EL_PROT |
Gruppierungen im Protokoll nicht auflösen
nur PCL1016 |
AREA_TEXTDB=1016nn |
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 Einschränkung der Programmlaufzeit. Nach der Prüfung der Anforderung wird ermittelt, wieviel Zeit die Abarbeitung der Anforderung voraussichtlich braucht. Zum anderen wird errechnet, wieviel Zeit noch zur Verfügung steht (Restlaufzeit = vorgegebene Zeit - verbrauchte Zeit). Reicht die Restlaufzeit aus, so wird die Anforderung ausgeführt. Andernfalls wird mit der nächsten 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 Höchstzeilenzahl. Diese Zeilenzahl errechnet sich aus dem Produkt der Anzahl Ausprägungen über alle Kopf- und Zeilenschlüssel. Beispiel: Folgende Anforderung sei gegeben: KS: ZEITRAUM=(0187,0287,0387); /* 3 Ausprägungen */ ZS: GESCHLECHT=(M,W), /* 2 Ausprägungen */ TARIF; /* der TARIF habe 100 Ausprägungen */ Dies ergibt 3 * 2 * 100 = 600 Zeilen. Gegen die so errechnete Zeilenzahl wird geprüft. Übersteigt diese Zeilenzahl das vorgegebene Limit, so wird die aktuelle Anforderung nicht ausgeführt. Es wird mit der nächsten Anforderung weitergemacht. DRLIM: Durch diesen Parameter kann der Druckoutput, der pro Anforderung entstehen kann, begrenzt werden. Während bei ZEILEN eine Schätzung durchgeführt wird und die Anforderung ev. überhaupt nicht ausgeführt wird, wird bei DRLIM gezählt, wie viele Druckzeilen pro Anforderung tatsächlich geschrieben werden. Wird der Grenzwert, der bei DRLIM angegeben ist, überschritten, dann wird in der betreffenden Liste am Ende ein entsprechender Hinweis geschrieben und kein weiterer Druckoutput für diese Anforderung erzeugt. Die betreffende Anfor- derung gilt als korrekt ausgeführt. ZUGRIFFE: Durch diese Angabe kann die Anzahl der Zugriffe zu Summendatenbanken limitiert werden, die für die Abarbeitung einer Anforderung maximal zulässig ist. Übersteigt die Anzahl das vorgegebene Limit, so wird die aktuelle Anforderung nicht ausgeführt. Es wird mit der nächsten Anforderung weitergemacht. ANFORDERUNDEN: Durch diese Angabe kann man die Anzahl der Anforderungen, die in einem Lauf ausgeführt werden, begrenzen. Gezählt werden nur die erfolgreich ausgeführten Anforderungen. NUPDAT: Normalerweise werden die Anforderungen, die von PCL1016 erfolgreich ausgeführt wurden, in der Anforderungs- datenbank als ausgeführt markiert. Dies hat zur Folge, dass PCL1016 nicht mehr ein rein lesendes Programm ist. Läuft PCL1016 beispielsweise nachts im operatorlosen Betrieb, und man möchte, dass PCL1016 nur liest, so kann das durch die Angabe NUPDAT erreicht werden. Die erforderlichen Änderungen werden dann in die Datei ASSALI geschrieben. Diese Änderungsanweisungen können dann zeitversetzt mit PCL1012 nachgetragen werden. NUPDATPR: Die Option entspricht im wesentlichen der Option NUPDAT. Alle Sätze der Datei ASSALIA werden nach ASSALI kopiert. Bevor eine Anforderung ausgeführt wird, wird geprüft, ob sie in der Datei ASSALIA enthalten ist. Hierdurch kann erreicht werden, dass das Programm PCL1016 mehrfach hintereinander ohne UPDATE ausgeführt werden kann, ohne dass eine Anforderung mehrfach ausgeführt 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 größer wird, sollte einmal täglich ASSALI mit PCL1012 in die Anforderungs-DB eingearbeitet werden. Hierbei wird ASSALI geleert. Elegant lässt sich die obige Situation mit GDG-Dateien lösen. Eine allerste Datei ASSALI erhält man, wenn man PCL1016 mit der Option NUPDAT ausführt. NPRT: Die Option bewirkt, dass die erste und letzte Seite des Protokolls unterdrückt wird. Wurden in einem Programm- lauf keine Anforderungen bearbeitet, so entsteht somit kein Output mehr. ANALYSE: Die Option bewirkt, dass die Anforderungen nicht voll- ständig ausgeführt werden. Die Anforderungen werden auf Syntax und Semantik überprüft und außerdem das Zugriffsverhalten auf die Summendatenbank und die Be- arbeitungszeit ermittelt. Es wird auch das entsprechende Protokoll erstellt. Nicht ausgeführt werden die Zu- griffe auf die Summendatenbank und es unterbleibt eine Aufbereitung der Liste. Mehrfachanforderungen, Join-Anforderungen und verkettete Anforderungen werden nicht analysiert. Es werden nur Anforderungen analysiert, die bezüglich des Ausführungsdatum (einmalig und periodisch) auch ausführbar wären. ANALYSE_O_DAT ignoriert das Ausführungsdatum. ANALYSE_O_DAT: Diese Option entspricht der Option ANALYSE, außer daß das Ausführungsdatum ignoriert wird. 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 Einschränkung der Programmlaufzeit. (hh = Stunden, mm = Minuten ) Mit der Option ENDE kann ein Zeitpunkt angegeben werden, über den das Programm nicht mehr mit der Abarbeitung von Anforderungen fortfahren soll. Der Endezeitpunkt errechnet sich aus dem aktuellen Tagesdatum und der über 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 erläutert folgendes Beispiel: Das Programm PCL1016 soll über Nacht laufen und wird am 30.06.14 um 22.00 Uhr mit der Vorlaufkarte ANFORDERUNGEN=100,ENDE=0230 gestartet. Das Programm darf also maximal bis zum 01.07.14 um 02.30 Uhr laufen. Wäre das Endedatum nicht vom 30. Juni auf den 01. Juli einen Tag weiter geschaltet worden, hätte das Programm überhaupt keine Anforderungen verarbeitet. Es bestehen folgende Unterschiede zur Option MINUTEN: - Das Kriterium, wann keine Anforderungen mehr ausgeführt werden, ist unabhängig von der Laufzeit der jeweiligen Anforderung. - Ist das Endekriterium erfüllt, wird nicht mit der nächsten Anforderung fortgefahren, sondern das gesamte Programm mit entsprechender Fehlermeldung abgebrochen. Die Abbruchgenauigkeit liegt bei etwa 5 Minuten. Standardeinstellungen: MINUTEN=10000 für PCL1003 MINUTEN=300 für 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 ausgeführt werden sollen, können nach dem Bibliothekstyp selektiert werden. BIB=E bedeutet, dass einmalig auszuführende An- forderungen ausgeführt werden. BIB=P bedeutet, dass periodisch auszuführende Anforderungen ausgeführt werden. Diese Option ist wahlfrei. Wird diese Option nicht angegeben, werden einmalige und periodische Anforderungen ausgeführt. BIB=G, ... , BIB=J sprechen installationsabhängige 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 müssen. Außerdem werden keine Updates auf die Anforderungsdatenbank durchgeführt. 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 werden die auszuführenden Listanforderungen anstatt von der Anforderungsdatenbank von der sequentiellen Datei KARTEI gelesen. Analog zum PCL1003 besteht die Einschränkung, dass keine verketteten oder Join-Anforderungen verarbeitet werden können. LOESCHEN: Diese Option bewirkt, dass bereits ausgeführte, einmalig auszuführende Anforderungen im angegebenen Namensintervall unabhängig vom Ausführungsdatum von der Anforderungsdatenbank gelöscht werden. NODEL: Diese Option bewirkt, dass bereits ausgeführte, einmalig auszuführende Anforderungen nicht von der Anforderungsdatenbank gelöscht werden, auch wenn dass das Ausführungsdatum lange zurückliegt. EHB: Diese Option bewirkt, dass Anforderungsergebnisse und -protokolle auf eine Ladedatei für PCL1095 ausgegeben werden. Damit stehen die Anforderungsergebnisse unter ASS-EXCEL und ASS-Internet in einer Anforderungsbibliothek 'Z' zur Verfügung. Bemerkung: gleiches geschieht, wenn bei der Anforderung die Option LISTDB auf 'B' gesetzt wird. EMAIL: Diese Option bewirkt, dass nur Anforderungen ausgeführt 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 Empfänger (vergleiche HAUSWERT und HST09). Das Anforderungsergebnis kann folgende Formate haben - Liste: es wird nur die Liste versendet, keine Protokolle - PC-DATEI: gilt für Anforderungen auf einer der Sonderbibliotheken G, H, I, J oder für 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 ausgeführt werden soll und bei der bei korrekter Ausführung das Anforderungsergebnis in die Datei LDAT geschrieben wird, ein "fehlerhaftes" Ausführungsergebnis in die Datei LDAT geschrieben. Dieses "fehlerhafte" Ausführungsergebnis 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, 4.3 PCL1038. NO_GRU_EL_PROT: Enthält eine Anforderung Gruppierungen, so werden diese samt Inhalt im Protokoll ausgegeben, ebenso eventuell darin enthaltene Gruppierungen. Das kann mitunter viel Platz im Protokoll einnehmen, wodurch die Übersichtlichkeit leidet. Deshalb können Gruppierungsinhalte im Protokoll durch die Vorlaufkartenoption „NO_GRU_EL_PROT“ unterdrückt werden. Es werden dann nur die explizit in der Anforderung angesprochenen Gruppierungen ausgegeben, nicht deren Inhalte oder darin enthaltene weitere Gruppierungen. AREA_TEXTDB: Die Area-Einstellungen für PCL1016 werden standard- mäßig aus Satznummer 42 der Text-DB gelesen. Für Sonderläufe ist u.U. eine andere Einstellung günstiger. Diese können unter der bei AREA_TEXTDB angegebenen Satznummer angegeben werden. Siehe hierzu auch Handbuch HINSTALL. Beispiel: AREA_TEXTDB = 101601 Die Angaben bei AREA_TEXTDB überschreiben die Angaben der Satznummer 42, fehlende Angaben werden aus Satznummer 42 übernommen. Vorlaufkarten 2 bis N (N maximal 50): Diese Vorlaufkarten können Selektionskriterien für 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, ausgeführt. Im 2. Beispiel werden alle Anforderungen, deren Name im Intervall von A bis D liegt, ausgeführt. Existieren mehr als zwei Vorlaufkarten, so werden zuerst die Anforderungen aus der 2. Vorlaufkarte, dann die Anforderungen aus der 3. Vorlaufkarte usw. ausgeführt. Existiert nur die erste Vorlaufkarte, so werden alle Anforderungen, deren Ausführdatum erreicht ist, ausgeführt. ACHTUNG: Die angeforderten Namensmengen der Vorlaufkarten 2 bis N dürfen sich nicht überlappen, da es dann zu einer mehrfachen Ausführung einer Anforderung kommen könnte. Existieren Überlappungen, 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, über- steuert. Syntax/Beispiel: A - D, VERTEILER: HUGO Die Verteiler-Angabe wird durch ',' vom Anforderungs- intervall abgetrennt und durch das Schlüsselwort 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 */ Erklärungen zu LDAT Jede Datei beginnt mit zwei bis n Kopfsätzen und endet mit einem Endesatz. Im Endesatz wird gekennzeichnet, ob die betreffende Anforderung korrekt ausgeführt wurde: SA im Endesatz = 99 -> Anforderung korrekt ausgeführt SA im Endesatz = 98 -> Anforderung fehlerhaft ausgeführt, d.h. die Summen-Daten in der Datei LDAT zu der betreffenden Anforderung fehlen oder sind unvollständig. Gibt es in der aktuellen Anforderung Parameter mit Namen &&LDAT_SPn = ... , so werden die Parameterinhalte zu diesen Parametern in Sätzen mit SA = 20 und LFDNR = n ausgegeben. Jede "echte" Listenzeile wird mit Sätzen LDAT_SUSATZ1, LDAT_SUSATZ1_50, LDAT_SUSATZ2 oder LDAT_SUSATZ3 beschrieben. Sätze vom Typus LDAT_KOPF3 (altes Format, LDAT_ERWEITERT_V640 auf '0'b) und LDAT_KOPF5 beschreiben die Spaltenschlüssel. Hierbei werden die Aufbereitungsangaben aus der betreffenden Anforderung übernommen. 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 enthält der entsprechende Eintrag in SSTAB Blanks. Sätze vom Typus LDAT_KOPF4 dienen dazu, Formatbeschreibungen erstellen zu können. Sie werden in LDAT aufgenommen, wenn im Include SST1253 der Schalter LDAT_ERWEITERT auf '1'B gesetzt wurde. Sie werden zwischen die Sätze vom Typ LDAT_KOPF2 und vom Typ LDAT_KOPF3 bzw. LDAT_KOPF5 eingefügt. Das Karten-Format der Datei LDAT hat zur Konsequenz, dass diese Datei sehr groß werden kann. Via Text-Datenbank kann ein verdichtetes Lesen/Schreiben dieser Datei eingerichtet werden (siehe Hinstall). Um die Daten einzelner Anforderungen trennen zu können, wird am Ende der Daten einer Anforderung ein zusätzlicher Satz '<<<<< ENDE DER ANFORDERUNG >>>>>' eingefügt. Die Option SPTEXTPC Wird die Option SPTEXTPC gesetzt, so orientieren sich die Ausgaben auf die Datei LDAT stärker 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-, Zeilenüberschriften aus dem Listbild übernommen. - Bei Spaltenüberschriften werden die spaltenorientierten Spaltenüberschriften übernommen. Gibt es keine, so wird eine Spaltenüberschrift generiert. - Mit &&KSin unterdrückte Kopfschlüssel 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 Präsentation 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 */ Erklärungen zu LISTDB Jede Datei ist folgendermaßen organisiert: Zunächst kommt der Kopfsatz für die Anforderung. Die weiteren Sätze sind das Protokoll der Anforderung. Danach kommen die einzelnen Berichte zu der Anforderung, wobei vor jedem Bericht wieder ein Kopfsatz steht.
ASS bietet die Möglichkeit, 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 ladefähige sequentielle Datei ausgegeben werden (vgl. Kap. 3). In der Berichtsdatenbank vorhandene Berichte können im Online angezeigt werden. Damit können auch umfang- reichere Anforderungen, die Online nicht auswertbar sind, im Dialog angeschaut werden. Die Berichtsdatenbank wird auch benötigt, wenn mittels Empfängern/Empfängerlisten 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 können Berichte gedruckt, auf eine
sequentielle Datei abgezogen und/oder gelöscht werden.
Beim Drucken eines Berichts wird die entsprechende List-
(bzw. Protokoll-)klasse berücksichtigt. Außerdem
können mehrere Kopien gedruckt werden.
Die sequentielle Datei, auf die die Berichte abgezogen
werden, hat ladefähiges Format, d.h. sie kann später
wieder als Eingabedatei für 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 gelöscht, bei denen das Löschkenn-
zeichen gesetzt wurde oder bei denen das Löschdatum
abgelaufen ist.
Sind bei einem Bericht mehrere Verarbeitungskennzeichen
gesetzt worden, so arbeitet das Programm PCL1094 sie
in der Reihenfolge Drucken, Auslagern, Löschen ab.
Es besteht außerdem noch die Möglichkeit, den Lauf
von PCL1094 auf Teile der Berichtsdatenbank einzu-
schränken, indem man in Vorlaufkarten bis zu 10
Namensintervalle angibt. Während des Programmlaufs
werden dann nur die Berichte bearbeitet, deren Name in
den vorgebenen Intervallen liegt.
Es besteht weiterhin die Möglichkeit, nach Abarbeitung
des Verarbeitungskennzeichens aus der ST31, alle Berichte
eines angegebenen Namensintervalls aus der Berichts-
datenbank zu löschen. Hierzu ergänzt man bei der
betreffenden Intervallangabe in der Vorlaufkarte
,LOESCHEN. Überlappen sich Intervallangaben aus
Vorlaufkartenangaben, so erfolgt eine Löschung 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 löschen
ABLAUF:
Nr. | DD-Name | Dateiname ASS-PC | Beschreibung |
---|---|---|---|
1 | DSTnnn | $ASSDB/DSTxxx | Berichtsdatenbank |
2 | $ASSVLK/T1094.VLK | ASSCO | Vorlaufkarte |
3 | $ASS/LISTDB | LISTDB | sequentielle Datei für ausgelagerte Berichte |
4 | LISTE LISTE01 ... LISTE10 |
$ASSPTK/LISTE.PTK $ASSPTK/LISTEnn.PTK |
Listklassen |
5 | ASSLIST | $ASSPTK/PCL1094.PTK | Protokoll |
PCL1094 Die Option PAKET_LOESCHEN: Auf die Berichtsdatenbank werden auch Anforderungen und Listen gestellt, die für die paketierte Listausgabe benötigt werden. Durch die Option PAKET_LOESCHEN werden alle diese Listen und Anforderungen gelöscht, wenn sie bereits zu den Listpaketen verarbeitet wurden. Eine Einschränkung auf Namensintervalle ist nicht möglich. 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 müssen alle Dateizuweisungen wie oben beschrieben in der Jobcontrol erfolgen.
Mit dem Dienstprogramm PCL1095 können 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, können wieder zurückgeladen werden.
Da unter demselben Namen mehrere Berichte vorhanden
sein können, erhalten diese intern verschiedene
Bibliotheksnummern. Beim Laden wird die niedrigste
Nummer unter dem betreffenden Namen ermittelt und der
zusätzliche 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 für Berichte des
entsprechenden Namens anrät (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 zunächst ein alter gelöscht.
Gibt es mehrere alte Berichte unter demselben Namen,
so wird der mit der kleinsten Nummer (d.h. der jüngste
alte) gelöscht.
ABLAUF:
Nr. | DD-Name | Dateiname ASS-PC | Beschreibung |
---|---|---|---|
1 | DSTnnn | $ASSDB/DSTxxx | Berichtsdatenbank |
2 | LISTDB | $ASS/LISTDB | sequentielle Datei mit Ladebestand |
3 | ASSLIST | $ASSPTK/PCL1095.PTK | Protokoll |
4 | ASSCO | $ASSVLK/T1095.VLK | Vorlaufkarte |
Von dem Dienstprogramm PCL1095 kann in dem Ablaufproto- koll für Berichte mit einem bestimmten Namen eine Reorganisation angeraten werden. Diese Situation tritt dann auf, wenn für diese Berichte nicht mehr genügend freie (interne) Bibliotheksnummern zur Verfügung stehen. Da diese Nummern beim Laden fortlaufend vergeben werden und ältere Berichte wieder gelöscht werden, gibt es freie Bibliotheksnummern, die jedoch nicht von PCL1095 erkannt werden können. Durch die angeratene Reorganisation werden diese Lücken wieder geschlossen. Um dies zu erreichen, sind folgende zwei Schritte durchzuführen: 1. Schritt: Die betroffenen Berichte müssen alle von der Berichts-DB abgezogen und dort gelöscht werden. (In der Transaktion ST31 die entsprechenden Verarbei- tungskennzeichen setzen und anschließend 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 erfüllen ein großes Spektrum von Aufgaben. Ihre Behandlung würde den Rahmen dieser Dokumentation sprengen. Das Betreiben der Dienstprogramme wird daher in einem eigenen Handbuch BETRIEB II - Erweiterte Funktionen beschrieben.
Listanforderungen, die ausgeführt werden sollen, werden in der Datenbank DST004 gespeichert. Es gibt nun zwei Möglichkeiten, diese in DST004 festgehaltene Anforderung auszuführen. Der einfachste Weg ist die Ausführung über das Programm PCL1016, das unmittelbar auf DST004 zugreift. Daneben besteht die Möglichkeit, die Anforderung über das Programm PCL1012 auf eine sequentielle Datei abzuziehen, um sie dann über das Programm PCL1003 auszuführen. Dieses Verfahren ist jedoch nicht empfehlenswert, da PCL1003 nur "einfache" Anforderungen ausführen kann (keine verketteten Anforderungen, keine Join- Anforderungen, keine Mehrfach-Anforderungen).
Alle erforderlichen Datenbanken (siehe unten) müssen 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.8 |
DST100 DST101 DST110 DST111 . . . DST600 DST601 usw. |
siehe PSB PCL0031 und Handbuch 'Installation', Kap. 3.7 |
ADABAS muss aktiv sein und die erforderlichen ADABAS-Files müssen im JOB, in dem die Transaktion ST31 abläuft, zugeordnet sein, ST31 muss gestartet sein.
Die Isam-Dateien für die Datenbanken
DST001 DST002 DST003 DST004 DST005 DST006 DST007 |
DST110 . . . DST600 usw. |
Summendatenbanken |
Achtung: DST600 kann auch als Security-Datenbank installiert worden sein und wird dann benötigt, siehe Handbuch 'Installation', Kapitel 1.1 und 5.8 Von den Summendatenbanken müssen nur die tatsächlich benötigten 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 größer als 1, so muss mit ISAM SHARUPD=YES gearbeitet werden. Da i.a. jedoch nur wenige Benutzer mit der ST31 arbeiten, sollte überlegt werden, ob nicht ein Prozess ausreicht und auf SHARUPD=YES verzichtet werden kann, da ja SHARUPD=YES auch zusätzliche Betriebsmittel beansprucht.
Beim Einrichten eines neuen Arbeitsgebietes sind folgende Maßnahmen durchzuführen: - Schlüssellänge der Summendatenbank des neuen Arbeitsgebietes ermitteln (Summe der internen Längen aller verwendeten Schlüssel plus 2, oder Arbeitsgebiet mit PCL1006 dokumentieren lassen. Schlüssellänge wird dort ermittelt und im Protokoll ausgedruckt). - Summendatenbank in der erforderlichen Größe mit der oben ermittelten Schlüssellänge bereitstellen. Diese Aktivität 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 Maßnahmen erforderlich (natürlich nur für 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 Möglichkeit die Verdichtungsstufen eines Arbeitsgebiets nicht nur auf verschiedene sequentielle Dateien abzuspeichern, sondern zusätzlich auch auf mehrere Summendatenbanken aufzuteilen. Dabei wird zwischen der primären und den sekundären Summendatenbanken unterschieden. Die primäre Summendatenbank entspricht der optionalen bisherigen Summendatenbank. Verteilte Summendatenbanken bieten sich also bei sehr großen Datenbeständen an (Limitierung der physischen Größe einer Datenbank) und für stillgelegte Verdichtungsstufen die für 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 für ASS nicht mehr zur Verfügung steht, da dessen Summendatenbank als sekundäre Summendatenbank genutzt wird. Ist bei einer direkten Verdichtungsstufe kein gültiger Ort angegeben worden, so wird standardmäßig die primäre Summendatenbank angenommen. Schlüsselrelationen werden auf der primären Summendaten- bank abgespeichert. In Verbindung mit sequentiellen Verdichtungsstufen gibt es bezüglich verteilter Summendatenbanken keine Restriktionen. Bei der Auswertung (ST31 und PCL1016) gibt es für den Endbenutzer keine Besonderheiten, außer dass die sekundären Summendatenbanken den Anwendungen bekannt gemacht werden müssen. Bei der Einspeicherung und diversen Dienstprogrammen, die einen Summendatenbankabzug benötigen, ist zu beachten, dass dieser Abzug sämtliche Summendatenbanken des betreffenden Arbeitsgebietes enthält. 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 möglich, nur die Summendatenbanken abzuziehen, die mindestens eine aktive Verdichtungstufe enthalten. Da das Dienstprogramm PCL1124 wie PCL1024 nur eine sequentielle Abzugsdatei erzeugt, können 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 können. Werden in einem Lauf von PCL1002 mehrere Summendatenbanken verändert, so sollte nicht mit DIREKTSP gearbeitet werden. Wird auf eine zweite Summendatenbank zugegriffen, so wird vorher die erste geschlossen. Bricht danach das Programm PCL1002 ab, so können die Änderungen der ersten Summendatenbank nicht mehr zurückgesetzt werden. Im genannten Fall muss also auf eine vorher durchgeführte Sicherung zurückgegriffen 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 sekundären Summendatenbanken zu speichern, um insbesondere die Folgeeinspeicheurng zu entlasten. Siehe hierzu 2.4 Abziehen von Summendatenbanken.
Mit Hilfe von Statistik über Statistik soll es ermöglicht werden festzustellen, wer wann welche Elemente von ASS (Arbeitsgebiete, Schlüssel, Werte, Verdichtungsstufen ...) benutzt hat und wie stark die Nutzung der betreffenden Elemente überhaupt ist. Diese Nutzungsdaten werden in einem speziellen ASS-Arbeitsgebiet verwaltet und stehen somit der ASS-Auswertung zur Verfügung. ASS-Arbeitsgebiete werden über externe Schnittstellen gepflegt. Die Aufgabe von PCL1054 ist es, externe Schnitt- stellen für das Arbeitsgebiet für Statistik über Statistik zu erzeugen. Um auch feststellen zu können, welche Elemente von ASS wenig oder gar nicht benutzt werden, kann in das betreffende Arbeitsgebiet auch gespeichert werden, welche Elemente überhaupt zur Verfügung stehen. PCL1054 kennt daher zwei grundsätzlich verschiedene Arbeitsweisen: - Erzeugung von externen Schnittstellen, die die zur Verfügung stehenden Elemente von ASS enthalten (UMGEBUNG=DST003 bzw. UMGEBUNG=DST004, s.u.). - Erzeugung von externen Schnittstellen, die die Information enthalten, wer wann welche Anforderungen ausgeführt hat und wie oft (UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE, s.u.). Sollen Statistiken über Statistiken erzeugt werden, so müssen in bestimmten Zeitabständen mit Hilfe von PCL1054 die erforderlichen externen Schnittstellen erstellt und eingespeichert werden, um anschließend die gewünschten Auswertungen durchführen zu können. FUNKTIONSBESCHREIBUNG: UMGEBUNG=DST003 bzw. UMGEBUNG=DST004 Diese Optionen können jederzeit eingesetzt werden. Es wird eine externe Schnittstelle erzeugt, die die zur Verfügung stehenden Arbeitsgebiete, Schlüssel, Werte und Verdichtungsstufen (UMGEBUNG=DST003) bzw. die zur Verfügung stehenden Anforderungen, Anwendungen Schlüssel-Gruppierungen, Werte-Gruppierungen und Formeln enthält (UMGEBUNG=DST004). Die ASS-Zeit wird durch die Option MONAT= ... (s.u.) festgelegt. Es wird der aktuelle Zustand der DST003 bzw. DST004 abgebildet. Läufe von PCL1054 zu unterschiedlichen Zeitpunkten mit gleicher MONATsoption haben daher i.a. unterschiedliche externe Schnittstellen zur Folge. In der zugehörigen Summen-Datenbank werden die ermittelten Informationen aufkumuliert. Es ist also möglich zu erkennen, welche Elemente von PCL1054 bei irgendeinem Lauf von PCL1054 gefunden wurden. Es werden nur Arbeitsgebiete betrachtet, die eingespeichert sind und deren Prüfkennzeichen nicht auf NEIN steht. UMGEBUNG=ONLINE bzw. UMGEBUNG=BATCH Die Auswertung protokolliert, wer wann welche Anforderung ausgeführt hat (wenn diese Funktion aktiviert ist). Online ausgeführte Anforderungen werden in der DST004, im Batch ausgeführte Anforderungen werden in der Datei PWORK protokolliert. Diese Protokolle werden von PCL1054 gelesen und in externe Schnittstellen umgeformt. Ablauf:
LFD.-NR. | DD-NAME/PGM | Dateiname ASS-PC | BESCHREIBUNG |
---|---|---|---|
130 | //DST003 //DST031 //DST032 //DST033 | $ASSDB/DST003 | Steuerungsdatenbank (nur DLI) (nur DLI) (nur DLI) (nur Option 'DST003') |
140 | //DST004 //DST041 | $ASSDB/DST004 | Anforderungsdatenbank (nur DLI) (nur Optionen 'ONLINE' oder 'DST004') |
150 | //ASSCO | $ASSVLK/T1054.VLK | Vorlaufkarten |
180 | //LISTE | $ASSPTK/PCL1054.PTK | Protokoll und Fehlermeldungen |
500 | //ASSIN01 | $ASS/ASSIN01 | Externe Schnittstellensätze |
520 | //PWORK | $ASS/PWORK | Eingabe der im Batch geschriebenen Statistiksätze (nur Option 'BATCH') |
530 | //ASSFEHL | $ASS/ASSFEHL | Fehlerhafte Protokollsätze |
Die Datei PWORK: Die Behandlung der Datei PWORK ist im Handbuch 'INSTALLATION' beschrieben. Besonderheiten bei UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE: Werden Schnittstellensätze aus der Anforderungs-Daten- bank erzeugt, so werden die verarbeiteten Sätze aus der Anforderungs-Datenbank gelöscht. Läuft die Batch-Auswertung (PCL1003/PCL1016) über Mitternacht bei Monatswechsel (z.B. in der Nacht vom 31.8. zum 1.9.), so enthält 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 Fällen muss die betreffende Datei mehrfach von PCL1054 mit unterschiedlichen MONATsangaben in der Vorlaufkarte verarbeitet werden. Mengengerüst bei UMGEBUNG=BATCH bzw. UMGEBUNG=ONLINE: Die Protokollsätze enthalten in kompakter Form, wer was wann angefordert hat. Da aus Anforderungen verschiedene Statistiken über Statistiken versorgt werden können, kann die Anzahl der erzeugten Schnittstellensätze auch ziemlich groß werden. Diese Anzahl hängt von der Größe und Komplexität der Anforderung ab. Ein Verhältnis von 1:20 bis 1:50 dürfte am häufigsten vorkommen. Vorlaufkarte:
PARAMETER | BEDEUTUNG / AUSWIRKUNG |
---|---|
PROGRAMM=PCL1054 | Zur Kontrolle wird geprüft, ob die Vorlaufkarten-Datei zum Programm PCL1054 gehört. Diese Option muss angegeben werden. |
UMGEBUNG=ONLINE | Es werden die Protokollsätze von den Anforderungen, die in der Anforderungs-Datenbank stehen, verarbeitet |
UMGEBUNG=BATCH | Es werden die Protokollsätze 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 MONAT=AKT |
Die Angabe des Monats in der Form
JJMM gibt an, welche Protokollsätze
verarbeitet werden sollen.
Protokollsätze anderer Monate werden
überlesen. 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 | Zusätzlich zu der normalen Verarbeitung werden alle Protokollsätze auf der Anforderungsdatenbank, die vor dem zu verarbeitenden Monat liegen, bei Verarbeitung der Umgebung ONLINE gelöscht. |
USERID=SUBSTR (USERID,von,laenge) |
Die UserID wird ab der Position "von" in
der Länge "laenge" auf die externe
Schnittstelle ausgegeben. Falls dabei
nur Blanks übrigbleiben wird
stattdessen wie auch sonst die
Dummy-Ausprägung 000000000000
ausgegeben. Bspl.: SUBSTR(USERID,1,3) gibt nur die ersten drei Zeichen aus. |
Vorlaufkartenbeispiele
Erzeugung der externen Schnittstellensätze für die
Einträge des Monats September 1988 auf der
Anforderungsdatenbank:
PROGRAMM=PCL1054,UMGEBUNG=ONLINE,MONAT=8809
Erzeugung der externen Schnittstellensätze für die
Einträge der Batch-Programmläufe des Monats Juli 1988:
PROGRAMM=PCL1054,UMGEBUNG=BATCH,MONAT=8807
Erzeugung der externen Schnittstellensätze im Monat September
1988 für die Einträge der Online-Programmläufe des
Vormonats August 1988:
PROGRAMM=PCL1054,UMGEBUNG=ONLINE
Erzeugung der externen Schnittstellensätze im Monat September
1988 für die Einträge der Online-Programmläufe für den
Monat September 1988:
PROGRAMM=PCL1054,UMGEBUNG=ONLINE,MONAT=AKT
Erzeugung der externen Schnittstellensätze für die
zur Verfügung stehenden Arbeitsgebiete, Schlüssel, Werte
und Verdichtungsstufen
und für die zur Verfügung stehenden Anforderungen,
Anwendungen, Schlüsselgruppierungen, Wertegruppierungen
und Formeln:
PROGRAMM=PCL1054
UMGEBUNG=DST003
UMGEBUNG=DST004
MONAT=AKT
Falls eine Security-Lösung mittels der Online- Transaktion ST09 angestrebt wird, müssen die genannten Datenbanken für Online-Verarbeitung zugreifbar sein und die Transaktion ST09 gestartet sein (siehe Kap. 9.1 ff).
Die ASS-Security-Datenbanken müssen ONLINE zugreifbar sein, die Transaktion ST09 gestartet sein. DST007 DST071 DST009 DST091
ADABAS muss aktiv sein und die erforderlichen ADABAS-Files müssen im JOB, in dem die Transaktion ST09 abläuft, 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: - Prüfen auf formale Richtigkeit Als erstes wird die Anforderung daraufhin überprüft, ob sie formal richtig ist (z.B. sind Werte angefordert, sind die Zeiten richtig angefordert etc.). Diese Syntaxprüfung erfolgt im Programm MCL0016. - Prüfen auf logische Richtigkeit Im zweiten Schritt wird geprüft, ob die Anforderung logische Fehler enthält (Semantikprüfung). Gleich- zeitig werden interne Tabellen aufgebaut, in denen die benötigten Informationen über Schlüssel, Aus- prägungen, Werte, Zeiten etc. abgelegt werden. Diese Informationen müssen aus den Parameterdatenbanken gelesen werden. Dies kann bei größeren Arbeitsge- bieten und bei Massenschlüsseln zu einer großen An- zahl von Datenbank-Zugriffen führen und dadurch die Performance gerade bei Online-Auswertungen stark beeinträchtigen. Deswegen besteht die Möglichkeit, Arbeitsgebiets- und Schlüsselcaches einzurichten, die die Datenbankzugriffe reduzieren (siehe Kap. 10.3). Dafür ist das MCL0017 mit Unterprogrammen zuständig. - Verarbeitung der Summensätze festlegen Als nächstes wird die Verarbeitung der Summensätze festgelegt. Es wird bestimmt, welche Verdichtungs- stufen mit welcher Lesestrategie zu verarbeiten sind (siehe Kap. 10.3). Dies geschieht im MCL0008. - Lesen der Summensätze Weiter werden dann im MCL0009 die Summensätze gelesen und in eine interne Tabelle verteilt. Dabei werden nur die 'echten' Werteeinträge berücksichtigt. - Berechnungen durchführen 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, Abkürzung, Spaltenbreiten festlegen etc.) und ausgegeben (MCL0006).
Steht nicht mehr zur Verfügung.
ASS bietet dem Benutzer die Möglichkeit, sogenannte Schlüssel- oder Ausprägungscaches anzulegen. Diese Caches sind Massen- bzw. Sammelspeicher für die Aus- prägungen eines Schlüssels. Dementsprechend werden sie in der Schlüsseldatenbank (in den Segmenten SST015CK und SST016CL) abgelegt, und zwar sind sie dem Schlüssel logisch untergeordnet. Die Caches werden je nach der Informationsmenge, die sie enthalten, als kurzer und langer Cache bezeichnet. Schlüsselcaches sind bei Schlüsseln mit interner Länge 3 oder 4 nicht möglich. Das unten beschriebene Zugriffsverhalten auf Schlüsselausprägungen gilt nur für Schlüssel der internen Länge 1 oder 2. Bei Schlüsseln der internen Länge 3 oder 4 wird ganz anders zugegriffen. Der prinzipielle Aufbau der Caches sei nun am kurzen Cache beschrieben: In ihm wird nur der verdichtete Schlüs- selinhalt und der Schlüsselinhalt in variabler Länge zusammen mit einem Längenfeld abgespeichert. Im An- schluss folgen die entsprechenden Informationen der nächsten Ausprägung. Dies geschieht solange, bis die maximale Satzlänge des Segments erreicht wird. Die folgenden Ausprägungen werden dann im nächsten Segment abgelegt. Der lange Cache enthält darüber hinaus noch Informa- tionen über Inhaltsbezeichnung, Inhaltskurzbezeichnung, Gültigkeitsdaten und bei hierarchischen Schlüsseln die übergeordnete Ausprägung, teilweise auch wieder in verkürzter Form. Der prinzipielle Aufbau ist derselbe wie beim kurzen Cache. Die Caches dienen dazu, während einer Auswertung die Performance zu verbessern. Dies sei am besten an einem Beispiel erläutert: In manchen Situationen, wie z.B. bei der Behandlung von Ausprägungsmengen oder dem Auf- sammeln von Ausprägungen, müssen ohne den Cache sämt- liche Ausprägungen zu einem Schlüssel gelesen werden. Bei einem Schlüssel mit 20000 Ausprägungen (z.B. Kundennr.) sind also 20000 Lesezugriffe auf die Schlüs- seldatenbank nötig. Dieselbe Information kann aber unter Verwendung des (z.B.) kurzen Caches bereits in einigen hundert Sätzen der Schlüsseldatenbank abgelegt werden. Die Anzahl der Lesezugriffe zur Schlüssel- datenbank kann damit deutlich reduziert werden. Da bekanntlich Zugriffe auf eine Datenbank relativ viel Zeit brauchen, kann dadurch in kürzerer Zeit eine Auswertung ausgeführt werden. Dies macht sich insbe- besondere im Online-Betrieb positiv bemerkbar. Die Schlüsselcaches werden von ASS nicht automatisch gepflegt, d.h. der Benutzer muss selbst entscheiden, ob zu einem Schlüssel die Caches angelegt werden sollen. Bei Änderungen bei den Ausprägungen wird der zuge- hörige Cache ungültig. Ob Caches angelegt oder gelöscht werden sollen, wird ASS in der Transaktion ST06 mitgeteilt. (s. entsprechendes Handbuch). Diese Information wird in der Schlüssel- datenbank abgelegt. Die Caches müssen mit dem Programm PCL1089 angelegt bzw. gelöscht werden (s.u.). Das Einrichten eines Caches für einen Schlüssel lohnt sich praktisch nur, um Online-Auswertungen zu beschleunigen. Der Cache beschleunigt folgende Auswertungstypen: - es werden alle Ausprägungen angefordert. - es wird mit Ausprägungsmengen oder mit ?-Maskierung gearbeitet. Gibt es Änderungen bei den Ausprägungen, wird von ASS eine Kennzeichnung in der Schlüsseldatenbank mitge- pflegt, aus der ersichtlich ist, ob die Caches noch dem aktuellen Stand der Ausprägungen entsprechen. Diese Kennzeichnung kann ebenfalls über die Transaktion ST06 abgerufen werden. Sind die Caches nicht auf dem aktuellen Stand, so können sie wieder mit dem Programm PCL1089 aktualisiert werden. Wird also z.B. bei einem Schlüssel mit automatischer Ausprägungsergänzung gearbeitet, so empfiehlt es sich, nach jeder Folgeeinspeicherung PCL1089 laufen zu lassen.
FUNKTIONSBESCHREIBUNG: Mit dem Programm PCL1089 können Schüsselcaches erzeugt oder gelöscht werden. Die Information, ob zu einem Schlüssel Caches erzeugt bzw. gelöscht werden sollen, entnimmt das Programm der Schlüsseldatenbank (Segment SST011KY) (siehe auch Handbuch ST06). Ist das Kennzeichen auf 'T' oder 'A' gesetzt, so werden zu dem betreffenden Schlüssel der lange und der kurze Cache erzeugt. Beim Kennzeichen 'D' werden die Caches gelöscht. Außerdem wird die Kennzeichnung dem neuen Zustand der Caches angepasst. Es empfiehlt sich, PCL1089 immer dann laufen zu lassen, wenn sich in der Schlüsseldatenbank bei den Schlüs- selausprägungen etwas geändert hat. Dies ist in folgenden Fällen möglich: - bei Änderungen im Dialog mit Transaktion ST06 - bei Folgeeinspeicherungen - beim Zurückladen eines Arbeitsgebiets mit PCL1005 - beim Erfassen von Ausprägungen mit PCL1036 - beim Löschen von Ausprägungen mit PCL1055 - bei der Reorganisation der internen Schlüssel- inhaltsnummern mit PCL1058 ABLAUF:
Nr. | DD-Name | Dateiname ASS-PC | Beschreibung |
---|---|---|---|
1 2 | DST002 DST021 DST022 DST023 | $ASSDB/DST002 | Schlüssel-DB Primärindex 1. Sekundär- 2. index (nur DLI) |
3 | PROTO | $ASSPTK/PCL1089.PTK | Protokoll |
Der Cache für Arbeitsgebiete dient zur Verbesserung der Performance beim lesenden Zugriff auf die Steuerungsdatenbank im Rahmen der Auswertung. Die Optimierung wird dadurch erreicht, dass mehrere Sätze der Steuerungsdatenbank zu einem neuen Satz zusammengefasst werden. Dies wird durch das Dienstprogramm PCL1046 erledigt. Jede Änderung 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 täglich kurz vor Beginn des ONLINE-Betriebs neu mit PCL1046 erstellt werden. Zur Zeit ist der Cache für Arbeitsgebiete nur in einer DLI-, DB2- oder VSAM-Installation verfügbar. Bei PC-Isam(Windows) wird standardmäßig mit dem Cache für Arbeitsgebiete gearbeitet. Der Cache für Arbeitsgebiete liegt physisch auf der SPA-Datenbank (DST005) und wird dort von dem Dienstprogramm PCL1046 aktualisiert. Im Cache werden die verwendeten Schlüssel, Verdichtungsstufen, Werte und gegebenenfalls der Schlüsselausschluss gespeichert. Da der Cache pro Arbeitsgebiet in der Größe beschränkt ist, listet das Dienstprogramm PCL1046 zu jedem Arbeitsgebiet an, zu welchem Prozentsatz der Cache gefüllt ist. Ist für ein geprüftes Arbeitsgebiet der Cache zu klein, so bricht das Programm mit einer entsprechenden Meldung ab und ab diesem Arbeitsgebiet einschließlich ist der Cache nicht mehr vorhanden. Im Handbuch "Installation" ist beschrieben wie die Größe des Cache berechnet werden kann und wie er gegebenenfalls vergrößert werden kann. Im Protokoll des Dienstprogramms 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
Dateibeschreibung: ASSLIST $ASSPTK/PCL1046.PTK Protokoll Eine Vorlaufkarte gibt es nicht.
Um die Bearbeitungszeit von ASS während einer Auswertung niedrig zu halten, müssen die Informationen aus den Verdichtungsstufen möglichst effizient, d.h. mit wenigen Zugriffen, gelesen werden. Aus diesem Grund kennt ASS fünf verschiedene Lesestrategien: - Sequentielles Lesen Das sequentielle Lesen ist die einfachste Form, eine Verdichtungsstufe auszuwerten. Hierbei werden alle Sätze einer Verdichtungsstufe sequentiell gelesen und verarbeitet. Diese Methode wird angewandt, wenn z.B. keine Ausprägungen selektiert werden oder die Daten der betreffenden Verdichtungsstufe auf einer sequentiellen Datei gespeichert sind. Sie wird darüber hinaus immer dann verwendet, wenn die nachfolgend beschriebenen Lesestrategien nicht möglich sind. Die Zahl der erforderlichen Zugriffe ist gleich der Anzahl der Sätze in der Verdichtungsstufe. Bei umfang- reichen Verdichtungsstufen ist somit eine Online- Auswertung nicht möglich. - Direktes Lesen mit Schlüsselvariation Werden in einer Anforderung einzelne Ausprägungen eines Schlüssels selektiert, kann die Anzahl der erforder- lichen Zugriffe meist durch direktes Lesen mit Schlüs- selvariation deutlich verringert werden. Hierbei wird zu jedem Schlüssel der Verdichtungsstufe eine Ausprägung ausgewählt, wobei man sich jedoch bei angeforderten Schlüsseln auf die gewünschten Ausprägungen be- schränkt. Diese werden dann verknüpft und als Index zum direkten Lesen der Verdichtungsstufe verwendet. Dies wird für alle möglichen Kombinationen der zu den jeweiligen Schlüsseln gehörenden Ausprägungen durchgeführt. Dementsprechend erhält man die Anzahl der erforder- lichen Zugriffe, indem man für jeden Schlüssel der Verdichtungsstufe die Zahl der Ausprägungen miteinander multipliziert. Dazu ein Beispiel: Verdichtungsstufe Schlüssel Niederl. Produkt Kundengr. Zahl Ausprägungen 50 20 5 Ausprägungen NL1 P1 KG1 . . . . . . NL50 P20 KG5 In dieser Verdichtungsstufe seien 4000 Sätze vorhanden, d.h von den 5000 möglichen Ausprägungs- 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 Ausprägungen(Niederl.)xAuspr(Produkt)xAuspr(Kundengr) also Zugriffe = 2 x 3 x 5 = 30 Dieses Produkt ist oft größer als die Anzahl der Sätze in der Verdichtungsstufe, weil meistens nicht für alle Ausprägungskombinationen Werte vorhanden sind. - Positionieren auf den 'linkesten' Schlüssel (stückweise sequentielles Lesen) Als weitere Lesestrategie ist das stückweise sequen- tielle Lesen der Verdichtungsstufe möglich. Bei dieser Strategie wird für den Schlüssel, der am weitesten links in der Verdichtungsstufe steht und ausgeprägt ist, eine gewünschte Ausprägung als Index ver- wendet und mit dieser in der Verdichtungsstufe direkt positioniert. Danach wird solange sequentiell gelesen, bis in der Verdichtungsstufe eine neue Ausprägung für den 'linkesten' Schlüssel auftritt. Bei dieser Zugriffsvariante wird die Zahl der erforderlichen Zugriffe mit folgender Formel geschätzt:
In dieser Schätzung wird davon ausgegangen, dass die Ausprägungen (*) in der Verdichtungsstufe gleichmäßig verteilt sind. Es gibt jedoch Fälle, in denen diese Annahme verletzt wird. Es gibt z.B. bei einem Schlüssel 'Vertreter' 10000 Ausprägungen, in dem Arbeitsgebiet werden aber für nur 1000 Ausprägungen Werte gepflegt. In solchen Fällen liefert die Schätzung zu kleine Zahlen für die Zugriffszahl. Dies hat längere Lauf- zeiten zur Folge, die im Online-Betrieb nicht gewünscht werden. Um dies berichtigen zu können, kann (*) in der Formel überschrieben werden. Dazu ist in der Trans- aktion ST06 die ungefähre Anzahl der im Arbeitsgebiet verwendeten Ausprägungen eines Schlüssels anzugeben (s. Handbuch ST06). - Positionieren auf die 'linkesten' Schlüssel mit Schlüsselvariation Diese Methode kombiniert die Methode der Schlüssel- variation mit der Methode des stückweise sequentiellen Lesens. Diese Methode wird am besten an einem Beispiel verdeutlicht: Es wird das Beispiel aus der Schlüsselvariation betrachtet. Die betrachtete Verdichtungsstufe enthalte rechts von der Kundengruppe noch weitere Schlüssel, so dass eine reine Schlüsselvariation nicht mehr in Betracht kommt. Es liege folgende Anforderung vor: Niederlassung=(NL3,NL15), Kundengruppe=(KG1) Folgende Datensätze können 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 Ausprägungen rechts von der Kundengruppe vorkommen, wird jede der genannten Kombinationen stückweise sequentiell ausgewertet. Hierbei ist zu beachten, dass nicht nur über den linkesten, sondern über die drei linkesten Schlüssel positioniert wird (compound key). Im obigen Beispiel wird also 40-mal stückweise sequentiell gelesen. Die Schätzformel für die Anzahl der Zugriffe ist eine Kombination aus der Anzahl Zugriffe für die Variation mit der Schätzung fürs stückweise se- quentielle Lesen. Die obige Methode kann auch zum Einsatz kommen, wenn zwischen Niederlassung und Kundengruppe verdichtete Schlüssel enthalten sind. Ebenso kann diese Methode zum Einsatz kommen, wenn "linkeste" Schlüssel einer Verdichtungsstufe nicht angefordert werden, sie jedoch so wenig Ausprägungen besitzen, dass eine Variation noch möglich ist. - Ausnutzung von Schlüsselrelationen Sobald in einer Fragestellung zu einem selektierten Schlüssel, der nicht linkester Schlüssel einer Ver- dichtungsstufe ist, alle zugehörigen Ausprägungen des linkesten Schlüssels angefordert werden, ist eine Dialogauswertung mit den bisher bekannten Lesevarianten im Normalfall nicht möglich. Es empfiehlt sich dann, mit Schlüsselrelationen zu arbeiten, die technisch ähnlich wie Verdichtungsstufen in einem Arbeitsgebiet definiert werden. In einer Schlüsselrelation werden zwischen zwei und zehn Schlüssel des Arbeitsgebietes in einer bestimmten Reihenfolge definiert, die von der üblichen Hierarchie- folge völlig abweichen kann. Im Unterschied zu den Verdichtungsstufen werden bei Schlüsselrelationen keine Werteverwendungen definiert und auch keine Summendaten gespeichert, sondern ledig- lich die in den Summendaten enthaltenen Schlüsselkom- binationen. Betrachtet man das obige Beispiel, so könnte man in einer Relation die Schlüssel PRODUKT und NIEDERLASSUNG in dieser Reihenfolge definieren. Nur die in den Summendaten vorkommenden Schlüsselkom- binationen werden gespeichert: PRODUKT NIEDERLASSUNG P1 NL1 NL5 P2 NL7 NL20 P3 NL5 Möchte man jetzt die Werte für 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 Ausprägungen des jetzt bekannten, linkesten Schlüssels der Verdichtungsstufe können die Daten wiederum stückweise sequentiell oder auch direkt gelesen werden, wenn alle Schlüssel des Arbeitsge- bietes in der Relation beschrieben sind. Unter diesen fünf Lesestrategien einer Verdichtungs- stufe wählt ASS sich die günstigste aus. Oft ist es jedoch für eine Auswertung nötig, mehrere Verdich- tungsstufen zu lesen, z.B. wenn Werte aus verschiedenen Arbeitsgebieten angefordert werden. In diesem Fall wird für jede Verdichtungsstufe die effektivste Lesestrate- gie ausgewählt. Die Anzahl der Zugriffe ergibt sich dann als Summe der Zugriffszahlen für die einzelnen Verdichtungsstufen. Durch geschickte Vergabe der Hierarchienummern und durch geeignete Festlegung von Verdichtungsstufen sowie deren Schlüsselreihenfolgen beim Einrichten eines Arbeitsgebietes (Transaktion ST06) kann der Anwender erreichen, dass die verschiedenen Lesestrategien vorteilhaft eingesetzt werden. Dabei sollten z.B. häufig benutzte Schlüssel mit vielen Ausprägungen, von denen i.a. nur einige angefordert werden, möglichst weit nach links gestellt werden, also niedrige Hierarchienummern im Arbeitsgebiet erhalten oder gezielt durch Änderung der Schlüsselreihenfolge betroffener Verdichtungsstufen.
Die Verdichtungsstufen, die für eine Auswertung gelesen werden müssen, werden nach folgendem Verfahren ermittelt: 1) Zunächst werden für 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 Schlüssel in der Verdichtungsstufe ausgeprägt sind. 2) Für die unter 1) ermittelten Verdichtungsstufen werden die Zugriffszahlen ermittelt. Dabei werden die unter 10.4.1 beschriebenen Lesestrategien durchgetestet und die Zugriffszahl der günstigsten 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 können. 4) Die angeforderten Werte werden nach ihrer (nach 3)) günstigsten Verdichtungstufe absteigend sortiert, d.h. der Wert, dessen beste Verdichtungsstufe die größte Zugriffszahl besitzt, kommt an die erste Stelle. TOTAL-Operanden werden an die Spitze dieser Tabelle gesetzt. 5) Jetzt werden die zu benutzenden Verdichtungsstufen ermittelt. Zunächst werden für den ersten Wert die Verdichtungsstufen nach der Reihenfolge ihrer Zugriffs- zahlen (s. 3)) ausgewählt, so dass alle angeforderten Zeiten befriedigt werden können. Für die folgenden Werte wird erst geprüft, ob eine bereits ausgewählte Verdichtungsstufe verwendet werden kann. Ansonsten werden analog zum ersten Wert die Verdichtungsstufen ausgewählt. 6) Für jede der ausgewählten Verdichtungsstufen wird die optimale Lesestrategie ermittelt: Sequentielle Verdichtungsstufen und Verdichtungsstufen für TOTAL-Operanden werden sequentiell gelesen. Bei Verdichtungsstufen auf der Summendatenbank wird zunächst auf stückweise sequentielles Lesen geprüft. Danach wird festgestellt, ob Lesen mittels Relation möglich ist. Anschließend wird auf Compound-Key-Lesen getestet, und zwar der Reihe nach über die zwei, drei, vier, etc. linkesten Schlüssel. Zum Schluss wird noch die Schlüsselvariation getestet. Verbessert sich die Zugriffszahl gegenüber einer zuvor getesteten Stra- tegie, so wird auf die neue Leseregel geschaltet. Die Anzahl der Zugriffe für eine Auswertung ist die Summe der Zugriffe auf die benötigten Verdichtungsstufen.
A B C D E F G H K L P R S T U V Z