Dokumentationsübersicht

Inhaltsverzeichnis

ASS Benutzerhandbuch
Betrieb II - Erweiterte Funktionen

ASS Logo

1 Allgemeines

Inhalt dieses Handbuches ist die Beschreibung der Einsatzmöglichkeiten weiterer Dienstprogramme. Dabei werden die evtl. erforderlichen Angaben in den Vorlaufkarten ausführlich erläutert.

JOB-CONTROL

Ein Beispiel für Job-Control ist für jedes Utility im entsprechenden PDS (IBM) bzw. in der entsprechenden FMS-Bibliothek (Siemens) für Job-Control enthalten. Auf die Beschreibung der Job-Control wird in den folgenden Abschnitten daher verzichtet.

VORLAUFKARTEN

Es können mehrere Vorlaufkarten verarbeitet werden. Angaben nach einem Semikolon gelten als Kommentar. Teilweise kennen Dienstprogramme (z. B. PCL1045) eine Unterscheidung zwischen der Behandlung der ersten Vorlaufkarte (prinzipielle Optionen) und Folgekarten (z. B. zu verarbeitende Anforderungsintervalle). Ein abschließendes Komma in einer ersten Vorlaufkarte kündigt eine Fortsetzung der ersten Vorlaufkarte in der Folgekarte an. Reine Kommentarzeilen innerhalb der prinzipiellen Optionen müssen mit einem , vor dem ; fortgesetzt werden. Unter Windows/Linux entspricht die erste Vorlaufkarte der ersten Zeile in der Datei Tnnnn.VLK

VORLAUFKARTEN VIA TEXT-DATENBANK

Vorlaufkarten aus den Vorlaufkartendateien können durch entsprechende Angaben in der Text-Datenbank übersteuert werden. In der Vorlaufkartendatei ist hierfür die Angabe TEXTDB = n oder TEXTDB = STD erforderlich. Es werden dann in der Text-Datenbank unter der Sprache 'D' und der Textart 'V' die entsprechenden Sätze als Vorlaufkarten interpretiert. Die Textnummer wird hierbei entweder explizit vorgegeben (TEXTDB = n) oder automatisch ermittelt (TEXTDB = STD). Die Textnummer muss größer 0 und kleiner 99999999 sein.
Bei der automatischen Ermittlung gilt die Formel:
n = 10000 * Arbeitsgebietsnummer + Programmnummer

Beispiel:

Es soll mit PCL1004 das Arbeitsgebiet 5 abgezogen werden.
Dann gilt: n = 10000 * 5 + 1004 = 51004
(oder als Eselsbrücke: Arbeitsgebietsnummer konkateniert mit der Programmnummer, also 5 konk. mit 1004 -> 51004).

Wird mit TEXTDB = STD gearbeitet, so muss bei Programmen, die arbeitsgebietsspezifisch sind (z.B. PCL1004) in der Vorlaufkartendatei eine Arbeitsgebietsnummer angegeben werden. Diese Arbeitsgebietsnummer kann dann nicht mehr überschrieben werden.

Bei Programmen, die nicht arbeitsgebietsspezifisch sind (z.B. PCL1000 oder PCL1044), wird als Arbeitsgebietsnummer 0 angenommen. Bei z.B. PCL1000 ergibt sich dann:
n = 10000 * 0 + 1000 = 1000.

Bei Programmen, die in einem Programmlauf mehrere Arbeitsgebiete verarbeiten können (z.B. PCL1006), kann mit TEXTDB = STD nur dann gearbeitet werden, wenn man sich auf ein Arbeitsgebiet einschränkt.

Werden Vorlaufkarten via Text-Datenbank überschrieben, so werden alle Angaben aus der Vorlaufkartendatei (ev. außer Arbeitsgebietsnummer) übersteuert. Mischkonstellationen (ein Teil aus der Vorlaufkartendatei, ein Teil aus der Text-Datenbank) sind nicht möglich.
Eine Sonderrolle spielt die Option PROGRAMM = ... : Bei Programmen, die diese Option verlangen, muss diese mindestens in der Vorlaufkartendatei angegeben werden.
Auch bei Angabe von TEXTDB = ... wird i.a. verlangt, dass die übrigen Angaben in der Vorlaufkartendatei korrekt sind.

Besonderheiten:

2 Dokumentationshilfen

2.1 Benutzerhandbücher

2.1.1 Ausdruck der ASS-Benutzerhandbücher PCL1022

FUNKTIONSBESCHREIBUNG

Das PCL1022 ist seit dem Release 8.10 veraltet, da die Dokumentation nur noch im HTML-Format ausgeliefert wird. Mit dem Programm PCL1022 konnten die alten im Textformat vorliegenden ASS-Benutzerhandbücher ausgedruckt werden.

2.1.2 Stichwortverzeichnis PCL1080

FUNKTIONSBESCHREIBUNG

Dieses Programm ist seit dem Release 8.10 veraltet. Damit konnte ein Stichwortverzeichnis für die Handbücher ausgedruckt werden.

2.2 Ausdruck der ASS-Bildschirmmasken PCL1023

FUNKTIONSBESCHREIBUNG

Dieses Programm ist veraltet.

2.3 Dokumentation der Schlüssel-, Werte- und Steuerungs-Datenbank - arbeitsgebietsunabhängig PCL1000

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1000 können die Inhalte der Werte-, der Schlüssel- und/oder der Steuerungs-DB gedruckt werden. Dieses Programm ist vorwiegend als Analysehilfe gedacht, weil die Informationen so gedruckt werden, wie sie tatsächlich in den Datenbanken stehen. Für die Fachabteilung ist die Dokumentation der Arbeitsgebiete mit PCL1006 wesentlich informativer.

Im Protokoll wird bei jedem DB-Segment unter "Personalnummer" und "Änderungsdatum" der letzte ändernde Nutzer und das Datum der Änderung angegeben. Bei Änderungen, die mit ASS 8.70 oder höher getätigt wurden, wird auch die Uhrzeit (auf 10 Minuten genau) ausgegeben. Ist außerdem die Log-DB installiert, wird bei jedem via ST06 geänderten Segment statt des Nutzers die Transaktions-ID der letzten Änderung eingetragen ("S. T-ID ..."). Über die Log-DB erhält man unter dieser Nummer detailliertere Informationen zur ändernden Transaktion.

ABLAUF
PCL1000_Ablauf.png
1 = WERTE-DB

 DST001
 DST011/DST012/DST013 (nur DLI)
 $ASSDB/DST001 (PC)

2 = SCHLUESSEL-DB

 DST002
 DST021/DST022/DST023 (nur DLI)
 $ASSDB/DST002 (PC)

3 = STEUERUNGS-DB

 DST003
 DST031/DST032/DST033 (nur DLI)
 $ASSDB/DST003 (PC)


4 = VORLAUFKARTE

 SYSIN
 $ASSVLK/T1000.VLK (PC)


5 = VERARBEITUNGSPROTOKOLL

 PROTO
 $ASSPTK/PCL1000.PTK (PC)
VORLAUFKARTE

Aufbau der Vorlaufkarte (allgemein)

PARAMETER INHALT
PROGRAMM=Standardtext (obligatorisch)
DBAUSW= DB-Auswahl-Parameter (obligatorisch)
APRLIM= Parameter zur Überschreibung des Drucklimits für Schlüsselausprägungen (optional)

Konkrete Vorlaufkarteninhalte

Die gewünschten Datenbanken werden über den Parameter DBAUSW= bestimmt. Mehrere, in einem Lauf gewünschte Datenbanken werden zusammen, durch Kommata getrennt, angegeben. In dieser vorgegebenen Reihenfolge werden die Datenbanken vom Programm PCL1000 abgearbeitet.

Den Umfang des Druckoutputs kann man reduzieren, indem man in der Vorlaufkarte ein Drucklimit für die Anzahl der Ausprägungen angibt, die pro Schlüssel gedruckt werden sollen. Nach Erreichen des Drucklimits wird keine weitere Ausprägung mehr ausgedruckt. Ein entsprechender Hinweis erfolgt im Ausgabeprotokoll. Falls keine Ausprägungen gedruckt werden sollen, ist das Drucklimit auf 0 zu setzen.

BEISPIELE:

Alle drei Parameterdatenbanken sollen dokumentiert werden. Pro Schlüssel sollen höchstens 100 Ausprägungen gedruckt werden:

PROGRAMM=PCL1000,APRLIM=100,DBAUSW=WERT,SCHL,STEU

Die Schlüsseldatenbank soll dokumentiert werden. Es sollen keine Schlüsselausprägungen gedruckt werden:

PROGRAMM=PCL1000,APRLIM=000,DBAUSW=SCHL

2.4 Dokumentation der Schlüssel-, Werte- und Steuerungs-Datenbank - arbeitsgebietsbezogen PCL1006

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1006 kann ein Arbeitsgebiet dokumentiert werden, d.h. alle relevanten Informationen, die zu einem Arbeitsgebiet gehören, können gedruckt werden. Die Ausgabe erfolgt als Liste bzw. als Datei(en) für den Import in Fremdsysteme, z.B. EXCEL. In der Liste wird u.a. die Länge des Schlüssels der entsprechenden Summendatenbank angegeben. Mit Parametern in der Vorlaufkarte kann der Umfang der Dokumentation, die Art der Ausgabe und der Verteiler modifiziert werden.

Erklärungen zum Datenflussplan
LFD.-NR. DD-NAME/PGM Dateiname ASS-PC BESCHREIBUNG
10 //DST001
//DST011
//DST012
//DST013
$ASSDB/DST001 Werte-DB
Primär-Index (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
20 //DST002
//DST021
//DST022
//DST023
$ASSDB/DST002 Schlüssel-DB
Primär-Index (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
30 //DST003
//DST031
//DST032
//DST033
$ASSDB/DST003 Arbeitsgebiets-DB
Primär-Index (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
40//SYSIN$ASSVLK/T1006.VLKVorlaufkarte
50PCL1006Dokumentieren Arbeitsgebiet(e)
60
//AGDOK
//AGDOKT
$ASSPTK/PCL1006.PTK
$ASSPTK/PCL1006T.PTK
Protokoll
Protokoll (nur bei AUSGABE=TERMINAL, s.u.)
Ausgabedateien für die Dokumentation
70//AGDAT$ASSPTK/PCL1006.DAT(LRECL=80 FB)
//FBSEM$ASS/FBSEM.DAT(LRECL=80 FB, alle DB-Segmente)
//FB01WE$ASS/FB01WE.DAT( " , nur SST01WE)
//FB02WA$ASS/FB02WA.DAT( " , nur SST02WA)
//FB11KY$ASS/FB11KY.DAT( " , nur SST11KY)
//FB12GR$ASS/FB12GR.DAT( " , nur SST12GR)
//FB13SA$ASS/FB13SA.DAT( " , nur SST13SA)
//FB14GZ$ASS/FB14GZ.DAT( " , nur SST14GZ)
//FB21CO$ASS/FB21CO.DAT( " , nur SST21CO)
//FB22VS$ASS/FB22VS.DAT( " , nur SST22VS)
//FB23CV$ASS/FB23CV.DAT( " , nur SST23CV)
//FB25VW$ASS/FB25VW.DAT( " , nur SST25VW)
//FBVDST$ASS/FBVERDST.DAT( " , nur Verd.-St.-Tabelle)
//FBWE $ASS/FBWERTE.DAT( " , nur Werte im AG)
//FBSKY $ASS/FBSCHLUESSEL.DAT( " , nur Schlüssel im AG)
//FBVWE $ASS/FBVERDST-WE.DAT( " , nur Werte in Verd.St.)
//FBVKY $ASS/FBVERDST-SCHL.DAT( " , nur Schl. in Verd.St.)
//FBVKO $ASS/FBVERDST-KO.DAT( " , nur Komm. zu Verd.St.)
//FBVMA $ASS/FBVERDST-MA.DAT( " , nur Verd.St.-Matrix )
//FBALLG$ASS/FBALLG.DAT( " , allg. Info zum AG )
//AGSEM $ASS/AGSEM.DAT(LRECL=3004 VB, alle DB-Segmente)
//AG01WE$ASS/AG01WE.DAT( " , nur SST01WE)
//AG02WA$ASS/AG02WA.DAT( " , nur SST02WA)
//AG11KY$ASS/AG11KY.DAT( " , nur SST11KY)
//AG12GR$ASS/AG12GR.DAT( " , nur SST12GR)
//AG13SA$ASS/AG13SA.DAT( " , nur SST13SA)
//AG14GZ$ASS/AG14GZ.DAT( " , nur SST14GZ)
//AG21CO$ASS/AG21CO.DAT( " , nur SST21CO)
//AG22VS$ASS/AG22VS.DAT( " , nur SST22VS)
//AG23CV$ASS/AG23CV.DAT( " , nur SST23CV)
//AG25VW$ASS/AG25VW.DAT( " , nur SST25VW)
//AGVDST$ASS/VERDST.DAT( " , nur Verd.-St.-Tabelle)
//AGWE $ASS/WERTE.DAT( " , nur Werte im AG)
//AGSKY $ASS/SCHLUESSEL.DAT( " , nur Schlüssel im AG)
//AGVWE $ASS/VERDST-WE.DAT( " , nur Werte in Verd.St.)
//AGVKY $ASS/VERDST-SCHL.DAT( " , nur Schl. in Verd.St.)
//AGVKO $ASS/VERDST-KO.DAT( " , nur Komm. zu Verd.St.)
//AGVMA $ASS/VERDST-MA.DAT( " , nur Verd.St.-Matrix )
//AGALLG$ASS/AGALLG.DAT( " , allg. Info zum AG )
Datenflussplan
PCL1006_Ablauf.png
VORLAUFKARTE
Aufbau der Vorlaufkarte (obligatorischer Bestandteil)
PARAMETER BEDEUTUNG
AGNR=n
oder
ARBEITSGEBIET=n
Selektion eines Arbeitsgebietes (bei DATEIFORMAT=B,C,D max. 1 AG);
n steht für das gewünschte Arbeitsgebiet
Aufbau der Vorlaufkarte (optionale Bestandteile)
(Standardoptionen sind unterstrichen)
PARAMETER BEDEUTUNG
ARBEITSGEBIET=n
oder AGNR=n
Mit der Angabe eines weiteren Arbeitsgebietes können mehrere AG's in einem Programmlauf dokumentiert werden (nur bei DATEIAUSGABE=NEIN oder DATEIFORMAT=A zulässig);
UEBERSICHT=JA Werte bzw. Schlüssel des Arbeitsgebietes werden in einer Übersicht mit Nummer, Bezeichnung und Abkürzung angedruckt. Diese Übersichten werden zweimal ausgeben, einmal sortiert nach Nummer, einmal sortiert nach Bezeichnung.
UEBERSICHT=NEIN Die Dokumentation wird ohne Schlüssel- und Werteübersicht erstellt.
UEBERSICHT_BEZ=JA
UEBERSICHT_BEZ=NEIN
ergänzende Option zu den genannten Übersichten. Mit UEBERSICHT_BEZ= NEIN werden bei UEBERSICHT=JA nur die Übersichten sortiert nach Nummer ausgegeben. Bei UEBERSICHT_BEZ =JA werden die Übersichten sortiert nach Bezeichnung ausgegeben, unabhängig von der Option UEBERSICHT.
VERDST=JA Alle Verdichtungsstufen werden dokumentiert;
VERDST=NEIN Verdichtungsstufen werden bei der Dokumentation nicht berücksichtigt;
VERDSTMATRIX=JA
VERDSTMATRIX=NEIN
Ergänzende Option zur Verdichtungsstufenübersicht. Unter der Verdichtungsstufenmatrix wird die Übersicht verstanden, in der pro Verdichtungsstufe matrixartig markiert wird, welche Schlüssel bzw. Werte ausgeprägt sind.
Mit VERDST=JA wird standardmäßig diese Matrix ausgegeben. VERDSTMATRIX =NEIN unterdrückt dann diese Ausgabe. VERDSTMATRIX=JA erzeugt diese Ausgabe unabhängig von der Option VERDST.
SPALTEN=n Hiermit kann angegeben werden, wie viele Zeichen eine Ausgabezeile der Verdichtungsstufenmatrix maximal enthalten soll. Für n sind Zahlen zwischen 60 und 132 zulässig.
Voreingestellt ist SPALTEN=80. Diese Angabe wird nur bei AUSGABE=TERMINAL (s.u.) wirksam.
Zum Begriff "Verdichtungsstufenmatrix" siehe Option VERDSTMATRIX.
SCHLUESSEL=JA Alle Schlüssel im Arbeitsgebiet werden dokumentiert;
SCHLUESSEL=NEIN Schlüssel werden bei der Dokumentation nicht berücksichtigt;
WERTE=JA Alle Werte im Arbeitsgebiet werden dokumentiert;
WERTE=NEIN Werte werden bei der Dokumentation nicht berücksichtigt;
AUSPRAEGUNG=JA Alle zulässigen Schlüsselausprägungen werden dokumentiert;
AUSPRAEGUNG=NEIN Schlüsselausprägungen werden bei der Dokumentation nicht berücksichtigt;
SCHLUESSELBEREICH=n
SCHLUESSELBEREICH=n1-n2
Für n bzw. n1 und n2 ist eine Schlüsselnummer einzusetzen;
Es werden dann nur die Schlüssel mit der Nummer n bzw. aus dem Nummernintervall n1-n2 aufgelistet;
Mehrere Nummern/Intervalle müssen durch Komma getrennt werden;

Wird diese Option nicht vorgenommen, so gilt das maximale Intervall SCHLUESSELBEREICH=1-32767;

Beispiel: SCHLUESSELBEREICH=1,4-8,19
SCHLUESSELINHALT=n(a-b)
SCHLUESSELINHALT=n(a)
Mit dieser Option werden zum Schlüssel mit Schlüsselnummer n nur die Schlüsselinhalte aus dem Intervall a bis b aufgelistet;
Die Bis-Angabe muss nicht angegeben werden;
Die Ausprägungen können auch über eine Ausrufezeichen-Maskierung selektiert werden;
In diesem Fall darf keine Bis-Angabe erfolgen;
Es können in einer Vorlaufkarte mehrere Selektionsangaben durch Komma getrennt hintereinander gestellt werden;
Insgesamt sind bis zu 20 Selektionsangaben möglich;
AUSPR_LIMIT=nnnnnn Drucklimit für zulässige Ausprägungen;
nnnnnn steht für eine sechsstellige Zahl mit führenden Nullen zwischen 0 und 999999;
AUSPR_LIMIT=NEIN
Voreinstellung:
AUSPR_LIMIT=000030
Kein Drucklimit für Ausprägungen;
VERTEILER=........ Änderung des Standardverteilers (maximal 40 Stellen möglich);
OPTIONEN=JA

Voreinstellung:
OPTIONEN=NEIN
Es werden in diesem Programmlauf nur die Verarbeitungsoptionen angelistet, danach wird das Programm beendet;
Mit dieser Option kann getestet werden, ob die Optionen syntaktisch richtig sind;
AUSGABE=TERMINAL Bei Angabe dieser Option wird die List-Ausgabe so aufbereitet, dass sie an einem 80-spaltigen Terminal besser lesbar ist (maximal 80 Zeichen pro Zeile, nur logisch bedingte Seitenwechsel).
Zusätzlich werden die Netto-Daten auf eine zusätzliche Datei AGDOKT ausgegeben. Bei Windows oder Unix ist es eine Datei vom Typ Line-Sequential und heißt ...PCL1006T.PTK.
In Host-Umgebungen ist AGDOKT eine Datei variabler Satzlänge mit maximaler Netto-Satzlänge von 133 Byte.
DATEIAUSGABE=JA Arbeitsgebiet(e) sowie die zugeh. Schlüssel und Werte werden in der Datei AGDAT in Kurzform dokumentiert (bei DATEIFORMAT=A oder ohne Dateiformatangabe);
Voreinstellung:
DATEIAUSGABE=NEIN

Keine Dateiausgabe (dafür aber detaillierte Protokollausgabe)
DATEIFORMAT=X

Voreinstellung:
DATEIFORMAT=A
Für X kann A,B,C oder D eingesetzt werden (bei FB=NEIN, LS=NEIN wie voreingestellt):
A: Ausgabe in Datei AGDAT;
B: Ausgabe in Datei AGSEM;
C: Ausgabe in die Datei(en) AGYYYY

ohne Überschriftzeile, wobei statt YYYY folgende Kürzel für die auszugebenden DB-Segmente eingesetzt werden können:
01WE, 02WA, 11KY, 12GR, 13SA,
14GZ, 21CO, 22VS, 23CV, 25VW,
VDST, WE  , SKY , VWE , VKY ,
VKO , VMA , ALLG;

D: Ausgabe in die Datei(en) AGYYYY

mit Überschriftzeile, wobei statt YYYY folgende Kürzel für die auszugebenden DB-Segmente eingesetzt werden können:
01WE, 02WA, 11KY, 12GR, 13SA,
14GZ, 21CO, 22VS, 23CV, 25VW,
VDST, WE  , SKY , VWE , VKY ,
VKO , VMA , ALLG;

SSTXXXXX=JA

Voreinstellung:
SSTXXXXX=NEIN
Bei DATEIFORMAT=B,C,D müssen die zu lesenden DB-Segmente zwingend explizit angegeben werden;

Statt XXXXX sind folgende Angaben für die auszuwertenden DB-Segmente einzusetzen:
001WE, 002WA, 011KY, 012GR, 013SA
014GZ, 021CO, 022VS, 023CV, 025VW;

Damit kann der Umfang der Dokumentation genau festgelegt werden. Aufgrund der Voreinstellung bleibt die Dokumentation bei fehlender Angabe leer;
TABELLE=JA

Voreinstellung:
TABELLE=NEIN
Bei DATEIFORMAT=C,D müssen die die auszugebenden Tabellen explizit angegeben werden.
Es werden die entsprechenden Tabellen des "normalen" Protokolls in Dateien ausgegeben.
Bei DATEIFORMAT=C werden keine Feldnamen ausgegeben.
Bei TABELLE können folgende Tabellen angefordert werden:
AGVDST oder VERDST_TAB
 (Verdichtungsstufen-Tabelle),
AGWE oder WERTE_TAB
 (Tabelle der Werte im AG),
AGSKY oder SCHLUESSEL_TAB
 (Tabelle der Schlüssel im AG),
AGVWE oder VERDST_WE_TAB
 (Tabelle der Werte in Verd.-St.),
AGVKY oder VERDST_SCHL_TAB
 (Tabelle der Schl. in Verd.-St.)
FB=JA

Voreinstellung:
FB=NEIN
Bei DATEIFORMAT=B,C,D werden Datei(en) mit fester Satzlänge (80 Zeichen) ausgegeben:
B: Ausgabe in Datei FBSEM;
C: Ausgabe in die Datei(en) FBYYYY

ohne Überschriftzeile, wobei statt YYYY folgende Kürzel für die auszugebenden DB-Segmente eingesetzt werden können:
01WE, 02WA, 11KY, 12GR, 13SA,
14GZ, 21CO, 22VS, 23CV, 25VW,
VDST, WE  , SKY , VWE , VKY ,
VKO , VMA , ALLG;

D: Ausgabe in die Datei(en) FBYYYY

mit Überschriftzeile, wobei statt YYYY folgende Kürzel für die auszugebenden DB-Segmente eingesetzt werden können:
01WE, 02WA, 11KY, 12GR, 13SA,
14GZ, 21CO, 22VS, 23CV, 25VW,
VDST, WE  , SKY , VWE , VKY ,
VKO , VMA , ALLG;

Mit der Option FB können file-transfer-fähige Dateien erzeugt werden. Diese können dann in anderen Systemumgebungen ebenfalls mit PCL1006 in line-seq. Dateien bzw. Dateien variabler Satzlänge umgeformt werden. Hierbei werden die erforderlichen Code-Umwandlungen (z.B. EBCDIC -> ASCII) automatisch durchgeführt. Die Umwandlung FB -> VB bzw. line-seq. wird mit Hilfe der Option LS=JA (s.u.) angefordert.

LS=JA

Voreinstellung:
LS=NEIN
Bei DATEIFORMAT=B,C,D werden Datei(en) FBSEM bzw. FBYYYY mit fester Satzlänge gelesen und in Datei(en) AGSEM bzw. AGYYYY mit variabler Satzlänge bzw.line-sequential transformiert:
B: Ausgabe in Datei AGSEM;
C: Ausgabe in die Datei(en) AGYYYY
   ohne Überschriftzeile,
   wobei statt YYYY folgende Kürzel
   für die auszugebenden DB-Segmente
   eingesetzt werden können:
   01WE, 02WA, 11KY, 12GR, 13SA,
   14GZ, 21CO, 22VS, 23CV, 25VW,
   VDST, WE  , SKY , VWE , VKY ,
   VKO , VMA , ALLG;
D: Ausgabe in die Datei(en) AGYYYY
   mit Überschriftzeile,
   wobei statt YYYY folgende Kürzel
   für die auszugebenden DB-Segmente
   eingesetzt werden können:
   01WE, 02WA, 11KY, 12GR, 13SA,
   14GZ, 21CO, 22VS, 23CV, 25VW,
   VDST, WE  , SKY , VWE , VKY ,
   VKO , VMA , ALLG;
CSTUNR=JA

Voreinstellung
CSTUNR=NEIN
Das Feld CSTUNR in SST023CV wird dokumentiert (verdichtete bzw. ausgeprägte Schlüssel).
Satzaufbau der Datei AGDAT
        01 AGDATEI,
          05 SATZART   PIC '99',      /* 01: AG                      */
                                      /* 02: SCHLUESSEL              */
                                      /* 03: WERTE                   */
          05 NR        PIC '99999',   /* Nummer entspr. Satzart      */
          05 BEZ       CHAR (20),     /* Bezeichnung entspr. Satzart */
          05 ABK       CHAR (06),     /* Abkürzung entspr. Satzart   */
          05 SUDBKEYL  PIC '999';     /* Länge des Summendatenbank-  */
                                      /* keys, nur bei SATZART 01    */
                                      /* besetzt                     */
Besonderheiten

Die Dateiausgaben, die durch die Option DATEIAUSGABE = JA und DATEIFORMAT = B (bzw. C bzw. D) angefordert werden, sind als Alternative zum Protokoll eines Arbeitsgebiets gedacht. Wenn also die genannten Dateiausgaben angefordert werden, wird nur ein minimales Ablaufprotokoll erstellt, die eigentliche Arbeitsgebietsdokumentation wird unterdrückt.

Bemerkungen zur Verdichtungsstufenübersicht

Bei dieser Übersicht wird zwischen stillgelegten und aktiven Verdichtungsstufen unterschieden. Bei den aktiven Verdichtungsstufen wird eine Verdichtungsstufenmengebildung bzgl. der aktiven Verdichtungsstufen durchgeführt. Darüber hinaus wird bei den ermittelten Mengen festgestellt, ob es sich um Basen (BASIS) handelt. Gibt es mehr als eine Basis, so wird eine dieser Basen als Basis (BASIS) ausgewiesen, die anderen als generierbare Basen (G-BASIS).
Bei den restlichen aktiven Verdichtungsstufen wird geprüft, ob sie generierbar sind und woraus. Generierbare Verdichtungsstufen werden als level-1-generierbar (LEV-1-G) dargestellt. Verdichtungsstufen, die aus bereits generierbaren Verdichtungsstufen generierbar sind, werden als level-2-generierbar (LEV-2-G) ausgewiesen. Nicht generierbare Verdichtungsstufen werden mit NICHT-G gekennzeichnet.
PCL1006 orientiert sich nur an den ausgeprägten Schlüsseln und den verwendeten Werten. Es kann daher vorkommen, dass bei einer Folgeeinspeicherung PCL1001 andere Generierungen durchführt. Dies passiert insbesondere dann, wenn durch Vorlaufkartenangaben (z.B. NOVSTGENER) oder durch Größenordnungen von Verdichtungsstufen andere Entscheidungen hervorgerufen werden.

BEISPIELE:

Im Folgenden werden zunächst die drei Dateiformate anhand dreier Vorlaufkarten zur Protokollierung von Arbeitsgebiet 2 und entsprechender Ausgabedateien in aus darstellungstechnischen Gründen stark gekürzter Form (nur jeweils wenige Zeilen ab Spalte 1 bis max. Spalte 72 von den bis zu 3000 Spalten pro Zeile) demonstriert:

a) Beispiel für das Dateiformat B:

        dateiausgabe=ja
        dateiformat=b
        auspr_limit=nein
        schluesselinhalt=110(1000-9999)
        sst001we=ja
        sst002wa=ja
        sst011ky=ja
        sst012gr=ja
        sst013sa=ja
        sst014gz=ja
        sst021co=ja
        sst022vs=ja
        sst023cv=ja
        sst025vw=ja
        cstunr=ja
        agnr=2

Auszug aus der Ausgabedatei AGSEM.DAT:

  SST021CO;AGNR;2;AGBEZ;AG2;AGABK;AG2;DATERST;9501;DATLETZT;9513;...
  SST022VS;AGNR;2;KENR;100;HIERNR;3;HIERST;1;KEPOS;5;KEUEB;Gebiet;...
  SST022VS;AGNR;2;KENR;105;HIERNR;2;HIERST;1;KEPOS;4;KEUEB;Bezirk;...
  SST022VS;AGNR;2;KENR;110;HIERNR;1;HIERST;1;KEPOS;2;KEUEB;Inspektorat;...
  SST022VS;AGNR;2;KENR;130;HIERNR;4;HIERST;1;KEPOS;6;KEUEB;Sparte;...
  SST023CV;AGNR;2;VDSTNR;1;ANZSAETZE;333;VDSTART;-;VDSTORT;-;K00110;A;...
  SST025VW;AGNR;2;VDSTNR;1;WENR;105;WENRAG;2;DATERST;9501;DATLETZT;9513;...
  ...

b) Beispiel für das Dateiformat C:

        dateiausgabe=ja
        dateiformat=c
        auspr_limit=nein
        schluesselinhalt=110(1000-9999)
        sst001we=ja
        sst002wa=ja
        sst011ky=ja
        sst012gr=ja
        sst013sa=ja
        sst014gz=ja
        sst021co=ja
        sst022vs=ja
        sst023cv=ja
        sst025vw=ja
        cstunr=ja
        agnr=2

Auszug aus der Ausgabedatei AG21CO.DAT:

  AGNR;2;AGBEZ;AG2;AGABK;AG2;DATERST;9501;DATLETZT;9513;ANZHIER;4;...

Auszug aus der Ausgabedatei AG22VS.DAT:

  AGNR;2;KENR;100;HIERNR;3;HIERST;1;KEPOS;5;KEUEB;Gebiet;KEANAU;0;...
  AGNR;2;KENR;105;HIERNR;2;HIERST;1;KEPOS;4;KEUEB;Bezirk;KEANAU;0;...
  ...

Auszug aus der Ausgabedatei AG23CV.DAT:

  AGNR;2;VDSTNR;1;ANZSAETZE;333;VDSTART;-;VDSTORT;-;K00110;A;K00105;A;...
  AGNR;2;VDSTNR;2;ANZSAETZE;62;VDSTART;-;VDSTORT;-;K00110;A;K00105;V;...
  ...

Auszug aus der Ausgabedatei AG25VW.DAT:

  AGNR;2;VDSTNR;1;WENR;105;WENRAG;2;DATERST;9501;DATLETZT;9513;WEART;-;...
  AGNR;2;VDSTNR;2;WENR;100;WENRAG;1;DATERST;9501;DATLETZT;9513;WEART;-;...
  ...

Auszug aus der Ausgabedatei AG11KY.DAT:

  KENR;100;KEBEZ;GEBIET;KEABK;GEB;KEEXL;2;KEINL;1;KEANAU;12;KENXNR;19;...
  KENR;105;KEBEZ;BEZIRKSDIREKTION;KEABK;BD;KEEXL;2;KEINL;1;KEANAU;13;...
  ...

Auszug aus der Ausgabedatei AG12GR.DAT:

  KENR;100;GRNR;1;GRBEZ;TEST1
  KENR;100;GRNR;2;GRBEZ;TEST2
  ...

Auszug aus der Ausgabedatei AG13SA.DAT:

  KENR;100;KEINH;01;KEVINH;1;KEINHBEZ;NORD;KEINHABK;NORD;KEGAB;010101;...
  KENR;100;KEINH;02;KEVINH;5;KEINHBEZ;NORDOST;KEINHABK;N-OST;KEGAB;010101;...
  ...

Auszug aus der Ausgabedatei AG14GZ.DAT:

  KENR;100;GRNR;1;KEINH;01
  KENR;100;GRNR;1;KEINH;02
  ...

Auszug aus der Ausgabedatei AG01WE.DAT:

  WENR;100;WEBEZ;NEUBEITRAG;WEABK;NEUBTR;WEKST;2;WEEXL;12;WESKST;2;WEUEB;...
  WENR;105;WEBEZ;NEUANZAHL;WEABK;NEUANZ;WEKST;0;WEEXL;8;WESKST;0;WEUEB;...
  ...

Auszug aus der Ausgabedatei AG02WA.DAT:

  WENR;100;AGNR;1;WENRAG;23;WEAGCNT;5
  WENR;100;AGNR;2;WENRAG;1;WEAGCNT;2
  ...

c) Beispiel für das Dateiformat D:

        dateiausgabe=ja
        dateiformat=d
        auspr_limit=nein
        schluesselinhalt=110(1000-9999)
        sst001we=ja
        sst002wa=ja
        sst011ky=ja
        sst012gr=ja
        sst013sa=ja
        sst014gz=ja
        sst021co=ja
        sst022vs=ja
        sst023cv=ja
        sst025vw=ja
        cstunr=ja
        agnr=2

Auszug aus der Ausgabedatei AG21CO.DAT:

  AGNR;AGBEZ;AGABK;DATERST;DATLETZT;ANZHIER;NEXTWENR;NEXTVDST;KENNGEPR;...
  2;AG2;AG2;9501;9513;4;3;6;JA;...

Auszug aus der Ausgabedatei AG22VS.DAT:

  AGNR;KENR;HIERNR;HIERST;KEPOS;KEUEB;KEANAU
  2;100;3;1;5;Gebiet;0
  2;105;2;1;4;Bezirk;0
  2;110;1;1;2;Inspektorat;0
  2;130;4;1;6;Sparte;0

Auszug aus der Ausgabedatei AG23CV.DAT:

  AGNR;VDSTNR;ANZSAETZE;VDSTART;VDSTORT;K00110;K00105;K00100;K00130
  2;1;333;-;-;A;A;A;A
  2;2;62;-;-;A;V;V;V
  2;3;333;-;-;A;V;A;A
  2;4;0;-;-;A;A;A;A
  2;4;0;DREH.;-;A/4;A/3;A/2;A/1
  2;5;0;REL.;-;A/2;V;V;A/1

Auszug aus der Ausgabedatei AG25VW.DAT:

  AGNR;VDSTNR;WENR;WENRAG;DATERST;DATLETZT;WEART;BIKENR;EURODAT
  2;1;105;2;9501;9513;-;0;-
  2;2;100;1;9501;9513;-;0;-
  2;2;105;2;9501;9513;-;0;-
  2;3;100;1;9501;9513;-;0;-
  2;3;105;2;9501;9513;-;0;-
  2;4;105;2;-;-;-;0;-

Auszug aus der Ausgabedatei AG11KY.DAT:

  KENR;KEBEZ;KEABK;KEEXL;KEINL;KEANAU;KENXNR;KEINHVON;KEINHBIS;KECACHE
  100;GEBIET;GEB;2;1;12;19;0;0;-
  105;BEZIRKSDIREKTION;BD;2;1;13;14;0;0;A
  110;INSPEKTORAT;INSP;4;2;78;78;0;0;A
  130;SPARTE;SPRT;2;1;10;11;0;0;-

Auszug aus der Ausgabedatei AG12GR.DAT:

  KENR;GRNR;GRBEZ
  100;1;TEST1
  100;2;TEST2
  100;3;VOTEST
  100;4;ST06100
  100;5;GRHB
  100;100;GR100
  105;1;TEST1
  105;2;TEST2
  110;1;TEST_1
  110;2;ST06_GRUPPIERUNG
  130;1;R1
  130;2;GS2

Auszug aus der Ausgabedatei AG13SA.DAT:

  KENR;KEINH;KEVINH;KEINHBEZ;KEINHABK;KEGAB;KEGBIS
  100;01;1;NORD;NORD;010101;-
  100;02;5;NORDOST;N-OST;010101;-
  ...

Auszug aus der Ausgabedatei AG14GZ.DAT:

  KENR;GRNR;KEINH
  100;1;01
  100;1;02
  100;1;03
  100;1;*
  ...

Auszug aus der Ausgabedatei AG01WE.DAT:

  WENR;WEBEZ;WEABK;WEKST;WEEXL;WESKST;WEUEB;WEART;WEDIM;WEANL;...
  100;NEUBEITRAG;NEUBTR;2;12;2;Neubeitrag;1;DM;1;...
  105;NEUANZAHL;NEUANZ;0;8;0;NEUGESCHAEFT;1;STCK;1;...
  ...

Auszug aus der Ausgabedatei AG02WA.DAT:

  WENR;AGNR;WENRAG;WEAGCNT
  100;1;23;5
  100;2;1;2
  100;3;1;1
  ...

Weitere Beispiele (ohne Kurzauszüge der Ausgabedateien):

Dokumentation von Arbeitsgebiet 2 in Form eines Protokolls gemäß den Voreinstellungen:

AGNR=2 oder ARBEITSGEBIET=2

Dokumentation der Arbeitsgebiete 9, 5, 22 in einem Programmlauf (nur bei DATEIAUSGABE=NEIN oder DATEIFORMAT=A):

Angaben für zu lesende DB-Segmente (wie z.B. SST021CO=JA) sind hier nicht notwendig.

Dokumentation von Arbeitsgebiet 17, wobei Verdichtungsstufen nicht aufgelistet werden sollen und das voreingestellte Drucklimit (30) für Ausprägungen aufgehoben werden soll. Die Ausgabe soll auf die Datei AGSEM erfolgen, wobei alle DB-Segmente gelesen werden sollen:

Dokumentation von Arbeitsgebiet 13, wobei CSTUNR in SST023CV aufgelistet werden soll und für Schlüssel mit Nummer 110 nur Ausprägungen im Bereich von 2600 bis 3000 berücksichtigt werden sollen. Das Ausprägungslimit soll aufgehoben werden. Die Ausgabe soll in verschiedenen Dateien (pro DB-Segment eine Datei) mit Überschriftzeile erfolgen:

2.4.1 Verwendung von Werten, Schlüssel und Relationen in AG's PCL1106

   ASSCO    DST001    DST002    DST003    DST007
     |_________|_________|_________|_________|
          |
       PCL1106
      ____|____
     |         |
  ASSLST    ASSCSV
ASSCO   $ASSVLK/T1106.VLK    Vorlaufkarte
ASSLST  $ASSPTK/PCL1106.PTK  Protokoll (FBA 133)
ASSCSV  $ASS/ASSCSV.TXT      CSV-Ausgabe (VB 9004)
Mögliche Optionen
Option Bedeutung
CSV Ausgabe nach ASSCSV statt ins Protokoll
TAB ASSCSV mit Tabulator statt Semikolon
AG „ALL“    alle Arbeitsgebiete
„n“      einzelnes Arbeitgebiet
„n - m“  Arbeitsgebietintervall
„...“    einzelnes Arbeitsgebiet oder Intervall
WERT analog zu AG
SCHL analog zu AG
REL analog zu AG
NUR_INDEX Einschränkung auf Schlüssel und Relationen mit einer
TEXTIERUNG-LAENGE
Für 8.90 geplant
RELATIONEN Zu jedem Schlüssel die Relationen anlisten in denen er enthalten ist
impliziert „REL = ALL“
Für 8.90 geplant

Standardmäßig sind alle Arbeitsgebiete angefordert aber weder Werte noch Schlüssel noch Relationen angefordert.

Damit bedeutet bespielsweise, daß nur die Schlüssel 9900, 9901 bis 9909 und 9990 angefordert sind.
    SCHL = 9990
    SCHL = 9900  9901 - 9909

2.5 Dokumentation der Anforderungdatenbank

2.5.1 Dokumentation von Anforderungen PCL1035

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1035 können die Inhalte der Anforderungs-DB oder Teile daraus gedruckt werden. Die Liste ist vorwiegend als Übersicht über existierende Listanforderungen und Formeln der Fachabteilung gedacht. Je nach Wunsch können über einen Parameter einzelne oder mehrere Teile von

BIBAUSW
- sichergestellten Anforderungen der Musterbib. B
- einmaligen Anforderungen E
- periodischen Anforderungen P
- Gruppierungen von Schlüsselinhalten U
- Gruppierungen von Schlüsselrelationen V
- Wertegruppierungen R
- Filter für Parameterinhalte Q
- Umbuchungselemente W
- Formeln X
- Anwendungen Y

in Kurz- oder Langform gedruckt werden. Die Anforderungen der Bibliotheksarten B, E und P können zusätzlich in einer mittellangen Form dokumentiert werden. Dazu ist etwa für ein Element aus der Bibliothek für einmalig auszuführende Anforderungen (E) die gewünschte Form über den Parameter EFORM= K bzw. M bzw. L zuzuweisen, für eine Anforderung der Bibliothek P über PFORM= ... .

ABLAUF
PCL1035_Ablauf.png
1  Anforderungs - Datenbank

   DST004
   DST041 (DLI)
   $ASSDB/DST004 (PC)


2  Vorlaufkarte

   SYSIN
   $ASSVLK/T1035.VLK (PC)


3  Protokoll u. Fehlermeldungen

   PROTO
   $ASSPTK/PCL1035.PTK
VORLAUFKARTE

Aufbau der Vorlaufkarte

Inhalt Bedeutung
PROGRAMM=PCL1035, Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
BIBAUSW=B,E,P,U,
        G,H,I,J,
        W,X,Y,R
        Q, V
Auswahl der Bibliotheksart ( obligatorisch ).

(1-4 Angaben sind möglich)
B = Sichergestellte Anforderungen
E = Einmalige Anforderungen
P = Periodische Anforderungen
G -
H  > Installationsabhängige
I  > Anforderungsbibliotheken
J -
U = Gruppierungen
V = Gruppierungen von Schlüsselrelationen
R = Wertegruppierungen
Q = Filter für Parameterinhalte
W = Umbuchungselemente
X = Formeln
Y = Anwendungen

INTERVALL = Die Verarbeitung kann auf Namensintervalle eingeschränkt werden (s.u.)
Anschließend je nach BIBAUSW ( optional ):
BFORM=L,M,K,
EFORM=L,M,K,
PFORM=L,M,K,
QFORM=L,K
RFORM=L,K
UFORM=L,K
WFORM=L,K
XFORM=L,K
YFORM=L,K
Angabe der(des) Formparameter(s) hintereinander durch ',' getrennt (1 Angabe je Parameter möglich)

L = Langform
M = Mittellange Form
K = Kurzform

Defaultwert für alle Parameter ist "K".

Über den Form-Parameter kann der Umfang der aufgelisteten Informationen bestimmt werden. Die folgenden Beispiele verdeutlichen, welche Angaben bei Wahl von Lang-, Mittel- oder Kurzform protokolliert werden.

BEISPIELE:

Langform L: Auflistung aller Informationen zur Anforderung

PROGRAMM=PCL1035,BIBAUSW=B,X,BFORM=L,XFORM=L

Protokoll:

     AG20DM01        ERSTELLDATUM    :    11.12.1989

      AG: 00020;                          /* LEISTUNGS_STATISTIK    */
      KS: 1902;                           /* GESELLSCHAFT           */
      ZS: 1901;                           /* ORGANISATIONSDIREKTION */
      SS: WERTE = ( 01901( 0186 ) ,       /* ANZAHL_VERTRAEGE       */
                    01902( 0186 ) ) ;     /* STAT_VERS_SUMME        */
      OPT:NULLDRUCK;

     FORMEL01        ERSTELLDATUM    :    28.10.1989
          =  100 * ( PRODUKTION - PROD_SOLL ) / PROD_SOLL ,(10,2,%)

Mittellange Form M: Auflistung von ausgewählten Informationen

PROGRAMM=PCL1035,BIBAUSW=E,EFORM=M

Protokoll:

     AG19DM01        ERSTELLDATUM    :    28.10.1989

      AG: 00019;                          /* BEITRAGSSTATISTIK      */

     AG20DM01        ERSTELLDATUM    :    11.12.1989

      AG: 00020;                          /* LEISTUNGS_STATISTIK    */

Kurzform K: Auflistung von Name und Erstelldatum der Anforderung

PROGRAMM=PCL1035,BIBAUSW=B,X,BFORM=K,XFORM=K

Protokoll:

     AG19DM01        ERSTELLDATUM    :    28.10.1989

     AG20DM01        ERSTELLDATUM    :    11.12.1989

     FORMEL01        ERSTELLDATUM    :    01.01.1988

     FORMEL02        ERSTELLDATUM    :    01.01.1989

Namensintervalle für Bibliotheksmember

Beim PCL1035 kann die Dokumentation der ausgewählten Bibliotheken auch auf Namensintervalle eingeschränkt werden. Bis zu 50 Intervalle können dabei in folgender Form vorgegeben werden:

     INTERVALL = ******** - ********

                 !          !
                 !          NAME-BIS (um das letzte zu dokumentierende
                 !                    Element festzulegen)
                 !
                 NAME-VON  (um das erste zu dokumentierende
                            Element festzulegen)

Beispiele

  1. Es sollen alle Anforderungen gedruckt werden, deren Name mit 'UTA' beginnt. Dabei soll für die Member der
    • Bibliothek B die Langform,
    • aus der Bibliothek E die Kurzform,
    • für periodische Anforderungen die mittlere Form
    • und für Formeln die Kurzform
    gewählt werden:
    1. EBECDIC-Zeichensatz (IBM/Siemens-Host):
      PROGRAMM=PCL1035,BIBAUSW=B,E,P,X,BFORM=L,EFORM=K,PFORM=M,XFORM=K
      INTERVALL = UTA - UTA99999
    2. ASCII -Zeichensatz (Windows/Unix):
      PROGRAMM=PCL1035,BIBAUSW=B,E,P,X,BFORM=L,EFORM=K,PFORM=M,XFORM=K
      INTERVALL = UTA - UTA_____
  2. Hier sollen sichergestellte und einmal auszuführende Anforderungen in Langform gedruckt werden, die im Intervall RPAAAAAA bis RPZZZZZZ liegen:
    • PROGRAMM=PCL1035,BIBAUSW=B,E,BFORM=L,EFORM=L
    • INTERVALL = RPAAAAAA - RPZZZZZZ

2.5.2 Dokumentation von Teilen der Anforderungs-DB nach Sortierungskriterien PCL1139

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1139 können die Inhalte der Anforderungs-DB oder Teile daraus gedruckt werden.
Die Bibliothekselemente erscheinen im Protokoll wahlweise nach Name des Bibliothekselements, nach Bearbeiter, Erstelldatum oder Ausführungsdatum sortiert.

Außerdem wird bei Anforderungen angezeigt, ob dort Excel- und/oder HTML-Formatierungen vorliegen, durch Einträge in den entsprechenden Spalten im Protokoll bzw. der Ausgabedatei. Bei Excelformatierungen wird dabei unterschieden, in welchem Format diese vorliegen, d.h. im älteren xls-Format (Eintrag "XLS" oder "XLS V") oder im neueren xlsx-Format ("XLSX"). Des weiteren werden bei Excel noch die Sätze dazu auf der Anforderungsdatenbank und die Größe in Bytes ausgegeben.

Da es nur ein HTML-Format gibt, dient dazu die Satzanzahl auf der Anforderungsdatenbank.

ABLAUF
PCL1139_Ablauf.png
1  Anforderungs - Datenbank

   DST004
   DST041 (DLI)
   $ASSDB/DST004


2  Vorlaufkarte

   ASSCO
   $ASSVLK/T1139.VLK


3  Protokoll u. Fehlermeldungen

   PROTO
   $ASSPTK/PCL1139.PTK
VORLAUFKARTE

Aufbau der Vorlaufkarte

          ANF  = Intervall ,
          ANF  = Intervall ,
          ANF  = Intervall ,
               .
               .
               .
          ANF  = Intervall ,
          ANF  = Intervall ,
          SORT = Name ,             -> Name  der Bibliothekselements
          SORT = Bearbeiter ,       -> Name  des letzten Bearbeiters
          SORT = Datum ,            -> Datum der Erstellung
          SORT = Ausführungsdatum , -> Datum letzte (Batch-)Ausführung
          CSV                       -> Statt ins Protokoll erfolgt Ausgabe
                                          auf csv-Datei ASSCSV

Es können bis zu 30 Intervallangaben gemacht werden, die durch Kommata voneinander getrennt werden müssen. Ein Intervall hat prinzipiell folgenden Aufbau:
ANF = BibArt: Namensanfang - BibArt: Namensanfang

BEISPIELE für Intervallangaben

2.6 Crossreferenz für die Anforderungs-DB

2.6.1 Crossreferenz Anforderungsdatenbank: Verwendung Arbeitsgebiet, Schlüssel, Werte etc. PCL1049

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1049 kann aus Inhalten der Anforderungs-DB eine Liste erstellt werden, aus der man ersehen kann, in welchen Anforderungen Arbeitsgebiete, Werte, Wertegruppierungen, Schlüssel, Schlüsselgruppierungen, Schlüsselrelationen, Relationsgruppierungen, Parameter-Filter und Formeln verwendet werden. Eine Sonderrolle spielen die Anforderungen: Auch hier kann eine Liste erstellt werden, aus der man ersehen kann, in welchen anderen Anforderungen eine bestimmte Anforderung verwendet wird (z.B. in Join-Anforderungen). Hierbei gibt es verschiedene Möglichkeiten: Alle Anforderungen analysieren, nur verkettete Anforderungen analysieren, nur Join-Anforderungen analysieren oder nur Mehrfach-Anforderungen analysieren.

Mit einer Option kann die Ermittlung der Transitivität der Verwendungsnachweise aktiviert werden. Was dies bedeutet, lässt sich am einfachsten an einem einfachen Beispiel erläutern:
Die Anforderung ANF01 verwende das Arbeitsgebiet 1, die Anforderung ANF01 werde in der Join-Anforderung ANF02 verwendet. Damit wird das Arbeitsgebiet 1 auch in ANF02 verwendet.
Dies Verfahren berücksichtigt auch tiefere Verschachtelungen. Anforderungen, die z.B in verketteten Anforderungen verwendet werden, die wiederum in Join-Anforderungen verwendet werden, werden damit auch in der betreffenden Join-Anforderung verwendet (die verkettete Anforderung ANF02 verwende z.B. die Anforderung ANF01, die Join-Anforderung ANF03 verwende die verkettete Anforderung ANF02, damit verwendet ANF03 auch ANF01).

Aus den genannten Verwendungsnachweisen kann demnach ersehen werden. welche Auswirkungen Änderungen von Arbeitsgebieten, Werten, Schlüsseln etc. haben.

Die unterschiedlichen Verwendungsnachweise erfordern eine unterschiedlich genaue Analyse der Anforderungen. Zur Analyse werden Teile der ASS-Auswertungsprogramme benutzt.

  1. Die Verwendungsnachweise für
    • Arbeitsgebiete
    • Werte
    • Schlüssel
    • Schlüsselrelationen
    erfordern die genaueste Analyse (Syntax + Teile der Semantik), weil hierbei u.U. aus einer Schlüsselbezeichnung, die i.a. nicht eindeutig ist, z.B. die Schlüsselnummer ermittelt werden muss oder z.B. die Schlüsselbedingungen beim Wert gefunden werden sollen.
  2. Die Verwendungsnachweise für
    • Wertegruppierungen
    • Schlüsselgruppierungen
    • Relations-Gruppierungen
    erfordern eine einfachere Analyse.
  3. Die Verwendungsnachweise für die restlichen Übersichten müssen nur korrekt aus der Anforderungs-DB gelesen werden können.

Es ergeben sich hieraus also drei Kategorien von Verwendungsnachweisen. Es werden stets die Anforderungen protokolliert, die nicht vollständig bzw. korrekt analysiert werden konnten. Zu diesen Anforderungen konnten also keine vollständigen oder korrekten Aussagen getroffen werden. Die genannten Anforderungen sind i.a. fehlerhaft. Es sollte daher angestrebt werden, diese Anforderungen zu korrigieren, damit keine Anforderungen protokolliert werden, die unvollständig analysiert wurden.
Es empfiehlt sich in einem Lauf nur die Verwendungsnachweise einer Kategorie anzufordern. Die als fehlerhaft ausgewiesenen Anforderungen werden dann minimiert. Wird in einem Lauf nur der Verwendungsnachweis von z.B. Parameterfiltern angefordert, so werden nur die Anforderungen als unvollständig analysiert ausgewiesen, die nicht korrekt von der Anforderungs-DB gelesen werden konnten.

Besonderheiten zu den einzelnen Verwendungsnachweisen:

Schlüsselrelationen: Hier werden alle Relationen aufgeführt, die explizit angefordert wurden. Alle Relationen, die aufgrund von Schlüsselinhaltsangaben (bei Schlüsseln und bei Schlüsselbedingungen zum Wert), die länger sind als die externe Länge des betreffende Schlüssels, heuristisch ermittelt werden, werden ausgegeben. Eine Sonderstellung nehmen Schlüssel ein, die erst bei der Präsentation zusammengesetzt werden. Beispiel:
Beim Zeilenschlüssel seien folgende Schlüssel angefordert:
ZS: S1, S2, S3, S4, S5, S6;
Es existieren folgende Relationen:

Es wird dann zunächst R1 als verwendet angenommen. R1 "verbraucht" die Schlüssel S1, S2 und S3. Damit kann R2 nicht mehr benutzt werden. R3 passt nicht zu den angeforderten Schlüsseln (falsche Reihenfolge). Weiterhin wird R4 als verwendet angenommen. Diese Aussagen sind korrekt, solange die Auswahl nicht vom User-Exits MCL0097 beeinflusst wird. PCL1049 benutzt den User-Exit MCL0097 nicht. Besteht Unsicherheit, so kann durch eine Option das "Verbrauchen" von Schlüsseln ausgeschaltet werden. In diesem Fall werden alle Relationen, die zu den angeforderten Schlüsseln passen, ausgegeben. Im obigen Beispiel sind dies R1, R2 und R4. Hierdurch wird eine Obermenge der in Frage kommenden Relationen erzeugt.

Verkettete Anforderungen, Join-Anforderungen, Mehrfachanforderungen (TABAUSW = V, J , M s.u.): Hier wird bei den Bibliothekselementen nur der betreffende Anforderungstyp ausgewiesen. Es kann hier also z.B. die Frage beantwortet werden, welche Anforderungen werden in welchen Join-Anforderungen verwendet.

Das Protokoll von PCL1049 listet folgende Übersichten auf:

  1. Übersicht über die gelesenen und verarbeiteten Anforderungen. Aus dieser Übersicht kann ersehen werden, wie die einzelnen Anforderungen analysiert werden konnten.
               UEBERSICHT GELESENER BIBLIOTHEKSELEMENTE       TEIL XXXXX
    
               BIBLIOTHEKS-
               ELEMENT
               ART   I   NAME             I  ZUSTAND
               ------I--------------------I-------------------------------
               B     I   AG20TEST         I  VOLLST.ANAL.
               B     I   AG21TEST         I  FEHLERHAFT
    
    Hierbei bedeuten:
    • VOLLST.ANAL. :
      Die genannte Anforderung konnte vollständig analysiert werden. Konnte eine Anforderung vollständig analysiert werden, so folgt daraus nicht, dass sie auch ausführbar ist (z.B. werden Zeiträume oder Verdichtungsstufen nicht näher betrachtet).
    • FEHLERHAFT :
      Die geannte Anforderung konnte nicht vollständig anaylisiert werden. Sie enthält z.B. Syntaxfehler oder angeforderte Arbeitsgebiete sind nicht mehr vorhanden oder ... . Daher ist es u.U. nicht mehr möglich, korrekt von einer Schlüsselbezeichnung auf eine Schlüssel-Nummer zu schließen. In fehlerhaften Anforderungen ist es i.a. nicht möglich, die verwendeten Elemente sicher zu ermitteln. Es sollte angestrebt werden, dass keine Anforderungen als fehlerhaft protokolliert werden, um vollständige Verwendungsnachweise zu erhalten.
    Durch die Option NO_ANF_PROTO in der Vorlaufkarte (s.u.) kann erreicht werden, dass in der obigen Liste nur die fehlerhaften Anforderungen ausgegeben werden.
  2. Verwendungnachweise Alle Verwendungsnachweise haben den gleichen prinzipiellen Aufbau. Als Beispiel soll der Verwendungsnachweis der Arbeitsgebiete dienen:
               ARBEITSGEBIETS-UEBERSICHT                      TEIL XXXXX
    
               ARBEITS-                   I  BIBLIOTHEKS-
               GEBIET                     I  ELEMENT
               NR./BEZ.                   I  ART/NAME
               ---------------------------I-------------------------------
               20    LEISTUNGS_STATISTIK  I  B   AG20TEST
    
  3. Fehlerhafte Anforderungen Analog zu den Verwendungsnachweisen gibt es eine sortierte Übersicht über die Anforderungen, die nicht vollständig analysiert werden konnten.
ABLAUF
Datenflussplan
PCL1049_Ablauf.png
Erklärungen zum Datenflussplan
LFD.-NR. DD-NAME/PGM Dateiname ASS-PC BEZEICHNUNG
110
//DST001
//DST011
//DST012
//DST013
$ASSDB/DST001
Werte-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
120
//DST002
//DST021
//DST022
//DST023
$ASSDB/DST002
Schlüssel-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
130
//DST003
//DST031
//DST032
//DST033
$ASSDB/DST003
Steuerungs-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
140//DST004
//DST041
$ASSDB/DST004 Anforderungsdatenbank
Primär-Index(nur DLI)
150//ASSCO$ASSVLK/T1049.VLKVorlaufkarte
160PCL1049Anforderungsdatenbank analysieren
170
//ANFWK

//SORTIN
//SORTOUT


//SORTWK01
//SORTWK02
//SORTWK1
//SORTWK2
$ASSWK/ANFWK





$ASSWK/SORTnn
Temporäre Workdatei
 (Ausgabe und Eingabe)
Sortdatei (Eingabe)
    -"-   (Ausgabe)
(Format: VB, LRECL=1000)

Sortwork-Bereich01 und
Sortwork-Bereich02    ->   IBM
Sortwork-Bereich1 und
Sortwork-Bereich2     ->   SIEMENS
180//LISTE
//ASSCSV
$ASSPTK/LISTE.PTK
$ASS/ASSCSV
Protokoll und Fehlermeldungen
Netto-Daten (Falls Option CSV oder NUR_CSV gesetzt)
VORLAUFKARTE
Aufbau der Vorlaufkarte
Inhalt Bedeutung
PROGRAMM = PCL1049 Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung
BIBAUSW = A,B,E,P,G,H,I,J Auswahl der Bibliotheksart (obligatorisch)
A = Anwendungen
B = Sichergestellte Anforderungen
E = Einmalige Anforderungen
P = Periodische Anforderungen
G,H,I,J = installationsabhängige Sonderbibliotheken
TABAUSW = A,W,S,F,V,WG,
SG,J,M,RE,RG,PF,ANF,VZ,
ANW
Auswahl der Verwendungsnachweise (obligatorisch)

A   : Arbeitsgebiete
W   : Werte
S   : Schlüssel
F   : Formeln
V   : verkettete Anforderungen
WG  : Wertegruppierungen
SG  : Schlüsselgruppierungen
SGNR: Schlüsselgruppierungen(ST06)
J   : Join-Anfordererungen
M   : Mehrfach-Anforderungen
RE  : Relationen
RG  : Relations-Gruppierungen
PF  : Parameter-Filter
ANF : Anforderungen
     (verkettete, Join- und Mehrfach-Anforderungen)
VZ  : Verzeichnisse
ANW : Anwendungen
LST = n Pro Protokollseite werden maximal n Zeilen gedruckt (49 < n < 251)
NO_ANF_PROTO nur fehlerhafte Anforderungen werden protokolliert
NO_ANF_FEHLER sortierte Übersicht über fehlerhafte Anforderungen nicht ausgeben
VERKETTUNG_AUFLOESEN
oder kurz VKA
Transitivität der Anforderungen berücksichtigen (s.o.)
ALLE_RELATIONEN Alle Schlüsselrelationen, die zu den angeforderten Schlüsseln passen, berücksichtigen (s.o.)
CSV Die Cross-Referenz des Ablaufprotokolls wird zusätzlich semikolonsepariert auf ASSCSV ausgegeben
NUR_CSV Wie CSV, jedoch wird im Ablaufprotokoll die Cross-Referenz unterdrückt

Die bei TABAUSW angeforderten Elemente können durch zusätzliche Angaben eingeschränkt werden.

Dies lässt sich am einfachsten durch Beispiele erläutern:

TABAUSW = A: 1, 10-15, 30
Es werden nur die Arbeitsgebiete 1, 10, 11, 12, 13, 14, 15 und 30 ausgegeben.

Analog kann man die Ausgabe bei Schlüsseln, Werten und Relationen einschränken.

Die anderen Elemente werden nicht durch Nummern identifiziert. Die Einschränkung kann dann zusätzlich durch Maskierungen beschrieben werden.

TABAUSW = WG: HUGO, ANTON01- ANTON99, B?C?????
Es wird die Wertegruppierung HUGO ausgeben. Weiterhin werden alle Wertegruppierungen die im Intervall ANTON01 - ANTON99 enthalten sind und alle Wertegruppierungen, deren Name an der ersten Stelle ein 'B' und an der dritten Stelle ein 'C' enthält, ausgegeben.

Besonderheiten:
Durch TABAUSW = SG : ... werden Schlüsselgruppierungen, die durch Bezeichnungen identifiziert werden,
durch TABAUSW = SGNR : ... werden Schlüsselgruppierungen, die durch Nummern (ST06-Schlüsselgruppierungen) identifiziert werden, ausgewählt.
TABAUSW = SG oder TABAUSW = SGNR wählt alle Schlüsselgruppierungen aus. Wird bei SG oder bei SGNR eine Auswahl getroffen, so werden nur die ausgewählten Elemente behandelt.

Bei TABAUSW = SG : ... bzw. TABAUSW = WG : ... dürfen die zwei führenden '<<' Symbole nicht mit angegeben werden.

Bei TABAUSW = VZ bezieht sich die BIBAUSW-Angabe nicht wie bei den anderen Optionen auf die durchsuchten Elemente, sondern auf die zu suchenden. In diesem Fall können auch Nicht-Anforderungs-Bibliotheken (A,R,V...) angegeben werden.
Bsp.
TABAUSW = VZ: HUGO????, BIBAUSW=A
Es werden füer alles Anwendungen, die mit HUGO beginnen, die Verzeichnisse angezeigt, in denen sie enthalten sind

Die bei den Elementen von TABAUSW aufgezählten Einzelangaben, Intervalle, Masken müssen durch Kommata getrennt werden. Nach dem letzen Element einer Aufzählung darf kein Komma mehr stehen. Bei Intervallen darf die linke Seite nicht größer als die rechte Seite sein. Bei nicht-numerischen Aufzählungen (nicht A und nicht W und nicht S ) sind Maskierungen zulässig. Maskierungen in Intervallen sind nicht zulässig.

Hinweis zur Formel-Crossreferenz

Die Formel-Crossreferenz erzeugt zwei Übersichten. In der ersten Übersicht (direkte Verwendung) werden die Formeln aus der Formelbiliothek aufgelistet, die direkt in der betreffenden Anforderung verwendet werden (durch die Angabe <<Formelname).
In der zweiten Übersicht (indirekte Verwendung) werden die Formeln aus der Formelbiliothek aufgelistet, die einer explizit in der Anforderung hingeschriebenen Formel ähnlich sind. Hierdurch erhält man einen Hinweis, ob die explizit angegebene Formel durch einen Verweis auf die Formelbibliothek ersetzt werden sollte, um bei Formeländerungen Wartungsaufwand zu sparen. Formeln von Anforderungen und aus der Formelbibliothek werden bei der Crossreferenz als ähnlich angesehen (und somit in der indirekten Formelverwendung aufglistet), wenn sie, abgesehen von Kommentaren und Leerzeichen, hinsichtlich der Reihenfolge der Symbole übereinstimmen.

Insbesondere werden zwei Formeln als NICHT gleich angesehen, wenn sie sich in der Art der Klammerung unterscheiden oder wenn sie unterschiedliche Angaben zur Aufbereitung besitzen. Sie werden ebenso als NICHT gleich angesehen, wenn die Reihenfolge von Operanden vertauscht wird.

Alles hier über Formeln Gesagte gilt natürlich auch für Funktionen.

Hinweis zur CSV-Ausgabe (Datei ASSCSV)

Die CSV-Ausgabe besteht folgenden Spalten:

Für TABAUSW=VZ unterscheidet sich der Aufbau:

Zusätzlich zu den beschreibenden Daten eines Elements (z. B. Schlüsselnummer, Schlüsselbezeichnung) wird eine Spalte 'SELEKTIERT' ausgegeben. Diese ist nur für Schlüssel gefüllt. In dieser Spalte werden die Schlüssel markiert, zu denen eine Ausprägungsauswahl in der betreffenden Anforderung existiert. Wird der betreffende Schlüssel als Schlüsselbedingung zum Wert verwendet, so gilt er auch als selektiert.

Folgende Satzarten werden ausgegeben:

Bei Elementen ohne Nummer (z.B. Wertegruppierungen) bleibt die Spalte NR leer. Sind die Elemente Anforderungen, so steht in der Spalte NR die Bibliotheksart.

BEISPIELE

Alle Anforderungen sollen für die Crossreference ausgewertet und auf die Verwendung von Arbeitsgebieten, Schlüsseln, Werten, Formeln bzw. Funktionen sowie die Verwendung in verketteten Anforderungen analysiert werden.

PROGRAMM=PCL1049,BIBAUSW=B,E,P,TABAUSW=A,W,S,F,V

Es sollen einmal- und periodisch auszuführende Anforderungen auf ihre Verwendung von Schlüsseln mit Nummern zwischen 10 und 90 und von Formeln mit Namen gemäß der Maske FOR????C analysiert werden. Auf die Übersichten Nr. 1 (gelesene Bibliothekselemente) und Nr. 10 (fehlerhafte Anforderungen soll verzichtet werden:

BIBAUSW=E,P NO_ANF_PROTO PROGRAMM=PCL1049 NO_ANF_FEHLER
TABAUSW=S:10-90
F:FOR????C

Es sollen nun sichergestellte Anforderungen hinsichtlich ihrer Verwendung von Werten mit Nummern zwischen 23 und 86, sowie mit den Nummern 105, 110 und 115 untersucht werden. Zudem sollen diese Anforderungen auf ihre Verwendung von Arbeitsgebieten mit den Nummern 2 und 5, auf ihre Verwendung von Schlüsselgruppierungen vom Typ ST31 zwischen <<00100A und <<00500Z sowie auf die Verwendung von Schlüsselgruppierungen vom Typ ST06 zwischen 100 und 480 analysiert werden.

BIBAUSW=B PROGRAMM=PCL1049
TABAUSW=W:23-86,105,110,115 A:2,5
SG:00100A-00500Z
SGNR:100-480

Bei Wertegruppierungen (WG) und Schlüsselgruppierungen vom Typ ST31 (SG) und Relations-Gruppierungen gehören die führenden '<<' nicht zum Namen.

2.6.2 Crossreferenz für Parameternamen PCL1164

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1164 kann aus Inhalten der Anforderungs-DB eine Liste erstellt werden, aus der man ersehen kann, welche Parameternamen in den Bibliothekslementen verwendet werden. Diese Crossreferenz kann insbesondere zur Kontrolle der Standard-Parameter aus der Schlüssel-DB verwendet werden (KENR-PARAM-ONLINE und -BATCH).

DATENFLUSSPLAN
PCL1164_Ablauf.png

Vorlaufkarte:

Protokoll:

Arbeitsdatei:

Arbeitsdatei:

VORLAUFKARTE

Als erste Angabe der Vorlaufkarte wird "Programm=PCL1164" erwartet. Die nachfolgenden Angaben schränken die gewünschte Übersicht ggf. via Bibliotheks-Selektion und/oder Parameter-Auswahl ein. Paramter werden über Namensauswahl oder -Maskierung festgelegt.

WICHTIG: Parameternamen werden case-sensitiv behandelt.

Beispiele:

  1. Verwendung der Parameter &&Par und &&PAR in Bibliothek B:
    PROGRAMM=PCL1164 BIBAUSW=B PARAMETER=&&Par, &&PAR
  2. Verwendung der Parameter, deren Namen mit &&PAR... beginnen in allen Bibliotheken:
    PROGRAMM=PCL1164 PARAMETER=&&PAR?????
  3. Verwendung von Parametern in Bibliotheken G und H:
    PROGRAMM=PCL1164 BIBAUSW=G BIBAUSW=H
  4. Verwendung der Parameter, deren Namen mit &&PAR... beginnen und des Parameters &&BarOmetr in Bibliothek X:
    PROGRAMM=PCL1164 PARAMETER=&&PAR?????
    BIBAUSW=X PARAMETER=&&BarOmetr

2.7 Dokumentation der Security-DB PCL1096

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1096 kann die Security-Datenbank dokumentiert werden. Es werden zunächst zu jedem Benutzer die zugehörigen Berechtigungen angelistet. Am Ende der Liste stehen die Zugriffszahlen, die tageszeitabhängig jedem Benutzer zugeordnet sind. PCL1096 bietet zusätzlich detailliertere vorlaufkartenabhängige Übersichten über die Berechtigung der DST009 (s.u. Kap. 2.7.1 und Kap. 2.7.2) an.

Im Protokoll wird bei jedem DB-Segment der letzte ändernde Nutzer und das Datum der Änderung angegeben. Bei Änderungen, die mit ASS 8.70 oder höher getätigt wurden, wird auch die Uhrzeit (auf 10 Minuten genau) ausgegeben. Ist außerdem die Log-DB installiert, wird bei jedem via ST09 geänderten Segment statt des Nutzers die Transaktions-ID der letzten Änderung eingetragen ("S. T-ID ..."). Über die Log-DB erhält man unter dieser Nummer detailliertere Informationen zur ändernden Transaktion.

ABLAUF
Erklärungen zum Datenflussplan
LFD.-NR. DD-NAME/PGM Dateiname ASS-PC BESCHREIBUNG
10//DST009
//DST091
$ASSDB/DST009Security-DB
Primär-Index (nur DLI)
20PCL1096Dokumentieren Security-DB
30//PROTO$ASSPTK/PCL1096.PTKAusgabe PCL1096
40//ASSOSC$ASS/ASSOSC.DATAusgabe PCL1096 für installabh. Reorganisation der Security-DB
Datenflussplan
PCL1096_Ablauf.png

2.7.1 Einfache Dokumentation der Security-DB PCL1096

PCL1096 bietet vorlaufkartenabhängige Übersichten zu den Berechtigungseinträgen der DST009. Die Erzeugung weiterer, detaillierter Crossreferenzen wird im Kap. 2.7.2 (s.u.) beschrieben.

Dieses Kapitel behandelt einfache vorlaufkartenabhängige Übersichten über die
Berechtigungsprofile (ST06: 'BERECHTIGUNGEN'),
Benutzer (ST06: 'BENUTZER'),
Verweise (ST06: Verweis bei 'BERECHTIGUNGEN')
der DST009.

Datenflussplan
PCL1096_Ablauf_2.png
VORLAUFKARTE

Folgende Optionen sind möglich:

2.7.2 Detailierte Dokumentation der Security-DB PCL1096

PCL1096 bietet detaillierte, vorlaufkartenabhängige Crossreferenzen über die Berechtigungen der DST009 zu ASS-Objekten an.

Datenflussplan
PCL1096_Ablauf_1.png

Vorlaufkarte:

Protokoll:

Arbeitsdatei:

Arbeitsdatei:

Systemsort
Datenbanken DST007 (Texte) und DST009 (Security) werden nur gelesen

VORLAUFKARTE

Die erste Vorlaufkarte ist:

Programm=PCL1096,CROSS

In den nachfolgenden Vorlaufkarten werden die gewünschten Übersichten spezifiziert. Dabei können auch mehrere Crossreferenzen in einem Programmlauf von PCL1096 erzeugt werden.

Jedes der folgenden Einleitungskürzel steht für eine weitere Crossreferenz:

Im einfachsten Fall werden Einzeleinträge durch Nennung oder durch Intervallangabe hintereinander angegeben und mit Komma getrennt.

Beispiel:

     PROGRAMM=PCL1096,CROSS
        AG: 1 - 10,
            25,
            31 - 35,
            44 - 46,
            49

In den Security-Einträgen werden Benutzerprofile angelistet, die die Berechtigung für die genannten Arbeitsgebiete besitzen.

Dabei wird zu jedem Eintrag, also

eine Verbindung zu den Berechtigungsprofilen hergestellt. Ist "ERNIE" für die Arbeitsgebiete 1, 30 bis 45 berechtigt und "BERT" für die Arbeitsgebiete 44 bis 50, dann sieht die Crossreferenz zu den Arbeitsgebieten wie folgt aus:

     PCL1096 VERSION: 7.00, GELAUFEN AM 01.10.03 UM 13.06 UHR.

     -----------------------------------------------------------
       AG-VON - AG-BIS  I  PROFIL    SECURITY STATUS
     -----------------------------------------------

           1  -    10   I  ERNIE     TEILWEISE
           31 -    35   I  ERNIE     VOLLSTAENDIG
           44 -    46   I  BERT      VOLLSTAENDIG
           44 -    46   I  ERNIE     TEILWEISE
           49           I  BERT      VOLLSTAENDIG

Wo für den genannten Eintrag die volle Berechtigung des Benutzerprofils vorliegt, wird der Text "VOLLSTAENDIG" gesetzt (z.B. "ERNIE" zu 31 - 35, denn "ERNIE" darf die Arbeitsgebiete 30 bis 45),
bei teilweiser Übereinstimmung "TEILWEISE". (z.B. "ERNIE" zu 44 - 46, denn "ERNIE" darf die Arbeitsgebiete 30 bis 45, aber nicht Arbeitsgebiet 46).
In weiterem Verlauf gibt es noch die Textvariante "NICHT EINDEUTIG", wenn die Untersuchung z.B. bei Existenz ?-Maskierungen und/oder Intervall-Angaben nicht ohne weiteres oder nur sehr aufwendig programmtechnisch entscheidbar ist.
"NICHT EINDEUTIG" bedeutet also: mindestens "TEILWEISE", möglicherweise sogar "VOLLSTAENDIG".

Die einfache Variante der Vorlaufkartenoptionen gilt für

Die anderen Crossreferenzen lassen sogar eine noch detailliertere Eingrenzung der gewünschten Crossreferenz zu, z.B. durch Ausprägungsmaskierungen bzw. -intervalle. Die jeweiligen Unterobjekte werden eingeleitet durch "INH=".

Beispiel:

     PROGRAMM=PCL1096,CROSS
        KY: 21,
            22 - 23,
            24: INH=A,
            25: INH=A?,
            26: INH=??V?,
            27: INH=A - 30: INH=R

Die Einträge haben folgende Bedeutung

Diese Art der Vorlaufkartenspezifikation gilt für

Abschließendes Beispiel
     PROGRAMM=PCL1096, CROSS
        AG: 19,
            1  - 33

        ANF: B: ????????,
             E: A?,
             P: A001 - A999

        KY: 21,
            22 - 23,
            24: INH=A,
            25: INH=A?,
            26: INH=??V?,
            27: INH=A - 30: INH=R

        RE: 1,
            14: INH=G,
            15: INH=T - 15: INH=V,
            27: INH=F?

        WE: 17,
            23 - 55

        ZE: 0101 - 0203,
            0602 - 1502,
            0501,
            1001

        SO: AZ - SO,
            X0 - X3,
            X3

        PROFIL: PR0005,
                A?B

2.7.3 Reorganisation der Security-DB PCL1096

Es steht ein USER-Exit (MCL0657) zur Verfügung, mit dem die Sätze der Security-Datenbank modifiziert werden können (vgl. Dokumentation im Prototyp). Es wird eine Datei erzeugt, die mit PCL1195 geladen werden muss.

Datenflussplan
PCL1096_Ablauf_3.png
VORLAUFKARTE
PROGRAMM=PCL1096, REORG

2.8 Analyse externer Schnittstellendateien PCL1056

FUNKTIONSBESCHREIBUNG

Gegenüber den ASS-Datenbeständen weisen ASS-Schnittstellendateien in der Regel als Reserve für etwaige Erweiterungen zusätzliche Schlüssel- und Wertmerkmale auf, die bei der Übernahme in die ASS-Datenbestände wegverdichtet werden. Die Sätze liegen gewöhnlich als Einzelsätze entsprechend dem Einzelsatzkriterium der operativen Ebene vor, z.B. Vertragsnummer bzw. Positionsnumer. Diese Einzelsatzinformationen sowie die zusätzlichen Schnittstellenschlüssel und -werte können über die normale ASS-Auswertung aus den ASS-Datenbeständen infolge der vorgenommenen Verdichtung nicht mehr abgeleitet werden.

Daher wurde mit dem Programm PCL1056 ein Auswertungsinstrument geschaffen, dass derartige Einzelsatzinformationen aus archivierten Schnittstellendateien liefert.

Über eine Reihe von Selektionsmöglichkeiten, die neben den Mitteln der BATCH-Anforderungssprache noch zusätzliche Auswahlkriterien für spezielle Schnittstellenmerkmale berücksichtigen, können gezielt Sätze aus den betreffenden Schnittstellendateien ausgewählt werden.

Da bei Angabe der Option DATEI die selektierten Sätze zusätzlich in eine Datei geschrieben werden (siehe unten), ist es möglich, aus einer vorhandenen Schnittstelle durch gezielte Selektion eine weitere Schnittstellendatei zu erzeugen. In diesem Zusammenhang sei auch auf die Option NODRUCK hingewiesen. Es sollte bei der Selektion der Sätze jedoch auf den Einsatz der Option SATZBIS verzichtet werden (siehe unten).

ABLAUF
PCL1056_Ablauf.png

Nummer DD-Name/PGM Dateiname ASS-PC Beschreibung
1KARTE$ASSVLK/KARTE.VLKEingabe der Anforderung
2ASSIN01$ASS/ASSIN01Externe Schnittstelle
(Format: analog zu PCL1001)
3ASSCO$ASSVLK/T1056.VLKVorlaufkartendatei
4LISTE$ASSPTK/LISTE.PTKVerarbeitungsprotokoll
(Format: LRECL=133 FB CTLASA)
5ASSIN02$ASS/ASSIN02Selektierte Sätze aus ASSIN01 im Format der Externen Schnittstelle
Selektionsmöglichkeiten

Für die Selektion der Schnittstellensätze stehen zunächst Vorlaufkartenparameter zur Verfügung, die spezielle Schnittstellensatzelemente wie Ordnungsbegriff oder Satznummer ansprechen.
Daneben können aber noch zusätzlich die von den normalen ASS-Anforderungen her bekannten Selektionsmöglichkeiten der Anforderungssprache ausgenützt werden. Dazu wird in einer BATCH-Anforderungsdatei eine normale ASS-BATCH-Anforderung definiert. Bei der Selektion von Schnittstellensätzen können also alle Kriterien, die auch in den betreffenden ASS-Arbeitsgebieten vorkommen, über die BATCH-Anforderungsdatei selektiert werden.
Dagegen müssen Selektionen nach speziellen Schnittstellenfeldern, die ja nicht in den ASS-Datenbeständen vorkommen und der BATCH-Anforderungssprache daher fremd sind, über Vorlaufkarten vorgenommen werden.

Beschreibung der Vorlaufkartenoptionen

Die erste Angabe ist beginnend in der ersten Spalte auf jeden Fall erforderlich:

PROGRAMM=PCL1056

Weitere Angaben können, auf eine oder mehrere Vorlaufkarten verteilt, angegeben werden und sind mit Komma(ta) zu trennen.

Folgende optionale Angaben sind zulässig:

BEGRIFF=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Mit der Angabe BEGRIFF werden Sätze nach dem Ordnungsbegriff selektiert, wobei hier (analog zu den Schlüsselausprägungen) eine Angabe durch Maskierung mit ? oder ! möglich ist. Die Wirkung von ? und ! ist identisch.

Enthält die Ordnungsbegriffsangabe der Vorlaufkarten keine Fragezeichen (?) oder Ausrufezeichen, so werden nur die Summensätze angezeigt, die diesen Ordnungsbegriff aufweisen. Ansonsten werden genau die Stellen beim Ordnungsbegriff im Summensatz mit der Angabe in der Vorlaufkarte verglichen, bei denen in der Angabe kein Frage- oder Ausrufezeichen steht.

Nach BEGRIFF= werden die nächsten 30 Buchstaben als Ordnungsbegriff interpretiert. Wird diese Angabe in den Vorlaufkarten nicht verwendet, werden die Summensätze nicht nach dem Ordnungsbegriff selektiert, sondern es gelten lediglich die anderen Selektionskriterien.

EXIT=xxxxxxxx

Diese Angabe entspricht der im Programm PCL1001 (vgl. Dokumentation von PCL1001 im Handbuch 'BETRIEB I'). Durch diese Angabe wird erreicht, dass auch bei der Analyse von externen Schnittstellen analog zur Folgeeinspeicherung die gleichen User-Exits unterstützt werden.

SATZVON=nnnnnnnnnn

Wird dieser Parameter angegeben, werden die Sätze der Externen Schnittstellen-Datei zusätzlich nach diesem Kriterium selektiert. Summensätze werden nur gedruckt, wenn ihre Satznummer (s.o.) größer oder gleich der Angabe unter SATZVON ist.

SATZBIS=nnnnnnnnnn

Wird dieser Parameter angegeben, werden die Sätze der Externen Schnittstellen-Datei zusätzlich nach diesem Kriterium selektiert. Summensätze werden nur gedruckt, wenn ihre Satznummer (s.o.) kleiner oder gleich der Angabe unter SATZBIS ist.

ACHTUNG: Ist SATZBIS kleiner als die Anzahl der Summensätze und ist zusätzlich die Option DATEI angegeben, so wird nach ASSIN02 kein Endesatz geschrieben. Diese Datei ist also in diesem Fall nicht unmittelbar für eine Einspeicherung brauchbar.

ZEILEN=nnnnnnnnnn

Durch diesen Parameter kann der Druckoutput begrenzt werden. Die Protokollierung der Sätze wird abgebrochen, wenn die Anzahl der gedruckten Zeilen in der Protokoll-Datei die Angabe beim Parameter ZEILEN übersteigt. Lediglich das End-Protokoll wird noch ausgegeben. Standardannahme für ZEILEN ist ZEILEN=10000.

DATEI

Mit der Angabe der Option DATEI werden Sätze gemäß den angegebenen Selektionskriterien auf die Datei ASSIN02 geschrieben. D.h. die Sätze von ASSIN01, die im Protokoll erscheinen, werden gleichzeitig (so wie sie eingelesen wurden) in die Datei ASSIN02 geschrieben. Lediglich in den Endesätzen von ASSIN02 wird die Anzahl der Summensätze entsprechend der neuen Anzahl abgeändert.

NODRUCK

Bei Angabe der Option NODRUCK reduziert sich das Protokoll auf die Ausgabe der Statistik der verarbeiteten Sätze. Insbesondere unterbleibt die Anlistung der selektierten Summensätze. Diese Option ist insbesondere bei großen Schnittstellendateien bei gleichzeitiger Angabe von DATEI zu empfehlen.

TRANSLATE

Wenn diese Option in einer PC-Installation angegeben wird, werden im EBCDIC-Format vorliegende Schnittstellen nach ANSI konvertiert. In einer Großrechnerumgebung wird entsprechend von ANSI nach EBCDIC umgewandelt.

FB

Die Eingabedaatei ASIN01 wird im festgeblockten Format erwartet.

Aufbau der BATCH-Anforderungsdatei (KARTE)

In der BATCH-Anforderungsdatei mit dem logischen Namen KARTE kann nach folgenden Kriterien selektiert werden:

Werden zu den einzelnen Kriterien keine Angaben gemacht, erfolgt die Ausgabe über alle vorhandenen Informationen. Die Selektion der Sätze in der Datei "KARTE" erfolgt im Format der ASS-BATCH-Anforderungssprache.

Folgende Sprachelemente sind zulässig:

Sonstige Sprachelemente werden nicht benötigt und werden beim Programmlauf entweder ignoriert (z.B. Optionen) oder führen zur Ausgabe einer Fehlermeldung und der Beendigung des Programms (z.B. falls mit AG: Arbeitsgebiete angegeben werden).
Die Wirkungsweise der obigen Angaben wird am Ende dieser Programmbeschreibung anhand eines Beispiels erläutert.

Aufbau des Ausgabeprotokolls

Die selektierten Sätze werden mit einer Satzlänge von 133 Zeichen angezeigt. Neben den zugehörenden Kopf- und Endesätzen der betreffenden Schnittstellendatei erscheinen die selektierten Summensätze.

In den Kopf- und Summensätzen werden neben einer vom Programm PCL1056 vergebenen Satznummer noch Ordnungsbegriff und Satzart ausgegeben. Über die Anforderungsdatei angeforderte Schlüssel werden in Summensätzen mit ihrer ASS-Nummer und dem jeweiligen Schlüsselinhalt angezeigt. Selektierte Werte treten in den Summensätzen mit dem jeweiligen Werteinhalt und zugehörigem Wertedatum auf.

Entsprechend den ASS-Schnittstellenkonventionen erscheinen in Kopfsätzen die Schlüsselinhalte als Leerfelder, die Werteinhalte tragen den Wert 1 oder 0 bei Bewegungs- oder Bestandsanlieferung. Kopf- und Summensätze erscheinen also nur dann komplett mit allen Schlüsseln und Werten, wenn entweder alle Schlüssel und Werte explizit angefordert werden oder überhaupt keine Schlüssel und Werte selektiert werden.

BEISPIEL

Vorlaufkartendatei ASSCO:

        PROGRAMM=PCL1056
        SATZVON=1
        SATZBIS=15
        ZEILEN=400
        BEGRIFF=ASS-EXT???????????????????????
        DATEI

Datei KARTE:

        ASS;
         KS: ZEITRAUM=(1188-1288,0289);
         ZS:
             1901=(11,22,3!),     <-- !-Maskierung (bei IBM ggf. 3Ü)
             1902;
         SS: WERTE=(1912,1913);
        END;

Ergebnis:

Bei dieser Anforderung werden neben den Kopf- und Endesätzen die Summensätze protokolliert, die folgende Selektionsbedingungen erfüllen:

Listbild:

Kopfsatz:

        ORDNUNGSBEGRIFF: ASS-EXT   1 DEZ 1988           SATZNUMMER: 1

        SCHLUESSEL:
        01901=            , 01902=

        WERTE:
        01912(8812)=+000000000000001, 01913(8812)=+000000000000001,
        --------------------------------------------------------------

Summensätze:

        ORDNUNGSBEGRIFF: ASS-EXT   1 DEZ 1988           SATZNUMMER: 2

        SCHLUESSEL:
        01901=11          , 01902=1           ,

        WERTE:
        01912(8812)=+000000000045681, 01913(8812)=+000000000047690,
        --------------------------------------------------------------
        ORDNUNGSBEGRIFF: ASS-EXT   1 DEZ 1988           SATZNUMMER: 15

        SCHLUESSEL:
        01901=33          , 01902=4           ,

        WERTE:
        01901(8812)=+000000000062610, 01901(8812)=+000000000064500,
          .


3 Datensicherung

Neben den allgemeinen DB-Utilities, die dem Systemverwalter zum Handling der Datenbanken zur Verfügung stehen, bietet ASS eine Reihe von Programmen, um gezielte Sicherungen von ASS-Arbeitsgebieten und ASS-Anforderungen vorzunehmen.

3.1 Sichern Arbeitsgebiet mit Parameter-DB's PCL1004

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1004 kann eine logische Sicherung eines Arbeitsgebietes vorgenommen werden. Sämtliche Informationen aus Werte-, Schlüssel- und Steuerungs-DB, die ein Arbeitsgebiet beschreiben, werden dabei in eine sequentielle Datei geschrieben.

Ein solcher Abzug eines Arbeitsgebietes wird u.a. für folgende Maßnahmen benötigt:

ABLAUF
PCL1004_Ablauf.png
1  Werte-DB

   DST001
   DST011/DST012/DST013 (DLI)
   $ASSDB/DST001 (PC)

2  Schlüssel-DB

   DST002
   DST021/DST022/DST023 (DLI)
   $ASSDB/DST002 (PC)

3  Steuerungs-DB

   DST003
   DST031/DST032/DST033 (DLI)
   $ASSDB/DST003 (PC)

4  Vorlaufkarte

   SYSIN
   $ASSVLK/T1004.VLK (PC)

5  Protokoll

   PROTO
   $ASSPTK/PCL1004.PTK (PC)

6  Ausgabedatei

   DATEI oder DATEIFB
   $ASS/AG.EBC (PC)

VORLAUFKARTE

Für den Programmlauf ist eine Vorlaufkarte mit folgendem Aufbau anzugeben:

Inhalt Bemerkung
PROGRAMM PCL1004 Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
AGNR=nn Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
nn = Zahl zwischen 01 und 300
OA Option: Schlüsselausprägungen werden nicht mit abgezogen
TRANSLATE Option: Umsetzung von EBCDIC nach ANSI bzw. umgekehrt
wird nicht empfohlen, da PCL1005 das Format automatisch erkennt

Die Vorlaufkartenoption OA bewirkt, dass nicht alle Segmente der Schlüsseldatenbank auf den Abzug geschrieben werden. Insbesondere fehlen Segmente SST013SA, in denen die Schlüsselinhalte gespeichert sind. Ein Anwendungsfall ist die Einspeicherung in Arbeitsgebieten, die Massenschlüssel enthalten. Achtung: Ein derartiger Abzug ist nicht für die Datensicherung geeignet.

BEISPIEL:

ARBEITSGEBIET 1 SOLL GESICHERT WERDEN.
PROGRAMM PCL1004,AGNR=01

3.2 Sichern Arbeitsgebiet ohne Parameter-DB's PCL1014

Dieses Programm wird in der Cobol-Version von ASS nicht mehr unterstützt.

3.3 Laden / Kopieren Arbeitsgebiet mit Parameter-DB's PCL1005

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1005 kann ein mit PCL1004 erstellter Abzug eines Arbeitsgebietes in die Werte-, Schlüssel- und Steuerungs-DB zurückgeladen werden. Gibt es diese Datenbanken mehrfach (z.B. Test und Produktion), so kann auf diese Weise ein Bridgen von Arbeitsgebieten durchgeführt werden.

Ein additives Auffüllen der Schlüssel-Datenbank kann durch die Option ERGAENZ (s.u.) erreicht werden. Durch einen Parameter in der Vorlaufkarte (LOESCHEN) kann man die Steuerungs-DB initialisieren. Durch dieses Löschen der Konsistenzfelder wird ein Zustand hergestellt, als wäre noch keine Einspeicherung zu diesem Arbeitsgebiet erfolgt.

Ferner lassen sich Arbeitsgebiete kopieren. Gibt man in der Vorlaufkarte AG_NEU=nn an, so wird der mit PCL1004 erstellte Abzug eines Arbeitsgebietes auf das neue Arbeitsgebiet mit der Nummer nn kopiert. Es ist darauf zu achten, dass die Nummer nn bislang noch für kein anderes Arbeitsgebiet vergeben ist.

Durch die Angabe AG_NEU_ERST=nn kann analog zu AG_NEU ein Arbeitsgebiet kopiert werden. Im Gegensatz zu AG_NEU wird jedoch das Ziel-Arbeitsgebiet, falls es schon existiert, überschrieben. Bei AG_NEU_ERST wird davon ausgegangen, dass das Ziel-Arbeitsgebiet für eine Ersteinspeicherung vorgesehen ist. Daher sind bei AG_NEU_ERST folgende Besonderheiten zu beachten:

Durch die Angabe AG_NEU_ERST_DBST=nn kann analog zu AG_NEU_ERST ein Arbeitsgebiet kopiert werden. AG_NEU_ERST_DBST arbeitet wie AG_NEU_ERST. Es werden in diesem Fall auch stillgelegte Datenbank-Verdichtungsstufen kopiert.

Mit Hilfe der Vorlaufkarten 2 bis n können Schlüsselinhalt, Schlüsselbezeichnung und Schlüsselabkürzung umgesetzt werden. Im standardmäßig ausgelieferten ASS können Datumsanangaben um das Jahrhundert ergänzt werden. Des Weiteren ist es möglich, Schlüsselinhalte um eine führende Null zu ergänzen. Dies ist vor allem dann interessant, wenn die externe Länge eines Schlüssels vergrößert werden soll. Außerdem können im Programm MST0529/MCL0529 eigene Umsetzroutinen programmiert werden.
Werden die Vorlaufkarten 2 bis n angegeben, so wird nur die Schlüsseldatenbank zurückgeladen (mit gem. den Vorlaufkarten geänderten Schlüsselausprägungen, -bezeichnungen und -abkürzungen).

ABLAUF
PCL1005_Ablauf.png
1  Werte-DB

   DST001
   DST011/DST012/DST013 (DLI)
   $ASSDB/DST001 (PC)

   Schlüssel-DB

   DST002
   DST021/DST022/DST023 (DLI)
   $ASSDB/DST002 (PC)

   Steuerungs-DB

   DST003
   DST031/DST032/DST033 (DLI)
   $ASSDB/DST003 (PC)

2  Ladebestand

   DATEI
   $ASS/AG.EBC (PC)

3  Vorlaufkarte

   SYSIN
   $ASSVLK/T1005.VLK

4  Protokoll
   PROTO
   $ASSPTK/PCL1005.PTK

5  Steuerungs-DB

VORLAUFKARTE

Für den Programmlauf ist eine Vorlaufkarte mit folgendem Aufbau anzugeben:

Inhalt Bemerkung
PROGRAMM PCL1005 Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
AGNR=nn Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
nn = Arbeitsgebietsnummer.
DATUM=XXXX Muss vorhanden sein.
Erwartet in der Form JJMM bzw. JJMMTT das Datum der letzten Einspeicherung (siehe ST06).
Muss identisch mit dem Datum im abgezogenen Arbeitsgebiet (PCL1004) sein, das als Datum der letzten Einspeicherung ausgewiesen ist.
Wurde noch keine Einspeicherung durchgeführt, lautet der Parameter XXXX.
,LOESCHEN Nur bei Bedarf anzugeben.
Beim Laden werden sämtliche Konsistenzfelder gelöscht. Das Arbeitsgebiet wird zurückgesetzt. Nach Löschen der zugehörigen Summen-DB kann eine neue Ersteinspeicherung erfolgen.
,KY_INIT Standdardmäßig (ohne ERSETZ/ERGAENZ) bleiben bestehende Werte und Schlüssel im Ziel unverändert und sonst werden sie aus der Quelle übernommen.
Bei KY_INIT gibt es zwei Unterschiede: Bei neuen Schlüsseln werden weder Ausprägungen noch Gruppierungen übernommen und ab 8.40 können auch PCL1004-Abzüge mit der Option OA eingespielt werden.
,ERSETZ Nur bei Bedarf anzugeben.
Alle Schlüssel und Werte des betreffenden Arbeitsgebietsabzugs sollen in der Schlüssel- bzw. Werte-DB vollständig durch die Inhalte des Arbeitsgebietsabzugs ersetzt werden (s.u.).
,ERGAENZ Nur bei Bedarf anzugeben.
Diese Option beeinflusst die Behandlung von Schlüsselausprägungen. Sie ist für das Bridgen von Arbeitsgebieten gedacht.
Hierbei ist zu beachten, dass die Quelle über das Ziel dominiert, d.h. im Ziel sollten insbesondere keine neuen Schlüsselausprägungen via ST06 oder Batch-Programme ergänzt werden.
Nicht existierende Schlüssel werden vollständig übernommen.
Bei existierenden Schlüsseln werden fehlende Ausprägungen ergänzt und bestehende angepasst.
Existierende ST06-Schlüsselgruppierungen werden nicht verändert. Wird ein Schlüssel in mehreren Arbeitsgebieten verwendet oder es soll ein Arbeitsgebiet mehrfach übernommen werden, so wird durch diese Option erreicht, dass das Ziel additiv aufgefüllt wird.
Wichtig ist, dass in der Quelle und im Ziel verdichtete Schlüsselinhalte synchron gehalten werden.
Diese Option synchronisiert verdichtete Schlüsselinhalte nicht.
Diese Option ist mit anderen Schlüssel-Optionen nicht verträglich.
,BS2000_ANSI
,BS2000_MVS
,BS2000
Übersetzen von BS2000-EBCDIC.
PCL1004 lief unter BS2000/OSD.
,MVS_ANSI
,MVS_BS2000
,MVS
Übersetzen von MVS-EBCDIC.
PCL1004 lief unter z/OS.
,OS2_ANSI
,OS2
Übersetzen von Windows (OS2) (Codepage 850).
PCL1004 lief unter Windows.
,ANSI_OS2
,ANSI
Übersetzen von ANSI.
PCL1004 lief unter Linux bzw. Unix.
,AG_NEU=nn Nur bei Bedarf anzugeben.
Der Arbeitsgebietsabzug wird auf das neue Arbeitsgebiet mit der Nummer nn kopiert.
,KY_COPY Nur bei Bedarf anzugeben.
Aus dem Arbeitsgebietsabzug sollen Schlüssel kopiert werden. Die zu kopierenden Schlüssel werden in den Karten 2 bis n angegeben (s.u.).
,KY_COPY_L analog KY_COPY (s.u.).
,KY_COPY_LOGISCH analog KY_COPY (s.u.).
,AG_NEU_ERST=nn Nur bei Bedarf anzugeben.
Der Arbeitsgebietsabzug wird auf das neue Arbeitsgebiet mit der Nummer nn kopiert. Einzelheiten siehe oben.
,AG_NEU_ERST_DBST=nn siehe AG_NEU_ERST.

Beim Einlesen eines am Großrechner ersellten Abzugs in einer PC-Umgebung geschieht automatisch eine Umsetzung von EBCDIC nach ASCII, auch wenn keine Umsetzungsoption angegeben ist. Dabei können Umlaute aber falsch übersetzt werden. Dies kann durch eine obige Übersetzungsoption verhindert werden. Es wird nur noch der Quellzeichensatz genutzt und ein evtl. Zielzeichensatz ignoriert.

Wenn eine der Optionen KY_COPY, KY_COPY_L oder KY_COPY_LOGISCH angegeben ist, werden ab der zweiten Vorlaufkarte die zu kopierenden Schlüssel angegeben.

Die Vorlaufkarten 2 bis n haben alle folgenden Aufbau:

KENR: Quell-Schlüsselnummer -> Ziel-Schlüsselnummer

Beispiel:
KENR: 4711 -> 5000

Im obigen Beispiel wird der Schlüssel 4711 aus dem Arbeitsgebietsabzug auf die Schlüssel-Datenbank auf den Schlüssel 5000 kopiert.

Bei KY_COPY_L kann auch mit SUBSTR gearbeitet werden.

KENR: SUBSTR(Quell-Schlüssel-Nr,n,m) -> Ziel-Schlüssel-Nr wobei n den Offset und m die Länge des Substrings angeben.

Beispiel:
KENR: SUBSTR(4711,3,4) -> 5000

Bei KY_COPY_L kann der Quellschlüssel unabhängig von SUBSTR nur einmal angegeben werden.

Besonderheiten bei KY_COPY, KY_COPY_L, KY_COPY_LOGISCH:

KY_COPY_L und KY_COPY_LOGISCH sind Synonyme, bewirken also das gleiche.

Die Quell-Schlüssel müssen im aktuellen Arbeitsgebietsabzug enthalten sein.

Bei KY_COPY werden die Ziel-Schlüssel vor dem Kopiervorgang vollständig gelöscht (einschl. der ST06-Gruppierungen). Es werden alle Ausprägungen der Quell-Schlüssel auf die Schlüssel-Datenbank unter der Schlüsselnummer der Ziel-Schlüssel kopiert.
ST06-Gruppierungen werden nicht mitkopiert. Bei KY_COPY ist insbesondere die Zuordnung verdichteter Schlüsselinhalt zum Schlüsselinhalt bei Quell- und Ziel-Schlüsseln gleich.

Bei KY_COPY_L bzw. KY_COPY_LOGISCH werden bei den Ziel-Schlüsseln nur die Ausprägungen aus dem AG-Abzug ergänzt, die sich bei den Ziel-Schlüsseln noch nicht auf der Schlüssel-DB befinden, wobei bei ergänzten Schlüsselinhalten die verdichteten Inhalte analog zur ST06 neu vergeben werden.
In diesem Fall kann ein Ziel-Schlüssel also mehr Ausprägungen enthalten als ein Quell-Schlüssel und insbesondere können gleiche Schlüsselinhalte von Quell- bzw. Ziel-Schlüsseln unterschiedliche verdichtete Schlüsselinhalte haben.
Bei SUBSTR gilt als Ziel-Schlüsselausprägung nur der durch SUBSTR abgegriffene Schlüsselinhalt der Quell-Schlüsselausprägung (z.B. SUBSTR('12345678',3,4) = '3456'). Entstehen bei SUBSTR Ausprägungen, die nur aus Blanks bestehen, so werden diese ignoriert.

Es werden nur die angegebenen Schlüssel kopiert, darüberhinaus werden keinerlei Änderungen auf den Parameter-Datenbanken vorgenommen. Ein Quell-Schlüssel kann nur einmal kopiert werden. Soll ein bestimmter Quell-Schlüssel auf mehrere Schlüssel kopiert werden, so sind mehrere Programmläufe erforderlich.

Wenn keine der Optionen KY_COPY, KY_COPY_L bzw. KY_COPY_LOGISCH angegeben ist, können ab der zweiten Vorlaufkarte Schlüsselnummern und Modi angegeben werden, um Schlüsselinhalte, -bezeichnungen oder -abkürzungen umzusetzen. Die Vorlaufkarten 2 bis n haben alle folgenden Aufbau:

Inhalt Bemerkung
KENR=n Der Inhalt zum Schlüssel mit der Nummer n wird gemäß dem nachfolgenden Modus (s. u.) geändert. (n max. 5-stellig)
MODUS=m Modus, gem. dem umgeschlüsselt wird (s. u.). (m max. 5-stellig)

Es sind folgende Modi standardmäßig erlaubt:
(Der Punkt '.' steht für ein beliebiges Trennzeichen in der Datumsangabe, welches nicht verändert wird, z. B. 12.01.71, 12-01-71 etc.)

Modus Umschlüsselungsart Umschlüsselungsort
1
  JJ       -> 19JJ
Inhalt
2
  JJMM     -> 19JJMM
Inhalt
3
  JJMMTT   -> 19JJMMTT
Inhalt
4
    MMJJ   ->   MM19JJ
Inhalt
5
  TTMMJJ   -> TTMM19JJ
Inhalt
6
  JJ.MM    -> 19JJ.MM
Inhalt
7
  JJ.MM.TT -> 19JJ.MM.TT
Inhalt
8
     MM.JJ ->    MM.19JJ
Inhalt
9
  TT.MM.JJ -> TT.MM.19JJ
Inhalt
11-19wie 1-9, jedoch wird bei
JJ < JT_SCHWELLE 20, bei
JJ >= JT_SCHWELLE 19 für
das Jahrhundert ergänzt
(JT_SCHWELLE steht in
SST1179, z. Z. = 50)
Inhalt
31-79eine führende Null wird eingefügtInhalt
80über Datei ASSINKYInhalt
822 führende Blanks einfügenInhalt

Haupteinsatzgebiet der Einfügung einer führenden Null ist die Erweiterung der externen Länge eines Schlüssels um eine Stelle. Die um 30 vergrößerte alte externe Länge ergibt den zu benutzenden Modus. Es werden dabei aber nur Ausprägungen um die führende 0 erweitert deren Länge ≤ Modus - 30 ist.

Will man die Schlüsselbezeichnung verändern, so ist zum jeweiligen Modus 100, bei der Schlüsselkurzbezeichnung 200 zu addieren (siehe auch Beispiel unten). Soll der Schlüsselinhalt umgesetzt in die Bezeichnung übernommen werden, so ist zum jeweiligen Modus 500 zu addieren. In diesem Fall wird der Inhalt selbst nicht umgesetzt. Soll der Inhalt umgesetzt in die Abkürzung übernommen werden, so ist 600 zum jeweiligen Modus zu addieren. Auch hier wird der Inhalt selbst nicht umgesetzt.
Kann eine Umsetzung nach dem angegebenen Modus nicht vorgenommen werden (z. B. weil die neue Länge bei einem Modus zw. 300 und 400 größer als 6 wird), wird auf der Datenbank keine Umsetzung durchgeführt. Will man mit den Modi 500 - 700 den Schlüsselinhalt in die Bezeichnung bzw. Abkürzung übernehmen, so sollte man beachten, dass im gleichen Lauf von PCL1005 der Schlüsselinhalt selbst nicht umgesetzt werden sollte, da sonst ungewünschte Effekte entstehen. Intern wird nämlich immer zuerst der Schlüsselinhalt nach einem evtl. angegebenen Modus umgesetzt und danach dieser umgesetzte Inhalt (evtl. nochmal umgesetzt) in die Bezeichnung übernommen.
Will man dennoch einerseits den Inhalt umsetzen als auch den Inhalt umgesetzt in die Bezeichnung übernehmen, so sind zwei Läufe von PCL1005 erforderlich. Man sollte sich aber über die Reihenfolge (erst Inhalt umsetzen, dann diesen in die Bezeichnung übernehmen oder umgekehrt) im Klaren sein. Zu den standardmäßig vorhandenen Modi 1-19 sei noch folgendes gesagt:
In TT, MM, JJ dürfen auch Maskierungen vorkommen. In diesem Fall werden TT bzw. MM nicht geprüft. In JJ ist die Maskierung nur bei den Modi 1-9, 101-109, 201-209 erlaubt, da sonst der Vergleich JJ < JT_SCHWELLE nicht durchgeführt werden kann. Wird ein unzulässiger Modus angegeben oder ist die Länge nach dem Umschlüsseln der Kurzbezeichnung größer als 6, so wird für diesen Modus keine Änderung durchgeführt. Wird ein ungültiges Format festgestellt (z. B. MM > 16, MM < 0, TT > 35, TT < 0, falsche Länge, Maskierungen in JJ bei den Modi 11-19, keine numerischen Zeichen und keine Maskierungszeichen), so werden ebenfalls keine Änderungen vorgenommen.

Modus 80, Umschlüsselung über Datei ASSINKY In der Datei ASSINKY ist alter und neuer Schlüsselinhalt anzugeben und wird durch ein ; getrennt. Führende Leerzeichen gehöhren zum Schlüsselinhalt und nachfolgende Leerzeichen sind optional. Pro Satz ist immer genau ein Eintrag anzugeben.

Standardmäßig können bis zu 1000 Schlüsselinhalte umgeschlüsselt werden. Zur Zeit ist eine Vergrößerung nur über das Copy SST1769 möglich.

BEISPIELE

Arbeitsgebiet 1, in das im September 2013 zum letzten Mal eingespeichert wurde, soll zurückgeladen werden. Alle Schlüssel- und Werteangaben in Schlüssel- und Werte-DB sollen wieder mit diesen Angaben überschrieben werden.

PROGRAMM PCL1005,AGNR=01,DATUM=1309,ERSETZ

Arbeitsgebiet 2, in das im September 2013 zum letzten Mal eingespeichert wurde, soll zurückgesetzt werden. Alle Schlüssel- und Werteangaben in Schlüssel- und Werte-DB sollen wieder mit diesen Angaben überschrieben werden.

PROGRAMM PCL1005,AGNR=02,DATUM=1309,ERSETZ,LOESCHEN

Arbeitsgebiet 3, in das im September 2013 zum letzten Mal eingespeichert wurde, soll zurückgeladen werden. Da einige der im AG verwendeten Schlüssel und Werte auch in anderen Arbeitsgebieten verwendet werden, sollen nur solche Schlüssel und Werte in Schlüssel- und Werte-DB aktualisiert werden, die ausschließlich in diesem AG verwendet werden. (siehe auch BESONDERHEITEN: Verwendung PCL1015).

PROGRAMM PCL1005,AGNR=03,DATUM=1309

Arbeitsgebiet 4, in das im September 2013 zum letzten Mal eingespeichert wurde, soll auf das Arbeitsgebiet 5 kopiert werden, das noch nicht existiert.

PROGRAMM PCL1005,AGNR=04,DATUM=1309,AG_NEU=05,LOESCHEN

Es sollen die Schlüsselinhalte der Schlüssel 10 und 11 um das Jahrhundert ergänzt werden. Im Schlüssel 10 steht das Datum im Inhalt im Format JJMM, und es soll immer 19 für das Jahrhundert gesetzt werden. Im Schlüssel 11 steht das Datum in der Bezeichnung im Format TT.MM.JJ, und es soll in Abhängigkeit von JJ und JT_SCHWELLE (s. o.) 19 oder 20 für das Jahrhundert gesetzt werden. Beide Schlüssel kommen im Arbeitsgebiet 01 vor.

        PROGRAMM PCL1005,AGNR=01,DATUM=1309,ERSETZ
        KENR=10, MODUS=2
        KENR=11, MODUS=119

Für Schlüssel 120 in Arbeitsgebiet 01 wird die externe Länge von 4 auf 5 vergrößert. Den bereits existierenden Schlüsselinhalten soll jeweils eine Null voraus gestellt werden. Die alte externe Länge plus 30 ergibt den Modus, also 34.

        PROGRAMM PCL1005,AGNR=01,DATUM=1309,ERSETZ
        KENR=120, MODUS=34

Falls nicht alle Schlüssel, die umgeschlüsselt werden sollen, in einem Arbeitsgebiet vorkommen, so kann man auch ein temporäres Arbeitsgebiet einrichten, alle gewünschten Schlüssel darin aufnehmen, einen PCL1004-Abzug erstellen und PCL1005 mit den gewünschten Vorlaufkarten laufen lassen.

BESONDERHEITEN

3.4 Laden Arbeitsgebiet ohne Parameter-DB's PCL1015

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1015 kann ein mit PCL1004 erstellter Abzug eines Arbeitsgebietes in die Steuerungs-DB zurückgeladen werden. Im Gegensatz zu PCL1005 nimmt PCL1015 dabei keine Veränderungen in Schlüssel- und Werte-DB vor.

Durch einen Parameter in der Vorlaufkarte (LOESCHEN) kann man die Steuerungs-DB initialisieren. Durch dieses Löschen der Konsistenzfelder wird ein Zustand hergestellt, als wäre noch keine Einspeicherung zu diesem Arbeitsgebiet erfolgt.

Soll ein Arbeitsgebiet zurückgesetzt werden, um eine Erst- oder Folgeeinspeicherung nochmals durchzuführen, so sollte das Programm PCL1015 dem Programm PCL1005 auf jeden Fall vorgezogen werden, wenn nicht bewusst korrigierende Änderungen in Schlüssel- oder Wertedatenbank vorgenommen werden sollen. (siehe Beschreibung PCL1005).

ABLAUF
PCL1015_Ablauf.png
1  Steuerungs-DB

   DST003
   DST031/DST032/DST033 (DLI)
   $ASSDB/DST003 (PC)

2  Ladebestand

   DATEI
   $ASS/AG.EBC (PC)

3  Vorlaufkarte

   SYSIN
   $ASSVLK/T1015.VLK (PC)

5  Protokoll
   PROTO
   $ASSPTK/PCL1015.PTK (PC)

6  Steuerungs-DB


VORLAUFKARTE

Für den Programmlauf ist eine Vorlaufkarte mit folgendem Aufbau anzugeben:

Inhalt Bemerkung
PROGRAMM PCL1015Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
AGNR=nn Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
nn = Zahl zwischen 01 und 300
DATUM=???? Muss vorhanden sein.
Erwartet in der Form JJMM bzw. JJMMTT das Datum der letzten Einspeicherung (siehe ST06).
Muss identisch mit dem Datum im abgezogenen Arbeitsgebiet (PCL1004) sein, das als Datum der letzten Einspeicherung ausgewiesen ist.
Die Angabe von XXXX ist ebenso möglich. Falls noch keine Daten eingespeichert wurden, muss diese Angabe gemacht werden.
,LOESCHEN Nur bei Bedarf anzugeben.
Beim Laden werden sämtliche Konsistenzfelder gelöscht. Das Arbeitsgebiet wird zurückgesetzt. Nach Löschen der zugehörigen Summen-DB kann eine neue Ersteinspeicherung erfolgen.
,BS2000
,OS2
,ANSI
,MVS
Übersetzung analog zu PCL1005.
PCL1004 lief unter der Angabe.
BESONDERHEITEN

Normalerweise wird die Datumsangabe der Vorlaufkarte gegen das Datum der letzen Einspeicherung im Arbeitsgebietsabzug geprüft. Damit soll verhindert werden, dass falsche Abzüge zurückgeladen werden. Wird in der Vorlaufkarte DATUM=XXXX angegeben, so entfällt diese Prüfung.

BEISPIELE

Arbeitsgebiet 1, in das im September 2013 zum letzten Mal eingespeichert wurde, soll zurückgeladen werden.

PROGRAMM PCL1015,AGNR=01,DATUM=1309

Arbeitsgebiet 2, in das im September 2013 zum letzten Mal eingespeichert wurde, soll zurückgesetzt werden.

PROGRAMM PCL1015,AGNR=02,DATUM=1309,LOESCHEN

Wie PCL1005 setzt auch PCL1015 einen im EBCDIC-FOrmat vorliegenden Abzug nach ASCII um und umgekehrt.

3.5 Sichern Anforderungsdatenbank PCL1044

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1044 kann eine logische Sicherung der Anforderungs-DB vorgenommen werden. Die Anforderungs-DB wird dabei in eine sequentielle Datei geschrieben.

Bei Bedarf kann über Vorlaufkarten der Abzug auf Teile der Anforderungs-DB beschränkt werden. Diese Aufteilung ist nach Bibliotheksarten und Namensintervallen möglich. Gleichzeitig ist es möglich während des Abzugs Arbeitsgebietsnummern innerhalb von Bibliothekselementen umzusetzen. Dieses geschieht ebenfalls über Angaben in der Vorlaufkarte.

PCL1044 kann außerdem dazu benutzt werden, die Anforderungs-Datenbank nach einem bestimmten Begriff zu durchsuchen.

ABLAUF
PCL1044_Ablauf.png

1  Anforderungs-DB

   //DST004
   //DST041 (DLI)
   $ASSDB/DST004 (PC)

2  Vorlaufkarte

   //ASSCO
   $ASSVLK/T1044.VLK (PC)

3  Ablauf- und
   Fehlerprotokoll

   //ASSLST
   $ASSPTK/PCL1044.PTK (PC)

4  Ausgabedatei

   //ASSLIA
   $ASS/ASSLIA.EBC (PC)
 fixe Satzlänge 96
   Ladedatei für
   PCL1045



VORLAUFKARTE: ASSCO

In der ersten Karte können Selektionskriterien und Optionen angegeben werden oder sie muss leer bleiben.

Selektionskriterien beziehen sich auf das Erstelldatum von Anforderderungen, Gruppierungen, Formeln und Parameterfilter.
Folgende Angaben sind zulässig:

Es werden nur die Elemente abgezogen, deren Erstelldatum größer oder kleiner oder größer und kleiner als das bei ERSTELLDATUM angegebene Datum ist (je nach Angaben). Größer bzw. kleiner wird hier chronologisch verstanden. Bei Änderungen gilt das Änderungsdatum als Erstelldatum.

ERSTELLDATUM wirkt zusätzlich zu den Angaben in den Folgekarten (s.u.).

In den folgenden Karten können bis zu 50 optionale Namensintervalle, auch getrennt nach den Bibliotheksarten, angegeben werden.

Eine Vorlaufkarte kann wie folgt aufgebaut sein:

Format_VK_PCL1044_PCL1045.png

Eine gültige Vorlaufkarte muss auf jeden Fall eine VON-Angabe enthalten. Wird keine Bibliotheksart spezifiziert, so nimmt ASS als Standard alle Bibliotheksarten in der Reihenfolge B, E, G, H, I, J, P, U, V, W, X, Y, R.

Wird keine BIS-Angabe präzisiert, so werden alle Anforderungen und Anwendungen der Bibliothek(en) abgearbeitet, deren Namen, vom Anfang her gesehen, die in NAME-VON angegebene Zeichenkette enthalten, falls NAME-VON keine Fragezeichen enthält. Wird eine Maskierungsangabe gemacht, so werden alle Anforderungen und Anwendungen bearbeitet, die mit NAME-VON übereinstimmen, wobei ein Fragezeichen in NAME-VON für ein beliebiges Zeichen steht.

Die Namensintervalle dürfen sich nicht überlappen. Des weiteren darf auf einer Karte höchstens ein Intervall angegeben werden.

Die Auswahl der Elemente der Anforderungsdatenbank erfolgt dergestalt, dass die Anfangszeichen des Namens in ein Namensintervall passen müssen, unter Berücksichtigung der Bibliotheksart. Damit eine Listanforderung bearbeitet wird, muss also für ihren Namen gelten:

NAME-VON <= Anforderungsname <= NAME-BIS
bzw. NAME-VON <= Anwendungsname <= NAME-BIS

BEISPIEL:

  1. Maskierungen
    Es sollen alle periodisch auszuführenden Anforderungen abgezogen werden, deren Name mit 'AG' beginnt und mit 'ANF' endet.
               1. Vorlaufkarte:
               2. Vorlaufkarte:      E: AG???ANF
    
    Steht in der 2. Vorlaufkarte 'E: AG???', so werden alle Anforderungen der Bibliothek E abgezogen, deren Name maximal fünfstellig ist und mit AG beginnt.
  2. Intervalle Es sollen sämtliche Elemente der Anforderungsdatenbank abgezogen werden, deren Name mit 'ASSPC' beginnt, außerdem die einmalig oder periodisch ausführbaren Elemente, deren Namen im Intervall 'AG01' bis 'AG50' liegen und schließlich noch sämtliche Formeln:
               1. Vorlaufkarte:
               2. Vorlaufkarte:         ASSPC
               3. Vorlaufkarte:      E: AG01 - AG50
               4. Vorlaufkarte:      P: AG01 - AG50
               5. Vorlaufkarte:      X:
    
    Außerdem können in den Vorlaufkarten 2 - n Angaben der Form
    AGNR: AGNR_ALT > AGNR_NEU
    also z.B.:
    AGNR: 2 > 24
    gemacht werden. Hierdurch wird in allen abgezogenen Elementen die Arbeitsgebietsnummer 2 nach 24 umgesetzt.
SUCHFUNKTION

Die Anforderungsdatenbank (bzw. die durch die obigen Einschränkungen definierten Elemente) kann außerdem mit PCL1044 nach einem beliebigen Begriff durchsucht werden. Dies geschieht mit der Vorlaufkartenoption SUCHE, gefolgt vom zu suchenden Begriff. Die Suche ist nicht case-sensitiv. Enthält der Suchbegriff Leer- oder sonstige Trennzeichen, muss er in Hochkommata gesetzt werden. Bei Anforderungen wird nicht der Teil durchsucht, welcher Aufbereitungsangaben für ASS-Excel enthält, da diese kein lesbares Format haben.

Bei der Suchfunktion wird kein Datenbankabzug erstellt, die Treffer werden im Protokoll ausgegeben.

BESONDERHEITEN

Eine Weiterverarbeitung der Ausgabedatei mit den Programmen PCL1003 (BATCH-Auswertung) und PCL1012 (Abzug von Anforderungen auf sequentielle Datei) ist nicht möglich. Mit den Programmen PCL1044/PCL1045 können Anforderungen und Anwendungen aus der Testumgebung in die Produktion übernommen werden (Bridgen von Anforderungen/Anwendungen).

3.6 Laden Anforderungsdatenbank PCL1045

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1045 kann der mit dem Programm PCL1044 erstellte sequentielle Abzug der Anforderungsdatenbank auf diese zurückgeladen werden.

Dabei werden nur die Elemente der Anforderungsdatenbank ausgetauscht oder optional hinzugefügt, die auf dem sequentiellen Abzug enthalten sind. Der Rest der Anforderungsdatenbank bleibt also unverändert erhalten.

Die Elemente werden so zurückgeschrieben, wie sie mit PCL1044 gesichert worden sind. Bei einmal und periodisch auszuführenden Listanforderungen wird also das Ausführungsdatum stets durch das Datum aus dem sequentiellen Abzug überschrieben.

Mit dem Programm PCL1045 können Anwendungen von der Anforderungsdatenbank gelöscht werden, sowie Anwendungen kopiert werden. Zum Löschen und Kopieren muss der vom Programm PCL1044 erstellte Datenbankabzug vorhanden sein (notfalls eine leere Datei). Das PCL1045 führt zuerst alle Löschungen der Anwendungen mit den dazugehörigen Regelsätzen durch. Die Anwendungsnummern sind in den Vorlaufkarten des PCL1045 mit der Zusatzangabe LOESCHEN anzugeben.
Anwendungen auf dem Datenbankabzug können einschließlich ihrer Regelsätze durch entspr. Angabe in den Vorlaufkarten unter einer anderen Nummer und einem anderen Namens auf die Anforderungsdatenbank geladen werden.
Eine Anwendung kann in einem PCL1045-Lauf nicht mehrfach kopiert werden. Ist schon eine Anwendung mit der neu zu vergebenden Nummer auf der Datenbank vorhanden, wird das Kopieren nicht ausgeführt, d. h. der alte Datenbankeintrag bleibt erhalten. Gegebenenfalls muss die alte Anwendung mit der Angabe LOESCHEN von der Datenbank zunächst gelöscht werden.

Sollen Anforderungen von einem Betriebssystem auf ein anderes übertragen werden (Migration), so kann durch entsprechende Vorlaufkarten-Optionen eine Code-Anpassung (Translation) erreicht werden (s.u.).

ABLAUF
PCL1045_Ablauf.png




1  Eingabedatei

   //ASSLIA

   $ASS/ASSLIA.EBC (PC)
  (siehe Anmerkung)

2  Vorlaufkarte

   //ASSCO
   $ASSVLK/T1045.VLK (PC)


3  Ablauf- und
   Fehlerprotokoll

   //ASSLST
   $ASSPTK/PCL1045.PTK (PC)


4  Anforderungs-DB

   //DST004
   //DST041 (DLI)
   $ASSDB/DST004 (PC)

Anmerkung: ASSLIA wird bei folgenden Optionen nicht gebraucht:

VORLAUFKARTE: ASSCO

ACHTUNG: In der Vorlaufkarte werden nur die ersten 72 Spalten berücksichtigt.

Auf der ersten Vorlaufkarte ist folgende Option möglich:
ERGAENZEN

Bei der Option ERGAENZEN werden nur die Elemente von ASSLIA (Datei mit gesicherten Anforderungen) auf die Anforderungsdatenbank geladen, die noch nicht auf dieser vorhanden sind. Ohne diese Option werden alle Elemente von ASSLIA übertragen, auch wenn es dabei zu Überschreibungen kommt.

Analog zum PCL1044 können auf den folgenden Vorlaufkarten bis zu 50 optionale Namensintervalle, auch getrennt nach Bibliotheksarten angegeben werden. In diesem Fall werden nur diejenigen Elemente in der Datei ASSLIA auf die Anforderungsdatenbank zurückgeladen, die in einem der angegebenen Intervalle liegen. Erfolgt keine Angabe, so wird die gesamte Datei ASSLIA zurückgeladen.

Auf der ersten Vorlaufkarte ist folgende Option möglich:

                  MOVE > Bib

wobei für Bib die Bibliotheken von ASS-Anforderungen zulässig sind (B, E, P, G, H, I, J).
Bei der Option MOVE werden alle ASS-Anforderungen (Bib = B, E, P, G, H, I oder J), die im PCL1044-Abzug enthalten sind, in die bei MOVE genannte Bibliothek gespeichert und aus der ursprünglichen Bibliothek gelöscht. Ist die Option ERGAENZEN gesetzt, so erfolgt ein Speichern und Löschen nur, wenn das Zielelement noch nicht existiert.
Gibt es Anforderungen mit gleichem Namen, jedoch unterschiedlicher Bibliothek im PCL1044-Abzug, so ist folgendes zu beachten:

Ein Programmlauf mit der Option MOVE gilt als Sonderlauf, d.h. zusätzlich zur MOVE-Angabe ist nur die Option ERGAENZEN zulässig (keine sonstigen Angaben in der/den Vorlaufkarten).

Eine der Vorlaufkarten 2 - 51 kann wie folgt aufgebaut sein:

Format_VK_PCL1044_PCL1045.png

Eine gültige Vorlaufkarte muss auf jeden Fall eine VON-Angabe enthalten. Wird keine Bibliotheksart spezifiziert, so nimmt ASS als Standard alle Bibliotheksarten in der Reihenfolge B, E, G, H, I, J, P, U, V, W, X, Y, R.
Mit dem Zusatz ,LOESCHEN wird der ganze Bereich gelöscht.

Wird keine BIS-Angabe präzisiert, so werden alle Anforderungen und Anwendungen der Bibliothek(en) abgearbeitet, deren Namen, vom Anfang her gesehen, die in NAME-VON angegebene Zeichenkette enthalten.

Die Namensintervalle dürfen sich nicht überlappen. Des weiteren darf auf einer Karte höchstens ein Intervall angegeben werden.

Die Auswahl der Elemente der Anforderungsdatenbank erfolgt dergestalt, dass die Anfangszeichen des Namens in ein Namensintervall passen müssen, unter Berücksichtigung der Bibliotheksart. Damit eine Listanforderung bearbeitet wird, muss also für ihren Namen gelten:

NAME-VON <= Anforderungsname <= NAME-BIS
bzw. NAME-VON <= Anwendungsname <= NAME-BIS
Will man ohne diese Vorlaufkartenoption arbeiten, so ist ASSCO auf Dummy zu setzen (Job-Control).

Löschen von Anwendungen
anw: nnnnn, LOESCHEN
Kopieren von Anwendungen
anw: nnnnn > mmmmm, name

Es besteht des Weiteren die Möglichkeit DEL_EXCEL_FORM oder DEL_HTML_FORM anzugeben. Steht in der ersten Vorlaufkarte einer der obigen Texte, so werden bei den in den Folgekarten spezifizierten Anforderungen die zugehörigen Excel- bzw. HTML-Formate gelöscht. Die beiden Lösch-Optionen können gleichzeitig gesetzt werden. Die Optionen DEL_EXCEL_FORM bzw. DEL_HTML_FORM können nicht gleichzeitig mit anderen Verarbeitungsoptionen kombiniert werden. Bei beiden Optionen wird der PCL1044-Abzug ASSLIA nicht gebraucht.

Die Anforderungen, bei denen die Formatteile für Excel bzw. HTML gelöscht werden sollen, können in den Folgekarten wie folgt spezifiziert werden.

Format_VK_PCL1045_2.png

Die Angabe von Bibliotheksart und Name-von ist obligatorisch. In Name-von dürfen auch Masken stehen. Die Angabe von Name-bis ist optional und nur zulässig, falls in Name-von keine Maske steht. Zudem muss Name-bis alphanumerisch größer oder gleich Name-von sein und darf selbst keine Maske sein. Die Angaben für Name-von und Name-bis dürfen nur maximal 8 Zeichen lang sein.

BEISPIELE für Folgekarten zu DEL_EXCEL_FORM:

  1. B:ANF1
    Der Excel-Formatteil zur Anforderung ANF1 in Bibliothek B wird gelöscht.
  2. E:VERTR1-VERTR9
    Der Excel-Formatteil zu den Anforderungen aus Bibliothek E, deren Name alphanumerisch zwischen VERTR1 und VERTR9 liegt, wird gelöscht.
  3. P:?BILANZ?
    Bei den Anforderungen aus Bibliothek P, deren Name zur Maske ?BILANZ? passt (z.B. DBILANZ3, 5BILANZU, etc.), wird der Formatteil für das Excel-Format gelöscht.

ANF_CACHE:

Soll der Anforderungscache initialisiert werden, so kann dies mit einem Sonderlauf von PCL1045 durchgeführt werden. Hierzu ist in der 1. Vorlaufkarte ANF_CACHE anzugeben. Es wird dann die Anforderungs-Datenbank durchgelesen und alle Elemente der Anforderungs-Datenbank, die in den Anforderungs-Cache gehören, werden in diesen gespeichert. Achtung: Dieser Lauf setzt einen gelöschen bzw. initialisierten Anforderungs-Cache voraus. Siehe auch Handbuch HINSTALL.

BESONDERHEITEN

PCL1045 kann nur Abzüge des Programmes PCL1044 verarbeiten.

Mit den Programmen PCL1044/PCL1045 können Anforderungen und Anwendungen aus der Testumgebung in die Produktion übernommen werden (Bridgen von Anforderungen/Anwendungen). Die für Auswertungen im Batch ebenfalls in sequentieller Form vorliegenden Anforderungen - via Editor erstellt bzw. mittels PCL1012 aus der Anforderungsdatenbank angeleitet - können auf diese Weise nicht in die Anforderungsdatenbank geladen werden.

ACHTUNG:

In einer IMS-Umgebung darf kein Lade-PSB benutzt werden.

MIGRATION

Für Migrationen können in der Vorlaufkarte Optionen angegeben werden, mit denen Anforderungen in andere Code's übersetzt werden können. Folgende Angaben sind möglich:

        BS2000_MVS   :  BS2000-EBCDIC -> MVS-EBCDIC

        BS2000_ANSI  :  BS2000-EBCDIC -> ANSI (Unix)

        MVS_BS2000   :  MVS-EBCDIC    -> BS2000-EBCDIC

        MVS_ANSI     :  MVS-EBCDIC    -> ANSI (Unix)

        OS2_ANSI     :  Windows       -> ANSI (Unix)

        ANSI_OS2     :  ANSI (Unix)   -> Windows

In einer PC-Umgebung wird ein am Großrechner erstellter Abzug auch ohnen Angabe einer Option automatisch von EBCDIC an ASCII übertragen.

3.6.1 Verzeichnisse auf der AnforderungsDB einpflegen PCL1045

Mit dem PCL1045 können auf der Anforderungsdatenbank Hierarchien eingepflegt werden. Dabei werden unter der Bibliotheksart S gesonderte Informationen abgelegt. Die Anforderungen und Anwendungen auf die Bezug genommen wird, werden durch die Anlage von Hierarchien nicht geändert.

AUFBAU DER ERSTEN VORLAUFKARTE

BEARBEITE_HIERARCHIE
oder
BEARBEITE_HIERARCHIE ANSI
Steht in der ersten Vorlaufkarte der Text BEARBEITE_HIERARCHIE, so kann gemäß den Angaben in den Vorlaufkarten 2 bis 51 eine Hierarchie aus Bäumen für Verzeichnispfade zu den Anwendungen bzw. Anforderungen bearbeitet werden.

Unter Windows arbeitet ASS intern und bezüglich der Vorlaufkarte im OS/2-Zeichensatz, während Windows standardmäßig mit ANSI arbeitet. Damit keine Probleme mit den deutschen Umlauten auftreten, kann man mittels der Option ANSI angeben, dass die Verzeichnispfade im ANSI-Zeichensatz behandelt werden. Unter IBM und Siemens sollte man diese Option nicht benutzen, da ASS dann im EBCDIC-Zeichensatz arbeitet. Ebenso sollte diese Option unter Unix nicht benutzt werden.

AUFBAU DER VORLAUFKARTEN 2 BIS 51

Eine der Vorlaufkarten 2 - 51 kann wie folgt aufgebaut sein:

Format_VK_PCL1045_3.png

Eine gültige Vorlaufkarte muss auf jeden Fall die Bibliotheksart und eine VON-Angabe enthalten. Diese VON-Angabe muss für Anwendungen eine Zahl zwischen 1 und 32767 sein, ansonsten eine alphanumerische Zeichenkette mit maximal 8 Zeichen. In dieser Zeichenkette können an beliebiger Position ? als Platzhalter für ein beliebiges Zeichen stehen, sodass eine Maske entsteht.

Wird keine BIS-Angabe präzisiert, so werden alle Anforderungen der Bibliothek abgearbeitet, deren Namen mit NAME-VON übereinstimmen bzw. zur in der VON-Angabe spezifizierten Maske passen. Bei Anwendungen wird genau die Anwendung mit der angegebenen Nummer behandelt.
Werden VON- und BIS-Angabe spezifiziert, so müssen bei Anwendungen Intervallunter- und Intervallobergrenze als Anwendungsnummer und bei Anforderungen konkrete maximal 8-stell. Zeichenketten (also keine Masken) angegeben werden.

Hinter dem Pfeil ('->') folgt die Angabe des Verzeichnispfades, in welchem die Anforderung(en) bzw. Anwendung(en) eingefügt bzw. gelöscht werden soll(en).
Für den Verzeichnispfad gelten folgende Beschränkungen:

  1. der Verzeichnispfad darf maximal 2000 Zeichen lang sein;
  2. ein Verzeichnisname darf maximal 256 Zeichen lang sein;
  3. der Verzeichnispfad darf maximal die Tiefe 10 haben;
  4. die Gesamtlänge der Verzeichnispfad-Angaben in den Vorlaufkarten 2 bis 51 darf 32000 Zeichen nicht überschreiten;
  5. die Verzeichnisnamen im Pfad sind durch '/' zu trennen;

Erlaubte Zeichen in einer Verzeichnispfadangabe sind

Eine Verzeichnispfadangabe darf sich über mehrere Zeilen erstrecken, wobei die maximal 72 Zeichen lange Zeile mit ' >'-Zeichen fortgesetzt werden kann.

Beim Löschen bzw. Einfügen in Verzeichnissen finden stets die folgenden beiden Aktionen synchronisiert statt:

  1. Einfügen bzw. Löschen eines zur Anforderung/Anwendung gehörenden Verzeichnisses als Attribut der Anforderung/ Anwendung bei der Anforderung/Anwendung selbst
  2. Einfügen bzw. Löschen einer Anforderung/Anwendung in einer Baumhierarchie in der Bibliothek S auf der Anforderungs-DB

Zudem kann noch ein leeres Verzeichnis in der Baumhierarchie mit einem Vorlaufkarteneintrag nach folgendem Muster gelöscht werden:
-> Verzeichnispfad (,LOESCHEN)

Ein Vorlaufkarteneintrag nach z.B. folgendem Muster
*: ******** - ******** ,LOESCHEN
veranlasst das Löschen der spezifizierten Anforderungen bzw. Anwendungen aus allen Verzeichnissen.

Da bei Anforderungen bzw. Anwendungen gespeichert ist, in welchen Verzeichnissen sie enthalten sind, kann mit REPARIERE_HIERARCHIE die Baumhierarchie neu aufgebaut werden. REPARIERE_HIERARCHIE wird in der ersten Vorlaufkarte angegeben, die folgenden Vorlaufkarten bleiben leer.

BEISPIELE für Folgekarte zu BEARBEITE_HIERARCHIE:

  1. B:ANF1 -> /Vertrieb/Anforderungen/
    Die Anforderung 'ANF1' aus Bibliothek B wird in das Verzeichnis 'Anforderungen' gemäß dem Pfad '/Vertrieb/Anforderungen/' eingefügt. Die Anforderung 'ANF1' wird dort als 'B:ANF1' gelistet. Bei der Verzeichnispfadangabe sind der führende und der abschließende Schräger ('/') optional.
    Die Angabe in NAME-VON (hier 'ANF1') ist nicht case-sensitiv, d.h., Groß- und Kleinschreibung werden nicht unterschieden (hier also: 'Anf1'='anf1'='aNF1'= ... ). Gleiches gilt auch für die Verzeichnispfadangabe. Die noch nicht vorhandenen Verzeichnisse werden bei einer Einfügung neu angelegt.
  2. E:LE?? -> /Rechnungswesen/Einmalig
    Alle zur Maskierung 'LE??' (='Le??'='lE??'='le??') passenden Anforderungen aus der Bibliothek E werden gemäß dem Pfad '/Rechnungswesen/Einmalig' in das Verzeichnis 'Einmalig' eingefügt.
  3. Y:1 - 100 -> /BTO/Anwendungen/
    Alle Anwendungen mit Nummern zwischen 1 und 100 werden in das angegebene Verzeichnis eingefügt.
  4. B:C??A????,LOESCHEN
    Alle Anforderungen aus Bibliothek B, deren Name mit 'C' beginnt und an 4. Stelle ein 'A' aufweist, werden in allen vorhandenen Verzeichnissen gelöscht. Das Schlüsselwort 'LOESCHEN' nach dem Komma muss vollständig groß geschrieben werden.
  5. -> BTO/Anwendungen/unwichtig,LOESCHEN
    Das Verzeichnis 'unwichtig' wird gelöscht, sofern das Verzeichnis bereits leer ist.

3.6.2 Füllen des Anforderungscache PCL1045

Installationsabhängig kann für die Elemente der Anforderungsdatenbank ein Cache eingerichtet werden. Neben Verwaltungsinformationen zu jedem Element werden die Kommentare mit abgelegt. Das Nutzen des Caches führt zu Performance-Gewinnen in den Masken / Bildern, in denen Anforderungen, Gruppierungen, Formeln usw. in Übersichten dargestellt werden, insbesondere bei Anforderungsdatenbanken, die viele Elemente enthalten.

Die Angabe ANF_CACHE baut den Anforderungscache auf. Diese Angabe kann auch für einen Neuaufbau des Caches verwendet werden, da zunächst alte Elemente aus dem Cache gelöscht werden.

3.6.3 Option ERSTELL_KORR

Seit ASS 8.10 wird in der Bibliotheksübersicht bei jedem Element dessen Ersteller angezeigt. Dabei handelt es sich um den ASS-Benutzer im Sinne der ST09, der das Element zuletzt abgespeichert hat. Ist der Ersteller nicht als Benutzer, sondern direkt über sein Berechtigungsprofil angemeldet, gilt als Ersteller der Name des Profils. Seit ASS 8.50 wird im ersten Fall auch das zum Speicherzeitpunkt vom Benutzer ausgewählten Profil angezeigt (s. Handbuch ASS-Excel, Kap. 1.1.1). Dasselbe gilt für die Übersichten, die mit PCL1139 erstellt werden.
Problem: Das Profil kann nur bei Elementen angezeigt werden, die mit einer ASS-Version 8.50 oder höher abgespeichert wurden. Außerdem werden beim Ersteller aufgrund eines veralteten Features nur die ersten 6 Zeichen angezeigt, wenn das Element mit ASS 8.00 oder älter gespeichert wurde.
Das Profil und die beiden letzten Zeichen des Erstellers können deshalb durch einen „Korrekturlauf“ von PCL1045 ergänzt werden. ACHTUNG: Dies ist jedoch nur für die Bibliotheken B, E, P, G, H, I und J möglich!
Hierfür ist in der Vorlaufkarte die Option „ERSTELL_KORR“ anzugeben (ohne weitere Optionen). Es können keine Einschränkungen auf bestimmte Elemente angegeben werden, PCL1045 durchläuft immer alle oben genannten Bibliotheken und braucht daher auch keinen PCL1044-Abzug der Anforderungsdatenbank.
Dieser Korrekturlauf muss nur einmal ausgeführt werden.

3.7 Sichern Textdatenbank PCL1104

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1104 kann eine logische Sicherung der Textdatenbank oder Teilen davon vorgenommen werden. Die Textdatenbank wird dabei in eine sequentielle Datei geschrieben.

ABLAUF
PCL1104_Ablauf.png
1  Textdatenbank

   //DST007
   //DST071 (DLI)
   //$ASS/DST007 (PC)
   (lesen und ändern)

2  Eingabedatei

   //ASSTEIN
   $ASSVLK/T1104.VLK (PC)

   Von der Textdatenbank
   abzuziehende Texte.
   optional

3  Ablauf- und
   Fehlerprotokoll

   //Liste
   $ASSPTK/PCL1104.PTK (PC)

4  Ausgabedatei

   //ASSTE
   $ASS/ASSTE.EBC (PC)

   Ladedatei für PCL1105
EINGABEDATEI ASSTEIN

Die Datei ASSTEIN ist im Format FB 80 anzulegen. In dieser Datei können die von der Textdatenbank sicherzustellenden Sätze angegeben werden. Fehlt die Dateiangabe, so wird die gesamte Textdatenbank gesichert. Jeder einzelne Satz in ASSTEIN hat den
folgenden Aufbau: SPRACHE TEXTART TEXTNUMMER
Beispiel: D H 270

Die Angaben dürfen nur in den ersten 72 Spalten der Datei erfolgen. Auch in einer PC-Umgebung wird die Ausgabedatei im EBSDIC-Zeichensatz erzeugt.

3.8 Laden Textdatenbank PCL1105

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1105 kann der mit dem Programm PCL1104 erstellte sequentielle Abzug der Textdatenbank auf diese zurückgeladen werden. Dabei werden nur die Elemente der Textdatenbank ausgetauscht oder hinzugefügt, die auf dem sequentiellen Abzug enthalten sind. Der Rest der Textdatenbank bleibt also unverändert erhalten.

ABLAUF
PCL1105_Ablauf.png
1  Eingabedatei

   //ASSTE
   $ASS/ASSTE.EBC (PC)

2  Ablauf- und
   Fehlerprotokoll

   //LISTE
   $ASSPTK/PCL1105.PTK (PC)


3  Textdatenbank

   //DST007
   //DST071 (DLI)
   $ASSDB/DST007 (PC)

   Vorlaufkarte (optional)
   //ASSCO
   $ASSVLK/T1105.VLK (PC)

PCL1105 überprüft unter anderem die Sprache und die Textart. Das Laden wird ggf. mit einer Fehlermeldung beendet. Mit der Option „WARNUNG“ wird dieses nur als Problem protokolliert. Die Vorlaufkartendatei darf fehlen und kann nicht aus der Textdatenbank (DST007) gelesen werden.

3.9 Sichern der Security-DB PCL1194

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1194 kann die Security-Datenbank gesichert werden. Der Inhalt der Security-Datenbank wird auf eine binäre sequentielle Datei geschrieben. Ab Version 7.90 besteht auch die Möglichkeit, die Einträge der Datenbank auf eine semikolonseparierte Textdatei auszugeben. Diese kann dann ggf. editiert und mit PCL1195 zurückgeladen werden.

ABLAUF
PCL1194_Ablauf.png
Dateibeschreibung
DD-Name /
Link-Name
Format/Recl Dateiname ASS-PC Beschreibung
ASSCOFB 80$ASSVLK/T1194.VLKVorlaufkarte
ASSLSTFB$ASSPTK/PCL1194.PTKProtokoll,
80-spaltig in den Spalten 7 bis 86
ASSOSCVB 20000$ASS/ASSOSC.DATbinärer Abzug der Security-DB
(nicht bei Option EXIT_TEXT)
ASSSCFB 400$ASS/ASSSC.CSVAbzug der Security-DB im Text-Format (nur bei Option EXIT_TEXT)
VORLAUFKARTE
Option Bedeutung
EXIT_TEXT
(CSV)
Die Inhalte der Security-Datenbank werden in eine Textdatei ausgegeben.

Wird diese Option nicht angegeben, werden alle folgenden Optionen ignoriert.

OHNE_HOCHKOMMA Standardmäßig werden die Einträge in der Security-DB in doppelten Hochkommas eingeschlossen ausgegeben. Mit dieser Option kann dies unterdrückt werden.
SPITZKLAMMERN Alle Einträge für Schlüsselinhalte und Anforderungen werden in spitze Klammern <> gesetzt. Damit wird erreicht, dass führende Nullen beim Laden in Excel erhalten bleiben.
DUMSP Es werden in jeder Zeile bei Bedarf so viele Semikolons angefügt, dass alle Zeilen die gleiche Spaltenanzahl haben.
PROFILE_AUFLOESEN
(AUFLOESEN)
Gibt es zu einer Berechtigung Einträge bei Profilen (PR), so werden intern diese Profile eingelesen und aufgelöst, so dass man bei diesem Benutzer die tatsächlichen Berechtigungen sehen kann. Falls das Auflösen nicht möglich ist erscheint ein Fehler im Protokoll.
BE Nur Berechtigungen werden ausgegeben.
ZU Nur die Informationen über Summen-DB-Zugriffe werden ausgegeben.
PR Nur die angelegten Benutzer werden ausgegeben
ME Nur die angelegten Mail-Empfänger werden ausgegeben.
MV Nur die angelegten Mail-Verteiler werden ausgegeben.
PW Falls ein ST09-Passwort angelegt ist, wird ein Satz ausgegeben, bei dem das Passwort durch Sterne ersetzt wird.
SATZART_WARNUNG Unbekannte bzw. obsolete Satzarten als Warnung ausgeben statt als Fehler.

Die Optionen BE, ZU, PR, ME, MV und PW können miteinander kombiniert werden.

3.10 Laden der Security-DB PCL1195

FUNKTIONSBESCHREIBUNG

Mit Hilfe des Programms PCL1195 kann eine mit dem Programm PCL1194 erstellte Sicherung der Security-Datenbank auf diese zurückgeladen werden. Es werden nur Elemente der Security-DB ausgetauscht oder hinzugefügt, die in der Eingabedatei enthalten sind, der Rest der Security-DB bleibt also unverändert.
Zusätzlich zu dieser Funktion, ist es möglich, über eine Schnittstellendatei Berechtigungen, PC-Empfänger, E-mail-Empfänger und E-mail-Verteiler auf die Security-DB zu laden.

ABLAUF
PCL1195_Ablauf.png
DD-Name /
Link-Name
Format/Recl Dateiname ASS-PC Beschreibung
ASSCOFB 80$ASSVLK/T1195.VLKVorlaufkarte
ASSLSTFB 133$ASSPTK/PCL1195.PTKProtokoll,
80-spaltig in den Spalten 7 bis 86
ASSISCVB 20000$ASS/ASSOSC.DATbinärer Abzug der Security-DB (nicht bei Option EXIT_TEXT)
ASSIN01FB/VB$ASS/ASSSC.CSVAbzug der Security-DB im Text-Format (nur bei Option EXIT_TEXT)
VORLAUFKARTE

Für Migrationen können in der Vorlaufkarte folgende Optionen angegeben werden, mit denen Security-Angaben in andere Code's übersetzt werden können. Folgende Angaben sind möglich:

Folgende Eingabezeichensätze sind möglich:

Folgende Umsetzungen sind möglich, aber die Ausgbeangabe wird ignoriert und stattdessen wie oben die der Installation benutzt:

Die Vorlaufkartendatei darf auch leer sein. Dann erfolgt ggf. eine vereinfachte Umsetzung zwischen EBCDIC und ANSI, die aber zum Beispiel die deutschen Umlaute nicht korrekt behandeln kann.

SCHNITTSTELLENBESCHREIBUNG

Mit Hilfe des Programms PCL1195 können Berechtigungen und PC-Empfänger auf die Security-DB geladen werden. Die Sätze der Schnittstellendatei müssen das im folgenden beschriebene Format haben.

Dateiformat

Allgemeiner Satzaufbau

Das Programm PCL1195 kennt zwei verschiedene Satzformate für Benutzerschnittstellen:

SATZART Bedeutung
'BR'
Laden von Berechtigungen für
  Arbeitsgebiete
  Schlüssel
  Relationen
  Werte
  Zeiten
  Anforderungen
  Sonstige Regeln
'XX' Laden von PC-Empfängern
'EE' Laden von E-Mail-Empfängern
'EV' Laden von E-Mail-Verteilern
Satzbeschreibung für Satzart "BR" (Berechtigungen)
            01  SC-DB-SATZ-BER.
                05 SATZART                 PIC X(02) VALUE 'BR'.
                05 USER                    PIC X(08).
                05 KOMMENTAR               PIC X(30).
                05 TAB-ART                 PIC X(02).
                   'AG'  -  Berechtigung Arbeitsgebiet
                   'KY'  -  Berechtigung Schlüssel
                   'KL'  -  Berechtigung Schlüssel lang
                   'KF'  -  Berechtigung Schlüssel lang Forts.
                   'RE'  -  Berechtigung Relation
                   'WE'  -  Berechtigung Werte
                   'ZE'  -  Berechtigung Zeiten
                   'AN'  -  Berechtigung Anforderungen
                   'AB'  -  Berechtigung Anforderungen mit Bibliothek
                   'SO'  -  Berechtigung Sonstige
                   'DR'  -  Druckereinstellung
                05 ANZ-EL                  PIC 9(05).
                   Anzahl folgende Tabellenelemente
                05 MODUS                   PIC X.
                   '+'   -  Berechtigt
                   '-'   -  nicht Berechtigt
                05 TABELLE                 PIC X(9952).

        Je nach TAB-ART die entsprechende TABELLE:

                05 AG-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 AG-VON            PIC 9(05).
                      15 AG-BIS            PIC 9(05).

                05 KY-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 100.
                      15 KENR-VON          PIC 9(05).
                      15 INH-VON           PIC X(12).
                      15 KENR-BIS          PIC 9(05).
                      15 INH-BIS           PIC X(12).

                05 KY-TAB-LANG             REDEFINES TABELLE.
                   10 EL                   OCCURS 70.
                      15 KENR-VON-LANG     PIC 9(05).
                      15 INH-VON-LANG      PIC X(60).
                      15 KENR-BIS-LANG     PIC 9(05).
                      15 INH-BIS-LANG      PIC X(60).

                05 RE-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 70.
                      15 RENR              PIC 9(05).
                      15 INH-VON           PIC X(60).
                      15 INH-BIS           PIC X(60).

                05 WE-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 WENR-VON          PIC 9(05).
                      15 WENR-BIS          PIC 9(05).

                05 ZE-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 ZE-VON            PIC X(04).
                      15 ZE-BIS            PIC X(04).

                05 AN-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 AN-VON            PIC X(08).
                      15 AN-BIS            PIC X(08).

                05 AN-BIB-TAB              REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 AN-BIB            PIC X(01).
                      15 FILLER            PIC X(01).
                      15 AN-VON            PIC X(08).
                      15 AN-BIS            PIC X(08).

                05 SO-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 SO-VON            PIC X(08).
                      15 SO-BIS            PIC X(08).

                05 DR-TAB                  REDEFINES TABELLE.
                   10 EL                   OCCURS 20.
                      15 DR                PIC X(08).

Die Schnittstellensätze für Berechtigungen werden beim Laden in die Security-DB geprüft, fehlerhafte Schnittstellensätze werden nicht übernommen.

Die Tabelleninhalte müssen analog zur ST09 gefüllt sein:

Bei der Angabe von '+' beim MODUS ist der Anwender dieser Berechtigung für alle Einträge der angegebenen Tabelle berechtigt, bei der Angabe von '-' nicht. Bei Neuanlage einer Berechtigung werden alle Tabellentypen mit '+' und ANZ-EL = 0 initialisiert, d.h. keine Berechtigung. Mit den angelieferten Sätzen werden die angesprochenen Tabellen ausgetauscht.
Im allgemeinen ersetzt eine Berechtigungszeile die gesamte entsprechende TABART (z.B. AG) auf der Datenbank. Eine Ausnahme bildet die TABART KF. Berechtigungen für Schlüssel werden in diesem Fall ergänzt. Für die Angabe von Schlüsselberechtigungen mit Inhaltslängen größer 12 ist daher folgendermaßen vorzugehen: Angabe einer Zeile mit TABART KL, eventuell Angabe von (Folge-)Zeilen mit TABART KF.

Satzbeschreibung für Satzart "XX" (PC-Empfänger)
            01  SC-DB-SATZ-PC.
                05 SATZART                 PIC X(02) VALUE 'XX'.
                05 USER                    PIC X(08).
                05 KOMMENTAR               PIC X(30).
                05 ADRESSE                 PIC X(30).
                05 UEBERTRAGUNGSART        PIC X(10).
                05 TELEFONNUMMER           PIC X(20).
                05 ANZ-EL                  PIC 9(05).
           *       Anzahl folgende Tabellenelemente
                05 PC-TABELLE.
                   10 EL                   OCCURS 20.
                      15 HOST-AG           PIC 9(05).
                      15 PC-AG             PIC 9(05).
                      15 DEF-AG            PIC 9(05).
                      15 FILTERNAME        PIC X(08).
                      15 TURNUS            PIC X(02).
                      15 VDATUM            PIC X(06).

Auch die Schnittstellensätze für PC-Empfänger werden geprüft bevor sie in die Datenbank gelangen, fehlerhafte Schnittstellensätze werden nicht übernommen. Bei der Anlieferung eines bereits bestehenden PC-Empfängers bleiben die Felder VERSION-PC, VERSION-ZW und ADATUM in der Security-DB erhalten, wenn sich im angelieferten Schnittstellensatz die Felder FILTER, TURNUS und VDATUM geändert haben sollten. Bei Änderungen in den Feldern HOST-AG, PC-AG und DEF-AG gegenüber dem Datenbankeintrag werden die Versionsfelder und das Ausführdatum der letzten Versorgung gelöscht.

Die Tabelleninhalte müssen analog zur ST09 gefüllt sein:

BEISPIEL

Für den PC des KAM Huber sollen nur die Sätze geliefert werden, wenn der Inhalt des Schlüssels 2201 mit 4711 beginnt oder der Inhalt des Schlüssels 2201 gleich 50010 ist. Die Bereitstellung soll täglich erfolgen.

Es sind nun folgende Schritte auszuführen:

  1. Am PC sollen andere bzw. zusätzliche Verdichtungsstufen entstehen. Daher wird am Großrechner ein Definitionsarbeitsgebiet als Kopie des Ausgangsarbeitsgebietes Nummer 1 "VERTRIEB" benötigt, in dem die gewünschten Verdichtungsstufen entsprechend definiert werden müssen. Dieses Arbeitsgebiet soll in diesem Beispiel die Nummer 21 führen.
  2. Im neu zu erstellenden Schnittstellenprogramm müssen Sätze zur Definition eines Empfänger Filters, im Beispiel der Filter "PC000001", erzeugt werden.
               01  SC-DB-SATZ-BER.
                   05 SATZART        PIC X(02) VALUE 'BR'.
                   05 USER           PIC X(08) VALUE 'PC000001'.
                   05 KOMMENTAR      PIC X(30) VALUE 'FILTER KAM HUBER'.
    
    Für Arbeitsgebiet, Zeit, Werte, Anforderungen und Sonstige Regeln sollen keine Tabellen angeliefert werden, das heißt, es sollen keine Einschränkungen bestehen.
    Es müssen also fünf Sätze mit der entsprechenden TAB-ART angeliefert werden, in denen der MODUS mit '-' gekennzeichnet ist und in denen die TABELLE leer ist (ANZ-EL ist mit 0 belegt), d.h. es ist nichts verboten bzw. alles erlaubt.
                   05 TAB-ART        PIC X(02).
              *       'AG', 'ZE', 'WE', 'SO', 'AN'
                   05 ANZ-EL         PIC 9(5).
              *        0
                   05 MODUS          PIC X.
              *       '-'
                   05 TABELLE        PIC X.
    
    Für die Filterung der Schlüssel wird folgender Satz benötigt:
               01  SC-DB-SATZ-BER.
                   05 SATZART        PIC X(02) VALUE 'BR'.
                   05 USER           PIC X(08) VALUE 'PC000001'.
                   05 KOMMENTAR      PIC X(30) VALUE 'FILTER KAM HUBER'.
                   05 TAB-ART        PIC X(02) VALUE 'KY'.
                   05 ANZ-EL         PIC 9(5)  VALUE 4.
                   05 MODUS          PIC X     VALUE '+'.
                   05 TABELLE        PIC X(3500).
    
    Tabelle für Schlüssel
                   05 KY-TAB            REDEFINES TABELLE.
                      10 EL             OCCURS 100.
                         15 KENR-VON    PIC 9(5).
                         15 INH-VON     PIC X(12).
                         15 KENR-BIS    PIC 9(5).
                         15 INH-BIS     PIC X(12).
    
    1. Tabelleneintrag:
    • KENR-VON = 1 niedrigste Schlüsselnummer
    • INH-VON = LOW-VALUES kleinster zul. Inhalt
    • KENR-BIS = 2200 höchste Schlüsselnummer
    • INH-BIS = HIGH-VALUES größter zul. Inhalt

    Damit sind zunächst alle Schlüssel und -inhalte zugelassen mit Schlüsselnummern kleiner 2201. In den folgenden Tabelleneinträgen erfolgt nun die Einschränkung des Schlüssels 2201:

    2. Tabelleneintrag:

    • KENR-VON = 2201 Nummer des Schlüssels
    • INH-VON = 4711???????? Feld muss mit Fragezeichen aufgefüllt werden

    Restliche Felder gelöscht (0 bzw. Spaces).

    3. Tabelleneintrag:

    • KENR-VON = 2201 Nummer des Schlüssels
    • INH-VON = 50010 kleinster zul. Inhalt
    • KENR-BIS = 2201 Nummer des Schlüssels
    • INH-BIS = 50010 größter zul. Inhalt
    4. Tabelleneintrag:
    • KENR-VON = 2202 niedrigste Schlüsselnummer
    • INH-VON = LOW-VALUES kleinster zul. Inhalt
    • KENR-BIS = 32000 höchste Schlüsselnummer
    • INH-BIS = HIGH-VALUES größter zul. Inhalt
    Damit sind alle Schlüssel und -inhalte zugelassen mit Schlüsselnummern größer 2201 und kleiner 32001.
  3. Im neu zu erstellenden Schnittstellenprogramm muss schließlich noch 1 Satz zur Definition des PC-Empfängers erzeugt werden:
               01  SC-DB-SATZ-PC.
                   05 SATZART           PIC X(02) VALUE 'XX'.
                   05 USER              PIC X(08) VALUE 'PC HUBER'.
                   05 KOMMENTAR         PIC X(30) VALUE 'KAM HUBER'.
                   05 ADRESSE           PIC X(30).
                   05 UEBERTRAGUNGSART  PIC X(10).
                   05 TEL               PIC X(20).
                   05 ANZ-EL            PIC 9(05) VALUE 1.
                   05 PC-TAB.
                      10 EL             OCCURS 20.
                         15 HOST-AG     PIC 9(05) VALUE 1.
                         15 PC-AG       PIC 9(05) VALUE 1.
                         15 DEF-AG      PIC 9(05) VALUE 21.
                         15 FNAME       PIC X(08) VALUE 'PC000001'.
                         15 TURNUS      PIC X(02) VALUE 'TA'.
                         15 VDATUM      PIC X(06) VALUE SPACES.
Satzbeschreibung für Satzart "EE" (E-Mail-Empfänger)
            01  SC-DB-SATZ-PC.
                05 SATZART                 PIC X(02) VALUE 'EE'.
                05 EMAIL-EMP-USER         PIC X(08).
                05 EMAIL-EMP-KOMM         PIC X(30).
                05 E-MAIL-ADRESSE         PIC X(64).

Die Schnittstellensätze für E-Mail-Empfänger werden geprüft bevor sie in die Datenbank gelangen, fehlerhafte Schnittstellensätze werden nicht übernommen. Die Tabelleninhalte müssen analog zur ST09 gefüllt sein.

Satzbeschreibung für Satzart "EV" (E-Mail-Verteiler)
            01  EMAIL-VERTEILER           REDEFINES ASSISC-BUF.
                05 FILLER                 PIC X(02).
                05 EMAIL-VER-USER         PIC X(08).
                05 EMAIL-VER-KOMM         PIC X(30).
                05 EMAIL-VERT-ANZ-EL      PIC X(05).
                05 VERTEILER-EL           OCCURS 200.
                  10 VERT-KZ              PIC X.
                  10 VERT-VON             PIC X(08).
                  10 VERT-BIS             PIC X(08).

Die Schnittstellensätze für E-Mail-Verteiler werden geprüft bevor sie in die Datenbank gelangen, fehlerhafte Schnittstellensätze werden nicht übernommen. Die Tabelleninhalte müssen analog zur ST09 gefüllt sein.

Aufbau der Eingabedatei für die Option EXIT_TEXT

Die Eingabedatei muss im Line-Sequential-Format vorliegen. Jeder Satz besteht aus mehreren Feldern, welche durch Semikolons getrennt werden. Führende und abschließende Blanks werden in der Regel überlesen, ebenso wie einschließende Anführungszeichen oder spitze Klammern (<>).

Im ersten Feld ist stets die Satzart angegeben.

Satzart 'BE' (Berechtigungen):

  1. Feld:
    Benutzer
  2. Feld:
    Art der Berechtigung: AG KY WE ZE AN SO RE
  3. Feld:
    POSITIV oder NEGATIV bzw. ALLES oder NICHTS In weiteren Sätzen werden die einzelnen Einträge aufgeführt, im 4. Feld die Von-Angabe und im 5. Feld ggf. die Bis-Angabe. Bei 'AN' steht auf Feld 4 die Bibliothek, Von und Bis auf Feld 5 und 6.

Beispiel:

        "BE";"ASSUSER ";AG;NEGATIV
        "BE";"ASSUSER ",AG;50;200
        "BE";"ASSUSER ";KY;ALLES
        "BE";"ASSUSER ";WE;ALLES
        "BE";"ASSUSER ";ZE;ALLES
        "BE";"ASSUSER ";AN;POSITIV
        "BE";"ASSUSER ";AN;ALLE_BIB;"UBA?????"
        "BE";"ASSUSER ";AN;B;"EXT00001";"EXT00099"
        "BE";"ASSUSER ";SO;POSITIV
        "BE";"ASSUSER ";SO;BC;BC
        "BE";"ASSUSER ";SO;YA;YA

Weitere Untersatzarten für BE sind:

Die zugehörigen Einträge stehen dann jeweils auf dem 4. Feld.

Satzart ZU (Zugriffe)
2. Feld - Benutzer
3. Feld - Untersatzart KO oder ZU
Bei ZU steht dann in Feld 4 die Uhrzeit und in Feld 5 die Anzahl der Zugriffe, bei KO in Feld 4 der Kommentar.

     ZU;"ASSUSER ";ZU;"07:30";      1000

Satzart PR (Benutzer)
2. Feld - Benutzer
3. Feld - Untersatzart KO oder PR
Bei KO steht im 3. Feld der Kommentar, bei PR das zugehörige Profil.
Satzart MV (Mail-Verteiler)
2. Feld - Verteiler-Name
3. Feld - Untersatzart KO oder ME
Bei ME steht im 4.Feld der Typ - "E" für Email-Empfänger, "V" für Verweis auf einen anderen Verteiler. In Feld 5 steht nun die VON- und in Feld 6 ggf. die BIS-Angabe. Bei der Untersatzart KO steht in Feld 4 der Kommentar.

     MV;"VERTHUGO";ME;"E";"HUGO1   ";"HUGO999 "

Satzart ME (Email-Empfänger)
2. Feld - Empfängername (intern, beim Verteiler festgelegt)
3. Feld - Untersatzart KO oder EM
Bei der Untersatzart EM steht nun auf Feld 4 der (reale) Name des Empfängers, auf Feld 5 die Email-Adresse.

     ME;"HUGO1   ";EM;"Hugo Muster";"hugo.muster@mail.com"

Satzart PW (Passwort)
Mit diesem Satz kann das ST09-Passwort geändert werden.
Auf dem 2. Feld wird das Passwort angegeben. Stehen dort Sterne, bleibt das Passwort unverändert, mit "DEL" wird es auf den Standard zurückgesetzt.

4 ASS-Ausgabeschnittstellen

4.1 Extraktion aus ASS-Datenbeständen im Format einer externen Schnittstelle PCL1019

ALLGEMEINE FUNKTIONSBESCHREIBUNG

Es gibt Anwendungsfälle, für die es erforderlich ist, Daten aus einer Summendatenbank bzw. sequentiellen Verdichtungsstufe zu selektieren und in eine Datei im Format einer externen Schnittstelle zu überführen.

Diese Daten sollen dann evtl. in ein anderes Arbeitsgebiet oder nach gezielter Manipulation durch individuelle Programme ( z.B. Fehlerkorrektur, Umschlüsselung ) neu eingespeichert werden.

Auf diese Weise können rückwirkend Reorganisationsmaßnahmen durchgeführt werden, die mit den üblichen ASS-Utilities allein nicht lösbar sind.

Über eine in der ASS-BATCH-Sprache formulierte Anforderung in einer Anforderungsdatei ( KARTE ) sowie gegebenenfalls einer zusätzlichen Selektion über einen temporär zusammengefassten Schlüssel in einer speziellen Schlüsselanforderungsdatei (ASSKY) können die gewünschten ASS-Datensätze selektiert werden. (Es muss dann auch die Option WSTR angegeben werden.) Die Externen Schnittstellen können wahlweise entweder im kurzen Format oder im langen Format erstellt werden. Die Festlegung erfolgt dadurch, dass in den Anforderungen (Datei KARTE) OPT:KURZ; angegeben wird (kurzes Format) oder die Angabe OPT:KURZ; unterbleibt (langes format).

Die so erzeugten Schnittstellendateien können als Input für das Programm PCL1001 verwendet werden.

PCL1019 unterscheidet zwei Verarbeitungsvarianten, die in den folgenden Abschnitten im Einzelnen beschrieben werden:

Die zunächst folgende Beschreibung des Programmablaufs und der zu beachtenden Restriktionen gilt für beide Verarbeitungsvarianten.

ABLAUF
Datenflussplan
PCL1019_Ablauf.png
Datei - Beschreibung
LFD.-NR. DD-NAME/PGM Dateiname ASS-PC BESCHREIBUNG
110
//DST001
//DST011
//DST012
//DST013
$ASSDB/DST001
Werte-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
120
//DST002
//DST021
//DST022
//DST023
$ASSDB/DST002
Schlüssel-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
130
//DST003
//DST031
//DST032
//DST033
$ASSDB/DST003
Steuerungs-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
140
//DST100
//DST101
   BIS
//DST600
//DST601
$ASSDB/DSTnnn
Summen-DB (Für Arbeitsgebiet 1)
Index-DB  (Für Arbeitsgebiet 1) (DLI)
         Bis
Summen-DB (Für Arbeitsgebiet 50)
Index-DB  (Für Arbeitsgebiet 50)(DLI)
145
//ASSCV01
    BIS
//ASSCV50
$ASSDB/ASSCVnn Externe Verdichtungsstufe(n), auf DUMMY setzen und bei Bedarf aktivieren
150 //KARTE$ASSVLK/KARTE.VLK Anforderung für Schnittstelle
160 //ASSKY$ASS/ASSKY Datei der zu selektierenden Schlüsselausprägungen
170 PCL1019 Externe Schnittstelle ziehen
180 //LISTE$ASSPTK/LISTE.PTK Ablaufprotokoll
190
//ASSIN01



//ASSIN02
//ASSIN03
   bis
//ASSIN50
$ASS/ASSINnn
nicht Option SIMULTAN_DIREKT:
    Externe Schnittstellendatei
Option SIMULTAN_DIREKT:
    Arbeitsdatei  (VB 10004)
Externe Schnittstellendatei
Externe Schnittstellendatei

Externe Schnittstellendatei
220 //WORK$ASSWK/WORK.DTA
Arbeitsdatei (MCL0015),
    Format VB, Satzlänge 400
Statistik über Statistik

Für PCL1019 kann Statistik über Statistik aktiviert werden. Hierzu ist der Schalter STAT-STAT-PCL1019 auf "J" zu setzen (siehe Handbuch HINSTALL). PCL1019 erzeugt dann analog zu PCL1016 eine Datei PWORK, die ebenfalls analog zu PCL1016 zu verarbeiten ist (PCL1054 etc.). Wird Statistik über Statistik für PCL1019 aktiviert, so ist die betreffende JCL um die Datei PWORK (siehe PCL1016) zu erweitern.

RESTRIKTIONEN bezüglich der Anforderungssprache:

Eine Anforderung, die als Eingabe für PCL1019 verwendet werden soll, unterliegt folgenden Restriktionen:

Man kann mehrere Anforderungen hintereinanderhängen. Die Ergebnisse werden dann in den Ausgabedateien in der entsprechenden Reihenfolge hintereinandergefügt. Die Extraktion von ASS-Datenbeständen kann je Programmlauf nur entweder im langen Format einer externen Schnittstellendatei oder im kurzen Format einer externen Schnittstellendatei erfolgen. Damit wird verhindert, dass sich auf einer Datei (ASSIN01, ASSIN02, ...) verschiedene Formate vermischen und die erzeugten Dateien als Eingabe für das Programm PCL1001 unbrauchbar sind. Werden mehrere Anforderungen aneinandergehängt, ist also OPT:KURZ; entweder in jeder oder in keiner Anforderung zu verwenden.
Hinweis: Die Option KURZ wird synonym zu NOWEDIM benutzt.

ASS2166 DER SCHLUESSELINHALT ... IST UNZULAESSIG

Standardmäßig ist dies bei SIMULTAN_DIREKT und ALLES_ABZIEHEN ein Fehler und für die linke Kante (Schlüssel oder erster Schlüssel einer Relation) eine Information. Mit der Angabe AU_FEHL_MAX = n (0 <= n <= 1000) gilt dies auch für alle Schlüssel einer Relation und für die ersten n bleibt es auch eine Information und danach ist es ein Fehler.

4.1.1 Extraktion von selektierten Summensätzen PCL1019

ABLAUF

1. Schritt:

Für eine einfache Selektion ist lediglich eine Anforderung zu erstellen, die dem Programm unter dem Link-/DD-Namen "KARTE" zugewiesen wird. Es sind hier alle Möglichkeiten der BATCH-Anforderungssprache zugelassen, mit Ausnahme der als Restriktionen im vorhergehenden Kapitel aufgeführten Punkte. Die Eingabe muss in den Spalten 1 - 72 erfolgen.

Wird eine externe Schnittstelle erzeugt, so kann der dort ausgegebene Standard-Ordnungsbegriff (PCL1019 bzw. PCL1019 KURZ) durch die Angabe
ORD: 'Text' ;
durch den bei ORD angegebenen Text überschrieben werden.

Ist die Option "KEVINH" angegeben, so wird eine externe Schnittstelle erzeugt, die bei bestimmten Schlüsseln als Schlüsselinhalt bereits den verdichteten Schlüsselinhalt und bei den restlichen Schlüsseln den Klartext des Schlüsselinhalts enthält. Es entsteht also eine Mischkonstellation. Sie wird durch eigene Satzarten dem Programm PCL1001 bekanntgemacht (Satzart 6 für Kopfsätze, Satzart 7 für Summensätze).

Bei der Option "KEVINH" werden die Schlüsselinhalte der Schlüssel im Klartext ausgegeben, deren Inhalte explizit angefordert wurden. Bei den anderen wird der verdichtete Schlüsselinhalt aus dem betreffenden Summensatz ohne irgendwelche Prüfungen ausgegeben.

Mit der Option "KEVINH" erzeugte Schnittstellen eignen sich nicht dafür, um Daten von verschiedenen ASS-Umgebungen zu transportieren (z.B. von Test nach Produktion oder umgekehrt). Es werden in verschiedenen ASS-Umgebungen i.a. die verdichteten Schlüsselinhalte nicht synchron vergeben. Werden diese Schnittstellen von PCL1001 verarbeitet, so werden verdichtete Schlüsselinhalte ohne Prüfungen übernommen.

Die Optionen ABO_WENN_EINE_LEER bzw. ABO_WENN_ALLE_LEER: PCL1019 erzeugt so viele Ausgabedateien ASSINnn, wie bei ZEITRAUM Zeitpunkte bzw. Zeitintervalle angefordert sind.

Beispiel für ein Monatsarbeitsgebiet:

        KS: ZEITRAUM = ( 0199,
                         0299-0399,
                         0499);

==> es werden die Dateien ASSIN01, ASSIN02 und ASSIN03 erzeugt

Beispiel für ein Tagesarbeitsgebiet:

        KS: ZEITRAUM = ( 3101M0 - 3201M0,
                         3101M0 % 3201M0);

==> es werden die Dateien ASSIN01, ASSIN02 und ASSIN03 erzeugt

Durch die Optionen ABO_WENN_EINE_LEER bzw. ABO_WENN_ALLE_LEER soll ein gezielter Programmabbruch erzeugt werden, wenn eine erzeugte Ausgabedatei leer ist bzw. wenn alle erzeugten Ausgabedateien leer sind. Eine Ausgabedatei gilt als leer, wenn sie keine von Null verschiedenen Werteinhalte enthält.

2. Schritt:

Programmlauf PCL1019

BEISPIEL:

Aus dem eingespeicherten Arbeitsgebiet 19 sollen für den Zeitraum
0186 und 0286,
selektiert nach den Schlüsseln mit den Nummern
1901, 1902, 1903, 1904, 1905, 1906, 1907 und 1908
die Daten zu den Werten mit den Wertenummern
1901, 1902, 1903 und 1904
in eine externe Schnittstellendatei gebracht werden. Für den Schlüssel 1907 werden nur die Inhalte 07A und 07B, für den Schlüssel 1908 nur die Inhalte 08A und 08B gewünscht.

Dies kann über folgende Anforderung erreicht werden:

        ASS ;
            AG:           19;
            KS:    ZEITRAUM = (0186,0286);
            ZS:    1902,1901,1903,1904,1905,1906,1907 = ('07A',07B'),
                                                 1908 = ('08A',08B');
            SS:    WERTE = (1901,1902,1903,1904);
        END ;
Variation der selektierten Schlüsselinhalte

In diesem Fall entstehen zwei Ausgabedateien: eine mit den Daten für den Zeitraum 0186 und eine für 0286. Will man beide Zeiträume zusammen in einer Ausgabedatei haben, so muss man pro Zeitangabe einen eigenen Anforderungsblock definieren. Diese Anforderungsblöcke können dann in einem Lauf von PCL1019 ausgewertet werden.

Die Anforderungen

        ASS ;
            AG:           19;
            KS:    ZEITRAUM = (0186);
            ZS:    1902,1901,1903,1904,1905,1906,1907 = ('07A',07B'),
                                                 1908 = ('08A',08B');
            SS:    WERTE = (1901,1902,1903,1904);
        END ;

        ASS ;
            AG:           19;
            KS:    ZEITRAUM = (0286,0386);
            ZS:    1902,1901,1903,1904,1905,1906,1907 = ('07A',07B'),
                                                 1908 = ('08A',08B');
            SS:    WERTE = (1901,1902,1903,1904);
        END ;

bewirken, dass auf ASSIN01 die Zeiträume 0186 und 0286 hintereinander stehen und auf ASSIN02 der Zeitraum 0386 ausgegeben wird.

In den oben gezeigten Beispielanforderungen werden alle ASS-Datensätze selektiert, die bezüglich der Schlüssel 1907 und 1908 die Inhaltskombinationen 07A-08A, 07A-08B, 07B-08A und 07B-08B aufweisen. Interessiert man sich aber nur für bestimmte Kombinationen, wie 07A-08B und 07B-08A, so ist auf diesem Weg eine Unterdrückung der nicht gewünschten, sich aus der Variation der angeforderten Schlüsselinhalte ergebenden zusätzlichen Selektionen und Satzausgaben nicht zu erreichen. Für derartige Fälle ist eine optionale Zusammenfassung von ASS-Schlüsseln vorgesehen, die im folgenden Kapitel beschrieben wird.

Schließlich ist es noch möglich, Schlüsselausprägungen mit Hilfe von Maskierungen zu selektieren (Ausrufezeichen-Maskierung).

Anmerkung zu NMAXDAT

Mit NMAXDAT können wie allgemein nicht eingespeicherte Zeiträume angefordert werden. Diese bekommen dann den Inhalt 0. Nach einer Einspeicherung gelten dann diese Zeiten als eingespeichert und liefern in einer Auswertung auch ohne NMAXDAT den Inhalt 0.

Folgeeinspeicherungen von Bestandswerten sind dann für diese Zeiten in Bestandsform nur nach einer Annulierung mit PCL1051 möglich und in Bewegungsform gelten die Änderungen bis zum Einspeicherungsende der entsprechenden Werte. Daher ist dies mit ASS 8.30 in Verbindung mit ALLES_ABZIEHEN geändert worden. ALLES_ABZIEHEN und NMAXDAT verhalten sich unverändert. ALLES_ABZIEHEN ohne NMAXDAT gilt bis ASS 8.20 nur für eingespeicherte Zeiten und ab ASS 8.30 können auch nicht eingespeicherte Zeiten angefordert werden, die aber auf die Einspeicherungszeit verkleinert werden.

4.1.2 Gezielte Satzauswahl über temporär zusammengefasste ASS-Schlüssel PCL1019

FUNKTIONSBESCHREIBUNG

In vielen Anwendungsfällen besteht der Wunsch, nur Sätze mit bestimmten Schlüsselinhaltskombinationen anzusprechen. Diese Forderung tritt vor allem dann auf, wenn mehrere ASS-Schlüssel zusammen einen tatsächlichen, im Bereich des Unternehmens als Einheit definierten Schlüsselbegriff darstellen. Derartige Fälle repräsentieren zum Beispiel häufig anzutreffende Organisationsschlüssel, deren Inhalte stellenweise interpretiert und auf die einzelnen Organisationseinheiten bezogen werden. Im ASS werden diese Einheiten in der Regel als unabhängige Schlüssel definiert. Will man nun einen bestimmten Inhalt des gesamten Organisationsschlüssels einstellen, so müssen die betreffenden Inhalte der ASS-Schlüssel selektiert werden. Allerdings führt nun ASS eine Variation aller selektierten Schlüsselinhalte durch. Das hat zur Folge, dass z.B. nicht nur die Sätze für die Geschäftsstelle 04 und den Vertreter Meier, sowie die Geschäftsstelle 08 und den Vertreter Huber angesprochen werden. Vielmehr werden, evtl. auch tatsächlich vorhandene Sätze für die Kombinationen Geschäftsstelle 04 und Vertreter Huber sowie Geschäftsstelle 08 und Vertreter Meier gesucht.

Solch ein nach außen hin als einzelner in Erscheinung tretender Schlüssel könnte z.B. auch der Schlüssel VERSICHERUNGSNUMMER (VSNR) sein, der sich vereinfacht aus folgenden Schlüsseln zusammensetzt:

Beispiel_Schluessel_VSNR.png

Mögliche konkrete Nummern sind z.B.

1111 0, 1122 0, 1133 1, 1121 0, 331110, 332120, 333131 usw.

Die Zahl der Datenbankzugriffe wird in diesen Fällen durch die Variationsversuche unnötig erhöht. Zudem umfasst der Ausgabebestand unter Umständen weit mehr Daten als eigentlich gewünscht. Für derartige Probleme bietet nun das Programm PCL1019 eine wesentlich effizientere und damit zeitsparende Zugriffsmethode, bei der der Anwender das jeweilige Suchkriterium als einen aus mehreren Schlüsselinhalten zusammengefassten logischen Schlüssel vorgibt. So könnten zum Beispiel die Geschäftsstelle 04 und der Vertreter Meier zu einer solchen übergeordneten Ausprägung zusammengefasst werden.

Ausgehend vom linkesten ausgeprägten Schlüssel einer Verdichtungsstufe werden der Reihenfolge nach alle das Suchkriterium bildenden Einzelschlüssel zu einem Gesamtschlüssel zusammengefasst, um die Summendaten mit diesem Schlüssel direkt lesen zu können.

Voraussetzung ist allerdings, dass die Reihenfolge der den Gesamtschlüssel bildenden eigenständigen Schlüssel mit der Reihenfolge der ausgeprägten Schlüssel im ASS-Arbeitsgebiet übereinstimmt. Wird zusätzlich die Option WSTR angegeben, so muss die Reihenfolge der Schlüssel mit der Reihenfolge in der Verdichtungsstufe übereinstimmen (gedrehte Verdichtungsstufen). Andernfalls werden keine Summensätze im externen Schnittstellenformat erzeugt.

Die Anweisungen zur Zusammenfassung von Schlüsseln müssen in einer eigenen Schlüsselanforderungsdatei, die den logischen Namen ASSKY trägt, vorgegeben werden. Dabei müssen die gewünschten Schlüsselinhalte in der richtigen Reihenfolge (Reihenfolge der Schlüssel im Arbeitsgebiet) jeweils in der Länge von KEEXL (größtmögliche Länge des Schlüsselinhalts) angegeben werden.

Die Eingabe der Schlüsselinhalte in die Datei erfolgt linksbündig. Die Information über KEEXL erhält man z.B. über die Schlüsselanzeige der Transaktion ST06. Bei der Angabe der Schlüsselausprägungen in der Datei ASSKY ist zu beachten, dass bei Ausprägungen, die kürzer als die Längenangaben von KEEXL sind, die jeweils verbleibende Differenz zur größtmöglichen Länge mit Leerzeichen aufgefüllt werden muss.

Bei Weglassen konkreter Schlüsselinhalte bzw. bei falscher Längenangabe der Ausprägung werden keine Summensätze im externen Schnittstellenformat erstellt. Die Ausgabedatei enthält dann lediglich Kopf- und Endesatz.

ABLAUF

1. Schritt:

Zunächst ist eine Anforderung zu erstellen, die dem Programm unter dem Link-/DD-Namen "KARTE" zugewiesen wird.

In dieser Anforderung sind unter "OPT:" folgende Angaben erforderlich:

Unter "OPT2:" ist anzugeben:

2. Schritt:

Die gewünschten Schlüsselausprägungen werden in die Datei "ASSKY" geschrieben. Diese wird sequentiell abgearbeitet. Jeder Satz von "ASSKY" führt entsprechend der aktuellen Anforderung zu 0 bis n externen Schnittstellensätzen, da zu einem Suchbegriff aufgrund der Auffächerung nach nicht selektierten Schlüsseln auch mehrere Sätze vorhanden sein können. Enthält "ASSKY" eine Ausprägungskombination mehrfach, so werden hierzu auch entsprechend der Anzahl des Auftretens Schnittstellensätze erzeugt.

3. Schritt:

Programmlauf PCL1019

BEISPIEL:

Eine Anforderung der Datei "KARTE" könnte folgendes Aussehen haben:

          ASS;
          AG:    19;
          KS:    ZEITRAUM=(0188);
          ZS:    1905,
                 1904,
                 1907,
                 1903,
                 1902,
                 1901;
          SS:    WERTE  =(1901,
                          1902,
                          1903,
                          1904);
          OPT:   PRKLASSE=10,LIKLASSE=10;
          OPT2:  KEBEZI(1901),KEBEZI(1902),KEBEZI(1903),KEBEZI(1904);
          END;
Datei "ASSKY"

Zum Schlüssel VSNR, bestehend aus der Schlüsselkombination der ausgeprägten Schlüssel GKZ/OD/TG/DYN einer Verdichtungsstufe, sollen zu folgenden konkreten Ausprägungskombinationen

1. Spalte der Datei ASSKY

          !
          !
          V
          1111 0
          1122 0
          111111
          3311 0
          3322 0
          333111

Summensätze in das Format einer externen Schnittstelle transformiert werden, damit an ihnen Änderungen vorgenommen werden können.

4.1.3 Umbuchen von Werten unter andere Schlüsselinhaltskombinationen PCL1019

FUNKTIONSBESCHREIBUNG

Das Programm PCL1019 erfüllt zusätzlich die Funktion, eingespeicherte Werte hinsichtlich der Schlüsselinhalte umzubuchen (Funktion der Umschlüsselung).

Ändern sich zum Beispiel im Bereich der Organisationsschlüssel eines Unternehmens die Zuordnungen, weil ein Vertreter in die Zuständigkeit einer anderen Geschäftsstelle fällt, so will man sehr oft solche Änderungen rückwirkend für bereits eingespeicherte Werte wie Anzahl_Verträge etc. nachholen.

Die Werteinhalte, die umgebucht werden sollen, müssen über eine normale, wie in 4.1.1 gezeigte Anforderung aus den Summendaten herausgefiltert werden.

Über die Option "AENDERN" und Angabe des Änderungszeichens ">" bei den betreffenden Schlüsselausprägungen wird dem Programm eine Umschlüsselung angezeigt. Einem Schlüsselinhalt, der geändert werden soll, muss, durch das Zeichen ">" getrennt, der gewünschte Zielinhalt gegenübergestellt werden. Auf diese Weise wird dem System ein Ausgangs- und ein Zielzustand mitgeteilt.

Statt einem Schlüssel kann auch eine Schlüsselrelation verwendet werden, dann werden nur die angegebenen Schlüsselinhalts-Kombinationen umgebucht. Die Umbuchungsanweisungen in der Ausgabeschnittstelle werden dann natürlich für die Teilschlüssel der Relation erzeugt. Dasselbe Ergebnis erhält man, wenn man die Umsetzungen für die Teilschlüssel der Relation definiert und die Option SIMULTAN verwendet (s.u.). Die Variante mit Relation ist jedoch übersichtlicher. Werden außerdem mehrere Relationen auf einmal angegeben und die Option SIMULTAN nicht gesetzt, können Schlüsselinhaltskombinationen unabhängig voneinander umgebucht werden.

PCL1019 entnimmt nun entsprechend der Anforderung für den Ausgangszustand Summendaten und bucht sie auf die Belange des ebenfalls in der Anforderung ausgedrückten Zielzustandes um, d.h. die so erzeugte Schnittstellendatei enthält sowohl Daten für das Herausbuchen der alten Wertinhalte als auch für das Verbuchen unter den neuen Schlüsselkombinationen.

Vom Umschlüsseln sind also nur solche Wertinhalte betroffen, die die in der Anforderung angesprochenen Schlüssel-, Zeit- und Wertbedingungen erfüllen.

Wurden auf diese Weise von PCL1019 Werte ermittelt, so wird nun im nächsten Schritt überprüft, für welche Inhalte, nach denen zuvor selektiert wurde, eine Umschlüsselung gewünscht wird. Je nach Tiefe der Selektion durch die Anforderung entsteht so eine mehr oder weniger große Schnittstellendatei. Es können mehrere Schlüssel gleichzeitig umgeschlüsselt werden. Die Quellausprägungen der Umschlüsselung wirken selektierend wie normal angegebene Ausprägungen.

Implizite Schlüsselannahme

Bei der Einspeicherung in ein Arbeitsgebiet müssen die Werteinhalte nach allen im Arbeitsgebiet ausgeprägten Schlüsseln aufgefächert angeliefert werden, damit alle Verdichtungsstufen korrekt versorgt werden können. Besteht für ein Arbeitsgebiet eine Basisverdichtungsstufe, so wird dieser Anspruch durch die Berücksichtigung der Schlüssel dieser Verdichtungsstufe abgedeckt. Um eine Schnittstelle zu erzeugen, die vom Schlüsselaspekt her die Versorgung aller im Arbeitsgebiet existierenden Verdichtungsstufen garantiert, nimmt PCL1019 zusätzlich zu den explizit angeforderten Schlüsseln noch alle übrigen, im Arbeitsgebiet ausgeprägten Schlüssel implizit mit in die Schnittstelle auf.
Existiert für das Arbeitsgebiet eine Basisverdichtungsstufe, so spiegeln die entnommenen Schnittstellensätze den Schlüsselaspekt dieser Verdichtungstufe wider. Bei fehlender Basisverdichtungsstufe ist eine Umschlüsselung nur dann möglich, wenn die behandelten Werte nicht in mehreren Verdichtungsstufen mit unterschiedlich ausgeprägten Schlüsseln auftreten.
Diese automatische implizite Ergänzung von Schlüsseln wird durch Verwendung der Option AENDERNOS anstatt AENDERN unterdrückt. Der Benutzer ist somit selbst verantwortlich, dass alle Schlüssel der umzubuchenden Basis in der Karte angegeben werden. Die Vorgehensweise ist dann erforderlich, wenn z.B. in der Historie der Schlüsselhaushalt ein anderer ist, als zum aktuellen Zeitaspekt.

Implizite Werteannahme

Wird der Schlüssel WERTE ohne Nennung konkreter Werte - also WERTE; - angefordert, so berücksichtigt PCL1019 alle Werte des Arbeitsgebietes bei den Optionem AENDERN, SIMULTAN_DIREKT und ALLES_ABZIEHEN. Bei ALLES_ABZIEHEN gilt dies auch ohne die Angabe von Werten.

Die Behandlung der Wertearten

PCL1019 erzeugt beim Einsatz der Option AENDERN grundsätzlich Schnittstellensätze mit Werten der Anlieferungsart BEWEGUNG. Für Werte der Werteart Bewegung bedeutet das, dass der umzubuchende Werteinhalt auf einen eventuell schon vorhandenen Betrag aufaddiert wird. Bei Bestandswerten wird ebenfalls aufaddiert.

Um aber zu vermeiden, dass ASS den neu angelieferten Werteinhalt als vergessene Bewegung interpretiert und auf die nachfolgenden Zeiträume nachholt, liefert PCL1019 zusätzliche Werte, der die vergessene Bewegung wieder aus dem nachfolgenden Zeitraum herausbucht. Zusätzliche Werte werden bei Bestandswerten nicht erzeugt, wenn der Zeitaspekt sich auf den letzten eingespeicherten Monat bezieht. Es ist daher darauf zu achten, dass zwischen dem Erzeugen der Umbuchungssätze und dem Einspeichern der Umbuchungen keine Folgeeinspeicherungen für das betreffende Arbeitsgebiet durchgeführt werden.

ABLAUF

1. Schritt:

Zunächst ist eine Anforderung zu erstellen, die dem Programm unter dem Link-/DD-Namen "KARTE" zugewiesen wird.

In dieser Anforderung sind unter "OPT:" folgende Angaben erforderlich:

2. Schritt:

Programmlauf PCL1019

3. Schritt:

Verarbeitung der erzeugten Schnittstelle durch das Programm PCL1001

4. Schritt:

Weiterverarbeitung durch PCL1002 und Einspeicherung der Daten in die Summendatenbank. In den meisten Fällen wird eine Einspeicherung direkt durch PCL1002 erfolgen. Dabei kann von der Vorlaufkartenoption DIREKTSP Gebrauch gemacht werden. Es ist aber natürlich auch möglich, die Daten ganz normal mit PCL1002 ohne DIREKTSP folgeeinzuspeichern oder aber mit PCL1002 einen Ladebestand zu erzeugen und das Laden anschließend mit dem Programm PCL1013 nachzuholen.

BEISPIEL:

Im Arbeitsgebiet 22 sollen für den Dezember 1986 hinsichtlich der Werte mit den Nummern 4540 und 4543 Umbuchungen vorgenommen werden. Für alle Sätze, in denen

vorkommen, sollen für den Schlüssel 4544 Umschlüsselungen des Inhaltes 4544B nach 4544D vorgenommen werden.

Um diese Umbuchungen erreichen zu können, muss folgende Anforderung erstellt werden:

              ASS ;
               AG : 22;
               KS : ZEITRAUM = (1286);
               ZS : 4544 = ('4544B'>'4544D'),
                    4547 = ('4547B'),
                    4549 = ('4549A','4549E');
               SS : WERTE=(4540,4543);
               OPT: AENDERN;
              END;

Soll die obige Umbuchung sowohl für November 1986 als auch für Dezember 1986 durchgeführt werden, so wird dies durch die Anforderung

              ASS ;
               AG : 22;
               KS : ZEITRAUM = (1186,1286);
               ZS : 4544 = ('4544B'>'4544D'),
                    4547 = ('4547B'),
                    4549 = ('4549A','4549E');
               SS : WERTE=(4540,4543);
               OPT: AENDERN;
              END;

erreicht. In diesem Fall werden zwei externe Schnittstellen ausgegeben und zwar auf ASSIN01 die Daten für 1186 und auf ASSIN02 die Daten für 1286. Das gleiche Ergebnis könnte allerdings wirtschaftlicher über eine Zeitintervallanforderung 1186-1286 erreicht werden, die im folgenden Beispiel beschrieben wird.

BEISPIEL:

Im Arbeitsgebiet 22 sollen für den Januar bis Dezember 1986 Umbuchungen wie im obigen Beispiel vorgenommen werden.

Um diese Umbuchungen erreichen zu können, kann folgende Anforderung erstellt werden:

              ASS ;
               AG : 22;
               KS : ZEITRAUM = (0186-1286);
               ZS : 4544 = ('4544B'>'4544D'),
                    4547 = ('4547B'),
                    4549 = ('4549A','4549E');
               SS : WERTE=(4540,4543);
               OPT: AENDERN;
              END;

erreicht. In diesem Fall werden alle Umbuchungsanweisungen auf ASSIN01 ausgegeben.

Dynamische Umbuchung

In einer Umbuchungsanweisung kann der Zielinhalt auch aus fixen Zeichenfolgen und Substringangaben, die sich auf andere Schlüssel beziehen und dynamisch aus den Ausprägungen des jeweiligen Summensatzes bestimmt werden, zusammengesetzt werden.

Dies sei an folgendem Beispiel einer dynamischen Anweisung erklärt:

        ZS: 100 = ('ABCDEF'>('XYZ' + SUBSTR(200,4,3)))

Dadurch wird beim Schlüssel 100 der Inhalt 'ABCDEF' auf den Inhalt 'XYZnnn' umgebucht, wobei nnn dynamisch aus jeweiligen Summensatz bestimmt wird. Hierfür werden vom dortigen Inhalt des Schlüssels 200 ab der 4. Stelle 3 Zeichen kopiert und an 'XYZ' angefügt. Voraussetzung ist natürlich, dass der Schlüssel 200 auch im Summensatz vorhanden (also auch angefordert oder implizit ergänzt) ist.
Ein Summensatz, in dem die Schlüssel 100 und 200 die Inhalte 'ABCDEF' bzw. 'GHIJKL' haben, wird also auf den Inhalt 'XYZJKL' des Schlüssels 100 umgebucht.

Obiges Beispiel ist einfach gehalten, es können aber beliebig viele fixe Strings und Substrings konkateniert werden. Jedoch darf die Gesamtlänge des Ausdrucks die externe Länge des umzubuchenden Schlüssels nicht übersteigen.

Die Syntax ist wie folgt:

BEISPIEL:

        ZS: 100 = ('ABCDEFGHI' > SUBSTR(200,4,3,'ZZZ') + '(+)' + SUBSTR(,2,3)

Ein Summensatz, in dem die Schlüssel 100 und 200 die Inhalte 'ABCDEFGHI' bzw. '123456' haben, wird also auf den Inhalt '456(+)BCD' des Schlüssels 100 umgebucht, ein Summensatz mit den Inhalten 'ABCDEFGHI' bzw. '123' auf den Inhalt 'ZZZ(+)BCD', da die Substringangabe für 200 einen leeren String ergibt.

4.1.4 Die Optionen BEWEGUNG und INVERS PCL1019

Die Optionen BEWEGUNG und INVERS können in der Anforderung unter 'OPT:' angegeben werden. Bei Angabe der Option BEWEGUNG erzeugt das Programm PCL1019 grundsätzlich Schnittstellensätze mit der Anlieferungsart BEWEGUNG, unabhängig von der Werteart der Werte.

Wird die Option INVERS angegeben, so unterscheiden sich alle Werteinhalte der erzeugten Schnittstellensätze im Vorzeichen gegenüber denjenigen Schnittstellensätzen, die bei gleicher Anforderung ohne Angabe der Option INVERS erzeugt werden. Die Werteinhalte werden also beim Generieren der Datei(en) ASSINxx mit -1 multipliziert.

Mit den obigen Optionen kann z.B. folgender Anwendungsfall einfacher gelöst werden: Bestimmte Summensätze sind in einer Folgeeinspeicherung fehlerhaft in die Summendaten gestellt worden (z.B. die Daten einer Bezirksdirektion). Die korrigierten Daten liegen mittlerweile in Form einer externen Schnittstelle vor. Erzeugt man hierzu zusätzlich eine externe Schnittstelle mit den betreffenden Sätzen und der Option INVERS beim PCL1019-Lauf, so kann im Rahmen einer einzigen Folgeeinspeicherung die Korrektur erfolgen. Hierzu muss man dann beim PCL1001-Lauf die externen Schnittstellen verketten.

Die Optionen BEWEGUNG und BEWEGUNG_BESTAND schließen einander aus.

4.1.5 Die Option BEWEGUNG_BESTAND PCL1019

Die Option BEWEGUNG_BESTAND kann in der Anforderung ebenfalls unter 'OPT:' angegeben werden. Wie oben erwähnt, schließen die Optionen BEWEGUNG_BESTAND und BEWEGUNG einander aus. BEWEGUNG_BESTAND ist gedacht für die Übernahme von Summensätzen mit Bestandswerten in ein neu zu ladendes Arbeitsgebiet mit Hilfe einer einzigen externen Schnittstelle, die durch PCL1019 erzeugt wird.

Bei der Zeitraum-Angabe wird ein Zeitraumintervall angegeben (BIS '-' nicht PROZENT '%'). Dann wird bei der Erzeugung der Schnittstellensätze wie folgt verfahren: Für den ersten Zeitraum des Zeitintervalls wird in den Schnittstellensätzen der Werteinhalt jedes Bestandswertes mit Anlieferungsart BEWEGUNG übernommen. Für alle anderen Zeitpunkte erfolgt nur bei echten Bestandsänderungen ein Eintrag mit der Anlieferungsart BEWEGUNG.

Auf Bewegungswerte hat diese Option keinen Einfluss.

Wichtig ist dabei, dass auch die Option NOZEITPRUEF angegeben wird, da andernfalls die Angabe von Zeitraumintervallen nicht zulässig ist (siehe oben).

Beispiel:

Eine Auswertung des Arbeitsgebietes 10 liefere für den Schlüssel 1901 mit Inhalt 11 zum Bestandswert 1000 und den folgenden Zeitpunkten die Werteinhalte:

Angenommen der Schlüssel 1901 befindet sich nur in einer Verdichtungsstufe des Arbeitsgebietes. Ferner sei unter KARTE die folgende Anforderung abgelegt:

        ASS;
        AG:  18;
        KS:  ZEITRAUM=(0293-0493);
        ZS:  1901 = ('11');
        SS:  WERTE = (1000);
        OPT: NOZEITPRUEF,BEWEGUNG_BESTAND;
        END;

Dann wird außer Kopf- und Endesatz ein Schnittstellensatz erzeugt. Im Kopfsatz wird der Wert als Bewegungswert angekündigt und im Schnittstellensatz finden sich zum Zeitpunkt 0293 der Inhalt 1000 und zum Zeitpunkt 0493 der Inhalt 500.

Die so erzeugte Schnittstellendatei kann nur für die Ersteinspeicherung (Urladen) in ein neues Arbeitsgebiet verwandt werden. Bei Existenz von Einspeicherungsrhythmen ist diese Option nicht zulässig.

4.1.6 Die Option SIMULTAN PCL1019

Die Option SIMULTAN dient dazu, ganze Schlüsselkombinationen zu selektieren und ggf. umzubuchen. Dabei bilden die Schlüsselinhalte der selektierten Schlüssel eine gültige Schlüsselkombination genau dann, wenn sie alle an derselben Position angefordert werden.
Die 1.Ausprägung des 1.selektierten Schlüssels gehört also zur 1.Ausprägung des 2.selektierten Schlüssels ... und zur 1.Ausprägung des n.ten selektierten Schlüssels. Entsprechendes gilt für die 2.Ausprägung usw.. Schlüssel, die angefordert sind, aber zu denen keine Ausprägungen selektiert wurden, werden hierbei nicht betrachtet.
Ausprägungen dürfen bei den einzelnen Schlüsseln mehrfach angefordert werden. Zu jedem selektierten Schlüssel müssen genauso viele Ausprägungen angefordert werden.

Die Option SIMULTAN wird innerhalb des Statements 'OPT:' in der ASS-Anforderung angegeben.

Beispiel:

        ASS;
        AG:  18;
        KS:  ZEITRAUM=(0293-0493);
        ZS:  1901 = ('11'>'A','12'>'B')
            ,1903 = ('0'>'X','1'>'Y')
        ;
        SS:  WERTE = (1902);
        OPT: AENDERN,SIMULTAN;
        END;

In diesem Beispiel wird die Kombination 1901='11', 1903='0' auf 1901='A', 1903='X' und die Kombination 1901='12', 1903='1' auf 1901='B', 1903='Y' umgebucht, es werden jedoch nicht die Kombinationen 1901='11', 1903='1' und 1901='12', 1903='0' umgebucht.

4.1.7 Die Option SIMULTAN_DIREKT PCL1019

Mit der Option SIMULTAN_DIREKT werden Umbuchungen von Schlüsselausprägungen direkt auf der Summendatenbank vorgenommen. Zur Selektion der umzubuchenden Sätze werden in Form der Batch-Anforderungssprache Ausprägungskombinationen von 'Bedingungsschlüsseln' vorgegeben. In den betroffene Sätzen werden die Ausprägungen der 'Zielschlüssel' durch die in der Anforderung angegebenen Ausprägungen ersetzt.
Zu jedem Bedingungs- und Zielschlüssel müssen genau gleich viele Ausprägungen angegeben werden. Dabei bildet die n-te Ausprägung aller Bedingungsschlüssel eine gültige Kombination zur Umbuchung der n-ten Ausprägung in den Zielschlüsseln.
Kommt in einem Summensatz einer Verdichtungsstufe ein Zielschlüssel vor, müssen alle weiteren Ziel- und Bedingungsschlüssel vorkommen. Es dürfen keine sequentiellen Verdichtungsstufen von Umbuchungen betroffen sein. Ein Schlüssel darf nur einmal als Bedingungs- bzw. Zielschlüssel angegeben werden.

Die Bedingungsschlüssel werden unter 'KS:' und die Zielschlüssel unter 'ZS:' angegeben. Die Option SIMULTAN_DIREKT wird innerhalb der Anweisung 'OPT:' der ASS-Anforderung angegeben.

Bei Verwendung der Option SIMULTAN_DIREKT werden die Arbeitsdateien ASSWKO und ASSWKI benötigt, die physikalisch dieselbe Datei darstellen.

Beispiel

        ASS;
          AG: 7;
          KS: 100=(1, 3, 5),
              200=(A, B, C);
          ZS: 300=(01, 02, 03);
          OPT: SIMULTAN_DIREKT;
        END;

In diesem Beispiel wird der Inhalt des Schlüssel 300 auf '01' gesetzt, wenn der Inhalt des Schlüssels 100 gleich '1' und der des Schlüssels 200 gleich 'A' ist.
Entsprechend gilt:
300 = '02' für 100 = '3' und 200 = 'B',
300 = '03' für 100 = '5' und 200 = 'C'.

Hinweis: In einer DLI-Umgebung wird hierzu ein PSB benötigt, der Updates auf Summendatenbanken und die Steuerungsdatenbank zulässt.

4.1.8 Euro-Optionen PCL1019

Analog zur Auswertung ist unter OPT: bzw. OPTION: die Angabe einer Euro-Option möglich (vergleiche Handbuch HAUSWERT). Zulässig sind dabei:

           ORG_WAEHRUNG, EURO, MIT_REF_WERTE

Entsprechend der Definition auf Werte- bzw. Steuerungsdatenbank, der angegebenen Option und der Angaben im Euro-Copy SST1502 (vergleiche Handbuch HINSTALL) werden die angeforderten Werte umgerechnet auf der externen Schnittstellendatei ausgegeben. Achtung: wegen unterschiedlicher Verarbeitung der Summensätze im Vergleich zur Auswertung kann es auf Grund von Rundungsfehlern zu geringfügigen Abweichungen kommen.

Diese Form der Umrechnung kann dazu verwendet werden, um alte Datenbestände nach Euro umzurechnen, beispielsweise bei der Verwendung von Referenzwerten. Bezüglich der Nachkommastellen von Eurowerten ist KST-EURO-MIN (D A 10, SST1549) zu beachten.

4.1.9 Optionen VSTNR und BASIS PCL1019

Die Optionen werden unter 'OPT:' angegeben. VSTNR=nnnnn bedeutet, dass für die Schnittstelle genau die Verdichtungsstufenmenge ausgewertet wird, die die Verdichtungsstufe nnnnn enthält (nicht etwa eine für die Auswertung günstigere). Existiert die VST nnnnn nicht, wird abgebrochen.
Bei BASIS wird für jeden Wert der Anforderung eine Basis-Verdichtungsstufe gesucht. Ist dies für einen Wert der Anforderung nicht möglich, wird abgebrochen. Gibt es mehrere Basis-Verdichtungsstufen (auch in verschiedenen Mengen), wird die für die Auswertung günstigste ausgewählt.

4.1.10 Optionen FIX_N_MIT /-_OHNE, FIX_U_MIT /-_OHNE PCL1019

Die Optionen FIX_U_MIT, FIX_U_OHNE, FIX_N_MIT und FIX_N_OHNE werden unter OPT: angegeben.
Die genannten Optionen bewirken, dass externe Schnittstellensätze ausgegeben werden, die einen festen Aufbau haben (konstante Satzlänge, im Werteteil werden Nullen ergänzt). Für jeden angeforderten Zeitpunkt bzw. für jedes angeforderte Zeitintervall aus ZEITRAUM = ( ... ) wird eine eigene Ausgabedatei erzeugt.
Bei den Optionen FIX_U_OHNE und FIX_N_OHNE werden keine keine Kopf- und Endesätze ausgegeben. So erzeugte Dateien sind damit für eine ASS-Erst- bzw. Folgeeinspeicherung nicht geeignet.
Bei den Optionen FIX_N_MIT und FIX_N_OHNE werden alle Wert-Zeitkombinationen in einem Satz chronologisch aufsteigend nebeneinander ausgegeben. Jeder angeforderte Zeitaspekt aus ZEITRAUM = (t1-t2), der zum Einspeicherungsrhythmus passt, macht eine Wert-Zeitkombination auf. Ist die Option AENDERN angegeben und handelt es sich um einen Bestandswert, so wird eine zusätzliche Spalte für Gegenbuchungen erzeugt, damit die Änderungsanweisungen sich nur auf die angeforderten Zeiten auswirken. Ist der angeforderte Zeitaspekt t2 größer oder gleich dem Datum der letzten Einspeicherung, so wird keine Gegenbuchung erzeugt. Um einen festen Aufbau zu erhalten, wird für diesen Fall ein DUMMY-Eintrag erzeugt, wobei Wertenummer und Werteinhalt auf Null gesetzt werden. Die Summe aus auszugebenden Schlüsseln plus Anzahl Wert-Zeitkombinationen darf 700 nicht übersteigen (maximale Satzlängenproblematik).
Bei den Optionen FIX_U_MIT und FIX_U_OHNE macht jeder angeforderte Wert eine Wertespalte im Ausgabesatz auf. Die erforderlichen Zeiten werden chronologisch aufsteigend in Folgesätzen ausgegeben. Sätze zu Zeitaspekten, bei denen alle Werteinhalte Null sind, werden i.a. nicht ausgegeben.

4.1.11 Erzeugung von PC-Schnittstellen PCL1019

Analog zur Auswertung (PCL1016, PCL1038) können die Ausgaben von PCL1019 auch im PC-Format angefordert werden. Das gewünschte PC-Format wird unter OPT: PC-Format ; angefordert.

Folgende Formate stehen zur Verfügung:

Die PC-Dateien werden analog zu externen Schnittstellen auf Dateien ASSINnn ausgegeben. In Host-Umgebungen haben die Ausgabedateien das Format VB 10004, in Window's bzw. Unix-Umgebungen werden Line-Sequential-Dateien erzeugt. Zu jeder erzeugten Ausgabedatei ASSINnn wird eine Beschreibungsdatei ASSDSnn erzeugt. In Host-Umgebungen haben die Ausgabedateien das Format VB 84, in Window's bzw. Unix-Umgebungen werden Line-Sequential-Dateien erzeugt. Der Satzaufbau ist analog zu den von PCL1038 erzeugten Sätzen und ist dort beschrieben (siehe 4.3).

Die Erzeugung der Beschreibungsdateien kann mit OPT: NO_ASSDS ; unterdrückt werden.

Es werden dieselben Daten wie bei der Erzeugung von externen Schnittstellen ausgegeben. D.h. es stehen alle in den vorangegangenen Abschnitten beschriebenen Möglichkeiten von PCL1019 zur Verfügung, mit Ausnahme der Option SIMULTAN_DIREKT. Die ASS-Zeit wird als 1. Spalte unter dem Bezeichner ZEITRAUM in der Form JHJJMM ausgeben. Da i.a. ein externer Schnittstellensatz mehrere Zeitaspekte enthalten kann, kann es vorkommen, dass eine derartige Situation auf mehrere PC-Schnittstellensätze abgebildet wird.

Umbuchungen bei Bestandswerten können zu Missverständnissen führen: Bei Bestandswerten sollen sich die Umbuchungen nur auf die angeforderten Zeiten beziehen. Da die erzeugten externen Schnittstellen dann Bewegungswerte enthalten, wird für den Folgemonat eine Gegenbuchung erzeugt. Diese Gegenbuchung unterbleibt, wenn es sich um den letzten Einspeicherungsmonat des betreffenden Wertes handelt.

Die Option PC_KY_FIX:
Standardmäßig werden in den Formaten mit einem Trennzeichen zwischen den Feldern Leerzeichen am Ende von Schlüesselinhalten nicht ausgegeben. Mit der Option PC_KY_FIX werden die Leerzeichen mit ausgegeben, also wird jedes Feld in der externen Länge des Schlüssels ausgegeben.

Die Option MIT_SL:
Diese Option steht nur in Host-Umgebungen (MVS, BS2000) zur Verfügung. Wird OPT: MIT_SL; angegeben, so wird in den Ausgabesätzen als erstes ein Halbwort ausgegeben, das die aktuelle Satzlänge enthält. Hierdurch wird es erleichert, die Ausgabedateien auf FB80-Format umzublocken, mit einem File-Transfer auf z.B. PC zu übertragen und dort dann in Line-Sequential-Dateien umzuwandeln. Das Blocken kann am Host mit PCL1203 und Vorlaufkarte PCL1019 durchgeführt werden, das Entblocken am PC mit PCL1218 und Vorlaufkarte TRANSLATE.

Die Optionen COBOL bzw. DB2 sollten in einer PC-Umgebung (Window's, Unix) nicht eingesetzt werden, da gepackte Zahlen in Line-Sequential-Dateien keinen Sinn machen.

Beispiel:

        ASS;
        AG:  18;
        KS:  ZEITRAUM=(0293-0493);
        ZS:  1901 = ('11');
        SS:  WERTE = (1000);
        OPT: EXCEL, NO_ASSDS;
        END;

4.1.12 Werteinhaltsbedingungen PCL1019

Bei der Erzeugung von externen Schnittstellen können auch Werteinhaltsbedingungen gesetzt werden.

Beispiel:

        ASS;
        AG:  18;
        KS:  ZEITRAUM=(0293-0493);
        ZS:  1901, 1902, 1903;
        SS:  WERTE = (100(,>1000,<10000),
                      101,
                      102,
                      103(,>5000),
                      104);
        END;

Es sollen nur die Summensätze ausgegeben werden, in
denen ( der Werteinhalt des Wertes 100 > 1000 und der Werteinhalt des Wertes 100 < 10000 )
oder der Werteinhalt des Wertes 103 > 5000 ist.
PCL1019 verarbeitet Summensätze von Verdichtungsstufen. Die oben genannten Bedingungen werden auf jeden zu verarbeiteten Summensatz angewendet, satzübergreifende Betrachtungen werden nicht durchgeführt. Die Prüfungen werden für jeden angeforderten Zeitaspekt durchgeführt. Sind die angeforderten Bedingungen für einen Zeitaspekt wahr, so werden alle angeforderten Werte zu diesem Zeitaspekt ausgegeben.

Beispiel: In einem Summensatz sei folgende Situation gegeben


          Wert  Datum  Inhalt  Werteinhaltsbedingung
        --------------------------------------------
          100    0293    1500     wahr
          101    0293    10        -
          103    0293    500      falsch

          100    0393    20       falsch
          101    0393    10        -
          103    0393    400      falsch

          100    0493    20       falsch
          101    0493    10        -
          103    0493    10000    wahr
          104    0493    80        -

Beim Zeitaspekt 0293 ist eine Bedingung eines Wertes wahr, d.h. 0293 wird ausgegeben, d.h. es werden die drei oben zu 0293 genannten Werte mit ihrem Inhalt ausgegeben. Beim Zeitaspekt 0393 ist keine Bedingung wahr, es wird nichts zu 0393 ausgegeben. Beim Zeitaspekt 0493 ist eine Bedingung eines Wertes wahr, d.h. 0493 wird ausgegeben, d.h. es werden die vier oben zu 0493 genannten Werte mit ihrem Inhalt ausgegeben.

Besonderheiten:

Da die Prüfungen satzweise durchgeführt werden, hängt das Verarbeitungsergebnis von den ausgewählten Verdichtungsstufen ab (hoch verdichtete Verdichtungsstufen haben i.a. größere Werteinhalte als Basisverdichtungsstufen). U.u. müssen die Verdichtungsstufen, die ausgewertet werden sollen, explizit vorgegeben werden (siehe 4.1.9). Fehlen Werte im aktuellen Verdichtungsstufensatz oder ev. sogar ganz in der aktuellen Verdichtungsstufe, so wird ihr Werteinhalt als 0 angenommen.

Sind EURO-Optionen angefordert, so werden die gelesenen Werteinhalte erst umgerechnet und dann geprüft.

Alle Prüfungen beziehen sich auf einen gelesenen Summensatz, nicht auf die letztendlich ausgegebenen Werte. Bei der Option INVERS z.B. wird erst geprüft und dann das Vorzeichen vertauscht.

4.1.13 Die Option ALLES_ABZIEHEN PCL1019

Die Grundidee dieser Option besteht darin, alle Daten eines Arbeitsgebiets abzuziehen, ohne alle verwendeten Schlüssel bzw. Werte dieses Arbeitsgebiets in der aktuellen Anforderung vollständig aufzählen zu müssen (es wird leicht der ein oder andere Schlüssel bzw. Wert vergessen). Darüber hinaus ist es mühsam, alle Schlüssel bzw. Werte des angeforderten Arbeitsgebiets aufzuzählen.

Die Option ALLES_ABZIEHEN soll sicherstellen, dass keine Information verlorengeht. Diese Forderung hat sofort einige wesentliche Konsequenzen: Zu jedem Wert, der eingespeichert ist, gibt es i.a. mehrere Zeitintervalle, zu denen Daten eingespeichert sind (es können z.B. zeitliche Einspeicherungslücken vorliegen). Zu jedem dieser Zeitintervalle muss es Basisverdichtungsstufen geben, da sonst nicht alle Schlüssel, zu denen Daten vorliegen, bedient werden können. Es muss also zu jedem Wert über seine gesamte Einspeicherungshistorie mindestens eine Basisverdichtungsstufe existieren. Damit ist sichergestellt, dass beim Abziehen immer vollständige Informationen geliefert werden.

Ein einfaches (typisches) Beispiel für Basen pro Wert liefern Rechenwerte. Rechenwerte sind i.a. nach sehr wenig Schlüsseln ausgeprägt (z.B. ein Steuersatz nur nach Tarif), wogegen die anderen Werte nach vielen Schlüsseln ausgeprägt sind.

Eine Basis kann als Menge von Schlüssel betrachtet werden, nach denen ein Wert ausgeprägt ist. Wenn ein Arbeitsgebiet für die Option ALLES_ABZIEHEN geeignet ist, hat man eine bestimmte Anzahl von Schlüsselmengen (die verschiedenen Basen), die zusätzlich noch nach Zeitintervallen, zu denen sie existieren, unterschieden werden müssen. Es gibt dann also mehrere verschiedene Schlüsselmengen/Zeitintervall-Kombinationen. Zu jeder dieser Kombinationen gibt es Werte, die dazu passen. Zu jeder dieser Kombinationen wird die aktuelle Anforderung einmal ausgeführt, wobei nur die Daten selektiert werden, die zu der jeweiligen Kombination passen.

In einfachen Fällen (Arbeitsgebiet ohne Rechenwerte, eine Basisverdichtungsstufe für alle Werte mit überall gleicher zeitlicher Einspeicherung) ergibt sich nur eine Schlüsselmengen/Zeitintervall-Kombination und die aktuelle Anforderung braucht nur einmal ausgeführt zu werden.

Die Betrachtung einzelner Verdichtungsstufen im Zusammenhang mit Basisverdichtungsstufen ist nicht ganz korrekt. Es geht immer um Verdichtungsstufenmengen.

Die Option ALLES_ABZIEHEN verträgt sich nicht mit den Optionen SIMULTAN_DIREKT, VSTNR = ... und BASIS. Es ist zulässig, in der aktuellen Anforderung die üblichen Einschränkungen anzugeben. Im Kopfschlüssel kann bei ZEITRAUM = ... ein Zeitintervall angegeben werden. ALLES_ABZIEHEN bezieht sich dann nur noch auf das angeforderte Zeitintervall (es werden dann natürlich nicht mehr alle Daten des angeforderten Arbeitsgebiets abgezogen). Ebenso kann man im Spaltenschlüssel bei WERTE = ... das ganze Verfahren auf bestimmte Werte einschränken. Im Zeilenschlüsselbereich können Schlüssel mit Ausprägungsauswahl angegeben werden. Diese Angaben wirken dann selektiv. Nicht aufgeführte Schlüssel werden so ergänzt, wie es die jeweiligen Basisverdichtungsstufen verlangen.

Die zusätzlichen Selektionsangaben bei ZEITRAUM, bei Schlüsseln bzw. bei Werte sind unabhängig voneinander. Die fehlenden Angaben werden automatisch ergänzt.

Im einfachsten Fall sollte die Angabe des angeforderten Arbeitsgebiets und der erforderlichen Optionen ausreichen:

        ASS;
          AG: 7;
          OPT: ALLES_ABZIEHEN;
        END;

4.1.14 Die Option CSV PCL1019

Die Option CSV bewirkt, dass die von PCL1019 ausgegebenen Daten Textformat haben. Siehe hierzu HSYSDOK, Textformat mit Line-Sequentiell. Bei Host-Installationen werden Dateien variabler Satzlänge erzeugt, unter Windows/Unix Line-Sequentielle Dateien. Die Option CSV ist vorwiegend für Windows/Unix-Umgebungen gedacht. Die erzeugten Daten sind im Prinzip externe Schnittstellen, die auch mit nicht ASS-Programmen verarbeitet werden können.

Sollen diese Daten nach Excel importiert werden, so ist darauf zu achten, dass alle Spalten als Textspalten behandelt werden (Excel schneidet u.U. führende Nullen oder führende Blanks weg). Dies führt beim Wertedatum und bei Schlüsselinhalten evtl. zu Problemen.

Standardmäßig sind die Felder der erzeugten Schnittstelle durch Semikolon getrennt. Soll stattdessen der Tabulator verwendet werden, so ist in der Vorlaufkarte die Option TAB anzugeben. Die Option CSV kann i.A. ergänzend angegeben werden.

Die Option CSV ist nicht zulässig bei

In der CSV-Variante (und nur in dieser Variante) kann die Option REL_IN_AUSGABE gesetzt werden. Diese bewirkt, dass angeforderte Schlüsselrelationen auch als solche in die Ausgabeschnittstelle geschrieben werden, d.h. statt die Relationsinhalte auf die Teilschlüssel verteilt auszugeben, bleiben diese zusammengesetzt und der Kopfsatz enthält die Relationsnummer mit führendem "R" (z.B. R345).

Ebenfalls nur in der CSV-Variante möglich (bzw. relevant) ist die Option "KEIN_INDEX_TEXT": Standardmäßig werden im CSV-Format bei Indexschlüsseln und -relationen die Langtexte in die Schnittstelle geschrieben (bei Relationen allerdings nur, wenn diese auch zusammengesetzt ausgegeben werden, also die obige Option "REL_IN_AUSGABE" gesetzt ist).
Ist dieses Standardverhalten nicht gewünscht (z.B. weil beim folgenden PCL1001-Lauf ein i.d.R. überflüssiges Abfragen der Indexdatenbank verhindert werden soll), so bewirkt "KEIN_INDEX_TEXT", dass statt der Texte die Indizes (also die eigentlichen Schlüsselinhalte) ausgegeben werden. Im Kopfsatz erhält ein Indexschlüssel entsprechend das Präfix "I", eine Indexrelation das Präfix "J".

In Windows/Unix-Umgebungen ist die Größe der erzeugten Dateien beschränkt (ca. 2 Giga-Byte). Es werden daher u. U. Folgedateien erzeugt, auf ASSIN01 folgt dann ASSIN011, ASSIN012, ... , ASSIN019, ASSIN01A, ... . In diesem Fall muss der ASS-Anwender selbst auf die korrekte Behandlung der Folgedateien achten.

4.1.15 Die Optionen MCL0169 und MCL0169_PLATZ

Analog zu PCL1001 gibt es nun auch in PCL1019 die Möglichkeit, Schlüsselausprägungen über MCL0169 und die Datei „ASSMANI“ umzuschlüsseln. Die Verwendung eines eigenen User-Exits ist hier jedoch nicht vorgesehen. Ein eventuell bereits bestehender User-Exit MCL0169, der für PCL1001 programmiert wurde, würde hier i.Allg. zum Fehler führen, da andere Satzarten verwendet werden.
Die Regeln für den Aufbau der „ASSMANI“ sind dieselben wie für PCL1001. Es werden jedoch eventuelle Zeitumsetzungen ignoriert. Das Verfahren wird auch hier über die Option „MCL0169“ (oder „MST0169“) aktiviert, welche in der Vorlaufkarte unter "OPT:" eingetragen werden muss. Auch hier kann der bereitzustellende Speicherplatz über die Angabe „MCL0169_PLATZ = …“ gesteuert werden.
In Verbindung mit der Option „CSV“ (Ausgabe als leserliches Textformat) ergibt sich hier im Gegensatz zu PCL1001 der Vorteil, dass die ausgegebene externe Schnittstelle vom Anwender leichter noch einmal überprüft werden kann.

4.1.16 Die Option #AUS_DATEI

Das Pflegen der Vorlaufkarte ist bei vielen Umbuchungs- oder Selektionsanweisungen aufwändig und fehleranfällig. Deswegen kann der Schlüsselteil auch aus einer csv-Datei (PC: ASSZS19.CSV im $ASS-Verzeichnis; Host: DD-Name ASSZS19, außerdem wird eine weitere Datei ASSZS19# als Work-Datei benötigt) gelesen werden, die ggf. maschinell erzeugt werden kann. In der Vorlaufkarte ist hierfür als ZS-Anweisung
ZS: #AUS_DATEI;
anzugeben.

Die Datei muss folgenden Aufbau haben:

Beispiel:

100 100_UMB 200 300
ABC123
DEFGHI456
JKLMNO

Diese Eingabe entspricht folgender ZS-Anweisung:

        ZS: 100 = ('ABC','DEF'>'GHI', 'JKL'>'MNO'),
        	200,
        	300 = ('123', '456');

Im PCL1019-Protokoll wird hinter der ZS-Anweisung dann der Inhalt der Eingabedatei ausgegeben, mit den diesbezüglichen Zeilennummern. Insbesondere bei der Vorlaufkartenoption SIMULTAN ist die Eingabedatei deutlich übersichtlicher, da die zueinander gehörenden Inhalte jeweils in derselben Zeile stehen.

Außerdem bietet #AUS_DATEI in Verbindung mit SIMULTAN einen weiteren Vorteil: Normalerweise dürfen in ASS-Anforderungen (also auch in PCL1019) bei jedem Schlüssel nicht mehr als 65.000 Inhalte angefordert werden. ASSZS19 dürfte also nur max. 65.000 Selektionssätze enthalten. Ist allerdings SIMULTAN (nicht: SIMULTAN_DIREKT) aktiv, kann ASSZS19 praktisch beliebig viele Sätze enthalten: Sie wird dann in mehreren Schritten zu jeweils 65.000 Sätzen verarbeitet. Im Protokoll wird bei jedem Schritt die Anforderung neu angelistet.

4.2 Ergebnisse einer BATCH-Auswertung auf Datei ausgeben (LDAT) PCL1016

Das Programm PCL1016 wertet die Bibliotheken E und P der Anforderungsdatenbank aus, und führt BATCH-Auswertungen zu allen fälligen Anforderungen durch.

Wurde in einigen Anforderungen die Option "DATEI" angekreuzt, werden von PCL1016 gegebenenfalls zusätzlich zur Listausgabe alle Ergebnisse der Auswertungen nacheinander in die Datei "LDAT" geschrieben.

Diese Datei kann weiteren Dienstprogrammen (PCL1034, PCL1038) als Eingabedatei zur Verfügung gestellt werden.

Die "LDAT"-Datei kann auch vom Programm PCL1003 erstellt werden. Standardmäßig wird dabei jedoch der Eintrag für den Anforderungsnamen in dieser Datei auf Blank gesetzt, was für die Weiterverarbeitung via PCL1038 und PCL1034 hinderlich ist. Dies kann verhindert werden, in dem man in der entsprechenden Anforderung, die das PCL1003 ausführen soll, die Variable &&NAME mit dem gewünschten Anforderungsnamen besetzt. Dieser wird dann in die "LDAT" geschrieben.
Bei der Erzeugung der LDAT sollte unbedingt auf die Einstellungen in den Includes SST1253 (LDAT-ERWEITERT), SST1285 (LDAT-ERWEITERT-V620) und SST1398 (LDAT-ERWEITERT-V640) geachtet werden. Wenn z. B. in einer Anforderung der Schlüsselinhalt und die Schlüsselbezeichnung angefordert werden, so sollten die Schalter LDAT-ERWEITERT alle auf 'J' gesetzt sein.

4.2.1 Selektion aus der Datei LDAT PCL1034

FUNKTIONSBESCHREIBUNG

Wird während einer Auswertung (Programmlauf von PCL1016) eine Ausgabedatei LDAT erzeugt, so stehen in dieser Datei die Daten aller Anforderungen, bei denen eine Ausgabe auf Datei angefordert wurde, hintereinander. Dies kann bei der Weiterverarbeitung dieser Daten außerhalb von ASS störend sein. Mit dem Programm PCL1034 können daher Daten einzelner Anforderungen aus LDAT herausselektiert werden.

ABLAUF
Datenflussplan
PCL1034_Ablauf.png
1  Eingabe

   //LDAT
   $ASS/LDAT (PC)

2  Vorlaufkarte

   //ASSCO
   $ASSVLK/T1034.VLK (PC)

3  Liste f. Protokoll

   //LISTE
   $ASSPTK/PCL1034.PTK (PC)

4  Ausgabe von PCL1034

   //LDATOUT
   $ASS/LDATOUT (PC)
VORLAUKARTE

In der Vorlaufkarte muss der vollständige Name der zu selektierenden Anforderung aus LDAT angegeben werden.

BEISPIEL

Die Anforderung "AG03S17" soll aus der Datei "LDAT" selektiert werden:

AG03S17

4.3 PC-Schnittstelle PCL1038

FUNKTIONSBESCHREIBUNG

Als Einführung zur PC-Schnittstelle sollte das Kapitel über die PC-Schnittstelle in der Systemdokumentation gelesen werden.

In diesem Handbuch werden nur die technischen Eigenschaften des Schnittstellenerzeugers PCL1038 beschrieben.

PCL1038 verarbeitet die Datei LDAT, die bei Angabe der Option 'DATEI' in der Anforderung von PCL1003 bzw. PCL1016 erzeugt wird, und erstellt daraus Dateien, die von anderen Programmen weiterverarbeitet oder auf PC transferiert werden können.
Namensintervalle von Listanforderungen werden über Vorlaufkarten definiert. Pro Namensintervall wird die Datei LDAT sequentiell durchgelesen und jede Anforderung, die im aktuellen Namensintervall enthalten ist, in eine Datei ASSPCnn geschrieben.
In ASSPCnn wird aufsteigend von nn=01 bis nn=99 geschrieben. Jede "ursprüngliche" Listzeile ergibt einen Satz in der aktuellen PC-Datei. Zusätzlich wird in die entsprechende Datei ASSDSnn eine Formatbeschreibung für ASSPCnn geschrieben. Der Aufbau der PC- und der Formatdatei ist abhängig von dem in der ersten Vorlaufkarte angegebenen PC-Format.

ABLAUF
Datenflussplan
PCL1038_Ablauf.png
Dateibeschreibung
:
Nummer DD/Linkname Dateiname ASS-PC Beschreibung
1ASSCO$ASSVLK/T1038.VLKVorlaufkarte(n)
2LDAT$ASS/LDATDatei mit den von PCL1016 erzeugten Auswertungsergebnissen
3DST001
DST002
DST003
$ASSDB/DST001
$ASSDB/DST002
$ASSDB/DST003
Wertedatenbank
Schlüsseldatenbank
Steuerungsdatenbank
4LISTE$ASSPTK/LISTE.PTKAblauf- und Fehlerprotokoll
5ASSPCnn$ASS/ASSPCnn Ausgabedateien für transferierte Auswertungen.
nn kann Werte zwischen 1 und 99 annehmen.
Pro Auswertung, die in LDAT enthalten ist und über die in den Vorlaufkarten enthaltenen Namensbereiche angesprochen wird, muss eine Datei zugewiesen werden.
6ASSDSnn$ASS/ASSDSnn Ausgabedateien für Strukturbeschreibungen der Anforderungen.

Bei FOCUS und FOCUS2 ist dies die MASTER FILE DESCRIPTION,
bei den übrigen PC-Formaten ist dies eine Tabelle der Feldbeschreibungen (s.u).

nn kann Werte zwischen 1 und 99 annehmen.
Die Datei wird pro Auswertung, die in LDAT enthalten ist und über die in den Vorlaufkarten angegebenen enthaltenen Namensbereiche selektiert wird, benötigt. Bei den Formaten FOCUS und FOCUS2 muss sie zugewiesen werden, bei den anderen Formaten ist dies nicht zwingend erforderlich.
7ASSVT$ASS/MAILFB.EBC Ausgabedatei im Falle der Option EMAIL.
VORLAUFKARTE

1. Vorlaufkarte: Format der PC-Datei

Alles nach dem Strichpunkt ';' ist Kommentar. Zur Zeit können folgende Formate angefordert werden:

Das Ausgabeformat kann auch über eine Option bei der Anforderung bestimmt werden. Angaben bei der Anforderung übersteuern Angaben in der Vorlaufkarte.

Das PC-Format wird standardmäßig über die optionale PC-Anweisung der Anforderung und falls diese nicht existiert über die obigen Optionen bestimmt. Mittels der zusätzlichen Option IGNORE_ANF wird die optionale PC-Anweisung ignoriert.

Option NOSTOP

In der 1. Vorlaufkarte kann wahlweise die Option NOSTOP ( mit Komma getrennt ) an die Format-Angabe angehängt werden.

Beispiel: FOCUS,NOSTOP

Die Angabe der Option NOSTOP bewirkt eine andere Behandlung des Fehlers 'ASS7106 ANFORDERUNG NICHT BEARBEITBAR: ZAHLENUEBERLAUF', sofern dieser im Programmlauf auftritt.

Für diese Fehlermeldung gibt es 2 Ursachen:

Bei der Option NOSTOP wird nach Auftreten dieser Fehlermeldung mit der weiteren Verarbeitung der nachfolgenden Anforderung fortgefahren, wogegen sonst ein Programmabbruch erfolgt. Die betreffenden Felder in den Ausgabedateien werden je nach Fehlerursache mit Strichen oder Sternen gefüllt.

Sollte ein solcher Fehler auftreten, ist für eine Weiterverwendung ein Editieren der betreffenden Datei erforderlich. Die Option NOSTOP wird beim Cobol-Format ignoriert, weil in diesem Fall die Fehlermeldung ASS7106 nicht auftritt.

Option NULLEN

Bei nicht berechenbaren Formeln wird 0 (anstatt Leerzeichen beim Cobol-Format bzw. Strichen sonst) in die PC-Datei ausgegeben.

Option PC_KY_VAR

Bei Schlüsselausprägungen werden hintere Leerzeichen entfernt, um ggf. Platz zu sparen. Nur für die Formate EXCEL, EXCELOK und DBASE.

Option OHNE_ZAHLEN oder OZ

Der Spaltenteil der Statistik wird unterdrückt, es werden keine Zahlen ausgegeben.

Option NO_ASSDS

Wird die Option NO_ASSDS angegeben, so wird grundsätzlich keine Beschreibungsdatei ASSDS erzeugt.

Option OS2_ANSI

Bei Erzeugung der PC-Schnittstelle wird der ANSI-Zeichensatz verwendet statt des Microsoft Konsolenzeichensatzes OEM 850.

Option EMAIL

Das Anforderungsergebnis wird auf eine sequentielle Datei geschrieben, die auf einem PC (eventuell nach Filetransfer) via PCL1125 weiterverarbeitet werden kann. PCL1125 versendet die Anforderungsergebnisse an die bei der Anforderung unter dem Verteiler zusammengefassten Empfänger (vergleiche HAUSWERT und HST09).

Optionen PC_MIN und PC_MAX

Die Anzahl der zu erstellenden PC-Dateien muss zwischen PC_MIN und PC_MAX liegen. Standardmäßig ist PC_MIN = 0 und PC_MAX = 99. In der Vorlaufkarte können PC_MIN und PC_MAX verändert werden, so dass gilt: 0 <= PC_MIN <= PC_MAX <= 99.

Vorlaufkarten 2 bis n (max. 50): Namensintervalle (optional)

Ab Spalte 1 können einzelne Anforderungen über ihren Namen oder Namensintervalle selektiert werden.

Andernfalls werden alle Anforderungen bearbeitet.

        Beispiel:   A-D
                    STAT

In diesem Beispiel werden alle Anforderungen bearbeitet, deren Name im Intervall von 'A' bis 'D' liegt, oder deren Name mit 'STAT' beginnt.

Existieren mehr als zwei Vorlaufkarten, so werden zuerst die Anforderungen aus der 2. Vorlaufkarte, dann die Anforderungen aus der 3. Vorlaufkarte usw. bearbeitet.

ACHTUNG

Die Namensangaben in den Vorlaufkarten 2 bis n dürfen sich nicht überlappen, da das Programm in diesem Fall mit einer entsprechenden Fehlermeldung abbricht.

Die Parameter &&LDAT_SPn:

Werden in der Anforderung, die die Daten der zu erzeugenden PC-Datei ermittelt, Parameter benutzt, die &&LDAT_SP1, &&LDAT_SP2, ... , &&LDAT_SP9 heißen, so wird der Inhalt dieser Parameter in die PC-Datei durchgereicht. Jeder der oben genannten Parameter macht eine eigene Spalte in der PC-Datei auf. Als Inhalt wird der aktuelle Parameterinhalt ausgegeben. Parameterspalten haben also konstanten Inhalt. Die Parameterspalten werden als erste, vor den eigentlichen Datenspalten ausgegeben. Lücken zischen den Parameterspalten werden als Leerspalten (Dummy-Spalten) behandelt.

Beispiel:

In der aktuellen Anforderung gelte: &&LDAT_SP2 = ABC und &&LDAT_SP5 = 4711

Es werden den eigentlichen Datenspalten 5 Spalten vorangestellt. Die 1., 3. und 4. Spalte sind Leerspalten und erhalten den Inhalt "?". Die 2. Spalte erhält den konstanten Inhalt "ABC", die 5. Spalte den konstanten Inhalt "4711".

Besonderheiten bei Join-Anforderungen bzw. verketteten Anforderungen:

Es werden nur die Parameter berücksichtigt, die der Join-Anforderung bzw. der verketteten Anforderung zugeordnet sind. Parameter von benutzten bzw. untergeordneten Anforderungen werden nicht berücksichtigt.

Leere Anforderungen

Liefert eine Anforderung keine Zahlen (ES GIBT KEINE DARZUSTELLENDEN ZAHLEN), so wird eine "leere" PC-Datei erzeugt. D.h. es wird ein einziger Datensatz erzeugt, der zusätzlich zu den &&LDAT_SPn-Spalten eine Spalte mit Namen LEERSP und Inhalt LEER enthält.

Fehlerhafte Anforderungen

Wird aus einer fehlerhaften Anforderung eine PC-Datei erzeugt, so wird dies durch einen speziellen Datensatz gekennzeichnet. Dieser Datensatz enthält eine Spalte mit Namen FEHLSP und Inhalt FEHLER.
Konnten die Parameter &&LDAT_SPn ermittelt werden, so wird die Fehler-Spalte zusätzlich zu den &&LDAT_SPn-Spalten erzeugt.

Unvollständige Anforderungen

Musste die Erzeugung einer PC-Datei wegen einer Fehlersituation abgebrochen werden, so werden unvollständige PC-Dateien durch einen speziellen Endesatz gekennzeichnet. Die Schlüsselinhalte erhalten den Text FEHLER, falls die betreffende Spalte breit genug ist, ansonsten wird die betreffende Spalte mit dem Buchstaben F aufgefüllt. Die Werte-Spalten erhalten den Inhalt 0.

Satzaufbau ASSPCnn

Die Sätze innerhalb einer DATEI ASSPCnn sind alle gleich lang. Inhalt und Satzlänge variieren allerdings von Datei zu Datei in Abhängigkeit von der jeweiligen Anforderung und dem angeforderten PC-Format. Im Protokoll von PCL1038 wird für jede Datei eine detaillierte Dateibeschreibung erstellt.

Anforderung:

Ausprägungen erscheinen stets in der externen Länge, mit der sie in der Schlüsseldatenbank definiert sind, außer bei den Optionen Kurzbezeichnung (6) und Bezeichnung (20).

Werteinhalte werden nach den Aufbereitungsangaben der betreffenden Anforderung gespeichert.

Wurde in der Anforderung nichts angegeben, so gelten bei "echten" Werten die Angaben aus der Wertedatenbank, bei Formeln die Standardaufbereitung (15,0). Gerundete Werte ( z.B. (10,C)) werden wie ganzzahlige Werte behandelt.

Eine Ausnahme bildet das COBOL-/DB2-Format. Dort werden Werte stets im Format 8 Byte gepackt ausgegeben. A c h t u n g: Wird im ASS WERTE als Zeilenschlüssel angefordert, so kann die Kommaposition innerhalb einer Spalte sich verschieben. Im entsprechenden Kopfsatz der LDAT kann jedoch nur eine Kommaposition angekündigt werden (in diesem Fall die maximal möglichen vier Nachkommastellen). Daher sind in diesem Spezialfall die Zahlen der PC-Datei kontextabhängig zu interpretieren.

Zeitangaben werden stets in der Länge 4 in der Form JJMM geschrieben, wenn keine Zeitintervalle angefordert wurden. Kommen Zeitintervalle vor, so werden die Zeitangaben in der Länge 9 in der Form JJMM-JJMM geschrieben.

PC-Formate:
Die einzelnen PC-Formate unterscheiden sich in ihrem Aufbau nur geringfügig. Insbesondere die Feldlängen (ohne '"', ',' und '.') sind bei allen Formaten identisch. Die Besonderheiten der Formate werden in einem abschließenden Beispiel dargestellt.

Satzaufbau ASSDSnn

Diese Dateien werden zwingend benötigt, wenn die PC-Dateien für FOCUS und FOCUS2 erstellt werden. Für die übrigen PC-Formate ist die Angabe optional: Ist keine Formatdatei vorhanden, so wird keine Formatbeschreibung erstellt.

Für FOCUS und FOCUS2 enthalten sie die sogenannte MASTER FILE DESCRIPTION mit festem "FILENAME" und "SEGNAME" für die entsprechende PC-Datei ASSPCnn.

Für die übrigen PC-Formate ist das Format gleich dem der ASSPC-Datei, und die inhaltliche Bedeutung ist folgende :

Die Längen der Felder der ASSDS-Sätze betragen 10,1,3,3,1 für DBase, und 20,1,3,3,1 sonst. Damit die ASSDS-Datei für die PC-Formate ungleich FOCUS, FOCUS2 erstellt wird, muss im Include SST1253 (in MST0010 enthalten) der Schalter LDAT_ERWEITERT auf '1'B stehen.

RESTRIKTIONEN

Die Elemente in LDAT müssen folgende Bedingungen erfüllen, um von PCL1038 einwandfrei verarbeitet werden zu können:

Es empfiehlt sich, für Zeitangaben ZEITRAUM als Kopf- oder Zeilenschlüssel zu verwenden, da Zeitangaben bei Werten nicht in die PC-Dateien überführt werden. Bei Formeln können nur die Rechenergebnisse, d.h. die Ziffernfolge des Ergebnisses, weitergegeben werden.

BEISPIEL:

Folgende Anforderung wurde mit PCL1003 bzw. PCL1016 in die Datei 'LDAT' gestellt:

        ASS;
            AG:  19;
            KS:  ZEITRAUM = ( Q486 );
            ZS:  1903 , 1904;
            SS:  WERTE = ( 1901 , 1904 );
            OPT: DATEI;
        END;

Die Länge der beiden Schlüssel sei 2 bzw. 1, die der Werte 5 und 12.

Ergebnis der Anforderung:

        ARBEITSGEBIET:   19: LEBEN_DEMO

        ZEITRAUM: Q486

                      I WERTE
                      I ANZAHL_   JAHRESBEITRAG
        TARIF  DYNAMI I STUECK               DM
        -----------------------------------------
                      I
        T1     0      I  1.918      456.473,683
               1      I  4.004      841.630,533
                      I
        T2     0      I    213       22.369,578
               1      I     57        4.290,210
                      I
        T3     0      I  2.037-     109.921,688
                      I
        T4     0      I  2.359-               0
                      I
        T5     0      I     17-       3.366,728
                      I
        T6     0      I    186-      15.862,990-
                      I
        T7     0      I     91        7.512,090

Dann erhält man für die einzelnen PC-Formate Ausgabedateien in folgender Form:

SYMPHONY - Format

Die Schlüsselausprägungen und Zeitraumangaben werden in '"' eingeschlossen.

Vor den Werteinhalten steht stets das Vorzeichen ('+' oder '-') und das Komma wird durch '.' dargestellt.

Alle Angaben werden durch ein ',' voneinander getrennt.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "ZEITRAUM            ","C",+04,+00,"N"
        "TARIF               ","C",+02,+00,"N"
        "DYNAMIK             ","C",+01,+00,"N"
        "ANZAHL_VETRAEGE     ","N",+06,+00,"N"
        "JAHRESBEITRAG       ","N",+14,+03,"N"

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "86Q4","T1","0",+01918,+000456473.683
        "86Q4","T1","1",+04004,+000841630.533
        "86Q4","T2","0",+00213,+000022369.578
        "86Q4","T2","1",+00057,+000004290.210
        "86Q4","T3","0",-02037,+000109921.688
        "86Q4","T4","0",-02359,+000000000.000
        "86Q4","T5","0",-00017,+000003366.728
        "86Q4","T6","0",-00186,-000015862.990
        "86Q4","T7","0",+00091,+000007512.090
LOTUSD - Format

Das LOTUSD-Format ist fast identisch mit dem SYMPHONY-Format. Lediglich bei den Werteinhalten wird das Komma durch ',' (anstatt durch '.') dargestellt.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "ZEITRAUM            ","C",+04,+00,"N"
        "TARIF               ","C",+02,+00,"N"
        "DYNAMIK             ","C",+01,+00,"N"
        "ANZAHL_VETRAEGE     ","N",+06,+00,"N"
        "JAHRESBEITRAG       ","N",+14,+03,"N"

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "86Q4","T1","0",+01918,+000456473,683
        "86Q4","T1","1",+04004,+000841630,533
        "86Q4","T2","0",+00213,+000022369,578
        "86Q4","T2","1",+00057,+000004290,210
        "86Q4","T3","0",-02037,+000109921,688
        "86Q4","T4","0",-02359,+000000000,000
        "86Q4","T5","0",-00017,+000003366,728
        "86Q4","T6","0",-00186,-000015862,990
        "86Q4","T7","0",+00091,+000007512,090
OA - Format (Open Access)

Das OA-Format ist fast identisch mit dem SYMPHONY-Format. Lediglich bei den Werteinhalten wird das Komma durch ',' (anstatt durch '.') dargestellt und als Trennsymbol gilt ein Blank (anstatt ',').

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "ZEITRAUM            " "C" +04 +00 "N"
        "TARIF               " "C" +02 +00 "N"
        "DYNAMIK             " "C" +01 +00 "N"
        "ANZAHL_VETRAEGE     " "N" +06 +00 "N"
        "JAHRESBEITRAG       " "N" +14 +03 "N"

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "86Q4" "T1" "0" +01918 +000456473,683
        "86Q4" "T1" "1" +04004 +000841630,533
        "86Q4" "T2" "0" +00213 +000022369,578
        "86Q4" "T2" "1" +00057 +000004290,210
        "86Q4" "T3" "0" -02037 +000109921,688
        "86Q4" "T4" "0" -02359 +000000000,000
        "86Q4" "T5" "0" -00017 +000003366,728
        "86Q4" "T6" "0" -00186 -000015862,990
        "86Q4" "T7" "0" +00091 +000007512,090
FOCUS - Format

Schlüsselausprägungen und Zeitraumangaben stehen ohne einschließende '"' und trennende ','. Die Werteinhalte werden ebenfalls nicht durch ',' getrennt. Bei ihnen fehlt stets das Komma; das Vorzeichen wird durch Zonenüberlochung auf der niederwertigsten Ziffer dargestellt.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        FILENAME=ASSDS,SUFFIX=FIX,$
        SEGNAME=A,$
        FIELDNAME=ZEITRAUM    ,ALIAS=ASS,USAGE=A4    ,ACTUAL=A4    ,$
        FIELDNAME=TARIF       ,ALIAS=   ,USAGE=A2    ,ACTUAL=A2    ,$
        FIELDNAME=DYN         ,ALIAS=   ,USAGE=A1    ,ACTUAL=A1    ,$
        FIELDNAME=ANZAHL      ,ALIAS=   ,USAGE=P5    ,ACTUAL=Z5    ,$
        FIELDNAME=JBTR        ,ALIAS=   ,USAGE=P12.3 ,ACTUAL=Z12.3 ,$

        PC-DATEI

             ----+----1----+----2----+----3----+----4----+----5----+
        CHAR:86Q4T100191H00045647368C
        HEX1:FFDFEFFFFFFCFFFFFFFFFFFC
        HEX2:868431001918000456473683

        CHAR:86Q4T110400D00084163053C
        HEX1:FFDFEFFFFFFCFFFFFFFFFFFC
        HEX2:868431104004000841630533

        CHAR:86Q4T200021C00002236957H
        HEX1:FFDFEFFFFFFCFFFFFFFFFFFC
        HEX2:868432000213000022369578

        CHAR:86Q4T210005G00000429021ä
        HEX1:FFDFEFFFFFFCFFFFFFFFFFFC
        HEX2:868432100057000004290210

        CHAR:86Q4T300203P00010992168H
        HEX1:FFDFEFFFFFFDFFFFFFFFFFFC
        HEX2:868433002037000109921688

        CHAR:86Q4T400235R00000000000ä
        HEX1:FFDFEFFFFFFDFFFFFFFFFFFC
        HEX2:868434002359000000000000

        CHAR:86Q4T500001P00000336672H
        HEX1:FFDFEFFFFFFDFFFFFFFFFFFC
        HEX2:868435000017000003366728

        CHAR:86Q4T600018O00001586299ü
        HEX1:FFDFEFFFFFFDFFFFFFFFFFFD
        HEX2:868436000186000015862990

        CHAR:86Q4T700009A00000751209ä
        HEX1:FFDFEFFFFFFCFFFFFFFFFFFC
        HEX2:868437000091000007512090

Je 3 Zeilen (CHAR, HEX1, HEX2) gehören logisch zusammen. In der Zeile CHAR sind die am Bildschirm sichtbaren Zeichen, unter HEX1 und HEX2 die hexadezimalen Zahlen zu entnehmen.

Durch spaltenweises Lesen ergibt sich folgende Entsprechung:
FOCUS2 - Format

Schlüsselausprägungen und Zeitraumangaben stehen ohne einschließende '"' und trennende ','. Die Werteinhalte werden ebenfalls nicht durch ',' getrennt. Führende Nullen werden unterdrückt, negative Vorzeichen stehen vor der ersten Ziffer.

Zu diesem Format wird eine Beschreibung (MASTER FILE DESCRIPTION) auf ASSDSnn generiert. Dieses Format kann keine Werte mit einer Länge größer als 16 verarbeiten, d.h. in den ASS-Anforderungen darf keine Werteaufbereitung der Form (15,n), n=1,2,3,..., verwendet werden ((15,0) ist zulässig). In diesem Fall wird die Bearbeitung abgebrochen.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        FILENAME=ASSDS,SUFFIX=FIX,$
        SEGNAME=A,$
        FIELDNAME=ZEITRAUM    ,ALIAS=E01,USAGE=A4    ,ACTUAL=A4    ,$
        FIELDNAME=TARIF       ,ALIAS=E02,USAGE=A2    ,ACTUAL=A2    ,$
        FIELDNAME=DYN         ,ALIAS=E03,USAGE=A1    ,ACTUAL=A1    ,$
        FIELDNAME=ANZAHL      ,ALIAS=E04,USAGE=D6    ,ACTUAL=A6    ,$
        FIELDNAME=JBTR        ,ALIAS=E05,USAGE=D14.3 ,ACTUAL=A14   ,$

        PC-DATEI

             ----+----1----+----2----+----3----+----4----+----5----+
        CHAR:86Q4T10 1918  456473,683
        HEX1:FFDFEF44FFFFFFFFFFFF6FFF
        HEX2:86843100191800456473B683

        CHAR:86Q4T11 4004  841630,333
        HEX1:FFDFEFF4FFFF44FFFFFF6FFC
        HEX2:86843110400400841630B333

        CHAR:86Q4T20  213   22369,578
        HEX1:FFDFEFF44FFF444FFFFF6FFF
        HEX2:86843200021300022369B578

        CHAR:86Q4T21   57    4290,210
        HEX1:FFDFEFF444FF4444FFFF6FFF
        HEX2:86843210005700004290B210

        CHAR:86Q4T30-2037  109921,728
        HEX1:FFDFEFF6FFFF44FFFFFF6FFF
        HEX2:86843300203700109921B728

        CHAR:86Q4T40-2359        ,000
        HEX1:FFDFEFF6FFFF444444446FFF
        HEX2:86843400235900000000B000

        CHAR:86Q4T50  -1P    3366,728
        HEX1:FFDFEFF446FF4444FFFF6FFF
        HEX2:86843500001700003366B728

        CHAR:86Q4T60 -186  -15862,990
        HEX1:FFDFEFF46FFF446FFFFF6FFF
        HEX2:86843600018600015862B990

        CHAR:86Q4T70   91    7512,090
        HEX1:FFDFEFF444FF4444FFFF6FFF
        HEX2:86843700009100007512B090
DBASE - Format

Dieses Format entspricht dem SYMPHONY-Format mit der einen Ausnahme, dass Schlüsselausprägungen und Zeitraumangaben nicht in '"' eingeschlossen werden. In der Format-Datei werden die Feldbezeichnungen in der Länge 10 (anstatt 20) weitergegeben. Längere Bezeichnungen werden abgeschnitten.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        ZEITRAUM  ,C,+04,+00,N
        TARIF     ,C,+02,+00,N
        DYNAMIK   ,C,+01,+00,N
        ANZAHL_VET,N,+06,+00,N
        JAHRESBEIT,N,+14,+03,N

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        86Q4,T1,0,+01918,+000456473.683
        86Q4,T1,1,+04004,+000841630.533
        86Q4,T2,0,+00213,+000022369.578
        86Q4,T2,1,+00057,+000004290.210
        86Q4,T3,0,-02037,+000109921.688
        86Q4,T4,0,-02359,+000000000.000
        86Q4,T5,0,-00017,+000003366.728
        86Q4,T6,0,-00186,-000015862.990
        86Q4,T7,0,+00091,+000007512.090
EXCEL - Format

Dieses Format entspricht dem DBASE-Format mit der Ausnahme, dass der Dezimalpunkt durch ein Dezimalkomma und das Trennsymbol durch ein Semikolon ersetzt wird. Außerdem wird, sofern im Include SST1253 (s.o.) aktiviert, als erster Satz ein beschreibender Satz herausgegeben, der die Spalten-Bezeichnungen enthält.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        ZEITRAUM            ;C;+04;+00;N
        TARIF               ;C;+02;+00;N
        DYNAMIK             ;C;+01;+00;N
        ANZAHL_VETRAEGE     ;N;+06;+00;N
        JAHRESBEITRAG       ;N;+14;+03;N

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        ZEITRAUM;TARIF;DYNAMIK;ANZAHL_VERTRAEGE;JAHRESBEITRAG
        86Q4;T1;0;+01918;+000456473,683
        86Q4;T1;1;+04004;+000841630,533
        86Q4;T2;0;+00213;+000022369,578
        86Q4;T2;1;+00057;+000004290,210
        86Q4;T3;0;-02037;+000109921,688
        86Q4;T4;0;-02359;+000000000,000
        86Q4;T5;0;-00017;+000003366,728
        86Q4;T6;0;-00186;-000015862,990
        86Q4;T7;0;+00091;+000007512,090
ALPHA - Format

Dieses Format entspricht dem EXCEL-Format, jedoch ohne die trennenden Semikolons zwischen Schlüsselausprägungen und Werten.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        ZEITRAUM            C+04+00N
        TARIF               C+02+00N
        DYNAMIK             C+01+00N
        ANZAHL_VETRAEGE     N+06+00N
        JAHRESBEITRAG       N+14+03N

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        86Q4T10+01918+000456473.683
        86Q4T11+04004+000841630.533
        86Q4T20+00213+000022369.578
        86Q4T21+00057+000004290.210
        86Q4T30-02037+000109921.688
        86Q4T40-02359+000000000.000
        86Q4T50-00017+000003366.728
        86Q4T60-00186-000015862.990
        86Q4T70+00091+000007512.090
SIPLAN - Format

Die Schlüsselausprägungen und Zeitraumangaben werden am Anfang jeweils mit "'" gekennzeichnet. Vor den Werteinhalten steht stets das Vorzeichen ('+' oder '-'). Das Komma wird durch ',' dargestellt. Eine Angabe wird durch ' #' abgeschlossen. Das Satzende wird durch ' ##' markiert.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        'ZEITRAUM           #'C #+04 #+00 #'N # ##
        'TARIF              #'C #+02 #+00 #'N # ##
        'DYNAMIK            #'C #+01 #+00 #'N # ##
        'ANZAHL_VETRAEGE    #'N #+06 #+00 #'N # ##
        'JAHRESBEITRAG      #'N #+14 #+03 #'N # ##

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        '86Q4 #'T1 #'0 #+01918 #+000456473.683 # ##
        '86Q4 #'T1 #'1 #+04004 #+000841630.533 # ##
        '86Q4 #'T2 #'0 #+00213 #+000022369.578 # ##
        '86Q4 #'T2 #'1 #+00057 #+000004290.210 # ##
        '86Q4 #'T3 #'0 #-02037 #+000109921.688 # ##
        '86Q4 #'T4 #'0 #-02359 #+000000000.000 # ##
        '86Q4 #'T5 #'0 #-00017 #+000003366.728 # ##
        '86Q4 #'T6 #'0 #-00186 #-000015862.990 # ##
        '86Q4 #'T7 #'0 #+00091 #+000007512.090 # ##
COBOL - und DB2 - Format

Dieses Format entspricht den anderen Formaten, es werden jedoch alle Begrenzer (Hochkommata) und Trennsymbole (Kommata) weggelassen. Zahlen werden im Format 8 Byte gepackt ausgegeben.

        FORMAT-DATEI für COBOL:

        ----+----1----+----2----+----3----+----4----+----5----+--6
        ZEITRAUM           C................N
        TARIF              C................N
        DYNAMIK            C................N
        ANZAHL_VETRAEGE    C................N
        JAHRESBEITRAG      C................N
                            Klammer4n.png

zwei gepackte Zahlen

FORMAT-DATEI für DB2 (nur PCL1038)

Die Format-Datei bei der Option DB2 wird als 'Create-Table-Anweisung' für das DB2-Load-Utility generiert. Dabei kann der Name der DB2-Tables und des DB2-Tablespaces in der Anforderung festgelegt werden. Die erste Überschriftszeile der Anforderung muss dazu in den ersten 70 Byte folgenden Text enhalten:

TABLE ........ IN ........... .

Fehlt in der Überschrift der Anforderung TABLE ... IN ... so werden Table und Tablespace als '???' ausgegeben.

Beispiel:

In der ST31 wurde im Bild VS101 oder in der Maske VS106 (nach Kommando 'UE') in der ersten Eingabezeile folgender Text angelegt:

"TABLE PG####.DB2_Table IN PG####.DB2_Tablespace" PCL1038 schreibt dann bei der Option DB2 im obigen Beispiel folgende Formatdatei:

        ----+----1----+----2----+----3----+----4----+----5----+--6
        CREATE
         TABLE  PG####.DB2_Table
          (
               ZEITRAUM           CHAR (4)    NOT NULL,
               TARIF              CHAR (2)    NOT NULL,
               DYNAMIK            CHAR (1)    NOT NULL,
               ANZAHL_VETRAEGE    DEC (15,0)  NOT NULL,
               JAHRESBEITRAG      DEC (15,3)  NOT NULL
          )
         IN  PG####.DB2_Tablespace
        ;

Ausgabedatei ASSDSnn für Cobol- und DB2-Format:

        ----+----1----+----2----+----3----+----4----+----5----+--6
        86Q4T10................
        86Q4T11................
        86Q4T20................
        86Q4T21................
        86Q4T30................
        86Q4T40................
        86Q4T50................
        86Q4T60................
        86Q4T70................
               Klammer4n.png

zwei gepackte Zahlen

PARADOX - Format

Im PARADOX-Format werden sowohl Schlüsselinhalte wie auch Werteinhalte in Gänsefüßchen eingeschlossen. Die einzelnen Felder werden duch Kommata getrennt, Dezimalzeichen ist der Punkt, nur das negative Vorzeichen erscheint, und zwar vorne, führende Nullen erscheinen nicht.

        FORMAT-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "ZEITRAUM            ","C","4","","N"
        "TARIF               ","C","2","","N"
        "DYNAMIK             ","C","1","","N"
        "ANZAHL_VETRAEGE     ","N","6","","N"
        "JAHRESBEITRAG       ","N","14","3","N"

        PC-DATEI

        ----+----1----+----2----+----3----+----4----+----5----+--6
        "86Q4","T1","0","1918","456473.683"
        "86Q4","T1","1","4004","841630.533"
        "86Q4","T2","0","213","22369.578"
        "86Q4","T2","1","57","4290.210"
        "86Q4","T3","0","-2037","109921.688"
        "86Q4","T4","0","-2359",""
        "86Q4","T5","0","-17","3366.728"
        "86Q4","T6","0","-186","-15862.990"
        "86Q4","T7","0","91","7512.090"

4.4 Selektion und Zusammenfassung von ASS-Druckoutput PCL1078

FUNKTIONSBESCHREIBUNG

Wird ASS als Instrument zur Bereitstellung von Standardlisten für die verschiedenen Organisationseinheiten eines Unternehmens eingesetzt, so erfordert dieser Einsatz häufig eine Umsortierung und/oder Zusammenfassung des Druckoutputs der ASS-Auswertungsprogramme.
So können Anwendungsfälle auftreten, in denen gezielt Listseiten einer ASS-Auswertung für bestimmte Empfänger selektiert und auf eigene Druckausgabedatei ausgegeben werden sollen.
Werden themen- oder arbeitsgebietsübergreifende Auswertungen vorgenommen, so werden diese in der Regel über getrennte Listanforderungen erreicht. In jeder dieser Listanforderungen treten aber die gleichen Organisationseinheiten auf, nach denen die Daten aufgeschlüsselt und die Listen verteilt werden sollen.
Belässt man die Druckausgabe in der Form, wie sie durch das Programm PCL1016 erzeugt wurde, so folgen zunächst die Daten der einzelnen Organisationseinheiten zum ersten der gewünschten Themengebiete, dann zum zweiten usw. .
Gewünscht wird aber eine Zusammenstellung der nach Themengebieten, z.B. Sparte, getrennten Listseiten einer dieser angeforderten Organisationseinheiten. Zu einer jeden Geschäftsstelle sollen z.B. auf der ersten Seite die Ergebnisse im Bereich Leben, auf der zweiten Seite im Bereich Sach ausgegeben werden. Es soll auf diese Weise eine einzige, neu zusammengemischte Ausgabedatei entstehen.

Mit dem Programm PCL1078 steht nun ein Hilfsmittel zur Verfügung, das sowohl die oben gezeigte Selektion von Listseiten einer Output-Datei auf getrennte Ausgabedateien als auch das Mischen von Listseiten mehrerer Output-Dateien nach bestimmten Schlüsselkriterien zu einer Ausgabedatei ermöglicht. Beim Mischen gibt es noch zusätzlich die Möglichkeit die Zielliste frei zusammenzustellen, das sogenannte Merge-Edit.
Um in dieser Weise die Listausgaben umgestalten zu können, erwartet PCL1078 das Vorhandensein von Trennsätzen vor den einzelnen Listseiten der Ausgabedateien von PCL1016.

Die Ausgabe von Trennsätzen wird erreicht, indem man in den betreffenden Anforderungen die Option "Jeder Start mit Startseite" wählt und eine Listklasse anfordert, die bei der ASS-Installation als spezielle Klasse für diese Output-Umgestaltung eingerichtet wurde (Verschickklasse). Die angeforderte Protokollklasse muss von der Listklasse verschieden sein.

Mit dem Dienstprogramm PCL1016 werden dann die Anforderungen ausgeführt und die Liste auf die reservierte Listklasse ausgegeben. Die Ausgabe ist identisch mit der normalen Ausgabe, außer dass Trennsätze eingefügt werden. Trennsätze enthalten an den ersten beiden Positionen die Zeichenkombination &&. (Die erste Position ist normalerweise die Stelle für das Druckersteuerzeichen (ASA-Zeichen).) Dann folgt der Anforderungsname, der Inhalt des ersten echten Kopfschlüssels und die erste Kommentarzeile der Anforderung.

Anschließend kann mit dem Dienstprogramm PCL1078 entweder aus einer Datei selektiert werden oder mehrere Dateien zusammengemischt werden. Die Selektion und das Merge-Edit werden über Vorlaufkarte gesteuert. Für das Merge-Edit definiert man lediglich in der Zielliste die Fenster und gibt zu diesen noch die Fenster in der Quelliste an. Die Fenster sind stets rechteckig und dürfen sich in der Zielliste nicht überlappen.

ABLAUF
Datenflussplan (ohne Option MERGE)
PCL1078_1_Ablauf.png
Datenflussplan (mit Option MERGE)
PCL1078_2_Ablauf.png
Dateibeschreibung
DD-Name/
Link-Name
Format/Recl Dateiname ASS-PC Beschreibung
ASSCO FB 80$ASSVLK/T1078.VLKVorlaufkarte
LISTEFBA 133$ASSPTK/PCL1078.PTKProtokoll,
80-spaltig in den Spalten 7 bis 86
ASSIN*$ASS/ASSINVerschickklasse, die durch PCL1016 erstellt wurde
ASSINmm*$ASS/ASSINnnVerschickklasse, die durch PCL1016 erstellt wurde
mm = 01 .. 50
ASSUT*$ASS/ASSUTMerge von Verschickklassen
ASSUTnn*$ASS/ASSUTnnSelektion aus Verschickklasse
nn = 01 .. 99
nn ist die nn. Selektionsangabe in der Vorlaufkarte
LISTDB*$ASS/LISTDBAusgabedatei bei Option LISTDB
*  Das Dateiformat ist installationsabhängig und identisch
   mit dem der in der JCL von PCL1016 unter LISTEnn
   zugewiesenen Ausgabedatei.
VORLAUFKARTE

Achtung: Es werden nur die ersten 72 Zeichen innerhalb jeder Karte berücksichtigt.

Die Optionen werden ab der ersten Karte angegeben und untereinander durch Kommata getrennt. Falls keine Optionen erforderlich sind, so bleibt die erste Karte leer. Standardmäßig gelten alle Optionen als nicht angegeben.

Inhalt Aktion
OHNE_TRENNSATZTrennsätze werden nicht ausgegeben
LISTDB Ausgabe auf die Datei LISTDB, die mittels PCL1095 für den Berichtsdialog geladen werden kann
NAME = xxxxxxxName des Elementes für den Berichtsdialog (alphanumerisch von maximaler Länge 8);
diese Option ist nur in Verbindung mit der Option LISTDB zulässig
MERGE = nn Keine Selektion, sondern 2 <= nn <= 50 PCL1016-Ausgabedateien mischen
RL = rrr Unter MVS die logische Satzlänge für die Ausgabe (außer MERGE-EDIT) mit 50 <= rrr <= 400
SORT = z vs bsFür Merge-Edit Angabe von bis zu 10 Sortkriterien: Zeile, Von-Spalte und Bis-Spalte. Standard für eine nicht angegebene Von-Spalte ist 1 und für die Bis-Spalte das Zeilenende.

Die Selektionskriterien werden ab der zweiten Karte aber direkt hinter den Optionen angegeben und zwar pro Karte genau eines. Falls die Angabe Sonderzeichen oder Leerzeichen enthält, muss sie in ' oder " angegeben werden.

Format für Merge-Edit

In der ersten Zeile ist die MERGE-Option anzugeben und ab der zweiten Zeile stehen die Angaben für Merge-Edit und zwar immer genau eine pro Zeile. Die Option OHNE_TRENNSATZ braucht nicht angegeben werden, da keine Trennsätze ausgegeben werden können.

Format_merge_edit.png

Die Zeilen werden pro Seite von oben nach unten und die Spalten pro Zeile von links nach rechts jeweils bei eins beginnend durchnumeriert. Das ASA-Steuerzeichen und die Trennsätze der Verschickklasse werden bei der Numerierung als nicht existent angesehen. Die maximale Breite ist die Breite der Verschickklasse ohne das ASA-Steuerzeichen. Es können mehr Zeilen in einem Quellfenster angegeben werden als eine Seite enthält.

Die Quellfenster werden definiert durch:

und die Zielfenster durch:

Bei Angabe der Dateinummer nn wird das Quellfenster von der Datei ASSINnn gelesen und bei Angabe des Anforderungsnamens werden die Dateien ASSIN01 bis ASSINmm in dieser Reihenfolge bis zum ersten Erfolg durchsucht, wobei mm aus der Option MERGE = mm stammt.

Bei fehlenden Angaben gelten folgende Standardannahmen:

Die Angabe von Z/ZEILE, S/SPALTE, P/POS, - und , ist wahlfrei, falls die restlichen Angaben noch eindeutig zugeordnet werden können. Bei Angabe von Z/ZEILE, S/SPALTE oder P/POS kann auch die Reihenfolge abgeändert werden.

BEISPIELE:

Selektion:

Die folgende Anforderung wird mit dem Programm PCL1016 ausgeführt.

         ASS;
             AG:  19 ;
             KS:  1904 ;    /*  Direktion */
             ZS:  1903 ;    /*  Filiale  */
             SS:  WERTE = ( 1901 ) ,    /*  Anzahl Verträge  */
                  ZEITRAUM = ( 1289 ) ;
             OPT: LIKLASSE = 10 ,
                  STARTSEITE=1,
                  SST ;
         END;

In dem Arbeitsgebiet 19 sind 5 Direktionen eingespeichert. Zu jeder Direktion bestehen in etwa 150 Filialen, so dass über den Zeilenschlüssel FILIALE mehrere Seiten pro Direktion entstehen. Die Verschickklasse sei 10.

Da die Option Startseite (Batch-Sprache SST) angegeben ist, wird bei jedem Wechsel im ersten echten Kopfschlüssel (hier Direktion) ein Trennsatz mit dem betreffenden Schlüsselinhalt (Direktionsnummer) ausgegeben.

Die Direktion 5 kann so z.B. auf den Seiten 14 - 17 vorkommen. Über einen Lauf von PCL1078 kann nun durch entsprechende Selektionsanweisungen für die Direktionen in der Vorlaufkarte eine getrennte Listausgabe pro Direktion erreicht werden. Für die Direktion 5 entstünde so eine eigene Liste mit den Seiten 1 - 4, wenn in der Listanforderung zusätzlich die Option "Nummer der ersten Seite = 1" angefordert wurde.

Die zugehörige JCL wäre:

            ASSCO      ;Vorlaufkarte
Vorlaufkartenanweisungen
                       ;1.Zeile leer, da keine Option gewünscht
                5      ;Selektion der Direktion 5 --> 1.Selektion
                1      ;Selektion der Direktion 1 --> 2.Selektion

             LISTE     ;Protokoll
            ASSIN      ;sequentielle Datei,
                       ;        von PCL1016 unter LISTE10 erstellt
            ASSUT01    ;enthält Liste der Direktion 5
            ASSUT02    ;enthält Liste der Direktion 1
Merge

Die beiden folgenden Anforderungen werden mit dem Dienstprogramm PCL1016 in zwei verschiedenen Läufen ausgeführt. Die Verschickklasse sei 10.

            ASS;
                AG:  19 ;
                KS:  1903 = ( 'A' , 'B' ) ;    /*  Tarifgruppe  */
                ZS:  1904 = ( '0' ) ;    /*  Dynamik  */
                SS:  WERTE = ( 1901 ) ,    /*  Anzahl Verträge  */
                     ZEITRAUM = ( 1289 ) ;
                OPT: LIKLASSE = 10 ,
                     STARTSEITE=1,
                     SST ;
            END;

            ASS;
                AG:  19 ;
                KS:  1903 = ( 'A' , 'B' ) ;    /*  Tarifgruppe  */
                ZS:  1904 = ( '1' ) ;    /*  Dynamik  */
                SS:  WERTE = ( 1901 ) ,    /*  Anzahl Verträge  */
                     ZEITRAUM = ( 1289 ) ;
                OPT: LIKLASSE = 10 ,
                     STARTSEITE=2,
                     SST ;
            END;

PCL1016 erzeugt hier zwei Listen von jeweils zwei Seiten: Eine für die Tarifgruppe A und eine für B. Das Programm PCL1078 mischt nun diese beiden Listen so zusammen, dass zwei neue logische Listen entstehen, wobei für jede Tarifgruppe jeweils zwei Seiten mit Dynamik 0 und 1 ausgegeben werden.

Für die korrekte Seitenzählung ist es hier erforderlich, dass die erste Anforderung immer die Seite 1, die zweite immer die Seite 2 liefert. Daher muss im ersten Fall die Option "Nummer der ersten Seite = 1" , im zweiten Fall die Option "Nummer der ersten Seite = 2" angefordert werden.

Die zugehörige JCL wäre:

            ASSCO      ;Vorlaufkarte
             MERGE = 2 ;2 Dateien mischen
            LISTE      ;Protokoll
            ASSIN01    ;sequentielle Datei, 1. Anforderung
                       ;         von PCL1016 unter LISTE10 erstellt
            ASSIN02    ;sequentielle Datei, 2. Anforderung
                       ;         von PCL1016 unter LISTE10 erstellt
            ASSUT      ;enthält die 1. und 2. Anforderung gemischt
                       ;    also in folgender Reihenfolge:
                       ;        Tarifgruppe A  Dynamik 0
                       ;        Tarifgruppe A  Dynamik 1
                       ;        Tarifgruppe B  Dynamik 0
                       ;        Tarifgruppe B  Dynamik 1
Merge-Edit ohne SORT-Angabe

Falls die beiden Anforderungen aus dem obigen Beispiel zu Merge pro Seite höchstens 30 Zeilen liefern, so kann die Ausgabe

            Seite 1:  Tarifgruppe A aus 1. Anforderung
                      Tarifgruppe A aus 2. Anforderung
            Seite 2:  Tarifgruppe B aus 1. Anforderung
                      Tarifgruppe B aus 2. Anforderung

mit folgender Vorlaufkarte erreicht werden.

        MERGE = 2
            1    Z  1 - 30    S  1 -    P   1 1
            2    Z  1 - 30    S  1 -    P  31 1
Merge-Edit mit SORT-Angabe

Falls in den beiden Anforderungen aus dem obigen Beispiel nicht sichergestellt ist, dass die Tarifgruppen jeweils auch Zahlen liefern, also zum Beispiel die zweite Anforderung nur eine Seite für die Tarifgruppe B bringt. Damit aber nach dem Merge-Edit auf jeder Seite die gleiche Tarifgruppe steht, ist dies in der Vorlaufkarte mit der SORT-Option anzugeben. Angenommen die Tarifgruppe befindet sich auf jeder Seite in der Zeile 6 zwischen den Spalten 10 und 11. Dann sähe die Vorlaufkarte wie folgt aus.

        MERGE = 2 , SORT = 6 10 11
            1    Z  1 - 30    S  1 -    P   1 1
            2    Z  1 - 30    S  1 -    P  31 1

4.5 Paketierte Listausgabe PCL1086

PCL1086 wird nicht mehr unterstützt.

4.6 ASS-Output via E-Mail versenden PCL1125

PCL1125 bietet die Möglichkeit, ASS-Output (Listen, PC-Dateien, HTML-Dokument, PDF) via E-Mail zu versenden. Voraussetzung hierfür ist das Vorhandensein eines SMTP-Servers.

Datenflussplan
PCL1125_Ablauf.png
VORLAUFKARTE

  SENDER-EMAIL  E-Mail-Adresse, unter der die Nachricht versendet wird
  SENDER-NAME   Name, unter der die Nachricht versendet wird
  SERVER-NAME   Name des SMTP-Servers
  SERVER-PORT   TCP-Port des SMTP-Servers (Standard ist 25)
  PC-EXT        Dateierweiterung von ASSPC01 als Name im Mail-Anhang
                (Standard ist keine Dateierweiterung)
  ACCT-U        Optionale User-id für Authentifizierung am
                ESMTP-Server
  ACCT-P        Optionales Passwort für Authentifizierung am
                ESMTP-Server
  BS2000_MVS    Translate, EBCDIC BS2000 nach EBCDIC z/OS
  BS2000_ANSI   Translate, EBCDIC BS2000 nach ANSI
  MVS_BS2000    Translate, EBCDIC z/OS nach EBCDIC BS2000
  MVS_ANSI      Translate, EBCDIC z/OS nach ANSI
  OS2_ANSI      Translate, Microsoft Konsole nach ANSI
  EZA           Test unter Linux/Unix, MCL0649 statt MCLMAIL

In den Optionennamen kann statt des - der _ genommen werden, also zum Beispiel SENDER_NAME statt SENDER-NAME.

5 Reorganisationsmaßnahmen

5.1 Schlüssel im Arbeitsgebiet

5.1.1 Schlüssel im AG hinzufügen oder löschen PCL1011

FUNKTIONSBESCHREIBUNG

Sollen in einem Arbeitsgebiet zusätzliche Schlüssel verwendet oder bisher verwendete Schlüssel gelöscht werden, so ändert sich in der zugehörigen Summen-DB die Schlüssellänge des Root-Segmentes. Um die Konsistenz der vorhandenen Daten wiederherzustellen, sind nach einem solchen Eingriff umfangreiche Reorganisationsmaßnahmen erforderlich.

Eine Reorganisation erübrigt sich natürlich, wenn bisher keine Dateneinspeicherungen zum entsprechenden Arbeitsgebiet erfolgt sind. In diesem Fall kann die Änderung ohne jede Reorganisation über die Transaktion ST06 durchgeführt werden.

Der Einsatz von PCL1011 setzt eine gewisse Vertrautheit mit dem Themenbereich 'Folgeeinspeicherung' voraus. Eine Lektüre des entsprechenden Kapitels im ASS-Handbuch 'BETRIEB1' ist an dieser Stelle eventuell ratsam. Da dieses Programm für vielfältige Problemstellungen verwendet wird, erfolgt die grundsätzliche Beschreibung an dieser Stelle. Einzelheiten sind der Beschreibung der jeweiligen Funktion in diesem Handbuch zu entnehmen.

Das Programm geht davon aus, dass die bestehende Definition eines Arbeitsgebietes mit zugehöriger Summen-DB und evtl. sequentiellen Verdichtungsstufen sichergestellt wird. Nach der entsprechenden Änderung der Arbeitsgebietsdefinition (ST06) überträgt das Programm die Summendaten auf die neue Definition. Es ist darauf zu achten, dass nach einer Änderung bei Schlüsseln evtl. vorhandene Verdichtungsstufen angepasst werden müssen.

Sollen in einem Arbeitsgebiet nur Schlüssel gelöscht werden, so bietet sich hierfür die Option EINS_ZU_EINS an. In diesem Fall werden die alten Verdichtungsstufen 1 : 1 auf die neuen Verdichtungsstufen abgebildet (außer Index-Verdichtungsstufen). Achtung: es werden nur Werte übernommen, die eingespeichert sind (Datum erste Einspeicherung beim Wert gesetzt). Weiterhin ist bei der Definition des neuen Arbeitsgebietes darauf zu achten, dass nur verwendete Schlüssel entfernt werden und die entfernten Schlüssel in den betroffenen Verdichtungsstufen als nicht mehr ausgeprägt markiert werden. Weitergehende Änderungen dürfen nicht vorgenommen werden. Bei betroffenen gedrehten Verdichtungsstufen empfiehlt es sich u.U. zunächst die alten Drehungen zu löschen und dann die alte Drehung ohne die gelöschten Schlüssel neu einzugeben. Die genannten Einschränkungen gelten nicht für Index-Verdichtungsstufen.

Werden Schlüssel neu in das Arbeitsgebiet aufgenommen, so müssen sie ohne NO_SORT in jeder Verdichtungsstufe mit 1 deklariert werden. Nach der Reorganisation kann dann die 1 auf 0 abgeändert werden. Empfehlenswert ist auch die Pseudoausprägung (?! oder bei IBM ggf. ?Ü). Sollen nur neue Schlüssel aufgenommen werden, so ist NO_SORT wesentlich performanter und die Schlüssel können auch schon vor der Reorganisation mit 0 deklariert werden. Ab der Version 7.22 von PCL1011 ist bei NO_SORT auch noch KEINH möglich.

Sollen in einem Arbeitsgebiet nur neue Schlüssel aufgenommen werden, so kann für die neuen Schlüssel ein Schlüsselinhalt vorgegeben werden (s. u. bei der Option KEINH).

VORLAUFKARTE: Allgemeine Optionen

Generell werden aus jeder Vorlaufkarte nur die ersten 72 Zeichen interpretiert. Bei Angabe mehrerer Optionen müssen diese durch Leerzeichen oder ein Komma getrennt werden. Es können beliebig viele Karten angegeben werden. Dabei müssen allerdings Optionen über die Kartengrenze durch Kommata getrennt werden.

Option Bedeutung Voreinstellung
UPDAT UPDATE Parameterdatenbanken UPDAT
NUPDAT kein UPDATE der Parameterdatenbanken. Es erfolgt ein gezielter Programmabbruch UPDAT
MINUTEN=nnnnmaximale Laufzeit in Minuten 1000000
SAETZE=nnnnnnMaximal zu verarbeitende Sätze aus Schnittstelle 900000000
SORTMAX=nnnnmaximal pro SORT-Aufruf zu sortierende Sätze 2000000
VST_ERGAENZ Erzeugung von neuen Verdichtungsstufen (siehe in 5.2.1). nicht VST_ERGAENZ
VST_ERGAENZ_AB (mmjj) wie VST_ERGAENZ, es werden nur Zeiten >= mmjj übernommen, bei Tages-AG ttmmjj
LIST Anlisten der Umsetzung für die Verdichtungsstufen
Achtung: Es wird nicht reorganisiert !
nicht LIST
BASIS Verdichtungsstufen werden jeweils aus der zu jedem Wert entsprechenden Basisverdichtungsstufe generiert.
Nur für Reparaturmaßnahmen nach Rücksprache mit der zentralen ASS-Wartung geeignet.
nicht BASIS
AGNEU vollständige Reorganisation von einem Quellarbeitsgebiet auf ein kleineres Zielarbeitsgebiet (siehe 5.2.6)nicht AGNEU
NO_SORT bei Vergrößerung der internen Schlüssellänge oder Hinzunahme von Schlüsseln (siehe 5.1.4)nicht NO_SORT
NUR_KST Vergrößerung der Zahl der Kommastellen bei Werten (siehe 5.2.7)nicht NUR_KST
EURO(WERT=nnnnn, DATUM=MMJJ, INDEX=n) Euroumrechn. (siehe 5.2.8)
ASSCV_DIREKTseq. Verdichtungsstufen von ASSCVnn statt ASSCV01 lesen, wobei nn der Ort ist nicht ASSCV_DIREKT
KY_COPYSchlüssel kopieren (s.u.)nicht KY_COPY
KY_COPY_LSchlüssel kopieren (s.u.)nicht KY_COPY_L
KY_COPY_LOGISCHSynonym für KY_COPY_L
EINS_ZU_EINSSchlüssel löschen (s.o)nicht
KEINH(...neue Schlüssel (s.5.1.1.1)
impliziert NO_SORT
nicht
PROTO_VDST_MENGENEs wird eine (i.a. sehr umfangreiche) Übersicht über Verdichtungsstufenmengen pro Wert in der alten und neuen Arbeitsgebietsdefinition erstellt (i.w. für Fehleranalysen, kann zusammen mit der Option LIST eingesetzt werden) nicht
PROTO_LANGEs wird eine Übersicht über die Änderungen des Arbeitsgebiets erstellt:
- neue / gelöschte Schlüssel
- veränderte interne Schlüssellängen
- neue / gelöschte Verdichtungsstufen
- Änderungen der Werteverwendung innerhalb von Verdichtungsstufen
- Änderung der Schlüsselreihenfolgen in Verdichtungsstufen (bei Änderungen werden alle ausgeprägten Schlüssel in der jeweiligen Reihenfolge protokolliert)
- Anzahl Monate im AG
- Länge des Keys der zugehörigen Summen-DB
nicht
FOLGESAETZEsiehe 5.3.7nicht FOLGESAETZE
TAG=nnsiehe 5.3.7 nicht TAG FOLGESAETZE
TAGES_KY=nTagesschlüssel auf ASS-Zeit abbilden
siehe 5.3.8
nicht TAGES_KY
AU_GEN siehe 5.3.9 nicht AU_GEN
AU_GEN_SRTsiehe 5.3.9 nicht AU_GEN_SRT
ISAMSORTwird ignoriert, ab Release 8.10 wird Sortierverfahren automatisch bestimmt
MENGE_DATUMsiehe 5.2.1nicht MENGE_DATUM
MENGE_DATUM_STRIKTsiehe 5.2.1nicht MENGE_DATUM_STRIKT
PROTO_DATUMProtokoll der Generierung der Verdichtungsstufen und Werte um Datum erweiternnicht PROTO_DATUM

Beispiele:


        NUPDAT   SORTMAX=1000000
            oder:
        NUPDAT,SORTMAX=1000000
            oder:
        NUPDAT,
        SORTMAX=1000000

BEISPIEL:

In einem Arbeitsgebiet soll nachträglich ein Schlüssel in der Basisverdichtungsstufe ergänzt werden. Dieser Schlüssel wird dem System über die Transaktion ST06 bekanntgemacht. Da für bereits gespeicherte Daten der neue Schlüssel nicht ausgeprägt vorliegt, muss auch die Pseudoausprägung '?!' angelegt werden.

Mittels PCL1011 wird der neue Schlüssel mit seiner Pseudoausprägung in die gespeicherten Daten eingearbeitet. Physikalisch wird auf der Summendatenbank x'FF' eingetragen. Bei einer Auswertung, die auf diese Verdichtungsstufe zugreift, wird der neue Schlüssel mit dem Inhalt '?!' angezeigt . (außer mit der Option KEINH(... --> vgl. Kap. 5.1.1.1).

5.1.1.1 Vorbelegung des Schlüsselinhalts: KEINH(...

Ein Arbeitsgebiet soll um neue Schlüssel erweitert werden. Den bestehenden Summendaten kann bei den neuen Schlüsseln kein Schlüsselinhalt zugeordnet werden. Werden neue Schlüssel in einer existierenden Verdichtungsstufe ausgeprägt, so erhalten die neu ausgeprägten Schlüssel den verdichteten Schlüsselinhalt X'FF', der dann in der Auswertung als Dummy-Ausprägung ?! (bei IBM ggf. ?Ü) angesprochen bzw. angezeigt wird. Werden in einem Arbeitsgebiet neue Schlüssel aufgenommen, so kann vorgegeben werden, welchem Schlüsselinhalt die existierenden Daten zugeordnet werden sollen. Hierzu ist in der Vorlaufkarte KEINH(Schlüsselnummer)='Schlüsselinhalt' für jeden neuen Schlüssel anzugeben, bei dem ein Schlüsselinhalt zugeordnet werden soll. Mehrere Angaben sind durch Komma zu trennen.

Beispiel:
Ein Arbeitsgebiet wird um die Schlüssel 101, 102 und 103 erweitert. Bei den Schlüsseln 101 und 103 soll als Schlüsselinhalt bei existierenden Daten ABC bzw. 001 angenommen werden. Dies wird erreicht durch

              KEINH(101)='ABC',
              KEINH(103)='001'

Die angegeben Schlüsselinhalte müssen auf der Schlüsseldatenbank existieren, damit ein verdichteter Schlüsselinhalt ermittelt werden kann. Pro Schlüssel kann maximal eine Schlüsselausprägung angegeben werden. Die vorgegebenen Schlüsselinhalte werden in Verdichtungsstufen nur dort eingesetzt, wo die entsprechenden Schlüssel auch ausgeprägt sind. D.h. bei einem derartigen Reorganisationslauf müssen die neuen Schlüssel in der neuen Arbeitsgebietsdefinition vor dem Lauf von PCL1011 mit der ST06 ausgeprägt werden.

Die oben beschriebene Reorganisation wird mit der impliziten Option NO_SORT (s.u.) durchgeführt, d.h. die Reihenfolge der Schlüssel muss bei der Defintion des neuen Arbeitsgebiets beibehalten werden. Die neuen Schlüssel dürfen jedoch an beliebiger Stelle eingefügt werden (auch in Index-Verdichtungsstufen und in Verdichtungsstufen mit gedrehter Schlüsselreihenfolge).

Die hier beschriebene Reorganisationsmaßnahme darf nicht mit anderen Reorganisationsmaßnahmen verknüpft werden. U.U. müssen komplexe Reorganisationen mit mehreren Läufen von PCL1011 erledigt werden.

5.1.1.2 Vorbelegung des Schlüsselinhalts: KY_COPY KY_COPY_L

Die Option KY_COPY ist für folgenden Anwendungsfall gedacht: In einem Arbeitsgebiet sollen neue Schlüssel ergänzt werden. Die Inhalte der neuen Schlüssel lassen sich aus Inhalten von bereits eingespeicherten Schlüsseln ableiten. (Es wird eine neue Vertriebsstruktur eingeführt, die am Anfang mit einer bereits vorhandenen alten Vertriebsstruktur identisch ist). Es brauchen in diesem Fall nur die verdichteten Inhalte der alten Schlüsselausprägungen auf die entsprechenden verdichteten Inhalte der neuen Schlüssel kopiert zu werden.

Bei der Option KY_COPY werden Verdichtungsstufen 1 : 1 umkopiert. Das hat für eine derartige Reorganisation folgende Konsequenzen:

Die Kopierangaben werden in weiteren Vorlaufkarten angegeben.

Beispiel:

        KY_COPY,
        SORTMAX=1000000    ; Größe nur für Unix und Windows gut
        KENR:  401 -> 601
        KENR:  402 -> 602
        KENR:  403 -> 603

Es wird der Schlüssel 401 auf 601, 402 auf 602 und 403 auf 603 kopiert.

Beispiel für ausgeprägte Schlüssel. In der alten Verdichtungsstufe 17 seien die Schlüssel 300, 301, 401, 402 ausgeprägt. In der neuen Verdichtungsstufe 17 können dann die Schlüssel 300, 301, 401, 402, 601, 602 ausgeprägt sein, nicht jedoch der Schlüssel 603, weil die Quelle für das Kopieren des verdichteten Inhalts von Schlüssel 603 in der alten Verdichtungsstufe 17 fehlt.

Um zu gewährleisten, dass die Inhalte von kopierten Schlüsseln die gleichen verdichteten Inhalte wie die Quell-Schlüssel erhalten, müssen die zu kopierenden Schlüssel analog mit dem Programm PCL1005 umkopiert werden (siehe Dokumentation von PCL1005).

Achtung: wenn Schlüssel in Arbeitsgebieten mit Hilfe von PCL1005 bzw. PCL1011 kopiert werden, dürfen in dieser Zeit keine Schlüsselinhalte bei den betroffenen Schlüsseln geändert werden (z.B. ST06 oder Folgeeinspeicherung).

KY_COPY_L

Bei KY_COPY_L wird der Quellschlüssel jeder KENR-Angabe in den Zielschlüssel übernommen. Es werden nur die Verdichtungsstufen reorganisiert, die sowohl den Quell- als auch den Zielschlüssel enthalten. Verdichtungsstufen ohne Quell- und Zielschlüsel bleiben unverändert. Die Reorganisation ist nicht möglich, falls eine Verdichtungsstufe nur den Zielschlüssel enthält. Dabei wird die Ausprägung der Quelle in das Ziel übernommen. Es sind bis zu 10 KENR-Angaben in einer Reorganisation möglich. Daher kann die Auswertung nach der Reorganisation ein anderes Ergebnis liefern.

technisches Beispiel:

        Schlüssel 9910: Ausprägung    A mit interner Nummer 1
                                      B mit interner Nummer 2
                                      C mit interner Nummer 3
        Schlüssel 9911: Ausprägung    A mit interner Nummer 3
                                      B mit interner Nummer 2
                                      C mit interner Nummer 1
                                      D mit interner Nummer 4

Die Auswertung ergebe dann folgendes Ergebnis

            Schlüssel 9910     Schlüssel 9911     Wert/0106
                  A                  C                1
                                     D                4
                  B                  B                2
                  C                  A                3

Nach der Reorganisation mittels PCL1011 und der folgenden Vorlaufkarte:

            KY_COPY_L
            KENR: 9910 -> 9911

liefert die obige Auswertung dann folgendes Ergebnis

            Schlüssel 9910     Schlüssel 9911     Wert/0106
                  A                  A                5
                  B                  B                2
                  C                  C                3

Die Schlüsseldatenbank bleibt natürlich durch diese Reorganisation unverändert. Es ändert sich in den Verdichtungsstufen der verdichtete Inhalt. Im obigen Beispiel also bei Schlüssel 9911.
Wäre dagegen beim Schlüssel 9910 noch die Ausprägung E eingespeichert aber nicht beim Schlüssel 9911 als Ausprägung vorhanden, so bricht die Reorganisation mit der Meldung ASS8995 ab. Ist dagegen die Ausprägung E auch beim Schlüssel 9911 vorhanden, egal ob eingespeichert, so ist die Reorganisation wieder möglich. Bei KY_COPY_L kann auch mit SUBSTR gearbeitet werden.

KENR: SUBSTR(Quell-Schlüssel-Nr,n,m) -> Ziel-Schlüssel-Nr wobei n den Offset und m die Länge des Substrings angeben.

Beispiel:
KENR: SUBSTR(4711,3,4) -> 5000

Bei SUBSTR gilt als Ziel-Schlüsselausprägung nur der durch SUBSTR abgegriffene Schlüsselinhalt der Quell-Schlüsselausprägung (z.B. SUBSTR('12345678',3,4) = '3456'). Die SUBSTR-Funktion kann z.B. benutzt werden, um einen Schlüsselinhalt auf mehrer Inhalte aufzuteilen (gesplitteten Schlüssel einführen).

Beispiel:
KENR: SUBSTR(4711,1,2) -> 5000
KENR: SUBSTR(4711,3,4) -> 5001

KY_COPY_L mit SUBSTR verhält sich analog zu KY_COPY_L ohne SUBSTR. Es gelten die gleichen Bedingungen bzw. Einschränkungen. Entsteht bei SUBSTR eine Schlüsselausprägung, die nur aus Blanks besteht, so wird diese auf die Dummy-Ausprägung (?!, bei IBM ggf. ?Ü) abgebildet. Die Dummy-Ausprägung muss ggf. mit der ST06 angelegt werden.

5.1.2 Interne Längen von Schlüsseln im AG verändern PCL1011

FUNKTIONSBESCHREIBUNG

Die interne Länge eines Schlüssels ist abhängig von der maximalen Anzahl seiner Ausprägungen. Beim Einrichten eines Arbeitsgebietes sind die Schlüssel daraufhin zu überprüfen. Wenn sich nach erfolgter Einspeicherung die Notwendigkeit ergibt, die interne Länge eines Schlüssels zu vergrößern, weil eben die Zahl seiner Ausprägungen die Byte-Grenze zu sprengen droht, ist eine Reorganisation mit dem Programm PCL1011 erforderlich.
ACHTUNG: Es müssen dann sämtliche Arbeitsgebiete reorganisiert werden, die den Schlüssel enthalten!
Beschreibung siehe Kapitel 5.3.6 in diesem Handbuch.

5.1.3 Reihenfolge der verwendeten Schlüssel im AG PCL1011 verändern

FUNKTIONSBESCHREIBUNG

Die Reihenfolge der verwendeten Schlüssel im AG ist für die Online-Auswertungsfähigkeit von großer Bedeutung, da auf den jeweils linkesten Schlüssel einer Verdichtungsstufe direkt positioniert werden kann. Oft ergeben sich erst später Erkenntnisse, wonach eine andere Reihenfolge der verwendeten Schlüssel vorteilhaft ist. In diesem Falle ist ebenfalls eine Reorganisation mit dem Programm PCL1011 erforderlich. Beschreibung siehe Kapitel 5.3.6. in diesem Handbuch.

5.1.4 Beschleunigte Reorganisation via NO_SORT PCL1011

In einigen Fällen von Reorganisationen ist der Werteteil der Summensätze nicht betroffen. Daher wurde für folgende Fälle mit Hilfe der Vorlaufkarte NO_SORT ein beschleunigtes Reorganisationsverfahren geschaffen:

Bei Angabe dieser Option ist der Programmablauf stark verkürzt. Insbesondere finden keinerlei Sortiervorgänge statt, der Werteteil der Summensätze bleibt vollkommen unverändert. Die Dateien SORTWK, ASSWK und ASSWONN benötigen daher keinen Platz (vergleiche Datenflussplan PCL1011). Des weiteren werden auch keine Checkpoints geschrieben, also sind auch die Checkpoint-Dateien überflüssig.

Achtung: NO_SORT darf nur für diesen Spezialfall angegeben werden. Außer den oben angegebenen Veränderungen darf das Arbeitsgebiet nicht modifiziert werden.

Bei Verwendung von NO_SORT werden Verdichtungsstufen, die auf der Summendatenbank vorhanden sind, jedoch nicht auf der Steuerungsdatenbank im Summendatenbankabzug überlesen, d.h. nach der Reorganisation ist die Summendatenbank um diese bereinigt.

5.1.5 Reparatur von Summendaten PCL1011

In externen Schnittstellen dürfen in einem Summensatz keine Duplikate bezüglich Wertenummer und Wertezeit enthalten sein. Aus Performancegründen fehlt die entsprechende Duplikatsbehandlung in PCL1001. Die genannten Duplikate können zu entsprechenden Duplikaten in Summensätzen in Verdichtungsstufen führen. Wird eine derartige Situation erkannt, so kann u. U. eine Datenreparatur mit PCL1011 durchgeführt werden. Hierfür sind die Optionen DOPPELT_WERT bzw. DOPPELT_DIR vorgesehen. Ein entsprechender Einsatz von PCL1011 sollte nur nach Rücksprache mit dem ASS-Team erfolgen.

5.2 Verdichtungsstufen im Arbeitsgebiet

5.2.1 Verdichtungsstufen im AG hinzufügen, ändern oder löschen PCL1011

FUNKTIONSBESCHREIBUNG

Zu den wesentlichen Leistungsmerkmalen von ASS gehört die flexible Handhabung der Verdichtungsstufen. Das Programm PCL1011 bietet die Möglichkeit, mittels einer Reorganisation die Verdichtungsstufen vom bestehenden in einen neu definierten Zustand zu überführen. Auf diese Weise können Verdichtungsstufen gelöscht oder geändert sowie zusätzliche Verdichtungsstufen aus den bestehenden generiert werden. Eine Änderung kann im Hinzunehmen oder Weglassen von Schlüsseln und/oder Werten bestehen.

Einzelheiten zur Abwicklung einer Reorganisation mit dem Programm PCL1011 können dem Kapitel 5.1.1. entnommen werden. Sollen in einem Arbeitsgebiet Verdichtungsstufen rückwirkend ergänzt werden, bietet PCL1011 eine weitere Möglichkeit, mit der im Vergleich zu einer Reorganisation sehr viel Rechenzeit eingespart werden kann.

Wird in der Vorlaufkarte von PCL1011 'VST_ERGAENZ' angegeben, so wird von PCL1011 eine interne Schnittstelle erzeugt, die nur die neuen Verdichtungsstufen enthält.
Diese interne Schnittstelle kann dann mit dem Programm PCL1002 additiv geladen werden (vgl. 'VST_ERGAENZ in Handbuch Betrieb I', und dort die Bemerkung zu Linux/Unix/Windows).
Sollen nur aktuelle Zeiträume übernommen werden, so kann mit VST_ERGAENZ_AB (mmjj) ein Zeitpunkt angegeben werden, ab dem die Daten übernommen werden. Es werden nur Zeiten >= mmjj übernommen. Wird VST_ERGAENZ_AB angegeben, so gilt auch VST_ERGAENZ als angegeben. Wird explizit mit Zeiten vorgegeben (s.u.), wie die neuen Verdichtungsstufen generiert werden sollen, so müssen diese Angaben genau so sein wie ohne die Option VST_ERGAENZ_AB. Bei Tages-Arbeitsgebieten ist das Datum in der Form ttmmjj anzugeben. Folgeverarbeitungen sind analog zu VST_ERGAENZ durchzuführen.

UMSETZUNG VON VERDICHTUNGSSTUFEN

Standardmäßige Umsetzung

Bei der Reorganisation ermittelt das Programm PCL1011 aufgrund bestimmter Algorithmen, aus welchen bestehenden Verdichtungsstufen neue Verdichtungsstufen und Werte abgeleitet werden können.

Die standardmäßige Umsetzung arbeitet dabei nach folgender Methode:

Lässt man PCL1011 mit der Vorlaufkartenoption LIST laufen, so listet das Programm ohne jegliche Datenveränderung an, aus welchen Quellen die gewünschten Verdichtungsstufen und Werte abgeleitet werden (siehe auch VORLAUFKARTE).
Man kann also über diese Vorlaufkarte feststellen, ob die automatische Umsetzung für die jeweilige Reorganisation genügt.

Übersteuerung der standardmäßigen Umsetzung

In den meisten Fällen führt die automatische Auswahl zu den gewünschten Ergebnissen. Probleme könnten sich aber bezüglich Verdichtungsstufenmengen und stillgelegter Verdichtungsstufen ergeben.

Sollen neue Verdichtungsstufen einer Verdichtungsstufenmenge erzeugt werden, von denen einige stillgelegt sein sollen, so kann nicht mehr in jedem Fall mit dieser automatischen Verdichtungsstufenauswahl vorgegangen werden, da unter Umständen alle Werte in die aktiven Stufen gebracht werden, während die stillgelegten Stufen leer bleiben.

Ebenso kann bei zeitlich geteilten Verdichtungsstufen der automatische Algorithmus dazu führen, dass das System eine Stufe wählt, die die gewünschten Zeiten nicht enthält, da das Programm von mehreren zur Auswahl stehenden Stufen immer die kleinere nimmt. In solchen Fällen kann über Umsetzungsoptionen in den Vorlaufkarten eine Übersteuerung der Umsetzung erreicht werden.

Restriktionen bei der Umsetzungsübersteuerung

Für die Umsetzungsübersteuerung spielt der Begriff der Verdichtungsstufenmenge eine zentrale Rolle. Standardmäßig bilden alle Verdichtungsstufen mit gleichen ausgeprägten Schlüsseln und gleicher Reihenfolge eine Verdichtungsstufenmenge. Aus Konsistenzgründen müssen alle neuen Verdichtungsstufenmengen aus einer alten Verdichtungsstufenmenge erzeugt werden. Es wird daher verlangt, dass die Abbildung alt nach neu für alle neuen Verdichtungsstufenmengen angegeben wird. Dies bedeutet im einzelnen:

Für einfache Reorganisationswünsche (z.B. eine oder mehrere aktive Verdichtungsstufen zeitlich splitten) ist die Angabe für alle Verdichtungsstufen mühsam. Durch die Angabe der Option MENGE_DATUM werden folgende Vereinfachungen erreicht:

Der Begriff der Verdichtungsstufenmenge wird verfeinert:

Die Option MENGE_DATUM_STRIKT impliziert die Option MENGE_DATUM. Sind einige Verdichtungsstufen nur teilweise eingespeichert werden diese nur aus anderen generiert, wenn sich dadurch nicht der eingespeicherte Zeitraum vergrößert.

List- und Umsetzungsoptionen der Vorlaufkarte

Option LIST:

Falls man sich mittels der Option LIST die standardmäßige Umsetzung anlisten will, braucht man natürlich in der JCL keinerlei Dateizuordnungen für die Verdichtungsstufen, Arbeits- und SORT-Dateien vorzunehmen. Ein Programmlauf mit der Option LIST erfordert sehr wenig Zeit und Betriebsmittel.

Beispiel einer LIST-Ausgabe: 2 -> 5 ( 1 2 3 4 )

Aus einer bestehenden Verdichtungsstufe mit der Nummer 2 würden die Werte mit den Nummern 1, 2, 3 und 4 einer neuen Verdichtungsstufe mit Nummer 5 abgeleitet.

Umsetzungsoptionen:

Optional kann auf weiteren Karten je eine Umsetzung folgen. Die einzelnen Umsetzungen können in beliebiger Reihenfolge hinter den Vorlaufkarten für die übrigen Optionen angegeben werden.

Pro Umsetzungsanweisung ist eine eigene Vorlaufkarte mit folgendem allgemeinen Format anzugeben:

                 ....  ->  .... 

oder

                 ....  ->  ....  ( .... )

                 !         !       !
                 !         !       Wert(e)
                 !         !
                 !         neue Verdichtungsstufe(n)
                 !
                 alte Verdichtungsstufe(n)

Verdichtungsstufen und Werte werden über ihre Nummern angesprochen. Mehrere Werte werden durch ein Leerzeichen voneinander getrennt angegeben. Des weiteren ist es möglich, Mengen auf Mengen abzubilden, wobei jeder Stufe der neuen Menge ein Zeitaspekt zugeordnet werden kann, z.B.

MENGE (1 2) -> MENGE (3<=1297 4<=1299 5)

Bei Tages-Arbeitsgebieten muss das Datum in der Form TTMMJJ angegeben werden.

Diese Anweisung hat zur Folge, dass die Verdichtungsstufen 1 und 2 für alle Zeiten bis Dez.97 auf die Stufe 3, von Jan. 98 bis Dez.99 auf die Stufe 4 und für alle späteren Zeiträume auf die Stufe 5 abgebildet werden. Bei einer solchen Anweisung müssen natürlich die links und rechts angegebenen Stufen bezüglich alter bzw. neuer AG-Definition Mengen bilden. Die Verdichtungsstufen untereinander werden durch Leerzeichen getrennt. Lässt man den Zeitaspekt weg, z.B

MENGE (1 2) -> MENGE (3 4)

so wird im obigen Beispiel 1 nach 3 und 2 nach 4 umgesetzt.

Wenn auf einer Seite einer Umsetzanweisung 'MENGE' hingeschrieben wird, so muss auch auf der anderen Seite 'MENGE' stehen, z.B.

MENGE(1) -> MENGE(3 <=1299 4)

Auch mengenorientierten Umsetzanweisungen kann man Wertangaben hinzufügen, z.B.

MENGE(1 2) -> MENGE(3 <=1299 4) (101 102)

Zur Zeit wird verlangt, dass bei MENGE sämtliche neue Verdichtungsstufen aufgeführt werden. Mit der Option 'PROTO_VDST_MENGEN' kann man sich alle Verdichtungsstufenmengen pro verwendetem Wert gemäß alter und neuer AG-Definition ausgeben lassen.

BEISPIELE:

Es sei folgendes Arbeitsgebiet gegeben:

    Sätze   Verd.-     S c h l u e s s e l   W e r t e     Zeitraum
            stufen
            Nummer     1   2   3   4   5     1  2  3  4
   4000000     1       +   +   +   +   +     +  +  +       1975 - 1986
    500000     2       +   +   +   +         +  +  +  +    1987 -
    100000     3       +   +   +       +           +  +    1975 - 1986
         0     4       +   +   +             +  +  +  +    1975 - 1986
         0     5       +   +   +             +  +  +  +    1987

Aus Tuninggründen sollen die beiden Verdichtungsstufen 4 (bis 1986) und 5 (ab 1987) hinzukommen, um die Auswertung bestimmter Listanforderungen zu beschleunigen. Die Verdichtungsstufe 4 muss stillgelegt sein, da 4 und 5 eine Verdichtungsstufenmenge bilden, in denen gleiche Werte mehrmals auftreten.

Die automatische Umsetzung würde die Verdichtungsstufe 5 aus der Stufe 2 ableiten. Die stillgelegte Stufe 4 bliebe leer. Um das angestrebte Ergebnis zu erhalten, müssen daher folgende Vorlaufkartenanweisungen vorgenommen werden:

       VST_ERGAENZ
       1 -> 4 ( 1 2 3 )
       3 -> 4 ( 4 )
       2 -> 5

In diesem Fall darf die Umsetzanweisung "1 -> 4 (1 2 3)" nicht zu "1 -> 4" verkürzt werden, da die Verdichtungsstufe 4 in mehreren Vorschriften erscheint. Ebenso ist die Umsetz-Anweisung "2 -> 5" erforderlich, da jede Verdichtungsstufe einer neuen Menge anzugeben ist.

BESONDERHEITEN:

Ein Wert wird nur dann korrekt übernommen, wenn sich die interne Wertenummer nicht verändert. Dies kann man erreichen, wenn man zunächst die neuen Verdichtungsstufen mit den verwendeten Werten bzw. die neu hinzugekommenen Werteverwendungen anlegt, und anschließend die nicht mehr benötigten Werteverwendungen bzw. Verdichtungsstufen löscht.

5.2.2 Löschen von Verdichtungsstufen PCL1007

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1007 können bestehende Verdichtungsstufen aus der Summen- und Steuerungsdatenbank gelöscht werden. Soll eine Verdichtungsstufe auf sequentiellem Datenträger komplett gelöscht werden, so muss lediglich die betreffende Verdichtungsstufe in der Definition des Arbeitsgebietes gelöscht werden (ST06 mit Master-Passwort). Anschließend kann die sequentielle Datei mit den üblichen Betriebssystemmitteln gelöscht werden.

ABLAUF
PCL1007_Ablauf.png
1  Parameter-DB

   DST001
   DST002
   DST003


2  Summen-DB

   DST110
   DST111 (DLI)
   ...
   bis
   DST600
   DST601 (DLI)

   (nur die tatsächlich
    gebrauchten Summen-DBs)

3  Vorlaufkarte
   SYSIN
   $ASSVLK/T1007.VLK (PC)

4  Protokoll
   PROTO
   $ASSPTK/PCL1007.PTK

5  Sequ. Verd.-St.
   ASSCO01
      bis
   ASSCO99
   (nur benötigte Verd.-Stufen)
   $ASS/ASSCOnn

    ev. Ladebestand
    AUS analog
    PCL1002 (siehe 5.2.3)
    $ASS/AG_SUM.UPD (PC)
VORLAUFKARTE

Für den Programmlauf ist eine Vorlaufkarte mit folgendem Aufbau anzugeben:

Inhalt Bemerkung
AGNR=nnn, Nummer des Arbeitsgebietes
Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
nnn = Zahl zwischen 01 und 300
VERD.-NR=nnnnnNummer der Verdichtungsstufe
Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
nnnnn = Zahl zwischen 00001 und 32767 (5-stellig)
LADEBESTANDsiehe 5.2.3

Es können bis zu 50 Vorlaufkarten verarbeitet werden. Die Reihenfolge der Arbeitsgebiete oder Verdichtungsstufen spielt dabei keine Rolle.

BEISPIEL: Im Arbeitsgebiet 9 sollen die Verdichtungsstufen 17 und 21 gelöscht werden.

        AGNR=9,VERD.-NR=17
        AGNR=9,VERD.-NR=21

Besonderheiten unter Windows/Linux:

Die erzeugten sequentiellen Verdichtungsstufen werden im $ASS-Verzeichnis unter dem Namen ASSCOnn angelegt. (nn ist Ort der sequentiellen Verdichtungsstufe) Um sie für die Auswertung verfügbar zu machen müssen sie in das $ASSDB-Verzeichnis kopiert und in ASSCVnn umbenannt werden. Bei aktiven Arbeitsgebiets-Cache muss auch das PCL1046 laufen. Grundsätzlich ist jedoch die Verwendung von sequentiellen Verdichtungsstufen unter Windows oder Linux nicht zu empfehlen.

5.2.3 Verdichtungsstufen auf sequentielle Dateien auslagern PCL1007

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1007 können Verdichtungsstufen aus der Summen-DB auf sequentielle Dateien ausgelagert werden.

Dazu sind folgende Schritte erforderlich:

Die Beschreibung des Programmablaufs sowie die Angabe der Vorlaufkartenoptionen ist Kapitel 5.2.2. zu entnehmen. Werden Verdichtungsstufen auf sequentielle Dateien ausgelagert, so wird zunächst die jeweilige Verdichtungsstufe erzeugt und anschließend die betreffende Verdichtungsstufe auf der jeweiligen Summendatenbank gelöscht. Es wird Verdichtungsstufe für Verdichtungsstufe abgearbeitet. Das Löschen von Summensätzen aus einer Datenbank ist i.a. eine vergleichsweise aufwendige Operation. Bei großen Verdichtungsstufen kann es dadurch zu längeren Programmlaufzeiten kommen. In diesem Fall ist es günstiger, die Summendaten einer Summendatenbank zu splitten:

Diese Verarbeitung wird durch die Option LADEBESTAND ausgelöst. Wird die Option LADEBESTAND benutzt, so gilt folgende Einschränkung:
In einem Programmlauf von PCL1007 können nur Verdichtungsstufen verarbeitet werden, die sich auf einer Summendatenbank befinden. Dies ist insbesondere bei verteilten Summendaten (mehrere Summen-Datenbanken pro Arbeitsgebiet) zu beachten. Weiterhin ist beim Laden von Summendaten mit Hilfe von PCL1013 zu beachten, dass dort in der Vorlaufkarte die Nummer der zu ladenden Summendatenbank anzugeben ist (stimmt i.a. mit der Arbeitsgebietsnummer überein, bei sekundären Summen-Datenbanken weicht die Nummer ab).

Der Ladebestand wird auf die Datei AUS ausgesteuert. Diese Datei hat die gleichen Eigenschaften wie die Datei AUS von PCL1002 und ist dort beschrieben.

BEISPIEL:

Im Arbeitsgebiet 9 sollen die Verdichtungsstufen 17 und 21 auf sequentielle Dateien ausgelagert werden, wobei ein neuer Ladebestand erzeugt werden soll:

        LADEBESTAND
        AGNR=9,VERD.-NR=17
        AGNR=9,VERD.-NR=21

5.2.4 Sequentielle Verdichtungsstufen auf Ladeformat der Summendatenbank umformen PCL1033

FUNKTIONSBESCHREIBUNG

Verdichtungsstufen können auf sequentielle Datenträger gespeichert werden. Dies kann schon unmittelbar bei der Erst- oder Folgeeinspeicherung (PCL1002) veranlasst werden oder aber später durch Reorganisation über PCL1007 nachgeholt werden. Jede Verdichtungsstufe wird in eine eigene Datei gespeichert.

Soll nun eine auf sequentiellem Datenträger gespeicherte Verdichtungsstufe in die Summendatenbank aufgenommen werden, so müssen die Sätze dieser Verdichtungsstufe zunächst auf das Format der Sätze der Summendatenbank gebracht werden. Diese Aufgabe erledigt das Programm PCL1033.

Anschließend können die umgeformten Sätze mit dem Programm PCL1013 in die Summendatenbank gespeichert werden.

Achtung: Ist die Summendatenbank nicht leer, so kann nicht mehr mit einem Lade-PSB gearbeitet werden (IBM).

Achtung: Dieses Dienstprogramm kann derzeit nicht bei VSAM- und BS2000/ISAM-Installationen eingesetzt werden.

Zum Schluss muss noch in der Steuerungs-DB der ORT der Verdichtungsstufe richtiggestellt werden (Masterpasswort).

ABLAUF
Datenflussplan
PCL1033_Ablauf.png
3  sequentielle Verdichtungsstufe(n)
   //ASSCV
   $ASS/ASSCV (PC)

4  Vorlaufkarte
   //VORLAUF
   $ASSVLK/T1033.VLK (PC)
   Auf Dummy setzen, nur
   bei Bedarf aktivieren

1  Liste f. Protokoll
   //LISTE
   $ASSPTK/PCL1033.PTK (PC)

2  Eingabe f. PCL1013
   //ASSAUS
   $ASS/AG_SUM.UPD (PC)
VORLAUFKARTE

Eine Vorlaufkarte wird nur benötigt, wenn in die betreffende Summendatenbank noch keine Einspeicherung erfolgt ist. In der Regel ist also die Vorlaufkarte auf DUMMY zu setzen. Es werden nur die Spalten 1-72 innerhalb der Vorlaufkarte berücksichtigt.

Inhalt Bemerkung
MITKOPF, Obligatorisch (bei Ersteinspeicherung).
Bei Ersteinspeicherung ist ein Kopfsatz für die zu ladende Summendatenbank erforderlich. Dieser wird bei einer gültigen Vorlaufkarte erzeugt.
KEYLEN=nnnObligatorisch (bei Ersteinspeicherung).
Gibt die Schlüssellänge der zu ladenden Summendatenbank an.
nnn = maximal 3-stellige Ziffer

Wenn mehrere Dateien verarbeitet werden, sollten diese aufsteigend nach Verdichtungsstufennummern konkateniert werden, damit die Ausgabe sortiert vorliegt.

BEISPIEL:

MITKOPF, KEYLEN = 37

Besonderheiten unter Windows/Linux:

Die sequentiellen Verdichtungsstufen sind im Datenbankverzeichnis $ASSDB unter den Namen $ASSDB/ASSCVnn gespeichert, wobei nn dem Ort der sequentiellen Verdichtungsstufe entspricht. PCL1033 erwartet die Daten aller betroffenen sequentiellen Verdichtungsstufen in einer einzigen sequentiellen Datei $ASS/ASSCV. Die Verdichtungsstufen müssen in dieser Datei aufsteigend nach Verdichtungsstufennummer sortiert sein. Alle betroffenen sequentiellen Verdichtungsstufendateien müssen also in der richtigen Reihenfolge aus den Dateien der sequentiellen Verdichtungsstufen $ASSDB/ASSCVnn in die Datei $ASS/ASSCV kopiert werden.

5.2.5 Werteverwendungen in einer Verdichtungsstufe rückwirkend hinzufügen oder löschen PCL1011

FUNKTIONSBESCHREIBUNG

Wenn eine Verdichtungsstufe durch zahlreiche Werteverwendungen überlastet ist, kann ein Löschen von Werteverwendungen oder ein Aufteilen auf mehrere Verdichtungsstufen vorteilhaft sein. Vergleiche auch Handbuch 'EINRICHTEN EINES ARBEITSGEBIETES IM DIALOG'.

Mit dem Programm PCL1011 können Werteverwendungen im Rahmen einer generellen Reorganisation in Verdichtungsstufen hinzugefügt oder gelöscht werden. Werteverwendungen können dabei nur korrekt übernommen werden, wenn die interne Wertenummer unverändert bleibt.

Löscht man z.B. einen Wert Prämie zunächst aus allen Verdichtungsstufen eines Arbeitsgebietes, um ihn nachträglich in anderen Stufen wieder neu aufzunehmen, so vergibt ASS in diesem Fall, da ja der Wert zunächst ganz gelöscht wurde, eine neue interne Wertenummer.

Um diesen Effekt zu vermeiden, sollte zunächst die Aufnahme des Wertes in den anderen Verdichtungsstufen erfolgen. Erst dann sollte gelöscht werden. Zum Einsatz von PCL1011 siehe Kapitel 5.2.1.

BEISPIEL:

Eine Verdichtungsstufe mit 5 Schlüsseln und 8 verwendeten Werten soll durch Aufteilung auf 2 Verdichtungsstufen mit je 4 Werten entlastet werden. Bei der Neudefinition des Arbeitsgebietes (Step 3 in 5.3.6.) wird die bestehende Verdichtungsstufe kopiert. Danach werden in beiden Verdichtungsstufen die überflüssigen Werteverwendungen gelöscht (Interne Nummern der verwendeten Werte bleiben erhalten!).

        AG alt:   Verd.-Stufe   Schlüssel    Verwendete Werte
                       1        1 2 3 4 5    1 2 3 4 5 6 7 8

        AG neu:   Verd.-Stufe   Schlüssel    Verwendete Werte
                       1        1 2 3 4 5    1 2 3 4
                       2        1 2 3 4 5            5 6 7 8

5.2.6 Arbeitsgebiet kopieren für die PC-Verteilung PCL1011

Im Rahmen für die PC-Verteilung kann mit der Option AGNEU ein umfangreiches Arbeitsgebiet (im folgenden altes genannt) in ein kleineres Arbeitsgebiet (im folgenden neues genannt) geladen werden, damit dieses dann besser für die PC-Verteilung genutzt werden kann. Unter ASSCALT gibt man den Abzug des alten Arbeitsgebietes (PCL1004) an, unter ASSDALT gegebenenfalls den Abzug der alten Summendatenbank (PCL1024 oder PCL1124), unter ASSCV01 gegebenenfalls die alten sequentiellen Verdichtungsstufen und unter ASSCNEU den Abzug des neuen Arbeitsgebietes (PCL1004).
Damit das neue Arbeitsgebiet aus dem alten geladen werden kann, wird das Datum der ersten Einspeicherung und die Anzahl der Monate jeweils überschrieben. Bei verwendeten Werten, die in beiden Arbeitsgebieten enthalten sind, wird auch die relative Wertenummer überschrieben und verwendete Werte, die nur im neuen Arbeitsgebiet vorkommen, werden gelöscht.

5.2.7 Anzahl Nachkommastellen bei Werten vergrößern PCL1011

Mit der Option NUR_KST kann man die Anzahl der Kommastellen bei verwendeten Werten in Verdichtungsstufen vergrößern. Wird die Option NUR_KST verwendet, so ist keine weitere Reorganisation zulässig (wird im Programmm abgeprüft), d. h. es darf in der ST06 nur die Anzahl der Kommastellen bei den betreffenden Werten vergrößert werden. Sonstige Änderungen (etwa in der AG-Definition) sind unzulässig.
Eine Reduktion der Zahl der Nachkommastellen ist unzulässig. Beschreibung siehe Kapitel 5.3.6. in diesem Handbuch.

5.2.8 Summendaten in Euro umrechnen PCL1011

Das Programm PCL1011 bietet die Möglichkeit, alle Wertinhalte ab einem bestimmten Stichtag von der originalen Währung in Euro umzurechnen. Dazu ist für jeden umzurechnenden Wert eine Vorlaufkarte mit folgendem Inhalt erforderlich:

EURO(WERT=nnnnn, DATUM=MMJJ, INDEX=n)

Beschreibung der Vorlaufkarte

Beispiel:

EURO(WERT=100, DATUM=0102, INDEX=1)

Die Euro-Angaben müssen in der ersten Zeile beginnen.

In einem Programmlauf kann man bis zu 100 Werte umrechnen. Die Vorlaufkarten für die einzelnen Werte müssen dabei durch Kommata getrennt werden. Die Umrechnung der einzelnen Werte erfolgt Verdichtungsstufe für Verdichtungsstufe. Aus diesem Grunde kann es in der Auswertung wegen der auftretenden Rundungsfehler in Abhängigkeit von den benutzten Verdichtungsstufen zu Abweichungen kommen. Bei Existenz einer Basisverdichtungsstufe können diese Inkonsistenzen durch einen weiteren Reorganisationslauf mit PCL1011 und der Option BASIS beseitigt werden. Die Euro-Umrechnung kann nicht mit anderen Reorganisationsmaßnahmen zusammen durchgeführt werden.

Ändererungen an der Arbeitsgebietsdefinition sind nicht erforderlich, der alte und neue Arbeitsgebietsabzug sollten für diesen Programmlauf identisch sein Näheres zum Programm PCL1011 siehe Kapitel 5.3.6.

5.2.9 Wert kopieren PCL1011

Das Programm PCL1011 bietet die Möglichkeit, alle Wertinhalte eines Wertes auf einen neuen Wert im Arbeitsgebiet zu kopieren. Es wird dabei die gesamte Historie kopiert. Es wird nur innerhalb von Verdichtungsstufen kopiert, d.h. Quell- und Zielwert müssen synchron in allen Verdichtungssstufen eingerichtet werden. Der Zielwert muss ein neuer Wert im betreffenden Arbeitsgebiet sein, es dürfen für ihn noch keine Daten eingespeichert worden sein.

Wird ein Wert kopiert, so werden Summensätze länger. Dies kann u.U. zu Problemen führen, wenn die maximale Satzlänge von Summensätzen Systemgrenzen überschreitet. Ist das betreffende Arbeitsgebiet so eingerichtet, dass lange logische Verdichtungsstufensätze auf mehrere physische Datensätze aufgeteilt werden können (z.B. in Tages-Arbeitsgebieten), so ist i.a. nicht mit Satzlängenproblemen zu rechnen. Treten Satzlängenprobleme auf, so ist vor dem Kopieren eines Wertes das betreffende Arbeitsgebiet geeignet zu reorganisieren (Verdichtungsstufen splitten oder die Aufteilung eines logischen Verdichtungsstufensätzes auf mehrere physische Sätze ermöglichen).

Beschreibung der Vorlaufkarte

COPY_WERT : Alte Wertenummer > Neue Wertenummer

Beispiel:

COPY_WERT : 4711 > 5711

Wert 4711 auf Wert 5711 kopieren. Näheres zum Programm PCL1011 siehe Kapitel 5.3.6.

5.3 Zeitaspekt

5.3.1 Arbeitsgebiete zeitlich zurücksetzen PCL1051

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1051 können Arbeitsgebiete zeitlich zurückgesetzt werden, d.h. alle Einträge, deren Datumsangabe größer oder gleich einem gewählten Datum ist, werden physikalisch aus der Summendatenbank des betreffenden Arbeitsgebietes gelöscht.

Darüber hinaus werden folgende Funktionen ausgeführt:

Über Vorlaufkarte kann das Zurücksetzen auf einen Teil der Werte eingeschränkt werden.

ABLAUF

Abwicklungsschritte

Datenflussplan
PCL1051_Ablauf.png
Dateibeschreibung
DD-Name Format/Recl Dateiname ASS-PC Beschreibung
ASSCO FB 80$ASSVLK/T1051.VLKVorlaufkarte
ASSLSTFBA 133$ASSPTK/PCL1051.PTKProtokoll,
80-spaltig in den Spalten 7 bis 86
ASSAGFB 166$ASS/AG.EBCAbzug der Parameterdatenbanken.
wird durch PCL1004 erstellt.
Die folgenden Dateien werden nicht benötigt, falls in der Vorlaufkarte die Option LIST angegeben wird.
ASSUPDFB 80$ASS/ASSUPD.DATVerzögerter Update für PCL1032 bei der Option NUPDAT.
ASSAINNVB 10039$ASS/AG_SUM.EBCAbzug der Summendatenbank.
Erstellung durch PCL1024 oder DB-Utility.
Nur nötig, falls nicht die Option DBDIREKT angegeben wird, was der Standard ist.
ASSAONNVB 20004$ASS/AE.DATLadedatei für die Summendatenbank.
Laden durch PCL1002 mit Option LADEN.
ASSCV01
  bis
ASSCV99
VB 20004$ASSDB/ASSCVnn
Alte sequentielle Verdichtungsstufe.
Verdichtungsstufe mit Ort nn erfordert
ASSCVnn.
ASSCO01
  bis
ASSCO99
VB 20004$ASS/ASSCOnn
Neue sequentielle Verdichtungsstufe.
Verdichtungsstufe mit Ort nn erfordert
ASSCOnn.

Die Dateien ASSAINN und ASSAONN werden nur dann gebraucht, falls eine zurückzusetzende Verdichtungsstufe auf Summendatenbank gespeichert wird. Es sind nur die sequentiellen Verdichtungsstufen anzugeben, die vom Zurücksetzen betroffen sind. Unter IBM darf die LRECL bei ASSCVnn abweichend sein.

Datei - Platzbedarf

ASSAOnn nn = Verdichtungsstufenort

Da diese Dateien aus Optimierungsgründen nicht von PCL1002 sondern von PCL1051 direkt generiert werden, gilt für diese das gleiche wie für die ASSCOnn in PCL1002.

ASSAONN

Falls mindestens eine der zurückgesetzten Verdichtungsstufen in der Summendatenbank gespeichert wird, enthält ASSAONN alle Sätze der Summendatenbank. ASSAONN muss also so groß dimensioniert werden, dass diese Datei den kompletten Ladebestand aufnehmen kann, wobei noch berücksichtigt werden muss, dass der Werteteil noch nicht verdichtet ist, die Sätze dann pro Werteeintrag etwa den doppelten Platz benötigen. Andernfalls bleibt ASSAONN leer.

Unter Windows/Linux werden die neuen sequentiellen Verdichtungsstufen im $ASS-Verzeichnis unter dem Namen ASSCOnn angelegt. Sie müssen nach dem Programm laufnach $ASSDB kopiert und in ASSCVnn umbenannt werden.

ASSUPD

Diese Datei enthält maximal einige Tausend Sätze mit maximaler Satzlänge 100.

VORLAUFKARTE

Allgemein

Die Optionen werden ab der 1. Karte angegeben und untereinander durch Kommata getrennt. Falls keine Optionen erforderlich sind, so bleibt die 1. Karte leer. Standardmäßig gelten alle Optionen als nicht gesetzt.

Achtung: Es werden nur die ersten 72 Zeichen innerhalb einer Karte berücksichtigt.

Inhalt
Inhalt Aktion
AG = nn Angabe des Arbeitsgebiet mit 1 <= nn <= 300.
Fehlt diese Angabe, so wird das Arbeitsgebiet aus der Datei ASSAG ermittelt.
LIST Abgrenzungsangaben aus der Vorlaufkarte auswerten und relevante Informationen anlisten, ohne das eigentliche Zurücksetzen durchzuführen.
NUPDAT Verzögerter Update auf die Steuerungsdatenbank.
NO_VERSIONKein Abgleich der Version von Verdichtungsstufen mit der Steuerungsdatenbank.
NO_ANZAHL Keine Überprüfung der Satzanzahl von Verdichtungsstufen mit der Steuerungsdatenbank.
DELETE Unbekannte direkte Verdichtungsstufen werden gelöscht.
DBDIREKT Der Summendatenbank-Abzug wird nicht über ASSAINN eingelesen, sondern die Summendatenbank wird direkt gelesen.
WERT = n Die folgenden Abgrenzungsangaben gelten bei
n = 1 für normale Werte
n = 2 für Vorgabewerte
n = 3 für Erfasswerte
CEERS = mmjjDatum der ersten Einspeicherung des Arbeitsgebiets und sämtlicher Werte auf das angegebene Datum setzen. Das neue Datum kann nur nach dem aktuellen Datum der ersten Einspeicherung liegen.
In Tagesarbeitsgebieten ist das Datum in der Form ttmmjj anzugeben.
CEERS5Bestimmung des minimalen Datums der ersten Einspeicherung pro Wert und Verdichtungsstufe.
Es kann passieren, dass das Datum der ersten und letzten Einspeicherung auf nicht eingespeichert zurückgesetzt wird. Dies kann auch Konsequenzen für die Auswertung und die Folgeeinspeicherung haben, insbesondere bei Bestandswerten.
CEERS5_BESTAnalog CEERS5, es werden jedoch nur Bestandswerte verarbeitet.
CEERS5_BEWAnalog CEERS5, es werden jedoch nur Bewegungswerte verarbeitet.
CELET5Bestimmung des maximalen Datums der letzten Einspeicherung pro Wert und Verdichtungsstufe (analog zu CEERS5). Bei Bestandswerten ist folgende Besonderheit zu beachten: Da Bestandswerte in Summensätzen nur dann physikalisch gespeichert werden, wenn sie sich im Vergleich zum vorausgehenden Zeitaspekt geändert haben, wird das Datum der letzten Einspeicherung u. U. kleiner ermittelt als gewünscht. Dies passiert, wenn sich bei einem Wert in einer Verdichtungsstufe von einem Zeitaspekt zum nächsten nirgends eine Änderung ergibt. Beispiel: Der letzte Einspeicherungsmonat eines Wertes in einer Verdichtungsstufe sei Mai 2005. Der Mai 2005 unterscheide sich dort nicht von April 2005. Im April 2005 existieren physikalische Einträge zum betreffenden Wert in der betreffenden Verdichtungsstufe. Dann wird der Mai 2005 auf April 2005 reduziert.
CELET5_BESTAnalog CELET5, es werden jedoch nur Bestandswerte verarbeitet.
CELET5_BEW Analog CELET5, es werden jedoch nur Bewegungswerte verarbeitet.
CEERS_KENR
CEERS_WENR
Datum der ersten Einspeicherung bestimmen

Bei Verwendung der Option NUPDAT erfolgt kein Zugriff auf die Steuerungsdatenbank, das Programm PCL1051 kann dann also ohne zugeordnete Datenbank in der JCL laufen. Die Optionen NO_VERSION, NO_ANZAHL und DELETE sind lediglich für Testläufe gedacht, wobei äußerste Vorsicht angeraten ist.

Abgrenzungsangabe

Diese Angabe ist ab der 2. Karte erforderlich. Durch diese Angabe wird zum Ausdruck gebracht, ab welchem Datum (einschließlich) die Summendaten des betreffenden Arbeitsgebiets auf 0 zurückgesetzt werden.

Es ist eins der folgenden Formate zu verwenden.

           ****
           ****  ***** ,
           ****  ***** ***** ,
           !     !     !
           !     !     Wertenummer
           !     Wertenummer
           Datum in der Form MMJJ, in Tages-Arbeitsgebieten TTMMJJ.

Es sind maximal 19 Werteangaben zu einer Zeitraumangabe möglich.

Bemerkung zu den Satzlängen

PCL1051 berechnet diese für alle Verdichtungsstufen gleich. Dagegen berücksichtigt PCL1002 bei sequentiellen Verdichtungsstufen noch den Kopfsatz, wodurch geringfügige Abweichungen auftreten können.

Nullanhängen bei Bestandswerten in stillgelegten Verd.-Stufen

Dies erfolgt in PCL1051 nicht, aber in PCL1011. Daher können nach einer Reorganisation mittels PCL1011 die Sätze länger werden. Für die Listauswertungen bleibt dieser Effekt selbstverständlich ohne Auswirkungen.

BESONDERHEITEN:

Verzögerter UPDATE der Steuerungsdatenbank

Der eventuelle verzögerte Update der Steuerungsdatenbank bezüglich PCL1051 muss unbedingt vor dem Lauf von PCL1002 erfolgen. Andernfalls kann die Summendatenbank nicht einwandfrei geladen werden.

Beim Update der Steuerungsdatenbank werden bei den verwendeten Werten jeder zu splittenden Verdichtungsstufe die eingespeicherten Zeiträume angepasst. Der alte und der neue Zeitraum werden auch im Ablaufprotokoll angelistet (siehe Option LIST).

Des weiteren wird die Satzanzahl der betroffenen Verdichtungsstufen gepflegt. Da sequentielle Verdichtungsstufen durch PCL1051 generiert werden, ist hier die Satzanzahl korrekt. Bei den anderen betroffenen Verdichtungsstufen wird die Satzanzahl von PCL1051 Null gesetzt.
Bei Verdichtungsstufen, die auf Summendatenbanken gespeichert werden, wird die Satzanzahl von PCL1002 gepflegt. Daher muss ein eventuell verzögerter Update der Steuerungsdatenbank bezüglich PCL1051 zwingend vor dem Laden durch PCL1002 erfolgen.

Vor der Reorganisation durch PCL1051 ist ein eventuell noch ausstehender verzögerter Update der Steuerungsdatenbank mittels PCL1032 unbedingt erforderlich. Im Gegensatz zu anderen Dienstprogrammen wird die Satzanzahl der Verdichtungsstufen mit dem Abzug der Steuerungsdatenbank und beim Fehlen der Option NUPDAT zusätzlich mit der Steuerungsdatenbank abgeglichen. Diese Überprüfung wird mit der Option NO_ANZAHL umgangen.

Verdichtungsstufen aus Summendatenbank löschen

Falls Verdichtungsstufen mit dem Masterpasswort via ST06 gelöscht wurden und diese Verdichtungsstufen in der Summendatenbank waren, so ist die Option DELETE anzugeben. Im Gegensatz zu PCL1002 erlaubt PCL1051 keine unbekannten Verdichtungsstufen auf der Summendatenbank. Daher wird empfohlen, Verdichtungsstufen mit dem Dienstprogramm PCL1007 aus der Summendatenbank zu löschen.

Option CEERS

Mit der Option CEERS kann das Datum der ersten Einspeicherung chronologisch aufsteigend hochgesetzt werden. Deswegen müssen sämtliche Verdichtungsstufen angepasst werden: die eingespeicherten Zeiten auf der Steuerungsdatenbank und die Verdichtungsstufen auf der Summendatenbank bzw. sequentiellen Datei. Daher ist auch die Einschränkung auf gewisse Werte nicht zulässig.

BEISPIEL:

Sämtliche normalen Werte sollen ab Januar 1989 einschließlich aus Arbeitsgebiet 9 gelöscht werden.

            AG = 9 , WERT = 1
                0189

Die Werte 900 bis 919 sollen ab Januar 1989 einschließlich und die Vorgabewerte 920 bis 929 ab Januar 1990 einschließlich aus Arbeitsgebiet 9 gelöscht werden. Dann sind die ersten zwei Beispiele korrekt und das dritte nicht (zu einer Zeitangabe sind höchstens 19 Wertangaben zulässig).

            AG = 9                                ;Beispiel 1: richtig
                0189  900 901 902 903 904 905 906 907 908 909 ,
                0189  910 911 912 913 914 915 916 917 918 919 ,
                0190  920 921 922 923 924 925 926 927 928 929

            AG = 9                                ;Beispiel 2: richtig
                0189  900 901 902 903 904
                      905 906 907 908 909 ,
                0189  910 911 912 913 914
                      915 916 917 918 919 ,
                0190  920 921 922 923 924
                      925 926 927 928 929

            AG = 9                                ;Beispiel 3: falsch
                0189  900 901 902 903 904 905 906 907 908 909
                      910 911 912 913 914 915 916 917 918 919 ,
                0190  920 921 922 923 924 925 926 927 928 929

Optionen CEERS_KENR und CEERS_WENR

Mit den Optionen CEERS_KENR und CEERS_WENR kann das Datum der ersten Einspeicherung bezüglich der angeforderten Schlüssel und Werte bestimmt werden. Im Protokoll werden die Zeiten angelistet. Es werden weder Ausgabedateien erstellt noch Datenbanken geändert. Daher können diese beiden Optionen nicht mit anderen angefordert werden. Es können maximal 10 Schlüssel und 50 Werte angefordert werden. Bei Schlüsseln werden nur Summensätze betrachtet die keine Dummy-Ausprägung (?! bzw. bei IBM ggf. ?Ü) enthalten.

Das folgenden Beispiel ergebe den anschließenden Protokollausschnitt.

   AG = 497 ,
   CEERS_KENR = 9900 9901 9902 ,
                9875 9876 9877 ,
   CEERS_WENR = 9900 9901 9902 9903 ,
   DBDIREKT

   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9900 :          JAN 2001
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9900 UND WERT : JAN 2001
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9901 :          APR 2001
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9901 UND WERT : APR 2001
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9902 :          JUL 2001
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9902 UND WERT : JUL 2001
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9875 :          APR 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9875 UND WERT : APR 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9876 :          JUL 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9876 UND WERT : JUL 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9877 :          OKT 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL  9877 UND WERT : OKT 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL       :          APR 1999
   ERSTE EINSPEICHERUNG ZUM SCHLUESSEL       UND WERT : APR 1999
   ERSTE EINSPEICHERUNG ZUM WERT  9900 :                JAN 1999
   ERSTE EINSPEICHERUNG ZUM WERT  9901 :                FEB 1999
   ERSTE EINSPEICHERUNG ZUM WERT  9902 :                MRZ 1999
   ERSTE EINSPEICHERUNG ZUM WERT  9903 :                NICHT
   ERSTE EINSPEICHERUNG ZUM WERT       :                JAN 1999

Die erste Zeile besagt, dass der Schlüssel 9900 erstmals im Januar 2001 eingespeichert wurde und zwar unabhängig von den angeforderten Werten und die zweite Zeile abhängig von den Werten. Die dreizehnte Zeile bezieht sich auf alle angeforderten Schlüssel unabhängig von den Werten und die vierzehnte abhäbgig von den Werten.
Die fünfzehnte Zeile besagt, dass der Wert 9900 erstmals im Januar 1999 eingespeichert wurde. Die vorletzte Spalte besagt, dass der Wert 9903 nicht eingespeichert wurde. Die letzte Spalte ist das Minimum aller angeforderten Werte.

5.3.2 Auslagern von Zeiträumen PCL1021

FUNKTIONSBESCHREIBUNG

Das Programm PCl1021 wird nicht mehr unterstützt. Das Auslagern von Zeiträumen kann nur noch mit den anderen Utilities durchgeführt werden (siehe hierzu PCL1051, PCL1042 oder PCL1011).

5.3.3 Zeitliches Verdichten der Daten PCL1021

FUNKTIONSBESCHREIBUNG

Das Programm PCl1021 wird nicht mehr unterstützt. Ein zeitliches Verdichten von Summendaten ist daher nicht mehr möglich.

5.3.4 Aufteilung des Zeitaspekts auf verschiedene Verdichtungsstufen PCL1042

FUNKTIONSBESCHREIBUNG

Mit dem Dienstprogramm PCL1042 werden Verdichtungsstufen zeitlich gesplittet und dadurch Verdichtungsstufenmengen erzeugt oder bereits existierende Verdichtungsstufenmengen weiter aufgeteilt.

Zum ersten Splitten wird eine identische Verdichtungsstufe via ST06 durch die Copy-Funktion angelegt und eine der beiden Verdichtungsstufen stillgelegt (welche ist belanglos). Anschließend kann dann diese Menge gesplittet werden. Dazu ist lediglich bei der stillgelegten Verdichtungsstufe das Abgrenzungsdatum anzugeben.
Bis zu diesem Datum einschließlich wird durch das Dienstprogramm PCL1042 alles in die stillgelegte Verdichtungsstufe ausgelagert, der Rest kommt in die aktive Verdichtungsstufe. Das Splitten von größeren Verdichtungsstufenmengen ist weiter unten bei der Vorlaufkarte beschrieben.
PCL1042 kennt einen eigenen Verdichtungsstufen-Mengenbegriff. Alle Verdichtungsstufen mit gleichen ausgeprägten Schlüsseln und gleicher Reihenfolge bilden zunächst eine Grund-Menge. Lässt sich diese Grund-Menge in Unter-Mengen aufteilen, so dass diese Unter-Mengen bezüglich der verwendeten Werte paarweise disjunkt sind, so sind diese die Verdichtungsstufenmengen von PCL1042 (um kurze Summensätze zu erhalten, werden in der Praxis mitunter Werte auf 2 Verdichtungsstufen aufgeteilt, obwohl sie bezüglich der Schlüssel identisch sind; hierduch entstehen dann 2 Mengen für PCL1042). Index-Verdichtungsstufen bilden jeweils eine eigene Menge.

Ein Splitten von Verdichtungsstufen kann notwendig werden, wenn die Sätze der Summendatenbank die maximal zulässige Satzlänge des betreffenden Datenbanksystems zu erreichen drohen bzw. wenn die Performance infolge zu großer Satzlängen zu wünschen übriglässt.
Mit jeder Einspeicherung werden die Summensätze um die entsprechenden Werte länger. Irgendwann kann sich daher, wenn sehr lange Historien schon eingespeichert sind, die Notwendigkeit einer zeitlichen Umverteilung ergeben.
Zur Problematik der Verdichtungsstufenreorganisation wird im ASS-Handbuch EINRICHTEN EINES ARBEITSGEBIETS Stellung genommen. Vor dem Einsatz von PCL1042 sollte daher die Lektüre dieser Abschnitte unbedingt erfolgen.

Beim Splitten werden die Werte eines Summensatzes nach den angegebenen zeitlichen Kriterien auf zwei Summensätze verteilt. Die neuen Sätze werden jeweils dadurch i.a. kürzer als der Ausgangssatz. Ist eine umfangreiche Reorganisation erforderlich, die nur durch PCL1011 und PCL1042 zu realisieren ist, sollte man diese logisch trennen.
Vor jedem Lauf sollten nur die dafür erforderlichen Änderungen via ST06 durchgeführt werden, da sonst die Reihenfolge des Einsatzes von PCL1011 und PCL1042 über die richtige Verdichtungsstufenbesetzung entscheiden muss. Muss auch PCL1011 eingesetzt werden, so sind auch die entsprechenden Kapitel dieses Handbuchs zu lesen.

ABLAUF

Schritte zur Abwicklung

Datenflussplan
PCL1042_Ablauf.png
Dateibeschreibung
DD-Name/
Link-Name
Format/Recl Dateiname ASS-PC Beschreibung
ASSCOFB 80$ASSVLK/T1042.VLKVorlaufkarte
ASSLSTFBA 133$ASSPTK/PCL1042.PTKProtokoll,
80-spaltig in den Spalten 7 bis 86
ASSAGVB 1000$ASS/AG.EBCAbzug der Parameterdatenbanken.
Wird durch PCL1004 erstellt.

Die folgenden Dateien werden nicht benötigt, falls in der Vorlaufkarte die Option LIST angegeben wird.

DD-Name/
Link-Name
Format/Recl Dateiname ASS-PC Beschreibung
ASSUPDVB 100$ASS/ASSUPD.DATVerzögerter Update für PCL1032 bei der Option NUPDAT.
ASSAINNVB 10000 *$ASS/AG_SUM.EBCAbzug der Summendatenbank.
Erstellung durch PCL1124 oder DB-Utility.
ASSAONNVB 20000 **$ASS/AE.DATLadedatei für die Summendatenbank.
Laden durch PCL1002 mit Option LADEN.
ASSAI01
  bis
ASSAI99
VB 10000 *$ASSDB/ASSCVnnAlte sequentielle Verdichtungsstufe.
Verdichtungsstufe mit Ort nn erfordert ASSAInn.
ASSAO01
  bis
ASSAO99
VB 10000 *$ASS/ASSCOnnNeue sequentielle Verdichtungsstufe.
Verdichtungsstufe mit Ort nn erfordert ASSAOnn.
ASSI01
  bis
ASSInn
VB 10000 *$ASSWK/ASSInnArbeitsdateien zum Portionieren der Summendatenbank, wobei 01 <= nn <= 99 ist.
ASSO01
  bis
ASSOnn
VB 10000 *$ASSWK/ASSOnnArbeitsdateien zum Aufbau der Summendatenbank, wobei 01 <= nn <= 49 ist.
 * = 10000 bei MVS und BS2000, 5000 bei VSE
** = 20000 bei MVS und BS2000, 10000 bei VSE

ACHTUNG: Bei den zusammengehörenden Input-/Outputdateien (z.B. ASSAI01/ASSAO01) müssen unbedingt verschiedene Dateien zugewiesen werden !

Die Dateien ASSAINN und ASSAONN werden nur dann gebraucht, falls eine der zu splittenden Verdichtungsstufen auf der Summendatenbank gespeichert ist. Entsprechend sind auch nur die sequentiellen Verdichtungsstufen anzugeben, die in zu splittenden Mengen vorkommen.

Die Zuordnung der Arbeitsdateien ASSInn und ASSOnn wird weiter unten beschrieben. Sie werden aber nur gebraucht, falls eine der zu splittenden Verdichtungsstufen auf der Summendatenbank gespeichert wird.

Die Zuordnung der Arbeitsdateien ASSInn/ASSOnn ist einfach. Für jede nichtleere Verdichtungssstufe, die in der Summendatenbank gespeichert ist, wird eine Arbeitsdatei ASSInn benötigt und für jede zu erzeugende Verdichtungsstufe, die in der Summendatenbank gespeichert wird, eine Arbeitsdatei ASSOnn.
Um die nn zu füllen, sind in beiden Klassen die Verdichtungsstufen nach der Verdichtungsstufennummer zu sortieren. Bei der kleinsten Nummer wird nn = 01, bei der zweitkleinsten nn = 02 und so weiter.

Diese Zuordnung und die gesamte Umsetzung kann man sich anlisten lassen, ohne dass die eigentliche Reorganisation ausgeführt wird, falls die Option LIST in der Vorlaufkarte angegeben wird.

Datei - Platzbedarf

Auf ASSAInn stehen die Summensätze im komprimierten Format, auf ASSAINN im komprimierten Format mit Steuerzeichen entsprechend HSSR-Format (IBM-Utility für DL/I-Datenbanken). Diese Dateien benötigen den Platz, der schon aus der "normalen" Folgeeinspeicherung bekannt ist.

ASSAOnn nn = Verdichtungsstufenort

Da diese Dateien aus Optimierungsgründen nicht von PCL1002, sondern von PCL1042 direkt generiert werden, gilt für diese das gleiche wie für die ASSCOnn in PCL1002.

ASSAONN

Falls mindestens eine der gesplitteten Verdichtungsstufen in der Summendatenbank gespeichert wird, enthält ASSAONN alle Sätze der Summendatenbank. ASSAONN muss also so groß dimensioniert werden, dass diese Datei den kompletten Ladebestand aufnehmen kann, wobei noch berücksichtigt werden muss, dass der Werteteil noch nicht verdichtet ist, die Sätze dann pro Werteeintrag etwa den doppelten Platz benötigen.
Andernfalls bleibt ASSAONN leer.

ASSIii und ASSOoo

Diese Dateien müssen so groß dimensioniert werden, dass sie alle Sätze der betreffenden Verdichtungsstufe aufnehmen können. Die Zuordnung Datei zu Verdichtungsstufennummer ist oben beschrieben.

ASSUPD

Diese Datei enthält maximal einige Tausend Sätze mit maximaler Satzlänge 100.

VORLAUFKARTE

Die Optionen werden ab der 1. Karte angegeben und untereinander durch Kommata getrennt. Falls keine Optionen erforderlich sind, so bleibt die 1. Karte leer. Standardmäßig gelten alle Optionen als nicht gesetzt.

Achtung: Es werden nur die ersten 72 Zeichen innerhalb einer Karte berücksichtigt.

Inhalt Aktion
AG = nnAngabe des Arbeitsgebiet mit 1 <= nn <= 99.
Fehlt diese Angabe, so wird das Arbeitsgebiet aus der Datei ASSAG ermittelt.
PART_SPLITHat keine Funktion mehr. Wird akzeptiert aus Gründen der Aufwärtskompatibilität.
LISTSplit-Angaben aus der Vorlaufkarte auswerten und relevante Informationen anlisten, ohne das eigentliche Splitten durchzuführen.
INFOWie LIST, aber mit Zugriff auf die Verdichtungsstufen und Auflistung ihrer Versionen.
NUPDATVerzögerter Update auf die Steuerungsdatenbank.
NO_VERSIONKein Abgleich der Version von Verdichtungsstufen mit der Steuerungsdatenbank.
NO_ANZAHLKeine Überprüfung der Satzanzahl von Verdichtungsstufen mit der Steuerungsdatenbank.
DELETEUnbekannte Verdichtungsstufen, d.h. es gibt Daten zu Verdichtungsstufen in der Summendatenbank, jedoch hierzu keinen Eintrag in der Steuerungs-DB, werden gelöscht.
NO_OPTDeaktivierung der Optimierung, d.h. dass nicht zu verändernde Verdichtungsstufen einer zu splittenden Verdichtungsstufenmenge unangetastet bleiben. Diese Angabe ist nicht empfehlenswert.
PART_MENGEs.u.

Bei Verwendung der Option NUPDAT erfolgt kein Zugriff auf die Steuerungsdatenbank, das Programm PCL1042 kann dann also ohne zugeordnete Datenbank in der JCL laufen.

Die Optionen NO_VERSION, NO_ANZAHL und DELETE sind lediglich für Testläufe gedacht, wobei äußerste Vorsicht angeraten ist.

Split-Angaben

Diese Angaben sind ab der 2. Karte erforderlich. Pro Zeile ist genau ein Eintrag in einer der folgenden Formen vorgesehen:

            ***** : ****
            !       !
            !       Datum in der Form  MMJJ, bei Tages-AG's TTMMJJ
            Nummer der Verdichtungsstufe.

Für jede stillgelegte Verdichtungsstufe einer splitbaren Verdichtungsstufenmenge ist genau solch eine Angabe erforderlich. Ist die Option PART_MENGE angegeben, so sind Teilmengen von Verdichtungsstufenmengen zulässig. Stillgelegte Verdichtungsstufen, zu denen keine Aussage gemacht wird, bleiben unverändert.

            ***** > ***** : **** , *****
            !       !       !      !
            !       !       !      Nummer der Verdichtungsstufe (Ziel)
            !       !       Datum der Form  MMJJ, bei Tages-AG's TTMMJJ
            !       Nummer der Verdichtungsstufe (Ziel, stillgelegt)
            Nummer der Verdichtungsstufe (Quelle).

Dieses Format dient dazu, einzelne Verdichtungsstufen gezielt zu splitten. Die Quell-Verdichtungsstufe wird dabei auf die beiden Ziel-Verdichtungsstufen aufgeteilt. Eine der Ziel-Verdichtungsstufen muss leer sein, die andere muss mit der Quell-Verdichtungsstufe übereinstimmen.
Jede Verdichtungsstufennummer darf maximal einmal angesprochen werden.

Bemerkung zu den Satzlängen

PCL1042 berechnet diese für alle Verdichtungsstufen gleich. Dagegen berücksichtigt PCL1002 bei sequentiellen Verdichtungsstufen noch den Kopfsatz, wodurch geringfügige Abweichungen auftreten können.

Nullanhängen bei Bestandswerten in stillgelegten Verd.-Stufen

Dies erfolgt in PCL1042 nicht, aber in PCL1011. Daher können nach einer Reorganisation mittels PCL1011 die Sätze länger werden. Dies liegt an dem aufwendigeren Algorithmus in PCL1042. Für die Listauswertungen bleibt dieser Effekt selbstverständlich ohne Auswirkungen.

BESONDERHEITEN / RESTRIKTIONEN
:

Verzögerter UPDATE der Steuerungsdatenbank

Der eventuelle verzögerte Update der Steuerungsdatenbank bezüglich PCL1042 muss unbedingt vor dem Lauf von PCL1002 erfolgen. Andernfalls kann die Summendatenbank nicht einwandfrei geladen werden.

Beim Update der Steuerungsdatenbank werden bei den verwendeten Werten jeder zu splittenden Verdichtungsstufe die eingespeicherten Zeiträume angepasst. Der alte und der neue Zeitraum werden auch im Ablaufprotokoll angelistet (siehe Option LIST).
Da in den Verdichtungsstufen einer Menge die verwendeten Werte nicht identisch sein müssen, kann es vorkommen, dass gewisse Zeiträume verloren gehen. Dies wird im Protokoll zu der oben angesprochenen Übersicht zusätzlich angezeigt. Auch hier hilft die Option LIST für einen Testlauf.

Des weiteren wird die Satzanzahl der betroffenen Verdichtungsstufen gepflegt. Da sequentielle Verdichtungsstufen direkt von PCL1042 geschrieben werden, wird für diese die Satzanzahl korrekt in die Steuerungs-Datenbank eingetragen. Für die anderen betroffenen Verdichtungsstufen wird die Satzanzahl in der Steuerungs-Datenbank auf Null gesetzt.

Die Verdichtungsstufen, die in der Summendatenbank gespeichert werden, werden mit dem Programm PCL1002 mit der Option LADEN bearbeitet. Für diese Verdichtungsstufen pflegt PCL1002 die Anzahl der Summensätze in der Steuerungs-Datenbank.

Daher muss ein eventuell verzögerter Update der Steuerungs-Datenbank bezüglich PCL1042 zwingend vor dem Laden durch PCL1002 erfolgen. Andernfalls überholen sich die beiden Updates für die Anzahl der Summensätze einer Verdichtungsstufen und es steht zum Schluss für die betroffenen Verdichtungsstufen, die in der Summendatenbank gespeichert werden, Null bei Anzahl Sätze.

Vor der Reorganisation durch PCL1042 ist ein eventuell noch ausstehender verzögerter Update der Steuerungsdatenbank mittels PCL1032 unbedingt erforderlich. Im Gegensatz zu anderen Dienstprogrammen wird die Satzanzahl der Verdichtungsstufen mit dem Abzug der Steuerungsdatenbank und beim Fehlen der Option NUPDAT zusätzlich mit der Steuerungsdatenbank abgeglichen.
Diese Überprüfung wird mit der Option NO_ANZAHL umgangen.

Verdichtungsstufen aus Summendatenbank löschen

Falls Verdichtungsstufen mit dem Masterpasswort via ST06 gelöscht wurden und diese Verdichtungsstufen in der Summendatenbank waren, so ist die Option DELETE anzugeben. Im Gegensatz zu PCL1002 erlaubt PCL1042 keine unbekannten Verdichtungsstufen auf der Summendatenbank. Daher wird empfohlen, Verdichtungsstufen mit dem Dienstprogramm PCL1007 aus der Summendatenbank zu löschen.

Restriktionen

Für das Splitten gelten folgende Restriktionen, die vor der eigentlichen Reorganisation abgeprüft werden: Zu splittende Verdichtungsstufenmengen müssen aus zwei bis neun Verdichtungsstufen bestehen, von denen mindestens eine aktiv und eine andere stillgelegt sein muss.

Falls eine zu splittende Verdichtungsstufe in der Summendatenbank gespeichert ist, gilt zusätzlich:

BEISPIELE

Gegeben sei das folgende Arbeitsgebiet 1, in dem Werte von Januar 1980 bis Januar 1988 eingespeichert seien.

            Verd.-St.    Art    Ort    Schlüssel-Nr
                                        1 2 3 4 5 6
                1        D A              + + + + +
                2        S A     1        + + + +
                3        D A            +   + + + +
                4        S A     2      +   + + +
                5        D A            +   + +
                6        D S            +   + + + +
                7        S S     3      +   + + +
                8        S S     4      +   + +
                9        S S     5      + +   + + +
               10        S S     6      + +   + +
               11        S S     7      + +   + +
                         ! !
                         ! A = aktiv ,  S = stillgelegt
                         !
                         D = DB ,  S = sequentiell.

Es ist dann:

Verdichtungsstufenmenge splitbar
1 nein
2 nein
3 , 6 ja
4 , 7 ja
5 , 8 ja
9 nein
10 , 11 nein

In diesem Arbeitsgebiet sollen folgende zwei Reorganisationen durchgeführt werden. Die erforderlichen Dateizuordnungen sind im Anschluss in MVS-Notation aufgeführt (ohne Steuerungs-DB, da unabhängig vom DB-System). Die Verdichtungsstufen sind, bis auf 12, nichtleer.

Problem I

Im obigen Arbeitsgebiet 1 sollen die splitbaren Verdichtungsstufen eine neue zeitliche Abgrenzung erhalten.

Verdichtungsstufe Zeitraum
6 Januar 1980 - Dezember 1984
3 Januar 1985 -
7 Januar 1980 - Dezember 1983
4 Januar 1984 -
8 Januar 1980 - Dezember 1986
5 Januar 1987 -

Dateizuordnung:

        //         EXEC PCL1042
        //ASSCO    DD   *
            AG = 1
                6 : 1284
                7 : 1283
                8 : 1286
        //ASSLST   DD   SYSOUT=*
        //ASSAG    DD   DISP=OLD,DSN=
        //ASSAINN  DD   DISP=OLD,DSN=
        //ASSAI02  DD   DISP=OLD,DSN=
        //ASSAI03  DD   DISP=OLD,DSN=
        //ASSAI04  DD   DISP=OLD,DSN=
        //ASSAONN  DD   DISP=NEW,DSN=
        //ASSAO02  DD   DISP=NEW,DSN=
        //ASSAO03  DD   DISP=NEW,DSN=
        //ASSAO04  DD   DISP=NEW,DSN=
        //ASSI01   DD   UNIT=SYSDA               Verdichtungsstufe  1
        //ASSI02   DD   UNIT=SYSDA               Verdichtungsstufe  3
        //ASSI03   DD   UNIT=SYSDA               Verdichtungsstufe  5
        //ASSI04   DD   UNIT=SYSDA               Verdichtungsstufe  6
        //ASSO01   DD   UNIT=SYSDA               Verdichtungsstufe  3
        //ASSO02   DD   UNIT=SYSDA               Verdichtungsstufe  5
        //ASSO03   DD   UNIT=SYSDA               Verdichtungsstufe  6

Problem II

Im obigen Arbeitsgebiet 1 sei die folgende Verdichtungsstufe nachträglich via ST06 eingerichtet worden.

            Verd.-St.    Art    Ort    Schlüssel-Nr
                                        1 2 3 4 5 6
               12        D A            + +   + +

Damit ändert sich aber auch die letzte Verdichtungsstufenmenge:

Verdichtungsstufenmenge splitbar
10 , 11 , 12 ja

Nun soll diese Verdichtungsstufenmenge so reorganisiert werden, dass gilt:

Verdichtungsstufe Zeitraum
10 Januar 1980 - Dezember 1985
11 Januar 1986 - Dezember 1987
12 Januar 1988 -

Dateizuordnung:

        //         EXEC PCL1042
        //ASSCO    DD   *
            AG = 1
                    10 : 1285
                    11 : 1287
        //ASSLST   DD   SYSOUT=*
        //ASSAG    DD   DISP=OLD,DSN=
        //ASSAINN  DD   DISP=OLD,DSN=
        //ASSAI06  DD   DISP=OLD,DSN=
        //ASSAI07  DD   DISP=OLD,DSN=
        //ASSAONN  DD   DISP=NEW,DSN=
        //ASSAO06  DD   DISP=NEW,DSN=
        //ASSAO07  DD   DISP=NEW,DSN=
        //ASSI01   DD   UNIT=SYSDA              Verdichtungsstufe  1
        //ASSI02   DD   UNIT=SYSDA              Verdichtungsstufe  3
        //ASSI03   DD   UNIT=SYSDA              Verdichtungsstufe  5
        //ASSI04   DD   UNIT=SYSDA              Verdichtungsstufe  6
        //ASSO01   DD   UNIT=SYSDA              Verdichtungsstufe 12

Wäre die Verdichtungsstufe 12 nicht in der DB gespeichert, sondern sequentiell mit dem Ort 8, so ergäbe sich:

        //         EXEC PCL1042
        //ASSCO    DD   *
            AG = 1
                    10 : 1285
                    11 : 1286
        //ASSLST   DD   SYSOUT=*
        //ASSAG    DD   DISP=OLD,DSN=
        //ASSAI06  DD   DISP=OLD,DSN=
        //ASSAI07  DD   DISP=OLD,DSN=
        //ASSAO06  DD   DISP=NEW,DSN=
        //ASSAO07  DD   DISP=NEW,DSN=
        //ASSAO08  DD   DISP=NEW,DSN=

Falls Verdichtungsstufen aus der Summendatenbank gesplittet wurden, enthält ASSAONN eine interne Schnittstelle, die wie bei einer Ersteinspeicherung mit PCL1002 zu laden ist, wobei in diesem Fall noch die Option LADEN in der Vorlaufkarte von PCL1002 anzugeben ist.

Unter Windows/Linux werden die neuen sequentiellen Verdichtungsstufen im $ASS-Verzeichnis unter dem Namen ASSCOnn angelegt. Sie müssen nach dem Programm laufnach $ASSDB kopiert und in ASSCVnn umbenannt werden.

5.3.5 Anzahl der Monate des Statistikjahres verändern PCL1011

FUNKTIONSBESCHREIBUNG

ASS bietet die Möglichkeit, intern maximal 16 Monate für ein Jahr zu vereinbaren. Zeitangaben werden jedoch bei der Einspeicherung der Summendaten intern in eine lfd. Nummer umgesetzt, die auch über die Jahre fortgezählt wird.

Wird nachträglich die Anzahl der ASS-Monate verändert, ist eine Reorganisation mit dem Programm PCL1011 erforderlich, um die Konsistenz der eingespeicherten Summendaten zu erhalten.

Bei einer Vergrößerung der Anzahl der Monate pro Jahr müssen Sie nur darauf achten, dass die Spanne zwischen erster und letzter Einspeicherung nicht zu groß wird (1023 Monate sind erlaubt).
Bei einer Verkleinerung darf jedoch zu den Monaten, die laut der neuen Definition im Arbeitsgebiet größer als der maximale Monat im Jahr sind, nichts auf der Summendatenbank eingespeichert sein.

Der Einsatz dieses Programmes wird in Kapitel 5.1.1 in diesem Handbuch beschrieben.

5.3.6 Anwendung des Programmes PCL1011 PCL1011

FUNKTIONSBESCHREIBUNG

Eine Reihe von Reorganisationsmaßnahmen, die in den vorhergehenden Kapiteln vorgestellt wurden, können über das Programm PCL1011 durchgeführt werden. Die Grundsätze der Anwendung dieses Programmes sollen nun in diesem Kapitel kurz vorgestellt werden.

ABLAUF

Schritte zur Abwicklung einer Reorganisation

ACHTUNG: Bei Änderung der internen Länge eines Schlüssels müssen alle Arbeitsgebiete reorganisiert werden, die den Schlüssel enthalten! Die Sicherungsschritte (Step 1 und 2) in folgender Tabelle sind also für alle diese Arbeitsgebiete VOR der Änderung des Schlüssels (Step 3) zu tätigen! Unter Windows/Linux beachten, dass die Ausgabedateien von PCL1024 und PCL1004 nicht von den Folgeläufen überschrieben werden (d.h. die Dateien müssen umbenannt oder umkopiert werden).

STEP NORMALABLAUF BESONDERHEITEN
1Abziehen alte Summen-DB
(HSSR bzw. PCL1124).
Bei sequentiellen Verdichtungsstufen überflüssig
2Arbeitsgebiet im alten Zustand sichern (PCL1004).Unter Windows/Linux ist die Abzugsdatei $ASS/AG.EBC in AGALT.EBC umzubenennen
3Arbeitsgebiet in Steuerungs-DB bzw. Schlüssel in Schlüssel-DB neu definieren.
(ST06 mit Masterpasswort!) Die Neudefinition muss mit einer Prüfung des AG abgeschlossen werden.
Verdichtungsstufen erst ändern oder kopieren und zum Schluss löschen.
Bei Schlüsseländerung korrekte Zuordnung in Verdichtungsstufen beachten.
4Arbeitsgebiet im neuen Zustand sichern (PCL1004).
Wird die Schlüssellänge der Summen-DB verändert, sind je nach Systemumgebung zusätzliche Maßnahmen erforderlich, die anschließend an diese Tabelle beschrieben werden ( s. Zusatzschritte !).
5Abgezogene alte Summen-DB auf neuen Zustand (internes Format) übertragen.
( PCL1011 ).
6Neue Summen-DB laden bzw. neue sequ. Verd.-Stufen erzeugen (PCL1002).
Zusatzschritte bei Änderung der Schlüssellänge Summen-DB

1. Schritt:

2. Schritt:

Alle PSB's, die PCB-Pointer für Summendatenbanken enthalten, richtigstellen ( Nur IBM mit DL/I ).

Datenflussplan
PCL1011_Ablauf.png
LFD.-NR. DD-NAME/PGM Dateiname ASS_PC BESCHREIBUNG
140.1//ASSCNEU$ASS/AG.EBCDatei aus PCL1004: Neues Arbeitsgebiet
150
//CPOUT01
//CPIN01
//CPOUT02
//CPIN02 

$ASS/CPIN01

$ASS/CPIN02
Checkpoint-Datei 1   LRECL=200
Checkpoint-Datei 1
Checkpoint-Datei 2   LRECL=200
Checkpoint-Datei 2
160//ASSCV01$ASS/ASSCVIN
Enthält alle sequentiellen
Verdichtungsstufen des Arbeitsgebietes
(Dateiverkettung über Betriebssystem
erforderlich)
nicht benötigt bei ASSCV_DIREKT
160//ASSCVnn$ASSDB/ASSCVnn Sequentielle Verdichtungsstufen des Arbeitsgebietes für ASSCV_DIREKT
170//ASSCALT$ASS/AGALT.EBCDatei aus PCL1004: Altes Arbeitsgebiet
180
//DST001
//DST011
//DST012
//DST013

//DST002
//DST021
//DST022
//DST023

//DST003
//DST031
//DST032
//DST033
$ASS/DST001




$ASS/DST002




$ASS/DST003
Werte-DB
Primär-Index 1   (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)

Schlüssel-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)

Steuerungs-DB
Primär-Index     (nur DLI)
Sekundär-Index 1 (nur DLI)
Sekundär-Index 2 (nur DLI)
190//ASSCO$ASSVLK/T1011.VLKVorlaufkarte
200PCL1011Erstellen Reorg-Bestand für ein AG
210//ASSDALT$ASS/AGALT.EBCAbzug der alten Summen-DB
220//ASSLIST
//SYSPRINT
//SYSOUT
$ASSPTK/PCL1011.PTKAblaufprotokoll PCL1011
Fehlermeldungen
Sort-Meldungen
230//ASSOUNN$ASS/AE.DATInterne Schnittstelle (=Reorg-Bestand)
LRECL=20000
240-Logdatei (nur DLI)
250//ASSWONN$ASSWK/ASSWONNArbeitsdatei für das AG LRECL=10000
260//ASSWK01
//ASSWK02
$ASSWK/ASSWKnn
Work- u. Restartdatei 01   LRECL=20000
         -"-          02   LRECL=20000
270
IBM



SIEMENS
//SORTWK01
    bis
//SORTWKnn

//SORTWK1
    Bis
//SORTWKn
$ASSWK/SORTnn
Sortwork-Bereich 1
       Bis
größtmöglicher Sortwork-Bereich

Sortwork-Bereich 1
       Bis
größtmöglicher Sortwork-Bereich

Beschreibung der Ein- und Ausgabedateien

ASSWK01Wie PCL1001
ASSWK02Wie PCL1001
ASSWONNWie PCL1001
ASSOUNNWie PCL1001
ASSCALTDatei mit altem Arbeitsgebiet, siehe PCL1004
ASSCNEUDatei mit neuem Arbeitsgebiet, siehe PCL1004
ASSDALTAbzug von alter Summen-DB, siehe Beschreibung von PCL1002 oder PCL1024. Nur Daten aus komprimierten Verdichtungsstufen.
ASSCV01ohne ASSCV_DIREKT (Standard) Konkatenierte Datei mit sequentiellen Verdichtungsstufen
ASSCVnnmit ASSCV_DIREKT, wobei nn der Verdichtungsstufenort ist Einzelne Datei(en) mit sequentiellen Verdichtungsstufen
ASSCO Vorlaufkarte
CPIN01 Eingabedatei für 1. Checkpoint (analog PCL1001)
CPOUT01Ausgabedatei für 1. Checkpoint (analog PCL1001) CPIN01 und CPOUT01 repräsentieren denselben Dataset
CPIN02 Eingabedatei für 2. Checkpoint (analog PCL1001)
CPOUT02Ausgabedatei für 2. Checkpoint (analog PCL1001) CPIN02 und CPOUT02 repräsentieren denselben Dataset
ASSLISTAblaufprotokoll
SORTIN Muss auf denselben Dataset wie ASSWONN gelegt werden und darf in der COBOL-Version NICHT angegeben werden.
SORTWK01 - SORTWKnn bzw. Arbeitsdateien für SORT
SORTWK1 - SORTWKn

5.3.7 Tag oder Folgesätze einführen PCL1011

Folgesätze:
Die maximale Satzlänge von Summensätzen ist umgebungsabhängig beschränkt. Werden Summensätze zu lang, so können neue Daten nur nach einer Reorganisation oder nach Splitten von Verdichtungsstufen übernommen werden. In Summensätzen kann zusätzlich zu den verdichteten Inhalten von Schlüsselausprägungen rechts ein Byte ergänzt werden. Dieses Byte dient zur Kennzeichnung von Folgesätzen und ermöglicht, dass zu einer Schlüsselkombination in einer Verdichtungsstufe mehrere Sätze gespeichert werden können. Durch eine einfache Reorganisation mit PCL1011 kann dieses Byte in bestehende Arbeitsgebiete eingefügt werden. Hierzu ist die Option FOLGESAETZE anzugeben und mit Hilfe der ST06 im "neuen" Arbeitsgebiet das entsprechende Kennzeichen F (Typ der Summen-DB) zu setzen. FOLGESAETZE impliziert die Option NO_SORT.

Tag = nn:
Soll in einem Monats-Arbeitsgebiet der Tag bei der ASS-Zeit eingeführt werden, so kann allen alten Summendaten dieses Arbeitsgebiets ein bestimmter Tag zugeordnet werden. Zulässige Tage sind 01, 02, 03, ... , 32. Werden Tage eingeführt, so wird analog zu FOLGESAETZE ein Byte im Key der Summensätze reserviert, um "lange" Summensätze speichern zu können. TAG impliziert die Option NO_SORT. Vor einem Reorganisationslauf von PCL1011 mit TAG = nn muss mit Hilfe der ST06 im "neuen" Arbeitsgebiet das entsprechende Kennzeichen T (Typ der Summen-DB) gesetzt werden.

Es ist zu beachten, dass sowohl FOLGESAETZE als auch TAG = nn im Schlüssel der betreffenden Summen-DB ein zusätzliches Byte beanspruchen. Die Keylänge ist wie beim Vergrößern der internen Länge von Schlüsselausprägungen anzupassen (siehe 5.3.6).

5.3.8 Tagesschlüssel auf ASS-Zeit abbilden PCL1011

Allgemeines

Gibt es in einem Monats-Arbeitsgebiet einen Schlüssel, auf den parallel zur ASS-Zeit (MMJJ) der Tag abgebildet ist, so kann dieses Arbeitsgebiet in ein Tages-Arbeitsgebiet überführt werden. Hierbei werden die Inhalte des betreffenden Schlüssels auf den Tag in der ASS-Zeit abgebildet.
Bei Bestandswerten wird für fehlende Tage eine Null ergänzt. Dies setzt i.a. voraus, dass es in dem betreffenden Arbeitsgebiet eine Basis-Verdichtungsstufe (oder Basis-Verdichtungsstufenmenge) gibt, da sonst Informationen ohne Tagesbezug verloren gehen.

Die Inhalte dieses Schlüssel müssen einem Tag (einer Zahl zwischen 1 und 31) zugeordnet werden können. Dies ist möglich, wenn die betreffenden Schlüsselinhalte numerisch sind und Werte zwischen 1 und 31 darstellen. Die Dummy-Ausprägung (?! bzw. bei IBM ggf. ?Ü) wird auf den Tag 32 abgebildet.

Wird ein Tagesschlüssel auf die ASS-Zeit abgebildet, so muss eine vollständige Reorganisation durchgeführt werden. Der Tagesschlüssel darf im neuen Arbeitsgebiet nicht mehr enthalten sein. Dies zeigt, dass die Verdichtungsstufen des neuen Arbeitsgebiets neu zu konfigurieren sind. Die Verdichtung über diesen Schlüssel in allen alten Verdichtungsstufen könnte z. B. dazu führen, dass sich aus zwei alten Verdichtungsstufenmengen eine neue ergibt.
Da PCL1011 bei dieser Reorganisation alte Verdichtungsstufenmengen nur auf jeweils eine neue Verdichtungsstufe abbilden kann, sollte das neue Arbeitsgebiet nur Verdichtungsstufenmengen enthalten, die jeweils aus nur einer Verdichtungsstufe bestehen. Sollten dann noch zeitliche Splits von Verdichtungsstufen benötigt werden, so sind diese durch weitere Reorganisationsmaßnahmen zu erzeugen.

Die Abbildung eines Schlüssel auf den Tag der ASS-Zeit hat zur Konsequenz, dass in keiner Verdichtungsstufe mehr über den Tag verdichtet wird. Dies kann dazu führen, dass, insbesondere in höheren Verdichtungsstufen, das Datenvolumen zunimmt.

Durchführung

Es handelt sich um eine vollständige Reorganisation. Die prinzipielle Durchführung ist in 5.3.6 beschrieben.

In der Vorlaufkarte ist
TAGES_KY = n
anzugeben, wobei n die Schlüsselnummer des Tagesschlüssels ist.

5.3.9 AU_GEN und AU_GEN_SRT PCL1011

Mit AU_GEN und AU_GEN_SRT kann ein Zielschlüssel aus bis zu zwei Quellschlüssel aufgebaut werden. Die Quellschlüssel dürfen gleich sein. Zum Beispiel ist folgendes möglich. Pro Lauf allerdings nur jeweils eine Angabe.

        AU_GEN '4711 = 4712( 3,2 ) + "EF"'
        AU_GEN '9872 = 9870( 1,2 ) + "00" + 9871( 3,2 )'
        AU_GEN '9872 = 9870( 1,2 ) + "00" + 9870( 3,2 )'

Links vom = steht der Zielschlüssel und rechts die Quellschlüssel und ggf. konstante Inhalte. Bei Quellschlüsseln steht in Klammern durch das Komma getrennt die Position und die Länge innerhalb der Ausprägung. Mit + werden die Angaben verkettet.

Im obigen Beispiel hat der Schlüssel 4711 die externe Länge 4 und 9872 die externe Länge 6. Die externe Länge von 4712 und 9871 ist mindestens 4 und die von 9870 im 2. Fall mindestens 2 und im 3. mindestens 4.
Die Dummyausprägung ?! (bei IBM ggf. ?Ü) in den Quellschlüsseln wird auf diese im Zielschlüssel abgebildet. Bei den Quellschlüsseln wird bei jedem Summensatz überprüft, dass keiner oder alle die Dummyausprägung enthalten. Ansonsten wird eine Warnung ausgegeben und der Dummyteil mit # aufgefüllt.

Bei AU_GEN wird nicht sortiert und bei AU_GEN_SRT wird sortiert. Dies ist der einzige Unterschied dieser Optionen. Bei AU_GEN wird daher überprüft, dass die Sortierreihenfolge erhalten bleibt.

Zur Zeit gelten folgende Einschränkungen:

Es wird eine Datei erstellt, die die neuen Ausgrägungen enthält. Diese werden dann mit PCL1036 auf die Schlüsseldatenbank eingespielt. Am Host ist dazu der DD/Link-Name ASSAU erforderlich (VB 1004). Am PC heißt diese binäre Datei $ASS/ASSINKY, also passend für PCL1036.

5.4 Schlüsseldatenbank

5.4.1 Interne Schlüsselausprägungsnummer reorganisieren PCL1058

FUNKTIONSBESCHREIBUNG

Die Inhalte eines Schlüssels werden von den ASS-Programmen intern durchnumeriert. Auf diese Weise besteht für jeden ASS-Schlüssel eine interne Nummer, die für den nächsten, neu hinzukommenden Inhalt bereitsteht.
Werden Schlüsselausprägungen gelöscht, so greifen die ASS-Programme bei der Neuanlage von Schlüsselinhalten nicht auf die niedrigeren, eigentlich freien Nummern zurück, sondern immer auf die gegenüber der zuletzt vergebenen nächst höheren Nummer zu.
Bei Schlüsseln mit großer Änderungstendenz bezüglich der Schlüsselinhalte, bei denen Ausprägungen rückwirkend aus den ASS-Daten wegen Umbuchungen gelöscht werden, z.B. bei Ausscheiden von Vertretern aus einem Unternehmen, können auf diese Weise relativ zahlreiche Lücken innerhalb der internen Nummern eines Schlüssels auftreten. Um in diesem Fall ein ungewolltes und nicht gerechtfertigtes Erreichen des Grenzbereiches der internen Nummer zu vermeiden, bietet das Programm PCL1058 die Möglichkeit, die internen Nummern eines Schlüssels zu reorganisieren.
PCL1058 ermöglicht somit das Ausnutzen bestehender Lücken im Bereich der internen Nummern eines Schlüssels. Allerdings bedingt dies eine Reorganisation der betroffenen Summendaten. Das Bereinigen der Lücken im Bereich der internen Nummern eines Schlüssels sollte daher nur dann vorgenommen werden, wenn wirklich der Grenzwert für die jeweilige interne Länge eines Schlüssels erreicht zu werden droht. In allen anderen Fällen sollte man die Lücken belassen, da sie mit keinerlei Beeinträchtigung oder Belastung für den ASS-Betrieb verbunden sind. Bei einer internen Schlüssellänge von 2 liegt der Grenzwert bei 64000 Ausprägungen, bei einer internen Schlüssellänge von 1 bei 253 Ausprägungen. Sollte der Grenzwert von 253 erreicht sein, so ist zu überlegen, ob statt einer Reorganisation der internen Nummern nicht besser eine Erweiterung der internen Schlüssellänge von 1 auf 2 mittels Programm PCL1011 vorgenommen wird. Hinweis: PCL1058 führt aus Performancegründen keine Reorganisation für Massenschlüssel (interne Länge 3 oder 4) durch.

ABLAUF

Abwicklungsschritte

  1. Sicherungen erstellen (s.u.)
  2. PCL1055 (optional)
  3. PCL1058
  4. PCL1002 mit Option LADEN, siehe Handbuch 'Betrieb 1', Variante 1b.
  5. Updates PCL1036 (nur bei NUPDAT) PCL1032 (nur bei NUPDAT)

Schematische Darstellung (ab 3. Schritt):

PCL1058_1_Ablauf.png
Datenflussplan
PCL1058_Ablauf.png
Erklärungen zum Datenflussplan
Nummer Datei Bezeichnung Dateiname ASS-PC
1SCHLUESSEL-DBDST002
DST021 (nur DLI)
DST022 (nur DLI)
DST023 (nur DLI)
$ASSDB/DST002
2STEUERUNGS-DBDST003
DST031 (nur DLI)
DST032 (nur DLI)
DST033 (nur DLI)
$ASSDB/DST003
3SUMMENDATEN-BANKEN$ASSDB/DSTxxx
4VERDICHTUNGS-STUFEN AUF SEQ. DATENTRAEGERASSCV
Dabei sind alle Verdichtungsstufen der betroffenen Arbeitsgebiete zu verketten und einer einzigen ASSCV-Datei mit dem logischen Namen ASSCV zuzuweisen.
Welche Verdichtungsstufen zuzuweisen sind, wird unten beschrieben.
5VORLAUFKARTENASSCO$ASSVLK/T1058.VLK
6ASSOUnn SUMMENDATEN EINES ARBEITSGEBIETES EINSCHLIESSLICH SEQUENTIELLER VERDICHTUNGSSTUFEN (Format: maximale Satzlänge= 20000 variabel geblockt)
ASSOU01 gehört zu Arbeitsgebiet 1, ASSOU02 gehört zu Arbeitsgebiet 2, ... ASSO100 zu Arbeitsgebiet 100 usw.
Für Arbeitsgebiete, die von der Reorganisation nicht betroffen sind, braucht keine Datei ASSOUnn bzw. ASSOnnn zugewiesen werden.
$ASS/ASSOUnn
7INTERNE ARBEITSDATEIASSWK
(Format: maximale Satzlänge =10000 variabel geblockt)
$ASSWK/ASSWK
8VERARBEITUNGS-PROTOKOLLPROTO
(Format: feste Satzlänge=133 CTLASA)
$ASSPTK/PCL1058.PTK
9VORAB-KORREKTUR VON INTERNEN SCHLUESSEL-INHALTSNUMMERNASSAU
(Format: maximale Satzlänge=1000 variabel geblockt: VB 1004)
Sollten interne Schlüsselinhaltsnummern bei den Summendaten der betroffenen Arbeitsgebiete gefunden werden, die in der Schlüsseldatenbank nicht zu finden sind, ist eine Vorab-Korrektur auf der Schlüsseldatenbank notwendig. Hierzu sind die weiteren Ausführungen zur Datei ASSAU zu beachten.
$ASS/ASSAU
10SICHERUNG DES ALTEN ZUSTANDS AUF DER SCHLUESSEL-DATENBANKASSINKY
(Format: maximale Satzlänge=1000 variabel geblockt)
Mit dem Programm PCL1036 kann der alte Zustand auf der Schlüsseldatenbank hergestellt werden, wenn PCL1058 mit Option LOESCHEN gelaufen ist.
$ASS/ASSINKY
11VERZOEGERTER UPDATE AUF SCHLUESSEL-DATENBANKASSKY
(Format: maximale Satzlänge=1000 variabel geblockt)
Mit dem Programm PCL1036 kann der Update auf der Schlüsseldatenbank verzögert durchgeführt werden (nur bei Option NUPDAT)
$ASS/ASSKY
12VERZOEGERTER UPDATE AUF STEUERUNGS-DATENBANKASSUPD
(Format: maximale Satzlänge=100 variabel geblockt)
Mit dem Programm PCL1032 kann der Update auf der Steuerungsdatenbank verzögert durchgeführt werden (nur bei Option NUPDAT)
$ASS/ASSUPD.DAT
VORLAUFKARTE

Option INFO: Informationslauf

Die Vorlaufkartenoption INFO ermöglicht einen reinen Testlauf ohne Schreibzugriffe auf ASS-Datenbanken. Auf diese Weise kann unter relativ geringem Betriebsmittelaufwand eine Protokolldatei erstellt werden, die wesentliche Informationen bezüglich der geplanten Schlüsselinhaltsreorganisation liefert. Wird das Programm PCL1058 konsequent vor der eigentlichen Reorganisation mit einem INFO-Lauf eingesetzt, können Bedienungsfehler vermieden werden. Das in einem Informationslauf von PCL1058 erzeugte Protokoll enthält folgende Informationen:

Durchführung der Reorganisation der internen Nummer eines Schlüssels

Wird die Option INFO nicht gesetzt, werden zunächst sämtliche von der Reorganisation betroffenen Summensätze gelesen und sämtliche Kopfsätze kontrolliert, wobei Fehlermeldungen und Hinweise auf eine Protokolldatei ausgegeben werden. Um sich Kenntnis über die benötigten sequentiellen Verdichtungsstufen und Summendatenbankabzüge für korrekte Job Control-Anweisungen zu verschaffen, sollte vorab ein Informationslauf in der oben beschriebenen Weise vorgenommen werden.
Sequentielle Verdichtungsstufen müssen dann zugewiesen werden, wenn in ihnen der betreffende Schlüssel ausgeprägt ist. Existieren auf sequentiellen Datenträgern ASS-Daten infolge zeitlichen Auslagerns, in denen der vorgesehene Schlüssel vorkommt, sind zwei Arten des Vorgehens denkbar:

Nach erfolgreichem Abschluss der Prüf- und Kontrollaufgaben erfolgt die eigentliche Verarbeitung:
An Hand einer programminternen Tabelle werden aus den alten Summendaten die neuen Summendaten mit den neuen internen Nummern des Schlüssels erstellt. Das Programm PCL1058 sorgt dafür, dass die Sortierreihenfolge innerhalb der Summendaten erhalten bleibt. Somit können die Summendaten mit dem Programm PCL1002 unter der Option LADEN auf die betreffenden Summendatenbanken und sequentielle Verdichtungsstufen geladen werden. Nach dem erfolgreichen Erstellen des Ladebestandes erfolgt eine entsprechende Änderung der Inhalte des Schlüssels in der Schlüsseldatenbank.

Diese Änderungen können aber auch über die Vorlaufkartenoption NUPDAT auf eine sequentielle Datei ausgegeben werden, um so den eigentlichen UPDATE auf die Schlüsseldatenbank zu verzögern und später, wenn die Schlüsseldatenbank nicht so stark von anderen Anwendungen beansprucht wird, über das Programm PCL1036 nachzuholen. Wird die Option LOESCHEN angewandt, verursacht PCL1058 die Löschung der Verwaltungsinformationen für die ausgelagerten Zeiten der Arbeitsgebiete, die den zu reorgansierenden Schlüssel enthalten. Bei verzögertem UPDATE über die Vorlaufkartenoption NUPDAT werden die Löschanweisungen ebenfalls auf eine sequentielle Datei zwischengespeichert und zu einem späteren, zeitlich besser geeigneten Zeitpunkt über das Programm PCL1032 auf die Steuerungsdatenbak angewandt.
Nach jedem Lauf von PCL1058 wird eine Protokolldatei ausgegeben.

Option LOESCHEN: Bearbeitungsvariante bei ausgelagerten Zeiträumen

Die Angabe der Option LOESCHEN bewirkt zusätzlich, dass für ausgelagerte Zeiträume die betreffenden Verwaltungsinformationen der Steuerungs-Datenbank gelöscht werden. Sind ausgelagerte Zeiträume von der Reorganisation des Schlüssels betroffen, ohne dass die Option LOESCHEN angegeben wurde, wird der Programmlauf abgebrochen. Die Option LOESCHEN ist nur wirksam, falls nicht gleichzeitig die Option INFO angegeben wurde.

Option NUPDAT: Verzögerter Update auf die Parameter-DB

Änderungen, die normalerweise direkt auf der Schlüssel-Datenbank und der Steuerungs-Datenbank durchgeführt werden, werden in zwei sequentielle Dateien gestellt. Die Änderungen können verzögert auf die betroffenen Parameter-Datenbanken übernommen werden, indem die Programme PCL1036 und PCL1032 eingesetzt werden.

Zusammenfassung der Optionen im Überblick:
Option Summensätze Änderungen auf Datenbanken Zweck
INFOwerden nicht alle gelesen (nur bestimmte Kopfsätze) neinTestlauf mit sehr kurzer Laufzeit
ohne Angabe einer Option werden alle gelesen ja Ergebnis als Protokoll, interne Nummern werden korrigiert, allerdings keine ausgelagerten Zeiträume zulässig (ohne NUPDAT: Änderung sofort, sonst verzögert)
LOESCHEN werden alle gelesen ja Ergebnis als Protokoll, interne Nummern werden korrigiert, ausgelagerte Zeiträume werden unbrauchbar und entsprechende Segmente auf Steuerungs-DB gelöscht
(ohne NUPDAT: Änderung sofort, sonst verzögert)

In Ergänzung:

OPTION BEDEUTUNG
SCHLUESSEL=nnnnnAngabe des einen Schlüssels, zu dem die Schlüsselinhalte untersucht werden sollen, wobei nnnnn die Schlüsselnummer (mit führenden Nullen) angibt
NUPDAT verzögerter Update auf Parameter-DB und Schlüssel-DB
NOPRUEF Widersprüche bei den Versionen der Kopfsätze führen nicht zum Programmabbruch
AUSPR_LIMIT=mmmmmDas Protokoll über die internen Schlüsselinhaltsnummern wird auf die ersten mmmmm Schlüsselinhalte begrenzt. (Voreinstellung: mmmmm=00000)
AUSPR_ERGAENZEN Es werden nur die fehlenden Schlüsselinhalte auf der Schlüsseldatenbank des angegebenen Schlüssels ergänzt. Es können dabei Schlüssel mit interner Länge 1 bis 4 verarbeitet werden.
Die Ausgabedatei ASSAU muss danach mit PCL1036 auf die Schlüssel-DB gebracht werden.
Einschränkung auf ein AG mit AGNR=xxx möglich
Die Option gilt nur in der Cobol-Version.
AGNR=xxx Durch Angabe einer Arbeitsgebietsnummer (xxx) kann die vorher beschriebene Option auf das angegebene AG eingeschränkt werden. Gilt ebenfalls nur in der Cobol-Version PCL1058.
BEISPIEL

Für einen Schlüssel PRODUKT hat sich im Laufe der Zeit folgende Situation ergeben:

          Interne       I    Schlüsselinhalt      I Kommentar
          Schlüssel-    I                         I
          inhaltsnummer I                         I
          --------------I------------------------------------
          1             I     ART3201             I
          2             I     ART3532             I
          3             I     ART4201             I
          4             I     - (nicht belegt)    I gelöscht
          5             I     - (nicht belegt)    I gelöscht
          6             I     ART4219             I
          7             I     - (nicht belegt)    I gelöscht
          ...           I     ...                 I ...
          ...           I     ...                 I ...
          ...           I     ...                 I ...
          247           I     ART5721             I
          248           I     ART6102             I
          249           I     - (nicht belegt)    I gelöscht

Die internen Schlüsselinhaltsnummern 4, 5, 6 ... und 249 waren irgendwann einmal vergeben worden und sind durch Löschung (z.B. mit Online-Transaktion ST06) nicht mehr in der Schlüsseldatenbank belegt.
Die nächste interne Schlüsselinhaltsnummer ist im Beispiel 250. Diese wird von ASS-Programmen für den nächsten Schlüsselinhalt herangezogen. Die eigentlich auch freien Nummern 4, 5, 7 ... und 249 können aber ohne Reorganisation mit dem Programm PCL1058 nicht mehr für neue Schlüsselinhalte ausgenutzt werden. Sie bleiben trotz erfolgter Löschung unbelegt. Ausnahme: PCL1001 mit KEYLUECKE.
In Anwendungen mit sehr dynamischen Schlüsseln, z.B. Vertriebs- und Organisationseinheiten, bei denen sehr häufig Schlüsselinhalte wegfallen bzw. mit anderen Schlüssselinhalten zusammenfallen und diese Änderung rückwirkend auf sämtliche ASS-Daten durchgeführt werden, entstehen so z.T. sehr große Lücken im Bereich der internen Nummern eines Schlüssels. Für diese Fälle ist eine Reorganisation mit dem Programm PCL1058 in bestimmten Abständen sinnvoll, um nicht unnötig in den durch die interne Länge vorgegebenen Grenzbereich der internen Nummern zu geraten (64000 bei interner Länge 2 und 253 bei Länge 1).

BESONDERHEITEN

Funktion der Datei ASSWK

Die Datei ASSWK wird nur selten benötigt und zwar bestenfalls, wenn zum angegebenen Schlüssel die Dummy-Ausprägung (das ist die Ausprägung, unter der fehlerhafte Ausprägungen der externen Schnittstelle zusammengefasst werden, wenn das Prüf-Kennzeichen bei dem betreffenden Schlüssel auf '1' steht) in den Summensätzen verwendet wird und der Schlüssel die interne Länge 2 besitzt. ASSWK dient intern zur Erhaltung der Sortierreihenfolge auf den Dateien ASSOUnn, wenn beim angegebenen Schlüssel die Dummy-Ausprägung verwendet wird. Die Datei ASSWK nehmen alle Summendatensätze im verdichteten Format auf, in denen die Sammelausprägung zum betreffenden Schlüssel vorkommt. Falls ein Schlüssel einen Eintrag von 1 bei 'Ausprägung prüfen' besitzt, werden bei der Einspeicherung mit PCL1001 die unbekannten Schlüsselinhalte unter der Dummy-Ausprägung zusammengefasst (vgl. Handbuch 'EINRICHTEN EINES ARBEITSGEBIETES', Kap. 3.5.2).

Funktion der Datei ASSAU

In seltenen Fällen findet das Programm PCL1058 während des Reorganisationslaufes in den Summendatensätzen interne Nummern zu den Inhalten des zu reorganisierenden Schlüssels, zu denen keine Schlüsselinhalte auf der Schlüsseldatenbank existieren. Dann steuert das Programm Definitionssätze für diese verlorenen Schlüsselinhalte auf die Datei ASSAU aus. Das Protokoll informiert über die für eine Neuanlage vorgesehenen Ausprägungen der Datei ASSAU. In diesem Sonderfall sollte zur AP-Übermittlung übergegangen werden. In die Datei ASSAU werden die Ausprägungen stets in der Länge 8 ausgegeben unabhängig von der externen Länge des Schlüssels.

6 Maschinelle Pflege der Parameterdatenbanken (Werte-, Schlüssel- und Steuerungsdatenbank)

6.1 Überflüssige Schlüsselausprägungen löschen PCL1055

FUNKTIONSBESCHREIBUNG

Durch sachliche Veränderungen im Arbeitsgebiet ergibt sich oft die Tatsache, dass bestimmte Schlüsselausprägungen zu einem Schlüssel nicht mehr gebraucht werden. Vor allem bei einer größeren Anzahl von Ausprägungen kann es sehr mühsam sein, diese überflüssigen Ausprägungen mittels ST06 zu bereinigen.

Mit Hilfe des Programms PCL1055 kann zu einem anzugebenden Schlüssel geprüft werden, ob Ausprägungen in der

vorkommen, die weder in den Verdichtungsstufen der Summendatenbanken noch in sequentiellen Verdichtungsstufen zu finden sind.

Je nach Vorlaufkartenoption kann PCL1055 mit verschiedenen Verarbeitungsstufen gestartet werden:

Hinweis: Seit ASS 8.00 ist der Einsatz von PCL1055 auch für Massenschlüssel (interne Länge 3 oder 4) zulässig.

ABLAUF
Datenflussplan
PCL1055_Ablauf.png
Dateibeschreibung
Nummer Datei Bezeichnung Dateiname ASS-PC
1SCHLUESSEL-DBDST002
DST021 (nur DLI)
DST022 (nur DLI)
DST023 (nur DLI)
$ASSDB/DST002
2STEUERUNGS-DBDST003
DST031 (nur DLI)
DST032 (nur DLI)
DST033 (nur DLI)
$ASSDB/DST003
3SUMMEN-DBDST110
DST111 (nur DLI)
...
DST600
DST601 (nur DLI)
Die Summendatenbanken, in denen der angegebene Schlüssel nicht vorkommt, brauchen nicht zugewiesen werden.
$ASSDB/DSTxxx
4VERDICHTUNGS-STUFEN AUF SEQ. DATENTRAEGERASSCV01
...
ASSCV99
ASSC100
...
ASSC200
ASSCV01 gehört zu Arbeitsgebiet 1,
...
ASSCV99 gehört zu Arbeitsgebiet 99,
ASSC100 gehört zu Arbeitsgebiet 100
...
ASSC500 gehört zu Arbeitsgebiet 500
Dabei sind alle Verdichtungsstufen des betreffenden Arbeitsgebietes in der einen (betreffenden) ASSCV-Datei bei der Zuweisung aneinanderzuhängen.
Verdichtungsstufen von Arbeitsgebieten, in denen der angegebene Schlüssel nicht verwendet wird, brauchen nicht zugewiesen werden.
$ASSDB/ASSCVnn
5VORLAUFKARTEASSCO$ASSVLK/T1055.VLK
6Datei der gelöschten Ausprägungen in SST013SAASSINKY
(kann als Eingabe für PCL1036 benutzt werden)
Format: VB LRECL=1000
$ASS/ASSINKY
7Datei der zu ändernden Gruppierungen in SST014GZASSINGR
(kann als Eingabe für PCL1036 benutzt werden)
Format: VB LRECL=1000
$ASS/ASSINGR
8VERARBEITUNGS-PROTOKOLLPROTO
(Format: LRECL=133 F CTLASA)
$ASSPTK/PCL1055.PTK
VORLAUFKARTE

Aufbau der Vorlaufkarte (allgemein)

INHALT BEDEUTUNG
PROGRAMM PCL1055Angabe des Programms
SCHLUESSEL=nnnnn Angabe der Schlüsselnummer, zu der die Schlüsselausprägungen untersucht werden sollen (mit führenden Nullen)
INFO Informationslauf
Von den relevanten Verdichtungsstufen werden nur die Kopfsätze gelesen
ohne Option weder INFO noch LOESCHEN
Alle relevanten Verdichtungsstufen werden gelesen mit Übersicht der Verwendung der Schlüsselinhalte (siehe AUSPR_LIMIT und AUSPR_LIMIT_DEL)
Es erfolgt keine Datenbankänderung
RESERVIEREN Reservieren aller benötigten Arbeitsgebiete
FREIGEBEN Freigeben aller benötigten Arbeitsgebiete
LOESCHEN Löschen aller überflüssigen Ausprägungen nachdem alle relevanten Verdichtungsstufen gelesen wurden
RESERVLOESCH Löschen aller überflüssigen Ausprägungen, die betroffenen Arbeitsgebiete werden vorher reserviert und hinterher wieder freigegeben
NOGRUP Ausprägungen in Gruppierungen werden nicht gelöscht
AUSPR_LIMIT=nnnnnnDas Protokoll über die Ausprägungen, die nicht gelöscht wurden und auch nicht zur Löschung vorgeschlagen werden, wird auf die ersten nnnnnn Ausprägungen begrenzt. (Voreinstellung: keine Begrenzung)
AUSPR_LIMIT_DEL=nnnnnnWie AUSPR_LIMIT, aber für Ausprägungen, die gelöscht wurden oder dafür vorgeschlagen werden
GUELTIG_BIS<ttmmjjNur Ausprägungen können gelöscht werden, deren Gültigkeits-bis-Datum kleiner ttmmjj ist.
GUELTIG_BIS<MMddWie oben, aber das Datum wird vom aktuellen Datum aus berechnet.
Dabei sind vom aktuellen Monat dd Monate abzuziehen, und der Tag ist auf 01 zu setzen.
Wenn heute z.B. der 13.09.90 ist, so ist die Datums-Angabe MM05 äquivalent zu 010490 .
Beschreibung der Vorlaufkartenoptionen

Option INFO: Informationslauf

Bei Angabe der Option INFO kann mit PCL1055 ein Testlauf ohne schreibenden Zugriff auf Datenbanken durchgeführt werden. Bei dieser Verarbeitungsoption wird lediglich der 1. Kopfsatz in den Summendatenbanken bzw. sequentiellen Verdichtungsstufen gelesen, nicht aber die vollständigen Summensätze. Diese Informationen aus den Kopfsätzen werden mit der Arbeitsgebietsdefinition in der Steuerungsdatenbank verglichen.

Es ist in jedem Fall sinnvoll, das Programm PCL1055 vorab als Kontrolle mit der Option INFO laufen zu lassen, um mit diesem Programmlauf folgende wichtige Informationen protokollieren zu lassen:

Bemerkungen:
Weil bei der Vorab-Prüfung unter dieser Option zu jeder Datei (ASSCV- oder DST...-Datei) nur der erste Satz gelesen wird, wird bei jeder sequ. Verdichtungsstufe (ASSCV-Datei) jeweils nur der Kopfsatz der ersten Verdichtungsstufe gelesen und kontrolliert. Es ist möglich, die Option INFO gemeinsam mit der Option RESERVIEREN aufzurufen.

Ohne Option: Erstellen Löschprotokoll für ST06

Wird keine Option gesetzt, werden zusätzlich (im Vergleich zur Option INFO) sämtliche Kopf- und Summensätze gelesen und kontrolliert. Abweichungen werden als Warnung protokolliert. Ebenfalls protokolliert werden betroffene Arbeitsgebiete, die nicht von PCL1055 mit dem angegebenen Schlüssel reserviert wurden.

Durch das vollständige sequentielle Lesen der Dateien verlängert sich die Programmlaufzeit je nach Umfang der vorhandenen Summendaten um ein Vielfaches. Jedoch werden am Ende der Verarbeitung auch in diesem Fall keine schreibenden Zugriffe auf die Schlüssel- und Steuerungsdatenbank durchgeführt.

Ein Programmlauf mit PCL1055 ohne Angabe einer Option bietet sich an, wenn Fehler in der JCL mit absoluter Gewissheit auszuschließen sind, die Löschungen der überflüssigen Ausprägungen jedoch nach Beurteilung des Ergebnisprotokolls in eigenem Ermessen mittels ST06 durchgeführt werden sollen. Bei dieser Variante ist Vorsicht und größte Sorgfalt bei der Zuweisung der Dateien in der JCL zu verwenden, um unerwünschte Ergebnisse zu vermeiden.

Das Verfahren, das für Löschungen von Ausprägungen unter dieser Option durchzuführen ist, ist wesentlich zeitaufwendiger und gliedert sich in folgende Punkte, die nacheinander auszuführen sind (vgl. auch Handbuch 'EINRICHTEN EINES ARBEITSGEBIETES IM DIALOG'):

  1. Vor dem Programmlauf sollten auf jeden Fall Sicherungen der Arbeitsgebiete (PCL1004) vorgenommen werden. (Weitere Sicherungen durch PCL1055 siehe 'BEMERKUNGEN').
  2. Programmlauf PCL1055 zum angegebenen Schlüssel (ohne Angabe einer Option).
  3. Löschungen der Ausprägungen mittels ST06 (optional). Schlüsselausprägungen werden in der Maske 'VS013' mit Masterpasswort und Befehl DEL gelöscht.
  4. Die interne Verarbeitungsweise von PCL1055 verlangt einen zweiten Programmlauf mit der Option INFO, um Informationen für die nachfolgenden Schritte 5. und 6. zu erhalten.
  5. Löschungen der Gruppierungs-Ausprägungen mittels ST06 (optional) in der Maske 'VS015' mit DEL und Masterpasswort.
  6. Löschungen der Ausprägungen beim Schlüsselausschluss mittels ST06 in der Maske 'VS022' durch Überschreiben mit Punkten.

Option LOESCHEN: Löschen aller überflüssigen Ausprägungen

Bei Angabe der Option LOESCHEN werden die nicht benutzten Schlüsselausprägungen direkt von PCL1055 aus den jeweiligen Segmenten der Schlüssel- und Steuerungsdatenbank gelöscht.

Wird zusätzlich der Parameter 'NOGRUP' angegeben, werden Schlüsselgruppierungen von PCL1055 nicht verarbeitet. Ist ein betroffenes Arbeitsgebiet nicht von PCL1055 für den angegebenen Schlüssel reserviert worden, erfolgt die Ausgabe einer Protokollmeldung. Bei dieser Verarbeitungsoption ist kein weiterer manueller Eingriff mit ST06 erforderlich.

Option GUELTIG_BIS< : Maximales Gültigkeitsdatum

Es werden nur die Ausprägungen zum Löschen zugelassen, die zum angegebenen Datum nicht mehr gültig sind. Ist eine Schlüsselausprägung gültig von 010101 und im BIS-Feld ist nichts angegeben (Blank), so gilt diese Ausprägung als maschinell erzeugt und zum angegebenen Datum als nicht mehr gültig, d.h. sie wird ebenfalls gelöscht.

Option RESERVIEREN:

Bei Angabe der Option RESERVIEREN werden alle Arbeitsgebiete, in denen der Schlüssel verwendet wird, reserviert. Vorausgesetzt, diese Arbeitsgebiete sind geprüft und fehlerfrei. Ist ein Arbeitsgebiet bereits durch ein anderes Programm reserviert dann wird die bestehende Reservierung belassen und eine Protokollmeldung ausgegeben. Die Option RESERVIEREN kann auch in Verbindung mit der Option INFO benutzt werden.

Option FREIGEBEN:

Bei Angabe der Option FREIGEBEN wird für alle benötigten Arbeitsgebiete die Reservierung zurückgenommen. Das heißt, dass das Prüfkennzeichen wieder auf Ja gesetzt wird.

Option RESERVLOESCH:

Die Option RESERVLOESCH ist als Kombination der Optionen RESERVIEREN, LOESCHEN und FREIGEBEN zu verstehen. Zunächst wird versucht, die Arbeitsgebiete in denen der in der Vorlaufkarte genannte Schlüssel vorkommt, zu reservieren. Ist dies nicht möglich, weil eines dieser Arbeitsgebiete bereits reserviert ist, wird die Weiterverarbeitung nach dem Reservieren beendet.

Andernfalls werden die nicht benutzten Schlüsselausprägungen direkt von PCL1055 aus den jeweiligen Segmenten der Schlüssel- und der Steuerungsdatenbank gelöscht. Wird zusätzlich der Parameter 'NOGRUP' angegeben, werden Schlüsselgruppierungen von PCL1055 nicht verarbeitet.

Bei dieser Verarbeitungsoption ist kein weiterer manueller Eingriff mit ST06 erforderlich. Nach Abschluss der Löscharbeiten werden die zu Beginn reservierten Arbeitsgebiete wieder freigegeben, also das Geprüftkennzeichen auf Ja gesetzt.

Option GUELTIG_BIS< : Maximales Gültigkeitsdatum

Es werden nur die Ausprägungen zum Löschen zugelassen, die zum angegebenen Datum nicht mehr gültig sind. Ist eine Schlüsselausprägung gültig von 010101 und im BIS-Feld ist nichts angegeben (Blank), so gilt diese Ausprägung als maschinell erzeugt und zum angegebenen Datum als nicht mehr gültig, d.h. sie wird ebenfalls gelöscht.

Zusammenfassung der Optionen im Überblick
Option Summensätze Löschen auf Datenbanken Zweck
INFOwerden nicht alle gelesen (nur bestimmte Kopfsätze)neinTestlauf mit sehr kurzer Laufzeit, um einen groben Überblick zu gewinnen.
ohne Optionwerden alle gelesen neinErstellung eines verfeinerten Löschprotokolls. Die Löschung selbst erfolgt mit ST06.
LOESCHENwerden alle gelesenjaLöschung aller überflüssigen Schlüsselausprägungen zu einem Schlüssel.
Dabei ist kein Eingriff mit ST06 erforderlich.
RESERVIERENneinReservieren betroffener Arbeitsgebiete
FREIGEBENneinFreigeben von Arbeitsgebieten, die benötigt würden
RESERVLOESCHwerden alle gelesenjabenötigte Arbeitsgebiete werden zunächst reserviert und abschließend freigegeben sonst wie LOESCHEN
,NOGRUPGruppierungen werden nicht verarbeitet
GUELTIG_BIS<Selektion der Ausprägungen nach Gültigkeitsdatum
PROTOKOLL

PCL1055 erstellt bei allen Verarbeitungsoptionen ein umfangreiches Protokoll, dessen einzelne Übersichten nachfolgend beschrieben werden. Einige Übersichten ( Gruppierungen, Schlüsselausschluss ) erscheinen natürlich nur, wenn die entsprechenden Merkmale vorhanden sind.

Übersicht über zu löschende Ausprägungen:

Die Ausprägungen aus der Schlüssel-Datenbank werden vollständig nach Namen und interner Nummer KEVINH protokolliert.

Die Spalte ZUSTAND hat in Abhängigkeit von der Verarbeitungsoption folgende Bedeutung:

INFO:

LOESCHEN / GUELTIG_BIS< / ohne Option:

Übersicht über Schlüsselausschluss:

In dieser Übersicht werden alle Änderungen zu bestehenden Schlüsselausschlüssen in der Steuerungsdatenbank aufgelistet. Es werden alle Ausprägungen mit Angabe des betreffenden Arbeitsgebietes angezeigt, die vom Programm PCL1055 gelöscht wurden (LOESCHEN) bzw. gelöscht würden (ohne Option/INFO).

Falls auf diese Weise alle der maximal 27 Ausprägungen zu einem Schlüsselausschluss wegfallen, wird das gesamte Segment gelöscht und ein Fehlerhinweis ausgegeben. Im Arbeitsgebiet sind nun alle Schlüsselinhalte des betreffenden Schlüssels zugelassen. Es ist evtl. notwendig, den Schlüsselausschluss mittels ST06 in einer sinnvollen Weise neu einzurichten.

Übersicht über Gruppierungen:

In dieser Übersicht werden alle Änderungen zu bestehenden Schlüsselgruppierungen in der Schlüsseldatenbank aufgelistet. Es werden alle Ausprägungen mit Angabe der betreffenden Gruppierung angezeigt, die vom Programm PCL1055 gelöscht wurden (LOESCHEN) bzw. gelöscht würden (ohne Option/INFO). Wird in Verbindung mit der Option LOESCHEN der Parameter NOGRUP angegeben, unterbleibt diese Übersicht.

Übersicht der Suche bei Arbeitsgebieten:

Die Arbeitsgebiete aus der Steuerungs-Datenbank werden vollständig nach Nummer und Abkürzung aufgelistet. Zu jedem Arbeitsgebiet wird protokolliert, ob der angegebene Schlüssel im Arbeitsgebiet verwendet wird und ob zu diesem Arbeitsgebiet eine Datenbank oder sequentielle Verdichtungsstufen gefunden wurden.

Die Inhalte der einzelnen Spalten haben folgende Bedeutung:

Übersicht gelesener Summensätze:

Die Arbeitsgebiete aus der Steuerungs-Datenbank werden vollständig nach Nummer und Abkürzung aufgelistet. Zu jedem Arbeitsgebiet wird protokolliert, wieviele Summensätze von PCL1055 gelesen wurden. Da bei der Option INFO nur Kopfsätze gelesen werden, sind die Zahlen in dem Fall natürlich entsprechend gering.

Für das Lesen der Summensätze in der Datenbank oder sequ. Verdichtungsstufe müssen folgende Voraussetzungen erfüllt sein:

End-Übersicht:

In der End-Übersicht werden zusätzliche Informationen zum Programmlauf von PCL1055 ausgegeben.

BESONDERHEITEN

Sicherungen durch PCL1055

Neben umfangreichen Prüfungen im Programm kann die Datensicherheit bei einem Einsatz von PCL1055 durch weitere Maßnahmen verbessert werden.

Als Vorsichtsmaßnahme sollte vor dem Löschen mittels Option LOESCHEN oder Dialoganwendung ST06 in jedem Fall ein Programmlauf mit der Option INFO durchgeführt werden, um zu prüfen, in welchen Arbeitsgebieten der angegebene Schlüssel vorkommt. So kann man gezielte Arbeitsgebietssicherungen mit PCL1004 anlegen, mit denen bei unerwünschten Ergebnissen die Arbeitsgebiete zurückgesetzt werden können.

Weiteres Hilfsmittel kann PCL1006 ('Dokumentation von Arbeitsgebieten') sein, dass wahlweise vor und nach dem Lauf von PCL1055 einzusetzen ist. PCL1055 schreibt zusätzlich bei allen Verarbeitungsvarianten die Informationen zu gelöschten Ausprägungen und betroffenen Gruppierungen in die Dateien ASSINKY und ASSINGR. Diese Dateien können vom Programm PCL1036 verwendet werden, um die Änderungen auf der Schlüssel-Datenbank rückgängig zu machen.

6.2 Laden von Schlüsselausprägungen/-gruppierungen aus einer sequentiellen Datei PCL1036

FUNKTIONSBESCHREIBUNG

Mit dem Programm PCL1036 wurde eine Möglichkeit geschaffen, Schlüsselausprägungen bzw. -gruppierungen aus einer sequentiellen Datei in die Schlüssel-DB zu laden. Diese Datei kann über selbst zu erstellende Programmroutinen aus bereits vorhandenen, ASS-fremden Datenbeständen versorgt werden.

Natürlich ist die Erstellung einer solchen Datei auch mit einem Texteditor möglich. Die Behandlung des Satzlängenfeldes sowie die Durchführung binärer Eingaben ist entsprechend der Handhabungsregeln des eingesetzten Editors vorzunehmen.

Auf diese Weise ist es möglich, Schlüsselinhaltsbezeichnungen und -kurzbezeichnungen, Gültigkeitsbereich von Ausprägungen beziehungsweise Gruppierungselemente maschinell zu ergänzen und zu pflegen. Die bei der Einspeicherung automatisch ergänzten Ausprägungen können via PCL1036 aktuell textiert werden.
Wird eine der beiden Dateien bei einem Lauf von PCL1036 nicht benötigt, so ist sie in der Job-Control auf Dummy zu setzen. PCL1036 kann außerdem dazu verwendet werden, alle Ausprägungen und Gruppierungen zu vorgegebenen Schlüsseln zu löschen. ( Siehe 6.3 )

ABLAUF

Einsatzmöglichkeiten von PCL1036

Schlüsselausprägungen:

Schlüsselgruppierungen:

Der formale Aufbau der sequentiellen Dateien ist vorgegeben. Schlüssel, zu denen Ausprägungen mit PCL1036 hinzugefügt/ fortgeschrieben werden sollen, müssen vorher im Dialog (ST06) angelegt worden sein (natürlich nur die Schlüsselbeschreibungen und nicht die Ausprägungen).
Dies gilt analog auch für die Gruppierungen.

Datenflussplan
PCL1036_Ablauf.png
1  Schlüssel-DB

   //DST002
   //DST021 (DLI)
   //DST022 (DLI)
   //DST023 (DLI)
   $ASSDB/DST002 (PC)

2  Eingabedateien

   //ASSINKY (binär)
   //ASSINGR (binär)
   $ASS/ASSINKY (PC)
   $ASS/ASSINGR (PC)

   oder

   //ASSIN (Text)
   $ASS/ASSINKY (PC)

3  Vorlaufkarte

   //ASSCO
   $ASSVLK/T1036.VLK

4  Ablaufprotokoll

   //PROTO
   $ASSPTK/PCL1036.PTK

Vorlaufkarte:
Die Optionen müssen in den ersten 72 Spalten erfolgen und werden gegebenenfalls durch Kommata getrennt.

Kommen die Daten für PCL1036 aus einem anderen Betriebssystem als dem, unter dem PCL1036 läuft, so können diese Daten in das gewünschte Zielsystem übersetzt werden. Folgende Angaben sind möglich:

Datei - Beschreibung

Beschreibung der Eingabedatei für Ausprägungen

Job Control:
DD/Link-Name : ASSINKY,
Satzform = VB (IBM) / V (Siemens),
Länge = 200

Satzaufbau des Datenteils: (Feldbeschreibung nach PLI)

              KENR      BIN FIXED(15),    Schlüsselnummer
              KEINH     CHAR(12),         Ausprägung
              KEKBEI    CHAR(6),          Kurzbezeichnung der
                                          Ausprägung
              KEBEZI    CHAR(20),         Langbezeichnung der
                                          Ausprägung
              KEAUUE    CHAR(12),         Leerzeichen
              TYP       CHAR(1),          Verarbeitungstyp
              KEGAB     CHAR(6),          Gültigkeitsbeginn der
                                          Ausprägung in der Form TTMMJJ
              KEGBIS    CHAR(6),          Gültigkeitsende der Ausprägung
                                          in der Form TTMMJJ oder
                                          Leerzeichen
              ART       CHAR(1),          reserviert
              KEVINH    BIN FIXED(15),    reserviert
              KENXNR    BIN FIXED(15);    reserviert

Die obige Struktur inklusive dem Satzlängenfeld SL ist auch in dem PL/I-Include SST1129 enthalten.

Die Felder KENR, KEINH, KEKBEI und KEBEZI sind Mussfelder. Bei der erweiterten Security (gekennzeichnet durch die Typ-Angabe #) können die Felder KEKBEI und KEBEZI auch mit Leerzeichen gefüllt werden, falls die Ausprägung schon existiert und die Bezeichnung nicht mehr geändert werden soll.

Hinweis:
Für jeden Satz sind die Felder in Abhängigkeit von der Satzlänge (Feld SL) zu belegen. Zum Beispiel sind bei einer Satzlänge von 65 (PL/I, also SL = 65, für Assembler 69) die Felder KENR, KEINH, KEKBEI, KEBEZI, KEAUUE, TYP, KEGAB und KEGBIS zu versorgen.

Das Feld KEAAUUE ist nur bei der erweiterten Security (gekennzeichnet durch die Typ-Angabe #) erforderlich oder falls der Gültigkeitsbereich gesetzt werden soll.

Die Felder TYP, KEGAB und KEGBIS sind für die Angabe des Gültigkeitsbereiches vorgesehen.

Ist die angegebene Ausprägung nicht auf der Schlüsseldatenbank enthalten, so wird diese eingefügt, andernfalls wird die Bezeichnung geändert und der Gültigkeitszeitraum angepasst. Falls das Feld TYP dabei erforderlich ist, ist dieses mit Leerzeichen zu füllen.

ACHTUNG:
Die Felder ART, KEVINH und KENXNR sind für ASS reserviert. Wird die Satzlänge so groß angegeben, dass eines der Felder im Satz enthalten ist, so muss ART mit einem Leerzeichen besetzt werden. Die Satzlänge sollte so klein wie möglich gewählt werden, denn diese bestimmt, welche Felder übernommen werden.

Restriktion:
Es ist nicht möglich, den Gültigkeitsbereich einer Ausprägung zu verkleinern.

Sollen sämtliche Ausprägungen und Gruppierungen zu einem Schlüssel gelöscht werden, so ist KENR auf die Schlüsselnummer, die Felder KEINH, KEKBEI, KEBEZI und KEAUUE auf Leerzeichen, TYP auf D und die Satzlänge SL auf 53 (PL/I, 57 für Assembler) zu setzen. Diese Funktion ist alternativ über Vorlaufkarte ausführbar.

Die Ausprägungen zu einem Schlüssel darf man nur löschen, wenn dieser in keiner eingespeicherten Verdichtungsstufe irgend eines Arbeitsgebietes enthalten ist. Dies hat folgenden Grund: Fügt man anschließend die Ausprägungen wieder ein, so wird der verdichtete Inhalt (siehe Maske VS012 der ST06) neu gesetzt; das Ergebnis jeder folgenden Auswertung ist damit undefiniert. Die Funktion des Löschens ist nur für den Fall gedacht, in dem das Löschen via ST06 wegen zu vieler Ausprägungen unmöglich ist.

BEISPIEL: Ausprägungen

(Die Versorgung des Schlüssellängenfeldes wird hier im Beispiel vom Editor automatisch übernommen) Zum Schlüssel 1 soll eine Ausprägungen über PCL1036 textiert werden. Die erste der beiden folgenden Zeilen bietet eine Spaltennummerierung als Orientierungshilfe. Den eigentlichen Satz enthält die zweite Zeile:

123456789012345678901234567890123456789012345678901234
01AUSPRAEGUNG1AUSPR1ERSTE_AUSPRAEGUNG

Achtung:
KENR ist das erste echte Feld im Satz. Es schließt direkt an das übliche Satzlängenfeld an, das bekanntlich 4 Byte lang ist. Wenn möglich, sollten die Schlüsselausprägungen des gleichen Schlüssels unmittelbar hintereinander gestellt werden. Dadurch wird ein günstiges Laufzeitverhalten von PCL1036 erreicht.

Beschreibung der Eingabedatei für Ausprägungen

Job Control:
DD/Link-Name : ASSINKY,
Satzform = VB (IBM) / V (Siemens),
Länge = 1000

Satzaufbau des Datenteils:

           SA-KZ          PIC X(02).
           SA             PIC X(02).
           KENR           PIC S9(04) COMP.
           KELFDNR        PIC S9(04) COMP.
           KEINH          PIC X(60).
           KEVINH         PIC S9(04) COMP.
           KEKBEI         PIC X(06).
           KEBEZI         PIC X(20).
           KEAUUE         PIC X(12).
           KEGAB          PIC X(06).
           KEGBIS         PIC X(06).
           KENXNR         PIC S9(04) COMP.

Beschreibung der Felder:

Bei Satzart 'BZ' werden Ausprägungen zum Schlüssel mit Schlüsselnummer KENR nachgetragen. Neben SA-KZ, SA und KENR müssen die Felder KEINH, KEKBEI, KEBEZI, KEGAB und KEGBIS versorgt werden. Falls keine Einschränkung des Gültigkeitszeitraumes gewünscht wird, sollten für KEGAB '010101' und für KEGBIS Leerzeichen eingesetzt werden.
Satzart 'IN' dient zum Initialisieren eines Schlüssels. Dabei werden alle Ausprägungen des Schlüssels mit der Schlüsselnummer KENR gelöscht.

Satzart 'UU' dient der erweiterten Security. Dabei können die Felder KEKBEI und KEBEZI auch mit Leerzeichen gefüllt werden, falls die Ausprägung schon existiert und die Bezeichnung nicht mehr geändert werden soll. KEAUUE wird übernommen.
Die Satzart 'BA' dient zum Einfügen und Ändern von Ausprägungen zum Schlüssel KENR. Neben SA-KZ, SA und KENR müssen die Felder KEINH, KEKBEI und KEBEZI versorgt werden. Die restlichen Felder werden auf den entsprechenden Initialwert gesetzt: KEAUUE und KEGAB auf Leerzeichen und KEGBIS auf '010101'. Im Gegensatz zur Satzart 'BZ' dürfen die Felder KEKBEI und KEBEZI auch nur Leerzeichen enthalten.

Beschreibung der Eingabedatei für Gruppierungen

Job Control:
DD/Link-Name : ASSINGR,
Satzform = VB (IBM) / V (Siemens),
Länge = 200

Satzaufbau des Datenteils: (Feldbeschreibung nach PLI)

              KENR     BIN FIXED(15),    /*  Schlüsselnummer   */
              KEGRNR   BIN FIXED(15),    /*  Gruppierungsnummer */
              SA       BIN FIXED(15),    /*  Satzart            */
              KEINH    CHAR(12);         /*  Inhalt             */

Für die Datei ASSINGR stehen vier Satzarten zur Verfügung. Das Inhaltsfeld ist abhängig von der Satzart:

Satzart Inhalt Bedeutung
0LeerzeichenBeginn der Gruppierung (Kopfsatz)
1Ausprägung
21 - 10 SterneSummenanforderung
3PRUEF bzw. PRUEFOVEnde der Gruppierung (Endesatz)
Muss vorhanden sein, löst Prüfung aus.
PRUEF(OV) analog ST06

BEISPIEL: Gruppierungen

Die Versorgung des Schlüssellängenfeldes wird hier im Beispiel vom Editor automatisch übernommen. Die erste Gruppierung des Schlüssels 1 enthalte drei Ausprägungen, wobei vor und nach der dritten Ausprägung eine Summenbildung angefordert wird:

Spaltenübersicht: 123456789012345678
1. Satz 010100
2. Satz 010101AUSPRAEGUNG1
3. Satz 010101AUSPRAEGUNG2
4. Satz 010102*
5. Satz 010101AUSPRAEGUNG3
6. Satz 010102**
7. Satz 010103PRUEF

Es können natürlich mehrere Gruppierungen auf diese Weise hintereinander angeführt werden.

BESONDERHEIT:

KENR ist das erste echte Feld im Satz. Es schließt direkt an das übliche Satzlängenfeld an, das bekanntlich 4 Byte lang ist.

6.2.1 Laden mithilfe einer Textdatei (Format line-sequential; nur Windows/Unix) PCL1036

Eine Text-Datei (nur lesbare Zeichen) mit Trennsymbolen als Feldtrenner kann zum Laden von Schlüsselausprägungen verwendet werden.

Beachte:
Das Trennsymbol darf in keinem gelieferten Feld vorkommen. Es kann vorlaufkartenabhängig festgelegt werden.

Satzaufbau (Trennsymbol Semikolon):

Die Felder Schlüsselnummer und Schlüsselinhalt müssen besetzt werden; alle anderen nicht. Auf Groß/Kleinschreibung ist gegebenenfalls zu achten. Bei Schlüsselinhalt, Abkürzung und Bezeichnung werden angelieferte Blanks übernommen. Hinten wird ggf. mit Blanks aufgefüllt. Falls keine Gültigkeitsdaten angeliefert werden, wird bei neuen Ausprägungen standardmäßig '010101' (=Immer gültig) gesetzt. Wenn bei bestehenden Ausprägungen Gültigkeit, Abkürzung oder Bezeichnung nicht besetzt werden, dann bleibt der Zustand des Feldes auf der Datenbank erhalten.

Beispiel:

Zur Schlüsselnummer 00100 seien nur die Ausprägungen 'INHALT1 ' ' Inhalt 3' vorhanden (externe Länge 9).

Durch folgende Anlieferung wird die 'Bezeichnung1' eingepflegt. Die Gültigkeit der Ausprägung bleibt unverändert. Der Schlüsseinhalt 'inhalt 2 ' wird mit 'Bezeichnung 2' und 'Abk. 2' angelegt; seine Gültigkeit wird nicht beschränkt ('010101'). Bei ' Inhalt 3' wird lediglich die Gültigkeit auf unbeschränkt gesetzt:

               100  ;INHALT1 ;;Bezeichnung1
               00100;inhalt 2;Abk. 2;Bezeichnung 2;
                 100; Inhalt 3;;;010101

Vorlaufkarten:

Beispiel:

KY_Text, Ansi, Trennsymbol=#

Das PCL1036 soll mit einer Text-Datei (nur darstellbare Zeichen) in ANSI beliefert werden, deren Felder durch '#' getrennt sind.

6.3 Löschen aller Ausprägungen und Gruppierungen zu einem ausgewählten Schlüssel PCL1036

FUNKTIONSBESCHREIBUNG

Das Programm PCL1036 kann verwendet werden, um gezielt alle Ausprägungen und Gruppierungen zu bestimmten Schlüsseln zu löschen. In diesem Falle wird PCL1036 mit Vorlaufkarten eingesetzt.

VORLAUFKARTE

Allgemein:

Eine Vorlaufkarte kann angegeben werden, um einzelne Schlüssel zu initialisieren, d.h. um sämtliche Ausprägungen und Gruppierungen zu diesen Schlüsseln zu löschen. Angaben werden ab der 1.Karte angegeben und untereinander durch Kommata getrennt. Nach der letzten Angabe darf kein Komma erfolgen. Vorlaufkartenangaben sind in beliebig vielen Zeilen erlaubt; dabei werden nur die ersten 72 Zeichen jeder Zeile berücksichtigt.

Inhalt:

KY_INIT = nnnnn ( nnnnn = Schlüsselnummer )

Beispiel:

Die Schlüssel 5000 und 5001 sollen initialisiert werden:

        KY_INIT = 5000,
        KY_INIT = 5001

6.4 Generieren der Segmente SST01AKI PCL1088

FUNKTIONSBESCHREIBUNG

Für Schlüssel der internen Länge 3 oder 4 werden auf der Schlüsseldatenbank im ASS Segmente SST01AKI benötigt, die intern ein schnelles Umschlüsseln vom verdichteten Schlüsselinhalt auf den eigentlichen Schlüsselinhalt erlauben.
Im allgemeinen werden diese Segmente im ASS beim Anlegen neuer Schlüsselinhalte automatisch gepflegt. Nach einer Reorganisation, bei der die interne Länge eines Schlüssels von 1 oder 2 auf 3 oder 4 vergrößert wurde, ist jedoch ein nachträgliches Generieren dieser Segmente zwingend erforderlich.
Das Programm PCL1088 löscht zunächst alle eventuell vorhandenen Segmente SST01AKI zu den angegebenen Schlüsseln und generiert diese anschließend neu. Verweis-Schlüssel des Typs '3' werden wie Nicht-VerweisSchlüssel behandelt, obwohl i.a. eine Verarbeitung von diesen Verweis-Schlüsseln keinen Sinn macht.

Datenflussplan
PCL1088_Ablauf.png
1  Schlüssel-DB

   //DST002
   //DST021 (DLI)
   //DST022 (DLI)
   //DST023 (DLI)
   $ASSDB/DST002 (PC)

2  Vorlaufkarte

   //ASSCO
   $ASSVLK/T1088.VLK

3  Ablaufprotokoll

   //PROTO
   $ASSPTK/PCL1088.PTK

PCL1088 wird mit mindestens zwei Vorlaufkarten eingesetzt.

VORLAUFKARTE

Allgemein:

In der ersten Vorlaufkarte ist der Programmname anzugeben, in weiteren Vorlaufkarten werden die Schlüssel angegeben, zu denen die neuen Segmente generiert werden sollen.

Inhalt der ersten Vorlaufkarte:

PROGRAMM=PCL1088

Inhalt der weiteren Vorlaufkarten:

KENR=nnnnn (nnnnn = Schlüsselnummer)

Beispiel:

Die Inhalte der Schlüssel 5001 und 5002 sollen in Abhängigkeit ihrer verdichteten Inhalte angelegt werden.

        PROGRAMM=PCL1088
        KENR=5001
        KENR=5002

6.5 Werte- / Steuerungsdatenbank maschinell plegen PCL1198

FUNKTIONSBESCHREIBUNG

Das Dienstprogramm PCL1198 hat drei Funktionen:

  1. Anlegen von Werten auf der Wertedatenbank
  2. Werte zu einer Verdichtungsstufe hinzufügen
  3. Verdichtungsstufenart einer Verdichtungsstufe ändern.

Die Steuerung der Programmfunktion erfolgt über die

VORLAUFKARTE

Beispiel:

        AG     6
         VDST  4
         ART   2
         WERTE ( + ) 1000
         WERTE ( - ) 9999
        #WE
           WENR    = 10
           WEBEZ   = WE10
           WEABK   = W10
           WEART   = 1
           WEANL   = 1
           WEEXL   = 10
           WEKST   = 2
           WEDIM   = DM
           WEUEB   = WERT10
           WEEUTYP = 1
           WEEUIND = 1
           WEEUDAT = 1201
           WEEUNR  = 2

Bedeutung:
In AG 6 wird in Verdichtungsstufe 4 die Verdichtungsstufenart auf '2' gesetzt; zusätzlich wird Wert '1000' zu dieser Verdichtungsstufe hinzugefügt und Wert '9999' entfernt. Abschließend wird ein neuer Wert auf der Wertedatenbank angelegt.

Datenflussplan
PCL1198_Ablauf.png
1  Vorlaufkarte
   //ASSCO
   $ASSVLK/T1198.VLK (PC)


2  Werte-DB
   //DST001
   $ASSDB/DST001 (PC)

3  Steuerungs-DB
   //DST003
   $ASSDB/DST003 (PC)

4  Protokoll
   //PROTO
   $ASSPTK/PCL1198.PTK (PC)

6.6 Arbeitsgebiet initialisieren PCL1097

FUNKTIONSBESCHREIBUNG

Mit dem Dienstprogramm PCL1097 kann ein Arbeitsgebiet initialisiert werden. Das Arbeitsgebiet muss zuvor in der ST06 definiert werden. Die Initialisierung eines Arbeitsgebietes bewirkt, dass Vorgabewerte schon vor der ersten Einspeicherung erfasst werden können.

VORLAUFKARTE

Die Initialisierung des Arbeitsgebietes wird über eine Vorlaufkarte gesteuert.

In der Vorlaufkarte können die folgenden Angaben gemacht werden:

Beispiel:

        AGNR 9
         CSNR 2
          DATUM = 0111 - 0211
          CANZSA = 1

In AG Nummer 9 und Verdichtungsstufe 2 wird das Datum Ersteinspeicherung auf 0111 (November 2001) und das Datum 'Letzte Einspeicherung' auf 0211 (November 2002) im Arbeitsgebiet und bei den Werten in der Verdichtungsstufe gesetzt. Durch die optionale Angabe CANZSA = 1 wird die Anzahl der Sätze auf der Summendatenbank auf 1 gesetzt.

Beispie:l

        AGNR 499
        KORRSUKOPF

Bemerkung:

Für dieses Programm existieren undokumentierte Optionen.

Datenflussplan
PCL1097_Ablauf.png
1  Vorlaufkarte
   //ASSCO
   $ASSVLK/T1097.VLK (PC)

2  Schlüssel-DB
   //DST002
   $ASSDB/DST002 (PC)

3  Steuerungs-DB
   //DST003
   $ASSDB/DST003 (PC)


4  Summen-DB

5  Steuerungs-DB
   //DST003

6  Protokoll
   //ASSPROTO
   $ASSPTK/PCL1097.PTK

6.7 Schlüsseldatenbank abziehen/laden PCL1114 / PCL1115

Mit den Programmen PCL1114 und PCL1115 wird die Schlüsseldatenbank abgezogen bzw. geladen, z.B. für Migrationen.

Dabei können mit PCL1114 auch nur die Relationen abgezogen und migriert werden (s.u. NUR_RELATIONEN).

Es besteht aber auch die Möglichkeit die maximale externe Schlüssellänge auf bis zu 50 zu vergrößern (siehe Hinweise in HINSTALL). Da sich bei Vergrößerung der externen Länge die Länge des Datenbankkeys ändert, ist eine Reorganisation der Schlüsseldatenbank notwendig. Hierzu dienen die Programme PCL1114 und PCL1115. PCL1114 entlädt die Schlüsseldatenbank in eine Datei, die mit PCL1115 wieder geladen werden kann.

Bei der Verwendung der Programme ist unbedingt darauf zu achten, dass PCL1114 mit den "alten" Zugriffsprogrammen, d. h. mit der alten externen Schlüssellänge, arbeitet und PCL1115 mit den "neuen". Das bedeutet, dass man zuerst PCL1114 in der alten Installation umwandelt/linkt und damit die Schlüsseldatenbank entlädt. Dann ist die Schlüsseldatenbank zu löschen und neu einzurichten. Anschließend wird ASS mit der neuen Schlüssellänge installiert (insbesondere auch PCL1115) und die Schlüsseldatenbank wieder mit PCL1115 geladen.

ACHTUNG:
Die Schlüsseldatenbank sollte NICHT mit PCL1050 initialisiert werden.

Existieren in der Installation Schlüssel mit interner Länge 3 oder 4, so müssen die zu diesen Schlüsseln gehörenden Segmente SST01AKI mit Hilfe von PCL1088 neu erzeugt werden.

PCL1114/PCL1115 können auch für Migrationen benutzt werden. Auf einer Umgebung wird entladen, auf der anderen wird geladen. Auch in diesem Fall muss PCL1088 laufen gelassen werden. Schlüsselausprägungscache's werden auf angefordert zurückgesetzt (siehe PCL1089). Externe Schnittstellen werden nicht migriert.

PCL1114 erwartet unter ASSCO immer eine Vorlaufkartendatei. Diese darf auf Dummy gesetzt werden oder leer sein.

PCL1115 erwartet unter ASSCO immer eine Vorlaufkartendatei. Diese darf auf Dummy gesetzt werden oder leer sein. Bei Migrationen ist folgendes zu beachten:

Ein Zeichensatzwechsel kann auch mit den Kurzoptionen BS2000, OS2, ANSI und MVS angefordert werden. Ist PCL1114 in der Version 8.70 oder neuer gelaufen, so erfolgt der Zeichensatzwechsel automatisch.

ABLAUF PCL1114
PCL1114_Ablauf.png
1  Schlüssel-DB
   DST002
   DST021 (nur DLI)
   DST022 (nur DLI)
   DST023 (nur DLI)
   $ASS/DST002 (PC)

2  Vorlaufkarte
   ASSCO (FB 80)
   $ASSVLK/T1114.VLK (PC)

3  Protokoll
   PROTO
   (FB 133)
   $ASSPTK/PCL1114.PTK (PC)

4  Abzug Schlüssel-DB
   DATEI
   (FB 80)
   $ASS/AUS.EBC (PC)
ABLAUF PCL1115
PCL1115_Ablauf.png
1  Abzug Schlüssel-DB
   DATEI
   (FB 80)
   $ASS/AUS.EBC (PC)

2  Vorlaufkarte
   ASSCO (FB 80)
   $ASSVLK/T1115.VLK (PC)

3  Protokoll
   PROTO
   (FB 133)
   $ASSPTK/PCL1115.PTK (PC)

4  Schlüssel-DB
   DST002
   DST021 (nur DLI)
   DST022 (nur DLI)
   DST023 (nur DLI)
   $ASS/DST002 (PC)

6.8 Datenbanken reorganisieren PCL1087

Funktionsweise

Betreibt man ASS-PC in einer ISAM-Umgebung - zum Beispiel Windows oder Linux - so sollten die ASS-PC Systemdatenbanken in größeren Abständen reorganisiert werden, da sie durch die große Zahl von Lösch- und Einfügevorgängen physikalisch zerstückelt werden. Diese Zerstückelung wirkt sich vor allem auf die Zugriffsgeschwindigkeit negativ aus.

Mit diesem Programm hat man nun die Möglichkeit, gezielt Werte-, Schlüssel-, Steuerungs-, Anforderungs-, Text- und Securitydatenbank zu reorganisieren. Die Datenbanken werden auf eine Arbeitsdatei abgezogen, gelöscht und wieder neu aufgebaut. Nach der Reorganisation ist die Datei dann wieder physikalisch zusammenhängend gespeichert und die Zugriffszeiten sind somit wieder optimiert.

Datenfluss
PCL1087_Ablauf.png
1 Parameter-DB's
  $ASSDB/DST001
  $ASSDB/DST002
  $ASSDB/DST003
  $ASSDB/DST004
  $ASSDB/DST007
  $ASSDB/DST007K
  $ASSDB/DST009


2 Vorlaufkarte
  $ASSVLK/T1087.VLK









3 Protokoll
  $ASSPTK/PCL1087.PTK


4 Parameter-DB's
  (siehe 1)
Vorlaufkarte
Inhalt Bemerkung
PROGRAMM=PCL1087Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
ALLE_DB Alle Parameterdatenbanken werden reorganisiert.
W_DB Die Werte-DB DST001 wird reorganisiert.
S_DB Die Schlüssel-DB DST002 wird reorganisiert.
ST_DB Die Steuerungs-DB DST003 wird reorganisiert.
ANF_DB Die Anforderungs-DB DST004 wird reorganisiert.
TE_DB Die Text-DB DST007 wird reorganisiert.
TE_DB_K Die kundenspezifische Text-DB DST007K wird reorganisiert. (nur Windows)
SEC_DB Die Security-DB DST009 wird reorganisiert.
EXIT_DB Die User-Exit-DB (PCL1231) wird reorganisiert. (nur OpenCOBOL und GnuCOBOL)
LIST_DB Die List(/Bericht)-DB wird reorganisiert.
AC_DB Die Anforderungscache-DB wird reorganisiert.
PSEUDO_DB Die Pseudonym-DB wird reorganisiert.
INDEX_DB Die bis zu vier Index-DB's werden reorganisiert.
nn 1 <= nn <= CARNR-MAX-ABS (SST1554)
Die entsprechende Summen-DB wird reorganisiert.

Beispiel:
Inhalt der Vorlaufkarte: PROGRAMM=PCL1087,ANF_DB

PCL1087 setzt voraus daß die optionalen Summendatenbanken (EXIT_DB, LIST_DB, AC_DB, PSEUDO_DB und INDEX_DB) bereits eingerichtet sind.

Die mit nn genannten Datenbanken setzen ein geprüftes Arbeitsgebiet voraus. Ein logisches Arbeitsgebiet kann nicht reorganisiert werden, sondern nur die einzelnen physischen. Analog müssen auch primäre und sekundäre Summendatenbanken einzeln reorganisiert werden.

6.9 Wertedatenbank abziehen/laden PCL1314/PCL1315

Mit PCL1314/PCL1315, PCL1114/PCL1115 und PCL1324/PCL1325 können die Wertedatenbank (DST001), Schlüsseldatenbank (DST002) und Steuerungsdatenbank (DST003) mit je einem Lauf zur Migration auf eine neue Umgebung genutzt werden.

Wertedatenbank abziehen

    ASSCO              DST001
      |_________ _________|
                |
             PCL1314
       _________|
      |         |
   ASSLST    ASSTMP

Wertedatenbank laden

    ASSCO    ASSTMP
      |_________|
                |
             PCL1315
       _________|_________
      |                   |
   ASSLST              DST001
ASSCO            $ASSVLK/T1314.VLK   bzw. $ASSVLK/T1315.VLK
ASSLST           $ASSPTK/PCL1314.PTK bzw. $ASSPTK/PCL1315.PTK
ASSTMP  FB 80    $ASS/DST001.TMP

Die ASSTMP ist eine binäre Datei mit variablen langen Sätzen und im geblockten Format.

Die Vorlaufkarte ASSCO muß existieren, kann aber leer sein. PCL1314 vermerkt in ASSTMP den Zeichensatz und PCL1315 kann ihn beim Laden daher automatisch anpassen.

Die Wertedatenbank braucht vor PCL1315 nicht mit PCL1050 initialisiert werden, da PCL1315 der Ladelauf ist.

6.10 Steuerungsdatenbank abziehen/laden PCL1324/PCL1325

Mit PCL1314/PCL1315, PCL1114/PCL1115 und PCL1324/PCL1325 können die Wertedatenbank (DST001), Schlüsseldatenbank (DST002) und Steuerungsdatenbank (DST003) mit je einem Lauf zur Migration auf eine neue Umgebung genutzt werden.

Steuerungsdatenbank abziehen

    ASSCO              DST003
      |_________ _________|
                |
             PCL1324
       _________|
      |         |
   ASSLST    ASSTMP

Steuerungsdatenbank laden

    ASSCO    ASSTMP
      |_________|
                |
             PCL1325
       _________|_________
      |                   |
   ASSLST              DST003
ASSCO            $ASSVLK/T1324.VLK   bzw. $ASSVLK/T1325.VLK
ASSLST           $ASSPTK/PCL1324.PTK bzw. $ASSPTK/PCL1325.PTK
ASSTMP  FB 80    $ASS/DST003.TMP

Die ASSTMP ist eine binäre Datei mit variablen langen Sätzen und im geblockten Format.

Die Vorlaufkarte ASSCO muß existieren, kann aber leer sein. PCL1324 vermerkt in ASSTMP den Zeichensatz und PCL1325 kann ihn beim Laden daher automatisch anpassen.

Die Steuerungsdatenbank braucht vor PCL1325 nicht mit PCL1050 initialisiert werden, da PCL1325 der Ladelauf ist.

7 Online-Pflege von externen Schnittstellendateien

Externe Schnittstellendateien sind sequentielle Dateien. Vor allem, wenn derartige Daten im binären Format vorliegen, sind sie manuell kaum zu bearbeiten. Daher wurde in ASS ein ONLINE-Dialog geschaffen, der in die Transaktion ST06 integriert und im entsprechenden Handbuch beschrieben ist.

Zusätzlich werden Batch-Funktionen benötigt, die externe Schnittstellendateien ONLINE bearbeitbar machen bzw. ONLINE bearbeitete, externe Schnittstellen wieder als sequentielle Datei und damit der Folgeeinspeicherung zur Verfügung stellen. Diese BATCH-Funktionen werden von den Programmen PCL1084 und PCL1085 abgedeckt.

Eine ONLINE-Bearbeitung bietet sich beispielsweise an, um die von PCL1001 erzeugte Datei der fehlerhaften Schnittstellensätze zu korrigieren.

Dabei dürfte einleuchten, dass eine solche manuelle Bearbeitung nur auf relativ kleine Datenmengen von einigen tausend Sätzen ausgerichtet ist.

7.1 Externe Schnittstellendatei aus der Schlüssel-Datenbank abziehen PCL1084

FUNKTIONSBESCHREIBUNG

Das Programm PCL1084 ermöglicht, externe Schnittstellen von der Schlüssel-Datenbank auf sequentiellen Datenträger (Schnittstellendatei ASSIN01) abzuziehen.

Eine Rückführung der Schnittstelle bietet sich z.B. dann an, wenn die Arbeiten an der Schnittstelle mittels des Online-Dialogs ST06 zum Abschluss gekommen sind.

Jede externe Schnittstelle wird über einen Elementnamen identifiziert.

Je Programmlauf wird über Vorlaufkarte dem Programm PCL1084 ein Elementname mitgegeben. Das Programm erzeugt zu diesem Elementnamen die Datei ASSIN01, prinzipiell im Format einer "langen" externen Schnittstelle. Wird in der Vorlaufkarte jedoch die Option KURZ angegeben, so erzeugt das Programm die Datei ASSIN01 im Format einer "kurzen" Schnittstelle.

Wird die Option LOESCHEN angegeben, werden zusätzlich nach dem Abzug auf sequentiellen Datenträger die betreffenden Sätze auf der Datenbank gelöscht, sofern keine fehlerhaften Sätze aufgetreten sind. Abzüge der externen Schnittstellen, die mit dem Programm PCL1084 unter Angabe der Option LOESCHEN erstellt wurden, können mit dem Programm PCL1085 wieder auf die Datenbank gebracht werden.

Das Programmpaar PCL1084/PCL1085 ist also unter diesem Aspekt vergleichbar mit dem Programmpaar PCL1004/PCL1005.

ABLAUF
Datenflussplan
PCL1084_Ablauf.png
Dateibeschreibung
Nummer DD-Name/PGM Dateiname ASS_PC Beschreibung
1DST002$ASSDB/DST002Schlüssel-Datenbank
2ASSCO$ASSVLK/T1084.VLKVorlaufkartendatei
3ASSIN01$ASS/ASSIN01Externe Schnittstelle
(Format: VB LRECL=5000)
4PROTO$ASSPTK/PCL1084.PTKVerarbeitungsprotokoll
(Format: F LRECL=133 CTLASA)
VORLAUFKARTE

Aufbau der Vorlaufkarten (allgemein)

Vorlaufkarten-Optionen können auf einer oder mehreren Vorlaufkarten angegeben werden. Mehrere Optionen in einer Karte sind mit Komma(ta) zu trennen. Die erste Optionen-Angabe muss in der ersten Spalte beginnen.

Zulässige Optionen

7.2 Externe Schnittstellendatei in die Schlüssel-Datenbank laden PCL1085

FUNKTIONSBESCHREIBUNG

Externe ASS-Schnittstellen können in beliebig viele Einheiten unterteilt sein, wobei jeweils ein Kopf- und ein Endesatz die Summensätze einer solchen Einheit begrenzt. In den meisten Fällen besteht eine Schnittstelle aus einer einzigen Einheit, d.h. sie enthält neben ihren Summensätzen nur einen Kopf- und einen Endesatz.

Das Programm PCL1085 erlaubt nun, gezielt derartige Einheiten einer Schnittstellendatei in die Schlüssel-Datenbank zu laden. Abschnitte einer externen Schnittstellendatei werden mit eins beginnend durchgezählt. Mittels dieser Zählnummer werden sie in der Datei identifiziert.

Jeder geladene Abschnitt erhält einen Namen, unter dem er im Dialog bearbeitet werden kann. Diese identifizierenden Merkmale werden dem Programm über Vorlaufkarte mitgegeben (s.u.).

PCL1085 verarbeitet alle gängigen Formate von externen Schnittstellen. Das Format einer geladenen Schnittstelle ist jedoch stets das einer "langen" Schnittstelle.

Enthält die externe Schnittstelle einen Formatfehler, wird eine Fehlermeldung ausgegeben und das Programm beendet. Wird die Option LOESCHEN angegeben, werden alle Sätze, die sich unter dem Elementnamen auf der Schlüssel-Datenbank befinden, vor dem Laden gelöscht.

Die externen Schnittstellen, die mit dem Programm PCL1085 auf die Schlüssel-Datenbank geladen wurden, können mit dem Programm PCL1084 wieder auf sequentielle Datei (ASSIN01) im Format einer externen Schnittstelle gebracht werden.

Das Programmpaar PCL1084/PCL1085 ist also unter diesem Aspekt vergleichbar mit dem Programmpaar PCL1004/PCL1005.

ABLAUF
Datenflussplan
PCL1085_Ablauf.png
Dateibeschreibung
Nummer DD-Name/PGM Dateiname ASS/PC Beschreibung
1ASSIN01$ASS/ASSIN01Externe Schnittstelle
2ASSCO $ASSVLK/T1085.VLKVorlaufkartendatei
3DST002 $ASSDB/DST002Schlüssel-Datenbank
4PROTO $ASSPTK/PCL1085.PTKVerarbeitungsprotokoll
VORLAUFKARTE

Die Optionen können auf eine oder mehrere Vorlaufkarten verteilt angegeben werden. Mehrere Optionen in einer Karte sind mit Komma(ta) zu trennen. Die erste Optionen-Angabe muss in der ersten Spalte beginnen. Folgende Optionen sind zulässig:

8 Sonstige Dienstprogramme

8.1 Erstellen von Umbuchungsanforderungen aus einem Umbuchungselement PCL1093

FUNKTIONSBESCHREIBUNG

Das Programm PCl1093 wird nicht mehr unterstützt. Umbuchungsanforderungen für PCL1019 können nur händisch erstellt werden.

8.2 Kopieren von Anforderungen auf sequentielle Dateien PCL1012

FUNKTIONSBESCHREIBUNG

Für BATCH-Auswertungen stehen generell die beiden Programme PCL1003 und PCL1016 zur Verfügung. Die Ausführliche Programmbeschreibung erfolgt im Benutzerhandbuch "BETRIEB 1".

Im Unterschied zu PCL1003 ist PCL1016 in der Lage, die Anforderungsdatenbank hinsichtlich auszuführender Anforderungen auszuwerten.

Das Programm überprüft, ob einmalig oder periodisch auszuführende Anforderungen (Bibliotheken E und P) zur Ausführung fällig sind, und führt ggf. die Auswertungen aus. Im Anschluss daran werden die Anforderungen über das Ausführungsdatum in der Anforderungs-DB als ausgeführt gekennzeichnet.

Wenn bei diesem UPDATE der Dialog aktiv ist, kann dieses zu erheblichen Problemen führen. ASS bietet dazu 2 Alternativen, BATCH-Auswertungen problemlos parallel zum Dialog-Betrieb durchzuführen.

Alternative 1:

Das Auswertungsprogramm PCL1016 wird mit der Vorlaufkartenoption 'NUPDAT' oder 'NUPDATPR' gestartet. In diesem Fall unterbleibt die Markierung der Anforderungs-DB.

Die ausgeführten 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 können zur Ausführung anstehende Anforderungen auf eine sequentielle Datei übertragen werden, um sie anschließend mit dem Programm PCL1003, das unabhängig von der Anforderungs-DB arbeitet, ausführen zu lassen.

Die Anforderungen werden bei der Übertragung durch PCL1012 in der Anforderungs-DB bereits als ausgeführt gekennzeichnet.

ABLAUF
Datenflussplan
PCL1012_Ablauf.png
Dateibeschreibung
Nummer DD/Linkname Dateiname ASS-PC Bedeutung
1ASSCO$ASSVLK/T1012.VLKVorlaufkarte(n)
Auf Dummy setzen und nur bei Bedarf aktivieren.
2ASSALI$ASS/ASSALIDatei mit den von PCL1016 zur Markierung vorgesehenen Anforderungen. Auf Dummy setzen und nur aktivieren, wenn PCL1016 mit verzögertem Update angewandt wird.
3DST004$ASSDB/DST004Anforderungsdatenbank
4KARTE$ASSVLK/KARTE.VLKAusgabedatei für auszuführende Anforderungen. Wird mit Vorlaufkartenoption ASSALI gearbeitet, kann KARTE auf Dummy gesetzt werden.
5LISTE$ASSPTK/PCL1012.PTKAblauf- und Fehlerprotokoll
VORLAUFKARTE

1. Vorlaufkarte ( Alternative 1 )

Die 1. Vorlaukarte wird "nur" dann benutzt, wenn die Markierung 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 gelöscht, 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 dürfen sich nicht überlappen. Wird ohne Vorlaufkarte gearbeitet, werden von PCL1012 alle anstehenden Anforderungen bearbeitet.

BEISPIELE
  1. Der beim Lauf von PCL1016 verhinderte Update soll nachgeholt werden.
               ASSALI
    
  2. Alle zur Ausführung 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 Übertragung 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 Ausführungsdatum weiter als einen Monat zurückliegt, werden dabei gelöscht.

8.3 Modifizierung von Zeitangaben und Ausprägungen in Anforderungen und Formeln PCL1043

FUNKTIONSBESCHREIBUNG

Das Programm PCl1043 wird nicht mehr unterstützt. Systematische Änderungen von ASS-Anforderungen können nur nach Rücksprache mit dem ASS-Team und ev. erforderlichen Programmanpassungen durchgeführt werden.

8.4 Datenbanken initialisieren PCL1050

FUNKTIONSBESCHREIBUNG

Bei der Installation von ASS ist es notwendig, in Abhängigkeit vom DB-System, Datenbanken zu initialisieren. Denn bis auf die Summendatenbank wird auf die Datenbanken nur ändernd oder lesend zugegriffen, aber niemals ladend. Dies trifft auch für die Summendatenbanken zu, die als List-, PM-, Pseudonym-Datenbank oder Anforderungs-Cache verwendet werden.

I.a. wird das Initialisieren von den betreffenden DB-Systemen unterstützt.

In einer VSAM-, DLI- oder ISAM-Umgebung ist das Initialisieren (auch Formatieren genannt) mitunter arbeitsaufwendig. Daher wird von ASS ein Utility zur Verfügung gestellt, das die Initialisierung der betreffenden Datenbanken erleichtert. Die Initialisierung wird vom Programm PCL1050 durchgeführt.

Es ist zu beachten, dass es bei dem DC-System CICS keine SPA-Datenbank gibt, diese wird durch die CICS-Anweisungen für temporäre Dateien realisiert.

PCL1050 lädt folgende Daten (VSAM/DLI):

Auf die Werte-DB wird der Wert 4999 geladen, auf die Schlüssel-DB der Schlüssel 4999 und auf die Steuerungs-DB das Arbeitsgebiet 49. Diese können dann bei Bedarf via ST06 gelöscht werden.

Auf die Anforderungsdatenbank wird die Anforderung AN_49 auf die Bibliothek B geladen. Diese kann via ST31 oder ASS-Excel gelöscht werden.

Auf die Berichtsdatenbank wird die Liste LADESATZ mit der Bibliotheksart L geladen. Diese kann via ST31 zum Löschen gekennzeichnet werden und mittels PCL1094 gelöscht 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 später mit der Transaktion ST09 gelöscht werden.

Auf die Text-Datenbank wird ein Text-Satz zur Sprache 'D' mit Textart 'T' und dem Inhalt 'LADESATZ ... ' geschrieben. Er kann später bei Bedarf mit der ST06 gelöscht werden.

Auf die PM-Datenbank wird ein Ladesatz mit dem Usernamen BATCH, dem Elementnamen PM_nnnn (wobei nnnn die Nummer des Arbeitsgebiets mit führenden 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 über dieses Include installiert und Einzelheiten entnehme man dem Handbuch Installation unter dem entsprechenden Datenbanksystem.

Auf die Datenbank-Datenbank wird ein Dummy-Satz geschrieben, welcher nicht mehr gelöscht werden kann.

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 dürfen 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 anschließend ein CLOSE durchgeführt. Bei einer ISAM-Umgebung wird auch eine BEFORE-IMAGE-Datei DST006 benötigt, die ebenfalls formatiert werden muss. Sie ist von den Dateimerkmalen identisch zur Werte-Datenbank DST001. Um die DST006 zu formatieren kann also eine Werte-Datenbank unter dem Namen DST006 formatiert werden.

Datenflussplan
PCL1050_Ablauf.png
Dateibeschreibung
DD-Name RECFM/LRECL Dateiname ASS-PC Beschreibung
ASSCOFB 80$ASSVLK/T1050.VLKVorlaufkarte
ASSLSTFBA 133$ASSPTK/PCL1050.PTKProtokoll
DST001
DST011 *
DST012 *
DST013 *
$ASSDB/DST001WE-DB Wertedatenbank
DST002
DST021 *
DST022 *
DST023 *
$ASSDB/DST002KY-DB Schlüsseldatenbank
DST003
DST031 *
DST032 *
DST033 *
$ASSDB/DST003ST-DB Steuerungsdatenbank
DST004
DST041 *
$ASSDB/DST004AN-DB Anforderungsdatenbank
DST005 *$ASSDB/DST005SPA-DB SPA-Datenbank
DST007
DST071 *
$ASSDB/DST007TE-DB Text-Datenbank
DST008$ASSDB/DST008HTML-SPA-DB für ASS-Internet
DST009
DST091 *
$ASSDB/DST009SC-DB Security-Datenbank
DSTXX0
DSTXX1 *
$ASSDB/DSTXX0LIST-DB Listen-Datenbank
DSTnn0
DSTnn1 *
$ASSDB/DSTnn0Anforderungs-Cache
DSTnn0
DSTnn1 *
$ASSDB/DSTnn0Pseudonym-Datenbank
DSTnn0
DSTnn1 *
$ASSDB/DSTnn0 Log-Datenbank(en)

Bemerkung: Die mit "*" gekennzeichneten Datenbanken sind nur für das DB-System DL/I relevant. Die SPA-Datenbank wird für das DC-System IMS benötigt, aber nicht für CICS.

VORLAUFKARTE
Die Optionen werden ab der 1. Karte angegeben und untereinander durch Kommata getrennt.

ACHTUNG:
Es werden aber nur die ersten 72 Zeichen innerhalb einer Karte berücksichtigt.

Inhalt Aktion
WESatz in Werte-Datenbank schreiben
KYSatz in Schlüssel-Datenbank schreiben
STSatz in Steuerungs-Datenbank schreiben
ANSatz in Anforderungs-Datenbank schreiben
SPASatz in SPA-Datenbank schreiben
TESatz in Text-Datenbank schreiben
HTMLSPASatz in SPA-Datenbank für ASS-Internet schreiben
SCSatz in Security-Datenbank schreiben
LISTDBSatz in Listen-Datenbank schreiben
ANFCACHESatz in Anforderungs-Cache schreiben
PSEUDONYMSatz in Pseudonym-DB schreiben
TEXT-INDEX-1Analog zu LOG-DB
TEXT-INDEX-2Analog zu LOG-DB
TEXT-INDEX-3Analog zu LOG-DB
INDEX-TEXTAnalog zu LOG-DB
INDEX-DB-ALL Installierte TEXT-INDEX-1, TEXT-INDEX-2, TEXT-INDEX-3 und INDEX-TEXT
LOG-DB-1-3 D A 114 AG-LOGDB (siehe LOG-DB-ALL)
LOG-DB-4 D A 114 AG-LOGDB-DST004 (siehe LOG-DB-ALL)
LOG-DB-7 D A 114 AG-LOGDB-DST007 (siehe LOG-DB-ALL)
LOG-DB-9 D A 114 AG-LOGDB-DST009 (siehe LOG-DB-ALL)
LOG-DB-AUSW D A 114 AG-LOGDB-AUSWERTUNG (siehe LOG-DB-ALL)
LOG-DB-ALL sämtliche Log-Datenbanken (obige fünf)
PC: DB anlegen und Endesatz zur Optimierung
geblockte DB: Endesatz zur Optimierung
BS2000: DB anlegen
VSAM und DL/I: Ladesatz
sonst: ohne Aktion
DB=... Diese Angabe ist ab ASS 8.70 obsolet, egal was hinter "=" steht.
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 eingefügt werden.

8.5 Arbeitsgebiete sperren PCL1082

FUNKTIONSBESCHREIBUNG

Mit dem Dienstprogramm PCL1082 kann man Arbeitsgebiete für die Auswertung sperren bzw. wieder freigeben. Ein gesperrtes Arbeitsgebiet steht nicht für Auswertungen zur Verfügung. Es ist aber möglich, in gesperrte Arbeitsgebiete einzuspeichern bzw. gesperrte Arbeitsgebiete zu reorganisieren. Von daher ist es sinnvoll, Arbeitsgebiete während Einspeicherungen oder Reorganisationen zu sperren, um zu verhindern, dass vor korrektem Abschluss dieser Maßnahmen Auswertungen auf zwischenzeitlich inkonsistente Daten zugreifen.

Es besteht zusätzlich die Möglichkeit, Arbeitsgebiete für die Folgeeinspeicherung zu reservieren. Hierzu ist in der Vorlaufkarte die Angabe FOLGEEINSP zu machen. Derartig gekennzeichnete Arbeitsgebiete stehen für die Auswertung zur Verfügung, werden jedoch für die Verarbeitung durch die meisten Batch-Utilities (z.B. Reorganisationsprogramme) gesperrt. Hierdurch besteht die Möglichkeit, insbesondere während des Laufes von PCL1001 die Auswertung des zu bespeicherenden Arbeitsgebietes zu ermöglichen. Ein Arbeitsgebiet, dass für 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 über Vorlaufkarten gesteuert.

VORLAUFKARTE

Eine Vorlaufkarte muss die Arbeitsgebietsnummer enthalten und eine Angabe, wie das Arbeitsgebiet zu behandeln ist. Für jedes zu behandelnde Arbeitsgebiet muss eine Vorlaufkarte angegeben werden.

ACHTUNG:
Es werden nur die ersten 72 Zeichen innerhalb einer Karte berücksichtigt.

FORMAT:

           AGNR = 37 , SPERREN
           AGNR = 04 , FREIGEBEN
           AGNR = 23 , FOLGEEINSP

Bemerkung

Ist ein Arbeitsgebiet nicht geprüft, so kann kein Sperrkennzeichen gesetzt werden.

Datenflussplan
PCL1082_Ablauf.png
1  SPA-Datenbank
   //DST005
   //DST051 (DLI)
   $ASSDB/DST005 (PC)

2  Steuerungs-DB
   //DST003
   //DST031 (DLI)
   //DST032 (DLI)
   //DST033 (DLI)
   $ASSDB/DST003 (PC)

3  Vorlaufkarte
   //ASSCO
   $ASSVLK/T1082.VLK (PC)

4  Protokoll
   //ASSLST
   $ASSPTK/PCL1082.PTK

8.6 Formate (MFS) modifizieren ( nur IMS ) PST1053(PCL1053)

FUNKTIONSBESCHREIBUNG

Dieses Programm wird nicht mehr ausgeliefert.

8.7 Transparente Verdichtungsstufen transformieren (nur Installationen mit FOCUS-Zugriff) PCL1048

FUNKTIONSBESCHREIBUNG

Dieses Programm wird nicht mehr unterstützt.

8.8 Transparente Verdichtungsstufen entsorgen (nur Installationen mit FOCUS-Zugriff) PCL1057

FUNKTIONSBESCHREIBUNG

Dieses Programm wird nicht mehr unterstützt.

8.9 Aufruf von MCL0272 aus Assembler MCL0271

siehe MCL0272

8.10 Summensätze aus Basisverdichtungsstufe liefern MCL0272

Dieses Programm ist ein COBOL-Unterprogramm, das von benutzereigenen Batch-Hauptprogrammen aufgerufen werden kann. Es gibt pro Aufruf einen Satz aus der Summendatenbank zurück, der die eingegebenen Suchkriterien erfüllt. Bei jedem Folgeaufruf liefert MCL0272 den nächsten Summensatz zu diesen Suchkriterien (sofern vorhanden).

Die Suchkriterien müssen vom aufrufenden Programm mitgeteilt werden : Zu jedem eingegebenen Schlüssel muss genau ein Inhalt vorgegeben werden, mit dem dann der entsprechende Schlüsselinhalt des Rückgabesatzes übereinstimmen muss. Es wird immer die Basisverdichtungsstufe ausgewertet. Die Reihenfolge der zurückgegebenen Sätze richtet sich nach der Reihenfolge auf der Summendatenbank und somit nach den internen Schlüsselinhaltsnummern.

Mittels dieses Programmes ist es z.B. leicht möglich, mit Hilfe eines vom Benutzer geschriebenen Hauptprogramms beliebige Umbuchungen vorzunehmen. Der Ausgabesatz wird im Format der langen Schnittstelle erstellt.

Dem MCL0272 sind mitzuteilen :

Das MCL0272 liefert zurück :

Schnittstellenbeschreibung s.u..

Zur Programmlogik des MCL0272 :
Es werden alle verwendeten und in der Basisverdichtungsstufe ausgeprägten Schlüssel samt ihrer aktuellen Ausprägungen zurückgegeben.
Ferner werden zu den eingegebenen Werten und den Zeitpunkten im eingegebenen Intervall die Werteinhalte zurückgeliefert, sofern sie auf der Summendatenbank vorhanden sind. Wurden keine Werte eingegeben, so werden alle in der Basisverdichtungsstufe verwendeten Werte ergänzt, die keine Vorgabewerte sind.

Soll bei Folgeaufrufen des MCL0272 jeweils nur der nächste Summensatz zurückgegeben werden, so muss die Eingabeschnittstelle unverändert bleiben. Werden in der Eingabeschnittstelle nur die Schlüsselinhalte geändert, so wird die Summendatenbank wieder von vorne gelesen, 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 Werteeinträge in den Ausgabesatz, so führt MCL0272 Satzsplitting durch: Zunächst werden soviele Werteeinträge zurückgeliefert, wie in den Ausgabesatz passen, beim nächsten Aufruf werden dann die nächsten Werteeinträge zurückgegeben, usw..

Zwischen 2 Aufrufen des MCL0272 sollte der Ausgabeparameter ASSIN01 nicht verändert werden, da nicht alle Felder von ASSIN01 jedesmal neu gefüllt werden.

Zum Begriff der Basisverdichtungsstufe :
Diese kann von den angegebenen Werten abhängig sein. Schlüssel, die auch in keiner anderen Verdichtungsstufe, in der einer der eingegebenen Werte verwendet wird, ausgeprägt sind, können in dieser Basisverdichtungsstufe verdichtet sein, alle anderen müssen ausgeprägt sein. MCL0272 kann mehrere Verdichtungsstufen einer Verdichtungsstufenmenge verarbeiten, die Verdichtungsstufenmenge jedoch muss eindeutig sein.
Im Falle mehrerer Verdichtungsstufen wird eine nach der anderen abgearbeitet. Auch wenn sich 2 Verdichtungsstufen zeitlich überschneiden, werden die Summensätze getrennt zurückgegeben und nicht aufaddiert.

Verdichtungsstufen, die sich nicht auf einer Summendatenbank befinden ( sequentielle Verdichtungsstufen ), werden nicht berücksichtigt.

Aufrufparameter von MCL0272

In COBOL lesen sie sich so:

        01  EINTAB-ALT-L.
         05 AG.
       *   Arbeitgebietsnummer
           10 AGNR                   PIC S9(04) COMP VALUE +0.
       *   von-Angabe  Zeit
           10 ZEIT-VON-EIN-P         PIC X(04).
       *   bis-Angabe  Zeit
           10 ZEIT-BIS-EIN-P         PIC X(04).
       *   Anzahl Schlüssel
           10 ANZ-SCHL               PIC S9(04) COMP.
       *   Anzahl Werte
           10 ANZ-WERTE              PIC S9(04) COMP.
           10 KENR       OCCURS 224  PIC S9(04) COMP.
       *   Schlüsselnummern
           10 WENR       OCCURS 90   PIC S9(04) COMP.
         05 KEYS.
       *   Schlüsselinhalte zu den Schl. aus KENR
           10 KEINH      OCCURS 224  PIC X(60).
       *  Opcode :
       *  'CLOS' : Close auf  Summendatenbank und Parameterdatenbanken
       *  Blank  : sonst
         05 OPC                      PIC X(04).

       *  Ausgabesatz
        01  CH-W-ASSIN01.
       *  Satzlänge
          05 SL                       PIC S9(04) COMP.
       *  Datenteil
          05 DTA.
            10 BYTE  OCCURS 20000     PIC X.

        01  W-ASSIN01                 REDEFINES CH-W-ASSIN01.
          05 SATZ-LAENGE              PIC S9(04) COMP.
      *   Nr. der Schnittstelle
          05 SCHNST-NR                PIC S9(04) COMP.
      *   ERSTELLUNGSDAT.JJMMTT
          05 EDATUM                   PIC X(06).
      *   Satzart
          05 SATZ-ART                 PIC S9(04) COMP.
      *   Ordnungsbegriff in Ausgabe
          05 ORD-BEGR                 PIC X(30).
          05 SCHL-ZAHL                PIC S9(04) COMP.
          05 WERT-ZAHL                PIC S9(04) COMP.

        01  CH-W-ASSIN01-2-K          REDEFINES CH-W-ASSIN01.
          05 FILLER                   PIC X(46).
          05 SCHL-EINTAB              OCCURS 224.
            10 SCHL-NR                PIC S9(04) COMP.
            10 SCHL-INH               PIC X(12).

        01  CH-W-ASSIN01-2-L          REDEFINES CH-W-ASSIN01.
          05 FILLER                   PIC X(46).
          05 SCHL-EINTAB              OCCURS 224.
            10 SCHL-NR                PIC S9(04) COMP.
            10 SCHL-INH               PIC X(68).



8.11 Externe ASS-Schnittstelle erstellen PCL1081

Dieses Programm erzeugt aus einer vom Benutzer erstellten Schnittstelle eine externe Schnittstelle für ASS im kurzen Format. Dabei werden Konsistenzprüfungen durchgeführt, wobei die Einträge in der angelieferten Eingabedatei mit den Daten auf den Parameterdatenbanken verglichen werden. Z.B. wird geprüft, ob überhaupt eine passende Verdichtungsstufe zur Einspeicherung vorhanden ist.

Zur Programmlogik

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  (KEY) (REL) (IKY) (JRE) */
                                   /*  3: WERT MIT ZEIT (JJMM)      */
                                   /*  4: WERT MIT ZEIT (JJMMTT)    */
                         /*  5: Schlüssel mit Ausprägung ?! (FIX)   */
                         /*  6: Schlüssel nur im Kopfsatz    (ADD)  */
                                   /*  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 Summensätze der Eingabedatei

Die Summensätze müssen alle im Kopfsatz angekündigten Datenfelder an der angekündigten Position enthalten. Schlüsselinhalte und Ordnungsbegriff werden im Character-Format erwartet.

Werte werden in gepackter Form erwartet. Die Längenangabe im Kopfsatz gibt die Länge 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 für

        Arbeitsgebiet 1,
        Schlüssel     LAND, KREIS, BAUSPARTARIF
        Schlüsselnr.    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 Satzlängenfeld)

Die Ausprägungen obiger Schlüssel seien Bayern, Muenchen, T1, die Werteinhalte 112 und 120233334 zum Datum Jan. 1992 bzw. Februar 1992. Dann sieht der zugehörige Summensatz folgendermaßen aus: (Die Zwischenräume grenzen die einzelnen Einträge in diesem Beispiel nur der Übersichtlichkeit 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 Schlüssel des gewünschten Arbeitsgebietes enthalten, die für die geplante Datenübernahme erforderlich sind. Dies sind alle Schlüssel aus allen denjenigen aktiven Verdichtungsstufen, die durch die gewünschte Einspeicherung eines Wertes betroffen sind, in denen der Wert also verwendet wird.

Es muss wenigstens ein Wert des gewünschten Arbeitsgebietes enthalten sein, der in einer nicht stillgelegten Verdichtungsstufe 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 vorkommen. Alle Bestandswerte müssen dasselbe Datum enthalten. Mehrere Werte dürfen auf dasselbe Wertedatum Bezug nehmen.

Verwendung einer Metatabelle

Die Beschreibungen der angelieferten Summensätze in der Datei ASSOU01 können statt aus dem Kopfsatz auch aus einer Tabelle ( = Metatabelle) geholt werden. Diese Metatabelle kann Informationen aus mehreren Arbeitsgebieten enthalten. Das für die Erstellung der externen Schnittstelle relevante Arbeitsgebiet wird dann in der Vorlaufkarte angegeben.
Ferner können in der Metatabelle Feldformate bestimmt werden. Z.B. können Werteinhalte nicht nur als dezimal gepackt, sondern auch in binärer Form oder im Picture-Format angeliefert werden. Die Metatabelle wird in der JCL unter dem DD-Namen ASSIN02 angegeben.

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 Sätze
. . .
neue AG-Zeile oder Datei-Ende (kennzeichnet Ende der Information über betreffendes AG )
Leerzeilen sind erlaubt und werden überlesen.

Aufbau der AG-Zeile

Spalte Inhalt
1 -  2 'AG'
4 -  7Arbeitsgebietsnummer, Format PIC '9999'
9 - 16Werteanlieferungsart : '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 Sätze

Spalte Inhalt
 1 -  4Position des Feldes in den angelieferten Summensätzen, Format PIC 9999
 6 -  9Länge des Feldes, Format PIC 9999
11 - 14Nummer des Elements, also Schlüssel- oder Wertenummer
16 - 18
Typ des Elements : 'KEY' / 'VAL' / 'VAT' / 'ADD' /
                   'FIX' / 'ORD' / 'REL' / 'IKY' / 'JRE'
20 - 25
Feldformat : 'CHAR' / 'NUMBER' / 'PACKED' / 'BINARY'
             'NUMKST'
27 - 46Bezeichnung, wird nicht abgefragt
48 - 51Position des Datums, nur relevant für Werteeinträge
( Typ 'VAL' ), Format PIC 9999

Bedeutung der Element-Typen

Typ Bedeutung
KEY Schlüssel im ASS-Sinne
VAL Wert im ASS-Sinne, Zeit im Format JJMM
VAT Wert im ASS-Sinne, Zeit im Format JJMMTT
FIX Schlüssel im ASS-Sinne, aber als Ausprägung wird in den Sätzen der externen Schnittstelle stets die Pseudoausprägung '?!' eingesetzt.
Längen und Positionsangabe brauchen in der Metatabelle nicht angegeben zu werden.
ADD Schlüssel im ASS-Sinne, der im betreffenden Arbeitsgebiet verwendet wird, aber für die Einspeicherung irrelevant ist, da er in keiner von der Einspeicherung betroffenden Verdichtungsstufe ausgeprägt ist.
Längen und Positionsangabe brauchen in der Metatabelle nicht angegeben zu werden.
ORD Ordnungsbegriff
RELRelation im ASS-Sinne
Line-Sequential: R Relationsnummer
IKYSchlüssel im ASS-Sinne
Nur für Indexschlüssel: Index ausgeben statt Langtextierung
Line-Sequential: I Schlüsselnummer
JRERelation im ASS-Sinne
Nur für Indexrelationen: Index ausgeben statt Langtextierung
Line-Sequential: J Relationsnummer

Bedeutung der Feld-Formate

Format Bedeutung
CHAR Character(s)
PACKED Dezimal gepackte ganze Zahl, maximal 15 Stellen
BINARY ganze Zahl im binären 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 für 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  (KEY) (REL) (IKY) (JRE)  *
                          *  3: WERT, ZEITFORMAT JJMM                *
                          *  4: WERT, ZEITFORMAT JJMMTT              *
                          *  5: Schlüssel mit Ausprägung ?! (FIX)    *
                          *  6: Schlüssel nur im Kopfsatz    (ADD)   *
                          * 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 DES ZUGEHOERIGEN WERTEDATUMS  *
         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. semikolonsepariert und im Character-Format angeliefert.

Aufbau der Summensätze 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 zulässig. Blanks innerhalb einer Spalte sind möglich. Bei Werten dürfen auch führende bzw. schleppende Nullen vorhanden sein. Kommata sowie Tausenderpunkt werden ebenfalls verarbeitet.

Beispiel für Line-Sequential

Der Kopfsatz für 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 für 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 überlesen, 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 Vorlaufkarte nur ein Semikolon anzugegeben.

Mögliche Optionen
Option Bedeutung
METATAB Beschreibende Informationen für die angelieferten Summensätze werden aus der Metatabelle geholt ( DD-Name ASSIN02 )
AGNR=xxxxAngabe des Arbeitsgebietes, für das eine externe Schnittstelle erstellt werden soll.
Ist nur für die Option METATAB relevant.
KOPFORT=xKopfsatz befindet sich auf ASSIN01 bzw. ASSIN02 (Include SST1222 übersteuern)
FORMAT=x Kopf- und Summensatz werden im angegebenen Format erwartet (Bsp. L für line-seq.).
KOMMA=x Angegebenes Zeichen wird als Komma interpretiert. Ist nur für Line-sequentielles Format von Bedeutung. Optional.
TP=x Angegebenes Zeichen wird als Tausenderpunkt interpretiert. Nur für Line-sequentielles Format von Bedeutung. Optional.
TRENNZ=x Angegebenes Zeichen wird als Trennzeichen bei Line-sequentiell interpretiert. Optional.
CONT=xAngegebenes Zeichen wird als Fortsetzungszeichen für Folgesätze im Kopfsatz bei Line-sequentiell interpretiert. Standardmäßig ist dies das /.
CSV Ausgabe im csv-Format
TAB Als Trennsymbol für die Eingabedatei (line-sequential) und die csv-Ausgabe wird statt des Semikolons der Tabulator verwendet.
FEHLER=xxxxxxxxxxMaximale Anzahl fehlerhafter Summensätze, die toleriert werden.
NO_SUSATZ_OK Standard: Fehler ASS7056, wenn nur fehlerhafte oder gar keine Summensätze geliefert werden, also kein Wert ausgegeben werden kann.
NO_SUSATZ_OK: Situation wird toleriert und die Werte im Kopfsatz mit Datum der jeweils letzten Einspeicherung pro Wert angegeben
WE_LEER_OK Leere Werteinhalte werden ignoriert
KY_MISS_OK Schlüssel, die für die Einspeicherung eigtl. relevant sind, dürfen fehlen. In PCL1001 können sie dann z.B. über die Vorlaufkartenoption "INHALT(...)= ..." mit einer Standardausprägung versorgt werden.
SP_NAME_ANZ = n 1 <= n <= 100
Die ersten n Zeilen der Eingabeschnittstelle werden ignoriert.
So können z.B. Überschriftzeilen überlesen werden, welche sonst als Summensätze interpretiert würden.
Nur für FORMAT=L (line-sequentiell) relevant.
SP_NAME = n 1 <= n <= 100
s.u.
BLANK_AU = t t kann auch mit ' geklammert werden.
Auszugebende Ausprägungen, die leer sind, werden durch den Ausdruck t ersetzt.
Zu lange Inhalte werden abgeschnitten.
Bei Relationsinhalten werden alle leeren Teilschlüssel ersetzt.
BLANK_TXT = t t kann auch mit ' geklammert werden.
Auszugebende Textierungen, die leer sind, werden durch den Ausdruck t ersetzt.
Zu lange Inhalte werden abgeschnitten.
Bei Relationsinhalten gilt dies für die gesamte Relation.
ORD = t t kann auch mit ' geklammert werden.
Ordnungsbegriff für den Kopfsatz (maximale Länge ist 28).
STEUERZ_ZU_LEERZ Bei CSV-Ausgabe werden nichtdruckbare Zeichen (sog. Steuerzeichen, also alle Zeichen vor dem Leerzeichen des jeweiligen Zeichensatzes) durch Leerzeichen ersetzt. Es wird kein Fehler in die ASSFEHL geschrieben, sondern lediglich ein Hinweis ausgegeben.

SP_NAME

:

Nur für FORMAT=L (line-sequentiell) relevant: Normalerweise müssen die angelieferten Schlüssel, Werte und Wertezeiträume im Kopfsatz über die Spaltennummer in der Eingabeschnittstelle identifiziert werden. Werden dort dann die Spalten umsortiert oder neue eingefügt, müssen jedesmal die Spaltennummern im Kopfsatz angepasst werden. Einfacher hat man es, wenn es in der Eingabeschnittstelle eine Überschriftzeile gibt, die jeder Spalte einen eindeutigen Namen gibt.
Gibt man dann in der Vorlaufkarte SP_NAME = n an (die Überschriftzeile ist die n-te Zeile der Eingabeschnittstelle), so können (und müssen) im Kopfsatz die Schlüssel, Werte und Zeiträume über ihren jeweiligen Spaltennamen identifiziert werden. Die ersten n - 1 Zeilen werden außerdem wie bei SP_NAME_ANZ überlesen. SP_NAME_ANZ und SP_NAME können auch gleichzeitig verwendet werden: Gibt es z.B. 3 Überschriftzeilen, von denen die 2. die Spaltennamen enthält, so sind SP_NAME = 2 und SP_NAME_ANZ = 3 anzugeben.
Die angesprochenen Spaltennamen müssen in der Eingabeschnittstelle eindeutig sein. Führende und abschließende Blanks werden ignoriert und Kleinbuchstaben werden von Großbuchstaben unterschieden. Bei nicht angesprochenen Spalten wird der Name nicht überprüft.

8.12 Abzug der Summendatenbank ins Ladeformat transformieren PCL1083

Mit dem Programm PCL1083 kann der Abzug einer Summendatenbank von PCL1024 und PCL1124 transformiert werden zum Laden mit PCL1013.

Beim Einsatz von PCL1124 ist zu beachten, dass nur genau eine Datenbank damit abgezogen werden darf, da PCL1083 nicht zwischen primären und sekundären Summendatenbanken unterscheidet. Das Programm ist also gedacht für die Migration auf ein anderes Datenbanksystem oder das Zurückladen nach einer abgebrochenen Folgeeinspeicherung oder Reorganisation.

Ablauf-Skizze
PCL1083_Ablauf.png
DD-Name Dateiname ASS-PC Beschreibung
ASSCO$ASSVLK/T1083.VLKVorlaufkarte, optional
PROTO$ASSPTK/PCL1083.PTKProtokoll (FBA 133)
ASSAINN$ASS/AG_SUM.EBCSummendatenbankabzug von PCL1024/PCL1124
ASSAONN$ASS/AG_SUM.UPDLadedatei für PCL1013 (VB 20004)

Außer der Textdatenbank wird auf keine Datenbank zugegriffen.

Mögliche Optionen
Option Bedeutung
DB2Die erzeugte Ausgabedatei kann anschließned mit dem DB2-LOAD-Utility geladen werden.
DB2BLwie DB2, Ausgabedatei wird im festgeblockten Format erstellt
ADADie erzeugte Ausgabedatei kann anschließned mit dem ADABAS-LOAD-Utility geladen werden.
COBOLDiese Option wird ignoriert.

Bei VSAM kann statt PCL1013 auch die Funktion REPRO des IBM-Utility IDCAMS benutzt werden. Bei PCL1083 ist dann die Option ADA anzugeben.

Bei ADABAS kann statt PCL1013 auch das SAG-Utility benutzt werden, das nach PCL1002 zum Laden eingesetzt wird. Nach PCL1083 mit der Option ADA ist dabei als Exit 6 MST0100 anzugeben.

Bei dem Datenbanksystem DL/I kann statt PCL1024 das IBM-Utility DFSURGU0 und statt PCL1083 nebst PCL1013 das IBM-Utility DFSURGL0 benutzt werden.

8.13 Datenbank für Standard-User-Exit laden/bearbeiten/abziehen (PCL1230/PCL1231)

Das Programm PCL1231 kann eine Datenbank zur Textierung von Anforderungen laden. Diese Datenbank wird dann, falls entsprechend installiert (s. Installationsvariablen MCL0097-AKTIV bzw. AG-TextDB) vom USER-Exit MCL0097 zum Auswertungszeitpunkt eingelesen, falls zusätzliche Textierungen angefordert sind (Inhaltsbezeichnung oder -abkürzung bei Schlüssel bzw. Relation oder &&KSiEn in Überschriften). Auf diese Weise können Adressen oder Ähnliches in eine Anforderung eingetragen werden.
Die User-Exit-DB wird allerdings nur bei Schlüsseln/Relationen ausgewertet, zu denen kein sonstiger kundeneigener User-Exit definiert ist (durch MCL0897 oder Änderung von MCL0097 selber durch das Copy SST2165).

Mit PCL1230 kann die User-Exit-DB abgezogen werden (s.u.).

Für die Auswertung unter ASS-Excel ist zu beachten: Die erweiterten Textangaben stehen im Bezüge-Blatt dann zur Verfügung, wenn bei "Zusätze --> Seitenüberschriften" formal der Begriff &&KSiE1 angefordert wurde (also z.B. &&KS2E1 für den zweiten Kopf-/Zeilenschlüssel).

PCL1231

Das PCL1231 lädt dazu aus einer Schnittstelle (s.u. ASSIN) eine speziell eingerichtete Datenbank. In ASS unter 32-Bit-Windows ist dies die DSTTXT, in allen anderen Versionen wird eine Summen-DB verwendet, für die eine Arbeitsgebietsnummer reserviert werden muss, siehe HINSTALL, AG-TextDB. Am PC muss bei einem erstmaligen Laden die VLK-Option DELETE_ALL (s.u.) verwendet werden, damit die Datenbank auch initialisiert wird. Unter Windows muss die Schnittstelle im Zeichensatz CP1252 ("Windows-ANSI") vorliegen.

Ablaufplan
PCL1231u_Ablauf.png
Datei-Definitionen
DD-Name Dateiname ASS-PC Beschreibung
ASSCO$ASSVLK/T1231.VLKVorlaufkarte, darf leer sein
ASSLST
(FBA 133)
$ASSPTK/PCL1231.PTKProtokoll
ASSIN
(VB)
$ASS/PCL1231.TXTEingabedatei, wird nur gelesen.
Host: Alte Schnittstellen können durch Dateiverkettung zusammen mit der neuen wieder eingespielt werden.
Mögliche Optionen
Option Bedeutung
DELETE_ALLDie User-Exit-DB wird vor Verarbeitung der Eingabeschnittstelle gelöscht (PC: Open-Output auf DB-Datei; Host: Löschen aller Segmente auf der DB). Die Datenbank wird dann aus der Eingabeschnittstelle neu aufgebaut.
TRENNER_IM_TEXTMuss angegeben werden, wenn man Textierungen mit Semikolon einspeichern will. Weitere Infos s.u.
Unwirksam (weil unnötig), wenn die Felder der Eingabedatei tabulatorgetrennt sind oder die Datei von PCL1230 erzeugt wurde (da dann das Format über das "V" bzw. "W" im 1. Feld des Kopfsatzes festgelegt wird).
PRUEFEN Nur Prüflauf.
Satzaufbau von ASSIN:

Alle Einträge der Eingabeschnittstelle sind lesbare Zeichen; die einzelnen Felder werden mit Semikolon oder Tabulator getrennt, was von PCL1231 automatisch erkannt wird: Der Tabulator gilt, wenn der erste Satz der Eingabedatei einen Tabulator enthält, auch wenn dies der von PCL1230 generierte Kopfsatz ist. Führende Leerzeichen werden berücksichtigt.

Zu beachten bei Vorlaufkartenoption "TRENNER_IM_TEXT" (bzw. "V" im 1. Feld des von PCL1230 generierten Kopfsatzes):

Die Sätze in ASSIN sind wie folgt aufgebaut:

Feld Bedeutung Max. Länge des Eintrages
1Schlüssel- oder Relationsnummer.
Relationen werden mit "R" gekennzeichnet, z.B. "R100"
-
2Zu textierender Schlüsselinhalt50
3Textierung bei Schlüsselinhaltsbezeichnung50
4Textierung bei Schlüsselinhaltsabkürzung50
5Textierung bei &&KSiE1 (i-ter Kopf-/Zeilenschlüssel)100
6Textierung bei &&KSiE2 (i-ter Kopf-/Zeilenschlüssel)100
7Textierung bei &&KSiE3 (i-ter Kopf-/Zeilenschlüssel)100
8Textierung bei &&KSiE4 (i-ter Kopf-/Zeilenschlüssel)100
9Textierung bei &&KSiE5 (i-ter Kopf-/Zeilenschlüssel)100
10Textierung, wenn beim Schlüssel die Mengenfunktion (NUR_MENGEN) aktiviert ist.50

Es müssen nicht alle Textfelder belegt werden. Fehlt das 10. Feld, wird bei Schlüsseln mit Mengenfunktion das 3. Feld herangezogen (jedoch nur, wenn das 10. Feld bei allen Inhalten des Schlüssels fehlt).

Beispiel:

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

PCL1230

Mit PCL1230 wird die User-Exit-DB abgezogen. Die Ausgabedatei kann wiederum direkt mit PCL1231 geladen werden.

Ablaufplan
PCL1230u_Ablauf.png
Datei-Definitionen
DD-Name Dateiname ASS-PC Beschreibung
ASSCO$ASSVLK/T1230.VLKVorlaufkarte, darf leer sein
ASSLST
(FBA 133)
$ASSPTK/PCL1230.PTKProtokoll
ASSCSV
(VB)
$ASS/PCL1231.TXTAusgabedatei, wird nur geschrieben.
Mögliche Optionen
Option Bedeutung
KEYHiermit können statt der gesamten User-Exit-DB die Textierungen zu einzelnen Schlüsseln/Relationen abgezogen werden.
Mit "KEY = nnn" wird der Schlüssel mit Nr. nnn abgezogen, mit "KEY = Rnnn" die Relation nnn.
Mehrfachnennungen wie "KEY = 123 KEY = 345 KEY = R2" sind möglich, das "=" kann auch weggelassen werden.
TABStatt des Semikolons wird der Tabulator als Trennzeichen verwendet. Wird die erzeugte ASSIN wieder mit PCL1231 verarbeitet, erkennt dieser das Trennzeichen automatisch.
TRENNER_IM_TEXTMuss angegeben werden, wenn Textierungen das Semikolon enthalten und TAB nicht angegeben wurde, sonst bricht das Programm mit Fehler ab.
Textierungen mit Semikolon oder Gänsefüßchen werden dann in Gänsefüßchen eingeschlossen. Gänsefüßchen, die zur Textierung selbst gehören, werden dann durch jeweils 2 Gänsefüßchen dargestellt.
Ein derartiger Abzug wird im 1. Feld der Kopfzeile durch ein "V" statt einem "W" gekennzeichnet, damit PCL1231 die Datei entsprechend verarbeiten kann.
Unwirksam, wenn auch TAB angegeben wurde, da Textierungen keinen Tabulator enthalten dürfen und somit keine Verwechslungsgefahr besteht.

8.14 FTP im Text-Format (PCL1174 und PCL1175)

Beim ftp zwischen Windows und BS2000 ist der binäre Modus nur durch die beiden folgenden Anweisungen zu erreichen:

Alternative Lösung für das Übertragen des Textdatenbank- oder Arbeitsgebietsabzugs:
PCL1174 und PCL1175 können für jede Datei mit fixer Satzlänge (FB) 80, 96 und 166 genutzt werden. Die Übertragung dieser Datei kann binär oder im Textformat (ASCII ohne Zeilenterminierung) erfolgen, wobei dies durch eine doppelt so große Ausgabe von PCL1174 erreicht wird.

PCL1174_Ablauf.png

Mit der linksbündigen Angabe FB80 oder FB96 oder FB166 wird die entsprechende Länge festgelegt.
Bei FB80 wird über ASSIN und ASSOUT zugegriffen, bei FB96 wird über ASSI96 und ASSO96 zugegriffen und bei FB166 wird über ASSI166 und ASSO166 zugegriffen.

8.15 Interne Schnittstellendatei in festgeblockte Schnittstellendatei umwandeln PCL1200

Datenfluss
PST1200_Ablauf.png
1 Interne
  Schnittstelle
  //LADE
  VB 10000
  $ASS/AE.DAT













2 Protokoll
  //PROTO
  FB 133
  $ASSPTK/PCL1200.PTK

3 Ausgabedatei
  //AUSFB
  FB 80
  $ASS/AEFB.DAT
Funktionsbeschreibung

In vielen Systemumgebungen können keine variabel geblockten Dateien via Filetransfer übertragen werden. Um nun eine Interne Schnittstelle von ASS nach ASS-PC zu übertragen, muss die Datei in ein festgeblocktes Format umgewandelt werden. Bei der Konvertierung muss darauf geachtet werden, dass sowohl die binären Daten, als auch die Textdaten, erhalten bleiben.

Mit dem Programm PCL1200 kann eine Interne Schnittstellendatei in ein spezielles festgeblocktes Dateiformat gebracht werden.
Im Protokoll wird die Anzahl der gelesenen Sätze protokolliert, sowie die Anzahl der geschriebenen festgeblockten Sätze. Dabei verteilt sich ein Satz der Internen Schnittstelle im Allgemeinen über mehrere Sätze der festgeblockten Datei.

8.16 Externe Schnittstellendatei in festgeblockte Schnittstellendatei umwandeln PCL1203

Datenfluss
PST1203_Ablauf.png
1 Externe
  Schnittstelle
  //LADE
  VB <= 10000  (IBM und Siemens)
  $ASS/ASSINVB

  Vorlaufkarte
  //ASSCO
  $ASSPTK/T1203.VLK











2 Protokoll
  //PROTO
  FB 133
  $ASSPTK/PCL1203.PTK

3 Ausgabedatei
  //AUSFB
  FB 80
  $ASS/ASSIN01
Funktionsbeschreibung

Um Externe Schnittstellendateien von ASS nach ASS-PC übernehmen zu können, müssen auch diese in ein festgeblocktes Format umgesetzt werden, wenn zur Übertragung in die andere Systemumgebung ein Filetransfer nötig ist.

Mit dem Programm PCL1203 kann eine Externe Schnittstellendatei in ein spezielles festgeblocktes Dateiformat gebracht werden. Da Externe Schnittstellendateien kein Satzlängenfeld innerhalb der logischen Daten enthalten, wertet PCL1203 das Satzlängenfeld aus und übernimmt die Satzlängeninformation in die festgeblockte Ausgabedatei. Wie bei festgeblockten Internen Schnittstellendateien auch, erstreckt sich ein Schnittstellensatz im Allgemeinen über mehrere festgeblockte Sätze.

PCL1203 eignet sich außerdem dazu, die Dateien ASSINKY und ASSINGR für PCL1036 in das festgeblockte Dateiformat umzusetzen, damit Schlüsseltextierungen und Schlüsselgruppierungen vom Host in die ASS-PC Umgebung übernommen werden können.

8.17 Selektiven Arbeitsgebietsabzug erstellen PCL1204

Funktionsbeschreibung

Das Programm PCL204 erstellt - wie PCL1004 - einen Arbeitsgebietsabzug vom angegebenen Arbeitsgebiet. Hierfür sichert PCL1204 die Informationen aus Werte-, Schlüssel- und Steuerungsdatenbank, die das Arbeitsgebiet beschreiben, auf eine sequentielle Datei.
Aus der Schlüsseldatenbank werden jedoch nur Informationen zu den Schlüsseln abgezogen, die in der Eingabedatei AUSPRDAT angegeben sind.

Besonderheiten

Die Datei AUSPRDAT wird im allgemeinen durch das Programm PCL1001 erstellt. Das Programm PCL1001 sammelt, bei Angabe der Option PC, in der Datei ASSKY alle Schlüssel und Schlüsselausprägungen, die tatsächlich in den angegebenen Externen Schnittstellendateien vorkommen.
Die Datei ASSKY kann dann, nachdem sie sortiert worden ist, dem Programm PCL1204 unter dem Linknamen AUSPRDAT übergeben werden, das dann den selektiven Arbeitsgebietsabzug erstellt. Für die Sortierung der Datei ASSKY (bzw. AUSPRDAT) reicht ein einfacher Character-Sort.

Die Ausgabedatei wird mit fester Satzlänge erstellt und kann via Filetransfer in die ASS-PC Zielumgebung überspielt werden. Hier darf bei der Übertragung keinerlei Konvertierung erfolgen.

Datenfluss
PST1204_Ablauf.png
1 Werte-DB

  DST001
  DST011 (DLI)
  DST012 (DLI)
  DST013 (DLI)

2 Schlüssel-DB

  DST001
  DST021 (DLI)
  DST022 (DLI)
  DST023 (DLI)

3 Steuerungs-DB

  DST031 (DLI)
  DST032 (DLI)
  DST033 (DLI)

4 Ausprägungen
  //AUSPRDT
  FB 14
  $ASS/AUSPRDAT

5 Vorlaufkarte
  //SYSIN
  FB 80
  $ASSVLK/T1204.VLK

6 Protokoll
  //PROTO
  FB 133
  $ASSPTK/PCL1204.PTK

7 Ausgabedatei
  //DATEI
  FB 166
  $ASS/AG.EBC
Vorlaufkarte:
Inhalt Bemerkung
PROGRAMM PCL1204Standardtext (obligatorisch)
AGNR=nn Arbeitsgebietsnummer (obligatorisch)

Beispiel

Arbeitsgebiet 9 wird mit dem Programm PCL1204 abgezogen.
Inhalt der Vorlaufkarte: PROGRAMM PCL1204,AGNR=09

8.18 Selektiven Arbeitsgebietsabzug laden PCL1205

Funktionsweise

Die Funktionsweise des Programms gleicht im grossen und ganzen der von PCL1005.

Das Programm PCL1205 lädt einen selektiven Arbeitsgebietsabzug, der mit dem Programm PCL1204 am Host erstellt wurde, in die ASS-PC Datenbanken.

Ein weiterer wesentlicher Unterschied zwischen PCL1205 und PCL1005 liegt darin, dass PCL1205 die Eingabedatei nur verarbeiten kann, wenn diese im EBCDIC-Zeichensatz vorliegt. Die Daten aus dem selektiven Abzug werden also i m m e r vom EBCDIC-Zeichensatz in den ASCII -Zeichensatz umgewandelt. ST06-Gruppierungen werden nicht berücksichtigt.

Datenfluss
PCL1205_Ablauf.png
1 Werte-DB
  $ASSDB/DST001

  Schlüssel-DB
  $ASSDB/DST002

  Steuerungs-DB
  $ASSDB/DST003


2 Ladebestand
  $ASS/AG.EBC


3 Vorlaufkarte
  $ASSVLK/T1205.VLK






4 Protokoll
  $ASSPTK/PCL1205.PTK


5 Parameter-DB
  (siehe 1)
Vorlaufkarte
Inhalt Bemerkung
PROGRAMM PCL1205Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
AGNR=nn Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
DATUM=JJMM Muss vorhanden sein.
Erwartet in der Form JJMM das Datum der letzten Einspeicherung.
Muss identisch mit dem Datum im abgezogenen Arbeitsgebiet (PCL1204) sein, das als Datum der letzten Einspeicherung ausgewiesen ist. Wurde noch keine Einspeicherung durchgeführt, lautet der Parameter XXXX.
,Loeschen Beim Laden werden sämtliche Konsistenzfelder gelöscht. Das Arbeitsgebiet wird zurückgesetzt. Nach Löschen der zugehörigen Summen-DB kann eine neue Ersteinspeicherung erfolgen.
,ERSETZ Alle Schlüssel und Werte des betreffenden Arbeitsgebietsabzugs sollen in der Schlüssel- bzw. Werte-DB vollständig durch die Inhalte des Arbeitsgebietsabzugs ersetzt werden.
AG_NEU=nn Der Arbeitsgebietsabzug wird auf das neueste Arbeitsgebiet mit der Nummer nn kopiert.

Beispiel

Arbeitsgebiet 5 laden und zurücksetzen.
Inhalt der Vorlaufkarte:
PROGRAMM PCL1205,AGNR=05, DATUM=XXXX, Loeschen

Bei aktivem Arbeitsgebietscache muss unbedingt PCL1046 nach abgeschlossener Einspeicherung gestartet werden, bei aktiven Schlüsselcaches muss PCL1089 laufen.

8.19 Arbeitsgebiet inklusive der Summendaten abziehen PCL1304

Funktionsbeschreibung

Mit dem Programm PCL1304 gibt es eine komfortable Möglichkeit, ein komplettes Arbeitsgebiet mit ausgewählten Verdichtungsstufen in einem Arbeitsgang komplett abzuziehen und für ASS-PC verfügbar zu machen.
Die erstellte Abzugsdatei enthält neben den Daten, die das Arbeitsgebiet beschreiben, auch die Summendaten der ausgewählten Verdichtungsstufen. Die Abzugsdatei hat feste Satzlänge und ist in der gleichen Art aufgebaut, wie in Kapitel 5 beschrieben, die Satzlänge der festgeblockten Datei beträgt jedoch 8000, bzw. 4000 bzw. 2000 Byte.

Die Ausgabedatei lässt sich via Filetransfer also einfach in die ASS-PC Umgebung einspielen, es dürfen allerdings keine Konvertierungen beim Übertragen vorgenommen werden. In der ASS-PC Umgebung kann man die Datei dann mit dem Programm PCL1305 verarbeiten und hat damit das fertig eingespeicherte Arbeitsgebiet in einem Arbeitsgang in ASS-PC zur Verfügung.

Besonderheiten

PCL1304 bildet automatisch alle Verdichtungsstufenmengen des Arbeitsgebietes und ergänzt - im Bedarfsfall - notwendige Verdichtungsstufen automatisch.
Ausgehend von den ausgewählten Verdichtungsstufen werden dann die notwendigen Daten aus den Parameterdatenbanken abgezogen und zusammen mit den Summendaten in die Ausgabedatei gestellt.

Sequentielle Verdichtungsstufen und verteilte Summendatenbanken werden von PCL1304 berücksichtigt. Sequentielle Verdichtungsstufen werden auf die primäre Summendatenbank verlegt, sowie Verdichtungsstufen von sekundären Summendatenbanken. Die Ausgabedatei hat, wie oben bereits erwähnt, feste Satzlänge und darf beim Filetransfer nicht mehr umformatiert werden. PCL1305 erwartet die Daten im EBCDIC-Zeichensatz und in einer der hohen Blockungen von 2/4/8000 Byte.

Datenfluss
PST1304_Ablauf.png
1 Werte-DB
   DST001
   DST011 (DLI)
   DST012 (DLI)
   DST013 (DLI)

  Schlüssel-DB
   DST002
   DST021 (DLI)
   DST022 (DLI)
   DST023 (DLI)

  Steuerungs-DB
   DST003
   DST031 (DLI)
   DST032 (DLI)
   DST033 (DLI)

2 Summen-DB
   DST110
   DST111 (DLI)
     bis
   DST600 (DLI)
   DST601 (DLI)

3 Vorlaufkarte
   //VORLAUF
   FB 80
   $ASSVLK/T1304.VLK

4 Protokoll
   //LISTE
   FB 133
   $ASSPTK/PCL1304.PTK

5 Ausgabedatei
   //ASSDBAB
   FB 8000   bzw.
   //ASSDBA1
   FB 2000   bzw.
   //ASSDBA2
   FB 4000
   $ASS/ASSDBAB.ALB
Vorlaufkarte
Inhalt Bemerkung
PROGRAMM PCL1304Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
AGNR=nn Muss vorhanden sein als Bestandteil der Vorlaufkartenprüfung.
nn = Nr. des Arbeitsgebiets
VSTNR=nn,nn,... Muss vorhanden sein.
Erwartet in der Form nn die Nummer der zu sichernden Verdichtungsstufen
FB2000
oder
FB4000
Mit der Option FB2000 bzw. FB4000 kann das Format der Ausgabedatei beeinflusst werden. Bei FB2000 muss ASSDBA1, bei FB4000 muss ASSDBA2 zugewiesen werden.

Beispiel

Arbeitsgebiet 1 soll inklusive der Verdichtungsstufen 1, 3 und 17 abgezogen werden, Ausgabedatei im FB 2000 Format erstellt werden.
Inhalt der Vorlaufkarte:
PROGRAMM PCL1304, AGNR=01, VSTNR=1, 17, 03, FB2000

8.20 Arbeitsgebiet inklusive der Summendaten laden PCL1305

Datenfluss
PCL1305_Ablauf.png
  Eingabedateien,
  erstellt mit PCL1304
  ASSDBAB.ALB










3 Protokoll
   $ASSPTK/PCL1305.PTK


4 Parameter-DB's
   $ASSDB/DST001
   $ASSDB/DST002
   $ASSDB/DST003


5 Summendatenbank
   $ASSDB/DSTnnn
Funktionsweise

Das Programm PCL1305 ist entwickelt worden, um komplette Arbeitsgebiete inklusive einer Auswahl von Verdichtungsstufen mit den zugehörigen Summendaten aus ASS am Host in ASS-PC einzuspielen. Das Programm PCL1305 verarbeitet derzeit nur festgeblockte Eingabedateien mit 8000 Byte Satzlänge, die im EBCDIC-Zeichensatz vorliegen müssen.

Beachte

Bei Fehlern im Ladevorgang, für ein einzelnes Arbeitsgebiet, sperrt PCL1305 das Arbeitsgebiet für die Auswertung. Das Arbeitsgebiet sollte dann nur nach gründlicher Prüfung und gegebenenfalls erst nach Richtigstellung wieder freigegeben werden.

Das Programm PCL1305 arbeitet ohne Vorlaufkarte und entnimmt die zu verarbeitende Datei der Kommandozeile:
PCL1305 dateiname

8.21 Batchverarbeitung unter Windows WINBAT

1. Allgemeines
  1. Funktion der WINBAT

    WINBAT ist ein Windows-Programm, das die Befehle, die in einer Textdatei eingetragen sind, abarbeitet. Die Befehle, die hier abgesetzt werden können, sind an der DOS-BATCH-Sprache orientiert. Damit wird unter Windows ein Leistungsmerkmal der JCL (Job-Control-Language) am Großrechner imitiert.

  2. WINBAT als ONLINE- und BATCHVARIANTE

    Es wird eine ONLINE- und eine BATCH-Variante der WINBAT ausgeliefert. Die ONLINE-Version "WINBATON.exe" entspricht der alten "winbat.exe" . Der Sprachumfang und die -syntax bleiben unverändert. In der BATCH-Version "WINBATBA.exe" ist der Sprachumfang beschränkt. Es sind nur Schlüsselworte/Befehle erlaubt, die keine Benutzerinteraktion erfordern. N i c h t erlaubt sind PAUSE, ACCEPT, JA_NEIN_FRAGE. Die Batchvariante ist vorwiewiegend für den operatorlosen Betrieb (z.B. für Nachtläufe) gedacht.

  3. Aufrufmöglichtkeit durch Desktop-Verknüpfungen

    Aufgerufen wird WINBAT unter Windows (Ausführen...) mit der zu bearbeitenden Datei. Also beispielsweise:

    c:\ass\pgm\winbaton c:\ass\vlk\pcl1004.wbt

    Für Standardabläufe von Programmen (Erst- bzw. Folgeeinspeicherung) können auf dem Desktop Icons angelegt werden, die durch doppeltes Anklicken die entsprechende WBT-Datei abarbeiten.

    Wird keine Datei angegeben, so nimmt WINBAT die Datei WINBAT.WBT im ASS-Vorlaufkartenverzeichnis ($ASSVLK) als Eingabedatei.

2. Befehle

WINBAT arbeitet Schlüsselwort- und Zeilenorientiert. Im Allgemeinen wird also eine Zeile in einer WBT-Datei durch ein Schlüsselwort eingeleitet. Gross- bzw. Kleinschreibung wird dabei ignoriert. Wird in einer Zeile kein Schlüsselwort gefunden, so wird sie als Programmaufruf interpretiert.
Ausnahme: Zeilen nach dem Schlüsselwort WRITE-TEXT-DATEI, siehe unten.

Parameter und Zeitstempel

Analog zur Anforderungssprache von ASS kann die Winbat parametrisiert werden. Für Zeitstempel existieren dazu die Standardparameter

Sie werden mit dem aktuellen Maschinendatum /-Zeit zum Startzeitpunkt des Programms vorbelegt und können frei überschrieben werden. Falls eigene Parameter definiert werden, so müssen sie ASS-Bezeichner sein. Allgemeine Syntax:

&&PARAM = 'Zuweisung' (; Kommentar)

Beispiel:

&&HUGO = 'Der arme Hugo, der muss leiden'; Strings in Hochkomma
&&JJMMTT = 020307

Falls ein Parameter eingesetzt werden soll, muss er in Hochkomma angeführt werden.

Beispiel:

REN $ASSDB/DST002 $ASSDB/DST002.'&&HUGO'

Windows-Variable

In der Winbat können auch Windows-Variablen benutzt werden. Der Name muss durch das Prozentzeichen eingeschlossen werden. Name und einschließende Prozentzeichen werden durch den betreffenden Inhalt ersetzt.
Beispiel: %temp% wird durch das Temp-Verzeichnis ersetzt.

3. Liste der Schlüsselworte

Mit der folgenden Konstruktion können beliebig viele Textdateien konkateniert werden:

KONKAT-ANF Zieldatei
Dateiname1
Dateiname2
. . .
KONKAT-ENDE

Achtung:

Die Quelldateien dürfen nur Sätze mit der maximalen Länge 400 enthalten. Es muss sich bei diesen Dateien um Textdateien (z.B. ASS-Protokolldateien) handeln. Zum Beispiel:

KONKAT-ANF $ASSPTK/EINSP.PTK
$ASSPTK/PCL1024.PTK
$ASSPTK/PCL1004.PTK
$ASSPTK/PCL1001.PTK
$ASSPTK/PCL1002.PTK
$ASSPTK/PCL1046.PTK
KONKAT-ENDE

Bemerkung zu COPY, RENAME, DELETE und KONKAT-ANF: Der/die Dateinamen müssen vollständig sein, Maskierungen, wie DELETE *.PTK oder COPY DST???.IDX *.IDS sind nicht zulässig. ABER: Der Dateiname darf eine Variable %1% o.Ä. sein, siehe unter ACCEPT-1.

STATUS-ON Kommentar
Der Text 'Kommentar' wird in einem Fenster ohne Button ausgegeben. Durch das Schlüsselwort
STATUS-OFF
wird dieses Fenster wieder geschlossen. Der Kommentar kann z.Zt. 25 Zeichen lang sein. Diese Funktion ist gedacht für lang laufende Programme ohne Bildschirmausgabe. Also z.B.

STATUS-ON PCL1001 läuft ...
c:/ass/pgm/pcl1001
STATUS-OFF

PAUSE Kommentar
Der Text 'Kommentar' wird in ein Fenster mit OK-Button gestellt. Die Verarbeitung wird fortgesetzt, wenn der OK-Button angeklickt wird. Der 'Kommentar' kann z.Zt. 40 Zeichen lang sein. Also z.B.:

PAUSE Bitte Protokoll überprüfen
ACCEPT-1 nn KOMMENTAR
ACCEPT-2 nn KOMMENTAR
ACCEPT-3 nn KOMMENTAR
...
ACCEPT-200 nn KOMMENTAR
Der Text KOMMENTAR wird in ein Fenster mit OK- und CANCEL-Button gestellt. Unter dem Kommentar erscheint ein Eingabefeld, das nn Zeichen (max. 80) entgegennimmt. Diese Eingaben können in den folgenden Zeilen unter den Variablennamen %1%, %2%, ... %200% angesprochen werden. Mit einem IF (siehe auch dort) kann abgefragt werden, welchen Button der Anwender betätigt hat.
Also z.B.:

ACCEPT-1 65 Bitte Dateinamen eingeben:

   IF ACCEPT-CANCEL
     GOTO weiter
   end-if
   if exists %1%
     notepad %1%
     goto weiter
   end-if
   pause Nicht gefunden: %1%
   exit

:weiter

In diesem Beispiel wird also ein bis zu 65 Zeichen langer Dateiname angefordert. Danach wird geprüft, ob eine Datei mit diesem Namen existiert. Falls ja, wird sie editiert, falls nicht, wird eine Meldung ausgegeben.

WRITE-TEXT-DATEI Dateiname
Öffnet eine Textdatei namens 'Dateiname'. Die nachfolgenden Zeilen werden in diese Datei geschrieben. Allerdings dürfen fen diese Zeilen kein Zeichen in der ersten Spalte haben.

END-WRITE
schließt die zuletzt geöffnete Datei. Beispiel:

   WRITE-TEXT-DATEI $ASSVLK\t1016.vlk
    NUPDAT,BIB=E
    LDAT - LDAT
   END-WRITE

:Marke
Mit einem Doppelpunkt wird eine Sprungmarke definiert, die mit

GOTO Marke
angesprungen werden kann. ACHTUNG: Die Sprungmarke muss in einer späteren Zeile liegen. Ein GOTO zu einer schon überlaufenen Marke ist N I C H T möglich.

EXIT
Die Stapelverarbeitung wird abgebrochen.

Ein GOTO oder EXIT ohne IF ist natürlich sinnlos. Es gibt zur Zeit vier IF-Abfragemöglichkeiten:

  1. Möglichkeit:

    IF EXISTS Dateiname
    Dieses IF erlaubt die Abfrage der Existenz einer Datei. (z.B. vor ihrer eigentlichen Verarbeitung durch ein anderes Programm).

  2. Möglichkeit
    Zuerst wird dem Benutzer eine Frage gestellt:
    JA-NEIN-FRAGE Fragetext
    Der Text 'Fragetext' wird in ein Fenster mit einem JA- und einem NEIN-Button gestellt. Dann kann mit
    IF ANTWORT-JA
    oder
    IF ANTWORT-NEIN
    abgefragt werden, welcher der beiden Buttons betätigt wurde. Zur Zeit kann der Fragetext 50 Zeichen lang sein.

    Bemerkung: Zwischen dem Statement JA-NEIN-FRAGE und dem Abfragen der Antwort des Benutzers mit IF ANTWORT-JA bzw. IF ANTWORT-NEIN können beliebig viele andere Befehle ausgeführt werden. Bis zur nächsten JA-NEIN-FRAGE bleibt die die zuletzt gegebene Anwort gespeichert.

  3. Möglichkeit:
    IF ASSFEHLER
    Vor dem Start eines Programmes erzeugt WINBAT eine Datei namens ASSFEHL.ERR im Verzeichnis $ASS. Wird ein ASS-Programm korrekt beendet, löscht es diese Datei. Mit IF-ASSFEHLER wird die Existenz dieser Datei geprüft. Ist sie vorhanden, wird die im IF-Zweig angegebene Befehlsfolge abgearbeitet.
    Diese Möglichkeit ist der unmittelbaren Abfrage mit IF EXISTS vorzuziehen, da hier die ASS-Pfadvariable $ASS automatisch berücksichtigt wird.
  4. Möglichkeit:
    Zuerst wird dem Benutzer ACCEPT-n angeboten (siehe oben).
    Dann kann mit
    IF ACCEPT-OK
    oder
    IF ACCEPT-CANCEL
    abgefragt werden, ob der OK- oder CANCEL-Button betätigt wurde.

    Die dem IF folgende Reihe von Befehlen wird mit END-IF
    abgeschlossen.

Beispiele für die Möglichkeiten 1, 2, 3 und 4:

  1. Beispiel: REM ASS-Batchauswertung laufen lassen
       c:\ass\pgm\pcl1016
    REM Anschauen der Liste:
       notepad c:\ass\ptk\liste.ptk
    REM Frage an Benutzer
       JA-NEIN-FRAGE Soll LISTE.PTK gedruckt werden?
       IF ANTWORT-JA
           c:\ass\pgm\pcl1201.exe c:\ass\ptk\liste.ptk
       END-IF
    
  2. Beispiel: REM Summendatenbankabzug erstellen:
       c:\ass\pgm\pcl1024
    REM Existiert die Datei, die anzeigt dass ein Fehler REM aufgetreten ist?
       IF EXISTS c:\ass\dateien\assfehl.err
           pause Fehler im PCL1024
           notepad c:\ass\ptk\pcl1024.ptk
           EXIT
       END-IF
    
  3. Beispiel:
    REM Initialisieren:
       ASSFEHLER-INIT
    REM Oder besser als im vorigen Beispiel:
       c:\ass\pgm\pcl1002
       IF ASSFEHLER
           pause Fehler im PCL1002
           notepad c:\ass\ptk\}pcl1002.ptk
           EXIT
       END-IF
    
  4. Beispiel:
    REM Initialisieren:
       ASSFEHLER-INIT
    REM Starte Batch mit benutzereingegebenen Parametern
       REM via ASSDATE
       ACCEPT-1 4 Akt. Monat (MMJJ):
       IF ACCEPT-CANCEL
         GOTO ende
       END-IF
       ACCEPT-2 6 Bitte Sparte angeben:
       IF ACCEPT-CANCEL
         GOTO ende
       END-IF
    
       WRITE-TEXT-DATEI $ASSVLK\ASSDATE.VLK
    
        &&BM = %1%
        &&SPARTE = %2%
       END-WRITE
       $asspgm/pcl1016
       IF EXISTS $assptk/liste.ptk
         notepad $assptk/liste.ptk
       END-IF
       exit
    :ende PAUSE PCL1016 nicht gestartet

An allen Stellen kann statt eines vollständigen Dateinamens auch eine Datei mit einer ASS-Pfadvariable angegeben werden. z.B.:

   COPY $ASSDB\DST001 $ASSDB\DST001S

analog auch bei RENAME, DELETE

   WRITE-TEXT-DATEI $ASSVLK\t1016.vlk
    NUPDAT,BIB=E
    LDAT - LDAT
   END-WRITE

notepad $ASSPTK\PCL1004.PTK

8.22 Pseudonym-DB laden/bearbeiten/abziehen (PCL1265/PCL1264)

Seit ASS 8.21 ist es möglich, die Inhalte datenschutzkritischer Schlüssel in Auswertungsergebnissen entweder vollständig zu anonymisieren (d.h. jeder Inhalt wird durch Sterne ersetzt) oder nur teilweise (d.h. für einzelne Inhalte wird ein alternativer Begriff angezeigt). Im letzteren Fall spricht man von "Pseudonymisierung". Siehe hierzu auch Handbuch "Systemdokumentation", Kap. 8.11.

Für die Pseudonymisierung muss dem ASS natürlich mitgeteilt werden, welche Inhalte wie zu pseudonymisieren sind. Diese Regeln werden im ASS in einer eigens dafür reservierten Summen-DB gespeichert (ähnlich wie bei der Berichts-DB oder dem Anforderungs-Cache). Die zugehörige Arbeitsgebietsnummer muss im Copy SST2268 eingetragen werden (S2268-AG-PSEUDONYM-DB) bzw. wird auf Wunsch von der UBA Software GmbH bereits so ausgeliefert. Die Summen-DB muss ggf. mit PCL1050 initialisiert werden, siehe Kap. 8.4 (Option "PSEUDONYM").

Das Bearbeiten dieser Pseudonym-DB geschieht mit PCL1265. Die zu verarbeitenden Pseudonymisierungsregeln müssen in einer sequentiellen, semikolonseparierten Datei angeliefert werden (PC: "$ASS/ASSPSEUDONYM.CSV"; DD-Name Host: "ASSIN01"). Jeder Satz definiert dann eine Regel und muss folgende Form haben:

Feld Bedeutung
1Verarbeitungskennzeichen, Näheres siehe unten
2leer, "B" (s.u.) oder "V" (s.u.) für einen Verweis
3Nummer des Schlüssels, dessen Inhalt pseudonymisiert werden soll; handelt es sich um eine Relation, muss vor der Nummer ein "R" stehen, z.B. "R5", "R005" o.Ä.
Die folgende Beschreibung gilt für die leere Satzart. "B" und "V" sind unten beschrieben.
4Zu pseudonymisierender Inhalt; es kann auch ein Intervall definiert werden, indem hier die Von-Angabe und im 5. Feld die Bis-Angabe eingetragen wird.
ACHTUNG: Führende Blanks zählen mit!
5Leer oder Bis-Angabe des Intervalls
ACHTUNG: Führende Blanks zählen mit!
6Pseudonym, d.h. darzustellender Inhalt
ACHTUNG: Führende Blanks zählen mit!
Die nächsten Felder sind optional. Sie definieren Schlüsselbedingungen für die bedingte Pseudonymisierung, siehe auch Handbuch "Systemdokumentation", Kap. 8.11, "Bedingte Pseudonymisierung".
7Nummer des Bedingungsschlüssels, dessen Inhalt geprüft werden soll. Es kann auch eine Relation angegeben werden (analog zum 3. Feld).
8Inhalt, den der Bedingungsschlüssel haben muss, damit die Regel greift, d.h. damit der Inhalt aus dem 3. Feld pseudonymisiert wird. Es kann auch ein Intervall definiert werden, indem hier die Von-Angabe und im 9. Feld die Bis-Angabe eingetragen wird.
ACHTUNG: Führende Blanks zählen mit!
9Leer oder Bis-Angabe des Intervalls
ACHTUNG: Führende Blanks zählen mit!
10-12Analog 7. - 9. Feld, d.h. eine 2. Bedingung
13-15Analog 7. - 9. Feld, d.h. eine 3. Bedingung
16-18Analog 7. - 9. Feld, d.h. eine 4. Bedingung
19-21Analog 7. - 9. Feld, d.h. eine 5. Bedingung
22-24Analog 7. - 9. Feld, d.h. eine 6. Bedingung
25-27Analog 7. - 9. Feld, d.h. eine 7. Bedingung
28-30Analog 7. - 9. Feld, d.h. eine 8. Bedingung
31-33Analog 7. - 9. Feld, d.h. eine 9. Bedingung
34-36Analog 7. - 9. Feld, d.h. eine 10. Bedingung

Es können also max. 10 Bedingungen formuliert werden. Wenn alle erfüllt sind, greift die gesamte Pseudonymisierungsregel. Zu einem Inhalt (4. Feld) eines Schlüssels (3. Feld) können also mehrere Regeln definiert werden. Allerdings kann dies zu technischen sowie Performance-Problemen führen, weswegen mit ASS 8.50 die Satzart "B" eingeführt wurde (s.u.).

In den Bedingungen einer Regel darf dieselbe Schlüssel- bzw. Relationsnummer nicht zweimal vorkommen.

Das Verarbeitungskennzeichen (1. Feld) bestimmt, ob eine Regel ergänzt ("A" oder "ADD"), ersetzt ("M" oder "MOD") oder gelöscht ("D" oder "DEL") werden soll. Ergänzt wird nur, wenn die Regel noch nicht auf der Datenbank existiert, ersetzt oder gelöscht wird nur, wenn die Regel bereits existiert. Das Feld kann aber auch leer bleiben, dann kommt die Regel in jedem Fall auf die Datenbank (d.h. sie wird ggf. dort überschrieben), es sei denn in der Vorlaufkarte ist eine Standardvoreinstellung definiert, s.u. "Existenz" bedeutet hierbei, wenn auf der Datenbank bereits eine Regel vorhanden ist zum selben Inhalt desselben Schlüssels mit denselben Bedingungen (bei diesen ist die Reihenfolge egal), d.h. Gleichheit in den Feldern 3, 4, 5 und (bis auf Reihenfolge) 7 - 36.

Beispiel:
Feld:123456789101112
150MAIERanonymR2000000000002130FEUERKFZ
D150HUBERSCHMIDTanonym

Die 1. Regel wird auf die DB geschrieben und besagt, dass der Inhalt MAIER des Schlüssels Nr. 150 genau dann durch das Pseudonym "anonym" ersetzt wird, wenn (im gleichen Satz) die Relation 2000 den Inhalt 000000002 und der Schlüssel 130 einen Inhalt zwischen FEUER und KFZ hat. Die 2. Regel wird auf der DB gelöscht, wenn sie existiert. Dabei ist der Inhalt des 6. Felds egal, er kann auch leer bleiben.

WICHTIG:

Hier werden NICHT alle Regeln auf der DB gelöscht, die einen Inhalt zwischen HUBER und SCHMIDT betreffen, sondern nur (max.) die eine Regel, die das Intervall HUBER bis SCHMIDT zum Schlüssel 150 enthält und (in diesem Fall) keine Schlüsselbedingungen enthält.

Vorlaufkarte:
Inhalt Aktion
TABFelder in Eingabe-Datei sind durch Tabulator getrennt statt Semikolon
ADD, MOD oder DELVoreinstellung für die Satze der Eingabe-Datei mit leerem Verarbeitungskennzeichen
DELETE_ALLDie Pseudonym-DB wird gelöscht und aus der Eingabe-Datei neu aufgebaut
DELETE_KEY = nDer Schlüssel bzw. die Relation wird von der Pseudonym-DB gelöscht und aus der Eingabe-Datei neu aufgebaut
Die Satzart V:

Sollen für einen Schlüssel die gleichen Pseudonymisierungsregeln gelten, die bereits bei einem anderen Schlüssel definiert sind, so können diese durch Anlage eines einzigen Satzes übernommen werden, statt alle Regeln auch für den einen Schlüssel zu definieren. Hierzu dient die Satzart "V". Der Schnittstellensatz muss wie folgt aussehen:

Feld Bedeutung
1Verarbeitungskennzeichen, wie bei leerer Satzart
2"V"
3Nummer des Schlüssels, für den die Pseudonymisierungsregeln übernommen werden sollen (Relationen mit führendem "R")
4Verweisart, z.Zt. nur leere Angabe
5Verweis auf Schlüssel oder Relation, deren Pseudonymisierungsregeln übernommen werden sollen

HINWEIS: Existieren zusätzlich zum Verweis weitere, für diesen Schlüssel definierte Regeln, werden diese ignoriert.

Die Satzart B:

Wie oben beschrieben, kann es zu einer bestimmten Schlüsselnr./Inhalts-Kombination mehrere Pseudonymisierungsregeln geben, die sich nur in deren Schlüsselbedingungen unterscheiden. Diese Bedingungen sind jedoch nicht Teil des Datenbank-Keys auf der Pseudonym-DB, weswegen Regeln, die sich nur in ihren Bedingungen unterscheiden, entsprechend vervielfältigt werden müssen, zur Unterscheidung dient ein Zählfeld im Key.

Damit aber sowohl die Befüllung der Pseudonym-DB wie auch ihre Nutzung in der Auswertung effizient ablaufen kann, dürfen die Sätze nicht zu stark durch Bedingungen vervielfältigt werden. Das Verfahren ist deswegen ungeeignet, wenn ein beliebiger Inhalt eines Schlüssels immer dann pseudonymisiert werden soll, wenn ein anderer Schlüssel bestimmte Bedingungen erfüllt, z.B.:

"Ersetze bei bestimmten Kundennummern das Geburtsdatum durch XX.XX.XXXX"

Die Sätze der Eingabedatei für PCL1265 sähen dann in etwa wie folgt aus (Geburtsdatum=100, Kundennummer=200):

Feld:12345678
100??????????XX.XX.XXXX200012345
100??????????XX.XX.XXXX200029135
100??????????XX.XX.XXXX200843662
100??????????XX.XX.XXXX200726351
usw.

Bei vielen Kundennummern wird die Regel entsprechend oft vervielfältigt, und das bisherige Verfahren ist nicht mehr anwendbar wegen Überlauf der Zählnummer im DB-Key oder sehr langer Laufzeiten.
Deswegen gibt es für diesen Fall eine neue Satzart "B", die im bisher noch nicht genutzten 2. Feld zu setzen ist. Der Satzaufbau bleibt gleich, muss aber gewissen Restriktionen genügen:

  1. Bei den Inhalten sind nur Maskierungen oder einzelne Inhalte definiert, keine Intervalle (d.h. das 5. Feld ist leer)
  2. Es gibt genau einen Bedingungsschlüssel, bei dem nur einzelne Inhalte (keine Maskierungen oder Intervalle) definiert sind (d.h. alle Felder ab dem 9. Feld sind leer)
  3. Regeln zum gleichen Inhalt (hier "??????????") eines Schlüssels (hier 100) müssen dasselbe Pseudonym (hier "XX.XX.XXXX") und denselben Bedingungsschlüssel (hier 200) haben
  4. Alle Regeln eines Schlüssels haben Satzart B oder keine (gilt auch für die Regeln, die bereits auf der Pseudonym-DB gespeichert sind!)

Obige Schnittstelle wäre unter Verwendung der Satzart B dann verarbeitbar und würde wie folgt aussehen:

Feld:12345678
B100??????????XX.XX.XXXX200012345
B100??????????XX.XX.XXXX200029135
B100??????????XX.XX.XXXX200843662
B100??????????XX.XX.XXXX200726351
usw.

Bei Verletzung der obigen Regeln in der Schnittstelle bricht PCL1265 ab.

Pseudonym-DB abziehen (PCL1264):

Mit PCL1264 kann die Pseudonym-DB abgezogen werden. Der Abzug erfolgt als sequentielle, semikolonseparierte Datei, die wiederum direkt mit PCL1265 verarbeitet werden kann. Es bietet sich also an, für Änderungen der Datenbank erst einen Abzug zu machen und diesen zu modifizieren, statt die EingabeDatei für PCL1265 komplett neu zu erstellen.

Vorlaufkarte:
Inhalt Aktion
TABFelder mit Tabulator trennen statt mit Semikolon
KEY = nEs werden nur die Angaben zum Schlüssel mit Nummer n abgezogen. Für Relationen muss die Relationsnummer mit führendem "R" angegeben werden. Mehrfachnennungen sind möglich, z.B. KEY=123, KEY=234, KEY=R345. Fehlt diese Angabe, wird die gesamte Pseudonym-DB abgezogen.

8.23 Index-Text-DB laden/bearbeiten/abziehen (PCL1275/PCL1274)

Hier nur technische Beschreibung, mehr Information in Handbuch "Systemdokumentation", Kap. 8.12. Index-Text-DB abziehen

     ASSCO                        DST003    DST007    DST#i#    DST#t#
       |_________ ___________________|_________|_________|_________|
                 |
              PCL1274
        _________|_______________________________________ _________
       |         |                                       |         |
    ASSLST    ASSCSV                                  DST#i#    DST#t#

Index-Text-DB laden/bearbeiten

     ASSCO    ASSIN01   DST002    DST003    DST007    DST#i#    DST#t#
       |_________|_________|_________|_________|_________|_________|
                 |
              PCL1275
        _________|
       |
    ASSLST

ASSCO              $ASSVLK/T1274.VLK   bzw. $ASSVLK/T1275.VLK
ASSLST             $ASSPTK/PCL1274.PTK bzw. $ASSPTK/PCL1275.PTK
ASSCSV  VB 4004    $ASS/ASSTEXTE.CSV
ASSIN01            $ASS/ASSTEXTE.CSV

DST#i#    D A 109  INDEX-TEXT-DB      (Standardkeylänge ist  15)
DST#t#    D A 109  TEXT-INDEX-DB-1    (Standardkeylänge ist 247)
          D A 109  TEXT-INDEX-DB-2    (Standardkeylänge ist 100)
          D A 109  TEXT-INDEX-DB-3    (Standardkeylänge ist  30)

TEXT-INDEX-DB-3 setzt TEXT-INDEX-DB-2 voraus und TEXT-INDEX-DB-2 setzt TEXT-INDEX-DB-1 und INDEX-TEXT-DB voraus. Die Keylänge ist exklusive der drei Verwaltungszeichen. Die TEXTIERUNG-LAENGE (Schlüssel VS08 und VS009, Relation VS042 und VS043) ist exklusive der drei Verwaltungszeichen.

Für DL/I, VSAM und ISAM werden die Datenbank(en) DST#i#/DST#t# mit PCL1050 (Option INDEX-DB) geladen bzw. angelegt. Mit PCL1024 und PCL1013 können diese reorganisiert werden.

PCL1274 kennt die Optionen TAB, KEY und TEXTDB. PCL1275 kennt die Optionen TAB, DELETE_ALL, DELETE_KEY, ADD, MOD, DEL und TEXTDB. Der standardmäßige Trenner ; wird mit TAB zum Tabulator. Mit KEY werden nur die angeforderten Schlüssel und Relationen abgezogen.

CSV-Datei ASSIN01

  1. Feld Verarbeitungskennzeichen
    keines, A/ADD, M/MOD und D/DEL
  2. Feld Satzart
    zur Zeit leer
  3. Feld Schlüssel/Relation-Nummer
    (R) Nummer
  4. Feld Textierung
  5. Feld Nummer
    für A/ADD, D/DEL und M/MOD relevant und sonst Kommentar

Zur Zeit können maximal 100 Schlüssel und Relationen in einem Lauf verarbeitet werden.

8.24 Log-DB abziehen/Pflege (PCL1284/PCL1285)

Die Felder der Log-DB sind in Änderungen an ASS-Daten loggen dokumentiert.

Die Einrichtung der Log-DB ist in AG-LOGDB beschrieben. Es gibt fünf Log-Datenbanken, die mit AG-LOGDB, AG-LOGDB-AUSWERTUNG, AG-LOGDB-DST004, AG-LOGDB-DST007 und AG-LOGDB-DST009 zugewiesen werden. Es müssen alle zugewiesen werden, wobei aber mehrere auch auf die gleiche DB verweisen können.

Standardmäßig werden alle Batchprogramme geloggt. Mit LOG-PCL1001, LOG-PCL1003, LOG-PCL1016 und LOG-PCL1019 kann dies auf die angegebenen beschränkt werden.

Das Initialisieren der Datenbank erfolgt mit PCL1050. Am PC werden die Datenbank(en) auch angelegt und wie bei geblocktem DB2 ein Optimierungsendesatz geschrieben.

   ASSCO    DST007    DSTnnn
     |_________|_________|
               |
            PCL1284
      _________|_________
     |         |         |
  ASSLST    ASSCSV    ASSTMP
ASSCO   $ASSVLK/T1284.VLK    Vorlaufkarte
ASSLST  $ASSPTK/PCL1284.PTK  Protokoll (FBA 133)
ASSCSV  $ASS/ASSLOGDB.CSV    CSV-Ausgabe (VB 9004)
ASSTMP  $ASS/LOG-DB.TMP      Abzug (FB 80)
DSTnnn                       die bis zu fünf Log-DB's

ASSTMP bzw. $ASS/LOG-DB.TMP nur mit der Option ASSTMP und sonst ASSCSV bzw. $ASS/ASSLOGDB.CSV.

Mögliche Optionen
Option Bedeutung
TAB ASSCSV mit Tabulator statt Semikolon
DATUM „ttmmjhjj“ nur den angegebenen Tag
„ttmmjhjj -“ ab dem angegebenen Tag
„- ttmmjhjj“ bis zum angegebenen Tag
„ttmmjhjj - ttmmjhjj“ den angegebenen Zeitraum
TID nur die angeforderte Transaktion
UMGB ST06, WST06, ST09, WST09, AXCEL, ST31, BATCH, INTERNET und WMNTR
standardmäßig wird nicht gefiltert und sonst nur die eine oder mehrere Umgebung(en)
NUR_REL_TRANS nur relevante Transaktionen ausgeben, also mehr als Startzeitpunkt
NUR_AKT nur die laufenden Programme ausgeben
die Filterangaben DATUM, NUR_REL_TRANS, TID und UMGB werden ignoriert
ASSTMP Abziehen nach ASSTMP bzw. $ASS/LOG-DB.TMP
kann mit PCL1285 geladen werden

Die Einschränkungen via DATUM und UMGB können kombiniert werden.

   ASSCO    ASSTMP    DST007
     |_________|_________|
               |
            PCL1285
      _________|
     |         |
  ASSLST    DSTnnn
ASSCO   $ASSVLK/T1285.VLK    Vorlaufkarte
ASSLST  $ASSPTK/PCL1285.PTK  Protokoll (FBA 133)
ASSTMP  $ASS/LOG-DB.TMP      Ladedatei (FB 80)
DSTnnn                       die bis zu fünf Log-DB's

ASSTMP bzw. $ASS/LOG-DB.TMP nur mit der Option ASSTMP.

Mögliche Optionen
Option Bedeutung
SET_ABT Der mit TID angegebene Prozeß soll sich beendigen
ALTER für eine spätere Erweiterung
TID Transaktions-ID
ASSTMP Log-DB's von ASSTMP bzw. $ASS/LOG-DB.TMP laden
kann mit PCL1284 abgezogen werden
Am PC wird die Log-DB automatisch angelegt bzw. geleert.
es wird zur Zeit nur eine Log-DB unterstützt
Am Mainframe noch nicht implementiert.

Für SET_ABT muß wie beim ASS-Monitor außerdem der Text-DB-Eintrag "TRANSAKTION-BEENDEN = J" existieren.

Stichwortverzeichnis

A C D E F G H I K L M O P R S T U V W Z