Kapitelübersicht
5. Die externe Schnittstelle
5.1 Das lange Schnittstellenformat
5.2 Das kurze Schnittstellenformat
5.3 Textformat mit Line-Sequentiell
5.4 Allgemeine Bemerkungen zur Folgeeinspeicherung
5. Externe Schnittstellendatei
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
ASS ist ein in sich abgeschlossenes System. Es uebernimmt
Daten aus anderen Verfahren nur ueber die Externe
Schnittstellendatei.
Die externe Schnittstelle ist also die zentrale Schnittstelle
von ASS-fremden Datenbestaenden zu ASS. Alle Statistikdaten,
die in ASS-Summendatenbanken gespeichert und maschinell
zur Verfuegung gestellt werden koennen, muessen in externen
Schnittstellendateien bereitgestellt werden, von wo aus
sie ihm Rahmen der Folgeeinspeicherung in ASS-Summendatenbanken
uebernommen werden. Von der Externen Schnittstelle an uebernimmt
ASS in vollem Umfang die Verarbeitung der Daten.
Jede Schnittstellendatei beginnt mit einem Kopfsatz und endet
mit einem Endesatz.
Eine Schnittstellendatei kann sich ueber mehrere Dateien
erstrecken (Datei-Splitting). Nur die letzte Datei einer
Schnittstellendatei wird mit einem Endesatz abgeschlossen.
Zwischen Kopf- und Endesatz befinden sich die Summensaetze.
Alle Saetze der Externen Schnittstelle besitzen einen festen
Anfangsteil, der Satzart, Ordnungsbegriff usw. enthaelt.
Kopf- und Summensatz enthalten zusaetzlich Schluessel-
und Wertetabelle, waehrend der Endesatz noch die Anzahl der
Summensaetze (vom letzten Kopfsatz an gezaehlt) angibt.
Die Anlieferung von Saetzen in der Externen Schnittstellen-
datei kennt folgende Formate:
- langes Format
- kurzes Format (ueber User-Exit)
- Text - Format (nur Windows/Unix)
in Kombination mit den beiden Moeglichkeiten
- "ungeshrinkt"
- "geshrinkt" (moeglich, sofern Software-Fremdprodukt EXPAND
zur Verfuegung steht)
In externen Schnittstellen werden Zeiten beim Wert i. a. in der
Form JJMM angeliefert (s.u.). Es koennen jedoch auch Zeiten
in der Form JJMMTT (z.B. fuer Tages-Arbeitsgebiete) angeliefert
werden. In diesem Fall gilt fuer alle unten beschriebenen
Satzformate von externen Schnittstellen (kurzes bzw. langes
Schnittstellenformat):
- Die Satzarten von Kopf- bzw. Summensaetzen sind um 20
zu vergroessern, um die Existenz des Tages anzukuendigen.
- Statt 4-stelliger Zeitangaben sind beim Wert stets 6-stellige
Zeitangaben der Form JJMMTT anzuliefern.
Eine Schnittstellendatei darf nur ein Datumsformat enthalten
(entweder die Form JJMM oder die Form JJMMTT).
5.1 Das lange Schnittstellenformat
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Der nachfolgende Teil dieses 5. Kapitels, der den physikalischen
Aufbau der externen Schnittstelle beschreibt kann beim ersten
Lesen uebersprungen werden.
Schnittstellendateien sind sequentielle Dateien variabler
Satzlaenge.
Jede Schnittstellendatei beginnt mit einem Kopfsatz
(Satzart = H'0000' bzw. H '0002' bzw. H'0004')
und endet mit einem Endesatz (Satzart = H'0099').
Zwischen Kopf- und Endesatz befinden sich die Summensaetze.
Eine Schnittstellendatei kann sich ueber mehrere Dateien
erstrecken (Datei-Splitting). Nur die letzte Datei einer
Schnittstellendatei enthaelt einen Endesatz.
Jede Datei kann mit einem Kopfsatz beginnen - muss aber nicht.
Enthaelt bei Datei-Splitting eine Schnittstellendatei mehrere
Kopfsaetze, so muessen die Inhalte dieser Kopfsaetze identisch
sein.
Kopf- und Summensaetze haben den gleichen Aufbau (siehe unten).
Jeder Satz beschreibt seinen Aufbau. Der Variable Teil 'TAB'
enthaelt am Anfang soviele Schluesseleintraege (Schluesselnummer
und Schluesselinhalt), wie in 'SCHL_ZAHL' angegeben ist.
Dahinter folgen soviele Werteeintraege (Wertenummer, Werteinhalt,
Wertedatum), wie in 'WERTE_ZAHL' angegeben ist.
Der Kopfsatz gibt an, welche Information in den folgenden
Summensaetzen zu erwarten ist (Schluesselnummer, Wertenummer,
Wertedatum). Wird ein Wert als Bewegung angeliefert und
gibt es zu diesem Wert mehrere Zeitraeume in der betreffenden
Schnittstellendatei, so reicht es aus, im Kopfsatz den
kleinsten moeglichen und den groessten moeglichen Zeitraum
anzukuendigen.
Die Felder fuer Schluesselinhalt und Werteinhalt muessen geloescht
sein (Ausnahme Satzart H'0004', siehe unten).
In den Summensaetzen muessen alle Felder fuer Schluessel- und
Werteeintraege belegt sein.
ANMERKUNG:
In der nachfolgenden Beschreibung wird oft Assembler-Notation
benutzt. Beispielsweise bedeutet H'0004'
- in COBOL : PIC S9(4) COMP VALUE +4
- in PLI : BIN FIXED(15) INIT(4)
Enthaelt eine Schnittstelle Werte vom Typ BEWEGUNG, die in einer
Summendatenbank als BESTAND gespeichert werden, so sind
LADEN und FORTSCHREIBEN zu unterscheiden.
Vor der Fortschreibung ist ein Ladelauf erforderlich, in dem
die oben genannten Werte als Bestandswerte angeliefert werden
(Einzelheiten hierzu siehe weiter unten).
Bei der Satzart H'0004' wird im Kopfsatz angegeben, in welcher
Form die Werte in den Summensaetzen angeliefert werden, und
zwar wird dies im Werteinhalt ausgedrueckt:
WERTEINHALT = 0 : Der betreffende Wert wird in den nachfolgenden
Summensaetzen als BESTAND angeliefert.
WERTEINHALT = 1 : Der betreffende Wert wird in den nachfolgenden
Summensaetzen als BEWEGUNG angeliefert.
Werte mit der Werteart '1' (BEWEGUNG) duerfen nur als BEWEGUNG
angeliefert werden, Werte mit der Werteart '0' (BESTAND) muessen
bei der Ersteinspeicherung als BESTAND angeliefert werden
(LADEN) und koennen anschliessend ueber Bewegungen
fortgeschrieben werden (FORTSCHREIBEN) oder immer wieder als
BESTAND angeliefert werden. Diese Regelung gilt auch fuer
Vorgabewerte, wenn diese im BATCH eingespeichert werden.
Es gibt unterschiedliche Satzarten fuer Kopfsaetze, die
im Laufe der Entwicklung von ASS nacheinander entstanden. Aus
Kompatibilitaetsgruenden bleiben diese Kopfsatzarten weiterhin
gueltig. Bei Programmierung von neuen Schnittstellen empfehlen wir
Ihnen, nur noch die neueste Satzart H'0004' zu benutzen, weil
sich dann die Schnittstelle selber beschreibt und weil Sie dann
unabhaengig von der manuellen Pflege der Parameterdatenbanken
sind. Bei den eigentlichen Summensatzarten verhaelt es sich
aehnlich. Kuenftig sollten hier nur noch die Satzarten '0005'
bzw. '0015' Anwendung finden.
Anmerkung zum SHRINK:
Das im folgenden gelegentlich angesprochene Softwareprodukt
SHRINK ist Fremdsoftware. Sollte im Rechenzentrum SHRINK nicht
zur Verfuegung stehen, so eruebrigen sich die zu diesem Thema
gemachten Aussagen.
Bitte beachten Sie:
-------------------
- Werte sind chronologisch aufsteigend anzuliefern.
Bei Werten, die als BEWEGUNG angeliefert werden, koennen Sie
die Chronologie-Bedingung durch eine Verarbeitungsoption
in der Folgeeinspeicherung ausschalten
(Option 'MAXDATGLEICH' oder 'NMAXDAT').
- In einem Lauf der Folgeeinspeicherung koennen mehrere
Schnittstellendateien fuer ein Arbeitsgebiet verarbeitet
werden (Dateiverkettung, nur bei IBM).
- Eine Schnittstellendatei, die in ein bestimmtes Arbeitsgebiet
einfliessen soll, muss mindestens einen Wert enthalten,
der im betreffenden Arbeitsgebiet verwendet wird.
- Ein Wert mit derselben Wertenummer und demselben Wertedatum
darf in einem Schnittstellensatz hoechstens einmal vorkommen.
- Eine Schnittstellendatei, die in ein bestimmten Arbeitsgebiet
einfliessen soll, muss alle verwendeten Schluessel der
betroffenen Verdichtungsstufen enthalten mit folgender
Ausnahme:
Ist ein Schluessel (z. B. KREIS) einem anderen (z. B. ORT)
hierarchisch uebergeordnet und werden die Auspraegungen des
untergeordneten Schluessels (ORT) gegen die
Schluesseldatenbank geprueft (KEPRKZ = '0'), so braucht der
uebergeordnete Schluessel (KREIS) nicht in der
Schnittstellendatei enthalten zu sein, er wird in der
Folgeeinspeicherung automatisch ergaenzt, falls die folgende
Bedingung erfuellt ist:
Zu jeder Auspraegung des untergeordneten Schluessels darf es
einen Eintrag und somit nur eine Zuordnung zu einer ueberge-
ordneten Auspraegung in der Schluesseldatenbank geben.
Einzelheiten hierzu sind im Handbuch "Einrichten Arbeitsgebiet
im Dialog" beschrieben.
Beispiel
! Verwendete Schluessel !
! im Arbeitsgebiet !
Verdichtungsstufe ! ! Verwendete Werte
! S_1 S_2 S_3 S_4 !
-------------------------------------------------------------
! !
1 ! + + + + ! W_1
! !
2 ! + + ! W_1 W_2
! !
3 ! + + ! W_2 W_3
Werden nun im Kopfsatz die Werte W_2 und W_3 angekuendigt, so
sind fuer die Einspeicherung nur die Verdichtungsstufen 2 und 3
betroffen. Also brauchen im Kopfsatz und damit auch in den
Summensaetzen nur die Schluessel S_1, S_2 und S_3 angeliefert
werden.
Es sei nun der Schluessel S_1 hierarchisch dem Schluessel S_2
untergeordnet. Werden die Auspraegungen von S_1 nicht gegen die
Schluesseldatenbank geprueft (KEPRKZ gleich '1' oder '2'), so
muss der Schluessel S_2 unbedingt angeliefert werden. Wenn
dagegen die Auspraegungen von S_1 gegen die Schluesseldatenbank
geprueft werden (KEPRKZ gleich '0'), so ist die Anlieferung von S_2
freigestellt. Bei dieser Betrachtung ist es unerheblich, ob die
Auspraegungen von S_2 gegen die Schluesseldatenbank geprueft
werden oder nicht. Diese Aussagen gelten nur, wenn keine
Auspraegungsduplikate vorkommen (siehe oben).
HINWEIS: Alle verwendeten Schluessel des Arbeitsgebiets koennen
angeliefert werden.
Darueber hinaus koennen sogar Schluessel angeliefert
werden, die nicht im Arbeitsgebiet zu den verwendeten
Schluesseln zaehlen. Wichtig ist nur, dass saemtliche im
Kopfsatz angekuendigten Schluessel auch in jedem Summensatz
enthalten sind.
Die Behandlung zeitabhaengiger Schluessel in der Schnittstelle
--------------------------------------------------------------
Bei der Folgeeinspeicherung koennen Sie grundsaetzlich mit und ohne
Beruecksichtigung des Zeitaspekts bei Schluesselinhalten arbeiten.
Standardmaessig ist die Zeitpruefung ausgeschaltet. Wenn Sie
mit dieser Einstellung eine Einspeicherung vornehmen, so geht ASS
davon aus, dass alle Schluesselauspraegungen in der Schluessel-
datenbank unbegrenzt gueltig sind, ohne Ruecksicht auf das
mit der Schluesselauspraegung gespeicherte Gueltigkeitsintervall.
Wird dagegen mit aktivierter Zeitpruefung eingespeichert, so wird
bei der Verarbeitung nicht nur das Vorhandensein der betreffenden
Auspraegungen, sondern auch ihre zeitliche Gueltigkeit berueck-
sichtigt. Beim Versuch zu einer Auspraegung, deren Gueltigkeit
abgelaufen ist, Werte anzuliefern, verweigert das System die
Annahme dieser Werte.
Werden in der Schnittstelle Auspraegungen einer Schluessel-
hierarchie angesprochen, so wird nicht nur die Gueltigkeit der
einzelnen Auspraegungen fuer sich, sondern auch die zeitliche
Validitaet der mitangesprochenen Auspraegungsbeziehungen geprueft.
ACHTUNG:
Bestehen zu einer Auspraegung Duplikate, d.h. die Auspraegung
geht mehrere, in der Regel zeitlich verschiedene Beziehungen zu
uebergeordneten Auspraegungen ein, so muessen in der Schnittstel-
le saemtliche Auspraegungen mitangeliefert werden. Eine automa-
tische Ergaenzung der uebergeordneten Auspraegungen durch ASS
ist dann nicht mehr moeglich.
Zulaessige Kombinationen von Satzarten:
---------------------------------------
Satzart im ! Zulaessige Satzart im
Kopfsatz ! Summensatz
---------------------------------------
!
0 ! 1 , 11
!
2 ! 3 , 13
!
4 ! 5 , 15
Es folgen die Satzaufbauten im Detail:
Die Laengenangaben verstehen sich, wenn nichts anderes gesagt
ist, in Bytes. Eine Bemerkung zum Format:
Format ! Assembler ! COBOL ! PLI
-----------------------------------------------------------
! ! !
H ! H ! PIC S9(4) COMP! BIN FIXED(15)
F ! F ! PIC S9(9) COMP! BIN FIXED(31)
CH ! CLn ! PIC X(n) ! CHAR (n)
Beschreibung der fuer alle Satzarten gleichen Anfangselemente
-------------------------------------------------------------
Name !Laenge!Format! Beschreibung
---------------------------------------------------------------------
! ! !
Satzlaenge ! 4 ! ! Das uebliche Satzlaengenfeld
! ! ! (Achtung: hier ist das Satzlaengen-
! ! ! feld gemeint, das vom Betriebssystem
! ! ! benutzt wird. In COBOL hat man hierauf
! ! ! im allgemeinen keinen Zugriff).
! ! !
SCHNITTST_NR! 2 ! H ! Nummer der Schnittstelle
! ! !
EDATUM ! 6 ! CH ! Erstellungsdatum JJMMTT
! ! !
SATZ_ART ! 2 ! H ! Satzart
! ! ! H'0000': Kopfsatz Laden/Abgleich
! ! ! H'0001': Summensatz Laden/Abgleich
! ! ! H'0011': Summensatz Laden/Abgleich
! ! ! Satz ist "geshrinkt"
! ! ! H'0002': Kopfsatz Bestand/Bewegung
! ! ! entsprechend Werte-Anlieferung
! ! ! von der Wertedatebank
! ! ! H'0003': Summensatz Bewegung
! ! ! H'0013': Summensatz Bewegung
! ! ! Satz ist "geshrinkt"
! ! ! H'0004': Kopfsatz, Wertanlieferungsart
! ! ! ist im Satz beschrieben
! ! ! H'0005': Summensatz zu H'0004'
! ! ! H'0015': Summensatz zu H'0004'
! ! ! Satz ist "geshrinkt"
! ! ! H'0099': Endesatz
! ! !
Es folgen nun - gesondert nach den einzelnen Satzarten -
die uebrigen, nicht fuer alle Satzarten identischen Bestandteile
der Schnittstellensaetze.
Restlicher Satzaufbau fuer Satzart H'0000', H'0002', H'0004'
-----------------------------------------------------------
Name !Laenge!Format! Beschreibung
---------------------------------------------------------------------
! ! !
! ! !
! ! !
! ! !
ORD_BEGR ! 30 ! CH ! Ordnungsbegriff im Ausgangsbestand
! ! ! Wird von ASS bei fehlerhaften
! ! ! Schnittstellensaetzen im Protokoll
! ! ! angedruckt, dient somit der
! ! ! Fehlerermittlung.
! ! !
SCHL_ZAHL ! 2 ! H ! Anzahl Schluessel in TAB
! ! !
WERT_ZAHL ! 2 ! H ! Anzahl Werte in TAB
! ! !
TAB ! VAR ! ! Tabelle mit Schluesseln und Werten
! ! ! SCHL_ZAHL gibt an, wieviele
! ! ! Schluesseleintraege in TAB enthalten
! ! ! sind (Index laeuft von 1 bis
! ! ! SCHL_ZAHL).
! ! ! WERT_ZAHL gibt an, wieviele
! ! ! Werteeintraege in TAB enthalten sind
! ! ! (Index laeuft von SCHL_ZAHL + 1 bis
! ! ! SCHL_ZAHL + WERT_ZAHL).
! ! ! Jeder Tabelleneintrag ist 14 Byte lang,
! ! ! bei Werten mit der Zeit in der Form
! ! ! JJMMTT ist ein Werteeintrag 16 Byte
! ! ! lang.
! ! ! Aufbau eines Schluesseleintrags:
! ! ! - Schluesselnummer H
! ! ! - Schluesselinhalt 12 Byte CH
! ! ! linksbuendig
! ! ! in Kopfsaetzen auf
! ! ! Blank geloescht.
! ! ! Aufbau eines Werteeintrags:
! ! ! - Wertenummer H
! ! ! - Werteinhalt 8 Byte gepackt
! ! ! Bei Satzart H'0000' und H '0002'
! ! ! geloescht auf 0.
! ! ! Bei Satzart H'0004'
! ! ! 0 : Betreffender Wert wird als
! ! ! BESTAND angeliefert.
! ! ! 1 : Betreffender Wert wird als
! ! ! BEWEGUNG angeliefert.
! ! ! - Wertedatum 4 Byte CH Format JJMM
! ! ! oder 6 Byte Format JJMMTT
Restlicher Satzaufbau fuer Satzart H'0001', H'0003', H'0005'
Name !Laenge!Format! Beschreibung
---------------------------------------------------------------------
! ! !
! ! !
ORD_BEGR ! 30 ! CH ! Ordnungsbegriff im Ausgangsbestand
! ! ! Wird von ASS bei fehlerhaften
! ! ! Schnittstellensaetzen im Protokoll
! ! ! angedruckt, dient somit der
! ! ! Fehlerermittlung.
! ! !
SCHL_ZAHL ! 2 ! H ! Anzahl Schluessel in TAB
! ! !
WERT_ZAHL ! 2 ! H ! Anzahl Werte in TAB
! ! !
TAB ! Var ! ! Tabelle mit Schluesseln und Werten
! ! ! analog zu Kopfsaetzen
! ! ! Jeder Tabelleneintrag ist 14 Byte lang
! ! ! Aufbau eines Schluesseleintrags:
! ! ! - Schluesselnummer H
! ! ! - Schluesselinhalt 12 BYTE CH
! ! ! linksbuendig
! ! ! Aufbau eines Werteeintrags:
! ! ! - Wertenummer H
! ! ! - Werteinhalt 8 Byte gepackt
! ! ! - Wertedatum 4 Byte CH Format JJMM
! ! ! oder 6 Byte CH Format JJMMTT
Restlicher Satzaufbau fuer Satzart H'0011, H'0013', H'0015'
----------------------------------------------------------
Saetze der Satzart H'0011', H'0013', H'0015' sind wie Saetze
der Satzart H'0001', H'0003', H'0005' aufgebaut, sie sind
jedoch ab dem Feld "ORD_BEGR" einschliesslich "geshrinkt"
(siehe Hinweis weiter unten).
Restlicher Satzaufbaus fuer Satzart H'0098'
------------------------------------------
Saetze dieser Satzart werden bei der
Schnittstellenverarbeitung ueberlesen.
Name !Laenge!Format! Beschreibung
---------------------------------------------------------------------
! ! !
ORD_BEGR ! 30 ! CH ! Ordnungsgegriff im Ausgangsbestand
! ! ! Wird von ASS bei fehlerhaften
! ! ! Schnittstellensaetzen im Protokoll
! ! ! angedruckt, dient somit der
! ! ! Fehlerermittlung.
! ! !
! ! !
SUMSAETZE ! 4 ! F ! Anzahl der Summensaetze von Anfang bis
! ! ! einschliesslich dieser (Teil-) Datei
Restlicher Satzaufbau fuer Satzart H'0099'
-----------------------------------------
ORD_BEGR ! 30 ! CH ! Ordnungsbegriff im Ausgangsbestand
! ! ! (fuer Fehlerhinweise)
! ! !
SUMSAETZE ! 4 ! F ! Anzahl der Summensaetze in
! ! ! der Schnittstellendatei
5.2 Das kurze Schnittstellenformat
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Sollte der Platzbedarf einer externen Schnittstelle einmal
zu gross werden, so gibt es auch die Moeglichkeit, mit einer
"kurzen" ASS-Schnittstelle zu arbeiten.
Die kurze Schnittstelle wird verarbeitet, wenn Sie in der Vorlauf-
karte von PST1001 'EXIT=MST0089' angeben.
Sie koennen auch mit eigenen USER-EXITS arbeiten.
Einzelheiten hierzu sind im Handbuch 'BETRIEB'
beschrieben.
Struktur der "kurzen" ASS-Schnittstelle
---------------------------------------
Generell gilt:
Die Position der Felder Satzart und Schnittstellennummer
wird fuer alle Satzarten vertauscht.
1. Kopfsatz (Satzart = 0, Satzart = 2, Satzart = 4):
Kopfsaetze werden in der "langen" Form verarbeitet, es werden
jedoch einige Felder anders belegt:
- Ordnungsbegriff: Byte 29 und Byte 30:
Laenge des Ordnungsbegriffs in
den nachfolgenden Summensaetzen
H (HALBWORT).
Zulaessiger Inhalt:
0 <= Laenge <= 30
- Schluesselinhalt: Byte 1 und Byte 2:
Laenge des Schluesselinhaltes in den
nachfolgenden Summensaetzen H
(HALBWORT). Zulaessiger Inhalt:
1 <= Laenge <= 12
Byte 3 bis Byte 12 geloescht auf Blank.
2. Summensatz (Satzart = 1, Satzart = 3 , Satzart = 5):
- Satzart : wie bisher
- Erstellungsdatum entfaellt
- Schnittstellennummer entfaellt
- Ordnungsbegriff : In der Laenge, wie im Kopfsatz
angekuendigt
(entfaellt bei Laenge 0).
- Anzahl-Schluessel entfaellt
- Anzahl-Werte :
1. Byte Art der Wertetabelle binaer
2. Byte Anzahl Werte binaer
- Schluesselnummer entfaellt
- Schluesselinhalt jeweils in der Laenge, wie
im Kopfsatz angekuendigt.
Schluesselinhalte muessen in der im Kopfsatz
angekuendigten Reihenfolge geliefert werden.
- Aufbau der Wertetabelle in Abhaengigkeit
vom 1. Byte des Feldes Anzahl-Werte:
X'00' : wie in der langen Form.
X'10' : Wertenummer: H, nicht ausgerichtet
Inhalt : 8 Byte gepackt
Zeitraum : aus Kopfsatz,
Zeitraum muss in der ganzen
Schnittstelle konstant sein.
Laenge eines Tabelleneintrages: 10 Byte.
X'20' : Wertenummer : H, nicht ausgerichtet
Lth : Bit (08)
Laenge des nachfolgenden
Werteinhaltes in Bytes.
Inhalt : Gepackt in der Laenge von Lth,
Beispiel:
DEC FIXED(7) (PLI) bzw. PIC S9(7) COMP-3 (COBOL)
entspricht der Laenge 4.
Zeitraum : aus Kopfsatz,
Zeitraum muss in der ganzen
Schnittstelle konstant sein.
Laenge eines Tabelleneintrages 3 + Lth Byte.
ACHTUNG: In einem Summensatz duerfen maximal 255
Werteeintraege vorhanden sein.
3. Summensatz geshrinkt (Satzart = 11, Satzart = 13, Satzart = 15):
Satz wird wie unter 2. aufgebaut.
"geshrinkt" wird ab Ordnungsbegriff (einschliesslich),
im Prinzip wie bisher
(siehe Hinweis weiter unten).
4. Endesaetze (Satzart = 98, Satzart = 99):
Wie bisher (jedoch wie bereits oben gesagt sind die Felder fuer
Schnittstellennummer und Satzart vertauscht).
HINWEIS zum "Shrinken":
Es gibt einen kleinen Unterschied beim "Shrinken" der
(Standard-)Schnittstelle und der "kurzen" Schnittstelle.
Der "geshrinkte" Satz der (Standard-)Schnittstelle enthaelt nach
der Satzart das vom "Shrink" gelieferte RDW
(RECORD-DESCRIPTION-WORD).
Bei der "kurzen" Schnittstelle wird ab Ordnungsbegriff "geshrinkt".
Der Satzaufbau ist wie folgt:
RDW, Satzart, "geshrinkter" Teil des Summensatzes.
Beispiel fuer eine externe Schnittstelle, langes Format
1. Kopfsatz
8 7 1 0 0 2 G E N E R I E R T E
008400000011F8F7F1F0F0F20004C7C5D5C5D9C9C5D9E3C540
. . . .05 . . . .10 . . . .15 . . . .20 . . . .25
S C H N I T T S T E L L E _
E2C3C8D5C9E3E3E2E3C5D3D3C540404040404000020004076D
. . . .30 . . . .35 . . . .40 . . . .45 . . . .50
40404040404040404040404007964040404040404040404040
. . . .55 . . . .60 . . . .65 . . . .70 . . . .75
_ 8 6 0 1 >
40076D000000000000001CF8F6F0F1076E000000000000001C
. . . .80 . . . .85 . . . .90 . . . .95 . . . 100
8 6 0 1 ? 8 6 0 1
F8F6F0F1076F000000000000001CF8F6F0F107700000000000
. . . 105 . . . 110 . . . 115 . . . 120 . . . 125
8 6 0 1
00001CF8F6F0F1
. . . 130 . .
2. Summensatz
8 7 1 0 0 2 G E N E R I E R T E
008400000011F8F7F1F0F0F20005C7C5D5C5D9C9C5D9E3C540
. . . .05 . . . .10 . . . .15 . . . .20 . . . .25
S C H N I T T S T E L L E _
E2C3C8D5C9E3E3E2E3C5D3D3C540404040404000020004076D
. . . .30 . . . .35 . . . .40 . . . .45 . . . .50
1 1 1 1 1
F1F1404040404040404040400796F1F1F14040404040404040
. . . .55 . . . .60 . . . .65 . . . .70 . . . .75
_ 8 6 0 1 > <
40076D000000000000103CF8F6F0F1076E000000000000104C
. . . .80 . . . .85 . . . .90 . . . .95 . . . 100
8 6 0 1 ? * 8 6 0 1
F8F6F0F1076F000000000000105CF8F6F0F107700000000000
. . . 105 . . . 110 . . . 115 . . . 120 . . . 125
% 8 6 0 1
00106CF8F6F0F1
. . . 130 . .
3. Endesatz
8 7 1 0 0 2 G E N E R I E R T E
003000000011F8F7F1F0F0F20063C7C5D5C5D9C9C5D9E3C540
. . . .05 . . . .10 . . . .15 . . . .20 . . . .25
S C H N I T T S T E L L E
E2C3C8D5C9E3E3E2E3C5D3D3C540404040404000000001
. . . .30 . . . .35 . . . .40 . . . .45 . . .
! !
------
V
Anzahl Summensaetze
5.3 Schnittstellenformat fuer Dateien im
Format line sequential (Textformat)
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
-----------------------------------
Wie bei anderen Formaten der externen Schnittstelle
(ASSINxx fuer PCL1001) ueblich, beginnt diese mit einem
Kopfsatz und endet mit einem Endesatz. Dazwischen
befinden sich die eigentlichen Daten auf 0 bis n
Summensaetze verteilt. Technisch koennen Kopfsatz,
Summensaetze und Endesatz auf verschiedenen Dateien
abgespeichert sein, die durch die Angabe von ASSIN=n (n
= 1,2,...,40) in der Vorlaufkarte zu PCL1001
konkateniert werden.
Beispiel: Kopfsatz auf Datei ASSIN01
Summensaetze auf Datei ASSIN02
Endesatz auf Datei ASSIN03
Durch Angabe von ASSIN = 3, werden diese
Dateien hintereinander abgearbeitet.
Die einzelnen Saetze der externen Schnittstelle bestehen aus
verschiedenen Feldern. Einzelne Eintraege werden dabei
durch ein Semikolon separiert. Duerfen die Inhalte zu
einzelnen Eintraegen fehlen (siehe unten), so folgen
dementsprechend unter Umstaenden mehrere Semikola
aufeinander. Mit Ausnahme bei Schluesselinhalten werden
fuehrende und nachfolgende Leerzeichen toleriert. Bei
Feldern, deren Inhalte Zahlenangaben sind, duerfen
Vorzeichenangaben vor oder hinter der Ziffernfolge stehen.
Fehlt das Vorzeichen, so gilt die Zahl als positiv. Aufbau
und Bedeutung der einzelnen Felder lehnen sich an die
kurze Schnittstelle an.
Die Werteinhalte haben kein Komma. Damit liefert man zum Beispiel
Euro in Cent an, falls der entsprechende Wert zewi Nachkommastellen
hat.
Die ASS-Zeit kann in der Form JJMM oder JJMMTT angeliefert
werden. Das Format muss jedoch in einer Schnittstellendatei
einheitlich sein.
Aufbau Kopfsatz:
===============
Das erste Feld im Kopfsatz ist der Ordnungsbegriff. Dieser
muss fix den Inhalt KOPFSATZ haben. Dem
Ordnungsbegriff folgt das Feld Erstelldatum mit dem
Aufbau JJMMTT, anschliessend das Feld Nummer der
Schnittstelle (Arbeitsgebietsnummer). Die Inhalte dieser
beiden Felder koennen fehlen. In diesem Fall ist in der
Vorlaufkarte von PCL1001 eine Angabe zum
Arbeitsgebiet zu machen. Es folgen die Felder 'Anzahl
Schluesseleintraege' und 'Anzahl Werteeintraege'. Danach
kommen so viele Schluesselnummern, wie in Anzahl
Schluesseleintraege angekuendigt werden. Abschliessend
folgen die Werteeintraege. Jeder Werteeintrag besteht dabei
aus einem Triple aus Wertenummer, Anlieferungsart (0
entspricht Bestandsanlieferung, 1 entspricht
Bewegungsanlieferung) und Wertedatum (in der Form
JJMM oder JJMMTT). Analog zur kurzen Schnittstelle muessen im
Kopfsatz nur minimales und maximales Wertedatum der in
den Summensaetzen vorkommenden Werte angekuendigt
werden. Wird nur genau ein Zeitaspekt eingespeichert, so
existiert zu dem betreffenden Wert nur ein Werteeintrag.
Formaler Aufbau:
---------------
Ordnungsbegriff;
Erstelldatum;
Nummer der Schnittstelle;
Anzahl Schluesseleintraege;
Anzahl Werteeintraege;
Schluesselnummer Schluessel 1;
.
.
.
Schluesselnummer Schluessel n; (mit n='Anz. Schluesseleintraege')
Wertenummer Wert 1;
Anlieferungsart Wert 1;
Wertedatum Wert 1;
.
.
.
Wertenummer Wert m; (mit m='Anzahl Werteeintraege')
Anlieferungsart Wert m;
Wertedatum Wert m
Beispiel:
--------
KOPFSATZ;000421;3;2;4;4711;4712;5711;1;0001;5711;1;
0004;5712;1;0004;5713;1;0001
Aufbau Summensatz:
=================
Jeder Summensatz beginnt mit einem Ordnungsbegriff,
dessen Inhalt fehlen darf. Es folgen die Schluesselinhalte zu
den im Kopfsatz angekuendigten Schluesselnummern. Dabei
muessen Anzahl und Reihenfolge mit dem Kopfsatz
harmonieren. Anschliessend folgen die Werteeintraege,
wobei analog zum Kopfsatz jeder Werteeintrag aus einem
Triple von Feldern besteht: Wertenummer, Werteinhalt,
Wertedatum. Jede Wertenummer / -datum-Kombination
muss durch den Kopfsatz angekuendigt werden, wobei pro
Wert die Angabe von minimalem und maximalem Datum
genuegt (siehe Kopfsatz).
Beispiel (entsprechend Beispiel fuer Kopfsatz):
--------
;Nord;Detmold;5711;+1000;0001;5713;-112;0004
Summensatz;Sued;Muenchen;5711;8000+;0004;5712;1234-
;0004;5713;112;0004
Bemerkung: Der Begriff 'Summensatz' in obigem Beispiel
ist ein Beispiel fuer einen Ordnungsbegriff.
Achtung: Bei Schluesselinhalten sind fuehrende Leerzeichen
zu beachten. Die Inhalte 'Nord' und ' Nord'
sind im ASS verschieden.
Aufbau Endesatz:
===============
Der Endesatz besteht nur aus einem Ordnungsbegriff mit
dem fixen Inhalt ENDESATZ.
Beispiel:
--------
ENDESATZ
5.4 Allgemeine Bemerkungen zur Folgeeinspeicherung
Kapitelübersicht
Inhaltsverzeichnis
Stichwortverzeichnis
Streng genommen muss zwischen Erst- und Folgeeinspeicherung
unterschieden werden. Die Ersteinspeicherung eines Arbeits-
gebietes ist die allererste Uebernahme von Daten aus der
externen Schnittstelle in eine ASS-Summendatenbank.
Sie hat besondere Bedeutung. In der Ersteinspeicherung wird das
kleinste Datum festgelegt, zu dem Summendaten existieren
duerfen. Dieses Datum wird in der Steuerungsdatenbank unter
Datum 1. Einspeicherung festgehalten. Die Zeitraeume aller
spaeteren Einspeicherungen muessen groesser oder gleich dem
Datum der 1. Einspeicherung sein. Der Grund hierfuer ist
folgender: Um Platz in der Summendatenbank zu sparen, speichert
ASS Zeitraeume nicht in Datumsform (z. B. JJMM), sondern
von Null beginnend durchgezaehlt. Der Monat der ersten
Einspeicherung erhaelt Null, der naechste Monat 1 usw.
Eine Aenderung ist nur moeglich, wenn man wieder ganz von vorne
beginnt und alle Erst- und Folgeeinspeicherungen wiederholt.
Schnittstellendateien, die die ASS-Zeit in der Form JJMMTT
anliefern, koennen in Arbeitsgebiete auf Monatsbasis
eingespeichert werden, wobei dann ueber den Tag verdichtet
wird (Addition der verschiedenen Tage eines Monats).
Schnittstellendateien, die die ASS-Zeit in der Form JJMM
anliefern, koennen in Arbeitsgebiete auf Tagesbasis nicht
eingespeichert werden.
Die Behandlung von BEWEGUNGswerten
----------------------------------
Bewegungswerte koennen nur als Bewegung angeliefert werden.
Die Zahlen aus der Schnittstelle werden unter dem in der
Schnittstellen angegeben Zeitaspekt in der Summendatenbank
abgelegt, evtl. auch aufaddiert. Nullen werden nicht gespeichert.
Sie koennen Bewegungen auch noch nachtraeglich fuer bereits
eingespeicherte Zeitraeume nachliefern (ergaenzen).
Die Behandlung von BESTANDswerten
---------------------------------
Die Behandlung von Bestandswerten ist etwas schwieriger als die
von Bewegungen. Ein Bestandswert gilt immer stichtagsbezogen.
Einen neuen Stichtagsbestand erhalten Sie, wenn Sie einen
alten Stichtagsbestand haben und die Aenderungen, die sich bis zum
neuen Stichtag ergeben haben, in der Schnittstelle anliefern.
Man nennt dies Fortschreiben von Bestaenden. Offensichtlich
braucht die Bestandsfortschreibung einen "alten" Bestand. Das
bedeutet fuer die Ersteinspeicherung von Bestandswerten, dass sie
in der Form von Bestaenden angeliefert werden muessen (eine
sogenannte Bestandsuebernahme).
Beispiel:
---------
Sie fuehren fuer den Januar 2000 eine Bestandsuebernahme durch.
Den Bestand fuer Februar erhalten Sie, wenn Sie die Aenderungen,
die im Laufe des Februars angefallen sind, in Form von Bewegungen
anliefern. Technisch ist jedoch auch eine komplette
Bestandsuebernahme fuer den Februar moeglich. Mischformen sind
ebenso zulaessig, etwa immer eine Bestandsuebernahme im Januar,
eine Fortschreibung durch Bewegungen fuer die restlichen Monate
des Jahres, dann wieder Bestandsuebernahme fuer den Januar des
Folgejahres (weil eventuell die Befuerchtung besteht, dass bei
der Fortschreibung durch Bewegungen nicht garantiert werden
kann, dass in der Schnittstelle immer alle Bewegungen richtig
angeliefert werden koennen).
Wird die Kopf-Satzart 4 verwendet, so koennen Bestandswerte
bei der ersten Einspeicherung von Summendaten in ein Arbeitsgebiet
auch als Bewegung angeliefert werden. In diesem Fall wird ein
"alter" Bestand (der eigentlich noch nicht existiert), der
ueberall 0 ist, durch die Bewegungsanlieferung fortgeschrieben.
HINWEIS: Die Fortschreibung eines Bestandes in der
Folgeeinspeicherung ist im allgemeinen deutlich billiger als eine
regelmaessige Bestandsuebernahme, weil die externe Schnittstelle
bei Bewegungsfortschreibung in der Regel deutlich kleiner als der
Gesamtbestand ist.
ANMERKUNG: Angenommen, dass ein Bestandswert bereits fuer ein
ganzes Jahr, also von Januar bis Dezember eingespeichert ist.
Jetzt wird eine Bewegung fuer April geliefert.
Diese Bewegung wird als "vergessene" Bewegung interpretiert
und in die Bestandszahlen der Monate April bis Dezember
eingearbeitet. Die Bewegung habe den numerischen Inhalt 1.
Dies erhoeht dann den Bestand fuer April, Mai, ... , Dezember
um 1. Will man jedoch erreichen, das sich nur der Bestand
fuer April um 1 erhoeht, so muss fuer Mai eine Bewegung mit
-1 angeliefert werden. Dies saldiert sich dann fuer die
Monate Mai, Juni, ... , Dezember zu 0.
Vorheriges Kapitel: 4. ASS-Funktionsumfang
Nächstes Kapitel: 6. Datenbankbeschreibungen