Kapitelübersicht
8. Sonstige Dienstprogramme
8.1 Erstellen von Umbuchungsanforderungen aus einem Umbuchungselement PCL1093
8.2 Kopieren von Anforderungen auf sequentielle Dateien PCL1012
8.3 Modifizierung von Zeitangaben und Auspraegungen in Anforderungen und Formeln PCL1043
8.3.1 Automatische Stringersetzung in Kommentaren und Ueberschriften PCL1043
8.3.2 Aenderung der Vorbelegung fuer Parameterinhalte und Kommentare PCL1043
8.4 Datenbanken initialisieren ( nur VSAM/DLI/ISAM) PCL1050
8.5 Arbeitsgebiete sperren PCL1082
8.6 Formate (MFS) modifizieren ( nur IMS ) PST1053
8.7 Transparente Verdichtungsstufen transformieren (nur Installationen mit FOCUS-Zugriff) PCL1048
8.8 Transparente Verdichtungsstufen entsorgen (nur Installationen mit FOCUS-Zugriff) PCL1057
8.9 Aufruf von MST0272 aus Assembler MST0271
8.10 Summensaetze aus Basisverdichtungsstufe liefern MST0272
8.11 Externe ASS-Schnittstelle erstellen PCL1081
8.12 Abzug der Summendatenbank ins Ladeformat transformieren PCL1083
8.13 AG-Textdatenbank erstellen fuer USER-Exit PCL1231
8.14 FTP im Text-Format PCL1174 und PCL1175
8. Sonstige Dienstprogramme
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
8.1 Erstellen von Umbuchungsanforderungen aus PCL1093
einem Umbuchungselement
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Mit dem Programm PCL1093 werden in der ST31 erstellte Um-
buchungselemente verarbeitet. Das Programm erzeugt fuer die
vorhandenen Arbeitsgebiete Umbuchungsanforderungen, die als
Eingabe fuer das Programm PCL1019 dienen.
Die Namen der zu bearbeitenden Umbuchungselemente werden in
den Vorlaufkarten angegeben. In der ersten Vorlaufkarte wird
dabei ein Masterelement erwartet. Dieses bestimmt die Werte
und Zeiten, fuer die umgebucht werden soll. In bis zu 24
weiteren Vorlaufkarten kann jeweils ein Namensintervall
angegeben werden. Von den Umbuchungselementen, die in diesen
Namensintervallen liegen, werden nur die Angaben zu den
Schluesseln bzw. deren umzubuchenden Inhalten beruecksichtigt.
Angaben zu Werten und Zeiten von diesen Elementen werden
ignoriert und durch die aus dem Masterelement ersetzt. Vom
Masterelement dagegen werden die Angaben zu den Schluesseln
nicht bearbeitet, ausser das Masterelement wird als einziges
in der Vorlaufkarte angegeben. Auf alle Faelle muss als erstes
das Masterelement angegeben werden. Dabei ist eine Bis-Angabe
unzulaessig.
BEISPIEL: UMBUCH01 <- Masterelement
TEST01 - TEST12
CCC
KEY1900 - LLL
Es werden weiterhin nur die Umbuchungselemente aus den Namens-
intervallen bearbeitet, bei denen das gesetzte Ausfuehrungs-
datum erreicht wurde. Das Masterelement wird immer unabhaengig
vom Ausfuehrungdatum beruecksichtigt.
Bei der Verarbeitung mit PCL1093 werden die globalen Angaben
der Umbuchungselemente nach den vorhandenen Arbeitsgebieten
getrennt. Ist ein Arbeitsgebiet von den Umbuchungsanweisungen
betroffen, so werden fuer dieses Umbuchungsanforderungen
erstellt. Diese werden auf die Datei ASSUAnn ausgegeben, wobei
nn die Nummer des Arbeitsgebiets ist (fuer AG 26 also ASSUA26).
Fuer eingerichtete Arbeitsgebiete muss also die entsprechende
Datei ASSUAnn in der JCL zugewiesen werden.
Bei der Verarbeitung der Umbuchungselemente sind folgende
Besonderheiten zu beachten:
- Sind keine Angaben ueber umzubuchende Werte vorhanden, so
sind alle Werte des entsprechenden Arbeitsgebiets betroffen.
- Sind keine Angaben ueber umzubuchende Zeitraeume vorhanden,
so werden alle eingespeicherten Zeiten des Arbeitsgebiets
umgebucht.
- Angaben ueber umzubuchende Zeitraeume und Werte werden nur
aus dem Masterelement entnommen.
Nach der Verarbeitung eines Umbuchungselementes werden bei
diesem auf der Anforderungsdatenbank alle Angaben zu den
Schluesseln geloescht. Die Zeitraum- und Werteangaben bleiben
erhalten.
Zeitangaben:
Zeitangaben koennen in der Form MMJJ oder TTMMJJ vorliegen.
Zeitangaben der Form MMJJ sind fuer Tages-Arbeitsgebiete
und fuer Monats-Arbeitsgebiete geeignet. Bei Tages-Arbeits-
gebieten werden sie auf Monatsanfang ('01') bzw.
Monatsende ('32') erweitert ( 0107 -> 010107 - 320107,
0107 - 0207 -> 010107 - 320207 ).
Zeitangaben mit TT sind i.a. fuer Monats-Arbietsgebiete
nicht geeignet, es sei denn sie schliessen vollstaendige
Monate ein ( 010107 - 320207 -> 0107 - 0207,
0107 - 320207 -> 0107 - 0207 bei Monats-Arbeitsgebiet,
0107 - 320207 -> 010107 - 320207 bei Tages-Arbeitsgebiet,
010107 - 0207 -> 0107 - 0207 bei Monats-Arbeitsgebiet,
010107 - 0207 -> 010107 - 320207 bei Tages-Arbeitsgebiet ).
Zeitangaben, die fuer den jeweiligen Arbeitsgebiets-Typ
nicht geeignet sind, werden ueberlesen.
ABLAUF:
------
.---. .---. !
,' ', ,' ', ! 1 Anforderungs-DB
!'.___.'! !'.___.'! _______ ! //DST004
! ! ! ! / ! ! //DST041 (DLI)
! 1 ! ! 2 ! ! 3 ! !
! ! ! ! ! ! ! 2 Steuerungs-DB
'.___.' '.___.' --------- ! //DST003
V V V ! //DST031 (DLI)
! ! ! ! //DST032 (DLI)
!____________!____________! ! //DST033 (DLI)
! !
! ! 3 Vorlaufkarte
------------- ! //ASSCO
! ! !
! PCL1093 ! ! 4 Umbuchungs-
! ! ! anforderungen
------------- ! //ASSUA01
! ! //ASSUA02
_____________!_____________ ! .
! ! ! ! .
! ! ! ! //ASSUA99
V V V !
.---. _________ _________ ! 5 Protokoll
,' ', ! ! ! ! ! //ASSLST
!'.___.'! ! 4 ! ! 5 ! !
! ! ! _! ! _! !
! 1 ! !_____/ !_____/ !
! ! !
'.___.' !
8.2 Kopieren von Anforderungen auf sequentielle PCL1012
Dateien
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Fuer BATCH-Auswertungen stehen generell die beiden Programme
PCL1003 und PCL1016 zur Verfuegung.
Die Ausfuehrliche Programmbeschreibung erfolgt im Benutzer-
handbuch "BETRIEB 1".
Im Unterschied zu PCL1003 ist PCL1016 in der Lage, die Anfor-
derungsdatenbank hinsichtlich auszufuehrender Anforderungen
auszuwerten.
Das Programm ueberprueft, ob einmalig oder periodisch auszu-
fuehrende Anforderungen (Bibliotheken E und P) zur Ausfuehrung
faellig sind, und fuehrt ggf. die Auswertungen aus.
Im Anschluss daran werden die Anforderungen ueber das Aus-
fuehrungsdatum in der Anforderungs-DB als ausgefuehrt gekenn-
zeichnet.
Wenn bei diesem UPDATE der Dialog aktiv ist, kann dieses zu
erheblichen Problemen fuehren.
ASS bietet dazu 2 Alternativen, BATCH-Auswertungen problemlos
parallel zum Dialog-Betrieb durchzufuehren.
Alternative 1:
-------------
Das Auswertungsprogramm PCL1016 wird mit der Vorlaufkarten-
option 'NUPDAT' oder 'NUPDATPR' gestartet.
In diesem Fall unterbleibt die Markierung der Anforderungs-DB.
Die ausgefuehrten Anforderungen werden stattdessen in eine
Datei geschrieben.
Der UPDATE kann mit dem Programm PCL1012 nach Beendigung des
Dialog-Betriebes nachgeholt werden.
Alternative 2:
-------------
Mit PCL1012 koennen zur Ausfuehrung anstehende Anforderungen
auf eine sequentielle Datei uebertragen werden, um sie an-
schliessend mit dem Programm PCL1003, das unabhaengig von der
Anforderungs-DB arbeitet, ausfuehren zu lassen.
Die Anforderungen werden bei der Uebertragung durch PCL1012 in
der Anforderungs-DB bereits als ausgefuehrt gekennzeichnet.
ABLAUF:
------
Datenflussplan
--------------
.---. .---.
__________ ,' ', ,' ',
/ ! !'.___.'! !'.___.'!
! 1 ! ! ! ! !
!__________! ! 2 ! ! 3 !
! ! ! ! !
! '.___.' '.___.'
! ! A
! ! !
! ! !
! ! !
! ! !
! ! !
! ! !
V V V
+---------------------------+
! !
! PCL1012 !
! !
+---------------------------+
! ! !
! ! !
! ! !
! ! !
! ! !
V V V
.---. .---.
+--------------+ ,' ', ,' ',
! 4 ! !'.___.'! !'.___.'!
! .. ..! ! ! ! !
!..'' ''..'' ! 5 ! ! 6 !
! ! ! !
'.___.' '.___.'
Dateibeschreibung:
-----------------
Nummer ! DD/Linkname ! Bedeutung
-------!-------------!--------------------------------------
! !
1 ! ASSCO ! Vorlaufkarte(n)
! ! Auf Dummy setzen und nur bei Bedarf
! ! aktivieren.
! !
2 ! ASSALI ! Datei mit den von PCL1016 zur
! ! Markierung vorgesehenen Anforderungen.
! ! Auf Dummy setzen und nur aktivieren,
! ! wenn PCL1016 mit verzoegertem Update
! ! angewandt wird.
! !
3 ! DST004 ! Anforderungsdatenbank
! !
4 ! KARTE ! Ausgabedatei fuer auszufuehrende
! ! Anforderungen. Wird mit Vorlaufkarten-
! ! option ASSALI gearbeitet, kann KARTE
! ! auf Dummy gesetzt werden.
! !
5 ! LISTE ! Ablauf- und Fehlerprotokoll
! !
6 ! ASSALI2 ! Gleicher Dataset wie in 2.
! ! Waehrend er mit ASSALI im INPUT-MODUS
! ! eroeffnet wird, wird er mit ASSALI2
! ! OUTPUT-MODUS eroeffnet, um am Ende der
! ! Verarbeitung durch die Befehlsfolge
! ! OPEN OUTPUT/CLOSE ein Loeschen des
! ! Datasets zu erreichen.
! ! Wird nicht mit der Option ASSALI
! ! gearbeitet, kann ASSALI2 auf Dummy
! ! gesetzt werden.
VORLAUFKARTE:
------------
1. Vorlaufkarte ( Alternative 1 )
--------------------------------
Die 1. Vorlaukarte wird "nur" dann benutzt, wenn die Mar-
kierung in der Anforderungs-DB nachgeholt werden soll.
Dann muss im Spaltenbereich 1-72 die Anweisung "ASSALI"
angegeben werden.
Wird in der 1. Vorlaufkarte "LOESCHEN" eingegeben, so werden
die Elemente der Bibliothek E sofort aus der Anforderungs-DB
geloescht, die Elemente der Bibliothek P jedoch wie bei
"ASSALI" markiert.
Die weiteren Vorlaufkarten bleiben leer.
2.- 50. Vorlaufkarte ( Alternative 2 )
--------------------------------------
In diesem Fall bleibt die 1. Vorlaufkarte leer.
Pro Vorlaufkarte kann im Spaltenbereich 1-72 ein Namensbereich
in der Form
******** - ********
! !
NAME-VON - NAME-BIS
angegeben werden.
Die Namensbereiche duerfen sich nicht ueberlappen.
Wird ohne Vorlaufkarte gearbeitet, werden von PCL1012 alle
anstehenden Anforderungen bearbeitet.
BEISPIELE:
---------
1. Der beim Lauf von PCL1016 verhinderte Update soll nach-
geholt werden.
ASSALI
2. Alle zur Ausfuehrung anstehenden Anforderungen aus E und P,
deren Namen mit A,B,C oder D beginnen, sollen markiert und
auf eine sequentielle Datei gebracht werden.
1. Vorlaufkarte (leer):
2. Vorlaufkarte : A-D9999999
BESONDERHEITEN:
--------------
Wird PCL1012 zur Uebertragung aus der Anforderungs-Datenbank
(Alternative 2) verwendet oder es wird mit der Vorlaufkarte
"ASSALI" gearbeitet, so ist mit dem Programmlauf eine
Reorganisation der Anforderungs-DB verbunden.
Alle Anforderungen der Bibliothek E, deren Ausfuehrungsdatum
weiter als einen Monat zurueckliegt, werden dabei geloescht.
8.3 Modifizierung von Zeitangaben, und Auspraegungen
in Anforderungen und Formeln PCL1043
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Mit dem Programm PCL1043 koennen Zeitangaben und Schluessel-
auspraegungen in bestehenden Listanforderungen und Formeln
modifiziert werden.
Via Stringersetzung koennen automatisch Parameter oder neue
Zeichenketten in die Ueberschriftsbereiche und Kommentare
eingetragen werden (s.u. 8.3.1)
und Vorbelegungen fuer Parameterinhalte geaendert werden
(s.u. 8.3.2).
Ueber Vorlaufkarten koennen folgende Verarbeitungsregeln vor-
gegeben werden:
- Selektion nach Bibliotheksarten und/oder Namensbereichen
- Umsetzungsangaben zu Zeitraeumen bzw. Zeitintervallen
- Umsetzungsangaben zu Schluesselauspraegungen
Die Verarbeitung der Elemente aus den Anforderungsbibliotheken
B, E, P und U bringt normalerweise keine Probleme mit sich.
Bei Elementen der Formelbibliothek ist allerdings Vorsicht
geboten, da eine Identifizierung als Werte-, Zeitraum- oder
Schluesselformel nicht immer eindeutig moeglich ist.
Eine Schluesselauspraegung '1286' kann z.B. von PCL1043 auch
als Zeitangabe verstanden werden und umgekehrt.
Durch eine geeignete Namenskonvention fuer Formeln kann man
beispielsweise erreichen, dass ueber einen einzigen Namens-
bereich nicht gleichzeitig Werte-, Zeitraum- und Schluessel-
formeln angesprochen werden koennen.
Eine irrtuemliche Anpassung ist allerdings nur bei Formeln in
der Formelbibliothek moeglich.
Formeln, die in den in anderen Bibliotheken gespeicherten An-
forderungen enthalten sind, werden von PCL1043 erkannt.
Auf jeden Fall sind im Programm PCL1043 umfangreiche Pruef-
routinen realisiert, die die angeforderte Umsetzungslogik
testen.
Sollte eine Umsetzung nicht eindeutig abzuleiten sein, unter-
bleibt diese und das entsprechende Element wird als fehlerhaft
protokolliert.
ABLAUF:
------
________ !
/ ! ! 1 Vorlaufkarte(n)
! 1 ! !
--------- ! //ASSCO
V !
! !
! ! 2 Anforderungs-DB
! .---. !
! ,' ', ! //DST004
------------- !'.___.'! ! //DST041 (DLI)
! ! ! ! !
! PCL1043 !<---->! 2 ! !
! ! ! ! ! 3 Geaenderte An-
------------- '.___.' ! forderungen
! ! ! ! ! (fuer PCL1045)
! ! ! ! !
+----------+ ! ! +----------+ ! //ASSLIA
! ! ! !
V V ( V V ) ! 4 Ablauf- und
********* ********* ( ********* ********* ) ! Fehlerprotokoll
! ! ! ! ( ! ! ! ! ) !
! 3 ! ! 4 ! ( ! 5 ! ! 6 ! ) ! //ASSLST
! *** ! *** ( ! *** ! *** ) !
! / ! / ( ! / ! / ) !
!*** !*** ( !*** !*** ) !
!(5 Protokoll der
! fehlerhaften
! und unvollst.
! geaenderten Anf.
!
! //ASSFEHL )
!
!(6 Umsetzen von
! Schluesselin-
! halten (Modus
! 80)
!
! //ASSINKY )
!
VORLAUFKARTE: ASSCO
------------
In den Vorlaufkarten werden jeweils nur die ersten 72 Spalten
beruecksichtigt.
In der ersten Karte kann die Option DATEI angegeben werden,
damit die geaenderten Anforderungen auf die Datei ASSLIA aus-
gegeben werden. In diesem Fall erfolgt kein Update der Anfor-
derungsdatenbank. Die Datei ASSLIA kann spaeter mit PCL1045
auf die Anforderungsdatenbank zurueckgeschrieben werden.
Wird die Option Datei nicht verwendet, so bleibt die erste
Karte leer.
Wird in der ersten Karte die Option NODEL angegeben, so
werden einmalig auszufuehrende Anforderungen nicht von der
Anforderungsdatenbank geloescht, auch wenn das Ausfuehrungs-
datum lange zurueckliegt.
Auf den folgenden Karten koennen jeweils bis zu
- 50 Namensintervalle, auch getrennt nach Bibliotheksarten
- 2000 Zeitumsetzungsangaben, auch als Angaben zum Wert bei
maximal 1000 verschiedenen Werten
- 5000 Auspraegungsumsetzungsangaben zu maximal 1000
verschiedenen Schluesseln
- 100 Modi fuer Auspraegungsumsetzungen
angegeben werden.
Eine Karte kann jedoch nur eine der o.g. Angaben enthalten,
wobei die Reihenfolge dieser Kategorien beliebig ist.
NAMENSINTERVALLE:
----------------
Mit dieser Vorlaufkarte koennen maximal 500 Namen oder Namens-
intervalle vorgegeben werden, nach denen PCL1043 die Formel-
und Anforderungsbibliotheken durchsucht.
Damit ist es z.B. auch moeglich, Formeln gezielt anzusprechen,
die ueber ein Namensintervall nicht eindeutig als Schluessel-,
Werte- oder Zeitraumformel zu identifizieren sind.
Syntax:
------
Eine Vorlaufkarte kann wie folgt aufgebaut sein:
********
******** - ********
*: ********
*: ******** - ********
! ! !
! ! NAME-BIS (letzte zu bearbeitende Anforderung)
! !
! NAME-VON (erste zu bearbeitende Anforderung)
!
Bibliotheksart = B, E, G, H, I, J, P, U oder X
Wird keine Bibliotheksart spezifiziert, so nimmt ASS als
Standard alle Bibliotheksarten in der Reihenfolge B,E,P,U,X.
Wird kein Namensintervall angegeben, so nimmt ASS alle
Elemente der durch die Bibliotheksartangabe ausgewaehlten
Bibliothek(en).
Wird keine BIS-Angabe praezisiert, so werden alle Anforderungen
der Bibliothek(en) abgearbeitet, deren Namen, vom Anfang her
gesehen, die in NAME-VON angegebene Zeichenkette enthalten.
Ansonsten werden Anforderungen bearbeitet, deren Namen in der
jeweiligen Bibliothek folgende Bedingung erfuellen:
NAME-VON <= Anforderungsname <= NAME-BIS
Dabei duerfen sich Namensintervalle nicht ueberlappen !
ZEITUMSETZUNGSANGABEN:
---------------------
Um in einem Programmlauf von PCL1043 Zeiten umsetzen zu
koennen, muessen diese in der Vorlaufkarte nach folgender
Syntax angegeben werden:
- Zeitangaben:
MMJJ -> MMJJ
( ***** ) MMJJ -> MMJJ
! ! !
! ! neue Zeitangabe
! !
! alte Zeitangabe
!
Werte-Nummer
- Zeitraumangaben:
MMJJ - MMJJ -> MMJJ - MMJJ
( ***** ) MMJJ - MMJJ -> MMJJ - MMJJ
! ! !
! ! neue Zeitraumangabe
! !
! alte Zeitraumangabe
!
Werte-Nummer
Die Zeitumsetzangaben muessen eindeutig sein.
TAGESANGABEN im Format 'TTMMJJ':
---------------------------------
Fuer Zeitangaben in Tagesarbeitsgebieten kann an Stelle
der oben verwenden Formatangabe 'MMJJ' stets auch
'TTMMJJ' verwendet werden.
Eine Umsetzung von Monatsangaben in Tagesangaben (und
umgekehrt) ist moeglich.
Zeitangaben koennen innerhalb von Listanforderungen und
Formeln in verschiedener Weise auftreten.
Man kann unterscheiden zwischen:
- Zeitintervallen mit Wert-Abhaengigkeit
- Zeitangaben mit Wert-Abhaengigkeit
- Zeitintervallen
- Zeitangaben
In dieser Reihenfolge erfolgt auch die Bearbeitung mit PCL1043.
Beispiel:
--------
Umsetzungsangaben: ( 1 ) 0189 - 0389 -> 0190 - 0390
( 1 ) 0189 -> 0789
0189 - 0389 -> 1089 - 1289
0189 -> 0489
0389 -> 0689
0689 -> 0989
Umsetzung: alter Zustand: neuer Zustand:
WE_1 ( 0189 - 0389 ) WE_1 ( 0190 - 0390 )
WE_1 ( 0189 - 0689 ) WE_1 ( 0789 - 0989 )
WE_1 ( 0189 - 0389 ) WE_1 ( 1089 - 1289 )
WE_1 ( 0189 - 0689 ) WE_1 ( 0489 - 0989 )
'0189-0389' '1089-1289'
'0189-0689' '0489-0989'
Die Zeitumsetzungsangaben mit Wert-Abhaengigkeit erfolgen ueber
die Werte-Nummer. Es kann daher zu Problemen fuehren, wenn die
Wertebezeichnung bzw. -abkuerzung nicht eindeutig ist. Wenn
insbesondere auch keine Arbeitsgebietsangaben zu den angefor-
derten Werten vorliegen, ist ein solcher Wert oft nicht ein-
deutig zu erkennen. In dem Fall erfolgt eine allgemeine
Zeitumsetzung.
Ausserdem kann in manchen Anforderungen die Reihenfolge, in
der die Zeitumsetzungsangaben behandelt werden, dazu fuehren,
dass bei Zeitintervallen nach der Umsetzung die Von-Zeit nicht
mehr kleiner als die Bis-Zeit ist.
Darueber hinaus koennen Zeitangaben in Werte- und Zeitraum-
formeln sowohl in Listanforderungen als auch in der Formel-
bibliothek stehen.
Bei Formeln aus der Formelbibliothek wird von PCL1043 eine
Werteformel erkannt, wenn mindestens eine der folgenden Be-
dingungen erfuellt ist:
- GESAMT
- TOTAL
- KUMUL
- RANG
- Wert mit Angabe einer Zeit
- Wert mit Schluesselbedingung
- Wert mit Angabe eines Arbeitsgebietes
Ansonsten wird die Formel als Zeitraumformel interpretiert,
falls ein Operand als Zeitraum umzusetzen ist.
Andernfalls wird ueberpruft, ob eine Auspraegungsumsetzung
moeglich ist.
AUSPRAEGUNGSUMSETZUNGSANGABEN:
-----------------------------
Mit dem Programm PCL1043 koennen Schluesselauspraegungen in
Listanforderungen und Formeln umgesetzt werden.
Syntax:
------
( **** ) '************' -> '************'
! ! !
! ! neue Auspraegung
! !
! alte Auspraegung
!
Schluessel-Nummer
< **** > **
! !
! Modus zur Umsetzung
Schluessel-Nummer
Der Modus wird mit einer Zahl zwischen 1 und 99 angegeben.
Die Modi sind bei dem Programm PCL1005 dokumentiert.
Zu einem Schluessel koennen entweder mehrere Umsetzungen von
alt nach neu gemacht werden oder genau eine Modus-Umsetzung.
Schluesselauspraegungen koennen in verschiedener Weise in
Listanforderungen und Formeln angesprochen werden:
Anforderungsbibliotheken:
(1) Gruppierungen von Schluesselauspraegungen
(2) Schluesselbedingungen zum Wert
(3) Schluesselformeln
(4) Schluesselbedingungen in Werteformeln
Formelbibliothek:
(5) Schluesselformeln
(6) Schluesselbedingungen in Werteformeln
Beispiel:
--------
Umsetzungsangaben: ( 1 ) 'A' -> 'B'
( 1 ) '0' -> '1'
( 2 ) 'A' -> 'Z'
< 3 > 2
Umsetzung: alter Zustand: neuer Zustand:
(1): KY_1 = ( 'A', '9', '0') KY_1 = ( 'B', '9', '1')
(2): WE_1 (, KY_1 = 'A' ) WE_1 (, KY_1 = 'B' )
(3),(5): KY_1 = ( FO = '9'+'0') KY_1 = ( FO = '9'+'1')
(4),(6): FO = WE_1 (,KY_2 = 'A') FO = WE_1 (,KY_2 = 'Z')
Meldungen
Im Prokoll von PCL1043 koennen folgende Informationen und Warnungen
erfolgen.
Bibliothek
! Name der Anforderung/Formel/Gruppierung
! !
* * * *
AUGR Schluessel Auspraegungs-Menge geaendert, wobei
moeglicherweise der Name einer Menge als
Auspraegung geaendert wurde (*)
AXEL 0 Anforderung als PC EXCEL-Anforderung erkannt
SCHL Schluessel Formel als Schluessel-Formel angesehen und
geaendert
WERT 0 Formel als Werte-Formel erkannt und geaendert
ZEIT 0 Formel als Zeitraum-Formel angesehen und
geaendert
- 0 Formel als Schluessel-Formel angesehen aber
nicht geaendert, da Schluessel nicht
eindeutig erkennbar war oder keine
Aenderung erfolgte
? 0 Art der Formel nicht ermittelbar
(*): Zu dem Schluessel Jahr gebe es die Inhalte (Auspraegungen) 20
bis 99 und angefordert seien die Mengen 19 = ('9?') und 19. In
der Auswertung wird die zweite 19 als Mengenbezeichnung erkannt
und hier aber als Jahreszahl umgesetzt. Entsprechendes kann auch
mit Formelnamen geschehen. Da in komplexeren Anforderungen dies
nicht mehr einfach erkennbar sein muss und auch abhaengig vom
aktuellen Inhalt der Schluesseldatenbank sein kann, erfolgt zur
Zeit keine entsprechende Erkennung.
Bibliothek
! Name der Anforderung/Formel/Gruppierung
! !
* * * * * *
0 Symbol Status
Formel mit unzulaessigem Symbol beim genannten
internen Status
AUFO Schluessel Zeile Position
Schluessel-Formel unvollstaendig geaendert (*)
AUF0 Schluessel Formel Position bzw. in COBOL
AUFOAX Schluessel Formel Position
Schluessel-Formel unvollstaendig geaendert (**)
AUME Schluessel Zeile Position
Menge unvollstaendig geaendert (***)
KYFO Schluessel Zeile Position
Schluessel-Formel unvollstaendig geaendert (*)
KYF0 Schluessel Formel Position bzw. in COBOL
KYFOAX Schluessel Formel Position
Schluessel-Formel unvollstaendig geaendert (**)
SCHL Schluessel Symbol Status
Schluessel-Formel mit unzulaessigem Symbol beim
genannten internen Status
SCHL 0 0
Tabellenueberlauf, da in der Formel zu viele
Schluessel vorkommen
WEFO Schluessel Zeile Position
Schluesselbedingung in Werte-Formel unvollstaendig
geaendert (*)
WEF0 Schluessel Formel Position bzw. in COBOL
WEFOAX Schluessel Formel Position
Schluesselbedingung in Werte-Formel unvollstaendig
geaendert (**)
WERT 0 Symbol Status
Werte-Formel mit unzulaessigem Symbol beim
genannten internen Status
ZEIT 0 Symbol Status
Zeitraum-Formel mit unzulaessigem Symbol beim
genannten internen Status
(*): Der Inhalt an der Position der genannten Formelzeile kann nicht
ersetzt werden, da am Ende der Zeile nicht mehr genuegend Platz
zum Verschieben ist. Zur Zeit wird weder der Inhalt umgebrochen
noch die Formel um zusaetzliche Zeilen erweitert.
(**): Der Inhalt an der Position der genannten AXEL-Formel kann nicht
ersetzt werden, da am Ende der Formel nicht genuegend Platz zum
Verschieben ist. Zur Zeit wird keine Formel um zusaetzliche
Zeilen erweitert.
(***): Zur Zeit wird der Inhalt von Mengen nicht umgebrochen.
Es werden die Namen der fehlerhaften und unvollstaendig
geaenderten Anforderungen in der Datei ASSFEHL protokolliert.
Restriktionen fuer Auspraegungsumsetzungen:
------------------------------------------
Eine Umsetzung von Schluesselauspraegungen ist unter folgenden
Bedingungen nicht moeglich:
Anforderungsbibliotheken:
- In einer Schluesselformel einer Anforderung kann ueber die
Schluesselbezeichnung und -abkuerzung kein angeforderter
Schluessel identifiziert werden.
- In einer Listanforderung stimmt eine umzusetzende Ausprae-
gung mit dem Inhalt einer Formel ueberein.
- Alte und neue Auspraegung weisen unterschiedliche Laengen
auf.
Bei der Umsetzung einer Auspraegung von alt nach neu kann sich
nicht die Laenge aendern, dagegen aber bei der Umsetzung ueber
einen Modus (zum Beispiel kommt das Jahrhundert vor das Jahr).
Falls bei einer Verlaengerung der neuen Auspraegung der Platz
in der Selektionsliste oder der Formel nicht mehr ausreichend
ist wird dies als Meldung ausgegeben.
Formelbibliothek:
In der Formelbibliothek koennen ungepruefte Formeln und Texte
gespeichert werden, sodass eine Schluesselformel nicht immer
eindeutig zu identifizieren und somit auch eine Umsetzung von
Schluesselauspraegungen nicht zweifelsfrei moeglich ist.
Trotzdem ist das Programm PCL1043 in der Lage, durch Verwendung
bestimmter Algorithmen auch Auspraegungen in der Formelbiblio-
thek umzusetzen.
Dabei ist jedoch besondere Vorsicht geboten; insbesondere
sollte das Verarbeitungsprotokoll von PCL1043 herangezogen
werden, um evtl. nicht erfolgreich umgesetzte Formeln zu
erkennen.
Formeln mit falschen Aufbereitungsangaben werden von PCL1043
als korrekt behandelt.
Aufbereitungsangaben werden generell nicht geprueft.
VERARBEITUNGSPROTOKOLL:
----------------------
Wird in einer Anforderung oder in der Formelbibliothek eine
syntaktisch falsche Formel erkannt, wird diese Anforderung
bzw. Formel als fehlerhaft protokolliert.
Ist eine Formel nicht als Schluessel-, Werte- oder Zeitraum-
formel erkannt, wird diese Formel als unbekannt protokolliert.
Bei allen uebrigen Formeln wird im Protokoll angegeben, als
welchen Formeltyp PCL1043 diese Formel verarbeitet hat.
ZUSAMMENFASSENDES BEISPIEL:
--------------------------
In einem Programmlauf von PCL1043 sollen zu den Anforderungen
der Arbeitsgebiete 20 und 30 Zeit- und Auspraegungsumsetzungen
durchgefuehrt werden.
In der Bibliothek B sind alle Anforderungen betroffen, deren
Namen mit 'AG20' beginnen, in der Bibliothek E alle, die mit
'AG30' beginnen, in der Bibliothek P alle Anforderungen.
In der Formelbibliothek X werden alle Formeln bearbeitet, die
im Namensintervall 'AG20 - AG30' liegen.
Der Wert '100' kommt nur noch in Tagesarbeitsgebieten vor.
Entsprechend sollen die Zeitangaben wie folgt umgesetzt werden:
0106 -> 01M0
0106 - BM01 -> 0101M0 - 15BM00
Bei allen anderen Werten lautet die Zeitumsetzung:
0106 -> BM01
0105 - 0305 -> 01M1 - 03M1
Zum Schluessel '2000' sind die Auspraegungen folgendermassen
umzusetzen:
'100' -> '102'
'200' -> '205'
Diese Aufgabe ist mit folgenden Vorlaufkarten zu loesen:
B: AG20
E: AG30
P:
X: AG20 - AG30
( 100 ) 0106 -> 01M0
( 100 ) 0106 - BM01 -> 0101M0 - 15BM00
0106 -> BM01
0105 - 0305 -> 01M1 - 03M1
( 2000 ) '100' -> '102'
( 2000 ) '200' -> '205'
8.3.1 Automatische Stringersetzung in
Kommentaren und Ueberschriften PCL1043
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
------------------------------
In Ueberschriften / Kommentaren von Anforderungen kann das PCL1043
einen beliebigen String durch anderen maschinell ersetzen.
Diese Umsetzung eignet sich, falls ein standardisierter Text in
mehreren Anforderungen generell durch einen anderen ausgetauscht
werden soll.
Der Bereich, in dem die Ersetzung stattfinden soll, muss
durch <UE>, <ZU>, <SU> oder <KO> angekuendigt werden:
Angabe in der Vorlaufkarte:
--------------------------
Textersetzung in Anforderungsueberschrift:
<UE> 'alter String' -> 'neuer String'
Textersetzung in Zeilenueberschriften:
<ZU> 'alter String' -> 'neuer String'
Textersetzung in Spaltenueberschriften:
<SU> 'alter String' -> 'neuer String'
Textersetzung in Kommentaren:
<KO> 'alter String' -> 'neuer String'
Einstreuung von Parametern:
==========================
Auch die automatische Einstreuung eines Parameters
(z.B. eines Europarameters) in Anforderungen ist moeglich.
Falls im 'neuen String' ein Parametername enthalten ist
(z.B. &&DM), so kann das PCL1043 den verwendeten Parameter
in die Parametertabelle einpflegen, falls dieser bisher nicht
eingetragen ist. Dabei sind in der Vorlaufkarte geeignete
Angaben fuer Parameterinhalt und -Kommentar anzugeben.
Vorlaufkarte fuer Parameter-Einpflege:
-------------------------------------
'alter String' -> 'neuer &&PARNAME', 'ParInhalt','ParKommentar'
vgl. Beispiel
Beispiel:
--------
In die Anforderungen, deren Name mit RP beginnen soll in den
Ueberschriften, Zeilenueberschriften und Kommentaren
der String 'Vertreter' durch den String 'KeyAccMan'
ersetzt werden. Die Umsetzung ist unproblematisch, da der alte
String genauso lang ist wie der neue String.
Daneben soll in den Ueberschriften, Zeilenueberschriften und
Spaltenueberschriften die Zeichenkette 'DM' durch '&&DEM' ersetzt
werden. Als Vorbelegung fuer den Parameterinhalt ist wieder 'DM'
vorgesehen, Kommentar sei 'Europarameter'.
Dafuer sind folgende Angaben in der Vorlaufkarte erforderlich:
B: RP
<UE> 'Vertreter' -> 'KeyAccMan'
<ZU> 'Vertreter' -> 'KeyAccMan'
<KO> 'Vertreter' -> 'KeyAccMan'
<UE> 'DM' -> '&&DEM', 'DM', 'Europarameter'
<ZU> 'DM' -> '&&DEM', 'DM', 'Europarameter'
<SU> 'DM' -> '&&DEM', 'DM', 'Europarameter'
Wird zu einem spaeteren Zeitpunkt der betreffende Parameter nicht
mehr benoetigt, weil z.B. alle Werte nur noch in Euro dargestellt
werden, kann man diesen durch die 'DEL'-Anweisung wieder entfernen.
<UE> '&&DEM' -> 'Euro',DEL
8.3.2 Aenderung der Vorbelegung fuer
Parameterinhalte und Kommentare PCL1043
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
-------------------------------
Alte Parameterinhalte koennen mit dem PCL1043 maschinell
fuer viele Anforderungen umgesetzt werden. Dabei kann auch der
Kommentar, der als Text der Promptmaske erscheint, ersetzt werden.
<PD> kuendigt dabei die Umsetzanweisung an:
Angabe in der Vorlaufkarte:
--------------------------
Umsetzung des Parameterinhaltes (ggf. Kommentar)
<PD> &&PARNAME, 'alter Inhalt', PARART -> 'neuer Inhalt'
(, 'neuer Kommentar')
Beispiel:
--------
Bei den Zeitparametern '&&ZE' der Anforderungen, die mit 'RP'
beginnen, soll die absolute Voreinstellung '0199' nach der
relativen Zeitangabe 'BM01' geaendert werden.
Gleichzeitig soll der Kommentar der Auspraegungsparameter '&&VERTR'
von 'Vertreter:' nach 'Bitte KeyAccMan. waehlen:' umgesetzt
werden, ohne die Vorbelegung '4711' zu aendern:
B: RP
<PD> '&&ZE', '0199', ZE -> 'BM01'
<PD> '&&VERTR', '4711', AU -> '4711', 'Bitte KeyAccMan waehlen:'
8.4 Datenbanken initialisieren ( nur VSAM/DLI/ISAM) PCL1050
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Bei der Installation von ASS ist es notwendig, in Abhaengig-
keit vom DB-System, Datenbanken zu initialisieren.
Denn bis auf die Summendatenbank wird auf die Datenbanken nur
aendernd oder lesend zugegriffen, aber niemals ladend.
Dies trifft auch fuer die Summendatenbanken zu, die als List-,
PM-Datenbank oder Anforderungs-Cache verwendet werden.
I.a. wird das Initialisieren von den betreffenden DB-Systemen
unterstuetzt.
In einer VSAM-, DLI- oder ISAM-Umgebung ist das Initialisieren
(auch Formatisieren genannt) mitunter arbeitsaufwendig.
Daher wird von ASS ein Utility zur Verfuegung gestellt, das die
Initialisierung der betreffenden Datenbanken erleichtert.
Die Initialisierung wird vom Programm PCL1050 durchgefuehrt.
Es ist zu beachten, dass es bei dem DC-System CICS keine
SPA-Datenbank gibt, diese wird durch die CICS-Anweisungen fuer
temporaere Dateien realisiert.
PCL1050 laedt folgende Daten (VSAM/DLI):
Auf die Werte-DB wird der Wert 4999 geladen, auf die
Schluessel-DB der Schluessel 4999 und auf die Steuerungs-DB das
Arbeitsgebiet 49.
Diese koennen dann bei Bedarf via ST06 geloescht werden.
Auf die Anforderungsdatenbank wird die Anforderung AN_49 auf
die Bibliothek B geladen.
Diese kann via ST31 geloescht werden.
Auf die Berichtsdatenbank wird die Liste LADESATZ mit der
Bibliotheksart L geladen.
Diese kann via ST31 zum Loeschen gekennzeichnet werden und
mittels PCL1094 geloescht werden.
Auf die SPA-Datenbank wird ein Leer-Element namens **AG mit der
Nummer 0 geladen (nur bei IMS- Umgebung).
Falls die ASS-Security-Datenbank existiert, so wird dort der
SC_49 eingetragen.
Er kann spaeter mit der Transaktion ST09 geloescht werden.
Auf die Text-Datenbank wird ein Text-Satz zur Sprache 'D'
mit Textart 'T' und dem Inhalt 'LADESATZ ... ' geschrieben.
Er kann spaeter bei Bedarf mit der ST06 geloescht werden.
Auf die PM-Datenbank wird ein Ladesatz mit dem Usernamen
BATCH, dem Elementnamen PM_nnnn (wobei nnnn die Nummer des
Arbeitsgebiets mit fuehrenden Nullen ist), dem aktuellen Datum
und Zeit, einem einstelligen Kennzeichen und der laufenden
Nummer 0000000 geschrieben.
Die Nummer des Arbeitsgebiets und das einstellige Kennzeichen
sind in dem Include SST1219 definiert. Die PM-Datenbank wird
ueber dieses Include installiert und Einzelheiten entnehme
man dem Handbuch Installation unter dem entsprechenden
Datenbanksystem.
In der Vorlaufkarte wird angegeben, welche Datenbanken
initialisiert werden sollen.
Existieren bestimmte Datenbanken in einer Installation nicht
(z.B. die SPA-Datenbank in einer CICS-Umgebung), so duerfen
diese in der Vorlaufkarte nicht genannt werden.
Der Aufbau der Vorlaufkarte ist unten unter Optionen
beschrieben.
Bei ISAM-Dateien werden keine Daten geladen. Es wird nur
ein OPEN OUTPUT und anschliessend ein CLOSE durchgefuehrt.
Bei einer ISAM-Umgebung wird auch eine BEFORE-IMAGE-Datei
DST006 benoetigt, die ebenfalls formatisiert werden muss.
Sie ist von den Dateimerkmalen identisch zur Werte-Datenbank
DST001. Um die DST006 zu formatisieren kann also eine Werte-
Datenbank unter dem Namen DST006 formatisiert werden.
Datenflussplan
--------------
ASSCO ----------------------
!
PCL1050
_____ _____ _____ _____ _!____ _____ _____ _______ _____
! ! ! ! ! ! ! ! ! !
ASSLST WE-DB KY-DB ST-DB AN-DB SPA-DB TE-DB SC-DB LIST-DB PM-DB
Dateibeschreibung
-----------------
DD-Name ! RECFM ! LRECL ! Beschreibung
----------------------------------------
ASSCO ! FB ! 80 ! Vorlaufkarte
! ! !
ASSLST ! FBA ! 133 ! Protokoll
! ! !
DST001 ! ! ! WE-DB Wertedatenbank
DST011 * ! ! !
DST012 * ! ! !
DST013 * ! ! !
DST002 ! ! ! KY-DB Schluesseldatenbank
DST021 * ! ! !
DST022 * ! ! !
DST023 * ! ! !
DST003 ! ! ! ST-DB Steuerungsdatenbank
DST031 * ! ! !
DST032 * ! ! !
DST033 * ! ! !
DST004 ! ! ! AN-DB Anforderungsdatenbank
DST041 * ! ! !
DST005 * ! ! ! SPA-DB SPA-Datenbank
DST007 ! ! ! TE-DB Text-Datenbank
DST071 * ! ! !
DST009 ! ! ! SC-DB Security-Datenbank
DST091 * ! ! !
DSTXX0 ! ! ! LIST-DB Listen-Datenbank
DSTXX1 * ! ! !
DSTmm0 ! ! ! PM-DB PM-Datenbank
DSTmm1 * ! ! ! (mm ist abhaengig von SST1219)
DSTnn0 ! ! ! Anforderungs-Cache
DSTnn1 * ! ! !
Bemerkung:
Die mit "*" gekennzeichneten Datenbanken sind nur fuer das
DB-System DL/I relevant.
Die SPA-Datenbank wird fuer das DC-System IMS benoetigt, aber
nicht fuer CICS.
Die PM-Datenbank kann nur dann formatisiert werden, falls
diese Datenbank bereits installiert ist. Einzelheiten entnehme
man dazu dem Handbuch Installation fuer das betreffende
Datenbanksystem.
VORLAUFKARTE:
------------
Die Optionen werden ab der 1. Karte angegeben und unterein-
ander durch Kommata getrennt.
ACHTUNG: Es werden aber nur die ersten 72 Zeichen innerhalb
einer Karte beruecksichtigt.
Inhalt ! Aktion
-----------+---------------------------------------------
!
WE ! Satz in Werte-Datenbank schreiben
!
KY ! Satz in Schluessel-Datenbank schreiben
!
ST ! Satz in Steuerungs-Datenbank schreiben
!
AN ! Satz in Anforderungs-Datenbank schreiben
!
SPA ! Satz in SPA-Datenbank schreiben
!
TE ! Satz in Text-Datenbank schreiben
!
SC ! Satz in Security-Datenbank schreiben
!
LISTDB ! Satz in Listen-Datenbank schreiben
!
PM ! Satz in PM-Datenbank schreiben
! (wie bereits oben erwaehnt, muss diese
! Datenbank bereits installiert sein)
!
ANFCACHE ! Satz in Anforderungs-Cache schreiben
!
DB=ISAM ! Sollen ISAM-Dateien (BS2000) formatiert werden,
! so muss diese Option angegeben werden.
BEISPIEL:
--------
// EXEC PCL1050
//DFSURW1 DD UNIT=SYSDA
//ASSCO DD *
WE,
KY,
ST
//ASSLST DD SYSOUT=*
Bemerkung:
---------
Falls in der Prozedur das DD-Statement "DFSURWF1" noch nicht
vorhanden ist, muss dieses Statement in einer DLI-Umgebung
unbedingt eingefuegt werden.
8.5 Arbeitsgebiete sperren PCL1082
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Mit dem Dienstprogramm PCL1082 kann man Arbeitsgebiete
fuer die Auswertung sperren bzw. wieder freigeben. Ein
gesperrtes Arbeitsgebiet steht nicht fuer Auswertungen zur
Verfuegung. Es ist aber moeglich, in gesperrte Arbeitsgebiete
einzuspeichern bzw. gesperrte Arbeitsgebiete zu reorgani-
sieren. Von daher ist es sinnvoll, Arbeitsgebiete waehrend
Einspeicherungen oder Reorganisationen zu sperren, um zu
verhindern, dass vor korrektem Abschluss dieser Massnahmen
Auswertungen auf zwischenzeitlich inkonsistente Daten zu-
greifen.
Es besteht zusaetzlich die Moeglichkeit,
Arbeitsgebiete fuer die Folgeeinspeicherung zu reservieren.
Hierzu ist in der Vorlaufkarte die Angabe FOLGEEINSP zu machen.
Derartig gekennzeichnete Arbeitsgebiete stehen fuer die
Auswertung zur Verfuegung, werden jedoch fuer die Verarbeitung
durch die meisten Batch-Utilities (z.B. Reorganisations-
programme) gesperrt. Hierdurch besteht die Moeglichkeit,
insbesondere waehrend des Laufes von PCL1001 die Auswertung
des zu bespeicherenden Arbeitsgebietes zu ermoeglichen.
Ein Arbeitsgebiet, dass fuer die Folgeeinspeicherung
reserviert ist, kann im weiteren Verlauf durch einen erneuten
Lauf direkt auf "gesperrt" gesetzt werden.
Welche Arbeitsgebiete gesperrt bzw. freigegeben werden sollen,
wird ueber Vorlaufkarten gesteuert.
VORLAUFKARTE:
------------
Eine Vorlaufkarte muss die Arbeitsgebietsnummer enthalten und
eine Angabe, wie das Arbeitsgebiet zu behandeln ist. Fuer
jedes zu behandelnde Arbeitsgebiet muss eine Vorlaufkarte
angegeben werden.
ACHTUNG: Es werden nur die ersten 72 Zeichen innerhalb
einer Karte beruecksichtigt.
FORMAT:
AGNR = 37 , SPERREN
AGNR = 04 , FREIGEBEN
AGNR = 23 , FOLGEEINSP
Bemerkung:
---------
Ist ein Arbeitsgebiet nicht geprueft, so kann kein Sperrkenn-
zeichen gesetzt werden.
Datenflussplan
--------------
.---. .---. !
,' ', ,' ', ! 1 SPA-Datenbank
!'.___.'! !'.___.'! _______ ! //DST005
! ! ! ! / ! ! //DST051 (DLI)
! 1 ! ! 2 ! ! 3 ! !
! ! ! ! ! ! ! 2 Steuerungs-DB
'.___.' '.___.' --------- ! //DST003
V V V ! //DST031 (DLI)
! ! ! ! //DST032 (DLI)
!____________!____________! ! //DST033 (DLI)
! !
! ! 3 Vorlaufkarte
------------- ! //ASSCO
! ! !
! PCL1082 ! ! 4 Protokoll
! ! ! //ASSLST
------------- !
! !
_____________!_____________ !
! ! ! !
! ! ! !
V V V !
.---. .---. _________ !
,' ', ,' ', ! ! !
!'.___.'! !'.___.'! ! 4 ! !
! ! ! ! ! _! !
! 1 ! ! 2 ! !_____/ !
! ! ! ! !
'.___.' '.___.' !
8.6 Formate (MFS) modifizieren ( nur IMS ) PST1053
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Dieses Dienstprogramm kann nur in IMS-Installationen angewendet
werden.
Falls mit den Aenderungen in den beiden Includes SSTDEV1 und
SSTDEV2 nicht die Formate in die gewuenschte Form gebracht
werden koennen, so kann mit diesem Dienstprogramm die MFS-
Source saemtlicher Masken angepasst werden.
Zur Zeit ist folgende Funktion implementiert:
In der MSG-Anweisung wird der SOR-Parameter um IGNORE
erweitert.
Achtung: PST1053 ist nur auf die ausgelieferten MFS-Sourcen
anwendbar.
ABLAUF:
------
Datenflussplan
--------------
ASSCO ASSBST
!____ ____!
!
PST1053
____!____
! !
ASSLST ASSBST
Dateibeschreibung
-----------------
DD-Name !Format!RECL! Beschreibung
----------+--------------------------------------------------
! ! !
ASSCO ! FB ! 80! Vorlaufkarte, z.Z. noch nicht benutzt
! ! !
ASSLST ! FBA ! 133! Protokoll,
! ! ! 80-spaltig in den Spalten 7 bis 86
! ! !
ASSBST ! FB ! 80! Formate,
! ! ! werden auf der gleichen Datei veraendert
8.7 Transparente Verdichtungsstufen transformieren PCL1048
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Mit dem Dienstprogramm PCL1048 werden transparente
Verdichtungsstufen in das komprimierte Format transformiert.
Steht in der Cobol-Version von ASS nicht zur verfuegung.
8.8 Transparente Verdichtungsstufen entsorgen PCL1057
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
FUNKTIONSBESCHREIBUNG:
---------------------
Das Programm PCL1057 ist nur bei ASS-Installationen mit
transparenten Verdichtungsstufen moeglich.
Mit diesem Programm kann ueber Vorlaufkarte bestimmt werden,
fuer welche Jahre die Informationen in den transparenten
Verdichtungsstufen verbleiben.
Steht in der Cobol-Version von ASS nicht zur verfuegung.
8.9 Aufruf von MST0272 aus ASSEMBLER MST0271
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Einzige Aufgabe des Assemblerprogrammes MST0271 ist es,
das PL/I-Programm MST0272 aufzurufen.
Falls MST0272 sich nicht von Ihrem COBOL-Hauptprogramm
aufrufen laesst, so kann man dies mittels MST0271 bewerk-
stelligen.
MST0271 laeuft nur unter BS2000 und VSAM.
Im Falle von VSAM ist MST0271 als Beispielprogramm ge-
dacht.
8.10 Summensaetze der Basisverdichtungsstufe liefern MST0272
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Dieses Programm ist ein PL/I-Unterprogramm, dass von
benutzereigenen Batch-Hauptprogrammen aufgerufen werden
kann.
Es gibt pro Aufruf einen Satz aus der Summendatenbank zurueck,
der die eingegebenen Suchkriterien erfuellt. Bei jedem Folge-
aufruf liefert MST0272 den naechsten Summensatz zu diesen
Suchkriterien (sofern vorhanden).
Die Suchkriterien muessen vom aufrufenden Programm mitgeteilt
werden : Zu jedem eingegebenen Schluessel muss genau ein Inhalt
vorgegeben werden, mit dem dann der entsprechende Schluessel-
inhalt des Rueckgabesatzes uebereinstimmen muss.
Es wird immer die Basisverdichtungsstufe ausgewertet.
Die Reihenfolge der zurueckgegebenen Saetze richtet sich nach
der Reihenfolge auf der Summendatenbank und somit nach den
internen Schluesselinhaltsnummern.
Mittels dieses Programmes ist es z.B. leicht moeglich, mit
Hilfe eines vom Benutzer geschriebenen Hauptprogramms beliebige
Umbuchungen vorzunehmen.
Der Ausgabesatz wird im Format der langen Schnittstelle er-
stellt.
Dem MST0272 sind mitzuteilen :
- 1 Arbeitgebiet
- 1 Zeitraumintervall
- 0 bis 90 Werte
- 0 bis 98 Schluessel und Schluesselinhalte
- Opcode (Blank oder 'CLOS')
- PCB-Pointer (nur DL/I)
Das MST0272 liefert zurueck :
- 1 Ausgabesatz im langen Schnittstellenformat
- Returncode und Fehlertext
Schnittstellenbeschreibung s.u..
Zur Programmlogik des MST0272 :
Es werden alle verwendeten und in der Basisverdichtungsstufe
ausgepraegten Schluessel samt ihrer aktuellen Auspraegungen
zurueckgegeben.
Ferner werden zu den eingegebenen Werten und den Zeitpunkten
im eingegebenen Intervall die Werteinhalte zurueckgeliefert,
sofern sie auf der Summendatenbank vorhanden sind.
Wurden keine Werte eingegeben, so werden alle in der Basis-
verdichtungsstufe verwendeten Werte ergaenzt, die keine
Vorgabewerte sind.
Soll bei Folgeaufrufen des MST0272 jeweils nur der naechste
Summensatz zurueckgegeben werden, so muss die Eingabe-
schnittstelle unveraendert bleiben.
Werden in der Eingabeschnittstelle nur die Schluesselinhalte
geaendert, so wird die Summendatenbank wieder von vorne ge-
lesen, die Parameterdatenbanken werden aber nicht von neuem
gelesen. Dies ist wichtig bei Performance-Betrachtungen.
Nach einem CLOSE-Aufruf ( EINTAB.OPC = 'CLOS' ) wird die
Summendatenbank von vorne gelesen.
Passen nicht alle Werteeintraege in den Ausgabesatz, so fuehrt
MST0272 Satzsplitting durch: Zunaechst werden soviele Werte-
eintraege zurueckgeliefert, wie in den Ausgabesatz passen,
beim naechsten Aufruf werden dann die naechsten Werteeintraege
zurueckgegeben, usw..
Zwischen 2 Aufrufen des MST0272 sollte der Ausgabeparameter
ASSIN01 nicht veraendert werden, da nicht alle Felder von
ASSIN01 jedesmal neu gefuellt werden.
Zum Begriff der Basisverdichtungsstufe :
Diese kann von den angegebenen Werten abhaengig sein.
Schluessel, die auch in keiner anderen Verdichtungsstufe,
in der einer der eingegebenen Werte verwendet wird, ausgepraegt
sind, koennen in dieser Basisverdichtungsstufe verdichtet sein,
alle anderen muessen ausgepraegt sein.
MST0272 kann mehrere Verdichtungsstufen einer Verdichtungs-
stufenmenge verarbeiten, die Verdichtungsstufenmenge jedoch
muss eindeutig sein.
Im Falle mehrerer Verdichtungsstufen wird eine nach der anderen
abgearbeitet. Auch wenn sich 2 Verdichtungsstufen zeitlich
ueberschneiden, werden die Summensaetze getrennt zurueckgegeben
und nicht aufaddiert.
Verdichtungsstufen, die sich nicht auf einer Summendatenbank
befinden ( sequentielle Verdichtungsstufen ), werden nicht
beruecksichtigt.
Aufrufparameter von MST0272
===========================
In PL/I lesen sie sich so:
DCL
01 EINTAB CONNECTED,
05 AG,
10 AGNR BIN FIXED(15), /* Arbeitgebietsnummer */
10 ZEIT_VON CHAR (4), /* von-Angabe Zeit- */
10 ZEIT_BIS CHAR (4), /* bis-Angabe intervall */
/* Format JJMM */
10 ANZ_SCHL BIN FIXED(15), /* Anzahl Schluessel */
10 ANZ_WERTE BIN FIXED(15), /* Anzahl Werte */
10 KENR (98) BIN FIXED(15), /* Schluesselnummern, */
/* ANZ_SCHL Eintraege */
10 WENR (90) BIN FIXED(15), /* Wertenummern, */
/* ANZ_WERTE Eintraege */
05 KEY,
10 KEINH (98) CHAR(12), /* Schluesselinhalte zu */
/* den Schl. aus KENR */
05 OPC CHAR(4), /* Opcode : */
/* 'CLOS' : Close auf */
/* Summendatenbank und */
/* Parameterdatenbanken */
/* Blank : sonst */
01 ASSIN01 , /* Ausgabesatz */
05 SL BIN FIXED(15), /* Satzlaenge */
05 DTA CHAR(6000), /* Datenteil, */
/* Beschreibung s.u. */
01 RETCODE,
05 RTC CHAR(2), /* Returncode, */
/* Blank : O.K. */
/* 'GE' : nicht gefunden*/
/* sonst : Fehler */
05 FTEXT CHAR(80), /* Fehlertext, */
/* siehe ASS9501-ASS9512,*/
/* bei RTC = 08,17 z.T.*/
/* aus MST0008,MST0017 */
01 PCB_POINTER, /* Nur DL/I */
05 PCBDBIO_PTR POINTER, /* Einbabe/Ausgabe */
05 PCBDB01_PTR POINTER, /* Wertedatenbank */
05 PCBDB02_PTR POINTER, /* Schluesseldatenbank */
05 PCBDB02Y1_PTR POINTER, /* 1.Sekundaerindex ,, */
05 PCBDB02Y2_PTR POINTER, /* 2.Sekundaerindex ,, */
05 PCBDB03_PTR POINTER, /* Steuerungsdatenbank */
05 PCBDBPR_PTR POINTER, /* Securitydatenbank */
05 PCBDBSU_PTR (100) POINTER; /* Summendatenbanken */
Format von ASSIN01 ( ext. Schnittstelle, langes Format ) :
==========================================================
DCL
01 CH_W_ASSIN01_2 BASED ( ADDR(ASSIN01) ),
05 SATZ_LAENGE BIN FIXED (15) , /* SATZLAENGE */
05 SCHNST_NR BIN FIXED (15) , /* NR DER SCHNITTSTELLE */
05 EDATUM CHAR (06) , /* ERSTELLUNGSDAT.JJMMTT*/
05 SATZ_ART BIN FIXED (15) , /* SATZART */
05 ORD_BEGR CHAR (30) , /* ORDNUNGSBEGR I AUSGBE*/
05 SCHL_ZAHL BIN FIXED (15) , /* ANZAHL SCHLUESSEL */
05 WERT_ZAHL BIN FIXED (15) , /* ANZAHL WERTE */
/* SCHLUESSEL-TABELLE */
05 SCHL_EINTAB (200),
10 SCHL_NR BIN FIXED (15) , /* SCHLUESSEL-NR */
10 SCHL_INH CHAR (12) , /* SCHLUESSEL-INHALT */
01 CH_W_ASSIN01_3 BASED ( ADDR(ASSIN01) ),
05 SATZ_LAENGE BIN FIXED (15) , /* SATZLAENGE */
05 SCHNST_NR BIN FIXED (15) , /* NR DER SCHNITTSTELLE */
05 EDATUM CHAR (06) , /* ERSTELLUNGSDAT.JJMMTT*/
05 SATZ_ART BIN FIXED (15) , /* SATZART */
05 ORD_BEGR CHAR (30) , /* ORDNUNGSBEGR I AUSGBE*/
05 SCHL_ZAHL BIN FIXED (15) , /* ANZAHL SCHLUESSEL */
05 WERT_ZAHL BIN FIXED (15) , /* ANZAHL WERTE */
/* WERTE-TABELLE */
05 WERT_EINTAB (400),
10 WERT_NR BIN FIXED (15) , /* WERTE-NR */
10 WERT_INH DEC FIXED (15) , /* WERTE-INHALT */
10 WERT_DATUM CHAR (04) ; /* WERTE-DATUM JJMM */
Zu beachten :
Schluessel- und Werteeintraege belegen dieselbe Tabelle.
Zunaechst kommen SCHL_ZAHL Eintraege fuer die Schluessel, dann
WERT_ZAHL Eintraege fuer die Werte.
8.11 Externe ASS-Schnittstelle erstellen PCL1081
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Dieses Programm erzeugt aus einer vom Benutzer erstellten
Schnittstelle eine externe Schnittstelle fuer ASS im kurzen
Format.
Dabei werden Konsistenzpruefungen durchgefuehrt, wobei die
Eintraege in der angelieferten Eingabedatei mit den Daten
auf den Parameterdatenbanken verglichen werden.
Z.B. wird geprueft, ob ueberhaupt eine passende Verdichtungs-
stufe zur Einspeicherung vorhanden ist.
Zur Programmlogik
=================
- Es gibt eine Eingabedatei ASSIN01 und zwei Ausgabedateien
ASSOU01 und ASSOU02. Wahlweise kann der Kopfsatz auch auf
einer gesonderten Datei angeliefert werden, die dann ASSIN02
heisst. Dies wird im Include SST1222 festgelegt (KOPFORT
= '1' : ASSIN02 ist aktiv). Alle vier Dateien sind sequen-
tielle Dateien mit variabler Satzlaenge. ASSIN01 bzw. ASSIN02
enthaelt als ersten Satz einen beschreibenden Kopfsatz, dann
folgen auf ASSIN01 die eigentlichen Datensaetze, die alle
gleich aufgebaut sind.
- Die Angabe KOPFORT im Copy SST1222 kann
per Vorlaufkarte uebersteuert werden. Zusaetzlich
sind in dieser Version auf ASSIN01 bzw. ASSIN02 auch Eingaben
im line-sequentiellen Format erlaubt. Diese Option wird
ebenfalls ueber Vorlaufkarte gesteuert.
- Der Kopfsatz wird eingelesen und geprueft. Hierbei wird auf
die ASS-Parameterdatenbanken zugegriffen und geprueft, ob
der Kopfsatz fuer das betreffende Arbeitsgebiet geeignet ist.
Der Kopfsatz wird immer auf die Datei ASSFEHL geschrieben.
- Aus jedem Summensatz der Eingabedatei wird ein Summensatz im
externen Schnittstellenformat aufgebaut und auf ASSOU01 aus-
gegeben, es sei denn, der angelieferte Satz enthaelt nur
Null-Eintraege. Hierbei wird kleinstes und groesstes Werte-
datum pro Wert ermittelt.
Auch die Summensaetze werden geprueft. Fehlerhafte Summen-
saetze werden auf die Datei ASSFEHL geschrieben.
- Der Endesatz der ASS-externen Schnittstelle wird auf
ASSOU01 ausgegeben.
- Der Kopfsatz der ASS-externen Schnittstelle wird auf ASSOU02
geschrieben, wobei hier die minimalen und maximalen Zeit-
raeume, die vorher ermittelt wurden, beruecksichtigt werden.
Aufbau des beschreibenden Satzes
================================
01 KOPFSATZ,
05 SL BIN FIXED (15), /* SATZLAENGENFELD: ANZAHL EIN- */
/* TRAEGE IN EL_TAB * 12 + 2 */
05 AGNR BIN FIXED (15), /* NUMMER DER ARBEITSGEBIETS */
05 EL_TAB (325), /* 325 IST DIE MAXIMALE ZAHL */
/* VON EINTRAEGEN. DIE TAT- */
/* SAECHLICHE ZAHL WIRD AUS DEM */
/* SATZLAENGENFELD BERECHNET. */
10 EL_ART BIN FIXED (15), /* ART DES EINTRAGES */
/* 1: ORDNUNGSBEGRIFF */
/* 2: SCHLUESSEL */
/* 3: WERT MIT ZEIT (JJMM) */
/* 4: WERT MIT ZEIT (JJMMTT) */
/* SONST: ELEMENT WIRD IGNORIERT*/
10 EL_NR BIN FIXED (15), /* BEI SCHLUESSELN SCHLUESSELNR. */
/* BEI WERTEN WERTENUMMER */
/* SONST 0 */
10 EL_DIST BIN FIXED(15), /* DISTANZ DES EINTRAGS (AUSPRAE-*/
/* GUNG, ORDNUNGSBEGRIFF ODER */
/* WERTEINHALT) IM SUMMENSATZ, */
/* BEZOGEN AUF DEN SATZANFANG */
10 EL_LTH BIN FIXED (15), /* LAENGE DES EINTRAGS IM SUMMEN-*/
/* SATZ */
10 EL_DIST_DAT BIN FIXED (15), /* BEI WERTEEINTRAEGEN: */
/* DISTANZ DES ZUGEHOERIGEN */
/* WERTEDATUMS (JJMM/JJMMTT)*/
/* IM SUMMENSATZ */
/* SONST 0 */
10 EL_WE_ART BIN FIXED (15); /* BEI WERTEEINTRAEGEN: */
/* ZUGEHOERIGE WERTEART */
/* 0 : BESTAND */
/* 1 : BEWEGUNG */
/* SONST 0 */
Aufbau der Summensaetze der Eingabedatei
========================================
Die Summensaetze muessen alle im Kopfsatz angekuendigten Daten-
felder an der angekuendigten Position enthalten.
Schluesselinhalte und Ordnungsbegriff werden im Character-Format
erwartet.
Werte werden in gepackter Form erwartet. Die Laengenangabe im
Kopfsatz gibt die Laenge in Bytes an.
DEC FIXED(L) ist (L/2 (abgerundet) + 1) Bytes lang.
Beispiel: DEC FIXED(5) ist 3 Bytes lang.
Ein Wertedatum hat stets das Format CHAR(04) in der Form JJMM.
Beispiel:
=========
Es soll eine externe Schnittstelle erzeugt werden fuer
Arbeitsgebiet 1,
Schluessel LAND, KREIS, BAUSPARTARIF
Schluesselnr. 1 , 11 , 4
Werte BRUTTO_STUECK, BRUTTO_BAUSPARSUMME
Wertenr. 3 , 4
Anlieferung Bestand (0) , Bewegung (1)
Der Kopfsatz sieht wie folgt aus:
01 KOPFSATZ,
05 SL BIN FIXED (15) INIT(62),
05 AGNR BIN FIXED (15) INIT(1), /* ARBEITSGEBIET */
/* SCHLUESSEL LAND */
05 EL_ART_LAND BIN FIXED (15) INIT(2),
05 LAND_NR BIN FIXED (15) INIT(1),
05 LAND_DIST BIN FIXED (15) INIT(1),
05 LAND_LTH BIN FIXED (15) INIT(12),
05 LAND_DIST_DAT BIN FIXED (15) INIT(0),
05 LAND_WE_ART BIN FIXED (15) INIT(0),
/* SCHLUESSEL KREIS */
05 EL_ART_KREIS BIN FIXED (15) INIT(2),
05 KREIS_NR BIN FIXED (15) INIT(11),
05 KREIS_DIST BIN FIXED (15) INIT(13),
05 KREIS_LTH BIN FIXED (15) INIT(12),
05 KREIS_DIST_DAT BIN FIXED (15) INIT(0),
05 KREIS_WE_ART BIN FIXED (15) INIT(0),
/* SCHLUESSEL TARIF */
05 EL_ART_TARIF BIN FIXED (15) INIT(2),
05 TARIF_NR BIN FIXED (15) INIT(4),
05 TARIF_DIST BIN FIXED (15) INIT(25),
05 TARIF_LTH BIN FIXED (15) INIT(2),
05 TARIF_DIST_DAT BIN FIXED (15) INIT(0),
05 TARIF_WE_ART BIN FIXED (15) INIT(0),
/* WERT BRUTTO STUECK */
05 EL_ART_B_STCK BIN FIXED (15) INIT(3),
05 B_STCK_NR BIN FIXED (15) INIT(3),
05 B_STCK_DIST BIN FIXED (15) INIT(27),
05 B_STCK_LTH BIN FIXED (15) INIT(4),
05 B_STCK_DIST_DAT BIN FIXED (15) INIT(31),
05 B_STCK_WE_ART BIN FIXED (15) INIT(1),
/* WERT BRUTTO BAUSPARSUMME */
05 EL_ART_B_SUM BIN FIXED (15) INIT(3),
05 B_SUM_NR BIN FIXED (15) INIT(4),
05 B_SUM_DIST BIN FIXED (15) INIT(35),
05 B_SUM_LTH BIN FIXED (15) INIT(8),
05 B_SUM_DIST_DAT BIN FIXED (15) INIT(43),
05 B_SUM_WE_ART BIN FIXED (15) INIT(1);
Aufbau eines Summensatzes (Datenteil ohne Satzlaengenfeld)
==========================================================
Die Auspraegungen obiger Schluessel seien Bayern, Muenchen,
T1, die Werteinhalte 112 und 120233334 zum Datum Jan. 1992
bzw. Februar 1992.
Dann sieht der zugehoerige Summensatz folgendermassen aus:
(Die Zwischenraeume grenzen die einzelnen Eintraege in diesem
Beispiel nur der Uebersichtlichkeit halber ab, darunter sind
einige Angaben aus dem Kopfsatz markiert.)
BAYERN MUENCHEN T1 9201 9202
ccecdd444444 decdcccd4444 ef 0012 ffff 00010334 ffff
218595000000 445538550000 31 001c 9201 0002233c 9202
LAND_LTH---- ^ KREIS_DIST ^ B_STCK_DIST_DAT
= 12 = 13 = 31
Anforderungen an die Eingabedatei:
=================================
Sie muss alle Schluessel des gewuenschten Arbeitsgebietes ent-
halten, die fuer die geplante Datenuebernahme erforderlich sind.
Dies sind alle Schluessel aus allen denjenigen aktiven Verdich-
tungsstufen, die durch die gewuenschte Einspeicherung eines Wer-
tes betroffen sind, in denen der Wert also verwendet wird.
Es muss wenigstens ein Wert des gewuenschten Arbeitsgebietes
enthalten sein, der in einer nicht stillgelegten Verdichtungs-
stufe eingespeichert wird.
Der Ordnungsbegriff darf fehlen.
Kommt ein Wert in einem Summensatz mehrfach vor, so kann der
Wert in diesem Summensatz zu einem Datum nur einmal angeliefert
werden.
Ein Wert darf entweder nur als Bestand oder als Bewegung vor-
kommen. Alle Bestandswerte muessen dasselbe Datum enthalten.
Mehrere Werte duerfen auf dasselbe Wertedatum Bezug nehmen.
Verwendung einer Metatabelle
============================
Die Beschreibungen der angelieferten Summensaetze in der Datei
ASSOU01 koennen statt aus dem Kopfsatz auch aus einer Tabelle
( = Metatabelle) geholt werden.
Diese Metatabelle kann Informationen aus mehreren Arbeits-
gebieten enthalten. Das fuer die Erstellung der externen
Schnittstelle relevante Arbeitsgebiet wird dann in der Vor-
laufkarte angegeben.
Ferner koennen in der Metatabelle Feldformate bestimmt werden.
Z.B. koennen Werteinhalte nicht nur als dezimal gepackt,
sondern auch in binaerer Form oder im Picture-Format an-
geliefert werden.
Die Metatabelle wird in der JCL unter dem DD-Namen ASSIN02 an-
gegeben.
Syntax der Metatabelle
======================
Um die Informationen aus dem richtigen Arbeitsgebiet aus der
Metatabelle herauszufiltern, muss die Tabelle folgenden Aufbau
haben :
AG-Zeile
TAB-Zeile
Beschreibende Saetze
.
.
.
neue AG-Zeile oder Datei-Ende (kennzeichnet Ende der Infor-
mation ueber betreffendes AG )
Leerzeilen sind erlaubt und werden ueberlesen.
Aufbau der AG-Zeile
===================
Spalte ! Inhalt
--------------------------
1 - 2 ! 'AG'
4 - 7 ! Arbeitsgebietsnummer, Format PIC '9999'
9 - 16 ! Werteanlieferungsart : 'BESTAND' / 'BEWEGUNG'
Aufbau der TAB-Zeile
====================
Spalte ! Inhalt
--------------------------
1 - 3 ! 'POS' (wird als einziges abgefragt)
4 - 72 ! beliebig, z.B.
! ' LEN KEY TYP FORMAT BEZEICHNUNG POSDAT'
Aufbau der Beschreibenden Saetze
================================
Spalte ! Inhalt
--------------------------
1 - 4 ! Position des Feldes in den angelieferten Summen-
! saetzen, Format PIC 9999
6 - 9 ! Laenge des Feldes, Format PIC 9999
11 - 14 ! Nummer des Elements, also Schluessel- oder Werte-
! nummer
16 - 18 ! Typ des Elements : 'KEY' / 'VAL' / 'VAT' / 'ADD' /
! 'FIX' / 'ORD'
20 - 25 ! Feldformat : 'CHAR' / 'NUMBER' / 'PACKED' / 'BINARY'
! 'NUMKST'
27 - 46 ! Bezeichnung, wird nicht abgefragt
48 - 51 ! Position des Datums, nur relevant fuer Werteeintraege
! ( Typ 'VAL' ), Format PIC 9999
Bedeutung der Element-Typen
===========================
Typ ! Bedeutung
--------------------------
KEY ! Schluessel im ASS-Sinne
VAL ! Wert im ASS-Sinne, Zeit im Format JJMM
VAT ! Wert im ASS-Sinne, Zeit im Format JJMMTT
FIX ! Schluessel im ASS-Sinne, aber als Auspraegung wird in
! den Saetzen der externen Schnittstelle stets die
! Pseudoauspraegung '?!' eingesetzt.
! Laengen und Positionsangabe brauchen in der Meta-
! tabelle nicht angegeben zu werden.
ADD ! Schluessel im ASS-Sinne, der im betreffenden Arbeits-
! gebiet verwendet wird, aber fuer die Einspeicherung
! irrelevant ist, da er in keiner von der Einspeicher-
! ung betroffenden Verdichtungsstufe ausgepraegt ist.
! Laengen und Positionsangabe brauchen in der Meta-
! tabelle nicht angegeben zu werden.
ORD ! Ordnungsbegriff
Bedeutung der Feld-Formate
==========================
Format ! Bedeutung
--------------------------
CHAR ! Character(s)
PACKED ! Dezimal gepackte ganze Zahl, maximal 15 Stellen
BINARY ! ganze Zahl im binaeren Format, maximal 4 Bytes lang.
NUMBER ! Ganze Zahl im Format PIC SZ(n) (COBOL-Notation),
! 1 <= n <= 15
NUMKST ! Ganze Zahl im Format PIC SZ(n) (COBOL-Notation),
! 1 <= n <= 21 mit Kommastellen und Tausenderpunkt
Beispiel fuer Metatabelle :
===========================
0---+----1----+----2----+----3----+----4----+----5----+----
AG 0032 BESTAND
POS LEN KEY TYP FORMAT BEZEICHNUNG POSDAT
-------- 2901 ADD CHAR ARTIKEL
0011 0001 1903 KEY CHAR VERTRAGSTYP
0023 0002 1903 VAL BINARY STAT_SUMME 0031
0015 0003 1901 VAL NUMBER ANZAHL 0001
0025 0010 ORD CHAR
AG 0033 BEWEGUNG
POS LEN KEY TYP FORMAT BEZEICHNUNG POSDAT
-------- 2901 ADD CHAR ARTIKEL
--------- 1903 FIX CHAR VERTRAGSTYP
0023 0002 1903 VAL BINARY STAT_SUMME 0031
0015 0003 1901 VAL NUMBER ANZAHL 0001
Verwendung vom Line-Sequentiellen Format
========================================
PCL1081 kann Eingaben im line-sequential Format
verarbeiten. Dabei gelten die gleichen Voraussetzungen,
wie bereits beschrieben. Die Unterschiede werden im weiteren
Verlauf detailliert beschrieben.
Aufbau des beschreibenden Satzes
================================
01 KOPFSATZ,
05 AGNR * NUMMER DER ARBEITSGEBIETS *
05 EL_TAB (800), * 800 IST DIE MAXIMALE ZAHL VON EINTRAEGEN *
10 EL_ART * ART DES EINTRAGES *
* 1: ORDNUNGSBEGRIFF *
* 2: SCHLUESSEL *
* 3: WERT, ZEITFORMAT JJMM *
* 4: WERT, ZEITFORMAT JJMMTT *
* SONST: ELEMENT WIRD IGNORIERT *
10 EL_NR * BEI SCHLUESSELN SCHLUESSELNUMMER, *
* BEI WERTEN WERTENUMMER *
* SONST 0 *
10 EL_SPNR * SPALTENNUMMER IM SUMMENSATZ (BEGINNEND *
* AB DER ERSTEN SPALTE) BEZOGEN AUF DEN *
* SATZANFANG *
10 EL_DIST * DISTANZ DES EINTRAGS (AUSPRAEGUNG, ORDN- *
* UNGSBEGRIFF ODER WERTEINHALT) INNERHALB *
* DER SPALTE, BEZOGEN AUF SPALTENANFANG *
10 EL_LTH * LAENGE DES EINTRAGS IN DER SPALTE *
10 EL_SPNR_DAT * BEI WERTEEINTRAEGEN: SPALTENNUMMER IM *
* SUMMENSATZ *
10 EL_DIST_DAT * BEI WERTEEINTRAEGEN: DISTANZ DES ZUGE- *
* HOERIGEN WERTEDATUMS (JJMM/JJMMTT) *
* SONST 0 BZW. BLANK *
10 EL_WE_ART * BEI WERTEEINTRAEGEN: ZUGEHOERIGE WERTEART*
* 0 : BESTAND *
* 1 : BEWEGUNG *
* SONST 0 bzw. blank *
Die Angaben werden auf ASSIN01 bzw. ASSIN02 z.B. semikolon-
separiert und im Character-Format angeliefert.
Aufbau der Summensaetze der Eingabedatei
========================================
Alle Inhalte werden im Character-Format erwartet.
Die Spaltentrennung erfolgt durch ein geeignetes Trennzeichen
(z.B. Semikolon). Anhand dessen werden die Spaltennummern
ermittelt und mit denen aus dem Kopfsatz verglichen.
Leerspalten sind zulaessig.
Blanks innerhalb einer Spalte sind moeglich. Bei Werten duerfen
auch fuehrende bzw. schleppende Nullen vorhanden sein.
Kommata sowie Tausenderpunkt werden ebenfalls verarbeitet.
Beispiel fuer Line-Sequential:
===============================
Der Kopfsatz fuer obiges Beispiel sieht wie folgt aus:
1;2;1;1;1;6;;;;3;3;2;1;3;2;4;0;2;4;3;1;8;;;; ...
AGNR;L_ART;L_NR;L_SP;L_DIST;L_LTH;L_SP_DAT;L_DIST_DAT;L_WE_ART;
B_STCK_ART;B_STCK_NR;B_STCK_SP;B_STCK_DIST;B_STCK_LTH;
B_STCK_SP_DAT;B_STCK_DIST_DAT;B_STCK_WE_ART; ...
Der Summensatz fuer obiges Beispiel sieht wie folgt aus:
BAYERN ; 1129201 ; MUENCHEN ; ...
Spalte1 Spalte2 Spalte3 usw.
Vorlaufkarte:
=============
Die Vorlaufkarte wird in der JCL mit dem DD-Namen ASSCO
definiert.
Unterschiedliche Optionen werden durch Kommata getrennt,
Blanks werden ueberlesen, Semikolon beendet die Eingabe,
nach einem Gleichheitszeichen wird eine numerische Eingabe
zwischen 0 und 32767 erwartet.
Soll ohne Metatabelle gearbeitet werden, so ist in der Vor-
laufkarte nur ein Semikolon anzugegeben.
Moegliche Optionen :
--------------------
Option ! Bedeutung
-----------------------------------------------------------
METATAB ! Beschreibende Informationen fuer die
! angelieferten Summensaetze wird aus der
! Metatabelle geholt ( DD-Name ASSIN02 )
AGNR=xxxx ! Angabe des Arbeitsgebietes, fuer das
! eine externe Schnittstelle erstellt
! werden soll.
! Ist nur fuer die Option METATAB relevant.
KOPFORT=x ! Kopfsatz befindet sich auf ASSIN01 bzw.
! ASSIN02 (Include SST1222 uebersteuern)
FORMAT=x ! Kopf- und Summensatz werden im angegebenen
! Format erwartet (Bsp. L fuer line-seq.).
KOMMA=x ! Angegebenes Zeichen wird als Komma inter-
! pretiert. Ist nur fuer Line-sequentielles
! Format von Bedeutung. Optional.
TP=x ! Angegebenes Zeichen wird als Tausenderpunkt
! interpretiert. Nur fuer Line-sequentielles
! Format von Bedeutung. Optional.
TRENNZ=x ! Angegebenes Zeichen wird als Trennzeichen
! bei Line-sequentiell interpretiert.
! Optional.
FEHLER=xxxxxxxxxx ! Maximale Anzahl fehlerhafter Summensaetze,
! die toleriert werden.
8.12 Abzug der Summendatenbank PCL1083
ins Ladeformat transformieren
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Mit der Applikation PCL1083 kann der Abzug einer Summendatenbank
von PCL1024 und PCL1124 transformiert werden zum Laden mit der
Applikation PCL1013.
Beim Einsatz von PCL1124 ist zu beachten, dass nur genau eine
Datenbank damit abgezogen werden darf, da PCL1083 nicht zwischen
primaerer und sekundaeren Summendatenbanken unterscheidet. Die
Applikation ist also gedacht fuer die Migration auf ein anderes
Datenbanksystem oder das Zurueckladen fuer eine abgebrochene
Folgeeinspeicherung oder Reorganisation.
Bei VSAM kann statt PCL1013 auch die Funktion REPRO des IBM-Utility
IDCAMS benutzt werden. Bei PCL1083 ist dann die Option ADA anzugeben.
Bei dem Datenbanksystem DL/I kann statt PCL1024 das IBM-Utility
DFSURGU0 und statt PCL1083 nebst PCL1013 das IBM-Utility DFSURGL0
benutzt werden.
Bei DB2 kann das LOAD-Utility statt PCL1013 benutzt werden, falls
die Option DB2 benutzt wird.
Bei ADABAS kann statt PCL1013 auch das SAG-Utility benutzt werden,
das nach PCL1002 zum Laden eingesetzt wird. Nach PCL1083 und PCL1083
mit der Option ADA ist dabei als Exit 6 MST0100 anzugeben und nach
PCL1083 ohne die Option ADA ist als Exit 6 MCL0100 anzugeben.
Bei Benutzung der Option COBOL muss mit PCL1013 geladen werden.
Ablauf-Skizze
ASSCO DSTnnn DST002 DST003
!_________! ____!_________!
! !
PCL1024/PCL1124
_________!
! !
LISTE AUS
!
!
!
ASSCO ASSAINN
!_________!
!
PCL1083
_________!
! !
PROTO ASSAONN
!
!
!
ASSCO LADE
!_________!
!
PCL1013
_________!
! !
LISTE DSTnnn
Datei-Definitionen
ASSCO FB oder VB mit maximaler Datenlaenge von 255
Die Vorlaufkarte ist zur Zeit optional
PROTO FBA 133
Protokoll, wird nur geschrieben
ASSAINN Summendatenbankabzug von PCL1024 oder PCL1124, wird nur
gelesen
ASSAONN VB 9800 (wie AUS in PCL1002), ausser Option COBOL
Ladedatei fuer PCL1013/REPRO/Load, wird nur geschrieben
ASSAONN VB 20004 (wie AUS in PCL1002), nur Option COBOL
Ladedatei fuer PCL1013, wird nur geschrieben
Es erfolgt kein Zugriff auf irgendeine Datenbank.
Aus der Vorlaufkarte ASSCO wird nur der erste Satz gelesen. Keine
Vorlaufkarte ist identisch mit einer leeren Vorlaufkarte. Des
weiteren gibt es noch die folgenden Optionen, die linksbuendig
angegeben werden muessen: COBOL, ADA und DB2. Wie ueblich werden nur
die ersten 72 Zeichen der Vorlaufkarte ausgewertet.
Bei der Option COBOL ist die Ausgabe ASSAONN VB 20004 und sonst VB
9800.
Bei der Option ADA erfolgt die Ausgabe identisch zur PL/I Version.
Bei keiner Option kann die Ausgabe mittels PCL1013, REPRO (PCL1083
mit Option ADA) oder ADABAS-Utility (Exit 6) geladen werden, bei DB2
mit dem LOAD-Utility und bei COBOL mit PCL1013.
8.13 AG-Textdatenbank erstellen fuer USER-Exit PCL1231
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Das Programm PCL1231 kann eine Datenbank zur Textierung
von Anforderungen erzeugen. Diese Datenbank wird dann von
einem Standard-USER-Exit MCL0097 zum Auswertungszeitpunkt
eingelesen, falls zusaetzliche Textierungen angefordert
sind. Auf diese Weise koennen Addressen oder aehnliches in
eine Anforderung eingetragen werden.
Fuer die Auswertung unter ASS-Excel ist zu beachten:
Die erweiterten Textangaben stehen im Bezuege-Blatt dann zur
Verfuegung, wenn bei "Zusaetze --> Seitenueberschriften"
formal der Begriff &&KSiE1 angefordert wurde
(also z.B. &&KS2E1 fuer den zweiten Zeilenschluessel).
Das PCL1231 laedt dazu aus einer Schnittstelle eine
speziell eingerichtete Datenbank stets ganz neu.
Datenbanksystemabhaengig muss deshalb zuvor ein Delete der
bestehenden AG-TextDB und evtl. eine Neuinitialisierung
mit dem PCL1050 (VLK "TextDB") erfolgen (vgl. Ablaufplan).
Zur Einrichtung der Datenbank vgl. HINSTALL, AG-TextDB.
Ablaufplan DLI/VSAM:
-------------------
AG-TextDB "DSTnnn"
!
!
DELETE DEFINE CLUSTER
!
!
DSTnnn
VLK "TextDB" !
!__________________!
!
PCL1050
ASSIN !
!__________________!
!
PCL1231
_________!
! !
ASSLST DSTnnn
Ablaufplan DB2:
--------------
AG-TextDB "DSTnnn"
!
!
DELETE ALL IN TABLE
ASSIN !
!__________________!
!
PCL1231
_________!
! !
LISTE DSTnnn
Ablaufplan bei PC/UNIX mit IDX-Datenbanken:
------------------------------------------
Eine Initialisierung der Datenbank ist nicht noetig.
AG-TextDB "DSTTXT"
!
ASSIN "PCL1231.TXT" !
!__________________!
!
PCL1231
_________!
! !
LISTE DSTTXT
Datei-Definitionen
ASSLST FBA 133 (UNIX/PC: $ASSPTK/PCL1231.PTK)
Protokoll, wird nur geschrieben
ASSIN VB10000 (UNIX/PC: $ASS/PCL1231.TXT)
Eingabedatei wird nur gelesen
Alte Schnittstellen koennen durch Dateiverkettung
zusammen mit der neuen wieder eingespielt werden.
Satzaufbau von ASSIN:
--------------------
Alle Eintraege der Eingabeschnittstelle sind lesbare Zeichen;
die einzelnen Felder werden mit Semikolon getrennt:
Schluesselnummer max. 5 Stellen
Schluesselinhalt max. 50 Stellen
Schluesselinhalsbezeichnung max. 100 Stellen
Schluesselinhaltsabkuerzung max. 100 Stellen
Text 1 max. 100 Stellen
Text 2 max. 100 Stellen
Text 3 max. 100 Stellen
Text 4 max. 100 Stellen
Text 5 max. 100 Stellen
Einzelne Textfelder muessen nicht belegt werden.
Beipiel:
00110;1000;;;Baumann;Baumannstr 10;88888 Baudorf;Baum_inter-media.de
00110;1001;;;Hirmer;Hirmerstr 10;88888 Hierdorf;066/1234
00110;1002;;;Krause;Krausstr 10;88888 Krausen;+0 43-(0)66 66 / 123
00110;1003;;;Fiedler, Kl;Fiedlbach 10;88888 Fiedling;Fied_i-m.de
8.14 FTP im Text-Format PCL1174 und PCL1175
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Beim ftp zwischen Windows und BS2000 ist der binaere Modus nur durch
die beiden folgenden Anweisungen zu erreichen:
--> binary
--> quote ftype binary
Alternative Loesung fuer das Uebertragen des Textdatenbank- oder
Arbeitsgebietsabzugs:
PCL1174 und PCL1175 koennen fuer jede Datei mit fixer Satzlaenge (FB)
80, 96 und 166 genutzt werden. Die Uebertragung dieser Datei kann
binaer oder im Textformat (ASCII ohne Zeilenterminierung) erfolgen,
wobei dies durch eine doppelt so grosse Ausgabe von PCL1174 erreicht
erreicht wird.
ASSCO ASSIN
!___ ___!
!
PCL1174
!
!
ASSOUT = ASSIN ASSCO
!___ ___!
!
PCL1175
!
!
ASSOUT
MVS, OS/390 und z/OS ASSCO, Vorlaufkarte FB 80
ASSIN und ASSOUT jeweils FB 80
ASSI96 und ASSO96 jeweils FB 96
ASSI166 und ASSO166 jeweils FB 166
BS2000 ASSCO, Vorlaufkarte, variabel lang
ASSIN und ASSOUT fixe Satzlaenge 80
ASSI96 und ASSO96 fixe Satzlaenge 96
ASSI166 und ASSO166 fixe Satzlaenge 166
UNIX und WINDOWS ASSCO hat Dateinamen $ASSVLK/T1174.VLK
bzw. $ASSVLK/T1175.VLK
ASSIN hat Dateinamen $ASS/ASSIN.DAT
ASSOUT hat Dateinamen $ASS/ASSOUT.DAT
($ASSVLK und $ASS wie ueblich aus ASS.AIN)
Mit der linksbuendigen Angabe FB80 oder FB96 oder FB166 wird die
entsprechende Laenge festgelegt.
Bei FB80 wird ueber ASSIN und ASSOUT zugegriffen,
bei bei FB96 wird ueber ASSI96 und ASSO96 zugegriffen
und bei FB166 wird ueber ASSI166 und ASSO166 zugegriffen.
Vorheriges Kapitel: 7. Online-Pflege von externen Schnittstellendateien
Nächstes Kapitel: Stichwortverzeichnis