Allgemeines Statistik System
Benutzerhandbuch
Betrieb I - Grundfunktionen
Dokumentationsübersicht
A S S - B E N U T Z E R H A N D B U C H
A S S
B E T R I E B I - Grundfunktionen
O. Behrens
P. Buchholz
H. Bürger
D. Hahne
R. Paulus
R. Stöckle
H. Valz
G. Witte
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Inhaltsverzeichnis
Stichwortverzeichnis
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
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Die Transaktionen ST06 und ST31 und gegebenenfalls
ST09 (vgl. Kap. 8) sind in einer
UTM-Anwendung zusammengefasst, siehe daher 6.3.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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 des Formats von externen Schnittstellen.
Das Format wird mit jedem ersten Dateisatz neu ermittelt, der
ein Kopfsatz ist. Es können also mehrere Schnittstellen
unterschiedlichen Formats ein einem Lauf verarbeitet werden.
Zur Zeit wird das kurze (EXIT=KURZ) und lange Format erkannt,
geblockt (FB) und ungeblockt. Das Textformat (EXIT_TEXT) wird
auch erkannt.
Das Verteilkonzept (VERTEIL) ignoriert EXIT_VAR wegen des sonst fehlenden Dateinamens. Am PC sollte kein Kopfsatz mit der veralteten Satzart 0 angeliefert werden. Diese Satzart wird von keinem ASS-Programm mehr erzeugt (PCL1019, PCL1081 usw.) |
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Mit dem User-Exit MCL0169 besteht die Möglichkeit, die
Schlüsselinhalte und Zeiten 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
oder
ZEITRAUM;Zeit_alt;Zeit_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).
Es sind maximal 10 Zeitumsetzungen möglich. Die Zeiten werden in
der Form JJMM oder JJMMTT erwartet abhänging vom Format der
externen Schnittstelle. Die Zeiten werden im Kopfsatz und den
Summensätzen angepaßt. Die Umsetzungen müssen entdeutig sein
bezüglich der alten Zeit. Es ist zulässing daß mehrere alte Zeiten
auf eine neue Zeit umgesetzt werden.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Mit PCL1013 werden die von PCL1002 geschriebenen Summendaten
(Datei "AUS" bzw. "AUSnn") in die betreffende Summendatenbank
geladen.
Außerdem können die Berichtsdatenbank, der Anforderungscache
sowie die mit PCL1231 erzeugte AG-Textdatenbank geladen werden,
wenn sie zuvor mit PCL1024 abgezogen wurden.
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 <= 500 (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.
Inhaltsverzeichnis
Stichwortverzeichnis
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).
Sollen die Summendatenbanken abgezogen werden, welche für die
Berichtsdatenbank, den Anforderungscache oder die von PCL1231
erzeugte AG-Textdatenbank reserviert sind, so muss PCL1024
verwendet werden. Der Abzug kann dann mit PCL1013 wieder geladen
werden, z.B. um die Berichtsdatenbank zu reorganisieren.
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). |
PCL1024 kann auch die Listdatenbank (D A 56 AG-LISTDB), die
Anfcachedatenbank (D A 84 AG-ANF-CACHE-DB) und die
Textierungsdatenbank (D A 87 AG-TEXTDB) abziehen.
Wenn dies mit der Option FB erfolgt, so kann der Abzug mit PCL1013
und der Option FB geladen werden. Damit könnem am PC diese
Datenbanken reorganisiert werden.
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Wie bereits erwä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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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 |
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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).
Inhaltsverzeichnis
Stichwortverzeichnis
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 |
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Ist ASS in einer Linux-Umgebung installiert, so kann
festgelegt werden, dass auch die Informationen von
Online-Auswertungen in PWORK gespeichert werden. Hierzu
ist auf der Textdatenbank auf Seite D A 28 der Schalter
STAT-STAT-DST004 = N zu setzen.
Diese Variante hat u.a. den Vorteil, dass bei Auswertungen
keine Schreibzugriffe auf die Anforderungsdatenbank erfolgen
müssen.
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 'DST004' oder, falls unter Linux nicht anders installiert, 'ONLINE') |
| 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 (Standard: nur Option 'BATCH'; unter Linux installationsabhängig auch ONLINE) |
| 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.
Datenmenge 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 (DST004)
stehen, verarbeitet. Falls unter Linux STAT-STAT-DST004=N (s.o.), wird statt der DST004 die Datei PWORK verarbeitet. Dann werden sowohl Sätze aus Online- als auch aus Batch-Anforderungen in einem Lauf verarbeitet. UMGEBUNG=ONLINE und UMGEBUNG=BATCH sind dann also äquivalent! |
| UMGEBUNG=BATCH | Es werden die Protokollsätze von den
Anforderungen, die in der Datei PWORK
stehen, verarbeitet. Falls unter Linux STAT-STAT-DST004=N (s.o.), werden auch die Online- Auswertungen in PWORK protokolliert. Es werden dann also Sätze aus Online- UND aus Batch-Anforderungen in einem Lauf verarbeitet. UMGEBUNG=ONLINE und UMGEBUNG=BATCH sind dann also äquivalent! |
| 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 MONAT=ALLE |
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. Die Angabe ALLE (nur für Umgebung ONLINE und BATCH) bewirkt, dass alle Protokollsätze verarbeitet werden. Sie bietet sich inbesondere bei STAT-STAT-DST004=N (s.o.) an, da dann die gesamte PWORK in einem Lauf verarbeitet wird und neu aufgesetzt werden kann. 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 (d.h. die Inhalte von ANFORDERER und PROFIL)
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. |
| CSV CSVFIX |
Die externe Schnittstelle wird im Textformat erzeugt (EXIT_TEXT in PCL1001). Bei CSV steht in jedem Summensatz immer nur ein Wert, bei CSVFIX werden immer alle Werte im Satz ausgegeben, wobei dann immer nur einer nicht 0 ist. Für die Einspeicherung sind beide Varianten äquivalent. Bei CSVFIX ist die Schnittstelle aber ggf. leichter maschinell manipulierbar. |
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
Inhaltsverzeichnis
Stichwortverzeichnis
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).
Inhaltsverzeichnis
Stichwortverzeichnis
Die ASS-Security-Datenbanken müssen ONLINE
zugreifbar sein, die Transaktion ST09 gestartet sein.
DST007
DST071
DST009
DST091
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Die Transaktionen ST06, ST31 und ST09 sind in einer
UTM-Anwendung zusammengefasst, siehe daher 6.3.
Inhaltsverzeichnis
Stichwortverzeichnis
Inhaltsverzeichnis
Stichwortverzeichnis
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.4). 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).
Inhaltsverzeichnis
Stichwortverzeichnis
Steht nicht mehr zur Verfügung.
Inhaltsverzeichnis
Stichwortverzeichnis
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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 |
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
Stichwortverzeichnis
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.
Inhaltsverzeichnis
A B C D E F G H K L P R S T U V Z