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