Kapitelübersicht
2. Folgeeinspeicherung
2.1 Verarbeiten der externen Schnittstelle PCL1001
2.2 Verarbeiten der internen Schnittstelle PCL1002
2.3 Laden von Summendatenbanken PCL1013
2.4 Abziehen von Summendatenbanken HSSR / PCL1024/ PCL1124
2.5 Verzoegerter UPDATE fuer PCL1002 PCL1032
2. Folgeeinspeicherung
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Die Folgeeinspeicherung laeuft in mehreren Schritten ab:
1. Schritt:
Verarbeiten externe Schnittstellendatei und
Erzeugen interne Schnittstellendatei,
bestehend aus den Steps
- Abziehen Arbeitsgebiet (PCL1004)
- Erzeugen interne Schnittstellendatei (PCL1001)
2. Schritt:
Abziehen alte Summendatenbank(en) auf seq. Datei
(entfaellt bei Ersteinspeicherung oder falls
die interne Schnittstelle direkt eingespeichert
wird).
IBM DL/I Regelfall: Alte Summendatenbank mittels HSSR
oder DFSURGU0 auf seq. Datei abziehen.
Existiert im betreffenden RZ HSSR bzw. DFSURGU0
nicht, so kann die alte Summendatenbank mit dem
Programm PCL1024 abgezogen werden.
Werden Verdichtungsstufen fortgeschrieben, die in
mehreren Summendatenbanken gespeichert sind, so
muss der Abzug mit dem Programm PCL1124 erzeugt
werden.
SIEMENS
ISAM Alte Summendatenbank(en) mit PCL1024/PCL1124
abziehen.
SAG ADABAS Alte Summendatenbank(en) mit PCL1024/PCL1124
abziehen.
3. Schritt:
Verarbeiten der Internen Schnittstellendatei
mit dem Programm PCL1002:
Laden Summendatenbank(en) aus interner Schnitt-
stellendatei bzw. erzeugen Ladebestand (bzw.
Ladebestaende) aus interner Schnittstellendatei
fuer PCL1013 (siehe PCL1002).
HINWEIS:
PCL1002 fuehrt einen UPDATE auf die Steuerungs-DB
durch. Beim Laden von grossen Summendatenbanken
entsteht daher viel Loginformation.
In diesem Fall fuehrt man das Laden besser mit
Schritt 5 durch.
5. Schritt:
Einspeicherung in die Summendatenbank(en)
(entfaellt, falls Einspeicherung bereits von PCL1002
durchgefuehrt wurde).
IBM Ladebestand (bzw. Ladebestaende) in
Summendatenbank(en) speichern (PCL1013)
SIEMENS Ladebestand (bzw. Ladebestaende) in
Summendatenbank(en) speichern (PCL1013)
SAG ADABAS Summendatenbank(en) mit ADABAS-Utilities laden unter
Verwendung von MST0100 im User-Exit 6.
6. Schritt:
Update auf die Steuerungs-DB (PCL1032)
Normalerweise fuehrt PCL1002 einen UPDATE auf die
Steuerungs-DB durch. Falls Parallellaeufe von
PCL1002 erforderlich sein sollten, kann man diesen
UPDATE verzoegern und spaeter vom Programm PCL1032
durchfuehren lassen. Einzelheiten s.u..
HINWEIS:
Im Programm PCL1002 existiert auch die Moeglichkeit,
Aenderungen direkt auf die Summendatenbank zu spielen.
Dies ist jedoch nur moeglich, wenn die externe
Schnittstelle ausschliesslich Bewegungswerte enthaelt
und keine aktiven Verdichtungsstufen auf sequentiellem
Datentraeger vorliegen. Beim Fortschreiben von
Aenderungen auf die Summendatenbanken verlaengern sich
die Saetze. Dies fuehrt z.B. in einer DLI-Umgebung zu
Segmentsplits. Ein direktes Fortschreiben ist also
nur bei kleinem Aenderungsumfang empfehlenswert.
Fuehrt man eine Folgeeinspeicherung in der oben
beschriebenen Form (sechs Steps) durch, so wird die
betreffende Summendatenbank reorganisiert.
Hinweis fuer DLI:
Es versteht sich, dass beim direkten Einspeichern
von Aenderungen mittels PCL1002 nicht mehr mit einem
LADE-PCB gearbeitet werden kann, PROCOPT=A ist dann
fuer die betreffenden Summendatenbanken erforderlich.
Achtung: Die Schritte 3 und 4 duerfen nicht vertauscht werden.
2.1 Verarbeiten der externen Schnittstelle PCL1001
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
ASS ist ein in sich abgeschlossenes System.
Es uebernimmt Daten aus anderen Systemen nur ueber die externe
Schnittstellendatei.
Die externe Schnittstelle ist also die zentrale Schnittstelle
von ASS zu ASS-fremden Datenbestaenden. Alle Statistikdaten,
die in ASS-Summendatenbanken gespeichert und maschinell
zur Verfuegung gestellt werden koennen, muessen in externen
Schnittstellendateien bereitgestellt werden, von wo aus
sie ihm Rahmen der Folgeeinspeicherung in ASS-Summendatenbanken
uebernommen werden.
Der physikalische Aufbau der externen Schnittstelle ist in dem
Handbuch SYSTEMDOKUMENTATION beschrieben.
Externe Schnittstellen, die von Schnittstellenprogrammen
erstellt wurden, werden zunaechst vom Programm PCL1001
verarbeitet und dabei in eine sogenannte interne Schnittstelle
umgeformt.
Bei der Verarbeitung von externen Schnittstellendateien werden
eine Reihe von Pruefungen durchgefuehrt, um Fehler in der
externen Schnittstelle oder Fehler im Handling der
Folgeeinspeicherung erkennen zu koennen.
Eingaben:
--------
1. Die externe Schnittstellendatei (ASSIN01).
2. Abzug des Arbeitsgebiets, fuer das eine interne
Schnittstellendatei erzeugt werden soll. Dieser Abzug wird
mit dem Programm PCL1004 erzeugt. Einzelheiten
zu diesen Programmen sind dem Handbuch fuer die
Dienstprogramme zu entnehmen.
Ausgaben:
--------
Der OUTPUT von PCL1001 besteht aus drei Komponenten:
1. Eine interne Schnittstellendatei.
2. Fortschreiben von Kontrollinformationen in Werte- und
Schluessel- und Steuerungsdatenbank, u.a.:
- Aenderungssperre bei Schluesseln setzen
- Aenderungssperre bei Werten setzen
- Zeitraeume bei verwendeten Werten setzen
- Eingespeicherte Zeiten im Arbeitsgebiet setzen
3. Evtl. Ergaenzung von Schluesselauspraegungen in der
Schluesseldatenbank.
Betriebsmittel:
--------------
Da externe Schnittstellen unter Umstaenden einen sehr grossen
Umfang annehmen koennen, braucht PCL1001 fuer die Verarbeitung
auch eine gewisse Menge an Betriebsmitteln:
- temporaere Workdatei ASSWONN
- zwei Arbeitsdateien ASSWK01 und ASSWK01
- Arbeitsdatei ASSWK03, falls in Vorlaufkarte ASSWK = 3
oder ASSWK = 4 angegeben
- Arbeitsdatei ASSWK04, falls in Vorlaufkarte ASSWK = 4 angegeben
Um das Verstaendnis der Arbeitsweise des Programms PCL1001
zu erleichtern, folgt zunaechst ein Datenflussplan.
Daran anschliessend werden verschiedene Problempunkte
erlaeutert.
Ablauf:
------
.---. .---. .---. .---.
,' ', ,' ', ,' ', ,' ',
!'.___.'! !'.___.'! !'.___.'! !'.___.'!
! ! ! ! ! ! ! !
! 140 ! ! 160 ! ! 170 ! ! 180 !
! ! ! ! ! ! ! !
'.___.' '.___.' '.___.' '.___.'
! ! ! !
! ! ! !
! ! ! !
!_________ ! __________! !
! ! ! !
! ! ! _____________________!
! ! ! !
! ! ! !
_______ ! ! ! !
/ ! ! ! ! !
! 190 ! ! ! ! ! .---.
+-------+ V V V V ,' ',
! *************** !'.___.'!
+--------->! ! ! !
! PCL1001 !-------------------->! 210 !
! !-----+ ! !
*************** ! '.___.'
! ! A A A !
! ! ! ! ! ! ************
! ! ! ! ! +-------------->! !
! ! ! ! ! ! 220 !
! ! ! ! ! ! *****
! ! ! ! ! ! /
! ! ! ! ! *****
! ! ! ! !
! ! ! ! !_______________________________
! ! ! ! !
! ! ! !_____________________ !
_________! ! ! ! !
! ! !__________ ! !
! ! ! ! !
! ! ! ! !
V V V V V
.---. .---. .---. .---. .---.
,' ', ,' ', ,' ', ,' ', ,' ',
!'.___.'! !'.___.'! !'.___.'! !'.___.'! !'.___.'!
! ! ! ! ! ! ! ! ! !
! 230 ! ! 240 ! ! 250 ! ! 260 ! ! 270 !
! ! ! ! ! ! ! ! ! !
'.___.' '.___.' '.___.' '.___.' '.___.'
Dateibeschreibung:
-----------------
Lfd.-Nr. ! DD-Name/PGM ! Beschreibung
! LINK-Name !
---------!--------------!---------------------------------------------
! !
140 ! //ASSDB ! Ausgabe von PCL1004
! !
160 ! //ASSIN01 ! Externe Schnittstelle
! !
170 ! //TABL01 ! SHRINK-Tabelle (nur wenn geshrinkte
! ! ext. Schnittstellen verarbeitet werden)
! !
180 ! //DST001 ! Werte-DB
! //DST011 ! Primaer-Index (nur DLI)
! //DST012 ! Sekundaer-Index 1 (nur DLI)
! //DST013 ! Sekundaer-Index 2 (nur DLI)
! //DST002 ! Schluessel-DB
! //DST021 ! Primaer-Index (nur DLI)
! //DST022 ! Sekundaer-Index 1 (nur DLI)
! //DST023 ! Sekundaer-Index 2 (nur DLI)
! //DST003 ! Steuerungs-DB
! //DST031 ! Primaer-Index (nur DLI)
! //DST032 ! Sekundaer-Index 1 (nur DLI)
! //DST033 ! Sekundaer-Index 2 (nur DLI)
! //DST006 ! Before-Images (nur SIEMENS-ISAM / VSAM)
! !
190 ! //ASSCO ! Vorlaufkarte, auf DUMMY setzen und bei
! ! Bedarf aktivieren
! !
210 ! - ! LOGDATEI (nur DLI)
! !
220 ! //ASSLIST ! Ablaufprotokoll PCL1001
! //SYSPRINT !
! !
230 ! //ASSOUNN ! Interne Schnittstelle, Eingabe fuer PCL1002
! ! Satzlaenge=10000
! !
240 ! //ASSFEHL ! Fehler- und Schwebedatei
! ! Satzlaenge=10000
! !
250 ! //ASSWONN ! Arbeitsdatei
! ! Satzlaenge=20000
Lfd.-Nr. ! DD-Name/PGM ! Beschreibung
! LINK-Name !
---------!--------------!---------------------------------------------
! !
260 ! //ASSWK01 ! Workdatei 01, Satzlaenge=20000
! //ASSWK02 ! -"- 02, Satzlaenge=20000
! //ASSWK03 ! -"- 03, Satzlaenge=20000
! //ASSWK04 ! -"- 04, Satzlaenge=20000
! !
270 ! //SORTWK01 ! SORTWORK-Bereich 1 -
! bis ! bis !> bei IBM
! //SORTWKnn ! SORTWORK-Bereich nn -
! //SORTWK1 ! SORTWORK-Bereich 1 -
! bis ! bis !> bei SIEMENS
! //SORTWKn ! SORTWORK-Bereich n -
! !
* ! //ASSAU ! nur fuer die Option ASSAU
* ! ! Host: F B 80, PC: Textdatei
Restriktionen:
-------------
In einem Programmlauf koennen nur die Daten fuer ein
Arbeitsgebiet uebernommen werden.
Besonderheiten:
---------------
Wird PCL1001 vorzeitig beendet, so wird ein gezielter
Programmabbruch erzeugt.
Vorzeitiges Programmende liegt vor, wenn
- es durch Angaben in den Vorlaufkarten erzwungen wird
- wenn mehr als 100 fehlerhafte Summensaetze erkannt werden.
Der Wert von 100 kann durch Vorlaufkarte uebersteuert
werden (s.u. Option 'FEHLER=NNNN').
Die Massnahmen, die beim "gezielten" Programmabbruch
durchgefuehrt werden, sind im INCLUDE-Member SST1031 festgelegt.
SST1031 darf installationsabhaengig angepasst werden und ist
dann in die installationsabhaengige INCLUDE-Bibliothek
zu uebernehmen.
Das Datenmengenproblem
----------------------
Das Programm PCL1001 (wie auch das Programm PCL1002) sind
darauf ausgelegt, grosse Datenmengen zu verarbeiten.
So gibt es Schnittstellendateien, die mehrere Millionen Saetze
enthalten. Jeder Satz der Schnittstelle muss intern
in PCL1001 noch zusaetzlich vervielfaeltigt werden (entsprechend
der Anzahl der nicht generierbaren Verdichtungsstufen).
Das entstehende Datenvolumen waere dann noch zu sortieren,
ein Unterfangen, das von vornherein zum Scheitern verurteilt
ist.
Es wurde daher eine portionsweise Verarbeitung der
Schnittstellendatei realisiert. Es werden n Saetze der
Schnittstellendatei eingelesen, auf das Format der internen
Schnittstellendatei gebracht und in die Datei ASSWONN
geschrieben. Dann wird ein Sort aufgerufen.
In der Sort-Input-Phase wird die Datei ASSWONN seq. gelesen,
jeder gelesene Satz wird entsprechend den Anforderungen der
Verdichtungsstufen vervielfaeltigt und dann dem SORT
uebergeben.
In der Sort-Output-Phase erfolgt die Verdichtung. Beim ersten
Aufruf des Sort werden die verdichteten Summensaetze in eine
Datei ASSWKnn geschrieben. Bei den Folgeaufrufen werden die im
vorhergehenden Aufruf erzeugten verdichteten Summensaetze aus
einer Datei ASSWKnn sofort mit den vom SORT gelieferten Saetzen
gemischt und verdichtet und das Ganze in eine Datei ASSWKmm
gestellt. ASSWKnn wird dann im naechsten Aufruf wieder als
Ausgabedatei verwendet.
Beim letzten Aufruf des Sort wird auf die Datei ASSOUNN
ausgegeben.
Es werden zwei Arbeitsdateien ASSWK01 und ASSWK02 benoetigt.
Bei kleinen Datenmengen kann der erste Aufruf des Sort
auch schon der letzte sein. In diesem Fall werden keine
Dateien ASSWKnn benoetigt. Die Ausgabe erfolgt sofort
und vollstaendig auf ASSOUNN.
Fortschreibung stillgelegter Verdichtungsstufen:
------------------------------------------------
Stillgelegte Verdichtungsstufen werden standardmaessig bei der
Folgeeinspeicherung nicht fortgeschrieben.
Dies kann mittels der Option VSTNR=nn uebersteuert werden.
Wenn Sie mit der Option VSTNR arbeiten, muessen Sie alle Ver-
dichtungsstufen, in die Einspeicherungen vorgenommen werden
sollen, in der Vorlaufkarte angeben.
Dabei muss natuerlich auf Datenkonsistenz geachtet werden. So
duerfen zum Beispiel keine Datensaetze verloren gehen oder
doppelt eingespeichert werden.
Um die Regeln zur Auswahl der Verdichtungsstufen zu verstehen,
muss man den Begriff der Verdichtungsstufenmenge kennen.
Dazu betrachten wir einen Wert, der bei der Einspeicherung an-
geliefert wird und dazu alle Verdichtungsstufen, in denen dieser
Wert verwendet wird.
Dann bilden jeweils die Verdichtungsstufen, in denen exakt
dieselben Schluessel ausgepraegt sind und die die gleiche
Schluesselreihenfolge haben, eine Verdichtungsstufenmenge.
Folgende Regeln sind nun zu beachten :
- Aus jeder Verdichtungsstufenmenge (pro angeliefertem Wert)
darf hoechstens eine Verdichtungsstufe ausgewaehlt werden.
- Aus jeder Verdichtungsstufenmenge, die eine aktive Ver-
dichtungsstufe enthaelt, muss genau eine Verdichtungsstufe
ausgewaehlt werden.
- Alle aktiven sequentiellen Verdichtungsstufen muessen angegeben
werden.
- Stillgelegte sequentielle Verdichtungsstufen werden nicht be-
ruecksichtigt.
Generierung von Verdichtungsstufen:
-----------------------------------
Der Begriff "GENERIERBARE VERDICHTUNGSSTUFE":
Eine Verdichtungsstufe V1 ist aus anderen Verdichtungsstufen
generierbar, wenn die Verdichtungsstufen ungleich V1, in denen
mindestens die in V1 ausgepraegten Schluessel auch ausgepraegt
sind, zusammen alle verwendeten Werte von V1 auch verwenden.
Schluesselrelationen im Arbeitsgebiet sind per Definition nicht
generierbar.
Standardmaessig werden waehrend der Verarbeitung der Schnitt-
stellendatei im Programm PCL1001 interne Schnittstellen-
saetze nur fuer nicht generierbare Verdichtungsstufen erzeugt.
Gibt es generierbare Verdichtungsstufen, so stehen am Ende
der Verarbeitung der Schnittstellendatei die internen
Schnittstellensaetze fuer nicht generierbare Verdichtungsstufen
in verdichteter Form in einer Datei ASSWKnn.
Zur Generierung der generierbaren Verdichtungsstufen
wird die Datei ASSWKnn sequentiell gelesen, daraus interne
Schnittstellensaetze (noch nicht verdichtet) erzeugt und in
ASSWONN gestellt.
Mit Hilfe des Sort wird dann ASSWONN sortiert und verdichtet,
mit ASSWKnn gemischt und nach ASSOUNN ausgegeben.
Hierbei kann es passieren, dass auf die Datei ASSWONN sehr
viele Saetze ausgegeben werden. Die erzeugte Datenmenge waere
fuer einen Sort-Aufruf ev. zu gross. In diesem Fall kann
eine portionsweise Verarbeitung wie bei der Verarbeitung der
externen Schnittstelle aktiviert werden. Eine portionsweise
Verarbeitung benoetigt eine dritte Arbeitsdatei ASSWK03.
Diese muss in der JCL zur Verfuegung gestellt werden
und via Vorlaufkarte (ASSWK = 3) muss dies dem Programm
mitgeteilt werden.
Insgesamt wird durch obiges Verfahren die Anzahl der
erzeugten (und somit zu sortierenden und verdichtenden)
internen Schnittstellensaetze i.a. drastisch reduziert.
Lassen sich generierbare Verdichtungsstufen aus
unterschiedlichen anderen Verdichtungsstufen generieren,
so werden zur Generierung die Verdichtungsstufen mit den
wenigsten Saetzen genommen. Anzahl Saetze pro Verdichtungsstufe
wird aus SST023CV.CANZSA (Steuerungsdatenbank) entnommen.
Bei der ersten Folgeeinspeicherung fuer ein Arbeitsgebiet
existiert CANZSA noch nicht, die Auswahl der Verdichtungsstufen,
aus denen generiert wird, ist dann rein zufaellig.
Die Generierung von Verdichtungsstufen kann von aussen
ausgeschaltet werden (OPTION 'NOVSTGENER' in der Vorlaufkarte).
Bei Eingabe dieser OPTION werden alle Verdichtungsstufen als
nicht generierbar angenommen und dementsprechend verarbeitet.
Verdichtungsstufen aus generierbaren Verdichtungsstufen
generieren:
Betrachtet man allein die Menge der generierbaren Verdichtungs-
stufen, so kann diese Menge wieder in zwei Teilmengen
zerlegt werden: Verdichtungsstufen, die aus bereits
generierbaren Verdichtungsstufen generiert werden koennen
bzw. nicht.
Beispiel:
Die Verdichtungsstufe 1 enthalte die Schluessel
S1, S2, S3 und S4, die Werte W1 und W2.
Die Verdichtungsstufe 2 enthalte die Schluessel
S1, S2 und S4, die Werte W1 und W2.
Die Verdichtungsstufe 3 enthalte die Schluessel
S1 und S2, den Wert W1.
Die Verdichtungsstufe 4 enthalte die Schluessel
S1 und S4, den Wert W2.
Die Verdichtungsstufen 1 ist nicht generierbar.
Die Verdichtungsstufen 2, 3 und 4 sind alle generierbar
(aus Verdichtungsstufe 1).
Die Verdichtungsstufen 3 und 4 sind jedoch auch aus
Verdichtungsstufe 2 generierbar.
Folgendes soll erreicht werden:
Zunaechst sollen die Daten fuer die nicht generierbaren
Verdichtungsstufen (im Beispiel Verdichtungsstufe 1) erzeugt
werden. Dann werden hieraus die Daten fuer die nicht
generierbaren Verdichtungsstufen, die nicht aus generier-
baren Verdichtungsstufen generiert werden koennen,
(im Beispiel Verdichtungsstufe 2) erzeugt und zum Schluss
hieraus die Daten fuer die generierbaren Verdichtungs-
stufen, die aus generierbaren Verdichtungsstufen
generierbar sind (im Beispiel Verdichtungsstufe 3 und 4).
Das geschilderte Verfahren benoetigt 4 Arbeitsdateien.
Es wird durch die Angabe ASSWK = 4 in der Vorlaufkarte
aktiviert.
Folgende Besonderheiten sind zu beachten:
Index-Verdichtungsstufen gelten u.U. (s.u.) als
generierbar. Sie gelten jedoch nie als aus generierbaren
Verdichtungsstufen generierbar.
Existieren explizite Generierungsangaben (s.u.), so wird
das hier geschilderte Verfahren nicht aktiviert.
Um sicherzustellen, dass bei ASSWK = 4 nicht zu grosse
Verdichtungsstufen generiert werden, gilt ein
Verdichtungsstufe als generierbar aus generierbaren
Verdichtungsstufen, wenn sie nicht zu "gross" ist.
Eine Verdichtungsstufe gilt als nicht zu "gross",
wenn ihre Satzanzahl kleiner als ein Zehntel der
Satzanzahl der groessten Verdichtungsstufe,
die eingespeichert wird, ist.
Bei der Ersteinspeicherung in ein Arbeitsgebiet sind die
genannten Satzanzahlen nicht bekannt. In diesem Fall
gibt es keine zu grossen Verdichtungsstufen.
Explizite Generierungsangaben
-----------------------------
Die Generierung von Verdichtungsstufen kann explizit ueber
Vorlaufkarten vorgegeben werden:
GENVST: Quell-Verdichtungsstufe -> Ziel-Verdichtungsstufe
Beispiel: GENVST: 17 -> 23
Die Verdichtungsstufe 23 soll aus der Verdichtungstufe 17
generiert werden.
Verdichtungsstufen mit Werten:
Eine Ziel-Verdichtungsstufe kann aus einer Quell-Verdichtungs-
stufe generiert werden, wenn alle Schluessel, die in der
Ziel-Verdichtungsstufe ausgepraegt sind, auch in der
Quell-Verdichtungsstufe ausgepraegt sind
und
alle Werte, die in der Ziel-Verdichtungsstufe enthalten
sind, auch in der Quell-Verdichtungsstufe enthalten sind
(unabhaengig von der externen Schnittstelle).
Index-Verdichtungsstufen:
Eine Index-Verdichtungsstufe kann aus einer Quell-Verdichtungs-
stufe generiert werden, wenn alle Schluessel, die in der
Index-Verdichtungsstufe ausgepraegt sind auch in der
Quell-Verdichtungsstufe ausgepraegt sind und die Quell-
Verdichtungsstufe selbst keine Index-Verdichtungsstufe ist.
Es koennen mehrere GENVST-Angaben gemacht werden,
wobei jede Angabe vollstaendig in einer Vorlaufkarte
stehen muss. Zu einer Ziel-Verdichtungsstufe darf nur eine
Quell-Verdichtungsstufe angegeben, falsch waere also
GENVST: 17 -> 23
GENVST: 18 -> 23
Quell-Verdichungsstufen duerfen nicht als Ziel-Verdichtungs-
stufen angegeben werden und umgekehrt.
Folgende Vorlaufkarten-Optionen beeinflussen die GENVST-Angaben:
Ist CANZSA_GENER_MAX angegeben, so werden bei Verdichtungsstufen
mit Werten als Quelle nur Verdichtungsstufen akzeptiert,
die noch nicht eingespeichert sind oder die weniger Saetze
enthalten, als bei CANZSA_GENER_MAX vorgegeben wurde.
Index-Verdichtungsstufen werden werden als Ziel nur wirksam,
wenn auch INDEX_GEN = n angegeben ist, n > 0.
Als Quelle werden dann nur Verdichtungsstufen akzepiert,
die weniger als n Saetze enthalten oder noch nicht ein-
gespeichert wurden.
Ist NOVSTGENER angegeben, so wirken die GENVST-Angaben nicht.
Existieren GENVST-Angaben, die nicht aktzeptiert werden,
so wird das Programm abgebrochen. Soll das Programm nicht
abgebrochen werden, so ist zusaetzlich die Vorlaufkarten-
Option GENVST_NICHT_ABBRECHEN anzugeben.
Grundsaetzlich werden nicht aktzeptierte GENVST-Angaben
protokolliert.
Ziel-Verdichtungsstufen, deren GENVST-Angaben nicht
erfuellbar sind, werden wie nicht generierbare Verdichtungs-
stufen behandelt.
Vorzeitiges Programmende:
-------------------------
Nach jedem SORT-Aufruf wird geprueft, ob durch Vorlaufkarten-
Optionen ein vorzeitiges Programmende erzwungen werden soll.
Die zeitliche Frequenz dieser Pruefung richtet sich also nach
der Haeufigkeit der SORT-Aufrufe.
Die Frequenz der Sortaufrufe richtet sich nach der Verarbei-
tungs-OPTION 'SORTMAX', in der angegeben wird, wieviele Saetze
pro Aufruf sortiert werden sollen.
ACHTUNG: Ein Satz aus der Schnittstellendatei ergibt N zu sor-
tierende Saetze, wobei N die Anzahl der nicht generier-
baren Verdichtungsstufen ist.
Ist die Schnittstellendatei vollstaendig verarbeitet, folgt ein
abschliessender SORT-Aufruf.
Gibt es generierbare Verdichtungsstufen, so kann es bei der
Generierung von Verdichtungsstufen zusaetzliche SORT-Aufrufe
geben.
Folgende Kriterien fuehren zum vorzeitigen Programmende:
- Es sind aus der Schnittstellendatei bereits mehr Saetze
als in der Verarbeitungs-OPTION 'SAETZE' angegeben wurde,
verarbeitet worden.
- Die Laufzeit des Programms ist groesser als
in der Verarbeitungs-OPTION 'MINUTEN' angegeben wurde.
Wird das Programm PCL1001 aufgrund von Verarbeitungsoptionen
vorzeitig beendet, wird es abnormal beendet, damit eventuelle
Folgesteps des aktuellen Jobs nicht mehr ausgefuehrt werden.
Verzoegerter Update der Parameterdatenbanken
--------------------------------------------
Die Update's auf die Parameter-Datenbanken werden erst
am Programmende von PCL1001 durchgefuehrt (Ausnahme
Schluessel-Datenbank. s.u.).
Ist die Option NUPDAT gesetzt, so werden alle Update's
der Parameterdatenbanken auf die Datei ASSUPD ausgegeben.
Diese Update's koennen (muessen) dann mit dem Programm PCL1032
nachgeholt werden.
Eine Sonderbehandlung erfahren Schluesselauspraegungen.
Sie werden u.U. (in Abhaengigkeit von Vorlaufkarten-Optionen)
sofort auf die Schluessel-Datenbank gespeichert.
Siehe hierzu auch die Beschreibung der Optionen KEYUPDATE
bzw. KEYZU.
Implementation der "privaten" Checkpoint-Schreibung
---------------------------------------------------
Checkpoints werden mit dem Programm MCL0699 geschrieben.
Die Aufrufe auf MCL0699 werden durch die Vorlaufkarten-
Option CHKP_PRIVAT aktiviert. Checkpoints werden nur dann
geschrieben, wenn in der betreffenden Installation
MCL0699 dafuer ausgelegt ist.
Checkpoints werden nur nach Aenderungen der Parameter-
Datenbanken geschrieben.
Werden Schluesselauspraegungen waehrend der Verarbeitung
der externen Schnittstelle (nicht am Programmende) auf
die Schluessel-Datenbank ergaenzt, so werden die
betreffenden Aenderungen mit installationsabhaengigen
Verfahren fixiert und zwar unabhaengig von der privaten
Checkpoint-Schreibung.
Benutzung eines Schreib-cache-Verfahrens zur Erzeugung
nicht generierbarer Verdichtungsstufen:
--------------------------------------
Die Eingabe der OPTION 'VORVERDICHTEN' bewirkt eine andere Art
der Erzeugung der nicht generierbaren Verdichtungsstufen. Jeder
von ASSIN01 gelesene Summensatz wird auf internes Format
gebracht und zunaechst in eine programminterne Tabelle
gestellt (SCHREIB-cache). Bei jedem weiteren Summensatz wird
zunaechst versucht, diesen soweit wie moeglich in diesen
SCHREIB-cache einzuarbeiten.
Ist dies nicht moeglich (Aenderung des internen Schluessels),
so wird zunaechst der alte Tabelleneintrag nach ASSWONN
geschrieben und dann der neue Inhalt aufgenommen.
Eine Vervielfaeltigung im USER-EXIT E15 entfaellt in diesem Fall.
Eine Sortierung der Daten von ASSWONN erfolgt immer dann, wenn
mindestens N Saetze ('SORTMAX=N') auf ASSWONN geschrieben wurden
und natuerlich bei EOF von ASSIN01.
Der SCHREIB-cache enthaelt M Eintraege, wobei M die Anzahl der
nicht generierbaren Verdichtungsstufen ist.
Die OPTION 'VORVERDICHTEN' empfiehlt sich immer dann, wenn die
externe Schnittstellendatei sortiert vorliegt. Sortiert heisst
in unserem Fall: Der hoechste Sortierbegriff ist der
Schluesselinhalt desjenigen Schluessels, der in der
zugehoerigen Summen-DB am weitesten links steht (kleinste
CREPO), ... , niedrigster Sortierbegriff ist der
Schluesselinhalt desjenigen Schluessels, der in der
zugehoerigen Summen-DB am weitesten rechts steht (groesste
CREPO).
Beim Generieren der generierbaren Verdichtungsstufen wird
stets mit der obigen Vorverdichtung gearbeitet.
Ein Ausschalten der Generierung ist voraussichtlich nur in
wenigen Anwendungsfaellen sinnvoll. Es ist sicherlich dann
sinnvoll, wenn man bei der Generierung der Verdichtungsstufen
Platzprobleme auf ASSWONN bekommt.
Platzbedarf fuer Dateien
------------------------
Auf die Dateien ASSWONN, ASSWK01, ASSWK02, ASSWK03, ASSWK04
und ASSOUNN werden interne Summensaetze geschrieben. Diese Saetze
bestehen aus einem Schluesselteil und einer Wertetabelle.
Der Schluesselteil hat die Laenge des KEYS der zugehoerigen
Summen-DB + 2. In Abhaengigkeit von Vorlaufkarten-Optionen
(z. B. VERDICHTEN) ist ein Eintrag der Wertetabelle unter-
schiedlich lang. Die maximale Laenge betraegt 14 Byte.
In die Wertetabelle werden i.a. nur Werte ungleich Null
aufgenommen.
Beispiel:
Die externe Schnittstelle enthalte 10 Werte mit gleichem
Wertezeitraum. Der KEY der Summen-DB habe die Laenge 30.
Daraus ergibt sich eine maximale Satzlaenge von
30 + 2 + 10 * 14 = 172 BYTES (+ Satzlaengenfeld).
Dateigroessen:
ASSWONN:
Die Datei ASSWONN kann in zwei Funktionen waehrend des
Programmlaufes verwendet werden:
1. Waehrend der portionsweisen Verarbeitung der Ext. Schnitt-
stellendatei ASSIN01 wird ASSWONN i.a. mehrfach erstellt.
Die Anzahl der geschriebenen Saetze pro Erstellung
haengt von diversen Parametern ab (s.u.).
2. bei der Generierung der generierbaren Verdichtungsstufen
Damit haengt die Dateigroesse von zwei Faktoren ab:
(Der Datei-Bedarf ist das Maximum von Punkt 1. und 2..)
1. SORTMAX-Parameter:
a.ohne Vorverdichten:
Anzahl-Saetze = SORTMAX / Anzahl nicht generierbarer
Verdichtungsstufen.
b.mit Vorverdichten:
Anzahl-Saetze = SORTMAX.
2. Verdichtungsstufengenerierung
a.Verdichtungsstufengenerierung ist nicht ausgeschaltet
(keine Option NOVSTGENER):
In diesem Fall werden die Saetze aller generierbaren
Verdichtungsstufen aus ASSWK01 oder ASSWK02 erzeugt und
nach ASSWONN (mit Vorverdichten) geschrieben.
Dies kann in Extremfaellen zu sehr grossen Datenmengen
fuehren und zwar dann, wenn
- die ausgepraegten Schluessel der generierbaren
Verdichtungsstufen vorwiegend rechts im KEY der
zugehoerigen Summen-DB angeordnet sind.
- ASSWK01/ASSWK02 bereits grosse Ausmasse angenommen haben.
Eine endgueltige Schaetzung ist in diesem Fall nur schwer
moeglich.
Der theoretische WORST-CASE: Anzahl generierbarer
Verdichtungsstufen * Anzahl Saetze von ASSWK01/ASSWK02.
Werden mehr als 2 Arbeitsdateien zu Verfuegung gestellt
(s.o.), so wird das Problem einer zu grossen Datei
ASSWONN entschaerft. Die Dateien ASSWK03 bzw.
ASSWK04 enthalten nur Daten von generierbaren
Verdichtungsstufen. Insbesondere ASSWK04 duerfte nicht
das Volumen von ASSWK01/ASSWK02 annehmen.
b.Verdichtungsstufengenerierung ist ausgeschaltet:
(Option NOVSTGENER):
Es wird nicht auf ASSWONN geschrieben.
ASSWK01/ASSWK02:
Diese Dateien muessen so gross dimensioniert werden, dass sie
die Endausgabedatenmenge der nicht generierbaren
Verdichtungsstufen aufnehmen koennen, es sei denn, man arbeitet
mit 'NOVSTGENER' und so grossem SORTMAX-Parameter, dass sofort
auf ASSOUNN geschrieben wird.
In diesem Fall werden ASSWK01 und ASSWK02 nicht benutzt.
ASSWK03/ASSWK04:
Diese Dateien werden beim Generieren von Verdichtungsstufen
benutzt. Je nach Situation muessen sie das Volumen der
generierbaren Verdichtungsstufen aufnehmen koennen.
ASSOUNN:
Diese Datei enthaelt die komplette interne Schnittstelle fuer
komprimierte Verdichtungsstufen. Eine Schaetzung, wie viele
Saetze diese Datei enthaelt, ist praktisch nicht moeglich. Der
Platzbedarf fuer ASSOUNN haengt entscheidend davon ab, wie stark
die externe Schnittstellendatei verdichtet werden kann.
Verdichtungsverhaeltnisse von nahezu 1:1 bis 20:1 kommen in
der Praxis vor.
Laufzeitprobleme:
-----------------
Bei grossen externen Schnittstellendateien und Arbeitsgebieten
mit mehreren Verdichtungsstufen koennen optimale Vorlaufkarten-
angaben zu deutlicher Programmlaufzeitverkuerzung fuehren:
- Der SORTMAX-Parameter sollte nicht zu klein gewaehlt werden.
Die Voreinstellung von zwei Millionen sollte, wenn die
SORTWK-Bereiche und ASSWONN hinreichend gross gewaehlt
werden koennen, nicht verkleinert werden, eher vergroessert.
- Die Generierung von Verdichtungsstufen sollte hoechstens dann
ausgeschaltet werden, wenn die externe Schnittstellendatei
sortiert vorliegt (s.o.) und wenn im Arbeitsgebiet
hauptsaechlich ueber die Schluessel verdichtet wird, die im
KEY der zugehoerigen Summen-DB weit rechts liegen (grosse
CREPO).
Werden Verdichtungsstufen generiert, so sollte ASSWK03
und ev. sogar ASSWK04 (s.o.) zur Verfuegung gestellt werden.
- Das VORVERDICHTEN sollte eingeschaltet werden:
- wenn es genau eine nicht generierbare Verdichtungsstufe gibt
oder
- wenn die externe Schnittstellendatei sortiert vorliegt.
Adressraumbedarf fuer Auspraegungstabellen
------------------------------------------
Schluesselauspraegungen werden von PCL1001 von der
externen Darstellung in eine interne Nummer umgeschluesselt.
Diese Umschluesselung wird mit Hilfe von Auspraegungstabellen
durchgefuehrt. Fuer jeden verwendeten Schluessel des
betreffenden Arbeitsgebiets wird programmintern eine Schluessel-
auspraegungstabelle angelegt. Jede Auspraegung belegt hierbei
einen Tabellenplatz. Der Platz, der fuer eine Auspraegung
erforderlich ist, variiert i.a. von Schluessel zu Schluessel
und ist abhaengig davon, ob mit Zeitpruefung gearbeitet wird.
Ein Tabelleneintrag ist folgendermassen aufgebaut:
- interne Nummer 2 Byte (bei interner Laenge 1 oder 2)
4 Byte (bei interner Laenge 3 oder 4)
- Schluesselinhalt 1 bis n Byte in Abhaengigkeit
von der externen Laenge des Schluessels.
- Gueltigkeitsintervall 8 Byte
Dieser Eintrag existiert nur, wenn die
Zeitpruefung eingeschaltet ist
(siehe Option ZEITPRUEF).
In die oben beschriebenen Tabellen werden alle Schluesselaus-
praegungen gestellt, die im Arbeitsgebietsabzug enthalten sind.
Schluesselauspraegungen von Schluesseln der internen Laenge
3 bzw. 4 werden in Abhaengigkeit der Vorlaufkarten-Option
* UMSCHLMAX bzw. UMSCHLPLATZ (s.u.) in Tabellen gestellt.
Auspraegungen, die automatisch ergaenzt werden, werden in
speziellen Ueberlauftabellen gesammelt. Diese werden
sortiert verwaltet. Werden sehr viele Schluesselauspraegungen
ergaenzt, so kann das sortierte Einarbeiten in diese
Ueberlauftabellen zu erhoehtem CPU-Bedarf fuehren.
Ueberlauftabellen werden pro Schluessel verwaltet.
Um nicht zu viel Adressraum zu beanspruchen, wird zunaechst
mit "kleinen" Ueberlauftabellen gearbeitet. Laeuft eine
Ueberlauftabelle ueber, so wird eine neue, groessere einge-
richtet.
Bei Schluesseln der interne Laenge 3 oder 4 wird
installationsabhaengig durch die Variable ALC-AU-UE-MAX
(Text-Datenbank, siehe Handbuch INSTALLATION) die maximale
Tabellengroesse der Ueberlauftabelle festgelegt.
Es ist erstrebenswert, nicht zu viele Schluessel-
auspraegungen ergaenzen zu lassen.
Eine Reduktion kann durch Einsatz der Option KEYZU erreicht
werden (siehe entsprechende Beschreibung).
Zeitpruefung von Schluesselauspraegungen
----------------------------------------
Schluesselauspraegungen koennen in der Transaktion ST06 mit
zeitlichen Gueltigkeitsintervallen versehen werden (Auspraegung
ist gueltig von, bis). Beim Pruefen von externen Schnittstellen
kann gegen diese Zeitintervalle geprueft werden. Ueberprueft
werden dabei Summensaetze. Es werden hierbei alle Zeitangaben
zu Werten mit Werteinhalt ungleich 0 ueberprueft. Bei jeder
aktiven Schluesselauspraegung (d.h. der betreffende Schluessel
ist in mindestens einer aktiven Verdichtungsstufe ausgepraegt
und die aktuelle Schnittstelle enthaelt wenigstens einen
verwendeten Wert dieser Verdichtungsstufe) wird geprueft,
ob jedes Wertedatum im Gueltigkeitsintervall enthalten ist.
Die Pruefung entfaellt, wenn die Schluesselauspraegung noch
nicht in der Schluesseldatenbank enthalten ist.
Die geschilderte Zeitpruefung ist standardmaessig nicht
eingeschaltet. Sie muss explizit durch die OPTION ZEITPRUEF
(s.u.) angefordert werden. Zu beachten ist, dass die Zeit-
pruefung zusaetzliche Rechenzeit und zusaetzlichen
Adressraum fuer Schluesselauspraegungstabellen erfordert.
Die Zeitpruefung erfolgt grundsaetzlich monatsgenau, auch
wenn in der externen Schnittstelle tagesgenaue Daten
angeliefert werden.
VORLAUFKARTE:
------------
Die Optionen in der Vorlaufkarte muessen durch Komma getrennt
werden. Sie koennen zwischen Hochkommata gestellt werden.
Beispiel: NMAXDAT,SORTMAX=1000000
oder: 'NMAXDAT','SORTMAX=1000000'
Es werden nur die Stellen 1 - 72 beruecksichtigt.
Moegliche Optionen:
------------------
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
DRUCK ! Protokoll maximal erzeugen ! DRUCK
! !
NDRUCK ! Protokoll unterdruecken ! DRUCK
! !
MAXDAT ! es wird geprueft, ob das ! MAXDAT
! Wertedatum aufsteigend ist !
! !
NMAXDAT ! Es wird nicht geprueft, ob ! MAXDAT
! das Wertedatum aufsteigend !
! ist !
! !
MAXDATGLEICH ! Wertedatum darf <= dem ! NICHT MAXDATGLEICH
! Datum der letzten Ein- !
! speicherung sein, muss aber!
! >= dem Datum der ersten !
! Einspeicherung sein !
! !
UPDAT ! UPDATE Parameterdatenbanken! UPDAT
! !
NUPDAT ! kein UPDATE der ! UPDAT
! Parameterdatenbanken !
! !
MINUTEN=NNNN ! maximale Laufzeit in ! 1000000
! Minuten !
! !
SAETZE=NNNNNN ! Maximal zu verarbeitende ! 99000000
! Saetze aus Schnittstelle. !
! 0 bedeutet kein Limit. !
! !
SORTMAX=NNNN ! maximal pro SORT-Aufruf zu ! 2000000
! sortierende Saetze !
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
! !
AGNR=NN ! Festlegung, fuer welches ! fehlt diese Angabe,
! Arbeitsgebiet ASSIN01 gilt ! so wird die Schnitt-
! ! stellennummer aus
! ! dem Kopfsatz ge-
! ! nommen
! !
KEYZU ! Diese Option dient nur ! nicht KEYZU
! zum Ergaenzen von !
! Schluesselauspraegungen !
! aus der Schnittstelle in !
! die Schluessel-DB. Sie !
! darf nur fuer Sonderlaeufe !
! hergenommen werden. !
! Anwendungsfall: Vor Ein- !
! speicherung Schluesselaus- !
! praegungen auf Schluessel- !
! Datenbank bringen. !
! SAETZE sollte kleiner als !
! die Anzahl der externen !
! Schnittstellensaetze ge- !
! setzt werden. !
! Weil das Abbruchkriterium !
! nur zum Zeitpunkt des !
! Sortieraufrufs geprueft !
! wird, ist SORTMAX unter !
! Beruecksichtigung der Zahl !
! unter SAETZE=... !
! und den Optionen NOVSTGENER!
! und VORVERDICHTEN geeignet !
! zu waehlen. !
! KEYZU bewirkt, dass !
! grundsaetzliche keine in- !
! terne Schnittstellendatei !
! erzeugt wird. Es erfolgt !
! eine optimierte Verarbei- !
! tung bei der u.a. kein !
! Sort durchgefuehrt wird. !
! Weiterhin werden keinerlei !
! Work-Dateien benoetigt. !
! A c h t u n g: Dement- !
! sprechend erfolgt eine !
! unvollstaendige Verarbei- !
! tung !
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
NOKEYZU ! Neue Auspraegungen in der ! nicht NOKEYZU
! externen Schnittstelle !
! fuehren zu einem Fehler !
! NOKEYZU impliziert !
! FEHLER = 0 !
! !
FEHLER=nnn ! Obergrenze fuer fehlerhafte! 100
! Summensaetze ! werden mehr fehler-
! ! hafte Summensaetze
! ! als maximal zu-
! ! laessig erkannt, so
! ! wird PCL1001 vor-
! ! zeitig beendet.
! !
! !
EXIT=PROGRAMM ! Bei diser Angabe erwartet ! keine kuerze
! PCL1001 eine externe ! Schnittstelle
! Schnittstelle im kurzen !
! Format. Diese Angabe !
! muss unbedingt mit dem !
! tatsaechlichen Format der !
! Schnittstelle harmonieren. !
! !
NOVSTGENER ! Generierung von ! Verdichtungsstufen
! Verdichtungsstufen aus ! generieren
! anderen Verdichtungsstufen !
! ausschalten !
! !
VORVERDICHTEN ! siehe ausfuehrliche ! nicht VORVERDICHTEN
! Beschreibung oben. !
! !
CHKP_PRIVAT ! aktivieren der "privaten" ! nicht CHKP_PRIVAT
! Checkpoint-Schreibung !
! !
INVERS ! der Werteinhalt wird mit ! nicht INVERS
! inversen Vorzeichen !
! verarbeitet !
! Anwendungsfall: Fehlein- !
! speicherungen rueckgaengig !
! machen !
! !
ZEITPRUEF ! Zeitpruefung von Schl.- ! nicht ZEITPRUEF
! auspraegungen einsch. s.o. !
! !
KEYLIST ! neu ueber die ext. Schnitt-! nicht KEYLIST
! stelle hinzugekommene Aus- !
! praegungen zum jeweiligen !
! Schluessel protokollieren !
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
VSTNR=nnn ! Verdichtungsstufen, in die ! nicht VSTNR
! eingespeichert werden soll,!
! explizit angeben. !
! Hierbei ist fuer nnn die !
! jeweilige Verdichtungs- !
! stufennummer anzugeben. !
! Beispiel: !
! VSTNR=17 , VSTNR=31 !
! Mittels dieser Option kann !
! man Einspeicherungen in !
! stillgelegte Verdichtungs- !
! stufen vornehmen. !
ASSIN=nn ! Wird z.B. ASSIN=03 ange- ! keine Angabe
! geben, so werden nachein- !
! ander die Dateien ASSIN01, !
! ASSIN02, ASSIN03 gelesen u.!
! verarbeitet. Das Verarbei- !
! tungsergebnis entspricht !
! einer Konkatenierung von !
! ASSIN01, ASSIN02 und !
! ASSIN03 unter dem DD-Namen !
! ASSIN01. Diese Option ist !
! vorwiegend fuer Siemens- !
! Umgebungen gedacht. !
! !
NOWEPRUEF ! Diese Option bewirkt ! WEPRUEF
! folgendes: !
! - Eindeutigkeit von Werte- !
! nummer + Wertedatum in !
! Kopfsaetzen wird nicht mehr!
! geprueft. !
! - Wird im Kopfsatz nur ein !
! Zeitraum angekuendigt, so !
! wird aus den zugehoerigen !
! Summensaetzen nur der ange-!
! kuendigte Zeitraum ueber- !
! nommen. !
! !
MST0169 ! Vor der Verarbeitung eines ! nicht MST0169
! Summensatzes wird der User-!
! Exit MST0169 aufgerufen, !
! um den aktuellen Summen- !
! satz vor der Verarbeitung !
! ev. zu veraendern. !
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
VERDICHTEN ! Diese Option bewirkt, dass ! nicht VERDICHTEN
! Zwischenergebnisse auf !
! ASSWONN, ASSWK01, ASSWK02, !
! ASSWK03 und ASSWK04 ver- !
! dichtet gespeichert werden.!
! Sie reduziert dort den !
! Platzbedarf, erfordert da- !
! fuer jedoch mehr CPU-Zeit. !
! Ebenso wird der Platzbedarf!
! fuer die Sort-Dateien !
! reduziert. !
! !
KEYUPDATE ! Mit dieser Option koennen ! nicht KEYUPDATE
! mehrere PCL1001 fuer !
! verschiedene Arbeitsgebiete! bei KEYLUECKE gilt
! parallel laufen. Dabei ! jedoch KEYUPDATE
! werden Schluesselaus- !
! auspraegungen, die nicht !
! im PCL1004-Abzug enthalten !
! sind, sofort in die !
! Schluesseldatenbank einge- !
! fuegt, sofern sie !
! dort noch nicht enthalten !
! sind. Diese Option er- !
! fordert ein serialisiertes !
! Zugreifen zur Schluessel- !
! datenbank. !
! Diese Option steht zur Zeit!
! nur fuer ISAM und auf !
! Anforderung fuer DL/I mit !
! IMS zur Verfuegung. !
! !
KEYLUECKE ! Beim Ergaenzen von ! nicht KEYLUECKE
! Schluesselauspraegungen !
! werden eventuelle Luecken !
! aufgefuellt. !
! Impliziert KEYUPDATE !
! !
INDEX_GEN=n ! Generierung von Indizes ! INDEX_GEN=0
! (Relationen) aus !
! Verdichtungsstufen mit ! bei UMBUCH gilt
! mindestens 1 und hoechstens! jedoch INDEX_GEN=0
! n - 1 Saetzen. !
! !
UMBUCH ! Umbuchung von ! nicht UMBUCH
! Bestandswerten aus einer ! impliziert
! Aenderungsschnittstelle ! NOVSTGENER
! von dem Dienstprogramm ! VORVERDICHTEN
! PCL1019. ! INDEX_GEN=0
! ! nicht VSTNR
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
UMSCHLMAX=n ! Anzahl Auspraegungen pro ! UMSCHLMAX=0
! Schluessel mit interner !
! Laenge 3 oder 4, die in !
! Hauptspeicher maximal !
! eingelesen werden !
! !
* UMSCHLPLATZ=n ! Adressraum in Bytes, in den! UMSCHLPLATZ=0
* ! Auspraegungen von !
* ! Schluessel mit interner !
* ! Laenge 3 oder 4 in den !
* ! Hauptspeicher eingelesen !
* ! werden !
! !
CANZSA_GENER_MAX! Generierung aus Verdich- ! CANZSA_GENER_MAX=0
= n ! tungsstufen mit maximal ! Steuerung nicht
! n Saetzen ! aktiv
NO_EURO_PRUEF ! Mit dieser Optionen koennen! Pruefen
! Pruefungen bei Euro-Werten !
! mit Stichtag bei Bestands- !
! fortschreibung durch Bewe- !
! gungsanlieferung ausge- !
! schaltet werden. Diese !
! Option ist gefaehrlich. Sie!
! ist nur zulaessig, wenn !
! sichergestellt ist, dass !
! in der Schnittstelle !
! Gegenbuchungen enthalten !
! sind, die bewirken, dass !
! sich die Bewegungen nur !
! auf einen Zeitpunkt aus- !
! wirken. !
! !
SICHTEN ! Diese Option bewirkt, dass ! keine Sichten
! eine aktive Verdichtungs- !
! stufe betrachtet wird, !
! wenn die Schnittstelle !
! einen ausgepraegten !
! Schluessel dieser Verdich- !
! tungsstufe und einen !
! verwendeten Wert enthaelt. !
! Betrachtete Verdichtungs- !
! stufen muessen bzgl. der !
! Schluessel vollstaendig !
! bedient werden. Die !
! erforderlichen Schluessel !
! koennen auch durch die !
! Optionen INHALT bzw. !
! INHALT_ERS geliefert !
! werden. Diese !
! Option ist gefaehrlich. !
! Sie darf nur benutzt wer- !
! den, wenn im betreffenden !
! Arbeitsgebiet die Verdich- !
! tungsstufen geeignet defi- !
! niert sind und mit den !
! Einspeicherungen hierfuer !
! harmonieren. !
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
EXIT_TEXT ! Es wird eine externe ! nicht EXIT_TEXT
! Schnittstelle im Textformat!
! erwartet (HSYSDOK,Kap. 5.3)!
BESTANDSUEBERNAHME! Steuerung der Verarbeitung ! nicht
! externer Schnittstellen ! BESTANDSUEBERNAHME
! mit Bestandswerten und !
! Bestandsanlieferung !
! (siehe auch PCL1002) !
GENVST ! s.o. !
GENVST_NICHT_ABBRECHEN ! s.o. !
! !
NO_END_CNT_VAL ! Zaehler fuer Summensaetze ! pruefen
! im Endesatz nicht pruefen !
! !
ASSWK = n ! n = 3 oder 4, Generierung !
! von Verdichtungsstufen !
! optimieren (s.o.) !
! !
ISAMSORT ! nur am PC und dort ! nicht ISAMSORT
! empfehlenswert !
! !
INHALT (...) = ... ! Schluesselinhalte via !
! Vorlaufkarte, s.u. !
! !
INHALT_ERS (...) = ... ! Schluesselinhalte !
! via Vorlaufkarte, s.u. !
! !
* ASSAU ! Auf die Schluesseldatenbank! nicht ASSAU
* ! eingefuegte Auspraegungen !
* ! auf die Datei ASSAU aus- !
* ! geben. !
Option ! Bedeutung ! Voreinstellung
-------------------------------------------------------------------
! !
BS2000-ANSI ! Externe Schnittstelle ! keine Uebersetzung
! von BS2000-EBCDIC nach !
! ANSI (Unix) uebersetzen. !
! !
MVS_ANSI ! Externe Schnittstelle ! keine Uebersetzung
! von MVS-EBCDIC nach !
! ANSI (Unix) uebersetzen. !
! !
OS2_ANSI ! Externe Schnittstelle ! keine Uebersetzung
! von Windows (OS2) nach !
! ANSI (Unix) uebersetzen. !
! !
BS2000_MVS ! Externe Schnittstelle ! keine Uebersetzung
! von BS2000-EBCDIC nach !
! MVS-EBCDIC uebersetzen. !
! !
MVS_BS2000 ! Externe Schnittstelle ! keine Uebersetzung
! von MVS-EBCDIC nach !
! BS2000-EBCDIC uebersetzen. !
Generierung von Verdichtungsstufen: CANZSA_GENER_MAX=n
Ist die Vorlaufkartenoption NOVSTGENER nicht angegeben, so
unterscheidet PCL1001 zwischen generierbaren und nicht generierbaren
Verdichtungsstufen. Die Einteilung haengt allein von den ausge-
praegten Schluesseln und Werten ab, d.h. ob sich die Informationen
aus anderen Verdichtungsstufen (durch Summierung) ergeben.
Dieses kann in der Praxis dazu fuehren, dass alle Verdichtungs-
stufen bis auf die Basis generierbar sind und sich ein unguenstiges
Verhalten bzgl. Platz und Laufzeit ergibt. Durch die Angabe
von CANZSA_GENER_MAX=n gelten alle Verdichtungsstufen mit 0 oder
mehr als n Saetzen als nicht generierbar und werden zum Generieren
auch nicht verwendet. Fuer alle uebrigen Verdichtungsstufen wird
folgendermassen verfahren: die Verdichtungsstufen werden intern
nach der Anzahl Saetze, die sie enthalten, sortiert. Eine
Verdichtungsstufe gilt als generierbar, wenn sich ihre Information
aus anderen Verdichtungsstufen ergibt. Diese anderen Verdichtungs-
stufen sind automatisch nicht generierbar.
Generierung von Indizes (Relationen): INDEX_GEN=n
Standardmaessig sind Indizes nicht aus anderen Verdichtungsstufen
generierbar. Ueber die Vorlaufkartenoption INDEX_GEN=n kann dies
abgeaendert werden, wobei n fuer eine positive Zahl steht, zum
Beispiel INDEX_GEN=100000. Dann wird zur Generierung eines Index die
kleinste Verdichtungsstufe genommen, die mindestens einen Satz und
hoechstens n - 1 Saetze enthaelt. Mit INDEX_GEN=0 (dem Standard) wird
die Generierung von Indizes deaktiviert. Folglich ist die Angabe der
Option bei einer Ersteinspeicherung wirkungslos, da dann noch jede
Verdichtungsstufe leer ist. Des weiteren kann weder eine Verdich-
tungsstufe noch ein Index aus einem Index generiert werden.
Intern koennen bei der Generierung von Indizes sogenannte Nullsaetze
zu den nicht generierbaren Verdichtungsstufen erzeugt werden. Diese
Nullsaetze sind notwendig: wenn ein Index fuer mehrere Verdichtungs-
stufen geeignet ist und ein Satz der externen Schnittstelle jedoch
wegen der verwendeten Werte nicht in die Verdichtungsstufe ueber-
nommen werden muss aus der der Index generiert wird. Diese Null-
saetze werden erst durch das Dienstprogramm PCL1002 eliminiert.
Die Option INDEX_GEN wird bei Angabe der Option UMBUCH ignoriert.
Umbuchung von Bestandswerten: UMBUCH
Das Umbuchen von Bestandswerten aus einer Schnittstelle des
Dienstprogrammes PCL1019 (mit der Angabe AENDERN) erfolgt mit dieser
Option. Voraussetzung an diese Schnittstelle ist, dass bei
Bestandswerten wie durch PCL1019 der Folgemonat wieder rausgebucht
wird.
Umgebucht werden saemtliche Verdichtungsstufenmengen, die mindestens
eine aktive Verdichtungsstufe enthalten, selbstverstaendlich ausser
sequentielle Verdichtungsstufen mit der Art 1, da diese ja nicht
fortgeschrieben werden koennen. Es werden also auch stillgelegte
Verdichtungsstufen umgebucht, falls sie in einer Menge enthalten sind
mit mindestens einer aktiven Verdichtungsstufe. Die eingespeicherten
Zeiten duerfen sich nur soweit ueberlappen, dass mindestens ein Monat
jeder Verdichtungsstufe nicht durch andere dieser Menge abgedeckt
wird. Des weiteren ist zu beachten, dass ueberlappende Zeiten nur in
einer Verdichtungsstufe umgebucht werden. Deshalb sollte man ueber-
lappende Zeiten moeglichst vermeiden. Durch das Dienstprogramm
PCL1042 gesplittete Mengen haben keine ueberlappende Zeiten. Um
Inkonsistenz zu vermeiden, wird ueberprueft, ob jeder Werteintrag in
jeder Menge bezueglich der eingespeicherten Zeiten umbuchbar ist.
Ansonsten wird der Satz als fehlerhaft abgewiesen.
Die Option UMBUCH impliziert die Optionen NOVSTGENER, VORVERDICHTEN
und INDEX_GEN=0 auch unabhaengig von gegenteiligen Angaben in der
Vorlaufkarte. Dagegen fuehrt die Angabe der Option VSTNR zu einer
Fehlermeldung.
Die Umbuchung kann auch stillgelegte Verdichtungsstufen betreffen.
Ergaenzung von Schluesselauspraegungen (Option KEYLUECKE)
Wenn das Dienstprogramm PCL1001 neue Schluesselauspraegungen
ergaenzt, so wird standardmaessig als interne Nummer der Auspraegung
die groesste bisher vergebene Nummer plus eins genommen.
Durch Umbuchungen (zum Beispiel mit PCL1019) koennen nun
Schluesselauspraegungen auf der Schluesseldatenbank verbleiben, auf
die es keinen Bezug aus Verdichtungsstufen mehr gibt. Trifft dies
fuer sehr viele Auspraegungen zu, so koennen diese mit dem
Dienstprogramm PCL1055 von der Schluesseldatenbank geloescht werden.
Die dabei entstehenden Luecken werden jedoch standardmaessig nicht
fuer neue Auspraegungen wieder benutzt. Diese Luecken kann man
entweder mit dem Dienstprogramm PCL1058 (dabei muessen jedoch
saemtliche betroffenen Verdichtungsstufen neu geladen werden)
schliessen oder mittels der Option KEYLUECKE.
Die Option KEYLUECKE impliziert die Option KEYUPDATE. Da jedoch fuer
jede zu ergaenzende Auspraegung saemtliche Auspraegungen zu diesem
Schluessel nachgelesen werden muessen, werden die Auspraegungen
zunaechst wie im Standardfall ergaenzt. Erst beim Erreichen der
Obergrenze werden die Luecken abgesucht.
Einspeicherung in Schluessel mit interner Laenge > 2
Schluessel mit interner Laenge > 2 gelten im ASS als Massen-
schluessel mit vielen Auspraegungen. Daher werden in der Regel
die Auspraegungen derartiger Schluessel im Rahmen der Einspeiche-
rung nicht intern in Tabellen verwaltet (Platzproblem). Fuer
das Ermitteln der internen Zaehlnummer (verdichteter Inhalt) zu
einem Schluesselinhalt eines Schnittstellensatzes ist daher
jeweils ein Schluesseldatenbankzugriff erforderlich.
Kann durch das System hinreichend viel Adressraum zur Verfuegung
gestellt werden, so kann durch die Angabe von UMSCHLMAX=n
dieses Verhalten verbessert werden. Zu jedem Schluessel mit
interner Laenge > 2, wird soviel Adressraum angefordert, dass
n Auspraegungen darin Platz finden. Das Verfahren wird jedoch
nur fuer die Schluessel angewandt, deren Auspraegungsanzahl
hoechstens 4 mal so gross ist wie das angegebene n. Hierdurch
wird erreicht, dass einerseits nicht unnoetig allokiert wird,
andererseits jedoch ein Grossteil der Datenbankzugriffe vermieden
wird. ACHTUNG: Bei Angabe dieser Option darf das Programm PCL1004
nicht mit der Option OA laufen.
* Analog zu UMSCHLMAX koennen mit der Angabe UMSCHLPLATZ=n die
* Zugriffe auf die Schluesseldatenbank deutlich reduziert werden.
* Mit UMSCHLPLATZ wird vorgegeben, wieviel Adressraum (in Bytes)
* fuer Auspraegungstabellen fuer Schluessel mit interner Laenge > 2
* maximal verwendet werden soll.
* Die Angabe ueber Vorlaufkarte ist erforderlich, da i.a. nicht
* ermittelbar ist, wieviel Adressraum zur Verfuegung steht
* (bestimmter Adressraum muss z.B. fuer Satzpuffer oder den Sort
* freigehalten werden). Pro Schluessel mit interner Laenge > 2
* wird maximal der Platz fuer m Auspraegungen benoetigt, wobei
* m die naechste interne Nummer fuer die Auspraegungen des
* betreffenden Schluessels ist (es wird die naechste interne
* Nummer verwendet, da die Anzahl Auspraegungen nicht bekannt ist).
* Alle Auspraegungen, die in den Arbeitsspeicher eingelesen werden,
* werden via Arbeitsspeicher umgeschluesselt, fuer den Rest wird
* auf die Schluesseldatenbank zugegriffen.
* Platzbedarf fuer eine Schluesselauspraegung:
* 4 Byte fuer die interne Nummer +
* n Byte fuer den Schluesselinhalt (n = externe Laenge) +
* 8 Byte fuer ein Zeitintervall, falls die Zeitpruefung fuer
* Schluesselauspraegungen aktiviert wurde (ist i.a. nicht der Fall).
* Die Angaben bei UMSCHLPLATZ sollten mindestens im Megabyte-Bereich
* liegen.
* ACHTUNG: Bei Angabe von UMSCHLPLATZ darf das Programm PCL1004
* nicht mit der Option OA laufen.
* Die Optionen UMSCHLMAX und UMSCHLPLATZ duerfen nur alternativ
* verwendet werden.
* ASSAU
* -----
* Auf die Schluesseldatenbank eingefuegte Auspraegungen werden
* auf die Datei ASSAU ausgeben. Die Ausgabe erfolgt
* semikolonsepariert als Textdatei. Die Eintraege bestehen aus
* folgenden Feldern:
* - Datum in der Form JJMMTT, Startdatum von PCL1001
* - Arbeitsgebietsnummer, 3-stellig mit fuehrenden Nullen
* - Schluesselnummer, 5-stellig mit fuehrenden Nullen
* - Schluesselbezeichnung, 20 Byte
* - Schluesselinhalt, 32 Byte
* - Verdichteter Schluesselinhalt, 9-stellig mit fuehrenden Nullen
* Am Host haben die Saetze die fixe Laenge 80, am PC das
* Format line-sequential. Die Ausgabe ist sortiert. Da die Ausgabe
* im Textformat erfolgt, werden Bitschluessel nicht ausgegeben.
*2 Ist die Option ASSAU gesetzt, so werden auf die Schluessel-
* datenbank eingefuegte Schluesselauspraegungen nicht im
* Ablaufprotokoll aufgefuehrt.
Schluessel via Vorlaufkarte
---------------------------
I.a. muss eine externe Schnittstelle, die in ein bestimmtes
Arbeitsgebiet eingespeichert werden soll, alle Schluessel,
die in diesem Arbeitsgebiet gebraucht werden, anliefern.
Die angekuendigten Werte bestimmen die benoetigten Verdichtungs-
stufen. Alle in diesen Verdichtungsstufen ausgepraegten
Schluessel sind die erforderlichen Schluessel.
Fehlen Schluessel, so koennen diese durch Vorlaufkartenangaben
ergaenzt werden: INHALT (Schluesselnummer) = 'Schluesselinhalt'
Einem Schluessel kann hierdurch genau ein (fester)
Schluesselinhalt zugeordnet werden.
Die durch INHALT (...) angegebenen Schluessel ergaenzen die
externen Schnittstelle.
Werden Schluessel angegeben, die nicht gebraucht werden
oder die in der externen Schnittstelle bereits enthalten sind,
so werden diese Angaben ignoriert.
Sollen die Inhalte eines Schluessel der externen Schnittstelle
durch einen festen Inhalt ueberschrieben werden, so wird dies
durch INHALT_ERS (Schluesselnummer) = 'Schluesselinhalt'
ermoeglicht. Fehlt der betreffende Schluessel in der externen
Schnittstelle, so wirken die Schluessel von INHALT_ERS wie
die Schluessel von INHALT.
Es koennen maximal 90 Schluessel durch INHALT bzw. INHALT_ERS
versorgt werden.
2.2 Verarbeiten der internen Schnittstelle PCL1002
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Interne Schnittstellen fuer komprimierte Verdichtungsstufen
werden vom Programm PCL1002 weiterverarbeitet.
Hierbei gibt es unterschiedliche Varianten:
1. Variante: (Ur-) Laden einer bzw. mehrerer Summendatenbanken.
2. Variante: Alte Summendatenbank(en) auf sequentielle
Datei abziehen, mit interner Schnittstelle
mischen und wieder auf Summendatenbank(en)
speichern.
3. Variante: Interne Schnittstelle direkt in Summendatenbank(en)
einarbeiten.
4. Variante: Interne Schnittstelle additiv zu(r) bestehenden
Summendatenbank(en) dazuspeichern.
5. Variante: Abgleich von Plandaten.
Welche Variante zum Einsatz kommt, wird ueber Vorlaufkarte
gesteuert. Die Moeglichkeiten bei den Vorlaufkarten sind
weiter unten beschrieben.
Bevor die Varianten im einzelnen beschrieben werden, sollen
zunaechst noch einige variantenuebergreifende Bemerkungen
gemacht werden.
Der INPUT von PCL1002 besteht aus einer internen Schnittstelle,
den Parameterdatenbanken DST001, DST002, DST003, mitunter
aus einem Abzug von Verdichtungsstufen aus Summendatenbanken
und bei der Variante 2 ev. auch noch aus "alten"
sequentiellen Verdichtungsstufen.
Das Verarbeitungsergebnis von PCL1002 besteht aus einem
UPDATE der Steuerungsdatenbank DST003, von neuen oder
geaenderten Summendatenbanken und ev. aus neuen sequentiellen
Verdichtungsstufen.
Eine Summendatenbank kann in einer DLI-Umgebung mit HSSR
abgezogen werden. Falls HSSR nicht zur Verfuegung steht
oder Summendatenbanken nicht in DLI gespeichert sind, muessen
Summendatenbanken mit dem Programm PCL1024 abgezogen werden
(Beschreibung siehe unten).
Werden Verdichtungsstufen in einem Arbeitsgebiet auf mehrere
Summendatenbanken verteilt und werden in einem Lauf von PCL1002
Verdichtungsstufen aus mehreren Summendatenbanken fortge-
schrieben, so muss der Abzug der "alten" Verdichtungsstufen
mit dem Programm PCL1124 erzeugt werden.
Werden Summendatenbanken vollstaendig neu erstellt,
so kann man das Laden entweder direkt vom PCL1002 durchfuehren
lassen oder aber Ladebestaende erstellen, die anschliessend
vom Programm PCL1013 geladen werden koennen. Bei grossen
Summendatenbanken fuehrt man das Laden besser mit PCL1013
durch, da PCL1013 mit einem reinen Lade-PSB arbeiten kann
und kein Logging anfaellt. Laedt man mit PCL1002, so kann auf
das Logging nicht verzichtet werden.
Das Laden mit PCL1013 ist weiter unten beschrieben.
Man kann die UPDATE's, die von PCL1002 auf der Steuerungs-DB
durchgefuehrt werden, auch verzoegern, indem man die
Datenbankaenderungen zunaechst auf eine Datei schreiben laesst.
Die Aenderungen aus dieser Datei koennen dann mit dem
Programm PCL1032 auf die Steuerungsdatenbank gespielt werden.
Man kann also im Extremfall PCL1002 so laufen lassen, dass
keine Datenbankaenderungen durchgefuehrt werden.
Hinweis fuer BMP:
Laesst man PCL1002 als BMP laufen, so kann man nicht die
PROCOPT=LS benutzen.
Hinweis fuer Siemens:
Werden Summendaten waehrend des ONLINE-Betriebes eingespeichert,
so sollte das betreffende Arbeitsgebiet vorher gesperrt werden,
damit nicht parallel Auswertungen versucht werden. Das Sperren
verhindert im Prinzip nur technische Fehlermeldungen (z. B.
Fehlermeldungen beim Oeffnen einer Datei). Wird mit verteilten
Summendatenbanken gearbeitet, so ist das Sperren jedoch unbedingt
erforderlich, um Ueberholeffekte Einspeicherung/Auswertung
zu verhindern. Diese Ueberholeffekte muessen auch bei BATCH-
Auswertungen durch Sperren der betreffenden Arbeitsgebiete
verhindert werden. Es ist darauf zu achten, dass in der JCL des
PCL1002 die Parameterdatenbanken mit SHARUPD=YES, die Summen-
datenbanken dagegen mit SHARUPD=NO angegeben werden.
Die Varianten im einzelnen:
1. Variante:
-----------
(Ur-) Laden von Summendatenbanken.
Variante 1a.:
Wird in einem Arbeitsgebiet eine interne Schnittstelle
zum allerersten mal verarbeitet, so ergeben sich natuerlich
noch keinerlei Fortschreibungsprobleme. Daher eignet sich
diese Variante zum erstmaligen Laden von Daten in die
ASS-Bestaende.
Gibt es in einem Arbeitsgebiet Werte vom Typ BESTAND,
so kann nur die Variante 1 zur Urladung (vollstaendige
Bestandsuebernahme) herangezogen werden.
In diesem Fall ist keine Vorlaufkarte erforderlich.
Variante 1b.:
Ansonsten kann diese Variante in all den Faellen angewandt
werden, in denen die interne Schnittstelle die kompletten
Summenbestaende enthaelt. PCL1002 wird dann mit der
Option LADEN eingesetzt (betrifft PCL1042, PCL1051 und PCL1058).
2. Variante:
-----------
Alte Summendatenbank(en) auf sequentielle
Datei abziehen, mit interner Schnittstelle
mischen und wieder auf Summendatenbank(en)
speichern.
Die 2. Variante ist der Standardfall der Folgeeinspeicherung.
Diese Variante muss gewaehlt werden, wenn aktive
Verdichtungsstufen auf seq. Datentraegern existieren oder wenn
in der externen Schnittstelle Bestandswerte angeliefert werden.
Darueber hinaus empfiehlt sich diese Variante, wenn
Summendatenbanken reorganisiert werden sollen und wenn die
interne Schnittstelle im Verhaeltnis zur Summendatenbank nicht
als sehr klein anzusehen ist.
3. Variante:
-----------
Interne Schnittstelle direkt in Summendatenbank(en)
einarbeiten.
Die 3. Variante ist fuer folgenden Anwendungsfall gedacht:
In einem Arbeitsgebiet gibt es keine Verdichtungsstufen auf
seq. Datentraegern. Die Werte in den Summendaten werden
durch Bewegungen fortgeschrieben. Die Anzahl der Bewegungen,
die auf die Summendaten gespielt werden sollen, ist im
Verhaeltnis zu den bereits vorhandenen Summendaten klein.
Eine Folgeeinspeicherung entsprechend Variante 2, die
technisch moeglich ist, ist fuer diesen Anwendungsfall
sehr teuer.
In diesem Fall kann man daher die interne Schnittstelle direkt
von PCL1002 in die Summendatenbank(en) einarbeiten lassen, und
zwar durch die Verarbeitungsoption DIREKTSP.
ACHTUNG:
I.a. werden Saetze in der Summendatenbank durch Folgeein-
speicherungen laenger.
Dies fuehrt z.B. in einer DLI-Umgebung zu SEGMENT-SPLIT's.
Man kann eine Reorganisation erreichen, wenn man von Zeit zu
Zeit eine Folgeeinspeicherung gemaess Variante 2 durchfuehrt.
4. Variante:
-----------
Interne Schnittstelle additiv zu(r) bestehenden
Summendatenbank(en) dazuspeichern.
Die 4. Variante funktioniert im Prinzip wie die erste
Variante. Sie setzt nur voraus, dass Summendatenbanken
bzw. seq. Verdichtungsstufen bereits existieren, die
vorhandene Schnittstelle aber nur zusaetzliche Summensaetze
enthaelt, die in den Summendaten ergaenzt werden sollen.
Bei Einsatz dieser Variante werden die schon in den Datenbanken
vorhandenen Saetze beibehalten. Es findet nur eine
Erweiterung statt.
Die Variante 4 wird durch die Vorlaufkarte VST_ERGAENZ
angefordert. Diese Vorlaufkartenoption ist unten bei den
Vorlaufkarten beschrieben.
5. Variante:
-----------
Abgleich von Vorgabewerten (Plandaten) bzw. Erfasswerten
Mit dieser Programmfunktion werden die Vorgabe-/Erfasswerte
eines Arbeitsgebietes durch die Vorgabe-/Erfasswerte aus einem
Sicherungs-Abzug ersetzt. Der Rest der aktuellen Summendaten
bleibt dabei unveraendert.
Diese Variante ist fuer folgendes Problem gedacht:
In einem Arbeitsgebiet sind Vorgabe-/Erfasswerte definiert und
auch laufend erfasst worden. Fehler in der Folgeeinspeicherung
oder Fehler im Schnittstellenprogramm machen es erforderlich,
fuer einen bestimmten Zeitraum Folgeeinspeicherungen zu
wiederholen. Hierzu muessen die Summendaten zeitlich
zurueckgesetzt werden, etwa auf den 10. eines bestimmten
Monats. Vorgabe-/Erfasswerte wurden aber noch am 11. und 12.
erfasst. Dies haette zur Konsequenz, dass die
Erfassungsarbeiten vom 11. und 12. verloren waeren.
Man kann die Vorgabe-/Erfasswerte des 11. und 12. retten, wenn
man als allererstes einen Summendaten-Abzug (siehe 2.4)
der aktuellen Summendaten macht, danach zuruecksetzt
und die Wiederholungslaeufe durchfuehrt.
Zum Schluss werden dann die Vorgabe-/Erfasswerte der anfangs
abgezogenen Summendaten mit der Option V_ABGLEICH / E_ABGLEICH
unter Angabe eines Arbeitsgebietes wieder auf die reparierten
Summendaten gespielt.
ACHTUNG: Es koennen nur die Werte und Verdichtungsstufen
behandelt werden, die zum Laufzeitpunkt in der
Steuerungsdatenbank definiert sind, d.h.
wurden am 11. oder 12. neue Vorgabe-/Erfasswerte
in der Steuerungsdatenbank definiert, so sind
diese Werte verloren.
Der Abzug der Summendaten wird ueber DBALT eingelesen und
die aktuellen Summendaten werden direkt angesprochen.
6. Variante:
-----------
Gewoehnlich ist die Uebernahme von Bestandswerten mit Anliefer-
ungsart Bestand nur Monat fuer Monat zulaessig. Durch Angabe von
NMAXDAT in PCL1001 werden jedoch die zugehoerigen Pruefungen
deaktiviert. Werden nun bei der Einspeicherung Monate ausge-
lassen, so wird das zeitliche Gueltigkeitsintervall eines
Werteinhalts vergroessert.
Beispiel:
---------
Eingespeichert sind zu einer Schluesselinhaltskombination zum
Zeitaspekt 0103 100 Einheiten (Datum letzte Einspeicherung) und
fuer 0303 zur gleichen Schluesselinhaltskombination werden
200 Einheiten angeliefert. In diesem Fall liefert die Auswertung
fuer 0103 und 0203 (!) als Ergebnis 100 Einheiten.
Durch Angabe der Option BESTANDSUEBERNAHME aendert sich das
Verhalten. Im selben Beispiel wuerde die Auswertung von 0203
0 Einheiten liefern. Aehnliches gilt, wenn in einem Lauf mehrere
Zeitaspekte eingespeichert werden. Auch hier werden in den
"zeitlichen Luecken" Null-Inhalte erzeugt.
Bemerkung: Die Behandlung von bereits eingespeicherten Saetzen,
die in der Schnittstelle nicht angeliefert werden, bleibt unbe-
ruehrt. Diese (Alt-)Bestaende werden weiterhin durch Null-Setzung
der betreffenden Bestandswerte zeitlich abgeschlossen.
Ausserdem ist weiterhin die Anlieferung zu einem Monat nur einmal
gestattet.
Ablauf ohne Restart:
-------------------
.---. .---. .---. .---.
,' ', ,' ', ,' ', ,' ',
!'.___.'! !'.___.'! !'.___.'! !'.___.'!
! ! ! ! ! ! ! !
! 100 ! ! 110 ! ! 120 ! ! 130 !
! ! ! ! ! ! ! !
'.___.' '.___.' '._ _.' '.___.'
!_______ !____ _____! !
! ! ! !
!_______ ! ! !
_______ ! ! ! ________________!
/ ! ! ! ! !
! 140 ! ! ! ! ! .---.
+-------+ V V V V ,' ',
! *************** !'.___.'!
.---. +------->! ! ! !
,' ', ! PCL1002 !-------------------->! 160 !
!'.___.'!---------->! ! ! !
! ! *************** '.___.'
! 196 ! ! ! ! ! ! !______________________________
! ! ____________! ! ! ! !____________________ !
'.___.' ! ! ! !________________ ! !
! ! + - - - - ->+ ! ! !
! ! ! ! V V
V V ! ! .---. .---.
.---. .---. ! ! ,' ', ,' ',
,' ', ,' ', ! ! !'.___.'! !'.___.'!
!'.___.'! !'.___.'! ! ! ! ! ! !
! ! ! ! ! ! ! 195 ! ! 196 !
! 170 ! ! 180 ! ! ! ! ! ! !
! ! ! ! ! ! '.___.' '.___.'
'.___.' '.___.' ! V +___ !
_______ ! ! ********** ! !
/ ! ! ! ! ! ! !
! 200 ! ! ! ! 190 ! ! !
+-------+ V ! ! *** V V
! *************** ! ! / *************
! ! ! ! ***** ! !
+------> ! PCL1013 !- - ->! ! PCL1032 !
! ! ! ! !
*************** ! *************
! ! ! !
! ! +------+ !
V V V V
************ .---. ************ .---.
! ! ,' ', ! ! ,' ',
! 220 ! !'.___.'! ! 320 ! !'.___.'!
! ***** ! ! ! ***** ! !
! / ! 230 ! ! / ! 330 !
***** ! ! ***** ! !
'.___.' '.___.'
Dateibeschreibung:
-----------------
Lfd.-Nr. ! DD-Name/PGM ! Beschreibung
! LINK-Name !
---------!--------------!---------------------------------------------
100 ! //DBALT ! Abzug der Summendatenbank
! ! Aktivieren fuer Variante 2 und Variante 5
! ! Auf DUMMY setzen fuer Variante 1,
! ! Variante 3 und
! ! Variante 4
! !
110 ! //AE ! Interne Schnittstelle aus PCL1001
! !
120 ! //DST001 ! Werte-DB
! //DST011 ! Primaer-Index (nur DLI)
! //DST012 ! Sekundaer-Index 1 (nur DLI)
! //DST013 ! Sekundaer-Index 2 (nur DLI)
! //DST002 ! Schluessel-DB
! //DST021 ! Primaer-Index (nur DLI)
! //DST022 ! Sekundaer-Index 1 (nur DLI)
! //DST023 ! Sekundaer-Index 2 (nur DLI)
! //DST003 ! Steuerungs-DB
! //DST031 ! Primaer-Index (nur DLI)
! //DST032 ! Sekundaer-Index 1 (nur DLI)
! //DST033 ! Sekundaer-Index 2 (nur DLI)
! //DST007 ! Text-DB
! //DST071 ! Primaer-Index (nur DLI)
! !
130 ! //ASSCI01 ! Vortragsbestand der sequentiellen Verdich-
! bis ! tungsstufen. Nur die benoetigten Dateien
! //ASSCI50 ! muessen zugewiesen werden.
! ! Die letzten beiden Ziffern bezeichnen
! ! den Ort der Verdichtungsstufe.
! !
140 ! //VORLAUF ! Vorlaufkarte, auf DUMMY setzen und bei
! ! Bedarf aktivieren.
! !
160 ! - ! LOGDATEI (nur DLI)
! !
170 ! //ASSCO01 ! Fortschreibung der sequentiellen Verdich-
! bis ! tungsstufen. Nur die benoetigten Dateien
! //ASSCO50 ! muessen zugewiesen werden.
! ! Die letzten beiden Ziffern bezeichnen
! ! den Ort der Verdichtungsstufe.
! !
180 ! //AUS ! Ausgabe PCL1002,
! ! Ladebestand, falls mit PCL1013 (//LADE)
! ! oder ADAWAN geladen wird
! //AUSnn ! Ladebestand analog zu //AUS fuer Summen-
! ! datenbanken von Verdichtungsstufen, die
! ! nicht in der direkt dem Arbeitsgebiet
! ! zugeordneten Summendatenbank gespeichert
! ! werden (verteilte Summendatenbanken)
Lfd.-Nr. ! DD-Name/PGM ! Beschreibung
! LINK-Name !
---------!--------------!---------------------------------------------
! !
190 ! //LISTE ! Ablaufprotokoll PCL1002
! !
! //ASSINFO ! max. Satzlaenge von VST's (falls angef.)
! !
195 ! //ASSUPD ! Verzoegerte UPDATE's
196 ! //ASSUPI ! Verzoegerte UPDATE's von PCL1001
! !
200 ! //ASSCO ! Vorlaufkarte, auf DUMMY setzen und auf
! ! Anforderung aktivieren
! !
220 ! //LISTE ! Ablaufprotokoll PCL1013
! !
230 ! //DST110 ! Summen-DB neu (FUER ARBEITSGEBIET 1)
! //DST111 ! Index-DB neu (FUER ARBEITSGEBIET 1, DLI)
! bis ! bis
! //DST600 ! Summen-DB neu (FUER ARBEITSGEBIET 50)
! //DST601 ! Index-DB neu (FUER ARBEITSGEBIET 50, DLI)
! !
320 ! //LISTE ! Ablaufprotokoll PCL1032
! !
330 ! //DST003 ! Steuerungs-DB
! //DST031 ! Primaer-Index (nur DLI)
! //DST032 ! Sekundaer-Index 1 (nur DLI)
! //DST033 ! Sekundaer-Index 2 (nur DLI)
VORLAUFKARTE:
------------
IBM: Feste Satzlaenge 80 Bytes ungeblockt,
SIEMENS: Variable Saetzlange, mindestens 72 Stellen, hinten
mit Blanks auffuellen, maximal 80 Stellen.
Eintraege sind ab Spalte 1 vorzunehmen.
Mehrere Eintraege werden durch Kommata getrennt.
Es wird nur die erste Vorlaufkarte interpretiert.
Moegliche Optionen:
------------------
Inhalt ! Aktion
----------------------------------------------
DATEI ! Ausgabe auf Datei(en), UPDATE Steuerungs-DB.
! Ladebestand fuer PCL1013 beziehungsweise fuer das
! ADABAS-Ladeutility.
!
HSSR ! Ausgabe auf Datei(en), UPDATE Steuerungs-DB, wobei
! diese Option die Option DATEI impliziert.
! Ladebestand fuer DL/I mittels DFSURGL0 oder einem
! vergleichbarem Produkt.
!
HSSR8 ! Diese Option impliziert die Option HSSR.
! Ladebestand fuer DL/I ab IMS Version 8, also ohne
! Kopfsatz und anderem Endesatz.
!
BMC ! Diese Option impliziert die Option HSSR.
! Ladebestand fuer DL/I mittels BMC Load Plus.
!
DB2 ! Diese Option impliziert die Option DATEI.
! Die Ausgabe erfolgt fuer das DB2 Load Utility.
!
ADA ! Diese Option impliziert die Option DATEI.
! Die Ausgabe erfolgt wie in der PL/I-Version mit der
! Option DATEI, aber ohne HSSR, BMC und DB2.
! Adabas Load Exit 6 MST0100: PCL1002 mit Option DATEI
! PCL1002 mit Option ADA
! Adabas Load Exit 6 MCL0100: PCL1002 mit Option DATEI
! VSAM Repro: PCL1002 mit Option DATEI
! PCL1002 mit Option ADA
!
SONST ! Ausgabe auf Datei(en), Update der Steuerungsdatenbank
! wenn nicht die Option NUPDAT gesetzt, Pruefungen
! ausgeschaltet.
!
NOPRUEF ! UPDATE der Steuerungs-DB,
! Pruefungen ausgeschaltet,
! Ausgabe auf Datei(en) oder Summen-Datenbank(en) in
! Abhaengigkeit von DIREKTSP.
Inhalt ! Aktion
----------------------------------------------
!
NOCELET1 ! CELET1 (Datum der letzten Einspeicherung)
! in SST021CO zunaechst nicht fortschreiben, kann
! mit Kommando FREIGEBEN in der Online-Transaktion
! ST06 aktiviert werden (vgl. Handbuch Einrichten
! eines Arbeitsgebietes)
!
DIREKTSP ! Interne Schnittstelle direkt in
! Summen-Datenbank(en) einarbeiten
!
KORR ! Korrekturlauf, ermoeglicht es, Bestands-
! werte, die als Bestand angeliefert werden,
! zu korrigieren, auch wenn Wertedatum <
! CELET1 ist.
!
NUPDAT ! Aenderungen, die normalerweise auf die
! Steuerungs-DB durchgefuehrt worden waeren,
! in die Datei ASSUPD stellen, um diese
! Aenderungen mit dem Programm PCL1032
! spaeter auf die Steuerungs-DB spielen
! zu koennen.
!
VST_ERGAENZ ! Dieser Inhalt ist nur im Zusammenhang
! mit Reorganisationsmassnahmen mit
! Hilfe des Programms PCL1011 sinnvoll.
! Wurden von PCL1011 zusaetzliche
! Verdichtungsstufen erzeugt, so
! enthaelt die interne Schnittstelle
! die neuen Verdichtungsstufen, die von
! PCL1002 additiv verarbeitet werden,
! d.h. die neuen Verdichtungsstufen
! werden in die Summendatenbank(en) dazu-
! geladen oder auf seq. Datei(en) ausgegeben
! (als Input fuer PCL1013, je nach
! Vorlaufkartensteuerung) oder
! es entstehen neue sequentielle Ver-
! dichtungsstufen.
! Die Versionsnummer des betreffenden
! Arbeitsgebietes wird in diesem Fall
! nicht fortgeschrieben.
Inhalt ! Aktion
----------------------------------------------
!
CHKP_PRIVAT ! "private" Checkpoint-Schreibung
! (siehe weiter unten).
!
V_ABGLEICH ! Abgleich von Vorgabewerten (Plandaten)
= AGNR ! unter Angabe der Nummer des Arbeitsgebiets.
! (siehe weiter unten).
!
E_ABGLEICH ! Abgleich von Erfasswerten
= AGNR ! unter Angabe der Nummer des Arbeitsgebiets.
! (siehe weiter unten).
!
LADEN ! Laden der Summendatenbank(en) nach den Dienstpro-
! grammen PCL1042 , PCL1051 und PCL1058
! (Variante 1.B)
!
BESTANDSUEBERNAHME
! Steuerung der Uebernahme von Bestandswerten mit
! Anlieferungsart Bestand
!
ASSINFO ! Ausgabe der maximalen Satzlaenge von Verdichtungs-
! stufen auf die Datei ASSINFO
!
DOPPELT_WERT! Verarbeitung von internen Schnitstellen, die von
! PCL1011 mit dieser Option erzeugt wurden.
!
DOPPELT_DIR ! Verarbeitung von internen Schnitstellen, die von
! PCL1011 mit dieser Option erzeugt wurden.
Beispiele:
---------
NOCELET1
NUPDAT
DATEI,NOCELET1
NOPRUEF
NOPRUEF,NOCELET1
SONST
DIREKTSP
V_ABGLEICH=44
E_ABGLEICH=44
"Private" Checkpoint-Schreibung (PCL1002)
-----------------------------------------
Checkpoints werden mit dem Programm MCL0699 geschrieben.
Checkpoints werden nur dann geschrieben, wenn in der betreffenden
Installation MCL0699 dafuer ausgelegt ist.
Die Checkpoint-Schreibung ist nur bei einem direkten UPDATE der
Summendatenbank moeglich, also bei gewaehltem Parameter 'DIREKTSP'
in der Vorlaufkarte. Die Aktivierung erfolgt dann ueber den
weiteren Parameter 'CHKP_PRIVAT' in der Vorlaufkarte. Checkpoints
koennen nach Zugriffen auf die Summendatenbank geschrieben werden.
Unterstuetzung von BMC Load Plus und Unload Plus fuer DL/I
----------------------------------------------------------
Mit der Option BMC wird die Summendatenbank nicht direkt geladen,
sondern ein Ladebestand erzeugt, der mit Load Plus anschliessend
geladen werden kann. Der Ladebestand fuer Load Plus ist identisch
mit dem sogenannten HSSR-Format fuer das Utility DFSURGL0, ausser
dass der erste und letzte Satz fehlt.
Die Option BMC impliziert die Optionen DATEI und HSSR.
Entsprechend kann statt dem Dienstprogramm PCL1024 Unload Plus
benutzt werden. Dabei ist darauf zu achten, dass der Aufbau dem
HSSR-Format entspricht, ausser dass der erste und letzte Satz fehlt.
Dieses Manko kann behoben werden, in dem der BMC-Abzug mit je einem
Dummy-Kopf- und Endesatz verkettet wird.
2.3 Laden von Summendatenbanken PCL1013
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Mit PCL1013 werden die von PCL1002 geschriebenen Summendaten
(Datei "AUS" bzw. "AUSnn") in die betreffende Summendatenbank
geladen. Der Ablaufplan ist in 2.2 integriert.
In der Vorlaufkarte muss angegeben werden, fuer welche Summen-
datenbank ein Ladelauf durchgefuehrt werden soll.
Inhalt: AGNR=nn, wobei 01 <= nn <= 300 (bzw. <= Maximalzahl
zulaessiger Arbeitsgebiete).
nn gibt die Nummer der zu ladenden DB an. Diese Nummer ist die
jeweilige Arbeitsgebietsnummer, wenn nicht mit verteilten
Summen-Datenbanken gearbeitet wird.
Beispiel fuer IBM/MVS:
//ASSCO DD *
AGNR=17
Beispiel fuer SIEMENS/BS2000:
/FILE dateiname,LINK=ASSCO
wobei die Datei mit Dateiname einen Satz mit dem Inhalt
AGNR=17
enthaelt.
PCL1013 kann benutzt werden, wenn eine Summendatenbank
vollstaendig neu geladen wird oder wenn mit VST_ERGAENZ erzeugte
Verdichtungsstufen additiv zu einer Summendatenbank dazugeladen
werden sollen.
ACHTUNG:
--------
In einer PC-Umgebung (Windows / Unix) muss
in dem Fall, wenn kein vollstaendiger Ladebestand auf der Eingabe-
datei steht (PCL1002 mit Option VST_ERGAENZ), das Programm PCL1013
ebenfalls mit der Option VST_ERGAENZ gestartet werden, da andern-
falls kein additives Laden der Daten erfolgt, die Altdaten auf
der Summendatenbank mithin geloescht werden.
ACHTUNG:
-------
Bei Folgeeinspeicherungen nach Variante 1 oder 2 ist darauf
zu achten, dass die betreffende Summendatenbank vor dem Ladelauf
leer ist. Dies kann mit DB-Systemabhaengigen Utilities
erreicht werden, z.b. DELETE/DEFINE CLUSTER bei DLI.
ACHTUNG bei ADABAS:
------------------
ADABAS-Summendatenbanken werden nicht mit PCL1013 geladen, sondern
mit dem ADABAS-Utility ADAWAN. Hierbei ist darauf zu achten, dass
beim USER-EXIT 6 das ASS-Programm MST0100 angegeben wird.
Zuvor muss jedoch MST0100 uebersetzt und gelinkt werden.
Vorlaufkarte:
-------------
Werden Summensaetze geladen, die von einem anderen Betriebssystem
stammen als dem, unter dem PCL1013 laeuft, so ist es u. U.
erforderlich dass der Kopfsatz der Summendaten an einen anderen
Code (Translation) angepasst wird.
Hierfuer stehen folgende Optionen bereit:
BS2000_ANSI : Uebersetzen von BS2000-EBCDIC nach ANSI (Unix)
MVS_ANSI : Uebersetzen von MVS-EBCDIC nach ANSI (Unix)
Im Kopfsatz muessen nur Ziffern angepasst werden (i.w. Datumsan-
gaben). Daher ist das Translate-Problem vergleichsweise
einfach: BS2000-EBCDIC und MVS-EBCDIC unterscheiden sich
bei Ziffern nicht. Gleiches gilt fuer Windows und Unix.
Mit der Option FB wird festgelegt, dass die Summensaetze
aus einer Datei mit fester Satzlaenge von 80 Byte gelesen
werden sollen. Dies ist insbesondere bei Migrationen erforderlich:
Summensaetze werden am Host mit PCL1024 und der Option FB
auf eine Datei mit fester Satzlaenge von 80 Byte abgezogen,
anschliessend folgt ein File-Transfer und dann ein Ladelauf
von PCL1013 mit den Optionen FB und z.B. BS2000_ANSI.
2.4 Abziehen von Summendatenbanken HSSR/PCL1024/PCL1124
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Unter dem Abziehen einer Summendatenbank wird das vollstaendige
sequentielle Lesen dieser Summendatenbank und das Schreiben
aller Segmente (Saetze) in eine sequentielle Datei verstanden.
Bei DLI-Datenbanken gibt es ein Utility (HSSR), das sehr schnell
Datenbanken abziehen kann.
Steht HSSR nicht zur Verfuegung, koennen Summendatenbank-Abzuege
mit dem Programm PCL1024 oder dem Programm PCL1124
oder dem DLI-Utility DFSURGU0 durchgefuehrt werden.
Hinweis: Mit dem Programm PCL1083 kann ein Summendatenbank-Abzug,
der mit diesen Programmen erstellt wurde, ins Ladeformat
tranformiert werden. Er kann dann mit dem PCL1013 wieder
geladen werden (vgl. HBetrie2)
Das Programm PCL1124 besitzt im Gegensatz zum Programm PCL1024
mehr Intelligenz und kann dazu benutzt werden, die Summensaetze
zu Arbeitsgebieten abzuziehen, die auf mehrere Summendaten-
banken verteilt sind. In diesem Fall muss es auch benutzt werden.
Summendatenbank-Abzuege werden vom Programm PCL1002 bei den
Varianten 2 und 5 benoetigt (siehe 2.2).
Vorlaufkarte
In der Vorlaufkarte (DD-Name ASSCO mit Format FB 80) gibt man ab
Spalte 1
AGNR=nn
an, wobei nn die Nummer des Arbeitsgebiet ist, dessen
Summendatenbank abzuziehen ist.
Hinweis fuer Siemens:
Werden Summendaten waehrend des ONLINE-Betriebes abgezogen,
so sollte das betreffende Arbeitsgebiet vorher gesperrt werden,
damit nicht parallel Auswertungen versucht werden. Das Sperren
verhindert im Prinzip nur technische Fehlermeldungen (z. B.
Fehlermeldungen beim Oeffnen einer Datei). Auswertungen anderer
Arbeitsgebiete sind moeglich. Es ist darauf zu achten, dass in
der JCL des PCL1024 die Parameterdatenbanken mit SHARUPD=YES, die
Summendatenbanken dagegen mit SHARUPD=NO angegeben werden.
Mehrere Summendatenbanken auf eine Datei abziehen PCL1124
============================================================
Einem Arbeitsgebiet koennen mehrere Summendatenbanken zugeordnet
sein. Fuer jede Verdichtungsstufe mit Art ' ' (aktiv) oder '3'
(nicht aktiv) wird die zugehoerige Summendatenbank durch den Ort
definiert.
Mit PCL1124 ist es nun moeglich, alle Summendatenbanken, die zu
einem Arbeitsgebiet gehoeren, auf eine Datei abzuziehen.
Dieser Abzug kann ganz analog wie der PCL1024-Abzug weiterverwendet
werden, z.B. zur Folgeeinspeicherung via PCL1002.
Abgezogen werden Verdichtungsstufen und Relationen, die folgende
Kriterien erfuellen:
a) Die Art muss ' ' oder '3' oder 'J' (Relation) sein.
b) Die Anzahl der Saetze (laut AG) muss > 0 sein.
c) Falls die Option NUR_AKTIV angegeben wird, muss die
Verdichtungsstufe sich auf einer Summendatenbank befinden, die
mindestens eine aktive Verdichtungsstufe enthaelt.
Verdichtungsstufen, die diese Kriterien nicht erfuellen oder gar
nicht im Arbeitsgebiet definiert sind, sich aber auf einer Summen-
datenbank befinden, werden ueberlesen.
Eingaben :
==========
Vorlaufkarte, DD-Name ASSCO, Format FB 80
Schluesseldatenbank DST002
Steuerungsdatenbank DST003
Summendatenbanken DSTxxx , die abgezogen werden sollen
Ausgaben :
==========
Summendatenbankabzug, DD-Name AUS, Format VB 10039
Protokoll, DD-Name LISTE, Format FBA 133
Vorlaufkarte:
=============
Optionen werden durch Kommata getrennt, Blanks werden ueberlesen,
Semikolon bedeutet das Ende der Eingabe, nach dem Gleichheitszeichen
muss eine numerische Eingabe kommen.
Nur die ersten 72 Zeichen werden beruecksichtigt.
Option I Bedeutung
--------------------------------------------------------------------
AGNR = xx I Arbeitsgebietsnummer ist xx,
I muss angegeben werden und zwischen 1 und
I CARNR_MAX (definiert im Include SST1127) liegen.
NUR_AKTIV I Nur aktive Summendatenbanken werden abgezogen,
I d.h. Summendatenbanken, die mindestens eine
I aktive Verdichtungsstufe enthalten.
Beispiel:
=========
AGNR = 13 , NUR_AKTIV
Stillgelegte Verdichtungsstufen verlagern PCL1124
============================================================
Stillgelegte Verdichtungsstufen, die in der primaeren Summen-
datenbank gespeichert sind, belasten u.U. die Folgeein-
speicherung. Sie muessen bei jeder Folgeeinspeicherung (nicht
DIREKTSP) abgezogen und wieder neu geladen werden. Befinden
sich jedoch stillgelegte Verdichtungsstufen auf einer sekundaeren
Summendatenbank und in der betreffenden Summendatenbank
befinden sich nur stillgelegte Verdichtungsstufen, so koennen
Folgeeinspeicherungen ohne Entladen/Laden dieser Verdichtungs-
stufen durchgefuehrt werden. Es leuchtet sofort ein, dass
hierdurch Einsparungen bei der Folgeeinspeicherung erzielt
werden koennen.
Mit Hilfe von PCL1124 steht ein Verfahren zur Verfuegung, um
stillgelegte Verdichtungsstufen von der primaeren Summen-
datenbank auf sekundaere Summendatenbanken zu verlagern.
In der Vorlaufkarte von PCL1124 wird angegeben, welche
stillgelegten Verdichtungsstufen verlagert werden sollen und
wohin. Es stehen hierfuer zwei Moeglichkeiten zur Verfuegung:
VDST nr1 > ort (Mehrfachangabe)
oder
VDST_STILL > ort (Einzelangabe)
Mit der ersten Methode koennen eine oder mehrere stillgelegte
Verdichtungsstufen mit den Nummern nr1 auf eine sekundaere
Summendatenbank mit dem Ort ort verschoben werden und mit der
zweiten Methode koennen saemtliche stillgelegten Verdichtungsstufen
auf eine sekundaere Summendatenbank verschoben werden.
Es koennen nur Verdichtungsstufen mit mindestens einem Satz von der
primaeren Summendatenbank auf eine sekundaere Summendatenbank
verschoben werden.
Bei der Mehrfachangabe muss bei allen zu verlagernden
Verdichtungsstufen der gleiche Ort angegeben werden.
PCL1124 erzeugt zwei Abzugsdateien, AUS fuer die primaere
Summendatenbank und AUS2 fuer die sekundaere Summendatenbank.
Die erforderlichen Aenderungen der Steuerungsdatenbank
(Ort der stillgelegten Verdichtungsstufen anpassen und ev.
ein DUMMY-Arbeitsgebiet anlegen) werden zunaechst auf die
Datei ASSUPD ausgegeben. Sie muessen zum Schluss noch
mit PCL1032 auf die Steuerungsdatenbank gespielt werden
(verzoegerte Update).
Die Abzugsdateien koennen mit PCL1083 zum Beispiel fuer PCL1013
(ISAM) oder das DB2-Loadutility konvertiert werden.
Anschliessend werden die einzelnen Summendatenbanken geladen.
Damit haben PCL1124 und PCL1083 nur lesenden Zugriff und das
Arbeitsgebiet muss nur fuer PCL1032 und das Laden der einzelnen
Summendatenbanken gesperrt werden.
Vereinfachter Ablaufplan:
ASSCO Para-DB SU-DB
!_________!_________!
!
PCL1124
_________!_________
! ! !
ASSUPD AUS AUS2
! ! !
! ! !
! ASSAINN ASSAINN
! ! !
! ! !
! PCL1083 PCL1083
! ! !
! ! !
! ASSAONN ASSAONN
! ! !
Sperrung des Arbeitsgebiet
! ! !
ASSUPD ! !
! primaere sekundaere
PCL1032 SU-DB SU-DB
! laden laden
!
DST003
Arbeitsgebiet entsperren
Beispiel:
=========
AGNR = 13
VDST 31 > 122
VDST 32 > 122
Die beiden Verdichtungsstufen 31 und 32 des Arbeitsgebiets 13
sollen auf den Ort 122 (sekundaere Summendatenbank) ausgelagert
werden.
2.5 Verzoegerter UPDATE fuer PCL1002 PCL1032
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Wie bereits oben erwaehnt, kann man PCL1002 so laufen lassen,
dass keine DB-Aenderungen durchgefuehrt werden. Die erforderlichen
Aenderungen in der Steuerungs-DB werden dann nicht direkt auf
die Steuerungs-DB geschrieben, sondern in die Datei ASSUPD.
Die Aenderungsanweisungen aus der Datei ASSUPD muessen dann
zeitlich verzoegert mit dem Programm PCL1032 nachgetragen werden.
Der Ablaufplan ist in 2.2 integriert.
Die Aenderungsanweisungen bestehen hauptsaechlich aus der
Aenderung der Versionsnummer der Summendatenbank und der Anzahl der
Saetze pro Verdichtungsstufe (Eintrag auf der Steuerungsdatenbank).
PCL1032 kennt auch noch eine Vorlaufkartendatei.
LINK-Name bzw. DD-Name ist ASSCO, bei Windows bzw. Unix
wird der Name aus '$ASSVLK/T1032.VLK' gebildet.
Das Dateiformat ist analog zur Vorlaufkartendatei von PCL1001.
Die Vorlaufkartendatei macht nur im Zusammenhang mit dem
Protokoll-Arbeitsgebiet Sinn (Siehe hierzu HSYSDOK).
Sie sollte standardmaessig auf Dummy gesetzt werden.
Vorheriges Kapitel: 1. Betrieb der Verwaltung der Parameterdatenbanken
Nächstes Kapitel: 3. Auswertungen im BATCH einschliesslich PCL1003/ Aufbau der Datei LDAT PCL1016