Dokumentationsübersicht

Inhaltsverzeichnis

ASS Benutzerhandbuch
Auswertung Batch, Online (ST31)

a

1 Aufgabenstellung des Handbuches

Dieses Handbuch beschreibt die Handhabung des ASS-Systems aus der Sicht der Endbenutzer in den Fachabteilungen. Hier erhalten die Anwender alle Informationen, die sie zum korrekten Anfordern von ASS-Statistiken brauchen.

Sie können ASS-Auswertungen Online oder im Batch anfordern und finden in diesem Handbuch sowohl die Bedienung des Online-Dialogs ST31 als auch die Syntax der ASS-Anforderungssprache (genannt BATCH-Anforderungssprache) für die List-Anforderung im BATCH. Alle Leistungsmerkmale der ASS-Auswertung stehen sowohl im Dialog als auch in der BATCH-Sprache zur Verfügung, abgesehen von ausgesprochenen Dialogfunktionen. Deshalb gehen wir bei der Besprechung der einzelnen Funktionen in drei Schritten vor:

Zunächst wird das jeweilige Thema allgemein angesprochen und in seiner Problematik vorgestellt. Anschließend erörtern wir konkrete Lösungen für den Dialog und die BATCH-Anforderungssprache. In den ersten Kapiteln wird sehr ausführlich die allgemeine ASS-Auswertungslogik behandelt und anhand von Beispielen illustriert. Beim Beschreiben der Anforderungselemente der Beispiele greifen wir oft auf die betreffenden Mittel der ASS-BATCH-Anforderungssprache zurück.
Die Lektüre mancher Abschnitte, die sich mit der Batch-Anforderungssprache befassen, kann auch für den Online-Anwender hilfreich und informativ sein. Denn auch der reine Dialog-Anwender wird bei seinen Auswertungen gelegentlich mit Problemen der BATCH-Anforderungssprache konfrontiert. So erfolgt die Formulierung von Werte-, Schlüssel- oder Zeitformeln auch im Dialog nach der Syntax der BATCH-Anforderungssprache. Wenn Sie ihre im ONLINE angeforderte Statistik über das BATCH-Programm PCL1016 ausführen, so erhalten Sie für diese Statistik ein Anforderungsprotokoll in der BATCH-Anforderungssprache.

Für das Verständnis des nachfolgenden Benutzerhandbuches und selbständiges Anfordern von Listen sind Grundkenntnisse der ASS-Begriffswelt und des allgemeinen Listaufbaus einer ASS-Statistik nötig, wie sie im ASS-Handbuch SYSTEMDOKUMENTATION beschrieben sind.

Angesichts des Funktionsumfangs des Systems sollte der Leser, der schnell in die Auswertung mit ASS einsteigen möchte, sich anfangs auf die Abschnitte im Handbuch beschränken, die sich auf das Thema "Erstellen von Anforderungen" beziehen. Wir empfehlen Ihnen, weitere Bereiche des ASS-Funktionsumfangs im Anschluss zu erarbeiten, wenn Sie vertrauter mit ASS sind.

Beim Einstieg in ASS-Auswertungen sind folgende Funktionen besonders wichtig:

Erweiterung dieses Grundwissens:

2 Allgemeine Einführung in die Listanforderung und die Listauswertung

Vor der Darstellung der konkreten Funktionen der Anforderung und Auswertung werden kurz die allgemeinen Grundlagen und Begriffe genannt.

2.1 Arbeitsgebiete, Schlüssel, Werte und Zeiten als Elemente der ASS-Datenbasis

ASS verwaltet und pflegt eigene Informations- und Statistikdatenbestände. In einer Listanforderung werden über geeignete Selektionsverfahren Daten aus diesen Beständen ausgewählt, um bei der anschließenden Auswertung entsprechend der angeforderten Verarbeitungs- und Aufbereitungsoptionen weiterbehandelt zu werden. Die ASS-Datenbestände strukturieren sich im wesentlichen nach den Begriffen Arbeitsgebiet, Schlüssel, Schlüsselinhalte, Werte und Zeit.

Arbeitsgebiet

Ein ASS-Arbeitsgebiet ist ein Mittel zur Proportionierung und Strukturierung der Informations- und Statistikdaten. In der Regel nimmt die Arbeitsgebietseinteilung bezug auf organisatorische Strukturen und/oder Funktionsbereiche eines Unternehmens. Zusätzlich kann auch die primäre Zweckbestimmung bzw. der Zeitbezug der Informationsdaten sich in der Anlage eines Arbeitsgebietes widerspiegeln. Je nach Größe eines Unternehmens bzw. einer Abteilung kann es aufgrund der anfallenden Datenmenge erforderlich sein, die eben angesprochenen Einteilungskriterien zu kombinieren, um nicht zu große und unhandliche Arbeitsgebiete aufzubauen:
z. B. durch Trennung der in einer Sparte oder Abteilung anfallenden Daten in ein Bestands-Arbeitsgebiet, das alle stichtagsbezogenen Bestandswerte aufnimmt, und in ein Bewegungs-Arbeitsgebiet mit den zeitraumbezogenen Veränderungen (Bewegungen). Das eine Arbeitsgebiet beliefert alle Bestandsauswertungen, das andere die reinen Bewegungsauswertungen. Sollen in Auswertungen Bestands- und Bewegungsdaten zusammengeführt bzw. gegenübergestellt werden, so ist dies trotz der Aufteilung in verschiedene Arbeitsgebiete möglich.

Denn das Arbeitsgebiet stellt nur für die Datenspeicherung, nicht aber für die Auswertung die größte ASS-Einheit dar. Daher ist es möglich, in einer Auswertung Daten aus bis zu 20 Arbeitsgebieten anzufordern und zusammenzuführen. Sicherlich ist es nur dann sinnvoll, mehrere Arbeitsgebiete gemeinsam auszuwerten, wenn diese auch wirklich Gemeinsamkeiten hinsichtlich ihrer Thematik und somit ihrer Schlüssel und Werte aufweisen.

Der Informationsraum eines Arbeitsgebietes wird bestimmt durch die im betreffenden Arbeitsgebiet verwendeten Schlüssel und Werte und dazu gespeicherten Zeiten. Die Begriffe Schlüssel, Wert und Zeit werden nachfolgend erläutert.

Schlüssel und Ausprägungen

Ein Schlüssel im ASS ist eine abstrakte Kategorie, die im Gegensatz zu den Werten nicht messbar oder zählbar ist. Die Konkretisierungen eines Schlüssels werden als Ausprägungen beziehungsweise Inhalte eines Schlüssels bezeichnet. Das Merkmal WEIBLICH ist somit eine Ausprägung des Schlüssels GESCHLECHT.
Die Anzahl der Schlüssel eines Arbeitsgebietes steht in der Regel fest, die Zahl der Ausprägungen eines Schlüssels ist dagegen völlig variabel. Mit jeder Einspeicherung kann sich die Zahl der Schlüsselinhalte verändern, wenn zum Beispiel im Bereich der Organisationschlüssel neue Ausprägungen hinzukommen bzw. bisherige entfallen.

Schlüssel sorgen für die Selektion bzw. Zusammenfassung der Wertgrößen einer statistischen Aussage. Werden z. B. in einer Anforderung sämtliche Schlüssel der Organisationshierarchie eines Unternehmens angesprochen, so werden die Beträge der angeforderten Wertkategorien bis auf die kleinste Organisationseinheit aufgefächert. Durch einfaches Weglassen einer Hierarchieebene wird hingegen über diesen nun nicht mehr angeforderten Schlüssel verdichtet und die Teilbeträge werden zusammengefasst, die auf seine Inhalte fallen.
Beispiel:
Der Zuwachs in einem bestimmten Zeitraum soll über die Organisations- und Bezirksdirektionen abgebildet werden:

              S C H L U E S S E L                      W E R T

     Organisationsdirektion   Bezirksdirektion         Zuwachs
           10                     101                    100
                                  102                    110
                                  103                     90
                                  104                    140

           20                     105                     80
                                  106                    130
                                  107                    100
                                  108                    120

Durch Weglassen des Schlüssels Bezirksdirektion wird nun folgende Kumulierung erreicht:

     Organisationsdirektion                            Zuwachs
           10                                            440
           20                                            430

Das Weglassen eines Schlüssels aus den über die angeforderten Arbeitsgebiete angesprochenen Teilen der ASS-Datenbestände führt somit normalerweise zur Kumulierung der Anteile dieses Schlüssels, d. h. der Gesamtanteil dieses Schlüssels fließt in das Auswertungsergebnis ein. Umgekehrt bewirkt die explizite Anforderung eines Schlüssels die Auffächerung der Wertanteile nach den Ausprägungen dieses Schlüssels. Wenn diese Schlüsselinhalte nicht ausdrücklich angefordert werden, so greift ASS auf alle in der Schlüsseldatenbank vorliegende Ausprägungen des Schlüssels zurück.

Verdichtungsstufe

Durch die Anlage von sogenannten Verdichtungsstufen werden Kumulierungen, die ein Großteil der Auswertungen benötigt, in der Regel bis zu einem bestimmten Grad schon bei der Einspeicherung durchgeführt und abgespeichert, so dass die Auswertungen auf diese Ergebnisse zurückgreifen können. Der Zeitaufwand für diese Auswertungen verringert sich dadurch erheblich. ONLINE-Auswertungen werden erst aufgrund der Einrichtung von Verdichtungsstufen möglich.
Verdichtungsstufen sind somit ein Mittel zur Beschleunigung der Auswertung, was über gezielte und kontrollierte Datenredundanzen erreicht wird. Bei der Auswahl der Elemente einer Auswertung spielt die Verdichtungsstufe daher keine Rolle.
Der Anwender bemerkt das Vorhandensein bzw. Fehlen bestimmter Verdichtungsstufen nur indirekt an den auftretenden Verarbeitungs- und Zugriffszeiten. Finden sich in einem Arbeitsgebiet Werte, die nur in sogenannten höheren Verdichtungsstufen vorkommen, in denen gegenüber der Basisstufe einige Schlüssel verdichtet sind, so ist keine Auswertung der betreffenden Werte nach diesen Schlüsseln möglich. Der Anwender wird in diesem Fall über das Fehlen einer passenden Verdichtungsstufe informiert und wird so indirekt auch hier mit der Verdichtungsstufenproblematik konfrontiert.

Werte

Unter der Kategorie Wert werden in den ASS-Beständen die konkreten Zahlen festgehalten, die den eigentlichen Kern der statistischen Information bilden. Werte sind somit zähl- oder messbare Größen, die eine Dimension (Stueck, DM etc.) tragen oder tragen können. Die Inhalte eines Wertes sind die Beträge, die für eine bestimmte Gültigkeitszeit zu einem bestimmten Schlüsselaspekt auftreten.
Für jeden ASS-Wert wird bei der Definition eine Werteart festgelegt, die die Interpretation und den Zeitbezug der Wertinhalte in den ASS-Datenbeständen steuert. Sollen unter einem Wert die absoluten, an einem bestimmten Stichtag gezählten oder gemessenen Beträge festgehalten werden, so spricht man von einem Bestandswert. Will man hingegen unter einem Wert die Veränderungsbeträge in einem bestimmten Zeitraum speichern, so handelt es sich um einen Bewegungswert.
Bei der Auswertung muss der Anwender über die Werteart der von ihm angeforderten Werte informiert sein, um die ausgewerteten Zahlen richtig interpretieren zu können. So muss ihm klar sein, dass z. B. eine Zeitintervallanforderung für einen Bestandswert in der Regel keinen Sinn ergibt, weil eben dann Absolutzahlen über die Zeitachse kumuliert werden.

Zeit

Jede statistische Aussage muss einen Zeitaspekt beeinhalten, auf den ihre Gültigkeit bezogen werden kann. Der Faktor Zeit kann in ASS-Auswertungen grundsätzlich in zwei Varianten auftreten:

Normalerweise ist der Monat die kleinste auswählbare Zeiteinheit. Für Bewegungswerte können bei der Auswertung Kumulierungen über die Zeitachse vorgenommen werden, indem man entsprechende Zeitintervalle anfordert. In dem entsprechenden Auswahlbild der Listanforderung im Dialog wird der Anwender über die zeitlichen Gegebenheiten in dem bzw. den von ihm ausgewählten Arbeitsgebiet(en) informiert.

2.2 Der Begriff der Listanforderung

ASS-Auswertungen werden über eine Reihe von Parametern angefordert, die vom Anwender geeignet besetzt werden. Die Ansammlung aller Parameter, die eine bestimmte Listauswertung erzeugen, bezeichnen wir im ASS-Sprachgebrauch als Listanforderung. Für Listauswertungen kann nun die Listanforderung im Arbeitsspeicher vorgehalten werden, sie kann aber auch auf einem Datenträger gespeichert und von dort ausgeführt werden.

2.3 Selektion der Elemente der ASS-Datenbasis

In ASS-Listanforderungen stehen zunächst alle Elemente der ASS-Datenbasis zur Auswahl, für die der betreffende Anwender eine Berechtigung besitzt:
Die ASS-Arbeitsgebiete mit ihren Schlüsseln und den dazugehörenden Ausprägungen sowie den Werten mit den entsprechenden Zeiten bzw. Zeiträumen. Durch die Festlegung auf ein bzw. mehrere Arbeitsgebiete wird der von ASS zur Auswahl angebotene Vorrat an Schlüsseln, Schlüsselinhalten, Werten und Zeiten entsprechend reduziert (Vereinigungsmenge der Schlüssel, Schlüsselinhalte, Werte und Zeiten der ausgewählten Arbeitsgebiete). Mit fortschreitender Selektion wird das Auswahlpotential immer mehr eingeschränkt, bis schließlich die gewünschte Anforderung durch die vorgenommene Auswahl ausreichend eingegrenzt ist.

2.4 Die ASS-Security

Um die ASS-Datenbestände vor unbefugtem Zugriff wirksam zu schützen, können für jeden Anwender Zugriffsberechtigungen vergeben werden.
Diese beziehen sich auf die Datenbasis, die ASS-Anforderungs- und Formelbibliotheken sowie den ASS-Funktionsumfang. Berechtigungen können somit vergeben werden auf der Ebene von

Von der Gesamtmenge der Elemente einer jeden Ebene werden dem Anwender auf diese Weise mehr oder weniger umfangreiche Teilmengen gesperrt. Im allgemeinen werden nur die Elemente angezeigt, für die eine Zugriffsberechtigung existiert, eine Ausnahme bildet der Zeitraum. Es wird das volle Zeitintervall angezeigt, das auswertbar ist - auch wenn nur eine Berechtigung für Teilintervalle besteht. Zeitangaben auf unberechtigte Zeiträume lehnt das System mit einem Hinweis ab.
Weitere Informationen über das ASS-Berechtigungsverfahren finden Sie im ASS-Handbuch 'Systemdokumentation'.

2.5 Rückgriff auf Standarddefinitionen

Die ASS-Daten werden parametrisiert gespeichert. Diese Parameter werden in eigenen Parametertabellen festgelegt: in der
Werte-, Schlüssel- und Steuerungsdatenbank.

Bei diesen Definitionen werden zahlreiche Standardtexte und -angaben für die Auswertungen mit festgelegt. In Auswertungen können Sie nun, wenn Sie keine individuelle Festlegung wünschen, auf diese Standards Bezug nehmen.
Auf diese Weise können Auswertungen mit Minimalaufwand an Angaben sowohl in Hinsicht auf die Datenselektion als auch bezüglich der Formfestlegungen durchgeführt werden.

So wird die Auswahl der Schlüsselinhalte, die Definition von Überschriften und sonstigen Texten, die Darstellung der Zahlen, die Festlegung von Spalten- und Seitenformaten usw. überflüssig.

2.6 A S S - Listaufbau

ASS-Auswertungen weisen einen standardisierten Listbildaufbau auf (vgl. Handbuch SYSTEMDOKUMENTATION). Es gibt dabei drei Dimensionen:

Diese Dimensionen werden bei der List-Anforderung mit Schlüssel-, Wert- oder Zeitkategorien besetzt. Sie können mit den gleichen Anforderungselementen über die verschiedensten Anordnungen recht unterschiedliche Listbilder erzeugen. Diese Variationen können Sie über einfache Verfahren, wie die Umnumerierung der Elemente einer Dimension bzw. Austausch der Elemente zwischen den Dimensionen erreichen.

Innerhalb einer Dimension können mehrere Elemente ineinander verschachtelt werden. Auf diese Weise können Sie sehr umfangreiche, vieldimensionale Listen erzeugen.

Im ASS-Sprachgebrauch werden die Elemente, die für die einzelnen Dimensionen ausgewählt werden können, häufig als Schlüssel bezeichnet. Man muss diesen Schlüsselbegriff aber weiter auslegen als den Schlüsselbegriff, der in der Datenbasis auftritt. In Zusammenhang mit dem standardisierten Listbild können folgende Kategorien als Schlüssel auftreten:

2.6.1 Kombinationen von Schlüsseln, Werten und Zeiträumen

Innerhalb einer Listendimension können mehrere Elemente, d. h. echte Schlüssel der Datenbasis sowie die Pseudoschlüssel WERTE oder ZEITRAUM miteinander kombiniert werden. Im folgenden soll nun an Beispielen gezeigt werden, in welcher Reihenfolge ASS derartige Kombinationen abarbeitet und auflistet. Die Beispiele werden mit Mitteln der ASS-BATCH-Anforderungssprache definiert.

Im ersten Beispiel sollen folgende drei Schlüssel auf die in Klammern angegebenen Ausprägungen reduziert betrachtet werden:

1TARIF(015, 020, 025)
2GV_SCHLUESSEL(145, 156)
3ALTERSGRUPPE(00, 01, 02)

In der BATCH-Sprache muss das folgendermaßen formuliert werden:

TARIF=(015, 020,025),
GV_SCHLUESSEL=(145, 156),
ALTERSGRUPPE=(00, 01, 02);

ASS kombiniert jede Ausprägung eines Schlüssels mit allen Ausprägungen anderer Schlüssel (Im Beispiel gibt es also 3 x 2 x 3 = 18 verschiedene Kombinationen). Nachfolgend sind alle Kombinationen aufgelistet in der Reihenfolge, die ASS bei der Abarbeitung einhält.

TARIF GV_SCHLUESSEL ALTERSGRUPPE
01514500
01514501
01514502
01515600
01515601
01515602
02014500
02014501
02014502
02015600
02015601
02015602
02514500
02514501
02514502
02515600
02515601
02515602
2.6.1.1 Schlüsselreihenfolge

Durch Vertauschen der Schlüsselreihenfolge können Sie die Reihenfolge der Schlüsselkombinationen und somit das Aussehen des Listbildes beeinflussen. Z. B. ergibt die gegenüber dem vorigen Beispiel geänderte Anforderung:

GV_SCHLUESSEL=(145, 156),
TARIF=(015, 020, 025),
ALTERSGRUPPE=(00, 01, 02);

folgende Reihenfolge:

GV_SCHLUESSEL TARIF ALTERSGRUPPE
14501500
14501501
14501502
14502000
14502001
14502002
14502500
14502501
14502502
15601500
15601501
15601502
15602000
15602001
15602002
15602500
15602501
15602502

Durch Vertauschen der Reihenfolge der Schlüsselausprägungen können Sie die Reihenfolge ebenfalls beeinflussen. Die Änderung der Anforderung in

GV_SCHLUESSEL=(145, 156),
TARIF=(015, 020, 025),
ALTERSGRUPPE=(02, 00, 01);

ergibt folgendes Bild:

GV_SCHLUESSEL TARIF ALTERSGRUPPE
14501502
14501500
14501501
14502002
14502000
14502001
14502502
14502500
14502501
15601502
15601500
15601501
15602002
15602000
15602001
15602502
15602500
15602501
2.6.1.2 Reihenfolge von Werten und Zeiträumen

Ähnlich wie Schlüsselausprägungen untereinander, so werden Werte mit Zeiträumen und Werte mit Schlüsseln kombiniert. Auch hier kann natürlich durch die angegebene Reihenfolge der Wert- und/oder Zeitraumangaben in der Listanforderung der Abarbeitungsweg und das Listbild beeinflusst werden.

Beispiele:
Die Anforderung von LEISTUNG und ANZAHL_LEISTUNGEN für die Monate Januar bis Februar 98

WERTE=(ANZAHL_LEISTUNGEN, LEISTUNG),
ZEITRAUM=(0198, 0298);

ergibt folgendes Listbild:

Werte Zeitraum
ANZAHL_LEISTUNGEN 0198
" 0298
LEISTUNGEN 0198
" 0298

Der Austausch von WERTE und ZEITRAUM ergibt folgendes Resultat:

    ZEITRAUM = (0298,0198);
    WERTE    = (LEISTUNG,ANZAHL_LEISTUNGEN);

        ZEITRAUM              WERTE

         0298                  LEISTUNG
                               ANZAHL_LEISTUNGEN

         0198                  LEISTUNG
                               ANZAHL_LEISTUNGEN

Dagegen ergibt

              WERTE      =  (LEISTUNG, ANZAHL_LEISTUNGEN),
              ZEITRAUM   =  (0298, 0198);
    folgendes Listbild:

        Werte                 Zeitraum
         LEISTUNG              0298
          "                    0198

         ANZAHL_LEISTUNGEN     0298
          "                    0198
2.6.1.3 Reihenfolge von Schlüsseln und Zeiträumen

Die Anforderung der Tarife 010, 015, 020 und der Werte LEISTUNG und ANZAHL_LEISTUNGEN für den Monat Januar 98, formuliert in der BATCH-Sprache

REISETARIF=(010, 015, 020),
WERTE=(LEISTUNG (0198), ANZAHL_LEISTUNGEN (0198));


ergibt:

REISETARIF WERTE
010 LEISTUNG (0198)
010 ANZAHL_LEISTUNGEN (0198)
015 LEISTUNG (0198)
015 ANZAHL_LEISTUNGEN (0198)
020 LEISTUNG (0198)
020 ANZAHL_LEISTUNGEN (0198)

Auch hier kann über die Änderung der Reihenfolge der Ausprägungen z. B. Reisetarif = (015,020,010) und/oder der Werte z. B. Werte = (ANZAHL_LEISTUNGEN (0198),LEISTUNG (0198)) ein entsprechender Aufbau des Listbildes bewirkt werden.

Für den Fall, dass Sie alle Ausprägungen eines Schlüssels bei der Auswertung berücksichtigt haben möchten und die Reihenfolge der aufgelisteten Ausprägungen der Sortierreihenfolge der Ausprägungen in der Schlüsseldatenbank (aufsteigende Sortierung nach Inhalt) entsprechen kann, genügt die bloße Schlüsselbezeichnungsangabe. Die Auflistung der einzelnen Ausprägungen in Klammerangaben kann man sich dann sparen.
z. B.: GV_SCHLUESSEL;

2.6.1.4 Kopf-, Zeilen- und Spaltenschlüssel

Aus den vorangegangenen Beispielen ist ersichtlich, dass der Aufbau eines Listbildes vorwiegend durch drei Elemente bestimmt wird:

Die zugehörigen Sprachelemente in der Anforderungssprache werden mit

beschrieben.

Schlüssel im Sinne der Anforderungssprache sind

Jeder Schlüssel hat Inhalte, wobei die Art der Inhalte von der Art des jeweiligen Schlüssels abhängt.

2.6.2 Grenzen für Listanforderungen

Das oben beschriebene ASS-Standard-Listbild bietet eine hohe Flexibilität bei der Auswahl und Anordnung der Elemente einer List-Auswertung. Es können vieldimensionale, mehrfach verschachtelte Listbilder von beachtlichem Umfang erzeugt werden.
Für die Auswertungen über das ASS-Listbild gelten folgende Grenzen:

1) Maximale Zahl von Elementen pro Listendimension

Wie oben angesprochen, werden bei der Listanforderung Elemente ausgewählt und den Dimensionen Kopf-, Zeilen- oder Spaltenschlüssel zugeordnet. Als Elemente oder Schlüssel können in diesem Fall echte Schlüssel der Datenbasis sowie die Pseudoschlüssel ZEITRAUM und WERTE, die die Position aller angeforderten Zeiten bzw. aller angeforderten Werte markieren, auftreten.
Die Anzahl der maximal anforderbaren Kopf-, Zeilen- und Spaltenschlüssel ist installationsabhängig. Mindestens können jedoch

angefordert werden.

2) Maximale Spaltenzahl und automatischer Seitenumbruch

Jede Kombination von Inhalten der angeforderten Spaltenschlüssel erzeugt normalerweise eine eigene Spalte. Der Platz für die Darstellung von Spalten ist durch das Listformat begrenzt. Die Anzahl der anforderbaren Spalten in ASS-Auswertungen ist auf 250 beschränkt. Wird dieser Grenzwert überschritten, so weist das System auf diesen Verstoß hin.
Passen die angeforderten Spalten, deren Breite vom Anwender individuell festgelegt werden kann, nicht auf eine Listseite, so wird der Ausdruck wahlweise auf einem Folgeblatt oder in der nächsten Zeile fortgesetzt (s. Kap. 8.8). Die maximale Breite einer Liste ist durch installationsabhängige Einstellungen vorgegeben. Der automatische Umbruch hängt daher von dieser Installationseinstellung ab. Falls der automatische Umbruch nicht passt, muss die Anforderung entweder über einen anderen Aufbau oder über die Aufteilung in mehrere, kleinere Teile realisiert werden.

Beispiel (aus Kap. 2.6.1):

        ASS;
         AG:        9 ;
         ZS:        ZEITRAUM = (0198, 0298, 0398, 0498) ,
                    WERTE    = (LEISTUNG, ANZAHL_LEISTUNGEN ) ;
         SS:        REISETARIF = (010, 015, 020) ,
                    GV_SCHLUESSEL = (145, 156) ,
                    ALTERSGRUPPE = (01, 02, 00)  ;
        END;

Diese Anforderung kann durchgeführt werden, da mit 3 X 2 X 3 = 18 Spalten die Grenze von maximal 30 bzw. 250 Spalten nicht überschritten wird (vgl. Kap. 2.6.1). Allerdings passen nicht alle Spalten auf ein Blatt. Denn die Darstellung der Spalten nach den vorgegebenen Standard-Aufbereitungsangaben erfordert mehr als die bei der Installation vorgegebenen 132 Bytes. ASS würde in diesem Fall einen logischen Seitenumbruch nach der letzten Spalte vornehmen, die noch auf der Seite Platz findet. Auf diese Weise würde freier, noch zur Verfügung stehender Platz ungenutzt bleiben, wenn er nicht für die Aufnahme einer ganzen Spalte ausreicht.

Gefällt einem diese Lösung nicht, so kann man z. B. den Schlüssel REISETARIF als Kopfschlüssel anfordern und auf diese Weise drei Listseiten erzeugen, wobei pro Seite nunmehr sechs Spalten auftreten.
Eine andere Lösungsmöglichkeit besteht in der Aufteilung der obigen Anforderung in drei Einzelanforderungen, wobei jeweils nur eine Ausprägung von REISETARIF bei den Spaltenschlüsseln angefordert wird (ONLINE analog zur BATCH-Anforderungssprache über Bildschirmmasken):

        ASS;
         AG:        9;
         ZS:        ZEITRAUM = (0198, 0298, 0398, 0498) ,
                    WERTE    = (LEISTUNG , ANZAHL_LEISTUNGEN) ;
         SS:        REISETARIF = ( 010 ) ,
                    GV_SCHLUESSEL = (145, 156) ,
                    ALTERSGRUPPE = (01, 02, 00) ;
        END;

        ASS;
         AG:        9;
         ZS:        ZEITRAUM = (0198, 0298, 0398, 0498) ,
                    WERTE    = (LEISTUNG , ANZAHL_LEISTUNGEN) ;
         SS:        REISETARIF = ( 015 ) ,
                    GV_SCHLUESSEL = (145, 156) ,
                    ALTERSGRUPPE = (01, 02, 00) ;
        END;

        ASS;
         AG:        9;
         ZS:        ZEITRAUM = (0198, 0298, 0398, 0498) ,
                    WERTE    = (LEISTUNG , ANZAHL_LEISTUNGEN) ;
         SS:        REISETARIF    = ( 020 ) ,
                    GV_SCHLUESSEL = (145, 156) ,
                    ALTERSGRUPPE  = (01, 02, 00) ;
        END;
      

3) Maximale Zahl von Datenbankzugriffen für ONLINE-Auswertungen

Für Auswertungen im Dialog erfolgt eine Prüfung der Zahl der benötigten Datenbankzugriffe gegen einen bei der Installation eingestellten Grenzwert. Wird dieser Wert überschritten, so lässt ASS die betreffende Auswertung im Dialog nicht zu.

4) Maximale Zeilenzahl für ONLINE-Auswertungen

Wie die Datenbankzugriffe werden auch die theoretisch möglichen Zeilen vor der eigentlichen Durchführung einer Auswertung im Dialog gezählt und gegen einen installationsabhängigen Grenzwert geprüft.
Die theoretisch mögliche Zeilenzahl ergibt sich aus der maximalen Kombination der Inhalte aller Kopf-, Zeilen- und Spaltenschlüssel. Die tatsächliche Zeilenzahl kann unter dem theoretischen Wert liegen, wenn für bestimmte Kombinationen Nullwerte vorliegen.
Denn ASS unterdrückt normalerweise die Anzeige von Nullzeilen. Wird mit temporären Wert-, Schlüssel- oder Zeitinhalten operiert, die über Formelberechnungen ermittelt werden, so können für deren Darstellung interne Tabellenzeilen benötigt werden. Auch für diese Zeilen besteht ein installationsabhängiger Maximalwert.

3 Listanforderung, -speicherung und -auswertung

Sie können ASS-Datenbestände, wie bereits erwähnt, sowohl im Dialog als auch im BATCH auswerten. Ein Weg zur Anforderung der Elemente einer Auswertung ist der Dialog, der andere Weg ist die Anforderung mittels einer BATCH-Anforderungssprache. Hinsichtlich der Anforderung und der Auswertung sind folgende Kombinationen zwischen ONLINE- und BATCH-Verarbeitung möglich:

Die Listanforderungen, d. h. die Beschreibung der Parameter, die eine bestimmte Auswertung steuern, können für spätere Auswertungen vorgefertigt werden - auch für andere Anwender. In der ONLINE-Anwendung können Listanforderungen in die verschiedenen Bibliotheken der Anforderungsdatenbank eingestellt werden. Bei Auswertungen kann ASS diese Anforderungen dann direkt aus der Anforderungsdatenbank einlesen und verarbeiten. BATCH-Anforderungen kann das System als sequentielle Dateien bereitstellen, die dem ASS-Auswertungsprogramm als Eingabe zugewiesen werden.

3.1 Spezielle Voraussetzungen und Einrichtungen der ONLINE-Anwendung

In Kurzform folgen die Grundlagen der ASS-Dialogführung: die Konventionen für ASS-Dialogeingaben, die Funktionstastenbelegung, der Einstieg zu den einzelnen Funktionen der Dialoganwendung sowie die Dialogmasken.

3.1.1 Korrekte Durchführung von Dialogeingaben

Im Dialog ("Listanforderung im Dialog") können Sie in diversen Masken an unterschiedlichen Stellen Eingaben machen. Fehlerhafte Eingaben werden mit selbsterklärenden Hinweisen abgelehnt, bzw. beim Verlassen des Bildes einfach ignoriert. Änderungen von bereits durchgeführten Eingaben erfolgen im allgemeinen durch Überschreiben der alten Information an den entsprechenden Stellen. Alte Eingaben können Sie löschen, indem Sie sie einfach mit Punkten überschreiben.

Diese grundsätzlichen Eigenschaften der Dialogführung werden in den folgenden Teilen des Handbuchs nicht mehr erwähnt.

Hilfetexte für Dialog-Eingabefelder

Der Anwender kann durch linksbündige Eingabe eines "?" in jedem Eingabefeld des Auswertungsdialogs und Betätigen der ENTER-Taste eine Hilfefunktion aufrufen, in der die Eingabemöglichkeiten des jeweiligen Feldes beschrieben werden.

Mit PF6 kehren Sie zum Ausgangsbild zurück.

Kundenspezifische Hilfetexte für Arbeitsgebiete,
Schlüssel, Werte und Schlüsselrelationen

Der Anwender kann durch Eingabe eines "K" oder "k" in folgenden Feldern einen kundenspezifischen Hilfetext über das betreffende Objekt (Arbeitsgebiet, Schlüssel, Wert oder Schlüsselrelation) anfordern.

Maske Feld in die Maske gelangt man
aus VS101 nach Eingabe von
VS102 zur Auswahl von AG'en AG
VS103 zur Eingabe der Rangfolge KS
VS104 zur Eingabe der Rangfolge ZS
VS105 zur Eingabe der Rangfolge SS
VS111 zur Eingabe der Werte-Nr WZ
VS112 zur Eingabe der Rangfolge WE

Bei Schlüsseln können Sie nur für echte Schlüssel, bei Werten nur für echte Werte einen kundenbezogenen Hilfetext angefordern.

Wenn es zu einem Objekt den angeforderten Hilfetext nicht gibt, gibt ASS eine entsprechende Meldung aus.

Kundenspezifische Hilfetexte legt der Anwender in der Textdatenbank DST007 ab:

    Sprache: D
    Textart: K
    Text-Nr: bei Werten:         100000 + Werte-Nr          (DST001)
                                 -                                -
             bei Schlüsseln:     200000 + Schlüssel-Nr      (DST002)
                                 -                                -
             bei AG'en:          300000 + AG-Nr             (DST003)
                                 -                                -
             bei Schlüsselrel.:  400000 + Relations-Nr      (DST002)
                                 -                                -

Mit PF6 kehren Sie zum Ausgangsbild zurück.

3.1.2 Allgemeine Funktionstastenbelegung

3.1.3 Die Anforderungsdatenbank und ihre Bibliotheken

Es gibt eine Datenbank für Listanforderungen. Diese Datenbank enthält folgende Bibliotheken:

Die Elemente der genannten Bibliotheken sind Listanforderungen, Formeln, Gruppierungen oder Filter für Parameterinhalte.

Mit Ausnahme der Schlüsselinhaltsgruppierungen und Schlüsselrelationsgruppierungen gilt:

Namen von Elementen der ASS-Anforderungsdatenbank sind m a x i m a l 8 - s t e l l i g e P L I - B e z e i c h n e r. (--> Kap. 3.1.4).

Für Schlüsselinhaltsgruppierungen bzw. Schlüsselrealtionsgruppierungen gilt:
Die ersten 5 Zeichen sind Ziffern und stellen die zugehörige Schlüsselnummer bzw. Relationsnummer dar, die folgenden 3 Zeichen sind entweder 3 Ziffern oder ein ASS-Bezeichner (--> Kap. 3.1.4).

3.1.4 Der Begriff des ASS-Bezeichners

Mit Ausnahme der Schlüsselinhaltsgruppierungen gilt:

Namen von Elementen der ASS-Anforderungsdatenbank sind m a x i m a l 8 - s t e l l i g e A S S - B e z e i c h n e r.

ASS-Bezeichner

Ein ASS-Bezeichner ist eine Kombination aus

wobei an erster Stelle keine Ziffer und kein Unterstrich stehen darf.

Bemerkung

Unter Windows (bei ASS-PC) ist das PARAGRAPHENSYMBOL meistens durch den KLAMMERAFFEN ersetzt.

3.1.5 Das Auswahlmenü des Einstiegbildes der Transaktion ST31

Sie starten die Transaktion ST31 durch Eingabe des Transaktionscodes für "Listanforderungen im Dialog". Danach gelangen Sie installationsabhängig zunächst in die Maske VS126 oder gleich in die Maske VS100.

 ***********************************************************************************
 * VS126                    ANMELDUNG                                     21/06/23 *
 * ------------------------------------------------------------------------------- *
 *                                                                                 *
 *                   ######              #######              #######              *
 *                 ##     ##           ##      ##           ##      ##             *
 *                ##       ##         ##                   ##                      *
 *               ##       ##           ##                   ##                     *
 *              ##       ##              ##                   ##                   *
 *             ###########                ##                   ##                  *
 *            ##       ##                  ##                   ##                 *
 *           ##       ##                   ##                   ##                 *
 *          ##       ##           ##      ##           ##      ##                  *
 *         ##       ##              #######              #######                   *
 *                                                                                 *
 *                                                                                 *
 *         UNTERNEHMENSBERATUNG ARNOLD.   U B A  S O F T W A R E  GMBH             *
 *                                                                                 *
 * BENUTZER       :                BITTE WAEHLEN SIE AUS:                          *
 * PASSWORT       :                .  BEARB     Bearbeitung                        *
 * PASSWORT NEU   :                .  AUSF      Ausfuehren                         *
 * PASSWORT NEU WH:                                                                *
 * ------------------------------------------------------------------------------- *
 *                                                                                 *
 * ==>     I PF11: ENDE                                                            *
 ***********************************************************************************

In der Maske VS126 geben Sie installationsabhängig Ihre Zugangsdaten ein und gelangen dann ins Bild VS100. Wollen Sie stattdessen die Maske verlassen, drücken Sie PF11.
Eine Änderung des ASS-Passworts ist in Maske VS126 durch Eingabe des neuen Passworts in den Feldern 'Passwort neu' und 'Passwort neu wh' möglich.

In der Maske VS100 entscheiden Sie, welche Aktivitäten Sie als nächstes ausführen wollen.
Sie haben securityabhängig folgende Möglichkeiten:

  1. Listanforderungen bearbeiten
  2. Verkettete Anforderung bearbeiten
  3. Join-Anforderung bearbeiten
  4. Formel bearbeiten
  5. Schlüsselinhaltsgruppierungen bearbeiten
  6. Wertegruppierungen bearbeiten
  7. Parametergruppierungen bearbeiten
  8. Filter zu Parameterinhalten bearbeiten
  9. Bibliotheksübersicht
  10. Bibliotheksverwaltung
  11. Anwendungen pflegen
  12. (i)Vorgabewerte erfassen
  13. (i)Empfänger, Empfängerlisten oder Cube-Daten pflegen
  14. (i)Berichtsdialog
  15. (i)Umbuchungen erfassen
  16. zusätzlich Expertenmodus einschalten

Installationsabhängige Punkte sind hier mit (i) gekennzeichnet.
Den Dialog können Sie mit PF11 beenden.

  1. Entsprechendes Feld in der Maske VS100 markieren und den Namen der zu erstellenden Listanforderung eingeben. Es erscheint dann die Maske VS101. Gibt es unter dem in Maske VS100 eingegebenen Namen bereits eine Listanforderung oder eine verkettete Anforderung in der Bibliothek der sichergestellten Listanforderungen, so wird diese in Maske VS101 bzw. VS130 angezeigt, und man kann diese weiter bearbeiten.
  2. Entsprechendes Feld in der Maske VS100 markieren und den Namen der zu erstellenden verketteten Anforderung eingeben. Es erscheint dann die Maske VS130. Gibt es unter dem in Maske VS100 eingegebenen Namen bereits eine Listanforderung oder eine verkettete Anforderung in der Bibliothek der sichergestellten Listanforderungen, so wird diese in Maske VS101 bzw. VS130 angezeigt, und man kann diese weiter bearbeiten.
  3. Analog zu 1.verzweigt man durch Markieren des entsprechnenden Feldes und Eingabe eines Anforderungsnamens in die Neuerstellung von Join-Anforderungen.
  4. Entsprechendes Feld in der Maske VS100 markieren und den Namen der zu erstellenden Formel eingeben. Es erscheint dann die Maske VS114. Gibt es unter dem in Maske VS100 eingegebenen Namen bereits eine Formel in der Formelbibliothek, so wird diese in Maske VS114 angezeigt, und man kann diese entsprechend weiter bearbeiten.
  5. Feld 'GRUPPIERUNG BEARBEITEN' in der Maske VS100 mit 'S' (Schlüsselgruppierung) oder 'R' (Relationsgruppierung) markieren und den Namen der zu erstellenden Gruppierung eingeben. Es erscheint dann die Maske VS110. Gibt es unter dem in Maske VS100 eingegebenen Namen bereits eine Gruppierung in der (Relations-)Gruppierungsbibliothek, so wird diese in Maske VS110 angezeigt, und man kann diese entsprechend weiter bearbeiten.
  6. Feld 'GRUPPIERUNG BEARBEITEN' in der Maske VS100 mit 'W' markieren, bzw. 'J', wenn eine Wertegruppierung für eine Joinanforderung erstellt werden soll. Den Namen der zu erstellenden Wertegruppierung eingeben. Es erscheint dann die Maske VS111. Gibt es unter dem in Maske VS100 eingegebenen Namen bereits eine Wertegruppierung in der Wertegruppierungsbibliothek, so wird diese in Maske VS111 angezeigt, und man kann diese entsprechend weiter bearbeiten.
  7. Feld 'GRUPPIERUNG BEARBEITEN' in der Maske VS100 mit 'P' markieren und den Namen der zu erstellenden Parametergruppierung eingeben. Es erscheint dann die Maske VS166. Gibt es unter dem in Maske VS100 eingegebenen Namen bereits eine Parametergruppierung in der Parametergruppierungsbibliothek, so wird diese in Maske VS166 angezeigt, und man kann diese entsprechend weiter bearbeiten.
  8. Analog zu 1. in die Bearbeitung von Parameterfiltern verzweigen.
  9. Man braucht nur das entsprechende Feld in der Maske VS100 zu markieren und erhält dann die Maske VS122. Bei der Bibliotheksübersicht können keine Manipulationen in den einzelnen Bibliotheken vorgenommen werden.
  10. Nach Markierung des entsprechenden Feldes in der Maske VS100 erhalten Sie die Maske VS117. Hier können Sie Manipulationen wie das Kopieren oder Löschen von Bibliothekselementen vornehmen.
  11. Nach Markierung des entsprechenden Feldes wird in die Bearbeitung von Anwendungen verzweigt.
  12. Nach Markierung des entsprechenden Feldes in der Maske VS100 erscheint die Maske VS150.
  13. Nach Markierung des entsprechenden Feldes wird in die Bearbeitung von Empfänger/Empfängerlisten verzeigt. Wird in das Markierungsfeld 'w' oder 'W' eingegeben, so wird in die Bearbeitung von Cube-Daten verzweigt.
  14. Durch Markieren des entsprechenden Feldes in der Maske VS100 verzweigt man in eine Übersicht der Berichte (Bild VS127). Durch Angabe von 'V' kann ins Bild VS123 verzweigt werden, in dem die Berichte verwaltet werden können. Dies ist jedoch nur möglich, wenn der Anwender für Anforderungsprotokolle berechtigt ist (Berechtigung 'LA', 'LB', 'LC', 'LD' bei SONSTIGES) oder Listen verwalten darf ('LM', 'LO').
  15. Nach Markierung des entsprechenden Feldes in der Maske VS100 erscheint die Maske VS160.
  16. Zusätzlich Expertenmodus einschalten.
    Standardmäßig ist der Expertenmodus ausgeschaltet. Er wird durch Ankreuzen des entsprechenden Feldes eingeschaltet. Nicht eingeschalteter Expertenmodus schützt den Anwender verstärkt vor Fehlbedienung zu Lasten eines langsameren Dialogs. Der Expertenmodus ist für den erfahrenen Anwender gedacht.
    Im einzelnen wirken bei nicht eingeschaltetem Expertenmodus folgende zusätzliche Schutzmechanismen:
    • Maske VS101: Wird eine PF-Taste betätigt, mit der die Listbearbeitung verlassen wird, so gehen alle erfassten Parameter der aktuellen Listanforderung verloren, wenn nicht vorher gesichert wurde. Aus diesem Grund muss die betreffende PF-Taste nochmals betätigt werden, wenn die Listbearbeitung verlassen werden soll.
    • Maske VS110: Wird eine PF-Taste betätigt, mit der die Gruppierungsbearbeitung verlassen wird, so gehen alle erfassten Parameter der aktuellen Gruppierung verloren, wenn nicht vorher gesichert wurde. Aus diesem Grund muss die betreffende PF-Taste nochmals betätigt werden, wenn die Gruppierungsbearbeitung verlassen werden soll.
    • Maske VS111: Wird eine PF-Taste betätigt, mit der die Wertegruppierungsbearbeitung verlassen wird, so gehen alle erfassten Parameter der aktuellen Wertegruppierung verloren, wenn nicht vorher gesichert wurde. Aus diesem Grund muss die betreffende PF-Taste nochmals betätigt werden, wenn die Bearbeitung der Wertegruppierung verlassen werden soll.
    • Maske VS114: Wird eine PF-Taste betätigt, mit der die Formelbearbeitung verlassen wird, so gehen alle erfassten Parameter der aktuellen Formel verloren, wenn nicht vorher gesichert wurde. Aus diesem Grund muss analog zur Listbearbeitung die betreffende PF-Taste nochmals betätigt werden.
    • Maske VS116: In dieser Maske können die Parameter der aktuellen Listanforderung gelöscht werden. Ebenso kann eine unter dem aktuellen Anforderungsnamen bereits in der Anforderungsdatenbank existierende Listanforderung überschrieben werden. In beiden Fällen kann Erfassungsarbeit verlorengehen. Aus diesem Grund muss die betreffende Eingabe wiederholt werden, wenn eine Löschung oder Überschreibung tatsächlich gewünscht ist.
    • Maske VS117: In dieser Maske können Listanforderungen oder Formeln aus der Anforderungsdatenbank gelöscht werden. Durch versehentliche Eingabe eines Löschbefehls kann es zu unbeabsichtigten Löschungen kommen. Aus diesem Grund sind Löschbefehle zu wiederholen, wenn sie wirklich gewünscht sind.

3.1.6 Zweifacher Aufruf des Auswertungsdialogs ST31

Diese Funktion kann nur über eine entsprechende Anpassung der ASS-Installation aktiviert werden.

Bei Aktivierung kann ein Anwender aus jedem Bild der ST31 durch Betätigung der PF13-Taste in das Grundauswahlbild VS100 verzweigen, um dort ein zweites Mal in den Auswertungsdialog einzusteigen.

Danach kann mit der PF13-Taste zwischen beiden Anmeldungen gewechselt werden.

So kann beispielsweise die Bearbeitung einer Anforderung erleichtert werden, wenn man bei der Formelerfassung über den zweiten Dialog in die Werteauswahl verzweigt, um die verwendbaren Textierungen nachzulesen.

Beendet der Anwender den Dialog, indem er mit PF11 das Grundauswahlbild verlässt, wird auch der zweite Dialog abgeschlossen, ohne dass eine weitere Abmeldung erforderlich ist.

3.2 Auswerten und Pflegen der Anforderungsdatenbank

Die über die Masken der Transaktion ST31 erstellten Listanforderungen können in den verschiedenen Bibliotheken der Anforderungsdatenbank sichergestellt werden. Auf diese Weise können BATCH-Auswertungen gesteuert werden, die an einem bestimmten Tag ausgeführt und eventuell in einem bestimmten Turnus wiederholt werden sollen.

Für ONLINE-Auswertungen können so Listanforderungen - auch für den Gebrauch durch andere Anwender - bereitgestellt werden. Es ist dann möglich, über die Anforderungsdatenbank ONLINE-Auswertungen auszuführen bzw. Anforderungen der Anforderungsdatenbank als Vorlagen für die Erstellung neuer Listanforderungen zu verwenden. Im ASS-Dialog kann die Anforderungsdatenbank auf zwei Arten bearbeitet werden:

Einmal können Sie die Anforderungen nach bestimmten Eingabemaskierungen selektieren und zur Anzeige bringen. Die so ausgewählten Anforderungen können dann direkt aus der Anzeige heraus ausgewertet bzw. modifiziert und gegebenenfalls unter einem neuen Namen abgespeichert werden.
Neben dieser Bibliotheksübersicht ermöglicht der ASS-Dialog auch die Pflege der Anforderungsdatenbank (Bibliotheksverwaltung):
Löschen, Kopieren und Umbenennen von gespeicherten Listanforderungen.

3.2.1 Einstieg in die Bibliotheksübersicht bzw. Verwaltung

Bibliotheksübersicht bzw. -verwaltung können, wie in Kap. 3.1.5 gezeigt, am Dialoganfang über das Einstiegsbild VS100 angesteuert werden. Daneben besteht noch die Möglichkeit, bei der Bearbeitung einer Listanforderung aus dem Anzeigebild VS101 mittels PF-Tasten zu diesen Bibliotheksfunktionen zu verzweigen.

3.2.2 Die Sortierreihenfolge in der Anforderungsdatenbank

Die Anforderungen in der Anforderungsdatenbank sind zunächst nach den Bibliothekstypen sortiert:
Anforderungen in der Bibliothek B stehen vor denen von E. Auf die Elemente von E folgen die von G oder P. Schließlich bilden die Formeln der Formelbibliothek das Schlusslicht in der Reihenfolge der Bibliotheken. Innerhalb einer Bibliothek gilt aufsteigende Sortierung hinsichtlich der Anforderungsnamen.

3.2.3 Die Bibliotheksübersicht (VS122)

Die Bibliotheksübersicht erfüllt in erster Linie eine Filterfunktion. Alle Elemente der doch umfangreichen Anforderungsdatenbank, die aufgrund ihrer Bezeichnungen nicht zu der durch die eingegebenen Auswahlkriterien bestimmten Auswahlmenge gehören, bleiben für den Anwender während der Anwendung der anderen Funktionen der Bibliotheksübersicht verborgen.

3.2.3.1 Positionierung auf bestimmte Anforderungen

Die ASS-Programme zum Problemkreis Bibliotheksübersicht schaffen dem einzelnen Anwender die Möglichkeit, über Eingabe geeigneter Auswahlkriterien aus der eventuell sehr umfangreichen Menge der gesicherten Anforderungen aller Anwender, eine reduzierte Auswahlmenge zu erzeugen. Die richtige Handhabung der Auswahlpositionierung demonstrieren wir an einem Beispiel:

Nehmen wir an, in einem Unternehmen erstellen die Mitarbeiter A, B und C eigene Statistikanforderungen, die sie in der Anforderungsdatenbank sicherstellen. Um ihre Anforderungen unterscheiden zu können, haben sie sich auf folgende Namenskonventionen geeinigt: Die Anforderungen von A tragen an den ersten beiden Stellen ihres Namens den Buchstaben A und als zusätzliches Kriterium die Kennziffer 1. Für B wird analog die Zeichenfolge B2, für C C3 vereinbart.

Angenommen, A hat den Menüpunkt Bibliotheksübersicht gewählt und möchte sich nun einen Überblick über seine eigenen Anforderungen verschaffen, so kann er folgenden Weg einschlagen:
Ganz unten in das Kommandofeld gibt er die Zeichenfolge A1?????? ein und drückt ENTER oder PF8. ASS sucht nun in der Anforderungsdatenbank die erste Anforderung heraus, die mit A1 beginnt und an den übrigen Stellen beliebige Zeichen trägt. Ist ein solches Element vorhanden, so wird darauf positioniert.

Die jetzt eingestellte Anforderung wird als erstes der aufgelisteten Elemente angezeigt, die alle in ihrem Namen A1 führen. Wird in der Anforderungsdatenbank kein passendes Element gefunden, so ist die durch die Positionierung ausgewählte Menge leer.
Das heißt: Kein Element wird angezeigt. Beim Rückwärtsblättern mit PF7 versucht ASS, so viele Anforderungen mit den gültigen Auswahlkriterien aus der Datenbank zu lesen, bis die vorher an oberster Stelle aufgelistete Anforderung an unterster Stelle erscheint. Bei vorzeitigem Erreichen des Dateianfangs kann das Anzeigebild entsprechend nur um eine geringere Zeilenzahl nach unten geschoben werden.
Zu beachten ist, dass die Auswahlmenge, die für Aktionen über PF7/PF8 maßgebend ist, solange unverändert bleibt, bis über die Eingabe einer neuen Auswahlmaske oder auch des Namens einer vorhandenen Anforderung eine neue Auswahlmenge festgelegt wird.

Das Fragezeichen "?" können Sie an jede beliebige Stelle des Eingabefeldes setzen. Wird das Eingabefeld ganz mit Fragezeichen aufgefüllt, so wird damit das allererste Element in der Anforderungsdatenbank eingestellt. Die Auswahlmenge ist dann identisch mit der Anzahl aller bestehender Anforderungen.
Wird ohne Platzhalterzeichen ? operiert, so wird der eingegebene Name intern mit Fragezeichen aufgefüllt, d. h. die Eingabe von z. B. ABC wirkt wie die Eingabe von ABC?????.

Enthält die Eingabe einen Stern "*", so wird auf das erste Element positioniert, welches der Maske genügt. Eine Filterung der nachfolgenden Elemente unterbleibt. Erfolgt die Bestätigung der Eingabe durch PF4, so wird grundsätzlich positioniert und nicht gefiltert. Diese Form der Eingabe kann genutzt werden, um in der Anzeige einen geeigneten Aufsetzpunkt zu finden.
Diese Form der Positionierung gilt für sämtliche Bibliotheken mit Ausnahme der Anwendungen ('A'). In diesem Fall ist eine Anpositionierung über die Anwendungsnummer und PF4 erforderlich.

Zur Positionierung auf eine bestimmte Bibliothek dient das Feld BIBLIOTHEKSART. Entsprechend der Eingabe wird auf das erste Element der aktuellen Auswahlpositionierung positioniert.

3.2.3.2 Anzeigeinformation von VS122

Nach erfolgreicher Positionierung zeigt VS122 bis zu 17 Anwendungen und Anforderungen an.

Wird die Bibliotheksübersicht aus der Formelerfassung heraus angesteuert, so werden Formeln angezeigt. Anwendungen und Anforderungen erscheinen in der Form, dass links neben jedem angezeigten Element ein Eingabefeld für eine Auswahl-Operation steht (AU).

Von der Anforderung selbst erfahren Sie die betreffende Bibliothek (Bib), den Anforderungsnamen (Element). Von den bei der List-erstellung über die Anwahl 'KO' definierten Kommentarzeilen (Kommentar) sieht man installationsabhängig eine gewisse Anzahl. Wenn Sie sich den gesamten Kommentar zu einigen Bibliothekselementen ansehen wollen, so wählen Sie diese Elemente jeweils durch die Eingabe eines K in der Spalte AU links neben den Elementen aus. Nach Drücken von ENTER rückt das oberste der ausgewählten Elemente in die oberste Zeile der Maske und der zugehörige Kommentar wird aufgeblättert. Ebenso wird der Kommentar zu allen weiter unten ausgewählten Elementen aufgeblättert, sofern die Maskengröße das zulässt.

Will man sich eine der aufgelisteten Anforderungen anzeigen lassen, so gibt man beim Feld AU der entsprechenden Zeile X ein und kann so, nach Drücken von ENTER, zu VS101 verzweigen, um die Anforderung anzuschauen und eventuell zu bearbeiten.
Die analoge Eingabe von L bzw. S bewirkt, dass für die angesprochene Anforderung das LIST- bzw. STAT-Kommando ausgelöst wird. Bei Formeln wird unter dem Feld Kommentar der konkrete Formelinhalt angezeigt.

Anwendungen werden bei Markierung ausgeführt.

Wurde die Bibliotheksübersicht aus der Formelerfassung heraus angesteuert, so kann eine Formel durch einfache Markierung ausgewählt werden.

Zur Beschleunigung des Dialogs, kann man im Feld AU auch die Kommandos AG, KS, ZS, SS, WE, WZ, ZE, KO, OP, GR, UE, SU, SQ, BD eingeben. Wenn die entsprechende Berechtigung vorliegt, erspart man sich das Bild VS101 und verzweigt sofort in die Folgebilder. Bei fehlender Berechtigung wird das Bild VS101 angezeigt. Diese Dialogbeschleunigung ist primär für den erfahrenen Anwender gedacht.

3.2.3.3 Funktionstastenbelegung für das Bild VS122
3.2.3.4 Verzweigen in Übersicht des Berichtsdialogs

Mit der Funktionstaste PF5 kann in die Übersicht des Berichtsdialoges (Maske VS127) verzweigt werden. Dabei werden bereits eingegebene Selektionskriterien dann auch im Berichtsdialog berücksichtigt. Wird andererseits im Berichtsdialog das Selektionskriterium verändert, so wird bei der Rückkehr in die Bibliotheksübersicht das neue Kriterium benutzt.

3.2.4 Die Bibliotheksverwaltung (VS117)

Hat die Bibliotheksübersicht die Aufgabe, dem Anwender nur die ihn interessierenden Elemente der Anforderungsdatenbank herauszufiltern und ihren weiteren Funktionen zur Verfügung zu stellen, so übernimmt die Bibliotheksverwaltung die eigentliche Wartung und Pflege der Datenbank. Ihre Programme ermöglichen das Kopieren oder Löschen von Datenbankelementen. Daneben ist es auch bei der Bibliotheksverwaltung möglich, bestimmte Elemente einzustellen, sie anzuschauen oder sie mit LIST oder STAT auszuführen.

3.2.4.1 Anzeigen von Bibliothekselementen bei der Bibliotheksübersicht

Die eigentliche Verwaltung der Anforderungsbibliotheken wird mit der Maske VS117 durchgeführt. Als Grundfunktion kann man sich zeigen lassen, welche Elemente in den jeweiligen Bibliotheken enthalten sind. Hierzu kann durch die Eingabe eines Symbols für eine Bibliothek und einer geeigneten Zeichenkette für den gewünschten Namen eine Anfangspositionierung erreicht werden. Drücken Sie nun PF8, so sucht ASS in der angegebenen Bibliothek das erste Element, dessen Name im Vergleich mit der eingegebenen Zeichenkette zum Resultat gleich oder größer führt. Analog dazu führt das Abschicken der Positioniereingaben über PF7 dazu, dass von der augenblicklichen Position aus gesehen, das Anzeigebild solange nach unten geschoben wird, bis in der untersten Zeile das erste Element steht, dessen Name gleich oder kleiner in Bezug auf den Eingabenamen ist.
Bei PF8 bzw. PF7 werden die eingestellten Elemente angezeigt und die restlichen Bildschirmzeilen mit nachfolgenden bzw. davorliegenden Elementen aus der Anforderungsdatenbank aufgefüllt.

Mit PF7 bzw. PF8 kann man rückwärts bzw. vorwärts blättern. Gibt man keine Position ein, so wird von der aktuellen Blätterposition (bei Beginn ist dies der Anfang) weitergeblättert.

3.2.4.2 Anzeigefelder der Maske VS117

Unter dem Feld EDATUM wird angezeigt, wann die betreffende List-anforderung erstellt wurde, unter dem Feld ADATUM, wann sie zum letztenmal im BATCH ausgeführt wurde. Wird unter ADATUM nichts angezeigt, so wurde die betreffende Listanforderung noch nie im BATCH ausgeführt. Bei ADATUM ist zu beachten, dass das Feld nach einer turnusmäßigen Ausführung genau um den sich aus dem Turnus ergebenden Betrag erhöht wird. Vereinbart sei z. B. monatliche Ausführung, das Datum der letzten Ausführung sei der 05.03.99. Wird nun am 07.04.99 die Anforderung erneut ausgeführt so verweist ADATUM nicht auf den 7., sondern auf den 5. April 1999.

Ausgenommen davon ist der tägliche und wöchentliche Turnus. Beim täglichen Turnus wird ADATUM auf das Datum der Ausführung gesetzt. Beim wöchentlichen Turnus wird auf den Wochentag datiert, an dem die Anforderung ausgeführt werden soll, der dem Ausführungstag vorausgeht. Soll also eine Anforderung jeden Montag ausgeführt werden, wird aber erst nach drei Wochen am Mittwoch wieder ausgeführt (z. B. Betriebsferien), so wird also ADATUM auf das Datum des vorangegangenen Montags gesetzt.
Das Feld VDATUM (V für Vorgabe) gibt das Datum an, an dem die Anforderung zum erstenmal ausgeführt werden soll bzw. sollte. In den Bibliotheken G, H, I, J und P gibt es noch den Turnus, in dem die Listanforderung ausgeführt wird. Es bedeuten:

Turnus Bedeutung
TAtäglich
WOwöchentlich
MO,01monatlich
QU,03alle drei Monate
HJ,06halbjährlich
JA,12jährlich
EMzum Monatsersten
LMzum Monatsletzten
AW
wöchentlich nach Arbeitstagen gesteuert
AM
monatlich   nach Arbeitstagen gesteuert
AQ
vierteljährlich nach Arbeitstagen gesteuert
AH
halbjährlich    nach Arbeitstagen gesteuert
AJ
jährlich        nach Arbeitstagen gesteuert

Bemerkung : Die Steuerung nach Arbeitstagen muss im Include SST2102 aktiviert werden.

3.2.4.3 Kopieren und Löschen von Bibliothekselementen

Die Bibliotheksverwaltung enthält die Grundfunktionen

Elemente werden gelöscht, wenn Sie diese links in der Maske mit "D" markieren.
Elemente werden kopiert, indem man diese links in der Maske mit "C" markiert. In diesem Fall muss man auch noch die Zielbibliothek angeben und den Namen des kopierten Elements. Soll in die Bibliothek P kopiert werden, so ist noch der Turnus, in dem die Listanforderung ausgeführt werden soll, zusätzlich einzugeben.

Kopiert man in die Bibliotheken G, H, I oder J und gibt einen Turnus an, so wird die betreffenden Anforderung zu einer periodisch auszuführenden Anforderung.

Kopiert man in die Bibliothek E, G, H, I, J, P so kann man unter VDATUM das Datum angeben, ab dem die Anforderung im BATCH ausgeführt werden soll. Gibt man nichts an, so wird die Anforderung sofort, d. h. beim nächsten BATCH-Lauf zur Ausführung gebracht.

In die Bibliothek B abgespeicherte, fehlerhafte Anforderungen können nur innerhalb der Bibliothek B kopiert werden. Beim Kopieren in die Formelbibliothek X kann nur ein Element der Formelbibliothek (Formel) als Vorlage herangezogen werden.

Tip

Wenn Sie mehrere ähnliche Listanforderungen brauchen, erstellen Sie sich ein Muster, kopieren dieses Muster anschließend (eventuell mehrfach) in die Bibliothek B und wandeln diese danach in der Maske VS101 entsprechend den individuellen Wünschen ab.

3.3 Formale Bedingungen von BATCH-Anforderungen

Eine Listanforderung in der BATCH-Anforderungssprache muss folgendes Format aufweisen:
Die Datei, die ASS-Batch-Statistikanforderungen aufnimmt, muss eine feste Satzlänge von 80 Zeichen haben (Siemens BS2000: VB). Bei der Auswertung werden nur die ersten 72 Spalten einer Zeile berücksichtigt. Da die ASS-Anforderungssprache sich an Parametern orientiert, ist die Einhaltung von bestimmten Spalten- oder Zeilenpositionen bei der Angabe der einzelnen Schlüsselworte und Parameter nicht erforderlich. ACHTUNG: keine Leerzeichen innerhalb dieser Begriffe einfügen.
Passt ein Wort nicht mehr in eine Zeile, so können Sie bis auf Stelle (Byte) 72 schreiben und den Rest auf Stelle 1 der nächsten Zeile fortsetzen. Es kann also durchgehend weitergeschrieben werden.

Jede Anforderung beginnt mit
ASS; (oder einem installationsabhängigen Startsymbol)
und endet mit
END;

Sie können mehrere Anforderungen in eine Datei stellen, die dann in einem Auswertungslauf abgearbeitet werden.

3.4 Anzeige und Verwaltung der Berichtsdatenbank

In der Berichtsdatenbank befinden sich die Anforderungsprotokolle von Berichten (Typ A) und die Listen (Statistiken) selbst (Typ L). Darüber hinaus werden die Berichte für die Anzeige unter ASS-Excel und ASS-Internet hier abgelegt. Hier wird ebenfalls zwischen verschiedenen Typen unterschieden:

Falls die Auswertung mit Verschickklassen erstellt wurde, so können zu einer Anforderung mehrere Listen vorhanden sein, welche getrennt nach dem Schlüssel und Inhalt, der als Verteiler dient, abgelegt sind.

3.4.1 Einstieg in die Übersicht und Verwaltung von Berichten

Die Übersicht bzw. Verwaltung der Berichte kann am Dialoganfang über das Einstiegsbild VS100 angesteuert werden (s. Kap. 3.1.5). Außerdem kann die Übersicht auch von der Bibliotheksübersicht aus aufgerufen werden (s. Kap. 3.2.3).

3.4.2 Die Sortierreihenfolge in der Berichtsdatenbank

Die Berichte in der Berichtsdatenbank sind zunächst aufsteigend nach dem Berichtsnamen und absteigend nach Erstelldatum und -uhrzeit sortiert. Innerhalb eines Berichtes erscheint zunächst das Protokoll und danach der Bericht selbst.
Der Bericht kann noch in die verschiedenen Verschickklassen aufgeteilt sein, welche aufsteigend nach Schlüsselnummer und -inhalt sortiert sind.

3.4.3 Übersicht über die Berichte (VS127)

Die Übersicht erfüllt in erster Linie eine Filterfunktion. Alle Elemente der doch umfangreichen Berichtsdatenbank, die aufgrund ihrer Bezeichnungen nicht zu der durch die eingegebenen Auswahlkriterien bestimmten Auswahlmenge gehören, bleiben für den Anwender verborgen. Es werden die Listen, die in der Berichtsdatenbank abgelegt, zur Verfügung gestellt, auf die Anforderungsprotokolle kann nicht zugegriffen werden.

3.4.3.1 Positionierung auf bestimmte Berichte

Eine Positionierung auf bestimmte Berichte erfolgt analog zur Biblotheksübersicht (s. Kap. 3.2.3.1).

3.4.3.2 Anzeigeinformation von VS127

Nach erfolgreicher Positionierung zeigt VS127 bis zu 17 Berichtsprotokolle und Berichte an. Links erscheint ein Feld OP, in dem eine Aktion für die betreffende Liste angestoßen werden kann. Als nächstes steht der Name der Liste. Anschließend folgen Informationen zur Liste: Es wird das Datum angezeigt, an dem die Liste erstellt wurde, und falls die Liste mit PCL1078 aufgeteilt wurde, der Schlüssel und Schlüsselinhalt, der als Verteiler diente. Darunter werden Kommentare zu der Liste in einer vordefinierten Zeilenzahl angezeigt.

Im Feld OP kann durch Eingabe von 'K' erreicht werden, dass der vollständige Kommentar der Liste angezeigt wird. Alle anderen Eingaben bewirken, dass die entsprechende Liste angezeigt wird (Sprung ins Bild VS124).

3.4.3.3 Funktionstastenbelegung für das Bild VS127

3.4.4 Verwaltung der Berichte (VS123)

In der Verwaltung der Berichte können folgende Funktionen für Berichte angestoßen werden: Drucken, Löschen oder Auslagern auf sequentielle Datei. Es werden in der Maske sowohl die Listen (mit L gekennzeichnet) und Anforderungsprotokolle (A) angezeigt. Berichte des ASS-Excel bzw. ASS-Internet (Typen M, N , O, P, Q) können nur zum Löschen markiert werden. Die Berichte, die angezeigt werden sollen, können wie auch im Bild VS127 selektiert werden.

3.4.4.1 Positionierung auf bestimmte Berichte

Eine Positionierung auf bestimmte Berichte erfolgt analog zur Biblotheksübersicht (s. Kap. 3.2.3.1).

3.4.4.2 Anzeigeinformation von VS123

Nach erfolgreicher Positionierung zeigt VS123 bis zu 17 Berichtsprotokolle und Berichte an. Sie erscheinen in der Form, dass links neben jedem angezeigten Element ein Eingabefeld für eine Auswahl-Operation steht (AU).
Will man sich eine der aufgelisteten Berichte bzw. ein Protokoll anzeigen lassen, so gibt man beim Feld AU der entsprechenden Zeile X ein und kann so, nach Drücken von ENTER, zu VS124 verzweigen, um den Bericht oder das Protokoll anzuschauen. Rechts von dem Element befinden sich verschiedene Eingabefelder, die zur Verwaltung des Berichtes dienen (s. Kap. 3.4.4.4).

3.4.4.3 Funktionstastenbelegung für das Bild VS123
3.4.4.4 Verwaltung der Berichtsdatenbank

Für die Verwaltung der Berichtsdatenbank sind folgende Funktionen vorhanden:

Das Drucken von Berichten wird durch Eingabe eines "X" in der Spalte D ausgelöst.
Zusätzlich kann die Zahl der Kopien des Berichts in der Spalte ANZ angegeben werden. Wenn Sie hier nichts eingeben, so wird standardmäßig "1" eingetragen. Falls ein Bericht in mehrere Verschickklassen getrennt ist, so können sämtliche Verschickklassen durch Eingabe von "Drucken" beim Listanforderungsprotokoll ausgedruckt werden.
Auslagern von Berichten erfolgt durch Eingabe von "X" in der Spalte A beim Anforderungsprotokoll. Einzelne Berichte können nicht ausgelagert werden.
Löschen von Berichten erfolgt durch Eingabe von "X" in der Spalte L. Falls ein Bericht in mehrere Verschickklassen getrennt ist, so können sämtliche Verschickklassen durch Eingabe von "Löschen" beim Listanforderungsprotokoll gelöscht werden. Zusätzlich kann das Löschen eines Berichts durch Herabsetzen des Ablaufdatums veranlasst werden.

HINWEIS:
Sämtliche Verwaltungsfunktionen der Berichtsdatenbank werden nicht im Online durchgeführt, sondern es werden Kennzeichen gesetzt, welche von dem Dienstprogramm PCL1094 verarbeitet werden.

3.4.5 Anzeige des Anforderungsprotokolls und der Auswertung (VS124)

Wurde ein Bericht oder ein Anforderungsprotokoll ausgewählt, so wird sein Beginn angezeigt. Mit den Funktionstasten PF7 und PF8 können Sie auf die vorherige bzw. nächste Seite blättern. Es wird in Listen jedoch nicht über Kopfschlüssel hinaus geblättert. Durch zusätzliche Angabe einer Zahl im Kommandofeld kann um diese Anzahl von Zeilen vor- bzw. zurückgeblättert werden. Mit den Funktionstasten PF10 und PF11 kann links/rechts geblättert werden. Auch hier kann die Spaltenzahl, um die geblättert werden soll, im Kommandofeld eingegeben werden.

3.4.6 Suchkommando in Maske VS124

In der Anzeige von Listen und Protokollen kann nach Begriffen gesucht werden. Dazu dient ein Suchkommando in dem Feld für ASS-Meldungen. Es ermöglicht Ihnen, Begriffe oder Zahlen in der Anzeige schneller zu finden. Die nächste Zeile mit dem gesuchten Begriff wird hervorgehoben.
Die Suche kann unter Umständen Einschränkungen unterliegen, insbesondere dann, wenn die Liste mit dem Programm PCL1078 bearbeitet wurde, da der Listaufbau nicht vollständig bekannt ist (Kopf-, Zeilen-, Spaltenschlüssel).

Das Suchkommando setzt sich zusammen aus dem Suchbefehl und dem Suchbegriff:

Bei der Suche nach einem Text können Stellen mit "?" maskiert werden. Das System berücksichtigt dann alle denkbaren Zeichen an diesen Stellen bei der Suche. Wird z. B. als Suchbegriff "TE?T" angegeben, so wird sowohl "TEST" als auch "TEXT" gefunden.

Beispiele:

4 Elemente einer List-Anforderung


*******************************************************************************
VS101     ASS   ERSTELLEN STATISTIKANFORDERUNG                         22/03/99
-------------------------------------------------------------------------------
BEISPIEL1
...............................................................................
ARBEITSGEBIET:  ...  ....................   ...  ....................

KOPFSCHLUESSEL: ...... ....................   ...... ...................
                ...... ....................   ...... ...................
                ...... ....................   ...... ...................

ZEILENSCHLUESSEL                                    SPALTENSCHLUESSEL
......     I ......     I ......     I ......     I ...... ..................
.......... I .......... I .......... I .......... I ...... ..................
.......... I .......... I .......... I .......... I ...... ..................
           I            I            I            I
------------------------+-------------------------+---------------------------
"AG"  ARBEITSGEBIETE      "KO"   KOMMENTARE         "BD"  SPALTENBEDINGUNGEN
"KS"  KOPFSCHLUESSEL      "OP"   DRUCKOPTIONEN      "PD"  PARAM. DEFINIEREN
"ZS"  ZEILENSCHLUESSEL    "GR"   SCHL. GRUPPIERUNG  "E"   FOLGEVERARBEITUNG
"SS"  SPALTENSCHLUESSEL   "UE"   UEBERSCHRIFTEN     "L"   LISTBILD ERZEUGEN
"WE"  WERTE EINFACH       "ZU"   ZEILENUEBERSCHR.   "S"   STATISTIK ERZEUGEN
"WZ"  WERTE M. ZUSAETZEN  "SU"   SPALTENUEBERSCHR.  "SR"  SPALTENSORTIERUNG
"ZE"  ZEITRAEUME          "SQ"   BLAETTERSEQUENZEN  "ER"  ERFASSDIALOG
-------------------------------------------------------------------------------

==> .................... I PF1 HELP,  PF3 CAN,  PF7 BUE,  PF8 BVW,  PF11 AUSW
*******************************************************************************

Die Zusammenstellung einer ASS-Listanforderung wird von der Maske VS101 aus durchgeführt. Die Auswahl von Anforderungselementen und ihre Zuordnung auf die einzelnen Dimensionen kann über die im obigen Maskenbild VS101 vorgeschlagenen Einzelmenüs erfolgen. Daneben besteht auch die Möglichkeit, direkt in der Maske VS101 die Besetzung der Listdimensionen vorzunehmen sowie die Arbeitsgebiete auszuwählen (Expertenmodus). In diesem Fall kann die Arbeitsgebietsauswahl durch die Eingabe von Arbeitsgebietsnummer und/oder -bezeichnung in die betreffenden Eingabefelder vorgenommen werden.
Bei Kopf-, Zeilen- oder Spaltenschlüssel können Schlüsselnummern und/oder -bezeichnungen sowie - nur im Bezeichnungsfeld - die Begriffe WERTE und ZEITRAUM eingegeben werden. Auch im Expertenmodus müssen noch mindestens zwei Einzelschritte ausgeführt werden, in denen die Werte und die Zeiten ausgewählt werden.

Es werden die Menüpunkte hervorgehoben, die Sie ausgewählt haben, und hinter denen sich Information verbirgt, die nicht im Bild VS101 zu sehen ist (z. B., wenn Sie 3 Arbeitsgebiete ausgewählt haben, oder wenn Sie Optionen angekreuzt haben) .

BATCH-Sprache

In der BATCH-Sprache können Sie die einzelnen Elemente über entsprechende Statementbezeichner ansprechen und auswählen. Die genaue Syntax für die Anforderung der einzelnen Listelemente in der BATCH-Anforderungssprache wird in den folgenden Kapiteln an betreffender Stelle vorgestellt.

4.1 Auswahl von Arbeitsgebieten

Für jede Listanforderung muss mindestens ein Arbeitsgebiet angefordert werden. Es ist auch möglich, in einer Auswertung mehrere Arbeitsgebiete (maximal 20) gleichzeitig anzusprechen. Allerdings muss dann bezüglich der angeforderten Werte genau angegeben werden, zu welchem Arbeitsgebiet der jeweilige Wert gehört (vgl. Kap. 4.4). Für eine ausführliche Beschreibung der arbeitsgebietsübergreifenden Auswertung sei auf Kap. 13.1 verwiesen.

Auswahl der Arbeitsgebiete im Dialog

In der Maske VS101 kann man bis zu zwei Arbeitsgebiete direkt auswählen. Es können aber nur Arbeitsgebiete ausgewählt werden, die geprüft sind und zu denen mindestens eine Folgeeinspeicherung durchgeführt wurde.
Geben Sie hierzu in das kleine Feld hinter "ARBEITSGEBIET" die Arbeitsgebietsnummer oder in das große Feld die Arbeitsgebietsbezeichnung ein.

Will der Anwender mehr als zwei Arbeitsgebiete auswählen oder er kennt die erforderlichen Nummern bzw. Bezeichnungen nicht, so gibt er im Kommandofeld "AG" ein. Es erscheint dann die Maske VS102. Hier werden die auswertbaren Arbeitsgebiete angezeigt. Die gewünschten Arbeitsgebiete kann man dann durch einfache Markierung oder Vergabe einer Folgenummer auswählen. Die Reihenfolge ist dabei bei bestimmten AG-Joins wichtig. Mit PF6 geht es zum Bild VS101 zurück.

Die Menge der zulässigen Werte, Schlüssel und Zeiträume ist abhängig von den ausgewählten Arbeitsgebieten. Eine Änderung der ausgewählten Arbeitsgebiete hat deswegen zur Konsequenz, dass bereits ausgewählte Werte und Zeiträume nicht mehr zulässig sind. Bereits erfasste Werte oder Zeiträume, die dann nicht mehr zulässig sind, werden gelöscht (eventuell ohne eine Fehlermeldung). Bei nicht mehr zulässigen, aber bereits ausgewählten Schlüsseln erscheint ein Fehlerhinweis.

Die Menge der zulässigen Werte, Schlüssel und Zeiträume ist abhängig von den ausgewählten Arbeitsgebieten. Bei Änderung der Arbeitsgebietsauswahl müssen daher i. a. die ausgewählten Schlüssel, Werte und Zeiträume entsprechend mitgeändert werden.

Auswahl der Arbeitsgebiete in der BATCH-Sprache

Bis zu 20 Arbeitsgebiete können nach den Statementbezeichnern ARBEITSGEBIET: bzw. AG: über Nummer, Bezeichnung oder Abkürzung ausgewählt werden.

Beispiele:
AG: 9;
AG: 9,19;
AG: REISEVERSICHERUNG;

4.2 Auswahl der Listelemente

Nach der Auswahl der Arbeitsgebiete erfolgt die Besetzung der einzelnen Listdimensionen. Dabei werden als Elemente echte Schlüssel sowie die Begriffe WERTE und ZEITRAUM ausgewählt. In weiteren Schritten können dann zu den einzelnen Schlüsseln konkrete Inhalte angefordert werden. Für WERTE und ZEITRAUM müssen immer zusätzliche Anforderungen bezüglich der gewünschten Werte oder Zeiten durchgeführt werden.

4.2.1 Auswahl der Kopf-, Zeilen- und Spaltenschlüssel im Dialog

Kopf-, Zeilen- und Spaltenschlüssel können Sie im Dialog auf zwei Arten auswählen: Durch Direkteingaben im Expertenmodus oder in Einzelschritten über Auswahlmasken.

4.2.1.1 Direkteingaben in die Maske VS101

In den kleinen Feldern für Kopf-, Zeilen- oder Spaltenschlüssel in Maske VS101 werden Schlüsselnummern, in den großen Feldern Schlüsselbezeichnungen oder "WERTE" oder "ZEITRAUM" eingetragen. Relationsnummern können in der Form Rnnnnn eingegeben werden.

Wenn Sie bereits wissen, welche Schlüssel wo gedruckt werden sollen, so können Sie diese sofort in Maske VS101 eingeben, auch die Begriffe "WERTE" und "ZEITRAUM". Andernfalls ist es möglich, durch Eingabe von KS, ZS bzw. SS im Kommandofeld der Maske VS101 die Maske VS103, VS104 bzw. VS105 anzusteuern.

4.2.1.2 Auswahl über die Masken VS103 (KS), VS104 (ZS) bzw. VS105 (SS)

Die Masken VS103, VS104 und VS105 ermöglichen die Auswahl von Kopf-, Zeilen- oder Spaltenschlüsseln einschließlich der Anforderung von Variablen.
Ihre Funktionen sind fast identisch, daher weisen sie auch einen ähnlichen Aufbau auf. Für die korrekte Bedienung dieser Masken genügt die exemplarische Behandlung des Bildes VS103. Alles über VS103 Gesagte kann ohne weiteres auf die Masken VS104 und VS105 übertragen werden.

Die Maske VS103 ist zweigeteilt. Im oberen Teil werden alle als Kopfschlüssel bereits angeforderten Schlüssel und Variablen angezeigt. Im unteren Teil werden die Schlüssel angezeigt, die noch als Kopfschlüssel angefordert werden können. Die Schlüssel, die noch als Kopfschlüssel auswählbar sind, sind links mit Punkten markiert.
Wenn noch keine Kopfschlüssel angefordert sind, so ist der obere Teil leer. Sind bereits viele Kopfschlüssel angefordert, so können die noch zur Verfügung stehenden Schlüssel und die im Zeilen- und Spaltenbereich angeforderten Schlüssel und Variablen zunächst nicht angezeigt werden.

Durch Blättern mit PF7 und PF8 können Sie die verschiedenen Bereiche zur Anzeige bringen.

In leeren Zeilen (Punkte in allen Eingabefeldern) können Schlüssel und Variablen sowie die Schlüssel WERTE und ZEITRAUM direkt angefordert werden.
Dazu ist im Eingabefeld links die Angabe einer Folgenummer und im Eingabefeld rechts daneben die Angabe einer Schlüsselnummer, eines Variablennamens mit führendem '&&' oder die Eingabe WERTE oder ZEITRAUM erforderlich. Schlüsselrelationen werden mit führendem 'R' (z.B. R4711) eingegeben.
Noch nicht angeforderte Schlüssel können Sie im unteren Teil der Maske durch Eingabe einer Folgenummer anfordern. Mit der Folgenummer wird festgelegt, als wievielter Schlüssel der Eintrag im Listbild erscheint. Durch Neueingabe der Folgenummern kann die Reihenfolge leicht verändert werden. Werden Folgenummern überpunktet bzw. wird bei Folgenummern 0 eingegeben, so werden die betreffenden Schlüssel gelöscht; auch Variablen können so gelöscht werden.

Bei echten Schlüsseln und Variablen gibt es rechts noch weitere Markierungsfelder für folgende Zwecke:

Durch einfache Markierung des Endsummenfeldes fordert man in der Liste eine Endsummenbildung an. Diese Option besteht allerdings nicht beim Spaltenschlüssel. Markiert man das Feld für die Erfassung von Ausprägungen, so erscheint die Maske VS110.

Dahinter kommen 8 weitere Markierungsspalten. In den ersten 4 können Sie für jeden angeforderten Schlüssel bestimmen, wie er in der Liste bezeichnet werden soll. Man kann die Schlüsselbezeichnung, die Schlüsselabkürzung oder die Schlüsselüberschrift im Arbeitsgebiet wählen, und zwar durch einfaches Ankreuzen.
Darüber hinaus besteht die Möglichkeit, nur die Schlüsselnummer oder diese in Kombination mit Bezeichnung, Abkürzung oder Überschrift anzufordern.

In der Spalte 'UEB' können außerdem die Optionen "SEITETRENN" und "BLATTNAME" ausgewählt werden. Diese sind nur für Kopfschlüssel zulässig.
Die Auswahl geschieht wie folgt:

In der folgenden Spalte ('SRT') kann bei Kopf- und Zeilenschlüsseln ein Sortierkennzeichen gesetzt werden. Es existieren folgende Eingabemöglichkeiten:

Es besteht die Möglichkeit, einen Schlüssel in der Präsentation bzw. Ausgabe zu unterdrücken, ohne jedoch darüber zu verdichten. Eine Sortierung über diesen Schlüssel ist dennoch möglich. Folgende Eingaben sind hierfür vorgesehen:

In den letzten drei Markierungsspalten können Sie für jeden angeforderten Schlüssel bestimmen, wie sein Inhalt gedruckt wird. Aus Platzgründen ist in jedem Feld noch eine weitere Schlüsseloption untergebracht (s.u.).
Folgende Möglichkeiten sind gegeben:

In der Spalte 'BEZ' können außerdem die Optionen "M97_MENGE" und "NO_LDAT" ausgewählt werden.
Die Option "M97_MENGE" steuert, ob der User-Exit zur Textierung von Schlüsselinhalten auch auf Mengennamen angewendet werden soll. Sie ist auch als Anforderungsoption verfügbar.
Die Option "NO_LDAT" unterdrückt das Schreiben des markierten Schlüssels in die PC-Datei LDAT. Die Auswahl geschieht wie folgt:

Sollen bei Axcel oder ASS-Internet oder PC-Dateien Schlüsselinhalt und Schlüsselinhaltsbezeichnung bzw. Schlüsselinhaltskurzbezeichnungs in getrennte Zellen ausgegeben werden, so wird dies bei Schlüsselinhalt mit 'S' (S für KEINH_SOLO) angefordert.

Voreinstellungen oder Optionen, die man an anderer Stelle eingegeben hat, werden durch die obigen Angaben individuell übersteuert.

Über das Feld INH können außerdem die Optionen NN_ERS (NN ersetzen), siehe Kap. 13.2.4.2, und AU_EXIST aktiviert werden:

Über das Feld ABK kann außerdem der blockweise Nulldruck für diesen Schlüssel aktiviert werden, d.h. es werden für diesen Schlüssel auch diejenigen Datenzeilen ausgegeben, die nur Nullwerte liefern, d.h. alle Ausprägungen dieses Schlüssels erscheinen in der Liste, wenn im jeweiligen Inhaltsblock mindestens zu einem Inhalt nicht alle Werte Null sind. Dabei ist:

4.2.2 Auswahl der Kopf-, Zeilen- und Spaltenschlüssel (BATCH-Anforderungssprache)

Die gewünschten Listelemente zu Kopf-, Spalten- und Zeilenschlüssel werden in der Anforderungssprache beschrieben mit

Darunter fallen WERTE, ZEITRAUM und "echte" Schlüssel, die in den angeforderten Arbeitsgebieten vorkommen. Echte Schlüssel können über ihre Bezeichnung oder ihre Schlüsselnummer angefordert werden

Die Inhalte zu den Schlüsseln können in Klammerausdrücken, durch Kommata getrennt, angefordert werden. Bei echten Schlüsseln der ASS-Datenbasis empfiehlt es sich, die Ausprägungen in Hochkommata anzugeben. Diese Hochkommata können entfallen, wenn die Inhalte numerisch sind oder nur ASS-Bezeichner enthalten.
Werden bei echten Schlüsseln keine Schlüsselinhalte angegeben, werden in die Auswertung alle im Arbeitsgebiet zulässigen Schlüsselausprägungen einbezogen. Bei WERTE müssen in dem nachfolgenden Klammerausdruck konkrete Werte über die Wertenummer bzw. die Wertebezeichnung angefordert werden.
Bei Zeitraum müssen in dem nachfolgenden Klammerausdruck Zeitanforderungen in der Form MMJJ bzw. MMJJ-MMJJ, ebenfalls durch Kommata getrennt, angefordert werden. Die verschiedenen Auswahlmöglichkeiten für die Inhalte von echten Schlüsseln, von Werten und Zeiten werden in den nachfolgenden Kapiteln ausführlich besprochen.

Beispiel (Auswahl der Schlüssel über die Bezeichnung):

      KS: ZEITRAUM = (0197, 0297, 0397, 0497);/* KOPFSCHLUESSEL   */
      ZS: GV_SCHLUESSEL,                      /* ZEILENSCHLUESSEL */
          REISETARIF = ('015', '020');
      SS: ALTERSGRUPPE;                       /* SPALTENSCHLUESSEL*/
          WERTE        = (LEISTUNG, ANZAHL_LEISTUNGEN);

Anforderung von Schlüsselrelationen siehe 4.3.13.3.

4.3 Anforderung von Schlüsselausprägungen

4.3.1 Anforderung einzelner Ausprägungen

Bei der Auswahl von Schlüsselausprägungen sind folgende Vorgehensweisen möglich:

  1. Sie fordern nur den betreffenden Schlüssel an und erhalten somit alle Ausprägungen des Schlüssels. (vgl. Kap. 4.2)
  2. Man listet in der Anforderung alle gewünschten Ausprägungen einzeln auf. (vgl. Kap. 4.3.1.1 und Kap. 4.3.2)
  3. Sie fordern (nur bei Zeilenschlüsseln) Druckaufbereitungsangaben zur Gestaltung des Listbildes an. (vgl. Kap. 4.6)
  4. Sie wählen über eine Anforderung mehrere Ausprägungen gleichzeitig aus. Diese Ausprägungen werden dann einzeln ausgewertet. Eine Anforderung dieser Art kann über die Angabe von Ausprägungsintervallen (VON - BIS) oder über Ausprägungsmasken (Ausrufezeichen !) realisiert werden (vgl. Kap. 4.3.4 bzw. 4.3.5).
  5. Man wählt über eine Anforderung mehrere Ausprägungen aus, die bei der Auswertung zu sog. Ausprägungsmengen zusammengefasst werden (vgl. Kap. 4.3.6 bzw. 4.3.7).
  6. Man schließt gezielt Ausprägungen von der Anforderung wieder aus (Negativselektion, vgl. Kap. 4.3.8).
  7. Man bildet temporäre Ausprägungen unter Bezugnahme auf andere Schlüsselinhalte (Schlüsselformeln, Summeninhalte). (vgl. Kap. 4.3.10ff)
4.3.1.1 Anforderung von Schlüsselinhalten in der Dialog- verarbeitung

Schlüsselausprägungen werden über die Maske VS110 ausgewählt. Um dieses Bild zu erreichen, muss im Ausgangsbild VS101 der Menüpunkt KS, ZS oder SS gewählt werden. Anschließend ist einer der nun angezeigten Schlüssel des Arbeitsgebietes mit einer Reihenfolgeziffer zu versehen. Das entsprechende Feld zur Anforderung der Ausprägungsauswahlmaske ist für diesen Schlüssel zu markieren.

Die Maske VS110 ist zweigeteilt. Im oberen Teil ist der Erfassungs- und Änderungsteil, im unteren der Anzeigeteil. Im Anzeigeteil werden die existierenden Inhalte zum aktuellen Schlüssel angezeigt, die noch nicht ausgewählt sind. Mit PF7 bzw. PF8 kann man rückwärts bzw. vorwärts blättern.

Ferner kann durch Eingabe von 'M' gefolgt von PF7 bzw. PF8 auf den Anfang bzw. das Ende der Anzeige positioniert werden. Wird 'D' gefolgt von PF7 bzw. PF8 im Kommandofeld eingegeben, so wird auf den Anfang der nicht ausgewählten Inhalte positioniert.

Die Größe des Erfassungs- und Änderungsteils bzw. des Anzeigeteils ist von der Blätterposition und der Menge der bereits ausgewählten Inhalte abhängig. In die Felder mit der Überschrift FOLGE können Sie Ziffern eintragen. Dadurch bestimmt man, an der wievielten Stelle der ausgewählte Inhalt gedruckt wird. Inhalte aus dem Anzeigeteil können Sie durch Eintragen von Ziffern im FOLGE-Feld auswählen.

Sie können aber auch direkt die Inhalte, die Sie wünschen, eintragen. Hierzu dienen Felder mit der Überschrift INHALT. Eintragungen sind dort möglich, wo in der Maske Punkte erscheinen. Ein Inhalt wird erfasst, indem man im FOLGE-Feld Ziffern einträgt und im INHALTs-Feld den gewünschten Inhalt. Will man die Position von ausgewählten Inhalten ändern, so braucht man nur die neue Position im FOLGE-Feld eintragen. Ausgewählte Inhalte können Sie nicht ändern, jedoch löschen, indem Sie im FOLGE-Feld eine Null eintragen bzw. das FOLGE-Feld überpunkten.

Soll zwischen bereits ausgewählten Ausprägungen eingefügt werden, so geben Sie in das betreffende FOLGE-Feld In ein. Hierdurch erhalten Sie n leere Eingabezeilen, in die Sie dann die einzufügenden Eingaben machen können.

4.3.1.2 Suchen von Schlüsselausprägungen (VS110) im Dialog

Es können Schlüsselausprägungen gesucht werden. Dabei können Sie nach Schlüsselinhalt oder nach Schlüsselinhaltsbezeichnung suchen. Bei Eingabe von S im Folge-Feld wird nach Schlüsselinhalt, bei Eingabe von SB im Folge-Feld wird nach Schlüsselinhaltsbezeichnung gesucht, bei Eingabe von SK im Folge-Feld wird nach Schlüsselinhaltskurzbezeichnung gesucht.
Hinter das Suchkommando muss im Feld für den Schlüsselinhalt oder im Feld für die Schlüsselinhaltsbezeichnung ein Suchargument eingegeben werden. Das Suchargument besteht aus einem konkreten Schlüsselinhalt bzw. einer Schlüsselinhaltsbezeichnung oder einer Suchmaske. In der Suchmaske werden einzelne zu ignorierende Stellen mit "?" und zu ignorierende Zeichenfolgen mit "*" maskiert. Ist das letzte eingegebene Zeichen ein "?", wird die Suchmaske bis zum Ende mit "?" aufgefüllt.

Beispiel 1 : S... *T7 . Es wird nach allen Schlüsselinhalten gesucht, die mit T und 7 enden.
Beispiel 2 : SB.. ?AB*XY . Es wird nach allen Schlüsselinhaltsbezeichnungen gesucht, die an erster Stelle ein beliebiges Zeichen gefolgt von A und B haben und mit X und Y enden.
Beispiel 3 : SB.. XY? . Es wird nach allen Schlüsselinhaltsbezeichnungen gesucht, die mit X und Y beginnen. Dabei wird die Menge der noch nicht ausgewählten Schlüsselausprägungen durchsucht, die lexikographisch hinter der ersten in der Maske angezeigten nicht ausgewählten Ausprägung liegen.

Mit PF5 sucht man die nächste Ausprägung, die dem Suchargument genügt. Das Suchkommando dient nur dazu, geeignet in die Menge der Schlüsselausprägungen zu positionieren.

FILTER

Hier kann eine Maskierung für auswählbare Schlüsselinhalte angegeben werden. Es können beliebige Zeichen eingegeben werden, wobei das Fragezeichen als Platzhalter fungiert. Eine eingegebene Maskierung wird hinten mit Platzhaltern aufgefüllt:

    Beispiel:   ?<00   maskiert etwa:    A<00
                                         <<00IA
                                         <<000K
                                         <<00EBCDIC.
SORT

Hier kann ein Sortkriterium für auswählbare Schlüsselinhalte angegeben werden:

INHAUF Sortierung nach Inhalt aufsteigend
INHAB absteigend
BEZAUF Sortierung nach Bezeichnung aufsteigend
BEZAB absteigend

4.3.2 Anforderung von Schlüsselinhalten (BATCH-Sprache)

Hinter der Schlüsselnummer bzw. -bezeichnung des ausgewählten Schlüssels werden nach einem Gleichheitszeichen, von einem Klammerpaar umrahmt, die Inhalte angefordert. Die einzelnen Ausprägungen müssen durch Kommata voneinander getrennt werden. Schlüsselinhalte, die weder numerisch noch von der Art eines ASS-Bezeichner sind, müssen in Hochkommata eingeschlossen sein.

Beispiel: ZS: TARIF = (01,02,03);
bzw. ZS: TARIF = ('01','02','03');

4.3.3 Anforderung mehrerer Ausprägungen über Intervalle

Besteht zu einem Schlüssel eine größere Menge von Ausprägungen und werden davon in einer Auswertung ab einer bestimmten Position in der Reihe der aufsteigend sortierten Ausprägungen des Schlüssels bis zu einer bestimmten Endposition alle Ausprägungen benötigt, so bietet sich dieses Verfahren an.

Beispiel:
Ein Schlüssel habe die Ausprägungen AUSP1, AUSP2, AUSP3, AUSP4, AUSP und AUSPA. Man will für eine Auswertung die Ausprägungen AUSP1, AUSP2, AUSP3 und AUSP4 haben.

Dialoganforderung

Für die Eingabe eines Ausprägungsintervalles werden zwei freie Zeilen benötigt. Stehen diese nicht mehr zur Verfügung, so können sie sehr einfach angefordert werden:

Sind die beiden nun erzeugten, freien Zeilen in der im folgenden beschriebenen Weise versorgt, so können Sie die nicht mehr benötigte Sternzeile wieder löschen, indem Sie die Folgenummer mit 0 oder Punkten überschreiben. In der ersten der beiden für Intervallanforderungen benötigten Zeilen vergibt man bei FOLGE eine Reihenfolgenummer für die die Anfangsposition markierende Ausprägung. Deren Inhalt ist im Feld INHALT einzugeben.

Im Feld BEZEICHNUNG ist an erster Stelle als Intervallkennzeichen ein Bindestrichzeichen "-" anzugeben. In der zweiten Zeile wird für die die Endeposition markierende Ausprägung eine um 1 erhöhte Folgenummer vergeben, bei INHALT wird der Inhalt der betreffenden Ausprägung angegeben.

Beim Beispiel sind folgende Eingaben in die Maske VS110 notwendig:

    FOLGE    INHALT        BEZEICHNUNG
    1...   AUSP1.......    -...................
    2...   AUSP4.......    ....................
    ....   ............    ....................
    ....   ............    ....................

Anforderung in der BATCH-Sprache

Mit der BATCH-Anforderungssprache werden Ausprägungsintervalle angefordert, indem man die die Anfangsposition markierende Ausprägung und die die Endposition markierende Ausprägung durch einen Bindestrich getrennt anfordert.

Für das Beispiel muss in der BATCH-Sprache die Anforderung so lauten:

ZS: SCHL1 = (AUSP1-AUSP4);

bzw.

ZS: SCHL1 = ('AUSP1'-'AUSP4');
(Bemerkung: Die Hochkommata sind zu verwenden, wenn der Schlüsselinhalt kein ASS-Bezeichner ist, vgl. Kap. 4.2.2. und zum Begriff ASS-Bezeichner Kap. 3.1.3.)

4.3.4 Auswahl mehrerer Ausprägungen über Ausprägungsmasken

Werden die Inhalte von Schlüsselausprägungen nach bestimmten Namenskonventionen vereinbart, so dass sich die Inhalte nur an bestimmten Stellen des Inhaltsfeldes unterscheiden, so kann diese Besonderheit der Namensvereinbarung für die Auswahl mehrerer Ausprägungen ausgenützt werden. Man fordert diese Ausprägungen dann über sogenannte Ausprägungsmasken an: Die Zeichen bzw. Stellen, durch die sich die anvisierten Ausprägungen unterscheiden, werden durch ein Sonderzeichen ersetzt. Diese durch Ersetzung erhaltene Buchstabenfolge wird mit 'Ausprägungsmaske' bezeichnet. Bei der Auswahl mehrerer Ausprägungen über eine Ausprägungsmaske wird als Sonderzeichen das Ausrufezeichen (!) verwendet.

Es kann dabei installationsabhängig vorkommen, dass das Ausrufezeichen auf der aktuellen Tastatur durch ein anderes Zeichen dargestellt wird. Einzelheiten hierzu sind beim ASS-Systemverwalter zu erfragen.

Beispiel:
Von den Ausprägungen AUSP1, AUSP10, AUSP2, AUSP22, AUSP23, AUSPA, AUSPAA, AUSP eines Zeilenschlüssels SCHL1 sollen AUSP1, AUSP2, AUSPA und AUSP ausgewählt werden.

Dialog-Anforderung

Für das obige Beispiel reichen folgende Eingaben in der Maske VS110:

    FOLGE    INHALT        BEZEICHNUNG
    1...   AUSP!.......    ....................
    ....   ............    ....................
    ....   ............    ....................
    ....   ............    ....................
    ....   ............    ....................
    ....   ............    ....................
Anforderung in der BATCH-Sprache

In der ASS-Sprache wird das beschriebene Beispiel folgendermaßen angefordert:

ZS: SCHL1 = ('AUSP!');

Maskierung auffüllen

Endet eine Ausprägungsauswahl auf '!°', so wird diese implizit bis zur externen Schlüssellänge mit '!' aufgefüllt, das '°'-Zeichen entfällt. Das '°'-Zeichen ist in diesem Fall also kein normales Zeichen mehr!
Auf diese Weise wird sichergestellt, dass alle Ausprägungen in der Maskierung enthalten sind, die den dort definierten Anfangsteil haben, ohne die max. Länge der Schlüsselausprägungen (die externe Länge des Schlüssels) zu kennen. Außerdem kann man sich so gegen künftige Verlängerungen der externen Schlüssellänge absichern. Die Alternative, manuell mehr Ausrufezeichen zu schreiben (z.B. bis zur 12. Stelle) ist gefährlich, da in normalen (d.h. nicht Join-)Anforderungen ein Splitschlüssel angefordert werden könnte.
In Joinanforderungen wird die Maskierung auf mind. 20 Stellen aufgefüllt, damit auch in der Unteranforderung vorhandene Mengen- oder Formelbezeichner (max. 20-stellig) auch in der Maskierung enthalten sind.
Ist der Teil vor dem '°' länger als oder gleich der externen Länge (bzw. 20 bei Joinanforderungen), wird das '°'-Zeichen ignoriert (also gelöscht).

4.3.5 Zusammenfassen von Ausprägungen über Ausprägungsmasken zu Ausprägungsmengen

Mitunter ist es sinnvoll, in der Auswertung mehrere Schlüsselausprägungen eines Schlüssels in einer Zeile bzw. Spalte zusammenzufassen. Bei einer Zusammenfassung von Ausprägungen in einer Zeile der Anforderungsliste spricht man von Ausprägungsmengen. Eine Möglichkeit, solche Ausprägungsmengen anzufordern, besteht über Ausprägungsmasken, die das Fragezeichen als Sonderzeichen zur Maskierung verwenden.

Beispiel:
Der Schlüssel REISETARIF habe die Ausprägungen

    010, 020, 030, 040, 050, 060, 070, 080, 090,
    110, 120, 130, 140, 150, 160, 170, 180, 190,
    210, 220, 230, 240, 250, 260, 270, 280, 290,
    015, 025, 035, 045, 055, 065, 075, 085, 095,
    115, 125, 135, 145, 155, 165, 175, 185, 195,
    215, 225, 235, 245, 255, 265, 275, 285, 295

Der Benutzer fordert folgende drei Ausprägungsmengen über Maskierung an: '0??','1??' und '2??'. Erläuterung:

Mit dem Symbol '?' kann man auf beliebige Stellen Bezug nehmen, es sind beliebige Maskierungen zulässig.

Die Maskierungen mit Ausrufezeichen ! und Fragezeichen ? sind deutlich zu unterscheiden:
So erzeugt im vorausgegangenen Beispiel '0??' eine Zeile, bei der die 18 genannten Ausprägungen aufsummiert werden, 0!! hingegen 18 Zeilen, in denen die genannten Ausprägungen einzeln aufgeführt werden.

Dialog-Anforderung

In Maske VS110 sind folgende Eingaben vorzunehmen:

    FOLGE    INHALT        BEZEICHNUNG
    1...   0??.........    ....................
    2...   1??.........    ....................
    3...   2??.........    ....................
    ....   ............    ....................
    ....   ............    ....................
    ....   ............    ....................
    ....   ............    ....................
Anforderung in der BATCH-Sprache

ZS: REISETARIF = ( '0??','1??','2??' );

Es können bei der Anforderung von Ausprägungen die ?-Maskierung und die !-Maskierung gemeinsam verwendet werden. Dies bewirkt eine Auswahl von mehreren Mengen. Für obiges Beispiel führt folgende Auswahl

ZS: REISETARIF = ( '0?!' );

zur Anzeige der Mengen 0?0 , 0?5 in der Statistik, wobei die ?-Maskierung die oben beschriebene Bedeutung hat.

Maskierung auffüllen

Endet eine Ausprägungsauswahl auf '?°', so wird diese analog zu '!°' mit Fragezeichen aufgefüllt.

4.3.6 Zusammenfassen von Ausprägungen zu Ausprägungsmengen mit Bezeichner

Auch bei einer Ausprägungsmenge mit Bezeichner können mehrere Ausprägungen eines Schlüssels zusammengefasst werden. Diese Ausprägungsmenge muss dann einen Namen (Bezeichner) erhalten, unter dem sie später in der Liste angedruckt werden soll. Bei der Auswertung im Listbild erscheint der Bezeichner. Unter diesem Bezeichner wird über die Ausprägungen aufsummiert, die in der Ausprägungsmenge angefordert wurden. Bei derartigen Ausprägungsmengen werden die Ausprägungen, die zusammengefasst werden sollen, einfach aufgezählt. Beim Aufzählen dürfen auch Ausprägungsmasken und Ausprägungsintervalle angegeben werden. Die Endpunkte von Ausprägungsintervallen müssen keine gültigen Schlüsselausprägungen sein. Maskierungen bei Endpunkten von Ausprägungsintervallen ergeben im allgemeinen keinen Sinn.
Des weiteren ist es zulässig, in der Aufzählung die Bezeichner anderer Mengen anzugeben. Hierdurch ist die Bezugnahme auf Mengen innerhalb von Mengen möglich.
Bezüglich der Namenskonventionen ist hierbei folgendes zu beachten: Entspricht der in der Aufzählung angegebene Bezeichner einer Ausprägung, so wird dieser auch als Ausprägung interpretiert. Nur im anderen Fall wird versucht, den angegebenen Bezeichner als Mengenbezeichner zu interpretieren. Eine Ausnahme hierzu bildet die Negativselektion einer Menge innerhalb einer Menge, deren Bezeichner der Ausprägung eines verketteten Schlüssels entspricht (verkettete Schlüssel s. Kap. 4.3.13), da die Negativselektion von verketteten Schlüsseln innerhalb von Mengen nicht erlaubt ist.

Dialog-Anforderung

Das Erfassen von Ausprägungsmengen mit Bezeichner:
Jede Ausprägungsmenge beginnt mit dem Symbol '(' und endet mit dem Symbol ')'. Dazwischen werden die Elemente, die zu der Ausprägungsmenge gehören sollen, aufgezählt. Die aufgezählten Elemente müssen in Hochkommata eingeschlossen und durch Komma getrennt werden. Erfasst werden Ausprägungsmengen in den Feldern, in denen auch Schlüsselausprägungen erfasst werden. I. a. reicht ein Feld hierfür nicht aus. Durch z. B. Eingabe von "*" auf Zeile 10 schafft man sich 9 Felder in der Maske zum Erfassen einer Ausprägungsmenge.
Man schreibt in das FOLGE-Feld die Zahlen 1 bis 9 und in die zugehörigen Felder für den Schlüsselinhalt die Ausprägungsmenge.

Wir haben also etwa folgendes Bild:

    FOLGE    INHALT        BEZEICHNUNG
    1...   ('010',.....    MENGE01.............
    2...   '020','030',    ....................
    3...   '040',......    ....................
    4...   '050'-'070',    ....................
    5...   '1??',......    ....................
    6...   '2??')......    ....................
    7...   310.........    ....................
    8...   (MENGE01,...    MENGE02.............
    9...   310)........    ....................
    10..   *...........    ....................

Namen von Ausprägungsmengen werden in der Spalte erfasst, in der bei der Anzeigefunktion die Schlüsselinhaltsbezeichnung ausgegeben wird, im obigen Beispiel im Folgefeld mit der Nummer 1 Die Bezeichnung der ersten Menge ist demnach MENGE01.

Wird die Zwischensumme in Zeile 10 nicht benötigt, kann sie wieder gelöscht werden (durch Eingabe von 0 oder Punkten im entsprechenden Feld).

Ferner können Mengen auch aus der Anforderungsdatenbank eingelesen werden. Diese müssen dann vorher als Gruppierung auf der Anforderungsdatenbank abgespeichert worden sein. Statt des Mengenbezeichners wird dann der Gruppierungsname in der Maske angegeben und zur Kennzeichnung '<<' vorangestellt. In der Maske dürfen keine Inhalte der Menge eingegeben werden, aber die Klammern müssen erscheinen.

Beispiel :

    FOLGE    INHALT        BEZEICHNUNG
    1...   ()..........    <<GRM...............
    ....   ............    ....................

Im angegebenen Beispiel wird die Menge aus der Gruppierung GRM aus der Anforderungsdatenbank eingelesen. Voraussetzung dafür ist, dass diese Gruppierung auch nur aus einer Menge mit Bezeichner besteht.
Der Vorteil dieser Art der Anforderung der Menge besteht darin, dass die Menge dann innerhalb von Anwendungen wie Einzelausprägungen durch Cursor-Selektion ausgewählt werden können.
Ab ASS-Release 7.30 ergibt sich hier eine Vereinfachung:
Besteht eine ST31-Gruppierung nur aus einer Menge, so gilt die betreffende Menge als cursor-selektierbar und braucht nur als ST31-Gruppierung angefordert werden.

Obwohl ASS dies nicht verbietet, ist es empfehlenswert, einen Gruppierungsbezeichner zu wählen, der sich von den Schlüsselinhalten des betreffenden Schlüssels unterscheidet, da bei Namensgleichheit eine Direkteingabe in der Maske VS167 grundsätzlich als Schlüsselinhalt interpretiert wird. (siehe Kap. 9.4.1).

Außerdem kann ein zusätzlicher Mengenbezeichner angegeben werden. Ist dann beim Schlüssel die Inhaltsbezeichnung angefordert, wird statt des Mengennamens der Zusatzbezeichner angezeigt. Sind Inhalt und Bezeichnung gleichzeitig angefordert, fungiert der Mengenname als Inhalt, die Zusatzbezeichnung als Bezeichnung.

Die Zusatzbezeichnung muss in der letzten Zeile der Mengendefinition im Feld BEZEICHNUNG angegeben werden.

    FOLGE    INHALT        BEZEICHNUNG
    1...   ('010',.....    MENGE01.............
    2...   '020','030',    ....................
    3...   '040',......    ....................
    4...   '050'-'070',    ....................
    5...   '1??',......    ....................
    6...   '2??')......    Mengenzusatz........

Der Mengenname ist hier 'MENGE01', der Zusatzbezeichner 'Mengenzusatz'. Die Menge muss also mind. zweizeilig geschrieben werden, auch wenn sie von ihren Inhalten her in eine Zeile passen würde. In diesem Fall reicht es, in die zweite Zeile nur die schließende Klammer zu schreiben, z.B.:

    FOLGE    INHALT        BEZEICHNUNG
    1...   ('2??'......    MENGE01.............
    2...   )...........    Mengenzusatz........
Anforderung in der BATCH-Sprache

Jede Ausprägungsmenge beginnt mit dem Bezeichner. Die nachfolgende Aufzählung beginnt mit dem Symbol '(' und endet mit dem Symbol ')'. Dazwischen werden die Elemente, die zu der Ausprägungsmenge gehören sollen, aufgezählt. Die aufgezählten Elemente müssen in Hochkommata eingeschlossen und durch Komma getrennt werden.

Beispiel:

    REISETARIF = ( MENGE01('010','020','030','040','050'-
                           '070','1??','2??'), '310',
                   MENGE02(MENGE01,'310')                      );

Der Mengenzusatzbezeichner wird, falls gewünscht, in Klammern hinter die schließende Klammer der Mengendefinition geschrieben, z.B.:

    REISETARIF = ( MENGE01('010','020','030','040','050'-
                           '070','1??','2??') ('Mengenzusatz'),
                   '310',
                   MENGE02(MENGE01,'310')                      );

Steht die Zusatzbezeichnung in Hochkommata, können auch führende Leerzeichen oder Sonderzeichen wie Klammern verwendet werden.

Mengen, die gesondert aus der Anforderungsdatenbank eingelesen werden, werden als leere Menge angefordert und mit '<<', gefolgt vom Gruppierungsnamen, gekennzeichnet.

Beispiel:
1901 = ( '<<GRM'() );

Der zugehörige Schlüssel muss dabei über seine Nummer angefordert werden, da diese zur Identifizierung der Gruppierung aus der Anforderungsdatenbank nötig ist. Ab ASS-Release 7.30 können derartige Mengen vereinfacht in der Form
1901 = ( '<<01901GRM' );
angefordert werden.

4.3.7 Negativselektion von Ausprägungen

Die bisher beschriebenen Möglichkeiten zur Auswahl von Ausprägungen werden dadurch ergänzt, dass über gezielte Angabe bestimmte Ausprägungen aus der bisherigen Auswahl ausgeschlossen werden können.
Der Ausschluss von Ausprägungen wird durch ein Nicht-Zeichen (^) am Anfang gekennzeichnet, gefolgt von der Angabe einer einzelnen Ausprägung oder eines Ausprägungsintervalls.

Beispiele
(Zunächst orientiert sich die Notation an der BATCH-Sprache. Im Anschluss daran wird erläutert, wie die Negativselektion für den Online-Dialog in die Maske VS110 eingegeben werden kann. Auch nachfolgende Beispiele in diesem Kapitel beziehen sich auf die Ausprägungen aus Kap. 4.3.6.):

Die Negativselektion bezieht sich weiterhin auf Ausprägungsmengen (sowohl mit Fragezeichen als auch mit Bezeichner), jedoch nicht auf Formeln.

Beispiele mit Mengen:

Die Negativselektion von Ausprägungen ist verträglich mit Schlüsselformeln, Sternen für Zwischensummenbildungen und Leerzeilen. In Schlüsselformeln vorkommende Ausprägungen werden nicht von der Negativselektion betroffen und in vollem Umfang berücksichtigt. Die Angaben zu Leerzeilen und Sternen beziehen sich jeweils auf die in Lesefolge letzte positive Angabe. Die Negativselektion kann also in der Anforderung zu einem Schlüssel an beliebiger Position erfolgen, ohne dass das Listbild davon beeinflusst würde.

Beispiel:

205-225,^210,LEERZEILE(1),^220,*,270,** liefert das gleiche Ergebnis wie 205-225,LEERZEILE(1),*,270,**,^210,^220 und zwar:

  1. Zeile: 205
  2. Zeile: 215
  3. Zeile: 225
  4. Zeile: Leerzeile
  5. Zeile: Stern * (vgl. Kap. 4.3.9.)
  6. Zeile: 270
  7. Zeile: Sterne ** (vgl. Kap. 4.3.9.)

Beispiel:

Nur die Angabe ^050 liefert alle Ausprägungen außer 050.

Aus der beschriebenen Wirkungsweise der Negativselektion wird deutlich, dass gerade in den Fällen, wo Ausprägungen bis auf einige wenige Ausnahmen zusammengefasst werden können, effektiv und kürzer mit der Negativselektion formuliert werden kann (alle .... außer ....).

Dialog-Anforderung

Beim Ausschluss von Ausprägungen werden in der Maske VS110 entweder 2 Zeilen je Einzelausprägung oder 3 Zeilen je Ausprägungsintervall gebraucht.

Beispiel:
^110 braucht in Maske VS110 2 Zeilen
^110-150 braucht in Maske VS110 3 Zeilen
Die 1. Zeile dieser Angabe hat immer dieselbe Form:
die laufende Nummer wird ins FOLGE-Feld eingetragen, im Feld INHALT an erster Stelle das Nicht-Zeichen (^). Die nachfolgende Zeile oder die beiden nachfolgenden Zeilen werden analog zur bisherigen Auswahl von einzelnen Ausprägungen oder Ausprägungsintervallen eingegeben (s. o.).

Beispiel:

    FOLGE    INHALT        BEZEICHNUNG
    1...   020.........    -...................
    2...   190.........    ....................
    3...   *...........    ....................
    4...   ^...........    ....................
    5...   040.........    ....................
    6...   ^...........    ....................
    7...   090.........    -...................
    8...   120.........    ....................

Der Ausschluss der Ausprägung 040 befindet sich in Zeile 4 und 5, der Ausschluss des Ausprägungsintervalls 090-120 befindet sich in Zeile 6, 7 und 8. Insgesamt sind also die Ausprägungen des Intervalls 020-190 ohne die Ausprägung 040 und auch ohne das Intervall 090-120 angefordert.

Die Stelle, an der ein Ausschluss formuliert wird, ist belanglos. Zu beachten ist, dass sich der Ausschluss von Ausprägungen auch auf Ausprägungsmengen und Maskierungen bezieht.
Ausgeschlossene Ausprägungen werden bei der Durchführung aus der Listanforderung entfernt, also nicht mitgerechnet. Der Ausschluss von Ausprägungen wirkt jedoch nicht auf Operanden von Ausprägungsformeln.

Anforderung in der BATCH-Sprache

Ausgeschlossene Ausprägungen können einzeln oder über eine Intervallangabe angesprochen werden. Vor die betreffende Ausprägung bzw. das betreffende Ausprägungsintervall muss ein NICHT-Zeichen gesetzt werden.
Beispiel:
REISETARIF = ('020'-'190',*,^'040',^'090'-'120');

Negativselektion in Mengen

Die bisher beschriebenen Negativselektionen wirken für alle angeforderten Ausprägungsintervalle und alle angeforderten Ausprägungsmengen. Sie wirken global. Zusätzlich zu den globalen Negativselektionen können in Ausprägungsmengen lokale Negativselektionen angegeben werden. Die lokalen Negativselektionen wirken nur für die Menge, in der sie angegeben werden. Ein Beispiel erläutert dies am einfachsten:

    REISETARIF = ( MENGE01 ('010'-'090',^'030'-'040') ,
                   MENGE02 ('070'-'150',^'140'      ) ,
                   MENGE03 ('070'-'150',^'1?0'      ) ,
                   ^'090'-'120' );

    MENGE01 besteht aus den Elementen
     010
     020
        030 wird lokal ausgeschlossen
        040 wird lokal ausgeschlossen
     050
     060
     070
     080
        090 wird global ausgeschlossen

    MENGE02 besteht aus den Elementen
     070
     080
        090 wird global ausgeschlossen
        110 wird global ausgeschlossen
        120 wird global ausgeschlossen
     130
        140 wird lokal ausgeschlossen
     150

    MENGE03 besteht aus den Elementen
     070
     080
        090 wird global ausgeschlossen
        110 wird global ausgeschlossen
        120 wird global ausgeschlossen
        130 wird lokal ausgeschlossen
        140 wird lokal ausgeschlossen
        150 wird lokal ausgeschlossen

Negativselektionen in Mengen werden ONLINE analog zum BATCH angegeben. Ausgeschlossene Ausprägungen bzw. Ausprägungsintervalle werden wie Einzelausprägungen bzw. Intervalle angegeben, jedoch beginnend mit dem Nicht-Zeichen.

4.3.8 Gruppierungen

4.3.8.1 Bildung von Schlüsselinhaltsgruppen (Gruppierungen)

ASS-Listanforderungen bieten die Möglichkeit, gezielt Gruppenwechsel auszulösen und an genau festzulegenden Positionen Zwischen- oder Endsummen ausdrucken zu lassen. Die Ausprägungen eines Schlüssels werden also zu Gruppen zusammengefasst, wobei jede Gruppe mit der Summe über die in der Gruppe enthaltenen Ausprägungen abgeschlossen wird. Diese Gruppenbildung wird durch die Angabe sogenannter Sternausprägungen bei der Auflistung der Schlüsselausprägungen eines Schlüssels ausgelöst (höchstens 9 Sternzeichen). Auf diese Weise ist auch die Verschachtelung von Gruppen möglich. Wird z. B. eine Sternausprägung mit 7 Sternzeichen angefordert, so bedeutet das, dass eine Summenbildung über die sechs mitenthaltenen Gruppen von Schlüsselausprägungen ausgeführt wird. Alle vorherigen Schlüsselausprägungen bis zum Anfang bzw. bis zur nächsten Sternausprägung mit 7 oder mehr Sternsymbolen werden also summiert. Derartige Angaben, die eine Reihenfolge von Schlüsselausprägungen und Summenzeichen für entsprechend tief gestufte Summen festlegen, werden im ASS-Sprachgebrauch Gruppierungen genannt.
In einer Listanforderung entstehen Gruppierungen dadurch, dass zwischen die Inhaltsanforderungen - neben der Einzelanforderung sind hier auch Intervallanforderungen, Ausprägungsmengen und Schlüsselformeln zulässig - Zwischen- und Endsummenzeilen eingefügt werden. Gruppierungen in dieser Form können nur im Kopf- oder Zeilenschlüssel auftreten, da im Spaltenschlüssel die Anforderung von Sternzeilen für Summen nicht möglich ist. Sternanforderungen bei Spaltenschlüsseln werden in der Auswertung ignoriert.

Es stehen 2 Arten von Gruppierungen zur Verfügung:

4.3.8.2 Gruppierungen aus der Schlüsseldatenbank

Von der Verwendung von Gruppierungen aus der Schlüsseldatenbank wird abgeraten, da es bei diesen Einschränkungen gibt bzgl. Definition und Funktionalität. Es wird empfohlen, stattdessen Gruppierungen aus der Anforderungsdatenbank zu verwenden, siehe nächstes Kapitel.

Wird dieselbe Gruppierung in mehreren Anforderungen gebraucht und setzt sie sich aus einer größeren Anzahl von Elementen zusammen, so können Sie sich die wiederholte Schreibarbeit ersparen, wenn Sie diese Gruppierung in der Schlüsseldatenbank speichern (vgl. Handbuch EINRICHTEN EINES ARBEITSGEBIETES IM DIALOG zur Schlüsseldatenbank) oder auf der Anforderungsdatenbank.
In ASS-Listanforderungen können diese Gruppierungen dann für den betreffenden Schlüssel ausgewählt werden. Bei Gruppierungen aus der Schlüsseldatenbank sind nur Einzelausprägungen mit Summen kombinierbar. Bei Gruppierungen aus der Anforderungsdatenbank sind dagegen alle Sprachelemente erlaubt. Diese Gruppierungen stehen nur für Schlüssel, jedoch nicht für Schlüsselrelationen zur Verfügung.

4.3.8.3 Gruppierungen aus der Anforderungsdatenbank

Bei Gruppierungen aus der Anforderungsdatenbank sind alle Sprachelemente, die Schlüsselausprägungen betreffen (z. B. Mengen, Intervalle, Formeln) verfügbar.

Es wird unterschieden zwischen Gruppierungen von Schlüsseln und Gruppierungen von Schlüsselrelationen. Schlüsselgruppierungen werden in die Bibliothek 'U', Relationsgruppierungen in die Bibliothek 'V' gespeichert. Bei Relationsgruppierungen übernimmt die Relationsnummer die Rolle der Schlüsselnummer, obwohl im folgenden nur von Schlüsselnummern die Rede ist.

Der Gruppierungsname besteht aus 5 Ziffern (der Schlüsselnummer) gefolgt von genau 3 Ziffern oder einem bis zu 7-stelligen ASS-Bezeichner. Installationsabhängig kann letzterer auch 8-stellig sein, allerdings hat dies unschöne Auswirkungen auf 'Statistik über Statistiken' (vgl. GR-NAME-13 in Handbuch INSTALLATION, Kap. 8).

ACHTUNG: Bis incl. ASS-Version 8.00 waren nur 3-stellige Bezeichner möglich. Deswegen wird bei einem Umstieg auf eine neuere ASS-Version ein Neuladen der Bibliotheken U und V empfohlen, bei gleichzeitigem Setzen des Text-DB-Schalters GR-NAME-UNI (vgl. Handbuch INSTALLATION, Kap. 8)!

Für den Schlüssel mit der Schlüsselnummer 1901 wären z. B. 01901007 und 01901ABCDEFG gültige Gruppierungsnamen. Diese Gruppierungen werden in der Maske VS110 (Auswahl von Ausprägungen) erstellt. Es gibt zwei Methoden der Erstellung:

Für die erste Methode stehen die folgenden Befehle zur Verfügung:

(LIES/GET soll bedeuten, dass man LIES oder GET eingeben kann,usw.) Diese Befehle werden in irgendeiner 'offenen' Zeile im linken Feld (wo sonst die Zeilennummer steht) eingegeben. Der Gruppierungsname wird im nächsten Feld und der Gruppierungstext (Kommentar, wird mit abgespeichert) im rechten Feld eingegeben.
Es darf nur einer dieser Befehle zugleich ausgewählt werden und nicht mit dem Suchbefehl oder der Formelauswahl kombiniert werden. Beim LIES/GET - Befehl werden bereits zum betreffenden Schlüssel ausgewählte Ausprägungen überschrieben.

Beispiele:

    PUT.   01901007....    GRUPPE ZUR OD.......
    SCHR   007.........    GRUPPE ZUR OD.......
    LIES   ABCDEFG.....    ....................

Die Schlüsselnummer (also die ersten 5 Ziffern) dürfen bei obigen Befehlen weggelassen werden.

Bei der zweiten Methode erfolgt die Verarbeitung direkt aus der Einstiegsmaske VS100 heraus. Abgespeichert werden Gruppierungen dabei über das Kommando E im Kommandofeld (Endeverarbeitung).
Bei dieser Vorgehensweise lassen sich die Gruppierungen via Kommando "KO" kommentieren. Die erste Zeile des Kommentars wird dabei als Gruppierungstext (ersten 20 Zeichen) in VS110 angezeigt.

4.3.8.4 Anforderung von Gruppierungen

Zu unterscheiden sind neben Dialog und Batch hierbei zwei Methoden

Die letztere Methode ist dabei wesentlich flexibler anwendbar. Die erste Methode steht im wesentlichen aus Gründen der Aufwärtskompatibilität dem Anwender weiterhin zur Verfügung.

Auswahl einer Gruppierung über GR

Vorausgesetzt wird, dass man bereits Kopf-, Zeilen- und Spaltenschlüssel ausgewählt hat. Durch Eingabe von "GR" im Kommandofeld der Maske VS101 erhalten Sie die Maske VS108. Hier werden zu den von Ihnen bereits ausgewählten echten Schlüsseln bzw. Relationen alle existierenden und geprüften Gruppierungen der Schlüsseldatenbank sowie die betreffenden Gruppierungen der Anforderungsdatenbank angezeigt. Durch einfache Markierung kann man zu jedem Schlüssel maximal eine Gruppierung auswählen.
Existieren zu den ausgewählten echten Schlüsseln/Relationen viele Gruppierungen, so kann geblättert werden. Es kann aber auch auf die Gruppierungen eines Schlüssels oder auf eine bestimmte Gruppierung eines bestimmten Schlüssels positioniert werden. Hierzu gibt man in die Befehlszeile (ganz unten) die Schlüsselnummer ein oder die Schlüsselnummer und die Gruppierungsnummer, getrennt durch einen Schrägstrich.
Relationsnummern werden in der Form Rnnnnn (z.B. R4711) eingegeben. Bei Herkunft aus VS167 (Parameter) kann auf die Angabe der Schlüsselnummer verzichtet werden. Für Gruppierungen aus der Anforderungsdatenbank muss man statt der Gruppierungsnummer den eigentlichen Gruppierungsnamen (die bis zu 7 Zeichen nach der Schlüsselnummer, s. u.) eingeben. Sind dies 3 Ziffern, so muss ein nicht-numerisches Zeichen folgen.

Die Angabe der Schlüsselnummer allein bewirkt, dass die erste Gruppierung des angegebenen Schlüssels gesucht und eventuell eingestellt wird. Findet sich zu einer bestimmten Eingabekonstellation keine passende Gruppierung, so wird auf den Anfang des gesamten Auswahlbereiches positioniert.

Beispiele:

Wird zu einem Schlüssel eine Gruppierung aus der Schlüsseldatenbank ausgewählt, so kann zu diesem Schlüssel keine weitere Inhaltsauswahl über die Maske VS110 erfolgen. Ebenso ist keine zusätzliche Summen- oder Formelanforderung mehr möglich.
Dies gilt auch für Gruppierungen aus der Anforderungsdatenbank. Diese können jedoch, statt sie in der Maske VS108 als ausgewählt zu kennzeichnen, in der Maske VS110 eingelesen und ggf. weiterverarbeitet werden.

Durch Angabe von 'S' vor einer der angezeigten Gruppierungen wird in die Maske VS110 verzweigt und die ausgewählte Gruppierung angezeigt.

Will man zu einem Schlüssel prinzipiell alle Gruppierungen zulassen und soll der Anwender erst bei der Auswertung eine bestimmte auswählen, so muss man als Platzhalter in der Maske VS108 einen Gruppierungsparameter einrichten.
Dazu gibt man in der Befehlszeile zunächst die Nummer desjenigen Schlüssels ein, auf den sich die Variable beziehen soll. Nach dem Schrägstrich folgt der Name der Variablen, beginnend mit '&&'. Nach Drücken von ENTER erscheint die Variable als erste Gruppierung des Schlüssels in der Maske, und sie ist als ausgewählt markiert.

Beispiel:

Im weiteren Verlauf der Anforderungsdefinition muss unter dem Menüpunkt 'PD' eine hier definierte Variable näher beschrieben werden (siehe Kap. 9: Parameter).

Markieren Sie eine andere Gruppierung in der Maske VS108 und verlassen Sie die Maske oder Blättern in ihr, so ist die Variable nicht mehr vorhanden. Dies bedeutet insbesondere, dass pro Schlüssel nur eine Gruppierungsparameter zu definieren ist.

In der BATCH-Sprache werden Gruppierungen aus der Schlüsseldatenbank über den Parameter GR: angesprochen. Dahinter folgt der Name bzw. die Nummer der Gruppierung in der Schlüsseldatenbank. In einem nachfolgenden Klammerausdruck wird der betreffende Schlüssel über seine Bezeichnung oder seine Nummer angesprochen.
Wird zu einem Schlüssel eine Gruppierung aus der Schlüsseldatenbank ausgewählt, so dürfen zu diesem Schlüssel keine Inhaltsanforderungen vorgenommen werden. Allgemeine Form (beachte Restriktion, s.u.):

Wird der Schlüssel über Bezeichnung angefordert, muss auch die Bezeichnung dieses Schlüssels unter GR: bzw. GRUPPIERUNG: angefordert werden. Analog muss, wenn der Schlüssel über Nummer angefordert wird, auch die Nummer unter GR: bzw. GRUPPIERUNG: angefordert werden. Werden mehrere Gruppierungen verwendet, werden diese durch Kommata getrennt unter GR: angefordert.

Abschließendes Beispiel:

      GR:  GRUPPE1(REISETARIF) ,
           1(1901);
Auswahl von Gruppierungen analog zu Ausprägungen

Im Dialog lassen sich Gruppierungen analog zu Ausprägungen in der Maske VS110 anfordern. Hierbei ist entweder bei der Liste der zu Verfügung stehenden Gruppierungen eine Folgenummer zu vergeben, oder es kann direkt analog zu Ausprägungen eine Gruppierung angegeben werden. Gruppierungen sind durch den Präfix << gekennzeichnet. Entsprechend muss dieser Präfix bei Direkteingaben auch mitangegeben werden. Dieser Präfix dient zur Unterscheidung von Ausprägungen und Gruppierungen. Gruppierungen können in dieser Maske beliebig mit anderen Ausprägungen, Formeln oder Aufbereitungszeilen kombiniert werden. Allerdings dürfen sie nicht innerhalb von Formeln, Mengen oder Intervallangaben auftauchen.
Hinweis: Die Angabe von abschließenden Sternzeilen in Gruppierungen der Schlüsseldatenbank kann u. U. problematisch sein, wenn unmittelbar darauf Stern- oder Aufbereitungszeilen folgen.

In der Batchsprache können Gruppierungen ebenfalls analog zu Ausprägungen angefordert werden:

ZS: 1901 = ('<<01901ABCDEFG','11','<<10000');

Im Beispiel erscheint zunächst die aufgelöste Gruppierung 01901ABCDEFG (Gruppierung der Anforderungsdatenbank), dann der Schlüsselinhalt 11 und abschließend die aufgelöste Gruppierung 10000 (Gruppierung der Schlüsseldatenbank).

Da eine Gruppierung der Anforderungsdatenbank wiederum Gruppierungen enthalten darf, erhält der Anwender hierdurch ein hohes Maß an Flexibilität. Zentral lassen sich Gruppierungen verwalten (insbesondere ändern) ohne dass eine Anforderung angepasst werden muss.

4.3.9 Anforderung von Summen und Endsummen über Schlüsselinhalte

Durch die Anforderung von Inhalten mit Sternsymbolen können Summenbildungen über die zuvor aufgezählten Schlüsselinhalte, Schlüsselmengen, Schlüsselformeln oder andere Summen erreicht werden. Die Vergabe von maximal 9 Sternzeichen ermöglicht die Definition verschiedener, mehrstufiger Summenniveaus.
Eine Summenanforderung mit einer bestimmten Anzahl von Sternzeichen fasst demnach auch alle anderen Summenanforderungen mit gleicher oder niedrigerer Sternzahl zusammen. Die Anforderung von Summen bei Schlüsselrelationen erfolgt analog zu Schlüsseln.

4.3.9.1 Implizite Anforderung von Summen niedrigeren Niveaus

Wenn Sie nach einer bestimmten Auswahl von Schlüsselinhalten, -summen, -mengen oder -formeln mehrere Summen verschiedenen Niveaus bilden wollen, so dass die letzte die restlichen beinhaltet, so genügt es, die Summe mit dem höchsten Niveau, zum Beispiel drei Sterne anzufordern. ASS ergänzt dann automatisch die restlichen Summen der darunterliegenden Ebenen und gibt diese auch aus, wenn sie einen von der höchsten Summe verschiedenen Inhalt aufweisen.

Beispiel:
Die Inhalte 010, 020, 030 eines Schlüssels sollen in einer Zwischensumme enthalten sein. Anschließend sollen die Inhalte 040, 050 ausgegeben werden. Schließlich sollen alle Inhalte in einer Endsumme zusammengefasst werden. ASS berechnet in diesem Fall vor der Ausgabe der Endsumme noch eine Summe über 040 und 050. Falls sie von der Endsumme verschieden ist, gibt ASS sie auch aus - unabhägig davon, ob diese Summe explizit angefordert wird oder nicht.

4.3.9.2 Textierungsmöglichkeit für Zwischen- und Endsummen, Unterdrückung von Sternzeilen

Werden die Sterninhalte nicht weiter textiert, so erscheinen in der Auswertung die angeforderten Sternausprägungen. Es ist aber möglich, für jede Summenanforderung individuelle Textierungen zu definieren.
Die Textierung der jeweiligen Sternausprägung oder Endsummenzeile besteht aus maximal 20 Zeichen und ist durch den Benutzer für Kopf- und Zeilenschlüssel frei wählbar.

Sollte der angeforderte Schlüssel ein Spaltenschlüssel sein, wird bei der Textierung wie mit den üblichen Sternzeilen verfahren. Die textierten Sternzeilen werden einfach beim Aufbau des Listbildes ignoriert.

In diesem Zusammenhang ist die automatische Generierung von Summen niedrigeren Niveaus vor der Ausgabe von Summen einer höheren Ebene durch ASS wichtig. So bewirkt die bloße Anforderung einer Summenzeile mit zwei Sternzeichen die zusätzliche Anforderung einer Summenzeile mit einem Sternzeichen, die auch ausgegeben wird, wenn sie einen von der höheren Summe verschiedenen Betrag aufweist.
Lässt man diese implizite Anforderung zu, so verwendet ASS für die Textierung solcher automatisch erzeugter Summen die entsprechenden Sterninhalte. Sie können das vermeiden, indem Sie alle Summen explizit mit Textierungen anfordern.

Installationsabhängig lassen sich durch eine entsprechende Textierung einzelne Sternzeilen im Listbild unterdrücken. Hierzu ist eine individuelle Anpassung von ASS vorzunehmen. Einzelheiten sind im Installationshandbuch beschrieben.

Das nun folgende Auswertungsbeispiel basiert auf einer Reihe von Summenanforderungen, die in den weiteren Kapiteln zur Dialog- und BATCH-Anforderung vorgestellt werden.

    +--------------------------------------------------------------+
    I                                                              I
    I  ASS                                                SEITE 1  I
    I                                                              I
    I  ZEITRAUM: 0101                                              I
    I                                                              I
    I  BG          TARIF       I  LEISTUNG                         I
    +--------------------------+-----------------------------------+
    I  00          010         I       1                           I
    I                          I                                   I
    I              015         I       2                           I
    I                          I                                   I
    I              1.SUMME     I       3                           I
    I                          I                                   I
    I              020         I       4                           I
    I                          I                                   I
    I              025         I       5                           I
    I                          I                                   I
    I              2.SUMME     I       9                           I
    I                          I                                   I
    I              3.SUMME     I      12                           I
    I                          I                                   I
    I              030         I       7                           I
    I                          I                                   I
    I              4.SUMME     I       7                           I
    I                          I                                   I
    I  SUMME:00    5.SUMME     I      19                           I
    I                          I                                   I
    I  01          010         I       2                           I
    I                          I                                   I
    I              015         I       3                           I
    I                          I                                   I
    I              1.SUMME     I       5                           I
    I                          I                                   I
    I              020         I       6                           I
    I                          I                                   I
    I              025         I       5                           I
    I                          I                                   I
    I              2.SUMME     I      11                           I
    I                          I                                   I
    I              3.SUMME     I      16                           I
    I                          I                                   I
    I              030         I       1                           I
    I                          I                                   I
    I              4.SUMME     I       1                           I
    I                          I                                   I
    I  SUMME:01    5.SUMME     I      17                           I
    I                          I                                   I
    I  ENDSUMME                I      36                           I
    I                          I                                   I
    +--------------------------+-----------------------------------+

4.3.9.3 Anforderung von Summen in der Dialog- verarbeitung

In der Dialoganwendung ST31 werden Zwischen- und Endsummen über die Maske VS110 angefordert. Dieses Bild erreichen Sie über die Auswahl der Kopf- oder Zeilenschlüssel (KS bzw. ZS), indem Sie bei dem betreffenden Schlüssel das Feld AU für Auswahl von Inhalten ankreuzen. Eine Endsumme kann auch im Anzeigebild der Kopf- oder Zeilenschlüssel (KS bzw. ZS) durch Markierung des Feldes SUMME angefordert werden.
Im Bild VS110 können Sie Zwischensummen anfordern sowie Zwischen- und Endsummen textieren. Durch die Vergabe einer Reihenfolgenummer im Feld FOLGE und der Eingabe der gewünschten Zahl an Sternsymbolen im Feld INHALT werden Summen definiert.

Im Feld BEZEICHNUNG können Sie eine individuelle Textierung der betreffenden Summe vornehmen. Soll eine in der vorausgegangenen Kopf- oder Zeilenschlüsselauswahl erfolgte Endsummenanforderung über das Bild VS110 textiert werden, so wird ebenfalls das FOLGE-Feld besetzt. Bei INHALT sind dann 12 Sternsymbole zu setzen. Der unter BEZEICHNUNG eingegebene Text wird danach für die Textierung der Endsumme in der Auswertung herangezogen.

Die alleinige Anforderung eines Sterninhaltes mit 12 Sternen und einer entsprechenden Textierung bewirkt die automatische Setzung der Endsummen-Option in der Kopf- oder Zeilenschlüsselauswahl - wenn diese noch nicht gesetzt wurde.

Beispiel:

Für das oben angezeigte Listbild müssen in der Online-Anforderung für die Zeilenschlüssel BERUFSGRUPPE und TARIF folgende Definitionen in der Maske VS110 vorgenommen werden:

        FOLGE    INHALT        BEZEICHNUNG
        1...   00..........    ....................
        2...   *...........    SUMME:00............
        3...   01..........    ....................
        4...   *...........    SUMME:01............
        5...   ************    ENDSUMME............

        FOLGE    INHALT        BEZEICHNUNG
        1...   010.........    ....................
        2...   015.........    ....................
        3...   *...........    1.SUMME.............
        4...   020.........    ....................
        5...   025.........    ....................
        6...   *...........    2.SUMME.............
        7...   **..........    3.SUMME.............
        8...   030.........    ....................
        9...   **..........    4.SUMME.............
        10..   ***.........    5.SUMME.............

4.3.9.4 Anforderung von Summen (BATCH-Sprache)

In der BATCH-Anforderungssprache werden Summen über Schlüsselinhalte durch die Anforderung von Sternausprägungen definiert, die nach den Regeln für echte Schlüsselausprägungen erfolgt. Textierungen können Sie in einem nachfolgenden Klammerausdruck zwischen Hochkommata gesetzt vornehmen.
Wird für einen Schlüssel eine Endsummen-Option beantragt, so erreicht man die Textierung dieser Endsumme durch die Ergänzung einer in Klammern stehenden, durch Hochkommata begrenzten Textdefinition unmittelbar hinter der Nummer oder Bezeichnung des betreffenden Schlüssels.

Beispiel:

Für das oben angezeigte Listbild müssen in der BATCH-Sprache für die Zeilenschlüssel BERUFSGRUPPE und TARIF folgende Definitionen in der Maske VS110 vorgenommen werden:

        ASS;
         AG:  9;
         KS:  ZEITRAUM     = (0101)  ;
         ZS:  BERUFSGRUPPE = ( 00 , *('SUMME:00')   ,
                               01 , * ('SUMME:01') ),
              REISETARIF   = (010, 015,*('1.SUMME')        ,
                              020, 025                     ,
                              * ('2.SUMME')                ,
                              **('3.SUMME')                ,
                              030                          ,
                              ** ('4.SUMME')               ,
                              ***('5.SUMME')             );
         SS:  WERTE        = (LEISTUNG);
         GR:  SUMME=(BERUFSGRUPPE('ENDSUMME')  ) ;
        END;

4.3.9.5 Anforderung von Gesamtsummen

Bei Verwendung von Spaltenbedingungen (vergleiche Kap. 8.7) und der Option SUM_OPT (unterdrückte Zeilen nicht in "*"-Zeilen einrechnen, siehe hierzu Kap. 8.1) bleiben unter Umständen die Werte zu einigen angeforderten Schlüsselinhalten unberücksichtigt. In bestimmten Anwendungsfällen ist es jedoch erwünscht, dass neben der (Zwischen-)Summe der angezeigten Schlüsselinhalte auch die Gesamtsumme aller zu dem betreffenden Schlüssel ausgewählten Inhalte dargestellt wird.

ASS bietet hierzu zwei Lösungsmöglichkeiten: Durch Angabe der Option GESSUM (vergleiche Kap. 8.1) wird zu jeder angeforderten "*"-Summe eine entsprechende "+"-Summe Gesamtsumme) erzeugt. Diese Gesamtsummen werden im Gegensatz zu den "*"-Summen durch eine entsprechende Anzahl von Pluszeichen gekennzeichnet.

Die andere Möglichkeit besteht darin, durch die explizite Angabe eines bestimmten "+"-Niveaus eine Gesamtsumme anzufordern. Wird in der Anforderung zu einem beliebigen Schlüssel eine derartige "+"-Zeile angefordert, so wird automatisch die eventuelle Angabe der Option GESSUM übersteuert.

"+"-Summen reihen sich im Niveau zwischen den "*"-Summen ein: das niedrigste Summenniveau besitzt ein Stern, gefolgt von einem Pluszeichen usw. Die Reihenfolge ist demnach:
*, +, **, ++, ***, +++, ****, ++++, *****, +++++, ******, ++++++, *******, +++++++.

Die höchste Anzahl von Sternen bzw. Pluszeichen ist hierbei sieben, im Gegensatz zu neun, falls keine "+"-Zeilen angefordert werden.

Sehr nützlich ist die implizite Anforderung von Summen niedrigern Niveaus (siehe Kap. 4.3.9.1). Die Anforderung von "**" bewirkt dabei implizit auch die Anforderung einer Summenzeile mit einem Plus und einer Summenzeile mit einem Stern.
Im übrigen werden "+"-Summenzeilen wie "*"-Summenzeilen behandelt. Insbesondere können derartige Zeilen analog textiert werden.
Die Textierung einer "+"-Endsumme innerhalb einer GR-Anweisung ist allerdings nicht möglich (vergleiche vorhergehenden Abschnitt). Möchte man diese Summe textieren, so sind beim Schlüssel zunächst sämtliche Inhalte durch die Ausprägungsmaske '!!!!!!!!!!!!' anzufordern. Danach kann darüber die (textierte) Endsumme gebildet werden.

4.3.9.6 Optionen für Sternsummen

Bezüglich "*"-Summen stehen 4 Optionen zur Verfügung, die bis auf ^S nur bei Kopf- und Zeilschlüsseln wirksam sind:

Beispiel Batchsprache:

      ASS;
      AG: 19;
      ZS: 1901  =(31^*,11-13^A,*,11-13,**),
          1904  =(0,1 ^*, *);
      SS: WERTE =(1901(0199));
      END;

In der ST31 werden die Optionen in der letzten Spalte der Maske VS110 eingegeben und auch kombiniert werden:

Eintrag in VS110 Option ^* Option ^A Option #* Option ^S
*aktiv
A aktiv
S aktiv
U aktiv
Taktiv aktiv
V aktiv aktiv
Waktiv aktiv
Y aktivaktiv
Zaktiv aktivaktiv

Beim Schlüssel 1901 aus obigem Beispiel:

    FOLGE     INHALT         BEZEICHNUNG                  A F
    1...   31..........     OD HAMBURG VK                 *
    2...   11..........     -                             .
    3...   13..........                                   A
    4...   *...........     ....................          .
    5...   11..........     -                             .
    6...   13..........                                   .
    7...   **..........     ....................          .
Ergebnis obiger Anforderung
    ARBEITSGEBIET:   19: LEBEN_DEMO
                  I WERTE
                  I  ANZAHL
                  I    0199
    ORGANI DYNAMI I  STUECK
    -------------------------
                  I
    31     0      I     180-
           1      I     151
                  I
           *      I     180-
                  I
    *             I   1.956
                  I
    11     0      I     211
           1      I     106
                  I
           *      I     211
                  I
    12     0      I     403
           1      I     178
                  I
           *      I     403
                  I
    13     0      I     855
           1      I     203
                  I
           *      I     855
                  I
    *             I   1.956
                  I
    **            I   3.912

4.3.9.7 Summenblock: Gesamtanteil der Inhalte eines Schlüssels

Die korrekte Anwendung eines Summenblockes setzt voraus, dass mindestens zwei Schlüssel als Zeilen- oder Kopfschlüssel angefordert werden. Im ASS-Auswertsystem werden Kopf- und Zeilenschlüssel in einer absteigenden Reihenfolge gesehen.
Der erste angeforderte Kopfschlüssel gilt daher als höchster Schlüssel der Anforderung, der zuletzt angeforderte Zeilenschlüssel als niedrigster. Werden nur zwei Kopfschlüssel und keine Zeilenschlüssel angefordert, so ist der zweite Kopfschlüssel der niedrigste Schlüssel.
Wird ein Summenblock beantragt, so bildet ASS in einer zusätzlichen Übersicht die Summenanteile der einzelnen Ausprägungen des niedrigsten Schlüssels.

Das nun folgende Beispiel soll die Wirkung der Summenblock-Option verdeutlichen:
Der Schlüssel ZEITRAUM sei der höchste, REISETARIF der niedrigste Schlüssel. Wird nun ein Summenblock angefordert, so wird nach der Auflistung der letzten Ausprägung (2) des zweitniedrigsten Schlüssels (GESCHLECHT) mit allen Ausprägungen des niedrigsten Schlüssels (TARIF) noch eine aufsummierte Gesamtdarstellung zu den Ausprägungen des niedrigsten Schlüssels ausgedruckt:

    +--------------------------------------------------------------+
    I                                                              I
    I  ASS                                                SEITE 1  I
    I                                                              I
    I  ZEITRAUM: 0199                                              I
    I                                                              I
    I  GESCHLECHT  TARIF  I  LEISTUNG     ANZAHL_LEISTUNGEN        I
    +---------------------+----------------------------------------+
    I  1            010   I       1           xxxxx                I
    I                     I                                        I
    I               015   I       2           xxxxx                I
    I                     I                                        I
    I               020   I       3           xxxxx                I
    I                     I                                        I
    I               025   I       4           xxxxx                I
    I                     I                                        I
    I  2            010   I       2           xxxxx                I
    I                     I                                        I
    I               015   I       4           xxxxx                I
    I                     I                                        I
    I               020   I       6           xxxxx                I
    I                     I                                        I
    I               025   I       8           xxxxx                I
    I                     I                                        I
    I  GESAMT       010   I       3           xxxxx                I
    I                     I                                        I
    I               015   I       6           xxxxx                I
    I                     I                                        I
    I               020   I       9           xxxxx                I
    I                     I                                        I
    I               025   I      12           xxxxx                I
    I                     I                                        I
    +---------------------+----------------------------------------+

Ein entsprechendes Blatt wird auch für den ZEITRAUM 0299 erstellt.

Werden beim REISETARIF Zwischensummen erzeugt oder Berechnungen durchgeführt, so werden diese Zwischensummen bzw. Berechnungen beim Summenblock analog durchgeführt und ausgegeben.

Die Summenblock-Option in der Dialog-Anforderung

Die SUMMENBLOCK-Option können Sie über die Optionen-Maske anfordern. Dazu verzweigen Sie vom Verteilerbild VS101 über die Kommandofeldeingabe "OP" zur Optionenmaske VS118 und kreuzen dort die Option SUMMENBLOCK an.

Die Summenblock-Option in der BATCH-Sprache

In der BATCH-Sprache wird der Summenblock über die Angabe von SUMMENBLOCK unter GR: bzw. GRUPPIERUNG, also entweder durch
GR: SUMMENBLOCK ;
oder
GRUPPIERUNG: SUMMENBLOCK ;
angefordert.
Falls außerdem Gruppierungen aus der Schlüsseldatenbank angefordert werden sollen, sind die Angaben zusammen mit dem Summenblock unter GR: bzw. GRUPPIERUNG: durch Kommata getrennt aufzuzählen.

4.3.10 Erzeugung temporärer Schlüsselinhalte über Formeln

Neben den Schlüsselinhalten der ASS-Datenbasis und Summeninhalten können auch temporäre Inhalte über sogenannte Schlüsselformeln gebildet werden. Auf diese Weise können die Ausprägungen eines Schlüssels für Rechenoperationen herangezogen werden. Der Schlüssel kann alternativ entweder in der Spalten-, der Zeilen- oder der Kopfdimension auftreten.
Schlüsselformeln werden im Kap. 7 'Rechnen mit Werten, Zeiten oder Schlüsselinhalten' ausführlich behandelt. Zur Formelerfassung verzweigen Sie, indem Sie in das FOLGE-Feld die gewünschte Position eintragen und die Formelauswahl ankreuzen. Bereits erfasste Formeln können durch Eingabe von 'D' bei der Formelauswahl gelöscht werden.
Auch Schlüsselformeln können Attribute wie für normale Ausprägungen (nicht anzeigen etc.) zugeordnet werden. Die Eingabemöglichkeiten sehen Sie, wenn Sie ein '?' in der Attributspalte eingeben.

4.3.11 ##REST: nicht explizit angeforderte Ausprägungen

Ausprägungen zu einem Schlüssel werden als Einzelausprägung in Masken, Mengen und Formeln angesprochen. Möchte man die restlichen nicht ausgewählten Ausprägungen in einer Anforderung ansprechen, so geschieht dieses durch ##REST. ##REST ist ein Platzhalter für alle in der Anforderung zu diesem Schlüssel nicht angesprochenen Ausprägungen, wo ASS bei expliziter Anforderung Zahlen liefert. Negativ selektierte Ausprägungen werden ##REST zugeschlagen. Das Resultat wird durch die ASS-Security gefiltert, d.h. man sieht unter ##REST nur die Ausprägungen, für die der Benutzer berechtigt ist. ##REST darf zu einem Schlüssel mehrfach angegeben werden und führt dabei stets zum gleichen Ergebnis.
Im Spaltenbereich ist die Angabe von ##REST nur in der Menge zulässig.

Beispiel:
Der Schlüssel Gebiet hat die Ausprägungen 01, 02, 03, 04, 05. Folgende Angaben wurden bei der Inhaltsauswahl gemacht:

 100   GEBIET
 MARKIEREN SIE DIE GEWUENSCHTE REIHENFOLGE:
 FOLGE  INHALT                                 BEZEICHNUNG         A F
 1.. 01....................................... -                   .
 2.. 03.......................................                     .
 3.. ^........................................                     .
 4.. 02.......................................                     .
 5.. ##REST...................................                     .
 6.. ('##REST')............................... MREST1............. .
 6.. ('##REST', 01)........................... MREST2............. .
 ...   01                                      Nord                .
 ...   02                                      Sued                .
 ...   03                                      West                .
 ...   04                                      Ost                 .
 ...   05                                      Mitte               .

Es resultiert das folgende Listbild:

    ARBEITSGEBIET:   1: VERTRIEB
           I WERTE
           I  ANZAHL
           I    0199
    GEBIET I  STUECK
    -----------------
           I
    01     I     100
    03     I     274
    02     I      76
    04     I     124
    05     I     380
    MREST1 I     580
    MREST2 I     680

4.3.12 Mehrfachanforderung von Ausprägungen

Eine bestimmte Ausprägung eines Schlüssels darf mehrfach angefordert werden. Überschneidungen von Ausprägungsmengen sind damit auch zulässig. Mehrfachanforderungen von Ausprägungen sind nicht zulässig für Schlüssel, für die ein übergeordneter oder ein untergeordneter Schlüssel angefordert wurde,

Werden Ausprägungen mehrfach angefordert, so sind die Ergebnisse einer Ausprägung in mehrere Listzeilen einzuarbeiten. Dies kann zu höheren Laufzeiten führen.

Werden Formeln/Funktionen im Zeilenschlüssel benutzt, so können aus technischen Gründen Ausprägungsduplikate entstehen, die für den Benutzer nicht sichtbar sind. Beispiel:

        MITTEL = (A11 + B11) / 2,
        A11,
        B11

Da die Werte von A11 und B11 für die Errechnung von MITTEL benötigt werden, sie selbst aber nach MITTEL dargestellt werden, werden programmtechnisch A11 und B11 vor MITTEL nochmals erzeugt, aber nicht dargestellt.

Zum Thema Formeln/Funktionen siehe auch Kap. 7.7.

4.3.13 Verkettete Schlüssel

Normale ASS-Schlüssel können etwa 64000 Ausprägungen enthalten (Interne Länge 1 und 2). Daher kann es notwendig sein, einen Begriff der Stammdaten in mehrere ASS-Schlüssel aufzuteilen, da er diese Grenzen nicht einhält. Um die ASS-Schlüssel in den Listen wieder als einen Begriff anzeigen zu können, stehen die Schlüsselrelationen zur Verfügung, mit der die einzelnen Schlüssel verkettet werden können (ST06: Punkt 'RE').

4.3.13.1 Anforderung verketteter Schlüssel

Um diese Verkettung in der Auswertung nutzen zu können, gibt es zwei Möglichkeiten:

  1. Alle Schlüssel, die in der Relation verkettet wurden, werden hintereinander in der Reihenfolge, mit der sie verkettet wurden, angefordert. Dabei müssen alle diese Schlüssel im Kopf oder alle in der Zeile stehen. In der Liste werden die Inhalte der einzelnen Schlüssel zu einem Begriff zusammengeführt.
  2. Es wird nur der erste Schlüssel der Relation im Kopf oder in der Zeile angefordert. Ob der Schlüssel als eigenständiger Begriff oder als verketteter Begriff behandelt wird, hängt davon ab, wie die Inhalte angefordert werden (siehe Kap. 4.3.13.2).

Soll die Verkettung ausgenutzt werden, so wird intern so viel Platz benötigt, wie die Schlüssel auch gebraucht hätten, wenn sie explizit angefordert worden wären. In dieser Situation verringert sich also die Anzahl der maximal anforderbaren Schlüssel entsprechend.

4.3.13.2 Anforderung von Inhalten bei verketteten Schlüsseln

Inhalte werden unterschiedlich angefordert, je nachdem ob die verketteten Schlüssel nach Variante a) oder b) angefordert wurden.

  1. Ein Begriff wird in die Teile zerlegt, die den einzelnen Schlüsseln der Verkettung entsprechen. Die Teile können nun bei den zugehörigen Schlüsseln angefordert werden. Bei dieser Variante werden die Schlüssel in der Auswertung als eigenständige Schlüssel behandelt und der Begriff erst bei der Aufbereitung zusammengeführt. Das kann unter Umständen dazu führen, dass Begriffe angezeigt werden, die man nicht sehen wollte, da die Inhalte der einzelnen Schlüssel miteinander durchvariiert werden.

    Beispiel:
    Die Schlüssel 3100 und 3150 mit externer Länge 3 und 4 sind verkettet. Es sollen die Begriffe LEB1000 und SUK2000 angezeigt werden. Bei Schlüssel 3100 werden die Inhalte LEB und SUK, bei 3150 die Inhalte 1000 und 2000 angefordert. In der Liste können jetzt die Begriffe LEB1000, LEB2000, SUK1000 und SUK2000 angezeigt werden.

    Über die Definition von Parametern ist es möglich, dass ein Anwender die Begriffe zusammenhängend eingeben kann (siehe Kap. 9). Werden mehrere Begriffe über Parameter angefordert, so werden auch hier die einzelnen Teile der Begriffe miteinander variiert.
  2. Wurde nur der erste von verketteten Schlüsseln angefordert, so wird abhängig davon, in welcher Länge die Begriffe angefordert werden, der Schlüssel behandelt. Wird ein Inhalt angefordert, der nicht länger als die externe Länge des ersten Schlüssels ist, so wird in der Auswertung der Schlüssel wie ein einzelner Schlüssel verarbeitet, also ohne Verkettung.
    Soll die Verkettung ausgenutzt werden, so muss ein Begriff angefordert werden, dessen Länge kleiner gleich ist der Summe der externen Längen aller verketteter Schlüssel und größer als die Summe der externen Längen aller Schlüssel ohne den letzten der Verkettung.

    Beispiel: Die Schlüssel 500 (externe Länge 5), 501 (Länge 4) und 502 (Länge 4) wurden über eine Relation verkettet. In der Anforderung wurde Schlüssel 500 verlangt. Wird ein Inhalt in der Länge kleiner gleich 5 angefordert, so wird ohne Verkettung ausgewertet. Die Verkettung kommt zum Tragen, wenn ein Begriff mit einer Länge zwischen 10 und 13 angefordert wird.

    Da bei einer Verkettung die Inhalte länger als die externe Länge des ersten Schlüssels sind, können sie nicht in Bild VS110 explizit (beim ersten Schlüssel) angefordert werden, da sie den Prüfbedingungen nicht genügen. Diese Inhalte müssen über Anforderungsvariablen vom Typ NE angefordert werden (vgl. Kap. 9). In Bild VS110 werden die Variablen angefordert, bei der Parameterdefinition werden die gewünschten Begriffe angegeben.

    Im Gegensatz zur Variante a) werden hier nicht die einzelnen Teile der angeforderten Begriffe miteinander variiert, sondern es werden nur die gewünschten Begriffe berücksichtigt. Es werden also im obigen Beispiel genau die Begriffe LEB1000 und SUK2000 angezeigt.
4.3.13.3 Anforderung von Schlüsselrelationen (gespl. Schl.)

Die Auswahl von Schlüsselrelationen erfolgt i.a. mit heuristischen Methoden. Daher ist es i.a. besser, die gewünschte Schlüsselrelation explizit anzufordern. Wird eine Schlüsselrelation angefordert, so werden eigentlich die in dieser Relation zusammengefassten Schlüssel in der betreffenden Reihenfolge hintereinander angefordert. Um Schlüsselrelationen von Schlüsseln zu unterscheiden, wird der Buchstabe 'R' verwendet.
Die unterschiedlichen Schreibweisen lassen sich am besten durch Beispiele darstellen:

Schlüsselrelationen dürfen als Kopf-, Zeilen- und Spaltenschlüssel angefordert werden. Darüber hinaus dürfen sie analog zu Schlüsselbedingungen zum Wert angegeben werden. Hierbei ist nur die betreffende Schlüsselangabe durch die gewünschte Relation auszutauschen.

Insgesamt wird es hierdurch möglich, Schlüsselrelationen wie logische Schlüssel zu betrachten.

4.3.14 Ausprägungen nebeneinander darstellen

Schlüsselausprägungen werden in einer Anforderung normalerweise im Listbild untereinander dargestellt. Durch Setzen der Option NUR_MENGEN bei dem betreffenden Schlüssel kann erreicht werden, dass diese Ausprägungen nebeneinander dargestellt werden.
Dies lässt sich am einfachsten an einem kurzen Beispiel zeigen:

Untereinander:

    KUNDE   TARIF   I ANZAHL
    -------------------------
    MEIER   KFZ101  I      1
            KFZ202  I      1
                    I
    MUELLER FEU123  I      1
            KFZ101  I      2
            KRA001  I      1
                    I
    SCHMIDT FEU234  I      1
            HSR222  I      1
            KFZ202  I      1

TARIF nebeneinander:

    KUNDE   TARIF                 I ANZAHL
    --------------------------------------
    MEIER   KFZ101,KFZ202         I      2
                                  I
    MUELLER FEU123,KFZ101,KRA001  I      4
                                  I
    SCHMIDT FEU234,HSR222,KFZ202  I      3

Werden die darzustellenden Mengen zu groß (der Platz für die Präsentation reicht nicht aus oder programminterne Puffer sind zu klein), so wird am Ende ',...' dargestellt.
Beispiel:
Schulz FEU567,HSR222,KFZ202,... I 7

Diese Mengenbildung weist einige Besonderheiten auf:

Die Option NUR_MENGEN darf maximal für 4 Schlüssel in einer Anforderung verwendet werden.

Die Option NUR_M_NOTA (Nur-Mengen-nicht-anzeigen): Wie NUR_MENGEN, nur wird der Schlüssel nicht angezeigt, d.h. es wird über dessen (ggf. selektierte) Inhalte verdichtet.

4.4 Auswahl von Werten

Die Position der Werte einer Auswertung wird durch die Auswahl des Pseudoschlüssels WERTE unter der Kopf-, Zeilen- oder Spaltendimension festgelegt. Über zusätzliche Anforderungen können Sie Wertkategorien auswählen, deren Beträge in der Auswertung ausgegeben bzw. berechnet werden sollen.
Als Wertkategorien können echte Werte der Datenbasis sowie temporär über Berechnungen mit Werten der ASS-Datenbasis erzeugte Wertgrößen angefordert werden (Werteformeln). Treten die Werte in der Zeilendimension auf, so können Leerzeilen zwischen die angeforderten Werte eingeschoben werden.

4.4.1 Auswahl von echten Werten der Datenbasis

Echte Werte der Datenbasis müssen über ihre Nummer oder ihre Bezeichnung angesprochen werden. Daneben sind noch eine Reihe von Zusatzangaben möglich, die jedoch nur bei Bedarf anzugegeben sind:

Zeitangabe

Wird nicht mit dem Schlüssel ZEITRAUM operiert, so muss der Zeitaspekt in der Form MMJJ bzw. MMJJ-MMJJ angegeben werden. Zeiten können Sie absolut und relativ anfordern. In diesem Zusammenhang wird auf die Kapitel 'Absolute Zeitangaben' und 'Relative Zeitangaben' verwiesen. Wird mit dem Schlüssel ZEITRAUM gearbeitet, so kann beim Wert kein Zeitaspekt angegeben werden.

Werteinhaltsbedingungen

Bei jedem Wert können Sie Inhaltsbedingungen angeben. Diese bewirken, dass der entsprechende Werteinhalt nur dann übernommen wird, wenn er mit der angegebenen Bedingung übereinstimmt.
Eine Inhaltsbedingung wird über die Angabe von VERGLEICHSOPERATOR und VERGLEICHSINHALT formuliert. Dabei sind folgende Vergleichsoperatoren zulässig:
=, ^=, >, <, >=, <=
Der Vergleichsinhalt muss eine Zahl sein, die Nachkommastellen haben darf. Negative Zahlen müssen ein vorangehendes Minus haben, Plus ist als Vorzeichen nicht zulässig. Die Kommastelle wird durch ein Komma oder einen Punkt dargestellt.

Schlüsselbedingungen

Zu jedem Wert kann eine zusätzliche Auswahl von Schlüsseln mit Schlüsselinhaltsbedingungen erfolgen, die nur für diesen Wert selektiv wirken.
Diese Schlüsselbedingung wird über die Angabe von SCHLUESSEL, VERGLEICHSOPERATOR und SCHLUESSELINHALT formuliert.
Folgende Vergleichsoperatoren sind zulässig:
=, ^=, >, <, >=, <=

Bei Schlüsseln mit ZEIT-TYP (siehe ST06) sind auch chronologische Vergleiche möglich, hierbei bedeuten:

Die unterstützten Zeitformate sind die gleichen, wie in Kap. 9.3 beschrieben. Die expliziten Zeitangaben (rechte Seite) werden stets in der "natürlichen" Reihenfolge TTMMJJ analog zum Zeit-Typ des betreffenden Schlüssels erwartet.

Zu einem Wert können Sie bis zu 20 Bedingungen angeben, insgesamt jedoch nicht mehr als 1000. Wenn Sie zum Inhalt oder zu einem Schlüssel mehrere Angaben machen, so werden diese mit der UND-Verknüpfung behandelt. Bezüglich verschiedener Einschränkungen siehe Kap. 7.

Bei Verwendung der Vergleichsoperatoren "=" und "^=" ist die Maskierung des Schlüsselinhalts durch Fragezeichen zulässig. In der Logik unterscheiden sich die beiden Fälle folgendermassen: Maskierungen in einer Schlüsselbedingung mit Vergleichsoperator "=" wirken wie eine ODER-Verknüpfung der dadurch spezifizierten Schlüsselinhalte. Im Gegensatz dazu wirkt eine Maskierung bei einer Ungleichheitsbedingung wie eine UND-Verknüpfung.
Werden bei einem der anderen oben aufgeführten Vergleichsoperatoren beim Schlüsselinhalt Fragezeichenmaskierungen angegeben, so wird das Fragezeichen nicht als Maskierung sondern als Zeichen des Zeichensatzes interpretiert. Das Ergebnis der Schlüsselbedingung hängt also u. a. von der Position des Fragezeichens innerhalb des Zeichensatzes ab.

Als Schlüsselinhalt können auch Gruppierungen angegeben werden. In diesem Fall sind nur die Operatoren "=" und "^=" möglich. (der Inhalt ist in der Gruppierung enthalten bzw. nicht enthalten) Die verwendeten Gruppierungen dürfen dabei selbst keine Negativselektionen enthalten.

Länge, Nachkommastellen und Dimension

Soll für einen Wert nicht die Standardaufbereitung der Wertedatenbank bezüglich Vor- und Nachkommastellenzahl gelten, so kann durch eine Zusatzangabe beim Wert eine individuelle Aufbereitung der Zahlen angefordert werden. Ebenso können Sie die Standarddimension der Wertedatenbank durch eine individuelle Dimensionsanforderung übersteuern.

Angabe des Arbeitsgebietes

Soll in einer arbeitsgebietsübergreifenden Auswertung ein Wert angesprochen werden, der in mehreren der ausgewählten Arbeitsgebiete vorkommt, so muss explizit angegeben werden, auf welches Arbeitsgebiet der Wert bezogen werden soll.

4.4.1.1 Einfache Werteanforderung im Dialog (WE)

Durch Eingabe des Kommandos "WE" im Kommandofeld der Maske VS101 wird zur Maske VS112 verzweigt. Die Maske VS112 ist zweigeteilt. Im oberen Teil werden alle bereits angeforderten Werte-Einträge angezeigt einschließlich Formeln etc. und im unteren Teil alle noch nicht angeforderten Werte. Sind noch keine Werteeinträge angefordert, so ist der obere Teil leer. Sind bereits viele Werteeinträge angefordert, so können die noch zur Verfügung stehenden Werte zunächst nicht angezeigt werden.
Mit PF7 und PF8 können Sie blättern. Mit PF8 kann in den Bereich der noch zur Verfügung stehenden Werte vorgeblättert, mit PF7 in den Bereich der ausgewählten Werte zurückgeblättert werden. In leeren Zeilen (Punkte bei der Folgenummer und Punkte bei der Wertenummer) können Sie Werte direkt anfordern. Noch nicht angeforderte Werte können im unteren Teil der Maske durch Eingabe einer Folgenummer angefordert werden. Mit der Folgenummer wird festgelegt, als wievielter Wert der Eintrag im Listbild erscheint. Durch Neueingabe der Folgenummern kann die Reihenfolge leicht verändert werden.
Werden Folgenummern überpunktet bzw. wird bei Folgenummern 0 eingegeben, so werden die betreffenden Werteeinträge gelöscht; auch Formeln können so gelöscht werden. VS112 wird zur Auswahl von einfachen Werten oder zur Information über Nummer, Bezeichnung oder Abkürzung von Werten aufgesucht. Es konnen nur Werte ausgewählt werden, die keine Umrechnungswerte sind.

Umrechnungswerte (Werteart 2 bzw. 3) können Sie nur in Werteformeln ansprechen, sie werden hier aber angezeigt, um Ihnen einen Überblick über die in Frage kommenden Umrechnungswerte zu verschaffen.

Wenn Sie ergänzende Angaben zu den Werten eingeben wollen, können Sie mit dem Kommando "WZ" die Maske VS111 anwählen.

4.4.1.2 Einfache Werteanforderung (BATCH-Anforderungssprache)

Der Ausdruck "WERTE =" ist in der Kopf-, Zeilen- oder Spaltendimension als Schlüssel auszuwählen. In einem nachfolgenden Klammerausdruck werden die einzelnen Werte, durch Kommata getrennt, mit ihrer Nummer oder ihrer Bezeichnung aufgezählt.

Beispiel:
SS: WERTE = (1,2); oder SS: WERTE = (WERT1,WERT2);

4.4.1.3 Erweiterte Werteanforderung im Dialog (WZ)

Über das Kommando "WZ" kann von der Verteilermaske VS101 zur erweiterten Wertanforderung verzweigt werden. Das Kommando "WZ" ist immer dann empfehlenswert, wenn Sie zu den von Ihnen gewünschten Werten Zusatzangaben wie

machen wollen.

Will man sich zunächst einen Überblick über alle auswertbaren Werte verschaffen, so wird man zunächst über "WE" vorgehen, um später dann über "WZ" die Zusatzangaben nachzuholen. Nach Eingabe des Komandos "WZ" erhalten Sie die Maske VS111.

4.4.1.3.1 Beschreibung der Maske VS111 für die erweiterte Werteanforderung

Will man einen Wert erfassen, so muss man in der ersten Spalte unter NR die Wertenummer oder in der zweiten Spalte unter BEZEICHNUNG die Wertebezeichnung eintragen.
Es können nur allein auswertbare Werte, d. h. Werte der Werteart 0 oder 1 direkt in "WZ" bzw. "WE" angefordert werden. Umrechnungswerte (Werteart 2 bzw. 3) können nur in Werteformeln angesprochen werden. In der Maske VS112 (WE) werden die für Formeln in Frage kommenden Umrechnungswerte der angeforderten Arbeitsgebiete mit angezeigt.

In der BEZEICHNUNGS-Spalte kann man auch Druckaufbereitungsangaben eingeben (vgl. Kap. 4.6).

Will man eine Werteformel erfassen, so muss man das Feld unter FO markieren. Es erscheint dann die Maske VS114. Alles weitere zu Werteformeln finden Sie in Kap. 7. Wenn Sie bei bereits erfassten Formeln ein "D" eingeben, so werden diese gelöscht.

Zu einem Wert können Sie - falls Sie nicht mit dem Schlüssel ZEITRAUM operieren - Zeitangaben vornehmen. Für diese Zeitangaben in den Feldern "VON" und "BIS" gelten dieselben Eingabebedingungen wie bei der Zeitauswahl über "ZE". Es wird daher auf die Kapitel über absolute und relative Zeitangaben (s. Kap. 4.5.) verwiesen.

Für jeden Wert wird in der Maske die Voreinstellungen für die Dimensionsangabe und die Aufbereitung (Gesamtstellenzahl, Nachkommastellen) angezeigt. Diese Angaben können individuell für die Anforderung übersteuert werden. Die Standardeinstellungen werden mit einer anderen Helligkeit als die Überschreibungen dargestellt, um Überschreibungen in der Anforderung erkennen zu können.

Die angezeigte Standardeinstellung wird nicht mit in die Anforderung übernommen. Beim Ausführen der Anforderung werden die dann aktuellen Einstellungen aus der Wertedatenbank angezogen (diese können inzwischen verändert worden sein und von den angezeigten Einstellungen abweichen).

Eine neue Dimensionsangabe für den Wert kann speziell für diese Anforderung festgelegt werden, indem in der Maske die angezeigte Angabe überschrieben wird.

Ebenso können Sie zu einem Wert die Aufbereitungsangaben für die Ausgabe des Wertes in der Anforderung überschreiben. Für die Gesamtstellenzahl können Sie eine Zahl zwischen 2 und 15 eingeben. Reicht diese Länge für die Ausgabe des Wertes nicht aus, so wird in der Auswertung ein Überlauf angezeigt (Sterne).
Die Zahl der Nachkommastellen darf nicht größer sein als die Gesamtstellenzahl überhaupt. Es können maximal 6 Nachkommastellen angefordert werden. Ist die eingegebene Zahl der Nachkommastellen größer als die in der Wertedatenbank definierte, so wird die in der Wertedatenbank festgelegte Zahl gültig und angezeigt.

Durch entsprechende Eingaben bei den Nachkommastellen können Sie runden. Wenn Sie dort 'A' eingeben, so wird der betreffende Wert auf volle Zehner gerundet, geben Sie 'B' ein, so wird auf Hunderter gerundet, bei 'C' wird auf Tausender gerundet, der höchstzulässige Buchstabe ist 'F'.

Sollen bei den Dimensions- und Aufbereitungsangaben die Einstellungen der Datenbank fest in die Anforderung übernommen werden, so muss zunächst die angezeigte Standardeinstellung verändert (dies wird entsprechend angezeigt) und anschließend wieder auf die Standardeinstellung zurückgeändert werden. Jetzt ist die Standardeinstellung in die Anforderung übernommen worden (bei entprechender Anzeige). Soll eine veränderte Einstellung aus einer Anforderung genommen werden, so muss das entprechende Feld in der Maske gelöscht werden. Danach wird die Standardeinstellung angezeigt.

Sie können auch bereits mit dem Kommando "WE" ausgewählte Werte über "WZ" ergänzend bearbeiten.

Wenn Sie das Feld OP mit einem 'X' markieren, wird beim Wert die Option ^S gesetzt. Dies hat nur Auswirkungen, wenn WERTE ein Spaltenschlüssel ist. Dann werden in den entsprechenden Wertespalten keine Sternsummen gebildet. Für Formeln siehe 7.2.
Ein 'D' aktiviert die Option 'Dimension bei Zahl'.
Ein 'E' aktiviert sowohl '^S' als auch 'Dimension bei Zahl'.

Wenn Sie Schlüsselbedingungen zum Wert machen wollen, markieren Sie das Feld "SB". Es erscheint dann die Maske VS109. Sie wird weiter unten beschrieben. Arbeitsgebiete zum Wert können in der Maske VS111 jeweils unter der Spalte AGNR eingegeben werden. Mit PF6 kommt man zu VS101 zurück.

4.4.1.3.2 Einfügen von Werteanforderungen in der Maske VS111 (WZ)

Wurden bereits mehrere Werte (und Leerzeilen) erfasst und man möchte nun zwischen die bereits bestehenden Einträge noch Werte-, Leerzeilen- oder Formelanforderungen einfügen, so überschreibt man die erste Stelle des Wertenummernfeldes mit 'I' bzw., bei angeforderten Leerzeilen, die erste Stelle des Bezeichnungsfeldes oder gibt beim Anforderungsfeld für Formeln 'I' ein und drückt ENTER. Bei der Abarbeitung der Eingaben in VS111 durch ASS werden nun zuerst alle neuen bzw. geänderten Werteanforderungen bearbeitet. Wurde eine Formel angefordert bzw. eine PF-Taste zum Verzweigen zu einem anderen Bild gedrückt, so wird verzweigt und die I-Eingabe bleibt unwirksam. Kommt die I-Anforderung zur Wirkung, so wird vor den Werteeintrag, der mit 'I' gekennzeichnet wurde (Wertenummernfeld bzw. Bezeichnungsfeld bzw. Formelanforderungsfeld), eine freie Eingabezeile vorgeschoben.

ACHTUNG: Höchstens 250 Werte-, Freizeilen- und Formelanforderungen pro Listanforderung sind möglich. Wenn Sie sich dieser Grenze nähern, so wird die Bearbeitung von 'I' mit einer entsprechenden Meldung abgelehnt.

4.4.1.3.3 Anforderung von Inhalts- und Schlüsselbedingungen in der Maske VS109

Von der Maske VS111 (WZ) gelangen Sie zur Formulierung von Inhalts- und Schlüsselbedingungen, indem Sie bei dem betreffenden Wert das Feld SCHL(üssel) markieren.

In der Maske VS109 werden alle Schlüssel angezeigt, die zu einem Wert auswählbar sind.

Mit PF7 bzw. PF8 kann man rückwärts bzw. vorwärts blättern.

Um einen Schlüssel zu einem Wert oder Inhaltsbedingungen auszuwählen, sind drei Angaben erforderlich:

Maximal können 20 Inhalts- und Schlüsselbedingungen zu einem Wert ausgewählt werden, insgesamt jedoch nicht mehr als 1000. Sie können auch mehrere Bedingungen zu einem Schlüssel bzw. zum Inhalt angeben. Nach dem Erfassen einer Bedingung ist es möglich, die nächste Bedingung einzugeben.

Die Schlüsselbedingungen werden als UND-Bedingungen aufgefasst.

Was bedeutet es aber überhaupt, einen Schlüssel zu einem Wert auszuwählen?

Ein Beispiel soll dies erläutern: Wir bearbeiten gerade den Wert LEISTUNG. Es soll jedoch nur die Leistung für das Geschlecht 1 (männlich) mit Schadenstatus >= 1000 gedruckt werden.

Hierzu sind zwei Schlüsselangaben zum Wert LEISTUNG erforderlich:

Einen Schlüssel wählen Sie aus, indem Sie in der Spalte OPERATOR den von Ihnen gewünschten Vergleichsoperator eintragen. Zulässige Vergleichsoperatoren sind:
= , ^= , > , < , >= , <= .
Bei Schlüsseln mit ZEIT-TYP (siehe ST06) sind auch chronologische Vergleiche möglich, siehe 4.4.1.

In der Spalte INHALT kann man dann sofort den gewünschten Schlüsselinhalt eintragen. Im Fall der Vergleichsoperatoren "=" und "^=" ist dabei die Angabe einer Maskierung durch Fragezeichen möglich. Kennt man die existierenden Schlüsselinhalte nicht, so markiert man das Feld "AU" (für Ausprägung). Es erscheint dann die Maske VS120, in der die existierenden Inhalte angezeigt werden.

In der Maske VS120 werden Ihnen alle gültigen Inhalte des Schlüssels angezeigt, die in Maske VS109 ausgewählt wurden. Mit PF7 bzw. PF8 können Sie rückwärts bzw. vorwärts blättern.

Den gewünschten Inhalt wählen Sie durch einfache Markierung links neben den angezeigten Ausprägungen aus.

Mit PF6 kommt man zur Maske VS109 zurück.

4.4.1.3.4 Verarbeitung von Wertegruppierungen in der Maske VS111

Alle Angaben, die in der Maske VS111 zu einem Wert gemacht wurden, können als Wertegruppierung zusammengefasst werden.
Dieses kann auf zwei Weisen geschehen: Zum einen können Wertegruppierungen direkt aus der Einstiegsmaske VS100 heraus angesteuert werden, zum anderen können sie aus einer Listanforderung verarbeitet werden. Innerhalb einer Anforderung stehen zur Verarbeitung der Wertegruppierungen folgende Kommandos zur Verfügung:

Das Kommando ist in einer beliebigen freien Zeile in der Spalte NR anzugeben. In der Spalte BEZEICHNUNG ist dabei der Name der Wertegruppierung anzugeben. Wird eine Wertegruppierung eingelesen, werden alle vorherigen Einträge in der Maske VS111 gelöscht.
Bei den Kommandos GETS bzw. LIESS, REPLS bzw. ERSS und PUTS bzw. SCHRS werden alte Spaltenüberschriften überschrieben, d. h. insbesondere bei GETS werden alle unter SU eingegebenen Spaltenüberschriften durch die der angegebenen Wertegruppierung überschrieben und bei REPLS werden die alten Spaltenüberschriften zu der angegebenen Gruppierung überschrieben.
Bei Direkteinstieg aus VS100 erfolgt das Abspeichern über die Endeverarbeitung. In diesem Dialog lassen sich Wertegruppierungen auch mit Kommentaren versehen. Die Kommentierung erfolgt analog zu Listanforderungen über das Kommando KO.

Die Anforderung einer Wertegruppierung in der Maske VS111 erfolgt durch <<WERTEGRUPPIERUNG , wobei WERTEGRUPPIERUNG für den Namen der Wertegruppierung steht, im Feld BEZEICHNUNG.
Wertegruppierungen dürfen mit anderen Werten, Formeln oder Wertegruppierungen kombiniert werden. Insbesondere ist es zulässig, dass eine Wertegruppierung andere Wertegruppierungen enthält.

Bei der Ausführung der Statistik werden die Wertegruppierungen dynamisch nachgelesen und aufgelöst. Hierdurch ist ein hohes Maß an Flexibilität vorhanden. Enthalten verschiedene Anforderungen denselben Werteteil, so lässt sich dieser als Wertegruppierung pflegen. Bei Änderungen muss dann keine einzige Anforderung abgeändert werden.

4.4.1.4 Erweiterte Werteanforderung (BATCH-Sprache)

Zusatzangaben zum Wert erfolgen in Klammern unmittelbar hinter dem gewünschten Wert.
Zusätzlich zu der Zeitraumangabe können noch bis zu 20 Schlüsselangaben bzw. Werteinhaltsangaben und höchstens eine Arbeitsgebietsangabe gemacht werden. Alle Angaben zum Wert werden durch Kommata getrennt, die erste Angabe ist stets die Zeitraumangabe. Unterbleibt sie, und es werden andere Zusatzangaben gemacht, so muss ein vorausgehendes Komma das Fehlen der Zeitraumangabe anzeigen. Schließlich können Sie für einen Wert noch individuelle Aufbereitung und Dimension vorgeben.

4.4.1.4.1 Zeitangaben beim Wert (BATCH-Sprache)

Zeitangaben beim Wert können, je nach Werteart, in der Form MMJJ oder MMJJ-MMJJ erfolgen. (Siehe auch die Kapitel über absolute und relative Zeitangaben, Kap. 4.5.ff). Allerdings muss dann auf den Schlüssel ZEITRAUM verzichtet werden, d. h. auch für alle anderen Werte müssen zusätzliche Zeitangaben vorgenommen werden.
Die Zeitangabe muss als erster Klammerausdruck hinter der Wertenummer oder -bezeichnung stehen. Wollen Sie andere Zusatzangaben vornehmen, aber ohne Zeitangaben, so ist das Fehlen der Zeitangabe durch ein vorausgehendes Komma anzuzeigen.

Beispiel:

Der Wert LEISTUNG soll im Spaltenschlüssel stehen und für den Zeitraum 0199 - 0499 ausgewertet werden. Die Anforderung lautet dann:

SS: WERTE = (LEISTUNG (0199 - 0499));

Soll nun die Zeitangabe beim Wert entfallen, weil mit dem Schlüssel ZEITRAUM operiert wird, so ergibt sich folgende Anforderung:

SS: WERTE = (LEISTUNG);

4.4.1.4.2 Inhalts- und Schlüsselbedingungen beim Wert (BATCH-Sprache)

Eine Inhaltsbedingung hat in der BATCH-Sprache die Form VERGLEICHSOPERATOR VERGLEICHSINHALT

Eine Schlüsselinhaltsangabe hat in der BATCH-Sprache die
Form SCHLUESSELBEZEICHNUNG VERGLEICHSOPERATOR SCHLUESSELINHALT
oder SCHLUESSELABKUERZUNG VERGLEICHSOPERATOR SCHLUESSELINHALT

Zulässige Vergleichsoperatoren sind =, ^=, >, <, >=, <=
Für chronologische Vergleiche siehe 4.4.1. Der Vergleichsinhalt ist in folgendem Format anzugeben:
1234 oder -1234 oder 1234.5 oder -1234.5
Negative Zahlen müssen mit vorangehendem Minus angegeben werden. Zahlen ohne Vorzeichen sind positiv, Plus ist als Vorzeichen nicht zulässig. Die Kommastelle wird durch einen Punkt markiert.

Beispiel:

Für den Wert LEISTUNG sollen für den Januar 1999 alle Beträge angezeigt werden, die für männliche Beitragszahler in den höheren Tarifen ab Tarif 050 aufgetreten sind. Außerdem soll der Wert nur berücksichtigt werden, wenn sein Inhalt positiv ist.

Es ergibt sich folgende Anforderung:

SS: WERTE=(LEISTUNG(0199,GESCHLECHT=M,>0,REISETARIF>=050));

4.4.1.4.3 Arbeitsgebietsangaben beim Wert (BATCH-Sprache)

Arbeitsgebietsangaben zu einem Wert werden über den Ausdruck AGNR = nn vorgenommen, wobei nn die Nummer des Arbeitsgebietes in der Steuerungsdatenbank darstellt.

Beispiel:

SS: WERTE = (LEISTUNG (0199, GESCHLECHT = M, REISETARIF >= 050, AGNR = 1));

4.4.1.4.4 Aufbereitungsangaben und Dimension (BATCH-Sprache)

In einem eigenen, durch Komma von den restlichen Zusatzangaben abgetrennten Klammerausdruck können Sie Aufbereitungs- und Dimensionsangaben für einen Wert anfordern. Durch Komma getrennt werden Gesamtzahl der Ziffern, Nachkommastellen und eine bis zu sechs Zeichen lange Dimension angegeben. Es kann aber auch auf die Dimension oder auf Dimension und Nachkommastellenangabe verzichtet werden.
Dann werden für die unterlassenen Aufbereitungsangaben Standardwerte aus den Parameterdatenbanken einbezogen. Außerdem kann an 5. Stelle die Option ^S gesetzt werden. Ist WERTE in der Spalte angefordert, so werden bei diesem Wert keine Sternsummen gebildet. Die 4. Stelle muss leer bleiben (bei Formeln wäre hier die Option SVZ), d.h. es muss ein Komma eingefügt werden (siehe erstes Beispiel). An 7. Stelle (die 6. muss wiederum leer bleiben) kann die Option DBZ ('Dimension bei Zahl') gesetzt werden. gesetzt werden.

Beispiel:

Mit kompletten Aufbereitungs- und Dimensionsangaben sowie Optionen ^S und DBZ
SS: WERTE = (LEISTUNG (0199, GESCHLECHT = M, REISETARIF >= 050, AGNR = 1),(12,2,DM,,^S,,DBZ));

Mit kompletten Aufbereitungsangaben ohne Dimension, ohne Optionen
SS: WERTE = (LEISTUNG (0199, GESCHLECHT = M, REISETARIF >= 050, AGNR = 1),(12,2));

Nur Gesamtstellenzahl
SS: WERTE = (LEISTUNG (0199, GESCHLECHT = M, REISETARIF >= 050, AGNR = 1),(12));

4.4.2 Erzeugung temporärer Werte über Werteformeln

Neben den Werten der ASS-Datenbasis können auch temporäre Werte über sogenannte Werteformeln gebildet werden. Der Schlüssel WERTE kann dabei alternativ entweder in der Spalten-, Zeilen- oder in der Kopfdimension auftreten. Werteformeln werden im Kap. 7 'Rechnen mit Werten, Zeiten oder Schlüsselinhalten' ausführlich behandelt.

4.4.3 Anforderung ableitbarer Werte

Ableitbare Werte sind in der Auswertung (fast) nicht erkenntlich. Sie werden wie echte Werte angezeigt und können mit allen Möglichkeiten, die diese bieten (Zeitangaben beim Wert, Schlüsselbedingungen, Verwendung in Operanden wie TOTAL), angefordert werden. Aus Kompatibiltätsgründen lassen sich ableitbare Werte innerhalb von Formeln, neben der Verwendung von Bezeichnung oder Abkürzung, auch wie folgt ansprechen:
Als Prefix müssen Sie 'VVW' angeben, dann folgt die Wertenummer und dann 'A0'. Für den Wert 1802 würde dies also VVW1802A0 ergeben.

4.4.4 Anforderung von Rechenwerten

Rechenwerte sind Werte, die nur nach wenigen Schlüsseln ausgeprägt sind. Sie spiegeln dabei meisst unternehmensweite Konstanten wider.
Typische Beispiele dafür sind Sortenkurse, Mehrwertsteuersatz (ausgeprägt nur nach einem Länderschlüssel) oder Gewichtung einzelner Geschäftsbereiche (z.B. als prozentualer Spartenwert).

Im Gegensatz zu 'normalen' Bewegungs- oder Bestandswerten sind Rechenwerte auch nach Schlüsseln auswertbar, zu denen sie nicht eingespeichert wurden. Die entsprechenden Zahlen werden dann für nicht bekannte Schlüssel dupliziert.

Einschränkungen:

Bezüglich des Listbildes wird bei nicht eingespeicherten Schlüsseln der Rechenwert der ersten Ausprägung zugeordnet und angedruckt. Mithilfe einer Join-Option unterbleibt diese Zuordnung allerdings.

Beispiel:

Der Wert 'Spartengewichtung' sei nur nach den Ausprägungen des Schlüssels Sparte angelegt. Er kommt in genau einer Verdichtungsstufe vor, in der allein der Spartenschlüssel offen ist. Eingespeichert seien für den Zeitraum Januar bis Dezember 2003 folgende Werte:

Sparte:

Falls bei Auswertung ein zusätzlicher Schlüssel 'Untersparte' angefordert wird, werden die Werte für alle Zeilen der zur Sparte gehörigen Untersparten dupliziert. Die erste Ausprägung von Untersparte sei '?!'.

Auswahl Werte:

Listbild ohne Join-Option
     SPARTE         I FO_Sparten-     Neubeitrag   Gewichteter
        UNTERSPARTE I gewichtung %           EUR   Neubeitrag EUR
   -----------------+---------------+------------+---------------
     HA   ?!        I          0,3          0,00             0,00
     HA   Ha_1      I          0,3       1000,00           300,00
     HA   Ha_2      I          0,3       2000,00           600,00
     HA   Ha_3      I          0,3       1000,00           300,00
     KR   ?!        I          0,2          0,00             0,00
     KR   Kr_1      I          0,2       2000,00           400,00
     KR   Kr_2      I          0,2       1000,00           200,00
     KR   Kr_3      I          0,2       1000,00           200,00
     UN   ?!        I          0,4          0,00             0,00
     UN   Un_1      I          0,4       3000,00          1200,00
     UN   Un_2      I          0,4       3000,00          1200,00
     UN   Un_2      I          0,4       3000,00          1200,00
Listbild mit Join-Option
     SPARTE         I FO_Sparten-     Neubeitrag   Gewichteter
        UNTERSPARTE I gewichtung %           EUR   Neubeitrag EUR
   -----------------+---------------+------------+---------------
     HA   Ha_1      I          0,3       1000,00           300,00
     HA   Ha_2      I          0,3       2000,00           600,00
     HA   Ha_3      I          0,3       1000,00           300,00
     KR   Kr_1      I          0,2       2000,00           400,00
     KR   Kr_2      I          0,2       1000,00           200,00
     KR   Kr_3      I          0,2       1000,00           200,00
     UN   Un_1      I          0,4       3000,00          1200,00
     UN   Un_2      I          0,4       3000,00          1200,00
     UN   Un_2      I          0,4       3000,00          1200,00

4.5 Auswahl von Zeiten (ZEITRAUM)

Der Zeitaspekt kann in ASS-Auswertungen grundsätzlich auf zwei Arten berücksichtigt werden. Gilt für die angeforderten Werte dieselbe Zeitauswahl, so kann mit einem eigenen Schlüssel ZEITRAUM operiert werden. Dieser muss dann in der Kopf-, Zeilen- oder Spaltendimension angeordnet werden. In einem weiteren Schritt sind dann die gewünschten Zeiten zu wählen.

Die andere Möglichkeit, Zeiten anzusprechen, besteht darin, Zusatzangaben zu den Werten in der Form MMJJ oder MMJJ-MMJJ anzufordern. Die Verwendung des Pseudoschlüssels ZEITRAUM muss in diesem Fall entfallen.
Hinsichtlich der Formulierung von Zeitangaben beim Wert wird auf das vorhergehende Kap. 4.4.1.3 'Erweiterte Wertanforderung im Dialog (WZ)' bzw. Kap. 4.4.1.4 'Erweiterte Wertanforderung (BATCH-Sprache)' verwiesen.
Hinsichtlich der Formulierung von Zeitraumformeln siehe Kap. 7.3.

Im folgenden wird die Anforderung von Zeiten unter dem Schlüssel ZEITRAUM besprochen. In der Regel geht dieser Auswahl die Zuweisung von ZEITRAUM in Kopf-, Zeilen- oder Spaltendimension voraus.
Über zusätzliche Anforderungen sind Zeiten auszuwählen, für die die angeforderten Werte selektiert und berechnet werden sollen. Zeitangaben können in der Form MMJJ bzw. MMJJ-MMJJ erfolgen. Es besteht jedoch eine Abhängigkeit von der Werteart der ausgewählten Werte. So können Bestandswerte in der Regel nur für einen Zeitpunkt (Stichtag) ausgewertet werden (MMJJ).
In Ausnahmefällen, z. B. für Mittelwertsberechnungen, können Sie über eine Option die Kumulierung von Bestandswerten über die Zeitachse vornehmen. In diesem Zusammenhang verweisen wir auf das Kap. 8 'Druckaufbereitungs- und Selektionsoptionen', speziell die Option NOZEITPRUEF.

Für Bestandsumrechnungswerte der Werteart 2 können Sie auch ohne Option eine Zeitintervallanforderung vornehmen.
ASS interpretiert in diesem Fall den letzten im Intervall enthaltenen Einspeicherungsmonat als Stichtag. Bei Bewegungwerten ist auch die einfache Angabe MMJJ als Zeitraum zu interpretieren. MMJJ bezeichnet in diesem Fall das kleinste mögliche Zeitintervall der Datenbasis, nämlich die Zeit vom ersten bis zum letzten des jeweiligen Monats.
Monatsangaben, Intervalle mit Anfangs- und Endemonat sowie über Berechnungen mit Zeitformeln erzeugte temporäre Zeitkategorien können als Zeitangaben auftreten. Tritt der Schlüssel ZEITRAUM in der Zeilendimension auf, so können Leerzeilen zwischen die angeforderten Zeiten eingeschoben werden.

4.5.1 Absolute Zeitraumangaben

Alle bisher aufgetretenen Zeitraumangaben hatten die Form MMJJ oder MMJJ-MMJJ (z.B. 0199 oder 0799 oder 0199-1299). Für MM kann eine Zahl zwischen 01 und der für das Arbeitsgebiet festgelegten Monatszahl des Statistikjahres eingegeben werden.
Werden mehrere Arbeitsgebiete gleichzeitig ausgewertet, so ist für MM als Maximalwert die größte Monatszahl, die in einem der Arbeitsgebiete festgelegt wurde, zulässig. Solche Zeitraumangaben werden "absolut" genannt, weil sie explizit den gewünschten Monat bzw. die gewünschten Monate bezeichnen.
Bei der Auswertung werden dann bei den anderen Arbeitsgebieten, die den entsprechenden Monat nicht als Kalendermonat zulassen, Nullwerte angezeigt.

Für kombinierte Bestands-/Bewegungsauswertungen sieht ASS noch andere Möglichkeiten für absolute Zeitanforderungen vor, die je nach Werteart als Zeitpunkt oder als Zeitraum interpretiert werden. Auf diese Weise kann ein Quartal, ein Halbjahr oder ein Jahr angefordert werden. Für einen Bewegungswert werden dann diese Zeitangaben als Intervalle aufgefasst. Die Werte werden dann entsprechend kumuliert.
Bei Bestandswerten wird jeweils der letzte im Intervall enthaltene Einspeicherungsmonat als Stichtag angesehen.

Folgende Eingaben sind möglich:

Voraussetzung für die folgenden Zeiteingaben QRJJ, HRJJ und JGJJ ist, dass das ASS-Jahr mehr als 12 Monate, aber maximal 16 Monate hat.

Die Angaben QRJJ und HRJJ sind in ihrer Bedeutung gleich.

Absolute Zeitraumangabe Entsprechung bei Bewegungen Entsprechung bei Beständen
Q1JJ01JJ-03JJ03JJ
Q2JJ04JJ-06JJ06JJ
Q3JJ07JJ-09JJ09JJ
Q4JJ10JJ-12JJ12JJ
H1JJ01JJ-06JJ06JJ
H2JJ07JJ-12JJ12JJ
JHJJ01JJ-12JJ12JJ
QRJJ13JJ-16JJ16JJ
HRJJ13JJ-16JJ16JJ
JGJJ01JJ-16JJ16JJ

Die Angaben zu QRJJ, HRJJ und JGJJ beziehen sich auf ein Jahr mit 16 Monaten, das hier beispielsweise angenommen wurde.

Die eben dargestellten absoluten Anforderungsmöglichkeiten bestehen auch für zeitliche Zusatzangaben beim Wert, wenn auf die Verwendung des Schlüssels ZEITRAUM verzichtet wird.

4.5.2 Relative Zeitraumangaben

Es gibt etliche periodisch auszuführende Listanforderungen, in denen z. B. der aktuelle Monat im Zusammenhang mit unmittelbar zurückliegenden Monaten bzw. Jahren ausgewertet werden soll.

In solchen Fällen sind absolute Zeitangaben unpassend, weil sich die Zeitangaben von Lauf zu Lauf dem aktuellen Monat entsprechend anzupassen haben.

Die Zeitauswahl in einer Anforderung könnte z. B. in folgender Weise gewünscht werden:

Solche Aufgabenstellungen sind mit relativen Zeitangaben lösbar, die bezüglich eines Bezugsmonats oder Bezugsjahres vorgenommen werden können.

Standardannahme für das aktuell gültige Bezugsdatum (Monat/Jahr) ist das Datum, an dem die Listanforderung ausgeführt wird. Diese Standardannahme kann überschrieben werden, indem in der Anforderung explizit ein Bezugsdatum angegeben wird. Hierbei kann es sich wiederum um eine absolute oder um eine relative Zeitangabe der Form BPnn oder BMnn (siehe unten) handeln. Relative Zeitangaben beziehen sich beim Bezugsdatum auf das Ausführungsdatum (Maschinendatum) der Listanforderung.

Bezugsmonat

Relative Zeitangaben bezüglich eines Monats können in folgenden Notationen erfolgen:

Beispiel:

Bei einem Bezugsdatum 0192 werden die Zeitanforderungen folgendermaßen interpretiert:

Relative Zeitangabe Bedeutung Zeitauswahl bei Monaten/Jahr
12 14 16
BP000192 + 00 Monate019201920192
BP140192 + 14 Monate039301931592
BM010192 - 01 Monate129114911691
BM120192 - 12 Monate019103910591
Bezugsjahr

Analog können auch das aktuelle Jahr und die jeweils unmittelbar zurückliegenden Jahre angesprochen werden. Hierbei wird das Bezugsjahr zusammen mit dem Bezugsmonat angegeben, wie nachstehende Notation zeigt:

MM steht hier für eine zweistellige Monatsangabe

Beispiel:

Das Bezugsdatum sei 0192. Dann entspricht:

bei mehr als 12 Monaten:

Die eben dargestellten relativen Anforderungsmöglichkeiten bestehen auch für zeitliche Zusatzangaben beim Wert, wenn auf die Verwendung des Schlüssels ZEITRAUM verzichtet wird.

Für Zeitintervalle können auch Kombinationen von absoluter und relativer Anforderung verwendet werden.

Beispiele:

Bezugsdatum 0192.

Besonderheit Jahreswechsel

Greifen wir auf das Ausgangsbeispiel zu den relativen Zeitangaben zurück, in dem jeweils der Vormonat sowie das bis zum Vormonat aufgelaufene Jahr darzustellen sind, stellt sich im Basismonat Januar das folgende Problem:

Bei der Installation kann auf Wunsch folgende Anpassung vorgenommen werden:

Enthält eine Anforderung eine Zeitangabe der Form

"01P0 - BM01"

werden alle relativen Jahresangaben dieser Anforderung für den Bezugsmonat JANUAR um ein Jahr zurückgeschaltet.

Im obigen Beispiel erhalten wir jetzt die gewünschten Ergebnisse:

BASISMONAT BM01 01P0 - BM01
1291 1191 0191-1191
0192 1291 0191-1291
0292 0192 0192-0192

4.5.3 Anforderung von Zeiten im Dialog über die Maske VS113

Nach Eingabe von "ZE" im Kommandofeld der Maske VS101 erhalten Sie die Maske VS113. Dort wird angezeigt, welcher Zeitraum überhaupt ausgewertet werden kann. Die von Ihnen gewünschten Zeiten müssen dann bei VON bzw. VON - BIS eingetragen werden.

Man kann an der Stelle eines echten Zeitraumeintrages auch eine Formel auswählen. Die Auswahl einer Formel an einer gewünschten Stelle erfolgt durch Markierung des betreffenden Feldes rechts in der Maske VS113. Es erscheint dann die Maske VS114. In dem Feld BEZUGSMONAT kann man den Bezugsmonat verändern. Erfolgt hier kein Eintrag, so gilt das aktuelle Datum der Ausführung (Maschinendatum).
Der Bezugsmonat wird für die Interpretation relativer Zeitangaben beim Schlüssel ZEITRAUM, relativer Zeitangaben bei Werten oder relativer Datumsangaben in Seiten- und Spaltenüberschriften herangezogen.

Der Bezugsmonat kann grundsätzlich auch in Form eines Bezugsdatums im Format TTMMJJ angegeben werden. Dies kann absolut (z.B. 231007) oder im relativen Tagesdatumsformat (z.B. AM0001) erfolgen.

Für Berechnungen monatsgenauer Zeitangaben wird dann das darin enthaltene MMJJ herangezogen. Somit ist die Tagesangabe beim Bezugsmonat keinesfalls fehlerhaft.

Für relative Zeitangaben in Tagesarbeitsgebieten (z.B. AM0001, TP0000) wird vom tagesgenauen Bezugsdatum aus gerechnet. Liegt der Bezugsmonat aber nur im Format MMJJ vor, dann wird der Monatserste ergänzt.

Beispiele:

    1.        Angabe des Bezugsmonats BM = BM01
              Maschinendatum          23.Okt.2007 (der 23. wird
                                                   ignoriert)
              Zeitangaben     BM00    wird zu Sep.2007
                                      (in TagesAG also 010907 > 320907)
                              AM0000  wird zu 01.Sep.2007
                              AM0001  wird zu 32.Aug.2007
                              TM0001  wird zu 31.Aug.2007

    2.        Angabe des Bezugsmonats BM = AM0032
              Maschinendatum          23.Okt.2007

              Zeitangaben     BM00    wird zu Sep.2007
                                      (in TagesAG also 010907 > 320907)
                              AM0000  wird zu 23.Sep.2007
                              AM0001  wird zu 22.Sep.2007
                              TM0001  wird zu 22.Sep.2007

VON-BIS-Anforderung mit Darstellung einzelner Monate

Standardmäßig wird in der Maske VS113 zwischen der VON-Angabe und der BIS-Angabe das Zeichen '-' eingeblendet. Überschreibt man dieses Zeichen durch '%', so wird eine Intervallangabe automatisch nach einzelnen Monaten aufgelöst. Ist der Bezugsmonat 0395, so erhält man durch die Angabe von 01P0%BM00 eine Statistik auf Einzelmonatsbasis vom Beginn des Jahres bis zum Bezugsmonat. Dieses ist insbesondere für den Fall interessant, dass der Bezugsmonat gleich dem aktuellen Datum ist. Dadurch passt sich die Auswertung dynamisch dem aktuellen Datum an. Das obige Beispiel entspricht der Zeitanforderung 0195, 0295, 0395.

VON-BIS-Anforderung bei Bestandswerten

Bestandswerte sind von ihrem Charakter her stichtagsbezogen. Daher sind Angaben von Zeitintervallen in der Regel nicht sinnvoll und auch nicht zulässig. Werden in einer Anforderung nun gemeinsam Bestands- und Bewegungswerte betrachtet und sind z.B. quartalsbezogene Aussagen erwünscht, so sind die Sprachmittel '<' und '>' hilfreich. '<' und '>' wirken bei Bewegungswerten wie '-'. Bei Bestandswerten wird hingegen bei '<' nur der bei der von-Angabe gemachte, bei '>' nur der bei der bis-Angabe gemachte Zeitaspekt betrachet. Eine quartalsbezogene Zeitbetrachtung berücksichtigt somit entweder den Quartalsanfangsbestand bzw. Quartalsendbestand.

Einfügen von Zeitraumanforderungen

Wurden bereits mehrere Zeiträume, Leerzeilen oder Zeitraumformeln erfasst und Sie möchten nun zwischen die bereits bestehenden Einträge noch Einschübe vornehmen, so überschreiben Sie die erste Stelle des Eingabefeldes VON mit 'I' bzw. geben beim Anforderungsfeld für Formeln 'I' ein und drücken ENTER. Bei der Abarbeitung der Eingaben in VS113 durch ASS werden nun zuerst alle neuen bzw. geänderten Zeitraumeinträge bearbeitet. Wurde eine Formel angefordert bzw. eine PF-Taste zum Verzweigen zu einem anderen Bild gedrückt, so wird verzweigt und die I-Eingabe bleibt unwirksam. Kommt die I-Anforderung zur Wirkung, so wird vor den Zeitraumeintrag, der mit 'I' gekennzeichnet wurde (VON-Feld bzw. Formelanforderungsfeld), eine freie Eingabezeile vorgeschoben. Es ist dabei zu beachten, dass höchstens 50 Zeitraumeinträge (echte Zeiträume, Leerzeilenanforderungen, Formeln) zulässig sind. Nähert man sich dieser Grenze, so wird die Bearbeitung von 'I' mit einer entsprechenden Meldung abgelehnt.

Unterdrücken von Sternsummen in der Spalte

Ist ZEITRAUM in der Spalte angefordert, so kann für einzelne Zeitangaben die Option ^S gesetzt werden, d.h. die Bildung von Sternsummen wird in den entsprechenden Spalten unterdrückt. Bei diesen Zeiträumen ist das Feld 'OPT' zu markieren. Für Zeitraumformeln siehe Kap. 7.3.

4.5.4 Anforderung von Zeiten (BATCH-Sprache)

Die Angabe von Zeiträumen für den Schlüssel ZEITRAUM erfolgt in der Form ZEITRAUM=(Zeitraumangabe).
Mehrere Zeitraumangaben werden durch Kommata getrennt. Eine Zeitraumangabe kann eine einfache Monatsangabe oder eine Intervallangabe sein. Die Option ^S (s.o.) wird einfach an die Zeitraumangabe drangehängt, z.B.
ZEITRAUM=(0199, 0299 ^S, 0399).

Beispiel zum Bezugsmonat:

    SS: ZEITRAUM = (0199,0299,0199-0399);

    SS: ZEITRAUM = (0199 - BM01);

    SS: ZEITRAUM = (0199 % BM01);

Standardannahme für den aktuell gültigen Bezugsmonat ist der Monat, in dem die Listanforderung ausgeführt wird. Diese Standardannahme kann überschrieben werden durch

                      BM: MMJJ ;
    BM: 0499; /* DIE RELATIVEN ZEITANGABEN BEZIEHEN SICH AUF
                 DEN APRIL 1999 */

Beispiel zum Bezugsjahr:

    SS: ZEITRAUM = (0197,0198,0199);

    SS: ZEITRAUM = (01P0 - 01P2);

Standardannahme für das aktuell gültige Bezugsjahr ist das Jahr, in dem die Listanforderung ausgeführt wird. Diese Standardannahme kann überschrieben werden durch

                      BM: MMJJ ;
    BM: 0197; /* DIE RELATIVEN ZEITANGABEN BEZIEHEN SICH AUF
                 DEN JANUAR 1997 */



4.5.5 Zeitangaben in Tages-Arbeitsgebieten

4.5.5.1 Vorüberlegungen
Vorüberlegungen

In einem Tages-Arbeitsgebiet ist die ASS-Zeit tagesgenau abgelegt. Jeder Monat hat 32 Tage (01, 02, 03, ... , 32). Es gibt 32 Tage, da analog zur Anzahl Monate pro Jahr vorgesehen ist, einen endgültigen Monatsabschluss auf dem 32. Tag des betreffenden Monats speichern zu können.

Zeitangaben in einer Anforderung können grundsätzlich mit einer Tagesangabe versehen werden. Hierbei ist der angeforderte Tag als erstes 2-stellig anzugegeben.

Absolute Zeitangaben

Format: ttmmjj
Beispiel: 231006 für 23.Okt.2006
Dies ist auch bei relativen Zeitangaben möglich:
Beispiel: 17BM01 ist der 17. Tag von BM01.

Tagesangaben bei Monatsarbeitsgebieten

Werden nur Monatsarbeitsgebiete angefordert, so machen Tagesangaben i.a. keinen Sinn.

Eine Tagesangabe bei einem Monats-Arbeitsgebiet gilt i.a. als überbestimmt. Ein Tag kann nicht ermittelt werden. Eine Ausnahme bilden Zeitintervalle, die komplette Monate umfassen: 010106 - 320406 ist okay, genausogut könnte man aber 0106-0406 anfordern. 010106 - 150406 und 010106 - 300406 sind nicht okay (überbestimmt).

Achtung: Insbesondere bei Zeitangaben, die auf MonatsAGs zugreifen, müssen sämtliche 32 Tage jedes ASS-Monats komplett angefordert werden. Für Zeitangaben, die überbestimmt sind, werden die Werte grundsätzlich mit NULL ausgegeben. Dies ist insbesondere innerhalb von Formeln sehr gefährlich.

Abhilfe ist durch durch Zeitangaben beim Wert zu erreichen, wobei für die Zeitangaben streng nach Werten aus TagesAGs und solchen aus MonatsAGs unterschieden werden kann.

Beispiele:

a) 011106-311106 für einen Wert aus einem Monatsarbeitsgebiet, der für Nov.2006 eingespeichert ist.
Ergebnis: NULL.
Grund: der ASS-Monat Nov. ist nicht komplett angefordert, da der 32. nicht enthalten ist. Damit ist die Zeitanforderung überbestimmt.

010106-311106 für einen Wert aus einem Monatsarbeitsgebiet, der für Jan. bis Nov.2006 eingespeichert ist.
Ergebnis: NULL.
Grund: der ASS-Monat Nov. ist nicht komplett angefordert, da der 32. nicht enthalten ist. Damit ist die Zeitanforderung überbestimmt.

Monatsangaben bei Tagesarbeitsgebieten

Es wird hierbei unterschieden, ob es sich um einen Zeitpunkt oder ein Zeitintervall handelt. Fehlt bei Intervallen die Tagesangabe, so wird bei VON ein '01' ergänzt, bei BIS ein '32':
0106 - 150106 ergibt 010106 - 150106
150106 - 0106 ergibt 150106 - 320106

Die Interpretation ist bei Bestands- und Bewegungswerten unterschiedlich:

Zeitintervalle, die nur aus einem Monat bestehen verhalten sich bei Beständen also anders als ein einzelner Monat.

Zeitintervalle mit '<' bzw. '>' bei Bestandswerten

Beispiele:

4.5.5.2 Relative Tagesangaben: Tage verrechnen

Erläuterung:
Vom aktuellen Tag werden eine fixe Anzahl Tage hinzugezählt oder abgezogen, wobei immer die tatsächlichen Tage eines Monats berücksichtigt werden. Dies empfiehlt sich eher in engen Zeitintervallen, die nicht sehr weit vom aktuellen Datum entfernt liegen.

Format:
TMnnnn oder TPnnnn (nnnn darf auch eine 5-stellige Zahl sein, < 32767)

Beispiel:

  1. TM0001 für den (realen) Vortag. (geeignete Verwendung: am 22.Nov. ist das stets der 21.Nov. am 01.Mai. ist das stets der 30.Apr. am 01.Mrz. ist das der 28. oder der 29.Feb.)
  2. TM0031 für den Tag, der vor 31 Tagen lag. (eher ungeeignete Verwendung: am 22.Nov. ist das stets der 22.Okt. am 01.Mai. ist das stets der 31.Mrz. am 01.Mrz. ist das der 29. oder der 30.Jan.)
4.5.5.3 Relative Tagesangaben: Tage verrechnen mit 32 Tagen pro Monat

Erläuterung:
Vom aktuellen Tag werden eine fixe Anzahl Tage hinzugezählt oder abgezogen, wobei ein Monat stets mit 32 Tagen angesetzt wird. Dies ermöglicht es, feste Zeiten abzufragen, unabhängig von tatsächlichen Tagesanzahlen der Monate.

Format:
AMnnnn oder APnnnn ('A' steht für ASS-Monat)

Beispiel:

  1. AM0001 für den (ASS-technischen) Vortag. (eher ungeeignete Verwendung: am 22.Nov. ist das stets der 21.Nov. am 01.Mai. ist das stets der 32.Apr. am 01.Mrz. ist das stets der 32.Feb.)
  2. AM0032 für den heutigen Tag im Vormonat: (geeignete Verwendung: am 22.Nov. ist das stets der 22.Okt. am 01.Mai. ist das stets der 01.Apr. am 01.Mrz. ist das stets der 01.Feb.)

4.5.6 Textierung von Zeitangaben

Analog zu Schlüsselinhalten, wo eine Textierung via Inhaltsbezeichnung oder Inhaltsabkürzung existiert, besteht auch die Möglichkeit ASS-Zeitangaben zu textieren. Neben einer Standardvorbesetzung der Texte (JAN, FEB, etc. als Abkürzung, JANUAR, FEBRUAR, ... als Bezeichnung) besteht die Möglichkeit ASS-Zeitangaben individuell zu textieren. Voraussetzung hierfür ist die Existenz eines Schlüssels auf der Schlüsseldatenbank mit Ausprägungen 01, 02, ..., 12 bzw. max. 16 (falls in der ASS-Installation Arbeitsgebiete mit mehr als 12 Monaten existieren). Diese Ausprägungen können dann entsprechende Bezeichnungen und Kurzbezeichnungen erhalten. Die Schlüsselnummer muss der ASS-Auswertung durch einen Eintrag auf der Textdatenbank (siehe Handbuch "Installation").

In der Auswertung wird die Zeittextierung in der Optionenmaske aktiviert. Es existieren folgenden Formate:

In der Batch-Sprache entsprechen diese Optionen (in der obigen Reihenfolge) ZEIT_LANG, ZEIT_BEZ, ZEIT_BEZ_LANG, ZEIT_ABK, ZEIT_ABK_LANG, ZEIT_JHJJMM, ZEIT_JHJJMM_P.

Beispiel:

Es soll in einer Anforderung die ASSZEIT mit der Bezeichnung textiert werden:

    ASS;
    AG: 1;
    KS: 100 = ('01');
    ZS: ZEITRAUM = (0195), 105;
    SS: WERTE = (100);
    OPT: ZEIT_BEZ_LANG
    END;

    ARBEITSGEBIET:    1: VERTRIEB
    GEBIET: 01
                          I WERTE
                          I       NEUBEITRAG
    ZEITRAUM       BEZIRK I               DM
    ----------------------+-------------------
                          I
    JANUAR    1995 10     I       983.942,20
                   11     I       284.652,85

Die Ausrichtung innerhalb der Spalte richtet sich bei Anforderung der ASSZEIT als Zeilenschlüssel nach der längsten Bezeichnung bzw. Kurzbezeichnung, in diesem Fall SEPTEMBER. Hiermit wird erreicht, dass die Jahresangaben im Listbild untereinander erscheinen.

Zeitangaben der Form (BMnn) bzw. (BPnn) in Überschriften (siehe Kap. 5.5) werden ebenfalls entsprechend der angewählten Option der Zeitdarstellung angezeigt.

4.6 Möglichkeiten der zeilenorientierten Druckaufbereitung

Bei der Selektion von Schlüsselausprägungen, Werten oder Zeiträumen in der Zeilendimension stehen folgende Möglichkeiten zur Gestaltung einer Auswertung zur Verfügung:

Die zeilenorientierten Druckaufbereitungsangaben sind in Batch- und Online-Auswertungen grundsätzlich für alle Zeilenschlüssel möglich. In Bezug auf Kopfschlüssel können nur Text- und Trennzeilen angefordert werden. Sie bewirken dann eine entsprechende Darstellung der Kopfschlüsselinhalte, z. B. Ausgabe eines Kopfschlüsselinhalts mit einer zusätzlichen Textzeile.

Einsatzmöglichkeit und Wirkungsweise dieser Optionen werden nachfolgend jeweils für Batch-Auswertungen und Anforderungen im Dialog (ST31) beschrieben.

BATCH

Die einzelnen Aufbereitungsangaben können im Batch-Betrieb bei Selektion von Schlüsselausprägungen, Werten und Zeiten in gleicher Weise vorgenommen werden.

Stellvertretend wird hier nur die Selektion von Schlüsselausprägungen dargestellt.

Im folgenden Beispiel werden die Aufbereitungsoptionen in den beiden Zeilenschlüsseln WERTE und ZEITRAUM angegeben: ZS: WERTE = (1901,1902,LEERZEILE(3),1905), ZEITRAUM = (0198 - 0398, 0798, ##SEITE ,0199 - 1299) ;

DIALOG (ST31)

Die Einsatzmöglichkeiten im Dialogbetrieb sind den Gegebenheiten der jeweiligen Masken bei der Auswahl von Schlüsselausprägungen, Werten und Zeiträumen angepasst.

Besonderheiten:

Die Druckaufbereitungsangaben werden ignoriert, wenn sie vor dem ersten Wert oder vor der ersten Zeitraumangabe gemacht werden.

Außerdem werden alle Angaben zur Druckaufbereitung nicht beachtet, wenn in der Anforderung gleichzeitig eine Spaltensortierung gewünscht wird.
Eine Druckaufbereitungsangabe, die vor der ersten Schlüsselausprägung gemacht wird, wird nach der letzten Ausprägung dieses Schlüssels berücksichtigt. Dadurch ist möglich, z.B. einen Seitenvorschub nach der letzten Ausprägung auszuführen, ohne überhaupt Ausprägungen selektiert zu haben.
Beispiel: ZS: 1900 , 1901 = ( ##SEITE );

BEISPIEL:

    ASS;
      AG: 25;
      KS: ZEITRAUM = ( 0199 , ##TRENNZ(+) , 0299)
      ZS: WERK = ( HAMBURG , ##TEXT('KOMMENTAR') , MUENCHEN ),
          ABTEILUNG = ( '01','02',LEERZEILE(2),* );
      SS: WERTE = ( UMSATZ );
    END;

Dieses Beispiel hat folgendes Listbild zur Folge:

    ARBEITSGEBIET:   25: PRODUKTIONSSTATISTIK

    ZEITRAUM: 0198
                             I WERTE
                             I UMSATZ
    WERK         ABTEILUNG   I       TDM
    --------------------------------------
                             I
    HAMBURG      01          I     5.000
                 02          I     3.000
                             I
                             I
                 *           I     8.000
                               KOMMENTAR
                             I
    MUENCHEN     01          I     6.000
                 02          I     1.500
                             I
                             I
                             I
                 *           I     7.500
    ++++++++++++++++++++++++++++++++++++++

Die nächste Seite sieht im wesentlichen genauso aus, nur die letzte Zeile (##TRENNZ(+)) fehlt.

4.7 Die Zeitschlüssel Jahr, Monat, KW, WT

Installationsabhängig (vergleiche Installationshandbuch) können unter ASS die Schlüssel Jahr, Monat, KW (Kalenderwoche) und WT (Wochentag) installiert werden, die zusätzlich zum gewöhnlichen ASS-Zeitbegriff (siehe oben) selektiv wirken. Es brauchen nur die erforderlichen (gewünschten) Zeitschlüssel installiert werden. Diese Schlüssel werden wie gewöhnliche Schlüssel als Kopf-, Zeilen- oder Spaltenschlüssel angefordert. Sie stehen auch für Schlüsselbedingungen zum Wert zur Verfügung.
Jeder ASS-Zeit wird der entsprechende Schlüsselinhalt für Jahr, Monat, KW bzw. WT zugeordnet. Hierbei muss zwischen Tages- und Monats-Arbeitsgebieten unterschieden werden.

Folgende Zuordnungen werden getroffen:

Schlüssel Jahr
Tages-Arbeitsgebiet Monats-Arbeitsgebiet
TTMMJJ -> 19JJ/20JJ MMJJ -> 19JJ/20JJ

Hier ist immer eine eindeutige Zuordnung möglich. Das Jahrhundert wird automatisch ergänzt (in Abhängigkeit von der sogenannten JT-SCHWELLE, siehe SST1179).

Alle vorkommenden Jahre müssen als Schlüsselinhalt erfasst werden und können beliebig textiert werden.

Schlüssel Monat
Tages-Arbeitsgebiet Monats-Arbeitsgebiet
TTMMJJ -> MM MMJJ -> MM

Hier ist immer eine eindeutige Zuordnung möglich.

Alle vorkommenden Monate müssen als Schlüsselinhalt erfasst werden und können beliebig textiert werden, also 01, 02, 03, ... , 12. Die Monate 13, 14, 15 bzw. 16 spielen nur dann eine Rolle, wenn es Arbeitsgebiete mit mehr als 12 Monaten gibt.

Schlüssel KW (Kalenderwoche)

Tages-Arbeitsgebiet

Jedem korrektem Kalenderdatum der Form TTMMJJ wird die betreffende Kalenderwoche zugeordnet (01, 02, 03, ... , 53). Allen anderen ASS-Zeiten wird die KW 54 zugeordnet.

Monats-Arbeitsgebiet

Jedem korrektem Kalenderdatum der Form MMJJ wird die Kalenderwoche des letzten Tages des betreffenden Monats zugeordnet (also z.B. 31. für Januar, 28. bzw. 29. für Februar). Allen anderen ASS-Zeiten wird die KW 54 zugeordnet.

Es müssen die Kalenderwochen 01, 02, 03, ... , 54 als Schlüsselinhalt erfasst werden und können beliebig textiert werden.

Schlüssel WT (Wochentag)

Tages-Arbeitsgebiet

Jedem korrektem Kalenderdatum der Form TTMMJJ wird der betreffende Wochentag zugeordnet (1 für Montag, 2 für Dienstag, 3 für Mittwoch, ... , 7 für Sonntag). Allen anderen ASS-Zeiten wird der Wochentag 8 zugeordnet.

Monats-Arbeitsgebiet

Jedem korrektem Kalenderdatum der Form MMJJ wird der Wochentag des letzten Tages des betreffenden Monats zugeordnet (also z.B. Wochentag vom 31. für Januar, Wochentag 28. bzw. 29. für Februar). Allen anderen ASS-Zeiten wird der Wochentag 8 zugeordnet.

Es müssen die Wochentage 1, 2, 3, ... , 8 als Schlüsselinhalt erfasst werden und können beliebig textiert werden.

In der Auswertung werden die ASS-Zeit und die Zeitschlüssel (wie in ASS üblich) mit UND verknüpft. Dies muss insbesondere bei der Kalenderwoche beachtet werden. Wird z.B. bei der ASS-Zeit nur das Jahr 2010 angefordert, so enthält die Kalenderwoche 01 nicht die Daten des Jahres 2009.

Zeitschlüssel müssen die interne Schlüssellänge 1 oder 2 haben (siehe ST06), sie sind keine Massenschlüssel.

Besonderheiten

Werden Jahr und Kalenderwoche gleichzeitig als Kopf-, Zeilen- oder Spaltenschlüssel angefordert, so richtet sich das Jahr nach der Kalenderwoche, d.h. Daten von Anfang Januar werden ev. dem Vorjahr, Daten von Ende Dezember ev. dem Folgejahr zugeordnet.
Bei Schlüsselbedingungen zum Wert gilt entsprechendes, wenn bei einem Wert sowohl Kalenderwoche als auch Jahr angesprochen werden. Wird Kalenderwoche als Kopf-, Zeilen- oder Spaltenschlüssel angefordert, so richtet sich das Jahr bei Schlüsselbedingungen zum Wert stets nach der Kalenderwoche.
Grundsätzlich gilt: Alle Zeitschlüssel werden immer mit der ASS-Zeit geschnitten (und-Verknüpfung). Ist z.B. bei der ASS-Zeit der Januar angefordert, so werden bei der Kalenderwoche 1 keine Werte aus dem Dezember des Vorjahres berücksichtigt.

Beispiel:

Nach Einrichtung des Schlüssels Monat und Anlage der entsprechenden Schlüsselinhalte via ST06 lässt sich z. B. (im Batch) durch

      ASS;
        AG: 1;
        ZS: WERK = (11), MONAT;
        SS: WERTE = (UMSATZ (0194 - 1294), UMSATZ (0193 - 1293) );
      END;

das folgende List-Bild erzeugen, das die Umsätze des Werkes 11 im Jahr 1994 und im Vorjahr aufgeschlüsselt nach den einzelnen Monaten gegenüberstellt.

    ARBEITSGEBIET:   1: PRODUKTIONSSTATISTIK

                 I WERTE
                 I    UMSATZ      UMSATZ
                 I 0194-1294   0193-1293
    WERK  MONAT  I       TDM         TDM
    --------------------------------------
                 I
    11    01     I     5.200       5.100
          02     I     1.000         900
          03     I     3.500       4.000
          04     I     8.200       9.000
          05     I     2.600       2.700
          06     I     2.900       2.500
          07     I     4.100       3.000
          08     I     3.500       3.000
          09     I     5.000       3.400
          10     I     7.300       5.000
          11     I     9.600       5.600
          12     I     3.300       3.000

4.8 Mehrfachanforderung von Schlüsseln

Mit Release 7.30 ist es möglich, jeden echten Schlüssel mehrfach anzufordern. Da bei jeder Anforderung eine individuelle Ausprägungsauswahl möglich ist, können hiermit z.B. bei Mengenbildung auch Hierarchien dargestellt werden.

Für die Anforderungssprache ergeben sich dabei folgende Konsequenzen:

  1. Formeln mit Operanden GESAMT,TOTAL, KUMUL bzw. RANG müssen sich auf genau einen der angeforderten Schlüssel beziehen:

    z.B. Formel = GESAMT(GEBIET(2),NEUANZAHL)

    D.h. wird ein Schlüssel in einer Anforderung mehrfach angefordert, so ist zusätzlich zur Schlüsselbezeichnung/ -abkürzung anzugegeben, die wievielte Anforderung dieses Schlüssels gemeint ist. Im obigen Beispiel also die 2. Anforderung von GEBIET. Es wird hierbei von links nach rechts gezählt, zuerst die Kopfschlüssel, dann die Zeilenschlüssel. Ist WERTE kein Spaltenschlüssel, so werden nur die Schlüssel beim Spaltenschlüssel gezählt.

    Bei Joinanforderungen gilt das gleiche. Soll Bezug genommen werden auf einen Schlüssel einer ASS-Anforderung, der in der betreffenden Anforderung mehrfach angefordert ist, so ist anzugeben, die wievielte Anforderung dieses Schlüssel gemeint ist. Dies wird mit EXP=nn ausgedrückt. EXP steht für 'EXemPlar':

    z.B. Formel = GESAMT(INSPEKTORAT (ANF=02,EXP=03),SPALTE002(ANF=01))

    d.h. Bezugsschlüssel ist INSPEKTORAT aus Anforderung 2 mit Exemplarnummer 3, d.h. die 3. Anforderung. Bezugswert ist die 2. Spalte aus Anforderung 1.

    Wird der genannte Schlüssel mehrfach präsentiert, so ist anzugeben, die wievielte Präsentation gemeint ist.

    z.B. Formel = GESAMT(INSPEKTORAT (2,ANF=02,EXP=03),SPALTE002(ANF=01))

    Hier ist die 2. Präsentation der 3. Anforderung des Schlüssels INSPEKTORAT gemeint.

  2. Parameterart KY: Wird der dort genannte Schlüssel in der betreffenden Anforderung mehrfach ausgewählt, so ist hier analog zu GESAMT anzugeben, das wievielte Auftreten dieses Schlüssels gemeint ist. Dies wird im Paramterinhalt angegeben, z.B. Paramterinhalt = (02) (in runden Klammern das wievielte Auftreten dieses Schlüssels)

5 Individuelle Textierung von ASS-Statistiken

ASS-Auswertungen weisen normalerweise Standard-Seiten- und -Spaltenüberschriften auf. Diese Standards können installationsabhängig angepasst bzw. durch die Definitionen der Werte- oder Schlüsselparameter festgelegt werden. Falls Sie für eine bestimmte Auswertung individuelle Seiten- oder Spaltenüberschriften definieren wollen, so bietet ASS die Möglichkeit, in der Listanforderung diese Überschriftendefinitionen vorzunehmen.

Zulässige Zeichen

In Überschriften können alle druckbaren Zeichen außer dem einfachen Hochkomma verwendet werden.

5.1 Erfassung von Seitenüberschriften

5.1.1 Anforderung von Seitenüberschriften (Dialoganforderung)

Zur Anforderung individueller Seiten- oder Gesamtüberschriften ist, falls nur eine Zeile gewünscht wird, diese Überschrift direkt in die oberste Eingabezeile der Verteilermaske VS101 einzutragen. Will man mehrere Überschriftenzeilen anfordern, so bietet sich die Verzweigung von der Maske VS101 über das Kommando UE an. In dem Überschriftenerfassungsbild VS106 können dann bis zu 5 Überschriften erfasst werden.
Eine Überschriftszeile hat eine maximale Länge von 190 Zeichen. Sie wird in drei Teilen angezeigt:
In einer Zeile von 78 und in zwei Fortsetzungszeilen von 79 und 33 Zeichen.

Kopieren von Überschriften aus anderen Listanforderungen

Einmal erfasste Seitenüberschriften in Anforderungen der Anforderungsbibliotheken können Sie in neue Listanforderungen kopieren.
Dazu sind folgende Schritte erforderlich:

Trägt man in Teil1 der ersten Überschriftszeile in den ersten 8 Stellen linksbündig den Namen einer bereits existierenden Listanforderung der Standard-Bibliothek (B-Bibliothek) ein und drückt die PF4-Taste, so werden die Seitenüberschriften aus der bereits existierenden Listanforderung in die Erfassungsmaske kopiert. Der Anwender muss jedoch die Zugriffsberechtigung für die bereits existierende Listanforderung haben.

Einfügen von Überschriftszeilen mittels I-Kommando

Geben Sie in Teil1 einer Überschriftszeile den Buchstaben "i" ein und löschen den Rest der betreffenden Zeile mit Blanks durch, so werden die bereits erfassten Seitenüberschriften in der Maske um eine Zeile nach unten verschoben und so eine freie Zeile eingefügt. Installationsabhängig kann das Aktivieren der Insert-Funktion auf eine PF-Taste gelegt werden (vergleiche Installations- handbuch). In diesem Fall wird bei Betätigung der Datenfreigabe-taste der Buchstabe i bzw. I als gewöhnliche Eingabe akzeptiert.

Durch Betätigen der PF3-Taste können leere Überschriftszeilen, die durch das i-Kommando erzeugt wurden, wieder beseitigt werden.

5.1.2 Anforderung von Seitenüberschriften (BATCH-Anforderungssprache)

Individuelle Seitenüberschriften können Sie über den Statement-Bezeichner "UEBERSCHRIFT:" bzw. "UE:" anfordern.
Nachfolgend werden, zwischen Hochkommata gesetzt, die gewünschten Überschriften definiert. Es sind maximal 5 bis zu 200 Zeichen lange Zeichenketten möglich. Mehrere Überschriften müssen durch Kommata getrennt sein und hinter der letzten Überschrift muss ein Semikolon gesetzt werden.

Beispiel:
UEBERSCHRIFT: 'Ueberschriftszeile1', 'Ueberschriftszeile2';
oder kürzer:
UE: 'Ueberschriftszeile1', 'Ueberschriftszeile2';

5.1.3 Variable in Seitenüberschriften

Wahlweise können Sie Variablen in Überschriften einblenden. Die Variablen werden durch ein Schlüsselwort angesprochen. Dieses Schlüsselwort wird dann beim Drucken einer Überschrift durch den aktuellen Variableninhalt ersetzt.

Folgende Variablen stehen zur Verfügung

Variablenname Bedeutung und Darstellungsform
&&SEITESeitenzähler, 4 Ziffern, führende Nullen werden durch Blank ersetzt
&&NAME8-stelliger Name der Listanforderung
&&DATUMDatum des Programmlaufs in der Form JJ.MM.TT
&&ZEITZeit des Programmlaufs in der Form HH:MM
&&KSnInhalt des n-ten Kopfschlüssels
&&KSiEnn-ter Teil des i-ten Kopfschlüssels (jedoch nur, wenn im User-Exit MCL0097 vorgesehen)
&&KSiNder i-te Kopfschlüssel wird nicht dargestellt

Beispiel:

UE: 'Seite = &&SEITE Name = &&NAME Datum = &&DATUM Zeit = &&ZEIT';

ergibt: Seite = 1010 Name = TESTBSP1 Datum = 10.08.89 Zeit = 11:16

Beispiel für &&KSn , wenn ZEITRAUM=(0188) 1. Kopfschlüssel ist:

UE: 'Dies ist eine Anforderung für den Monat &&KS1';

ergibt: Dies ist eine Anforderung für den Monat 01.88

Folgende Besonderheiten sind zu beachten:

Anmerkung:

ASS arbeitet intern mit einer maximalen Überschriftenlänge von 200 Zeichen. Durch Ersetzen von Variablen bzw. von dynamischen Zeitangaben (siehe 5.5) werden bestimmte eingegebene Zeichen nach rechts oder links in der Darstellung verschoben. Weiterhin ist die Blattbreite i. a. unterschiedlich. Es ist daher nicht immer sinnvoll, alle möglichen Zeichen (ONLINE 190, BATCH 200) anzugeben, da u. U. Überschriften am Ende abgeschnitten werden.

5.2 Erfassung von Spaltenüberschriften

Für die Erfassung ist ein spaltenorientiertes und ein zeilenorientiertes Vorgehen möglich.

5.2.1 Zeilenorientierte Erfassung

Setzt man das doppelte Nummernsymbol ## linksbündig in die erste Eingabezeile bzw. an den Anfang eines Überschrifttextes, so erwartet ASS eine zeilenorientierte Erfassung der Überschriften. Alle Zeichen, die Sie nach den doppelten Gitterzeichen angeben, beziehen sich auf die entsprechende Zeile über den Spalten.

Eine neue Zeile wird - das gilt für alle Spalten - durch erneutes Setzen des doppelten Gitterzeichens am Anfang einer freien Eingabezeile vorgeschoben. Auf diese Weise können bis zu 18 Zeilen in der Dialog-Anforderung und bis zu 20 Zeilen in der BATCH-Sprache für die Spaltenüberschriften angefordert werden. Der zeilenorientierte Erfassungsmodus ist anzuwenden, wenn mehr als 18 bzw. 20 Spalten zu textieren sind oder wenn über den Spalten durchgehende Zeilentexte gewünscht werden.

Benutzt man statt des doppelten Nummernsymbols das dreifache ### , so beginnen die Überschriften schon über dem Zeilenbereich. Eingegebene Zeilenüberschriften werden dann nicht angezeigt.

Beispiel:

Online:

    ##SPALTE1     SPALTE2     SPALTE3...........
    ##     DM           %      STUECK...........

bzw. BATCH-Sprache:

    SU: '##SPALTE1     SPALTE2      SPALTE3',
        '##     DM           %       STUECK';

ergibt:

            SPALTE1     SPALTE2     SPALTE3
                 DM           %      STUECK

5.2.2 Spaltenorientierte Erfassung

Bei diesem Erfassungsmodus bezieht sich jede Eingabezeile auf eine Spalte. Es können maximal 18 Spalten in der Dialog-Anforderung und maximal 20 Spalten in der BATCH-Sprache textiert werden. Wollen Sie für eine Spalte mehrere Überschriftszeilen haben, so können Sie mit einem Vorschubsymbol, in der Regel dem Paragraphenzeichen '§', einen Zeilenvorschub, bezogen auf die jeweilige Spalte, bewirken. Installationsabhängig kann dieses Vorschubzeichen auch das Klammeraffenzeichen sein. Es wird nicht gedruckt.

In einer Zeile können maximal 60 Zeichen vorkommen.

Beispiel:

Online:

    SPALTE1§§    DM...................
    SPALTE2§      %...................
    SPALTE3§ STUECK...................

BATCH-Sprache:

    SU: 'SPALTE1§§    DM','SPALTE2§    %','SPALTE3§STUECK';

ergibt:

    SPALTE1     SPALTE2     SPALTE3
                      %      STUECK
         DM

5.2.3 Anforderung von Spaltenüberschriften (Dialoganforderung)

Zur Anforderung individueller Spaltenüberschriften wird vom Verteilerbild VS101 über das Kommando SU verzweigt. In der Erfassungsmaske VS107 können Spaltenüberschriften definiert werden.

Kopieren von Spaltenüberschriften aus anderen Listanforderungen

Einmal erfasste Spaltenüberschriften in Anforderungen der Anforderungsbibliotheken können Sie in neue Listanforderungen kopieren. Dazu sind folgende Schritte zu unternehmen:

Trägt man in der ersten Spaltenüberschriftszeile in den ersten 8 Stellen linksbündig den Namen einer bereits existierenden Listanforderung der Standard-Bibliothek (B-Bibliothek) ein und drückt die PF4-Taste, so werden die Spaltenüberschriften aus der bereits existierenden Listanforderung in die Erfassungsmaske kopiert. Man muss jedoch die Zugriffsberechtigung für die bereits existierende Listanforderung haben.

Einfügen von Spaltenüberschriftszeilen mittels I-Kommando

Sie können, wenn Sie in einer Spaltenüberschriftszeile den Buchstaben "i" eintragen und den Rest der betreffenden Zeile mit Blanks durchlöschen, die bereits erfassten Überschriften in der Maske um 1 nach unten schieben und so eine zusätzliche Spaltenüberschrift einfügen.

Installationsabhängig kann das Aktivieren der Insert-Funktion auf eine PF-Taste gelegt werden (vergleiche Installationshand- buch). In diesem Fall wird bei Betätigung der Datenfreigabetaste der Buchstabe i bzw. I als gewöhnliche Eingabe akzeptiert.

Durch Betätigen der PF3-Taste können leere Spaltenüberschriftszeilen, die durch das i-Kommando erzeugt wurden, wieder zusammengeschoben werden.

5.2.4 Anforderung von Spaltenüberschriften (BATCH-Anforderungssprache)

Individuelle Spaltenüberschriften können über den Statement-Bezeichner "SPALTENUEBERSCHRIFT:" bzw. "SU:" angefordert werden. Nachfolgend werden, zwischen Hochkommata gesetzt, die gewünschten Überschriften definiert. Mehrere Überschriften sind durch Kommata zu trennen und hinter die letzte Überschrift ist ein Semikolon zu setzen.

Beispiel:
SPALTENUEBERSCHRIFT: 'Ueberschrift1', 'Ueberschrift2';

oder kürzer:
SU: 'Ueberschrift1', 'Ueberschrift2';

5.3 Erfassung von Zeilenüberschriften

Zeilenüberschriften sind Überschriften, die über dem Zeilenbereich stehen. Sie können individuell gestaltet werden. Die standardmäßigen Zeilenüberschriften werden in diesem Fall übersteuert.
Zeilenüberschriften werden immer spaltenorientiert eingegeben, die Spaltenbreite wird an die Länge der Überschrift angepasst. Die Überschriften dürfen mehrzeilig sein. Dazu muss mit einem installationsabhängigen Vorschubsymbol, in der Regel dem Paragraphenzeichen '§', ein Zeilenvorschub, bezogen auf die jeweilige Spalte, bewirkt werden. Das Vorschubzeichen wird nicht gedruckt. In einer Zeile können maximal 60 Zeichen vorkommen.

Beispiel:

Online:

    SCHLUESSEL1§      TARIF...........
    SCHLUESSEL2§    DYNAMIK...........

BATCH-Sprache:

    ZU: 'SCHLUESSEL1§      TARIF','SCHLUESSEL2§    DYNAMIK';

ergibt:

    SCHLUESSEL1    SCHLUESSEL2
          TARIF        DYNAMIK

5.3.1 Anforderung von Zeilenüberschriften (Dialoganforderung)

Zur Anforderung individueller Zeilenüberschriften wird vom Verteilerbild VS101 über das Kommando "ZU" verzweigt. In der Erfassungsmaske VS107 können Zeilenüberschriften definiert werden. Es stehen 4 Eingabezeilen zur Verfügung, Hochkommata dürfen nicht verwendet werden.

Kopieren von Zeilenüberschriften aus anderen Listanforderungen

Einmal erfasste Zeilenüberschriften in Anforderungen der Anforderungsbibliotheken können Sie in neue Listanforderungen kopieren. Dazu müssen folgende Schritte unternommen werden:

Trägt man in der ersten Zeilenüberschriftszeile in den ersten 8 Stellen linksbündig den Namen einer bereits existierenden Listanforderung der Standard-Bibliothek (B-Bibliothek) ein und drückt die PF4-Taste, so werden die Zeilenüberschriften aus der bereits existierenden Listanforderung in die Erfassungsmaske kopiert. Voraussetzung ist jedoch die Zugriffsberechtigung für die bereits existierende Listanforderung.

Einfügen von Zeilenüberschriftszeilen mittels I-Kommando

Sie können, wenn Sie in einer Zeilenüberschriftszeile den Buchstaben "i" eintragen und den Rest der betreffenden Zeile mit Blanks durchlöschen, die bereits erfassten Überschriften in der Maske um 1 nach unten schieben und so eine zusätzliche Zeilenüberschrift einfügen.

Installationsabhängig kann das Aktivieren der Insert-Funktion auf eine PF-Taste gelegt werden (vergleiche Installationshand- buch). In diesem Fall wird bei Betätigung der Datenfreigabetaste der Buchstabe i bzw. I als gewöhnliche Eingabe akzeptiert.

Durch Betätigen der PF3-Taste können leere Zeilenüberschriftszeilen, die durch das i-Kommando erzeugt wurden, wieder zusammengeschoben werden.

5.3.2 Anforderung von Zeilenüberschriften (BATCH-Anforderungssprache)

Individuelle Zeilenüberschriften können über den Statement-Bezeichner "ZU:" angefordert werden. Nachfolgend werden, zwischen Hochkommata gesetzt, die gewünschten Überschriften definiert. Mehrere Überschriften sind durch Kommata zu trennen und hinter der letzten Überschrift ist ein Semikolon zu setzen.

5.4 Textierung von Kopfschlüsseln

Kopfschlüssel können mit ihrer Schlüsselbezeichnung oder ihrer Schlüsselabkürzung oder der Schlüsselüberschrift im Arbeitsgebiet oder mit den Standardtexten WERTE bzw. ZEITRAUM bezeichnet werden.
Eine entsprechende Bezeichnung pro Listanforderung kann bei den Seitenüberschriften angegeben werden. Die Überschriften werden hierbei analog zu &&KSn auch für Textierungen benutzt. Mit der Angabe ##n STRING wird der n-te Kopfschlüssel bezeichnet.

Beispiel: ##3 "Vertreter" ##12 "Postleitzahl" Der 3. Kopfschlüssel wird mit Vertreter, der 12. mit Postleitzahl bezeichnet.

Die erste Überschriftszeile der Anforderung, die mit ## beginnt, definiert den Anfang der beschriebenen Bezeichungen. Die Zeilen ab hier erscheinen nicht im Listbild.

Statt ## kann installationsabhängig auch ein beliebiger anderer Bezeichner definiert werden: Auf der Textdatenbank ist dieser unter "KS-BEZ-TEXT" (Textnr. D A 35) anzugeben.

Es stehen insgesamt 10 Überschriftszeilen zur Verfügung. Im Listbild werden jedoch höchsten die ersten fünf Überschriftszeilen angezeigt.

5.5 Zeitangaben in Überschriften

Über eine Anforderungszeichenkette können relativ zu einem Bezugszeitpunkt Zeitangaben in Überschriften einbezogen werden. Dazu muss bei der Festlegung des Zeitraumes ein Bezugsmonat definiert werden, auf den sich die Zeitraumangaben der Überschriften beziehen. Wird nicht ausdrücklich ein solcher Monat angegeben, so nimmt ASS als Standardannahme den aktuellen Monat an. Die Funktion des Bezugszeitraumes in Überschriften wird am einfachsten durch einige Beispiele erläutert. Der gültige Bezugsmonat sei 0199:

REL.ZEITANGABE GEDRUCKTE ZEICHEN BEDEUTUNG
(MP00)01Monat Plus 00
(MM01)12Monat Minus 01
(MP03)04Monat Plus 03
 
(JP00)99Jahr Plus 00
(JM01)98Jahr Minus 01
(JP03)02Jahr Plus 03
 
(BM00)0199Bezugsmonat Plus 00
(BM01)1298Bezugsmonat Minus 01
(BP03)0499Bezugsmonat Plus 03

Der String (XXXX) kann an jeder Stelle von Überschriften und Zeilen-/Spaltenüberschriften eingefügt werden. Die sechs Zeichen des Strings werden durch zwei zu druckende Zeichen ersetzt.

Bei den relativen Zeitangaben sind auch 3-stellige Zahlen zulässig, z. B. (BM001).

6 Kommentare in ASS-Auswertungen

6.1 Anforderung von Kommentaren in der Dialog- Verarbeitung

In ASS-Listanforderungen können bis zu zehn Zeilen Kommentar angegeben werden.

Von der Verteilermaske VS101 verzweigen Sie über das Kommando KO zur Erfassung von Kommentarzeilen. In der Maske VS119 erscheinen dann 10 Eingabezeilen für Kommentare, in die alle druckbaren Zeichen eingegeben werden können, außer den Zeichenfolgen "/*" und "*/".

Kommentare werden zusammen mit dem Anforderungsprotokoll von Auswertungen ausgegeben, die über BATCH-Programme ausgewertet und gedruckt werden. Daneben können Sie Kommentare in der Dialoganwendung dazu nutzen, Anforderungen in den Bibliotheken der Anforderungsdatenbank zu kommentieren (Bibliotheks-Übersicht) und Inhalte von Parametern zu besetzen (siehe Kap. 9.4).
Für die angelisteten Elemente werden dann neben dem Namen diese Kommentarzeilen mitausgegeben. Sie informieren den Anwender über die Aufgaben und Eigenschaften bestimmter Anforderungen.

Kopieren von Kommentaren aus anderen Listanforderungen

Einmal erfasste Kommentare in Anforderungen der Anforderungsbibliotheken können Sie in neue Listanforderungen kopieren. Dazu dienen folgende Schritte:

In die erste Kommentarzeile in den ersten acht Stellen linksbündig den Namen einer bereits existierenden Listanforderung der Standard-Bibliothek (B-Bibliothek) eintragen und dann die PF4-Taste drücken; dann werden die Kommentare aus der bereits existierenden Listanforderung in die Erfassungsmaske kopiert. Man muss jedoch die Zugriffsberechtigung für diese bereits existierende Listanforderung haben.

Einfügen von Kommentarzeilen mittels I-Kommando

Sie können, wenn Sie in einer Kommentarzeile den Buchstaben "i" eintragen und den Rest der betreffenden Zeile mit Blanks überschreiben, die bereits erfassten Kommentarzeilen in der Maske um eine Zeile nach unten schieben und so eine zusätzliche Kommentarzeile einfügen.

Durch Betätigen der PF3-Taste können leere Kommentarzeilen, die durch das i-Kommando erzeugt wurden, wieder beseitigt werden.

6.2 Anforderung von Kommentaren (BATCH-Sprache)

Kommentare können an jeder Stelle der Listanforderung aufgenommen werden. Sie müssen von den ASS-Begrenzern "/*" und "*/" umschlossen sein. Es sind außer diesen beiden Kommentarbegrenzern alle druckbaren Zeichen zugelassen. Innerhalb der Kommentare können Variableninhalte definiert werden (siehe Kap. 9).

7 Rechnen mit Werten, Zeiten oder Schlüsselinhalten (Formeln)

7.1 Anforderung von Formeln

Formeln sind temporär aus Elementen der Datenbasis - über Berechnungen mit Direktwerten - erzeugte Kategorien. Entsprechend der drei Grundelemente der Datenbasis gibt es drei Arten von Formeln:

Formeln können also an Stellen angefordert werden, an denen

stehen kann.

Dabei dürfen maximal zu zwei Spaltenschlüsseln Formeln angefordert werden.

Weitere Beschränkungen liegen für besondere Funktionen vor. (siehe hierzu weiter unten in Kap. 7)

Aufbau von Formeln

Formeln bestehen aus einer Formelbezeichnung und einem arithmetischen Ausdruck:

BEZEICHNUNG = arithmetischer Ausdruck

BEZEICHNUNG ist eine beliebige Zeichenkombination. Es gibt zwei Arten von Formeln, die sichtbaren (auflistbar) und die unsichtbaren (werden nie aufgelistet). Eine unsichtbare Formel erhalten Sie, wenn Sie für BEZEICHNUNG einen Namen wählen, der mit "NN" beginnt.

Beispiel:
NNFORMEL1 = '0185' + '0285'
EXFORMEL2 = NNFORMEL1 + 10

NNFORMEL1 erscheint nicht auf der Liste, ihr Wert fließt aber in EXFORMEL2 ein, die ausgedruckt wird, da sie keinen NN-Formelnamen trägt.

Für die Beschreibung der Formel haben wir die Form des arithmetischen Ausdrucks gewählt. Auf diese Weise können sehr viele, recht unterschiedliche Berechnungen vorgenommen werden. Allerdings bedingt diese Freiheit bei der Erfassung und der Kombination einen weitgehenden Verzicht auf Benutzerführung im Dialog. Die Erfassung der arithmetischen Ausdrücke in Formeln ist daher für Dialog und BATCH-Sprache identisch, mit einer Ausnahme: Das Nachkomma muss in der BATCH-Sprache ein Punkt sein, also z.B. 1.2345 statt 1,2345. In den Dialog-Masken kann Komma oder Punkt verwendet werden, wobei ein Punkt nach Betätigung der Eingabetaste als Komma angezeigt wird.

Formeloperationen und -operanden

Die Priorität der Operationen ist die allgemein übliche:

  1. ** Exponentiation (potenzieren und radizieren)
  2. * Multiplikation / Division
  3. + Addition - Subtraktion.

Innerhalb gleicher Priorität wird von links nach rechts ausgewertet. Ist eine andere Reihenfolge gewünscht, so sind runde Klammern zu benutzen.

Des weiteren gibt es noch folgende Restriktionen:

Division x / y y ^= 0 (Division durch 0)
Exponentiation x ** y y ganzzahlig für x < 0 y >= 0 für x = 0 (0 ** 0 := 1)

Beispiel:

Für ganzzahliges und positives n ist

potenzieren x ** n x beliebig
radizieren x ** (1 / n) x >= 0

7.2 Werteformeln

Zulässige Operanden bei Werteformeln (Erläuterungen s. u.)

An eine Werteformel kann noch Druckaufbereitungsinformation angehängt werden. Sie wird von der eigentlichen Formel durch ein Komma getrennt und in Klammern eingeschlossen.

Dies ist bei Werteformeln in der Online-Verarbeitung sowie in sämtlichen Werten in der Batch-Sprache möglich.

Eine Aufbereitung hat folgende Form: AUFBEREITUNG := (STELLENZAHL,NACHKOMMASTELLEN, DIMENSION,SVZ,^S)

Parameter können von hinten einfach weggelassen werden, von vorn oder aus der Mitte müssen die nachfolgenden Kommata gesetzt werden.

Beispiele:

,(6,2,DM,SVZ,^S,,DBZ) : 6 Stellen, davon 2 Nachkommastellen mit Dimension DM und mit einer Abarbeitungsregel (SVZ: Spalte vor Zeile), wenn es sich um eine Formel handelt. Falls die Werte als Spaltenschlüssel angefordert sind, werden in den entsprechenden Spalten keine Sternsummen gebildet (^S).

,(6,2) : 6 Stellen, davon 2 Nachkommastellen, Dimension ist nicht angegeben (blank)

,(6,,DM) : 6 Stellen, davon 0 Nachkommastellen, Dimension DM

,(,,,SVZ) : Besagt für eine Formel, dass zuerst die Spalte und danach die Zeile für die Berechnung herangezogen werden soll

,(,,,,^S) : Nur wirksam, wenn Werteschlüssel in der Spalte angefordert ist. Dann werden in den Formelspalten keine Sternsummen gebildet.

,(,,,,,,DBZ) : Option 'Dimension bei Zahl'.

Werte mit einfacher Anforderung

Wird in einer Auswertung mit dem Schlüssel ZEITRAUM operiert und ist die Arbeitsgebietszuordnung eindeutig, so können die Werte auch in Werteformeln über eine einfache Anforderung angesprochen werden. Es genügt dann, die Bezeichnung bzw. Abkürzung des Wertes zu nennen.

Beispiel: AUSZAHLUNG = LEISTUNG - ABZUEGE

Werte mit erweiterter Anforderung

Zu jedem Wert in einer Formel können Zusatzangaben definiert werden. Diese stehen, durch Kommata getrennt, in einem Klammerausdruck hinter der Wertebezeichnung oder -abkürzung. Folgende Zusatzangaben sind möglich:

Zeitangabe

Wird in einer Auswertung der Schlüssel ZEITRAUM weggelassen, so müssen zu jedem Wert, also auch zu den Werten in Werteformeln, Zeitangaben definiert werden. Zeitangaben erwartet ASS immer als erste Zusatzoption. Werden andere Zusatzangaben vorgenommen, ohne Zeitangaben, so muss ASS das Fehlen der Zeitangaben durch ein vorausgehendes Komma angezeigt werden.

Beispiele:
ohne Zusatzoption:
AUSZAHLUNG = LEISTUNG(0196)
AUSZAHLUNG = LEISTUNG(0196-1296)
mit Zusatzoptionen:
AUSZAHLUNG = LEISTUNG (0199,AGNR=1) - ABZUEGE (0199,AGNR=1)
AUSZAHLUNG = LEISTUNG (,AGNR=1) - ABZUEGE (,AGNR=1)

Für die Angabe der Zeiten gelten die gleichen Regeln wie für die Auswahl von Zeiten zum Schlüssel ZEITRAUM. Es wird daher auf die Kap. 4.5.1 'Absolute Zeitangaben' und Kap. 4.5.2 'Relative Zeitangaben' verwiesen.

Arbeitsgebietsangabe

Ist die Zuordnung eines Wertes zu den ausgewählten Arbeitsgebieten nicht eindeutig, so muss auch in den Werteformeln eine Zusatzangabe zum Wert vorgenommen werden. Das Arbeitsgebiet wird über seine Nummer in dem Ausdruck AGNR = referenziert.

Beispiel:
AUSZAHLUNG = LEISTUNG (,AGNR=1) - ABZUEGE (,AGNR=1)

Kurzschreibweise:
Um gleichlautende Werte aus verschiedenen Arbeitsgebieten zu summieren, kann statt
LEISTUNG (,AGNR = 1) + LEISTUNG (, AGNR = 2)
auch
LEISTUNG (,AGNR = 1 + 2)
geschrieben werden. Max. 11 AG-Nummern können summiert werden, wobei auch subtrahiert werden kann. Der Begriff
LEISTUNG (,AGNR = 1 - 2 + 3)
wird aufgelöst nach
LEISTUNG (,AGNR = 1) - LEISTUNG (,AGNR = 2) + LEISTUNG (,AGNR = 3),
es entstehen ASS-intern also 5 Werteoperanden (wichtig, da deren Gesamtanzahl begrenzt ist).

Inhalts-, *- und Schlüsselbedingungen

Zu einem Wert können zusätzlich bis zu 20 Inhalts-, *- und Schlüsselbedingungen ausgewählt werden, die nur für diesen Wert selektiv wirken. Mehrere Bedingungen zu einem Wert sind als UND-Verknüpfungen zu interpretieren.

ODER-Verknüpfung

In einer Werteformel kann aber ein Wert mehrmals angesprochen werden. Auf diese Weise kann über die Summierung mehrerer Wertanforderungen desselben Wertes mit verschiedenen Schlüsselbedingungen eine ODER-Verknüpfung erreicht werden.

Form

Inhaltsbedingungen werden in der Form

VERGLEICHSOPERATOR VERGLEICHSINHALT

angefordert, *-Bedingungen werden in der Form

= * oder ^= *

angefordert, Schlüsselbedingungen werden in der Form

SCHLUESSEL VERGLEICHSOPERATOR SCHLUESSELINHALT

angefordert.

Der Schlüssel wird über seine Bezeichnung oder seine Abkürzung angesprochen. Folgende Vergleichsoperatoren sind zulässig:

'=', '^=', '<', '<=', '>', '>=' Bei Schlüsseln mit ZEIT-TYP (siehe ST06) sind auch chronologische Vergleiche möglich, siehe 4.4.1.

Inhaltsbedingung

Ein Vergleichsinhalt ist eine (negative) Zahl, die Nachkommastellen haben kann. Eine negative Zahl wird durch ein vorangestelltes Minus gekennzeichnet, Plus ist als Vorzeichen nicht zulässig. Die Position des Kommas wird durch ein Komma oder einen Punkt markiert.

*-Bedingungen

ERGEBNIS = LEISTUNG(, ^= *) + ABZUEGE (, = *) In Zwischen- oder Endsummenzeilen (*-Zeilen) liefert die obige Formel die Summe aller ABZUEGE, in den anderen Zeilen wird die jeweilige LEISTUNG dargestellt. *-Bedingungen werden nur berücksichtigt, wenn WERTE als Spaltenschlüssel angefordert ist.

Schlüsselbedingungen

Ist der genannte Schlüsselinhalt kein ASS-Bezeichner, so muss er in Hochkommata gesetzt werden.

Wird der Vergleichsoperator "=" benutzt, so muss die damit angesprochene Schlüsselausprägung existieren. Wird der zugehörige Schlüssel als Kopf-, Zeilen- oder Spaltenschlüssel selektiert, so muss die genannte Ausprägung dort auch selektiert worden sein, entweder explizit als Einzelausprägung, als Formeloperand oder als Mitglied einer Menge.

Bei den Vergleichsoperatoren "=" und "^=" ist die Angabe von Fragezeichen (Maskierung) im Schlüsselinhalt zulässig (vergleiche Kap. 4.4.1).

Beispiel:

Die Leistungen der Klassen 010 und 020 sollen mit 10 bzw. 20 Prozent Mehrwertsteuer gewichtet werden und als AUSZAHLUNGswert berechnet werden. In Abhängigkeit von den drei Ausprägungen des Schlüssels KLASSE soll der Wert LEISTUNG um einen bestimmten Mehrwertsteuersatz erhöht werden: 7% für die Ausprägung 010, 16% für die Ausprägung 020, kein Mehrwertsteuersatz für die Ausprägung 025. Eine derartige Aufgabe kann durch folgende Anforderung gelöst werden:

      ASS;
       AG:  9;
       KS:  ZEITRAUM = ( 0199);
       ZS:  KLASSE = ( 010,020,025);
       SS:  WERTE = (ANTEIL = (LEISTUNG +
                               LEISTUNG (,KLASSE = 010)* 0.07 +
                               LEISTUNG (,KLASSE = 020)* 0.14));
      END;

Beachte: In der BATCH-Sprache wird das Nachkomma durch den Punkt dargestellt. In der Dialogmaske werden 0.07 und 0.14 durch 0,07 und 0,14 dargestellt.

Kurzschreibweise:
Ähnlich wie bei der Arbeitsgebietsangabe kann auch bei Schlüsselbedingungen von einer Kurzschreibweise Gebrauch gemacht werden. So wird der Ausdruck
LEISTUNG (,SPARTE = 'KR' + 'LE')
ASS-intern aufgelöst in
LEISTUNG (,SPARTE = 'KR') + LEISTUNG (,SPARTE = 'LE')
Solche Summen dürfen bei max. 10 Schlüsselbedingungen des Werteoperanden angefordert werden. Die Anzahl der hinzuaddierten Inhalte darf über alle Schlüsselbedingungen des Wertes gezählt max. 100 betragen (wobei der jeweils 1. Summand nicht mitzählt).
Es ist auch eine Kombination mit der Summierung über Arbeitsgebietsnummern möglich, wobei dann zunächst die AG-Nummern und dann die Schlüsselbedingungen von links nach rechts aufgelöst werden. Diese Reihenfolge ist nur relevant, wenn Subtraktionen stattfinden. So wird der Ausdruck
LEISTUNG (,AGNR = 1 - 2, SPARTE = 'KR' + 'LE' - 'UN', GEBIET = '01' - '02' + '03'),
zunächst aufgelöst nach
LEISTUNG (,AGNR = 1, SPARTE = 'KR' + 'LE' - 'UN', GEBIET = '01' - '02' + '03')
-
LEISTUNG (,AGNR = 2, SPARTE = 'KR' + 'LE' - 'UN', GEBIET = '01' - '02' + '03'),
dann nach
LEISTUNG (,AGNR = 1, SPARTE = 'KR', GEBIET = '01' - '02' + '03') +
LEISTUNG (,AGNR = 1, SPARTE = 'LE', GEBIET = '01' - '02' + '03') -
LEISTUNG (,AGNR = 1, SPARTE = 'UN', GEBIET = '01' - '02' + '03')
- (
LEISTUNG (,AGNR = 2, SPARTE = 'KR', GEBIET = '01' - '02' + '03') +
LEISTUNG (,AGNR = 2, SPARTE = 'LE', GEBIET = '01' - '02' + '03') -
LEISTUNG (,AGNR = 2, SPARTE = 'UN', GEBIET = '01' - '02' + '03')
)
und schließlich nach
LEISTUNG (,AGNR = 1, SPARTE = 'KR', GEBIET = '01') -
LEISTUNG (,AGNR = 1, SPARTE = 'KR', GEBIET = '02') +
LEISTUNG (,AGNR = 1, SPARTE = 'KR', GEBIET = '03')
+ (
LEISTUNG (,AGNR = 1, SPARTE = 'LE', GEBIET = '01') -
LEISTUNG (,AGNR = 1, SPARTE = 'LE', GEBIET = '02') +
LEISTUNG (,AGNR = 1, SPARTE = 'LE', GEBIET = '03')
)
- (
LEISTUNG (,AGNR = 1, SPARTE = 'UN', GEBIET = '01') -
LEISTUNG (,AGNR = 1, SPARTE = 'UN', GEBIET = '02') +
LEISTUNG (,AGNR = 1, SPARTE = 'UN', GEBIET = '03')
)
- (
LEISTUNG (,AGNR = 2, SPARTE = 'KR', GEBIET = '01') -
LEISTUNG (,AGNR = 2, SPARTE = 'KR', GEBIET = '02') +
LEISTUNG (,AGNR = 2, SPARTE = 'KR', GEBIET = '03')
+ (
LEISTUNG (,AGNR = 2, SPARTE = 'LE', GEBIET = '01') -
LEISTUNG (,AGNR = 2, SPARTE = 'LE', GEBIET = '02') +
LEISTUNG (,AGNR = 2, SPARTE = 'LE', GEBIET = '03')
)
- (
LEISTUNG (,AGNR = 2, SPARTE = 'UN', GEBIET = '01') -
LEISTUNG (,AGNR = 2, SPARTE = 'UN', GEBIET = '02') +
LEISTUNG (,AGNR = 2, SPARTE = 'UN', GEBIET = '03')
)
)

Es entstehen ASS-intern also 35 Werteoperanden (wichtig, da deren Gesamtanzahl begrenzt ist).

7.2.1 Standardannahme für Kommastelle und Dimension

Standardannahme für die Stellenzahl (vor Komma) ist 15, für die Nachstelle 0 und für die Dimension Blank.

7.2.2 GESAMT-Operand in Werteformeln

Bei Berechnungen in den Werten können Ergebnisse von Zwischen- oder Endsummenbildungen als Operanden verwendet werden, die sich auf einen Kopf- oder Zeilenschlüssel beziehen. Dazu ist der sogenannte GESAMT-Operand erforderlich, der nur in Werteformeln zulässig ist und nur, wenn WERTE als Spaltenschlüssel und der betreffende (echte) Schlüssel als Kopf- oder Zeilenschlüssel mit Zwischen- oder Endsumme angefordert wird. Das allgemeine Format für die Verwendung des Gesamt-Operanden sieht folgendermaßen aus:

GESAMT(Schlüssel,Wert,Summenniveau) oder GESAMT(Schlüssel,Wert)

Mit dem Gesamt-Operanden wird eine angeforderte und bei der Auswertung zur Verfügung stehende Summenzeile angesprochen. Über die Angabe des entsprechenden Schlüssels und die gewünschte Anzahl an Stern- bzw. Pluszeichen (Summenniveau) wird die jeweilige Zeile identifiziert, in der die anvisierte Summe steht, über den Wert die Spalte. Die erste auftretende Summenzeile, die das entsprechende Summenniveau repräsentiert, bleibt für die Berechnung in der Formel solange gültig, bis in der logischen Reihenfolge der Abarbeitung die nächste Summenzeile des gleichen Summenniveaus zur Ermittlung ansteht (d. h. die ursprüngliche Summe ist nicht mehr relevant) und somit auch in der Formel wirksam wird. Zur Berechnung wird also stets die nächste Zwischen- oder Endsumme des gewünschten Summenniveaus, die gerade für die Ausgabe vorbereitet wird, herangezogen.

Gibt man beim GESAMT-Operanden kein Summenniveau (Stern oder Plus) an, so nimmt ASS eine Endsummenanforderung (SUMME) für den jeweiligen Schlüssel an. Die nachfolgenden Beispielanforderungen sind daher in ihrer Wirkung identisch.

Beispiel:

GESAMT( REISETARIF , LEISTUNG,*) bzw. GESAMT( REISETARIF , LEISTUNG)

Es soll ermittelt werden, welchen Anteil die Leistungen in den einzelnen Tarifen an den gesamten Leistungen haben. Der Schlüssel REISETARIF habe die Ausprägungen 010, 015, 020.

Die Anforderung in BATCH-Sprache:

      ASS    ;
       AG :   REISEVERSICHERUNG  ;
       KS :   ZEITRAUM = ( 0199,0299 )  ;
       ZS:    REISETARIF ;
       SS:    WERTE = ( LEISTUNG ,
                        ANTEIL = LEISTUNG * 100 /
                                 GESAMT( REISETARIF , LEISTUNG,*) ,
                        ( 6 ,, % )   )  ;
      END  ;

oder gleichbedeutend:

      ASS    ;
       AG :   REISEVERSICHERUNG  ;
       KS :   ZEITRAUM = ( 0199,0299 )  ;
       ZS:    REISETARIF ;
       SS:    WERTE = ( LEISTUNG ,
                        ANTEIL = LEISTUNG * 100 /
                                 GESAMT( REISETARIF , LEISTUNG ) ,
                        ( 6 ,, % )   )  ;
      END  ;

Das Ergebnis:

         +----------------------------------+
         I  ASS                    SEITE 1  I
         I  ZEITRAUM: 0199                  I
         I  REISETARIF I LEISTUNG   ANTEIL  I
         I             I DM         %       I
         +-------------+--------------------+
         I  010        I   600,00       60  I
         I  015        I   300,00       30  I
         I  020        I   100,00       10  I
         I             I                    I
         I  *          I  1000,00      100  I
         +----------------------------------+

GESAMT bezieht sich hier auf die Summe 1000.

         +----------------------------------+
         I  ASS                    SEITE 2  I
         I  ZEITRAUM: 0299                  I
         I  REISETARIF I LEISTUNG   ANTEIL  I
         I             I DM         %       I
         +-------------+--------------------+
         I  010        I   600,00       40  I
         I  015        I   600,00       40  I
         I  020        I   300,00       20  I
         I             I                    I
         I  *          I  1500,00      100  I
         +----------------------------------+

GESAMT bezieht sich hier auf die Summe 1500.

Auch die Ergebnisse von Zwischensummenbildungen können, wie gesagt, als 'GESAMT'-Operanden in Werteformeln verwendet werden. Zum Beispiel soll ermittelt werden, welchen Anteil die Leistung im einzelnen Tarif an den Leistungen innerhalb einer Gruppe von Tarifen einnimmmt. Die Auswahl der Zwischensumme erfolgt durch die Anzahl der Sterne im 'GESAMT'-Operanden.

Die Anforderung in BATCH-Sprache:

      ASS    ;
       AG :  REISEVERSICHERUNG  ;
       KS :  ZEITRAUM = ( 0199 )  ;
       ZS:   REISETARIF = ( 010, 020, 025, 040, *,
                            081, 082, 090, 100, 110, 120, ** )  ;
       SS:   WERTE = ( LEISTUNG ,
                       ANTEIL = LEISTUNG * 100 /
                                GESAMT( REISETARIF , LEISTUNG , * ) ,
                       ( 6 , 2 , PROZ )   )  ;
      END ;

Ergebnis:

            +--------------------------------+
            I ASS                    SEITE 1 I
            I REISETARIF I LEISTUNG   ANTEIL I
            I            I DM         PROZ   I
            +------------+-------------------+
            I 010        I   100,00    50,00 I
            I 020        I    20,00    10,00 I
            I 025        I    30,00    15,00 I
            I 040        I    50,00    25,00 I
            I            I                   I
            I *          I   200,00   100,00 I
            I            I                   I
            I 081        I   320,00    71,11 I
            I 082        I    10,00     2,22 I
            I 090        I    40,00     8,88 I
            I 100        I    30,00     6,66 I
            I 110        I    30,00     6,66 I
            I 120        I    20,00     4,44 I
            I            I                   I
            I *          I   450,00   100,00 I
            I            I                   I
            I **         I   650,00    ----- I
            +------------+-------------------+

Zur Illustration von verschachtelten Formeln ist obiges Beispiel erweitert um die Berechnungen der gesamten und der nach männlich und weiblich gegliederten Anteile.

Anforderung:

     ASS;
      AG: 9;
      KS: ZEITRAUM = ( 0199 );
      ZS: REISETARIF;
      SS: WERTE = ( LEIST ,
                    ANTEIL = 'ANTEIL M' + 'ANTEIL W'       , (6,2,%) ,
                    NNTEIL = GESAMT(REISETARIF,LEIST) / 100, (15,4)  ,
                    'ANTEIL M' = LEIST(,GESCHLECHT=1)/NNTEIL,(6,2,%) ,
                    'ANTEIL W' = LEIST(,GESCHLECHT=2)/NNTEIL, (6,2,%));
      GR: SUMME = ( REISETARIF );
     END;

Anmerkungen:
Da ANTEIL M und ANTEIL W keine gültigen PL/I-Bezeichner sind (sie enthalten ein Leerzeichen), müssen sie in ' eingeschlossen werden. Die Formel NNTEIL wird nicht gedruckt, da sie unsichtbar ist (der Name beginnt mit dem Buchstabenpaar NN). Die Anordnung der einzelnen Formeln unterliegt im Spaltenschlüssel keinerlei Restriktionen.

Ergebnis:

    ARBEITSGEBIET:    9: REISEVERSICHERUNG

    ZEITRAUM: 0199

               I WERTE
               I       LEISTUNG    ANTEIL  ANTEIL M  ANTEIL W
    REISETARIF I             DM         %         %         %
    -----------------------------------------------------------
               I
    010        I         100,00     10,00      1,00      9,00
    015        I           1,00      0,10      0,07      0,03
    020        I          20,00      2,00      0,80      1,20
    025        I          30,00      3,00      1,20      1,80
    030        I          40,00      4,00      1,60      2,40
    040        I          50,00      5,00      1,00      4,00
    050        I          60,00      6,00      3,60      2,40
    055        I          70,00      7,00      1,40      5,60
    060        I          80,00      8,00      7,20      0,80
    065        I          99,00      9,90      2,00      7,90
    081        I         320,00     32,00      6,40     25,60
    082        I          10,00      1,00      0,60      0,40
    090        I          40,00      4,00      1,20      2,80
    100        I          30,00      3,00      0,60      2,40
    110        I          30,00      3,00      1,50      1,50
    120        I          20,00      2,00      1,20      0,80
               I
    *          I       1.000,00    100,00     31,37     68,63

7.2.3 TOTAL -Operand in Werteformeln

Während der GESAMT-Operand stets auf ausgewählte Werte und mögliche Zwischen- und Endsummen zu ausgewählten Schlüsselinhalten eines Schlüssels Bezug nimmt, greift der TOTAL-Operand immer auf alle Ausprägungen des angeforderten Schlüssels zu. Dabei werden die Teilbeträge aller Schlüsselausprägungen bzgl. des angeforderten Werts zu einer Summe zusammengefasst.

Für den Fall, dass in einer Anforderung alle Schlüsselinhalte eines Schlüssels ausgewählt wurden, liefern GESAMT- und TOTAL-Operand die gleichen Summen über die Teilbeträge aller Ausprägungen zum angeforderten Wert.

Bei Anwendung des TOTAL-Operanden sind nachstehende Einschränkungen zu beachten:
Dieser darf nur in Werteformeln und hier auch nur dann, wenn WERTE als Spaltenschlüssel angefordert ist, benutzt werden. Bei Rechenwerten ist die Verwendung des TOTAL-Operanden unzulässig. Der echte Schlüssel, auf den sich der TOTAL-Operand bezieht, darf nur ein Kopf- oder Zeilenschlüssel sein.

In einer Werteformel muss er in folgendem Format angegeben werden:

TOTAL ( Schlüssel , Wert ).

Häufigster Anwendungsfall des TOTAL-Operanden: Berechnungs des Anteils eines bestimmten Wertes einer Schlüsselausprägung am Gesamtwert aller Schlüsselinhalte des betrachteten Schlüssels.

Hierzu ein erläuterndes Beispiel:

Es soll ermittelt werden, welchen Anteil die Leistung eines einzelnen Tarifs an den Leistungen innerhalb aller Tarife einnimmt. Der auszuwertende Schlüssel soll REISETARIF heißen und besteht aus 10 Einzeltarifen.

    Tarife I Leistung
           I       DM
    -------I---------
      010  I  100,00
      020  I  200,00
      030  I   50,00
      040  I   50,00
      050  I  100,00
      060  I  130,00
      070  I   40,00
      080  I   30,00
      090  I  150,00
      100  I  150,00
      --------------
             1000,00

Hiervon sollen nun 5 Einzeltarife ausgewählt werden.

Die Anforderung in BATCH-Sprache :

      ASS;
       AG :  REISEVERSICHERUNG ;
       KS :  ZEITRAUM ( 0699 ) ;
       ZS :  REISETARIF = ( 010, 030, 050, 080, 100 , * ) ;
       SS :  WERTE = ( LEISTUNG ,
                       ANTEIL = LEISTUNG * 100 /
                                TOTAL ( REISETARIF , LEISTUNG ) ,
                                ( 6, 2, PROZ )
                     ) ;
      END;

Ergebnis:

             +-----------------------------------+
             I ASS                               I
             I REISETARIF  I  LEISTUNG    ANTEIL I
             I             I  DM          PROZ   I
             +-------------I---------------------+
             I   010       I  100,00      10,00  I
             I   030       I   50,00       5,00  I
             I   050       I  100,00      10,00  I
             I   080       I   30,00       3,00  I
             I   100       I  150,00      15,00  I
             I             I                     I
             I   *         I  430,00      43,00  I
             +-----------------------------------+

Anmerkung:

Eine Besonderheit tritt beim Anwenden des TOTAL-Operanden auf, die unserer gewohnten Vorstellung über Anteile in Prozent im ersten Augenblick zuwiderläuft, mathematisch gesehen jedoch völlig korrekt ist.

Ein Beispiel verdeutlicht diesen Zusammenhang: Stellen wir uns zum Schlüssel Geschäftsstelle mit den 3 Ausprägungen München, Hamburg und Köln und zum WERT Vertragsanzahl folgende Zahlenwerte vor.

        I-------------I----------------I-----------I
        I GESCHAEFTS- I VERTRAGS-      I ANTEIL    I
        I STELLE      I ANZAHL      DM I        %  I
        I-------------I----------------I-----------I
        I  Hamburg    I        2000    I     50,00 I
        I  München    I      - 5000    I  - 125,00 I
        I  Köln       I        7000    I    175,00 I
        I-------------I----------------I-----------I
        I  Summe      I        4000    I    100,00 I
        I-------------I----------------I-----------I

Die Summe der Vertragsanzahl aller drei Geschäftsstellen entspricht genau 100 Prozent. In der Spalte ANTEIL sieht man nun, dass bei Auswahl von Geschäftsstelle München oder Köln der Anteil der Vertragsanzahl bzgl. der Summe über alle Verträge einen Wert von über 100 Prozent annehmen kann.
Dies tritt aber nur auf, wenn der Werteinhalt bei einzelnen Ausprägungen eines Schlüssels negative Zahlenwerte besitzt.

7.2.4 KUMUL -Operand in Werteformeln

Beschreibung

Fordert man in einer Werteformel den KUMUL-Operanden bezüglich eines Wertes und eines Schlüssels an, so werden zu allen Ausprägungen dieses Schlüssels bzw. zu allen Schlüsseln und Schlüsselausprägungen, die dem angegebenen Schlüssel in der Auswertung untergeordnet sind ( KS > ZS > SS, niedrigerer ZS/SS ), die aufgelaufenen Wertesummen angezeigt.

Allgemeine Form des KUMUL-Operanden:

KUMUL ( Schlüssel , Wert ( Optionen )), Aufbereitung

Restriktionen

Für die Verwendung des KUMUL-Operanden sind folgende Restriktionen zu beachten:

Beispiel:

Die Neuaufträge sollen für den Monat 0599 nach LAND und WERK gegliedert aufgelistet werden. Zusätzlich soll in zwei weiteren Spalten jeweils die kumulierte Summe nach den Schlüsseln LAND bzw. WERK erscheinen.

Die Anforderung in BATCH-Sprache :

      ASS;
       AG :  LEISTUNGS_STATISTIK ;
       KS :  ZEITRAUM ( 0599 ) ;
       ZS :  LAND ,
             WERK ;
       SS :  WERTE = ( NEUAUFTRAEGE ,
                       KUMUL_WERK = KUMUL ( WERK , NEUAUFTRAEGE ) ,
                       KUMUL_LAND = KUMUL ( LAND , NEUAUFTRAEGE ));
      END;

Ergebnis:

    +------------------------------------------------------------+
    I ASS                                                        I
    I ARBEITSGEBIET: LEISTUNGSSTATISTIK                          I
    I ZEITRAUM: 0599                                             I
    I                                                            I
    I                   I NEUAUFTRAEGE   KUMUL_WERK   KUMUL_LAND I
    I LAND      WERK    I           DM           DM           DM I
    +-------------------+----------------------------------------+
    I BAYERN    15      I        2.849        2.849        2.849 I
    I           21      I        1.526        4.375        4.375 I
    I           82      I        3.538        7.913        7.913 I
    I           87      I          768        8.681        8.681 I
    I                                                            I
    I HESSEN    15      I       10.932       10.932       19.613 I
    I           21      I        3.795       14.727       23.408 I
    I           82      I          330       15.057       23.738 I
    I           87      I           18       15.075       23.756 I
    +------------------------------------------------------------+

7.2.5 RANG -Operand in Werteformeln

Beschreibung

Fordern Sie in einer Werteformel den RANG-Operanden bezüglich eines echten oder über eine andere Werteformel berechneten Wertes und eines Schlüssels an, wird zu allen Ausprägungen dieses Schlüssels bzw. zu allen Ausprägungen der Schlüssel, die dem angegebenen Schlüssel in der Auswertung untergeordnet sind ( KS > ZS > SS, niedrigerer ZS/SS ), eine aufsteigende Rangfolge nach absteigender Wertegröße geliefert.

Allgemeine Form des RANG-Operanden

RANG ( Schlüssel , Wert ( Optionen )), Aufbereitung

Restriktionen

Für die Verwendung des RANG-Operanden sind folgende Restriktionen zu beachten:

Beispiel:

Die Neuaufträge sollen für die Monate 0190 und 0290 nach LAND und WERK gegliedert aufgelistet werden. Über eine Werteformel soll die Steigerung von 0190 bis 0290 berechnet werden.
Die Rangfolge soll zunächst nach Neuaufträgen 0190 über alle Länder und Werke bzw. über alle Werke innerhalb eines Landes ermittelt werden.
In zwei weiteren Spalten soll diese Rangfolge jetzt bezüglich der Steigerung der Neuaufträge berechnet werden. Die Anforderung in BATCH-Sprache :

      ASS;
       AG :  LEISTUNGS_STATISTIK ;
       ZS :  LAND = ( 110, 112 ),
             WERK ;
       SS :  WERTE = ( NEU (0190)   ,
                       NEU (0290)   ,
                       STEIG  = NEU (0290) - NEU (0190) ,
                       RG_W   = RANG ( WERK , NEU (0190)) ,
                       RG_L   = RANG ( LAND , NEU (0190));
                       RG_WST = RANG ( WERK , STEIG ));
                       RG_LST = RANG ( LAND , STEIG ));
      END;

Ergebnis:

    +--------------------------------------------------------------+
    I ASS                                                          I
    I ARBEITSGEBIET: LEISTUNGSSTATISTIK                            I
    I              I    NEU    NEU  STEIG  RG_W RG_L RG_WST RG_LST I
    I LAND    WERK I   0190   0290                                 I
    +--------------+-----------------------------------------------+
    I BAYERN  15   I  2.849  3.000    151    2    4    3      6    I
    I         21   I  1.526  1.600     74    3    5    4      7    I
    I         82   I  3.538  3.800    262    1    3    1      2    I
    I         87   I    768  1.000    232    4    6    2      3    I
    I                                                              I
    I HESSEN  15   I 10.932  9.500  1.432-   1    1    4      8    I
    I         21   I  3.795  5.000  1.205    2    2    1      1    I
    I         82   I    330    500    170    3    7    3      5    I
    I         87   I     18    200    182    4    8    2      4    I
    +--------------------------------------------------------------+
Besonderheit

Wird der RANG-Operand in Verbindung mit Spaltenbedingungen verwendet, ergibt sich eine Besonderheit: die RANG-Operatoren werden grundsätzlich vor den Spaltenbedingungen ermittelt. Dadurch ergeben sich u. U. Lücken in der Rangfolge.

7.2.6 GRANZ -Operand in Werteformeln

Beschreibung

Fordert man in einer Werteformel den GRANZ-Operanden bezüglich eines Schlüssels an, so werden die Gruppenwechsel bezüglich des genannten Schlüssels gezählt. Die genaue Zählweise erkennt man am besten am unten aufgeführten Beispiel.

Allgemeine Form des GRANZ-Operanden

GRANZ ( Schlüssel ), Aufbereitung

Restriktionen

Für die Verwendung des GRANZ-Operanden sind folgende Restriktionen zu beachten:

Beispiel:

Es soll festgestellt werden, für wie viele Länder bzw. Werke Neuaufträge vorliegen.

Die Anforderung in BATCH-Sprache :

      ASS;
       AG :  LEISTUNGS_STATISTIK ;
       KS :  ZEITRAUM ( 0508 ) ;
       ZS :  LAND ,
             WERK ;
       SS :  WERTE = ( NEUAUFTRAEGE ,
                       GRANZ_WERK = GRANZ ( WERK ) ,
                       GRANZ_LAND = GRANZ ( LAND ));
       GR : SUMME ...
      END;

Ergebnis:

    +------------------------------------------------------------+
    I ASS                                                        I
    I ARBEITSGEBIET: LEISTUNGSSTATISTIK                          I
    I ZEITRAUM: 0508                                             I
    I                                                            I
    I                   I NEUAUFTRAEGE   GRANZ_WERK   GRANZ_LAND I
    I LAND      WERK    I           DM           DM           DM I
    +-------------------+----------------------------------------+
    I BAYERN    15      I        2.849            1            1 I
    I           21      I        1.526            1            0 I
    I           82      I        3.538            1            0 I
    I           87      I          768            1            0 I
    I                   I                                        I
    I HESSEN    15      I       10.932            1            1 I
    I           21      I        3.795            1            0 I
    I           82      I          330            1            0 I
    I           87      I           18            1            0 I
    I                   I                                        I
    I      *            I       23.756            8            2 I
    +------------------------------------------------------------+

7.2.7 AKT_MENGE -Operand in Werteformeln

Der AKT_MENGE-Operand wurde in ASS 8.60 entfernt. Eine ähnliche Funktionalität bietet die Verwendung von Gruppierungen in Schlüsselbedingungen zum Wert oder in IF-SCHLUESSEL-Formeln.

7.2.8 ZEITDIFFERENZ-Operand in Werteformeln

Der Werteoperator "ZEITDIFFERENZ" berechnet den zeitlichen Abstand der Inhalte zweier Schlüssel, für die in der ST06 ein ZEIT-TYP (vgl. ST06) definiert wurde. Es kann aber auch der ASS-Schlüssel ZEITRAUM verwendet werden oder ein Splitschlüssel, dessen Teilschlüssel ein Zeitformat haben und zusammengesetzt eines der gültigen Formate besitzen.

Die Formel lautet: Formel = ZEITDIFFERENZ (SCHL1, SCHL2, Ausgabeformat)

Hierbei sind SCHL1 und SCHL2 die Schlüssel- oder Relationsbezeichner (bei Relationen eigentlich "R(SCHL1)") oder der Begriff "ZEITRAUM".

Es kann auch eine feste Zeitangabe oder ein Parameter verwendet werden - in der Form "4('01.13')" bzw. "2(&&MMJJ)".
Die Zahl vor der Klammer gibt dabei das Format des Klammerinhalts an, also hier 4 für MM.JJ und 2 für MMJJ (mögliche Formate:
siehe ZEIT-TYP in ST06). Enthält der Klammerinhalt Trennungspunkte (wie z.B. bei Format 4), muss dieser in Hochkommata gesetzt werden.

Das Formelergebnis ist eine ganze Zahl. Diese ist negativ, wenn die Zeitangabe von SCHL1 größer ist als die von SCHL2. Die Angabe "Ausgabeformat" ist optional und bestimmt, ob es sich beim Ergebnis um Tage, Monate oder Jahre handelt. Die möglichen Formate sind:

Wird das Ausgabeformat nicht angegeben, wird "AJ", "AM" oder "T" verwendet, je nachdem, wie genau die beiden Zeitformate sind.

Für die beiden Zeitangaben (bei allen Ausgabeformaten) gelten folgende Regeln:

Bei unzulässigen Angaben ist die Formel nicht berechenbar, d.h. das Ergebnis sind Striche. Es wird keine Fehlermeldung ausgegeben!

Für die Formate "TA", "TB" und "TC" muss auf der Textdatenbank eingestellt werden, welche Tage als Feiertage (bzw. nicht als Arbeitstage) gelten sollen. Alle Variablen werden unter der Text-Nr. D A 107 gesetzt. Die standardmäßige Vorbelegung aller Variablen ist "N", d.h. alle Tage zählen als Arbeitstage und die Formelergebnisse bei den Formaten "T", "TB" und "TC" sind gleich. Für Nicht-Arbeitstage sind die entsprechenden Variablen auf "J" zu setzen. Die Variablen sind:

Variable Bedeutung
SAMSTAGJeder Samstag
SONNTAGJeder Sonntag
ALTWEIBER52 Tage vor Ostern (Altweiberfastnacht)
ROSENMONTAG48 Tage vor Ostern
FASCHINGSDIENSTAG47 Tage vor Ostern
GRUENDONNERSTAG3 Tage vor Ostern
KARFREITAG2 Tage vor Ostern
OSTERSONNTAGOstern
OSTERMONTAG1 Tag nach Ostern
CHR-HIMMELFAHRT39 Tage nach Ostern
PFINGSTSONNTAG49 Tage nach Ostern
PFINGSTMONTAG50 Tage nach Ostern
FRONLEICHNAM60 Tage nach Ostern
BUSS-UND-BETTAGLetzter Mittwoch vor dem 23. November
NEUJAHR01. Januar
HL-3-KOENIGE06. Januar
JOSEFITAG19. März
TAG-DER-ARBEIT01. Mai
FLORIANITAG04. Mai
MARIAE-HIMMELFAHRT15. August
RUPERTITAG24. September
NATIONALFEIERTAG-D03. Oktober (Tag der dt. Einheit)
TAG-VOLKSABSTIMMUNG10. Oktober (Tag der Volksabstimmung)
NATIONALFEIERTAG-A26. Oktober (Nationalfeiertag Österreich)
REFORMATIONSTAG31. Oktober
ALLERHEILIGEN01. November
MARTINSTAG11. November
LEOPOLDITAG15. November
MARIAE-EMPFAENGNIS08. Dezember
HL-ABEND24. Dezember
WEIHNACHT-125. Dezember
WEIHNACHT-226. Dezember
SILVESTER31. Dezember

ACHTUNG:

Sollten obige Variablen nicht ausreichen, können auch bis zu fünf weitere beliebige Feiertage definiert werden. Hierfür gibt es die Variablen FEIERTAG01, FEIERTAG02, ... FEIERTAG05, ebenfalls auf Text-Nr. D A 107. Zulässige Inhalte sind hier nicht "J" oder "N", sondern Datumsangaben im Format TTMM (ein alljährlicher Feiertag) oder TTMMJJJJ (einmaliger Feiertag, der nur im Jahr JJJJ gilt).
JJJJ muss zwischen "1901" und "2099", MM zwischen "01" und "12" und TT zwischen "01" und "31" liegen. Unzulässige oder irreguläre Angaben (z.B. "29022013") werden bei der Berechnung ignoriert und liefern keinen Fehler.

7.2.9 WERT-Operand in Werteformeln

Mit dem Werteoperator "WERT" können numerische Inhalte eines Schlüssels in einer Werteformel für Berechnungen herangezogen werden.

Die Formel lautet: Formel = WERT (Schlüssel)

Hierbei steht 'Schlüssel' für den Schlüssel- oder Relationsbezeichner (bei Relationen eigentlich "R(...)") oder den Begriff "ZEITRAUM". Der Schlüssel muss in Kopf oder Zeile angefordert sein, wenn WERTE in der Spalte angefordert sind und umgekehrt.

Das Zahlenformat der Inhalte muss nicht einheitlich sein. Die Zahlen dürfen Nachkommastellen und Tausender-Trennpunkte enthalten, das Vorzeichen darf vorne oder hinten stehen ("+" ist nicht nötig). Hat die Zahl mehr als 6 Nachkommastellen, wird sie auf 6 gerundet.

Für nicht-numerische Inhalte ist die Formel nicht berechenbar, d.h. dort werden i.d.R. Striche ausgegeben.

7.3 Zeitraumformeln

Zulässige Operanden bei Zeitraumformeln sind:

Hinweis: An eine Zeitraumformel kann noch Druckaufbereitungsinformation angehängt werden. Sie wird analog zu Werteformeln von der eigentlichen Zeitraumformel durch ein Komma getrennt und in Klammern eingeschlossen (siehe Kap. 7.2.). Eine Dimensionsangabe ist jedoch nicht zulässig.

Beispiele:

Hinweis: Hat man Bestandswerte angefordert, so ist eine Zeitraumangabe nicht zulässig (denn es ist kaum sinnvoll, Bestände verschiedener Zeitpunkte zu addieren).
Eine Ausnahme wäre z. B. eine Mittelwertbildung. In solch einem Fall kann mit Hilfe von OPT die betreffende Prüfung ausgeschaltet werden, die sonst derartige Additionen verhindert (Option NOZEITPRUEF). Ansonsten gelten für die Angabe der Zeiten die gleichen Regeln wie für die Auswahl von Zeiten zum Schlüssel ZEITRAUM. Es wird daher auf die Kap. 4.5.1. 'Absolute Zeitangaben' und Kap. 4.5.2 'Relative Zeitangaben' verwiesen.

Beispiel 1:

Arbeitsgebiet 9 enthält die Werte LEISTUNG und ABZUEGE. Die Entwicklung dieser Werte über 2 Monate soll parallel dargestellt werden. Einmal die Änderung im Februar gegenüber dem Januar in absoluten Zahlen, und einmal in Prozent für Januar.
absolut : AEND1 = '0299' - '0199'
relativ in %: AEND2 =( '0299' - '0199' ) * 100 / '0199'

Eine mögliche Abfrage in der BATCH-Sprache:

       ASS ;
        AG:  9  ;
        SS:  WERTE = ( LEISTUNG  , ABZUEGE  )  ;
        ZS:  ZEITRAUM = ( 0199 , 0299 , AEND1 = '0299' - '0199' ,
             AEND2 = ( '0299' - '0199' ) * 100 / '0199' ) ;
       END ;

In einer Zeitraumformel müssen Zeitangaben in Hochkommata eingeschlossen sein, um so eine Unterscheidung zwischen Zeitangaben und konstanten Zahlen zu ermöglichen. Mit dem Ausdruck '0299' - '0199' wird eine Differenz der Werte des Zeiträume '0299' und '0199' angefordert. Eine Berechnung der Angabe 0299 - 0199 würde dagegen als Ergebnis 100 liefern.

Ergebnis:

            +---------------------------------------+
            I ASS                          SEITE 1  I
            I ZEITRAUM  I LEISTUNG      ABZUEGE     I
            I           I DM            DM          I
            +---------------------------------------+
            I 0189      I    10.250,10      410,30  I
            I 0289      I    11.600,60      205,15  I
            I AEND1     I     1.350,50      205,15- I
            I AEND2     I        13,01       50,00- I
            +---------------------------------------+

Die obige Abfrage kann auch wie folgt angefordert werden:

       ASS;
        AG:  9;
        ZS:  ZEITRAUM = ( 0199 ,
                          0299 ,
                          AEND1 = '0299' - '0199' ,
                          AEND2 = AEND1 * 100 / '0199' );
        SS:  WERTE = ( LEISTUNG ,
                       ABZUEGE  );
       END;
ANMERKUNG

Da ZEITRAUM als Zeilenschlüssel angefordert wird, gilt folgende Restriktion (vgl. Kap. 7.7 Restriktionen bei Formeln/Funktionen):
Die Formel AEND1 muss vor der sichtbaren Formel AEND2 aufgeführt werden. Dies gilt auch für unsichtbare Formeln, etwa bei Umbenennung von AEND1 in NNAEND1.

7.4 Schlüsselformeln

Zulässige Operanden bei Schlüsselformeln

Schlüsselinhalte sollten stets in Hochkommata eingeschlossen werden, damit sie von Direktoperanden unterschieden werden können. Bezeichner von Ausprägungsmengen bzw. Schlüsselformeln müssen in Hochkommata eingeschlossen werden, wenn sie keine ASS-Bezeichner sind. Im Zweifelsfall können sie immer in Hochkommata eingeschlossen werden.
Für Schlüsselformeln besteht die Möglichkeit, Aufbereitungsoptionen anzugeben. Die Form der Aufbereitungsoption stimmt mit der bei Zeitraumformeln überein (s. o.), außer dass hier als 6. Option eine Zusatzbezeichnung ähnlich der bei Mengen (s. Kap. 4.3.6) bestimmt werden kann.
Diese darf max. 20 Zeichen lang sein und sollte in Hochkommata gefasst werden, um Sonderzeichen wie Klammern oder führende Leerzeichen verwenden zu können. Ist dann beim Schlüssel die Inhaltsbezeichnung angefordert, wird die Zusatzbezeichnung statt des Formelnamens angezeigt. Bei Inhalt und Bezeichnung fungiert der Formelname als Inhalt, die Zusatzbezeichnung als Bezeichnung.

Beispiel:

,(6,2,,SVZ,^S,'Formel Zusatz') :
6 Stellen, davon 2 Nachkommastellen, ohne Dimension und mit einer Abarbeitungsregel (SVZ: Spalte vor Zeile), wenn es sich um eine Formel handelt. Handelt es sich um einen Spaltenschlüssel, werden in den entsprechenden Spalten keine Sternsummen gebildet (^S). Außerdem ist die Zusatzbezeichnung 'Formel Zusatz' definiert.

Beispiel:

GESAMTANTEIL = '010' * 100 / ('010' + '020' + '030' + '040') wobei 010, 020, 030 und 040 Ausprägungen (Inhalte) z. B. des Schlüssels TARIF sind.

Beispiel:

Für bestimmte Ausprägungen des Schlüssels REISETARIF sollen die Unterschiede im Wert LEISTUNG und im Wert ABZUEGE dargestellt werden:

Eine mögliche Abfrage in BATCH-Sprache:

     ASS    ;
      KS :   ZEITRAUM = ( 0199 )  ;
      ZS:    REISETARIF = ( 010, 015, DIFF1 = '010' - '015' ,
                            020, 025, DIFF2 = '020' - '025' ,
                            050, 055, DIFF3 = '050' - '055'  ) ;
      SS:    WERTE = ( LEISTUNG ,  ABZUEGE     )  ;
     END  ;

Ergebnis:

            +---------------------------------+
            I ASS                     SEITE 1 I
            I REISETARIF I  LEISTUNG  ABZUEGE I
            I            I  DM        DM      I
            +------------+--------------------+
            I 010        I   100,00     9,10  I
            I 015        I     1,00     0,00  I
            I DIFF1      I    99,00     9,10  I
            I 020        I    20,00     1,10  I
            I 025        I    30,00     1,90  I
            I DIFF2      I    10,00-    0,80- I
            I 050        I   260,00    20,90  I
            I 055        I    70,00     7,40  I
            I DIFF3      I   190,00    13,50  I
            +---------------------------------+

Der Anteil des Wertes LEISTUNG soll nach bestimmten Ausprägungen der Schlüssel ALTERSGRUPPE und REISETARIF, einmal getrennt nach Geschlechtern innerhalb einer Gruppe und dann über alle Gruppen errechnet werden.

Anforderung in BATCH-Sprache:

    ASS;
     AG:  9;
     KS:  ALTERSGRUPPE = ( 'ALT 1' ('01','02') ,
                           'ALT 2' ('00')      );
     ZS:  REISETARIF = ( 'TAR A' ('010','020') ,
                         'TAR B' ('030','040') ,
                         'TAR C' ('050','060') ),
          GESCHLECHT = ( NNM      = '1'                 ,
                         NNW      = '2'                 ,
                         NN       = NNM + NNW           ,
                         'ANT. M' = NNM * 100 / NN      ,
                         'ANT. W' = NNW * 100 / NN      ,
                         ANTEIL   = 'ANT. M' + 'ANT. W' );
     SS:  ZEITRAUM = ( 0199 ,
                       0299 ),
          WERTE = ( LEIST                                  , (6,2,%) ,
                    'ANT. GES' = LEIST * GESAMT(GESCHLECHT,LEIST) /
                                  GESAMT(REISETARIF,LEIST) , (6,2,%) );
    END;

Ergebnis

    ARBEITSGEBIET:    9: REISEVERSICHERUNG

    ALTERSGRUPPE: ALT 1

                          I ZEITRAUM           I                    I
                          I 01.99              I 02.99              I
                          I WERTE              I                    I
                          I LEISTUNG  ANT. GES I LEISTUNG  ANT. GES I
    REISETARIF GESCHLECHT I        %         % I        %         % I
    ------------------------------------------------------------------
                          I                    I                    I
    TAR A      ANT. M     I    80,00     20,00 I    16,67      5,00 I
               ANT. W     I    20,00      5,00 I    83,33     25,00 I
               ANTEIL     I   100,00     25,00 I   100,00     30,00 I
                          I                    I                    I
               *          I xxxx      xxxx     I xxxx      xxxx     I
                          I                    I                    I
    TAR B      ANT. M     I    37,50     15,00 I    33,33     10,00 I
               ANT. W     I    62,50     25,00 I    66,67     20,00 I
               ANTEIL     I   100,00     40,00 I   100,00     30,00 I
                          I                    I                    I
               *          I xxxx      xxxx     I xxxx      xxxx     I
                          I                    I                    I
    TAR C      ANT. M     I   100,00     35,00 I    62,50     25,00 I
               ANT. W     I     0,00      0,00 I    37,50     15,00 I
               ANTEIL     I   100,00     35,00 I   100,00     40,00 I
                          I                    I                    I
               *          I xxxx      xxxx     I xxxx      xxxx     I
                          I                    I                    I
    *                     I xxxx      -------- I xxxx      -------- I

Die zweite Seite hat einen entsprechenden Aufbau.

7.5 Zwischen- und Endsummen im Spaltenschlüssel

Die Abarbeitungsreihenfolgen der Formeln ist prinzipiell wie folgt festgelegt: Kopf-/ Zeilenformeln vor Spaltenformeln, in den Spalten von oben nach unten. Dabei werden zunächst die Formeln im Kopfbereich berechnet, beginnend mit der niedrigsten Positionsnummer, entsprechend gefolgt von den Zeilenformeln.

In sehr vielen Anwendungsfällen entspricht diese Reihenfolge den Anforderungen. Insbesondere können auf diesem Weg auch Summationen über Schlüsselausprägungen und somit Zwischen- und Endsummen bei Schlüsseln im Spaltenschlüssel erreicht werden.

Es gibt jedoch Anwendungsfälle, wo eine andere Reihenfolge der Formelabarbeitung erwünscht ist; dazu ein Beispiel:

WERTE sei der Zeilenschlüssel. Es werden drei Werte angefordert:

Im Spaltenschlüssel werde der Schlüssel SPARTE mit den Ausprägungen FEUER, UNFALL, HAUSRAT angefordert. Dies führt zu folgender Liste:

    WERTE          I FEUER    UNFALL    HAUSRAT
    --------------------------------------------
                   I
    LEISTUNG(0197) I 10.000     5000       9000
    LEISTUNG(0198) I 12.000     4000     10.000
    AENDERUNG      I     20       20-        11

Es soll jetzt eine vierte Spalte eingeführt werden, in der über die Sparten addiert wird.

1. Summenbildung über eine Formel

SUMME = FEUER + UNFALL + HAUSRAT

In diesem Fall werden auch die prozentualen Veränderungen der dritten Zeile aufaddiert, da die oben angeführte Abarbeitungsregel wirksam wird. Dies liefert jedoch nicht das gewünschte Ergebnis. In der dritten Zeile der vierte Spalte möchte man folgendes Ergebnis erhalten:

    100 * ((LEISTUNG(0198) für FEUER   +
            LEISTUNG(0198) für UNFALL  +
            LEISTUNG(0198) für HAUSRAT)
         - (LEISTUNG(0197) für FEUER   +
            LEISTUNG(0197) für UNFALL  +
            LEISTUNG(0197) für HAUSRAT))
         /
           (LEISTUNG(0197) für FEUER   +
            LEISTUNG(0197) für UNFALL  +
            LEISTUNG(0197) für HAUSRAT)

Dies wird mit der folgenden 2. Möglichkeit erreicht:

2. Summenbildung über eine Menge

SS: SPARTE=(FEUER,UNFALL,HAUSRAT,SUMME(FEUER,UNFALL,HAUSRAT));

In diesem Fall wird die vierte Spalte in Form einer Ausprägungsmenge gebildet. Da in diesem Fall keine Formel verwendet wird, werden zunächst in der vierten Spalte die Sparten zusammengefasst und anschließend die Werteformeln im Zeilenschlüssel angewendet.

Man erhält folgendes Ergebnis:

    WERTE          I FEUER    UNFALL    HAUSRAT    SUMME
    -----------------------------------------------------
                   I
    LEISTUNG(0197) I 10.000     5000       9000   24.000
    LEISTUNG(0198) I 12.000     4000     10.000   26.000
    AENDERUNG      I     20       20-        11        8

Anmerkung:

Die 2. Möglichkeit beruht darauf, dass ein- und dieselbe Ausprägung eines Schlüssels mehrfach angefordert werden kann, im obigen Beispiel als Einzelausprägung und als Element einer Ausprägungsmenge. Dies ist nur im Spaltenschlüssel möglich.

Die mehrfache Anforderung von Schlüsselausprägungen eines Schlüssels sowohl als Einzelausprägung und als Element in einer Ausprägungsmenge ist auch möglich, wenn im Zeilenschlüssel nicht mit Formeln gearbeitet wird. Zu beachten ist jedoch, dass stets als erstes die Ausprägungsmengen ermittelt werden, bevor irgendwelche Formeln angewendet werden.

Ingesamt gibt es also zwei Möglichkeiten im Spaltenschlüssel Aufsummierungen zu erreichen:

Durch richtigen Einsatz der beiden Möglichkeiten können Sie darüber hinaus die Reihenfolge Summation und Formelabarbeitung so beeinflussen, dass Sie das gewünschte Resultat erhalten. Eine weitere Möglichkeit, die Reihenfolge zu bearbeiten wird im Kap. 7.9 dargestellt.

7.6 Anforderung von Funktionen

Allgemein

ASS bietet bekanntlich die Möglichkeit, mit Werten, Zeiten und Schlüsselinhalten zu rechnen.

Neben den bereits erwähnten Formeln kennt ASS einen bestimmten Umfang sogenannter Funktionen, die in logischer Verwandtschaft zu den Formeln zu sehen sind.

Eine Funktion im Sinne von ASS kann man als feste Regel ansehen, nach der aus bestimmten Eingaben (Operanden) eine Zahl ermittelt wird.

Als Operanden kommen explizit genannte Zahlen (Direktoperanden) oder in der Auswertung selbst ermittelte Zahlen in Betracht.

Folgende Funktionen können zur Zeit bei ASS-Auswertungen verwendet werden:

Funktions-
bezeichner
Bedeutung Kurzbeschreibung
MINMinimumAuswahl der kleinsten durch die Operanden OP1,.....,OPm bestimmten Zahl für 1 <= m <= 50
MAXMaximumAuswahl der größten durch die Operanden OP1,.....,OPm bestimmten Zahl für 1 <= m <= 50
ABSAbsolutbetragAbsolutbetrag einer durch "einen" Operanden bestimmten Zahl
ABS(X) = X falls X >= 0
ABS(X) = -X falls X < 0
Dynamische Verwendung unzulässig
SUMMESummenbildungSummierung über alle durch die Operanden OP1,.....,OPm bestimmten Zahlen für 1 <= m <= 50
SUMME = X1 + X2 + ...... Xm
ARMArithmetisches Mittel
Mittelwert,
Erwartungswert
Mittelwert über alle durch die Operanden OP1,.....,OPm bestimmten Zahlen für 1 <= m <= 50
          1
ARM   =  --- * ( X1 + X2 + .. Xm )
          m
VARVarianzVarianz über alle durch die Operanden OP1,.....,OPm bestimmten Zahlen für 1 <= m <= 50

            m            m
        1  --- 2     1  ---    2
VAR   = -  > Xi  - ( -  > Xi )
        m  ---       m  ---
           i=1          i=1
*Standardabweichung,
Streuung
Nicht als eigene Funktion vorhanden, aber direkt aus der Varianz zu berechnen
Streuung = (Varianz) ** ( 1 / 2 )
Verwendung von Funktionen

Entsprechend der 3 Grundelemente der Datenbasis können Funktionen bei echten Schlüsseln, Werten und Zeiträumen verwendet werden.

Analog zu den Formeln spricht man deshalb auch von SCHLUESSEL-, WERTE- und ZEITRAUM-Funktionen.

Allgemeine Form der Anforderung einer Funktion

Online: FUNKTIONSNAME = < OP1,......,OPm >,AUFBEREITUNG
Batch: FUNKTIONSNAME < OP1,......,OPm >,AUFBEREITUNG

7.7 Restriktionen bei Verwendung von Formeln und Funktionen

7.8 Rundungsfunktion bei Werten

Jeder Wert kann in der Auswertung gegenüber seiner Speicherung in gerundeter Form dargestellt werden.

Rundungen können in folgender Weise angefordert werden:

Rundungsprobleme bei konkurrierenden Berechnungen

Sobald zusätzlich zur Rundung eine Summierung oder Berechnung mit diesen Werten erfolgt, können sich entsprechend der Berechnungsreihenfolge Rundungsdifferenzen ergeben.

Konkurrierende Berechnungen können sein

Durchführung der Rundung bei echten Werten
  1. Darstellung der Werte in der Spaltendimension

    In diesem Fall gilt immer folgende Verarbeitungsreihenfolge:

    • Mengenbildung von Ausprägungen
    • Berechnungsanweisungen in der jeweils angeforderten Reihenfolge
    • Rundung der Werte
               I WERTE
               I NEUGESCHAEFT     2. Schritt     NEUGESCHAEFT
        BEZIRK I        DM_PF                              DM
        -----------------------                 ---------------
        10     I   423.420,20         -->             423.420
        11     I    81.241,50         -->              81.242
        12     I   126.320,30         -->             126.320
        13     I   187.768,40         -->             187.768
        14     I   116.172,00         -->             116.172
        15     I    90.955,10         -->              90.955
    
                 1. Schritt                       ( 1.025.877 )
    
        *      I 1.025.877,50         -->           1.025.878
    

    Ergebnis

    Die berechnete Summe weist Rundungsdifferenzen auf, ist allerdings in ihrer Aussage genauer, weil mit ungerundeten Werten gerechnet wird.
  2. Darstellung der Werte in der Zeilendimension
    • Summierung über Spaltenschlüsselformel

      Es wird zunächst die Rundung der Werte vorgenommen (Zeile vor Spalte), danach die Berechnung in der Spalte.

                       I BD
          WERTE        I       10        11        26        30     FORMEL
          -----------------------------------------------------------------
          NEUGESCHAEFT I  4.902,7   2.955,9   9.555,5   3.576,2   20.990,3
          GERUNDET     I    4.903     2.956     9.556     3.576     20.991
      

      Bei Angabe des Parameters SVZ in der Spaltenschlüsselformel kann die Reihenfolge umgekehrt werden.

                       I BD
          WERTE        I       10        11        26        30    FO(SVZ)
          -----------------------------------------------------------------
          NEUGESCHAEFT I  4.902,7   2.955,9   9.555,5   3.576,2   20.990,3
          GERUNDET     I    4.903     2.956     9.556     3.576     20.990
      
    • Summierung über Ausprägungsmengen

      Ausprägungsmengen werden immer vor Berechnungen gebildet, sodass bei dieser Variante das gleiche Ergebnis entsteht wie bei einer Formelberechnung mit SVZ.

                       I BD
          WERTE        I       10        11        26        30      MENGE
          -----------------------------------------------------------------
          NEUGESCHAEFT I  4.902,7   2.955,9   9.555,5   3.576,2   20.990,3
          GERUNDET     I    4.903     2.956     9.556     3.576     20.990
      
Durchführung der Rundung in Werteformeln

Fordert man einen Wert über eine Werteformel an, wird auch die Rundungsanweisung in dieser Formel abgelegt.

Da bei Werteformeln Möglichkeiten bestehen, die Abarbeitungsreihenfolge der angeforderten Berechnungsanweisungen festzulegen, kann so auch der Zeitpunkt der Rundung beeinflusst werden.

Die Reihenfolge der Abarbeitung von Formeln und Funktionen ist im folgenden Kapitel beschrieben.

7.9 Reihenfolge bei der Abarbeitung von Berechnungsanweisungen (Option SVZ)

Allgemein

In einer Anforderung können vor allem in der Zeilen- und Spaltendimension Berechnungsanweisungen definiert werden.

Solche Berechnungen können sein:

Beim Aufeinandertreffen mehrerer Berechnungen ist das Auswertungsergebnis von der Reihenfolge der Abarbeitung dieser Operationen abhängig (siehe auch Kap. 7.5.).

Innerhalb des ASS gelten zunächst folgende Standardregeln:

Diese Standardabarbeitungsreihenfolge kann durch Angabe der Option "SVZ" (SPALTE VOR ZEILEN) übersteuert werden, die in der Spaltenformel/-funktion als zusätzliche Aufbereitungsangabe erscheint.

Dabei ist die Option SVZ ein Positionsparameter, der immer an der vierten Stelle der Aufbereitungsangaben stehen muss. Werden andere Aufbereitungsangaben nicht gebraucht, so sind die entsprechenden Positionen durch leere Einträge zu besetzen.

Beispiele:

,(8,2,DM,SVZ) ; ,(8,,,SVZ) ; ,(,,,SVZ)

Beispiele:

Ein einfaches Beispiel soll den Sachverhalt verdeutlichen.

Abarbeitungsreihenfolge bei komplexeren Anforderungen

Werden in der Spaltendimension mehrere Berechnungen angefordert, ist zunächst die Reihenfolge der Spaltenschlüssel für die Abarbeitung entscheidend.

Es gilt: 1. Spaltenschlüssel vor 2. Spaltenschlüssel

Durch Verwendung der Option SVZ in den Spaltenformeln kann man die gewünschte Verarbeitungsreihenfolge erreichen.

Weiterhin gilt: 1. Kopfschlüssel vor 2. Kopfschlüssel vor ...
vor 1. Zeilenschlüssel vor 2. Zeilenschlüssel

Beispielanforderungen:

  1. Anforderung:
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Werteformel
                2. Zeitraumformel ( J/F = '0190' + '0290' )
    

    Abarbeitung:

    • Summierung der Zeilen
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000       I   40 3000       I
                2  I   15  750       I   20  800       I
                3  I   40 1200       I   50 2000       I
                *  I   80 2950       I  110 5800       I
      
    • Ausführung Werteformel (mit Rundung)
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I            ----
                2  I   15  750    50 I   20  800    40 I            ----
                3  I   40 1200    30 I   50 2000    40 I            ----
                *  I   80 2950    42 I  110 5800    53 I            ----
      
    • Ausführung Zeitraumformel
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000  ----
                2  I   15  750    50 I   20  800    40 I   35 1550  ----
                3  I   40 1200    30 I   50 2000    40 I   90 3200  ----
                *  I   80 2950    42 I  110 5800    53 I  190 8750  ----
      
  2. Anforderung:
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Werteformel
                2. Zeitraumformel (SVZ)
            
    oder
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Zeitraumformel (SVZ)
                2. Werteformel
    

    Abarbeitung:

    • Ausführung Zeitraumformel
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000       I   40 3000       I   65 4000
                2  I   15  750       I   20  800       I   35 1550
                3  I   40 1200       I   50 2000       I   90 3200
                *  I                 I                 I
      
    • Summierung der Zeilen
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000       I   40 3000       I   65 4000
                2  I   15  750       I   20  800       I   35 1550
                3  I   40 1200       I   50 2000       I   90 3200
                *  I   80 2950       I  110 5800       I  190 8750
      
    • Ausführung Werteformel (mit Rundung)
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000    62
                2  I   15  750    50 I   20  800    40 I   35 1550    44
                3  I   40 1200    30 I   50 2000    40 I   90 3200    36
                *  I   80 2950    42 I  110 5800    53 I  190 8750    49
      
  3. Anforderung:
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Werteformel (SVZ)
                2. Zeitraumformel
            
    oder
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Zeitraumformel
                2. Werteformel (SVZ)
    
    • Ausführung Werteformel (mit Rundung)
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I            ----
                2  I   15  750    50 I   20  800    40 I            ----
                3  I   40 1200    30 I   50 2000    40 I            ----
                *  I                 I                 I
      
    • Summierung der Zeilen
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I            ----
                2  I   15  750    50 I   20  800    40 I            ----
                3  I   40 1200    30 I   50 2000    40 I            ----
                *  I   80 2950   120 I  110 5800   135 I            ----
      
    • Ausführung Zeitraumformel
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000  ----
                2  I   15  750    50 I   20  800    40 I   35 1550  ----
                3  I   40 1200    30 I   50 2000    40 I   90 3200  ----
                *  I   80 2950   120 I  110 5800   135 I  190 8750  ----
      
  4. Anforderung:
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Werteformel (SVZ)
                2. Zeitraumformel (SVZ)
    

    Abarbeitung:

    • Ausführung Werteformel (mit Rundung)
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I            ----
                2  I   15  750    50 I   20  800    40 I            ----
                3  I   40 1200    30 I   50 2000    40 I            ----
                *  I                 I                 I
      
    • Ausführung Zeitraumformel
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000  ----
                2  I   15  750    50 I   20  800    40 I   35 1550  ----
                3  I   40 1200    30 I   50 2000    40 I   90 3200  ----
                *  I                 I                 I            ----
      
    • Summierung der Zeilen
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000  ----
                2  I   15  750    50 I   20  800    40 I   35 1550  ----
                3  I   40 1200    30 I   50 2000    40 I   90 3200  ----
                *  I   80 2950   120 I  110 5800   135 I  190 8750  ----
      
  5. Anforderung:
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Zeitraumformel
                2. Werteformel
    
    Abarbeitung:
    • Summierung der Zeilen
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000       I   40 3000       I
                2  I   15  750       I   20  800       I
                3  I   40 1200       I   50 2000       I
                *  I   80 2950       I  110 5800       I
      
    • Ausführung Zeitraumformel
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000       I   40 3000       I   65 4000
                2  I   15  750       I   20  800       I   35 1550
                3  I   40 1200       I   50 2000       I   90 3200
                *  I   80 2950       I  110 5800       I  190 8750
      
    • Ausführung Werteformel (mit Rundung)
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000    62
                2  I   15  750    50 I   20  800    40 I   35 1550    44
                3  I   40 1200    30 I   50 2000    40 I   90 3200    36
                *  I   80 2950    42 I  110 5800    53 I  190 8750    49
      
  6. Anforderung:
            ZS: Sternsumme / Schlüsselformel
            SS: 1. Zeitraumformel (SVZ)
                2. Werteformel (SVZ)
    
    Abarbeitung:
    • Ausführung Zeitraumformel
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000       I   40 3000       I   65 4000
                2  I   15  750       I   20  800       I   35 1550
                3  I   40 1200       I   50 2000       I   90 3200
                *  I                 I                 I
      
    • Ausführung Werteformel (mit Rundung)
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000    62
                2  I   15  750    50 I   20  800    40 I   35 1550    44
                3  I   40 1200    30 I   50 2000    40 I   90 3200    36
                *  I                 I                 I
      
    • Summierung der Zeilen
                   I WERTE
                   I  ANZ  NEU DURCH I  ANZ  NEU DURCH I  ANZ  NEU DURCH
                   I ZEITRAUM        I
                BD I 0190 0190  0190 I 0290 0290  0290 I  J/F  J/F   J/F
                ---------------------------------------------------------
                1  I   25 1000    40 I   40 3000    75 I   65 4000    62
                2  I   15  750    50 I   20  800    40 I   35 1550    44
                3  I   40 1200    30 I   50 2000    40 I   90 3200    36
                *  I   80 2950   120 I  110 5800   135 I  190 8750   142
      
Rechnen mit gerundeten Werten

Oft weicht in Auswertungen die betrachtete Wertedimension vom ungerundeten, gespeicherten Format ab.

Statt einer Auswertung in DM und PF sollen die Werte z. B. in TDM ausgewiesen werden.

Erfolgen nun Berechnungen mit diesen Werten, wird stets auf die ungerundete Wertebasis zurückgegriffen.

Über den Parameter SVZ kann zwar die Abarbeitungsreihenfolge und damit auch der Zeitpunkt der Rundung gesteuert werden, Rundungsdifferenzen sind aber dadurch nicht vermeidbar.

Soll weiterhin eine Rundung auf Zehner erfolgen, gilt statt des bereits berechneten DM-Wertes wiederum der ungerundete Wert als Ausgangsbasis.

Beispiel:

    FO01 = PRAEMIE , (8,0,DM) oder echter Wert: PRAEMIE, (8,0)
    FO02 = PRAEMIE , (8,0,DM,SVZ)
    FO03 = PRAEMIE / 10 , (8,0,ZDM) oder echter Wert: PRAEMIE, (8,A)
    FO04 = PRAEMIE / 10 , (8,0,ZDM,SVZ)

              I  WERTE
              I    PRAEMIE      FO01     FO02     FO03     FO04
      GEBIET  I      DM_PF        DM       DM      ZDM      ZDM
      ----------------------------------------------------------
      01      I     224,65       225      225       22       22
      02      I      29,74        30       30        3        3
      GESAMT  I     254,39       254      255       25       25

Dieses Problem können Sie vermieden, indem Sie mittels einer NN-Formel eine Rundung auf volle DM vornehmen, und danach mit diesem NN-Formelwert weiterrechnen. In der NN-Formel ist der Parameter SVZ anzugeben, um die Rundung vor allen anderen Berechnungen auszuführen.

    NNPR = PRAEMIE , (8,0,DM,SVZ)
    FO01 = NNPR , (8,0,DM)
    FO02 = NNPR / 10 , (8,0,ZDM)

              I  WERTE
              I    PRAEMIE      FO01     FO02
      GEBIET  I      DM_PF        DM      ZDM
      -----------------------------------------
      01      I     224,65       225       23
      02      I      29,74        30        3
      GESAMT  I     254,39       255       26
Ausprägungsmengen und VON-BIS-Zeitangaben

Statt mit Sternsummen oder Formeln zu arbeiten, können Sie auch mit Ausprägungsmengen und VON-BIS-Zeitangaben Summierungen auslösen.

Allerdings ist in diesen Fällen die Verarbeitungsreihenfolge nicht zu verändern, weil diese Anweisungen immer vor allen anderen Berechnungsanweisungen durchgeführt werden.

Durchsetzen der Aufbereitungsangaben

Anhand der obigen Beispiele ist leicht erkennbar, dass die Abarbeitungsreihenfolge immer in Kreuzungspunkten von Zeilen- und Spaltenformeln eine Rolle spielt. Analog zur Berechungsreihenfolge setzen sich auf die Nachkommastellen bzw. Aufbereitungsangaben durch. Hierbei gilt, dass im Gegensatz zu Zeitraum- und Schlüsselformeln Werteformeln per Definition stets eine Aufbereitungsangabe besitzen (Voreinstellung ohne Nachkommastellen). Entsprechend der Berechnungsreihenfolge setzen sich diese Angaben durch, wobei gegebenenfalls Zwischenergebnisse gerundet werden.

HINWEIS

Etwaige Spaltenbedingungen (vergleiche Kap. 8.7) werden nach jedem Abarbeitungsschritt angewandt.

7.10 Die Formelbibliothek (Online)

Formeln, die für Listanforderungen erfasst werden, speichert das System in der Formelbibliothek. Abgespeicherte Formeln können Sie später wieder aus der Formelbibliothek in einer aktuell zu bearbeitenden Listanforderung aufrufen. Jede Formel in der Formelbibliothek wird durch einen achtstelligen Namen identifiziert. Dieser Name muss ein ASS-Bezeichner sein.

Zu unterscheiden sind zwei Umgebungen aus denen heraus die Formel bearbeitet wird. Geschieht dieses innerhalb einer Listanforderung, so gilt folgendes:

Abspeichern von Formeln:
Für den Namen der abzuspeichernden Formel werden die ersten acht Stellen aus dem Feld für die Formelbezeichnung hergenommen. Sie tragen dort einfach den Namen der zu speichernden Formel ein und drücken PF7.
Existiert bereits eine Formel mit diesem Namen, so wird ein Hinweis ausgegeben. Ein Überschreiben ist nur nach nochmaliger Betätigung von PF7 möglich.

Lesen von Formeln:
Wie beim Schreiben von Formeln gibt man im Feld für die Formelbezeichnung den Namen der zu lesenden Formel ein und drückt PF8. Ist der gewünschte Formelname nicht bekannt, so kann mit PF5 in die Bibliotheksübersicht verzweigt werden. Hier können dann durch einfache Markierung Formeln ausgewählt werden. Im Feld für den Formelnamen kann bei PF5 sofort eine ?-Maskierung mitgegeben werden, um die Menge der anzuzeigenden Formeln einzuschränken (siehe hierzu auch die Beschreibung der Bibliotheksübersicht).

Eine andere Möglichkeit ist die zentrale Pflege von Formeln aus der Maske VS100 heraus. Hierzu geben Sie einen achtstelligen Formelnamen in der Maske ein und markieren das entsprechende Feld für die Erstellung von Formeln. Anschließend wird in die Maske VS114 verzweigt, wo sie diese Formel verarbeiten können. Dabei ist es zunächst unerheblich, ob diese Formel später in Listanforderungen als Wert-, Zeit- oder Schlüsselformel verwendet wird. Das Abspeichern erfolgt analog zu Listanforderungen via Endeverarbeitung (Eingabe von E im Kommandofeld). In dieser Umgebung ist es auch möglich, die Formeln mit Kommentaren zu versehen, die man sich in der Bibliotheksübersicht anzeigen lassen kann.
Formeln in der Formelbibliothek können ebenso wie Listanforderungen mit der Bibliotheksverwaltung (Maske VS117) verwaltet werden. Mit der Bibliotheksübersicht (VS122) können sie nach bestimmten Auswahlkriterien angezeigt werden.

Beim Abspeichern von Formeln werden keine syntaktischen oder semantischen Prüfungen der betreffenden Formel durchgeführt. Sie können daher beliebige Texte in der Formelbibliothek abspeichern.

Zeitpunkt der semantischen Prüfung

Mit PF6 kehren Sie zu der Maske zurück, aus der Sie die Maske VS114 angesteuert haben. Die Prüfung der Semantik wird wegen des hohen Aufwands nicht bei der Bearbeitung der Maske VS114 durchgeführt, sondern erst vor der Anzeige des Listbildes oder vor der Anzeige der Statistik oder in der Abschlussbearbeitung der Listanforderung, weil in den drei genannten Fällen die Listanforderung sowieso nochmals vollständig durchgeprüft wird. In der Maske VS114 werden Eingaben nur auf korrekte Syntax geprüft.

7.11 Anforderung von Formeln (ONLINE)

Formeln werden in der Maske VS114 erfasst. Diese Maske kann aus mehreren anderen Masken angesteuert werden und zwar

Aus den ersten drei genannten Bildern heraus kommt man jeweils in die Maske VS114, indem man die gewünschte Reihenfolgenummer vergibt und jeweils das Feld FORMEL markiert. In der Maske VS100 ist für das Verzweigen ein Formelname anzugeben und das entsprechende Feld für die Formelbearbeitung zu markieren. Aus der Bibliotheksverwaltung bzw. aus der Bibliotheksübersicht heraus verzweigt man durch Selektion der gewünschten Formel.

In das erste Eingabefeld von VS114 muss ein Formelbezeichner eingetragen sein. Dieser kann bis zu 20 beliebige Zeichen enthalten, mit Ausnahme des einfachen Hochkommas. Beim Abspeichern einer Formel in die Bibliothek werden nur die ersten acht Zeichen der Formelbezeichnung berücksichtigt. In diesem Fall sollten die Formelbezeichnungen nur aus ASS-Bezeichnern bestehen.

Der eigentliche Formelausdruck wird nach den gleichen Regeln wie in der BATCH-Sprache beschrieben.

Abhängig davon, ob eine Formeln innerhalb einer Listanforderung bearbeitet wird oder ob diese Formel unabhängig gepflegt wird (Ansteuerung aus VS100, VS117 oder VS122), stehen verschiedene Funktionen via PF-Taste zur Verfügung.

Mit PF4 und Eingabe einer Formelbezeichnung können Sie sich eine eventuell in der aktuellen Anforderung bereits existierende Formel als Vorlage für eine neue Formel einlesen lassen. Mit PF8 und Eingabe einer Formelbezeichnung kann die entsprechende Formel aus der Formelbibliothek eingelesen werden. Mit PF5 kann bei unbekanntem Formelnamen zur Formelauswahl auch in die Bibliotheksübersicht verzweigt werden (vgl. auch Kap. 7.10 'Die Formelbibliothek (Online)').
ACHTUNG: Dabei muss die Art der Formel auch wirklich zur aktuellen Anforderungsumgebung passen. Wird z. B. eine Werteformel als Schlüsselformel eingelesen, so ist diese Anforderung ein Verstoß gegen die ASS-Syntax und wird deshalb nicht ausgeführt. Diese Funktionstasten sind nur bei der Verarbeitung von Formeln innerhalb von Anforderungen sinnvoll und stehen daher auch nur in dieser Umgebung zur Verfügung.

Mit der PF3-Taste wird zu den Zeileninhalten zurückgekehrt, die zuletzt als gültig vorgemerkt wurden (durch Einstieg in die Maske oder durch Drücken der Enter-Taste). Hierbei werden durch Betätigen der PF3-Taste leere Zeilen (also auch die, die durch das i-Einfügekommando erzeugt wurden) wieder zusammengeschoben.
Sollen lediglich die Zeilen des angezeigten Bildschirms um die Leerzeilen zusammengeschoben werden, ist vor dem Betätigen der PF3-Taste der Bildschirminhalt mit Enter-Taste vorzumerken, wobei keine Fehlermeldung auftreten darf.

7.12 Editierfunktionen in der Maske VS114

Es stehen folgende Editierfunktionen bei der Erfassung einer Formel zur Verfügung :

Alle Editierkommandos bestehen aus einem Kommando-Kürzel (ein Buchstabe), gefolgt von einem Blank. Sie müssen linksbündig in den betreffenden Zeilen eingegeben werden.
Der Inhalt der entsprechenden Zeilen wird dann nicht aus der aktuellen Maske geholt (da er ja teilweise überschrieben worden sein kann durch das Editierkommando), sondern aus der vorhergehenden Eingabe, bzw. von der Anforderungsdatenbank, falls die Formel gerade zuvor mit PF8 eingelesen wurde. Letzteres ist natürlich nur dann möglich, wenn die Formel nicht zwischendurch von einem anderen Benutzer von der Anforderungsdatenbank gelöscht wurde.

Die einzelnen Kommandos :

Kommando Wirkung
i,IEine Leerzeile wird eingefügt, die folgenden Zeilen rücken um eine Zeile nach unten.
r,RDie entsprechende Zeile wird dupliziert.
c,CDie entsprechende Zeile (ein 'c' eingeben) oder der entsprechende Block (zwei 'c' eingegeben, der Block reicht vom ersten 'c' bis zum zweiten 'c') wird kopiert, und zwar hinter die mit 'a' gekennzeichnete Zeile bzw. vor die mit 'b' gekennzeichnete Zeile.
m,MWie 'c', aber der Quellbereich wird gelöscht.
a,AHinter dieser Zeile beginnt der Zielbereich für Copy/Move
b,BVor dieser Zeile beginnt der Zielbereich für Copy/Move

Verschachtelte Kommandos:
Ein r-Kommando innerhalb eines c-Block-Kommandos: das r-Kommando wird zuerst ausgeführt.
Ein m-Kommando innerhalb eines r-Block-Kommandos: das m-Kommando wird zuerst ausgeführt.

7.13 Anforderung von Formeln (BATCH-Sprache)

In der BATCH-Sprache werden Formeln wie normale Schlüsselinhalte, Zeiten der Werte über ihre Bezeichnung angesprochen. Ist die Bezeichnung kein ASS-Bezeichner, muss die Bezeichnung zwischen einfache Hochkommata gesetzt werden.
Der Bezeichnung folgt ein Gleichheitszeichen. Dahinter folgt der eigentliche Formelausdruck, dessen mögliche Bestandteile oben beschrieben wurden.

Beispiel: Schlüsselformel ZS: TARIF = (050, 060, 070, SONDERTARIF = '061' + '062', 080);

7.14 Definition von Formeln durch Formeln aus der Formelbibliothek

Wird eine Formel oder Funktion in vielen Anforderungen verwendet, so besteht die Möglichkeit, diese Formel bzw. Funktion dynamisch von der Formelbibliothek zu ergänzen. Der Vorteil liegt darin, dass bei einer Änderung der Formel auf der Bibliothek andernfalls sämtliche betreffende Anforderungen anzupassen wären.

Angefordert werden derartige Formeln / Funktionen durch FONAME1 = <<FONAME2, wobei FONAME2 auf der Formelbibliothek bekannt sein muss. Handelt es sich um eine Funktion, so muss FONAME1 die Konventionen für Funktionsnamen (vgl, Kap. 7.6) erfüllen.

Ferner ist bei der Definition von FONAME1 die Angabe von Aufbereitungsangaben möglich, wobei schon vorhandene Aufbereitungsangaben bei FONAME2 übersteuert werden. Weitere Angaben, z. B. die Verwendung innerhalb eines arithmetischen Ausdrucks, sind nicht zulässig. Derartige Konstrukte lassen sich jedoch auf einfache Weise durch die Verwendung von Hilfsformeln (NN-Formeln) erreichen.

7.15 Bedingungen in Formeln (IF / THEN / ELSE)

In bestimmten Anwendungsfällen ist es erforderlich, den Wert einer Formel in Abhängigkeit einer (logischen) Bedingung zu bestimmen.
Die Syntax hierfür lautet:

      Foname = IF Bedingung THEN arithmetischer Ausdruck 1
                            ELSE arithmetischer Ausdruck 2
               ENDIF

Die Art des arithmetischen Ausdrucks hängt davon ab, ob es sich um eine Zeitraum-, Schlüssel- oder Werteformel handelt. In der Bedingung ist die Verwendung der Vergleichsoperatoren '<', '<=', '>', '>=', '=' und '^=' sowie die Verknüpfung zweier Bedingungen durch '&' (logisches und) oder '!' (logisches oder) erlaubt. Die Bedingung gilt als 'wahr', wenn die Auswertung ein von 0 verschiedenes Ergebnis liefert. Im anderen Fall gilt die Bedingung als nicht erfüllt. Bei Schlüsseln mit Zeit-Typ (siehe ST06) sind auch chronologische Zeitvergleiche zulässig, siehe 4.4.1.

Beispiel:

       BESTANDSENTWICKLUNG
          = IF BESTAND_ALT = 0
              THEN 0
              ELSE ((BESTAND_NEU - BESTAND_ALT) / BESTAND_ALT) * 100
            ENDIF

Der Formel kann wie üblich eine Aufbereitungsangabe folgen. Die Bedingungen können auch verschachtelt werden.

Beispiel:

       BESTANDSENTWICKLUNG
          = IF BESTAND_ALT = 0
              THEN IF BESTAND_NEU = 0
                     THEN 0
                     ELSE 999999999999999
                   ENDIF
              ELSE ((BESTAND_NEU - BESTAND_ALT) / BESTAND_ALT) * 100
            ENDIF

Innerhalb einer Werteformel kann bei der Bedingung auch auf andere Schlüssel Bezug genommen werden. Um dabei einen Schlüsselbezeichner von einem Wertebezeichner unterscheiden zu können, ist ersterer durch die Angabe von SCHLUESSEL(Schlüsselbezeichner) kenntlich zu machen.

Beispiel:

       PRAEMIE_KFZ
          = IF SCHLUESSEL(SPARTE) = KFZ
              THEN VERS_SUMME * FAKTOR
              ELSE 0
            ENDIF

Auch in diesem Fall ist die Verknüpfung verschiedener Bedingungen zulässig (Klammerung ist empfehlenswert). Die hierbei angesprochenen Schlüssel müssen explizit angefordert als Kopf-, Zeilen- oder Spaltenschlüssel angefordert sein.
Installationsabhängig kann es aufgrund der internen Abarbeitungsreihenfolge notwendig sein, den THEN-Teil oder ELSE-Teil als NN-Formel auszugliedern. Dieses ist dann der Fall, wenn gleichzeitig Rechenwerte und Mengen angefordert werden.

Im obigen Beispiel wird auf eine Schlüssel-Ausprägung abgefragt. Es gibt auch die Möglichkeit auf Ausprägungsmengen abzufragen:

       PRAEMIE_KFZ
          = IF SCHLUESSEL(SPARTE) = MENGE('Sach')
              THEN VERS_SUMME * FAKTOR
              ELSE 0
            ENDIF

wobei alle Mengen, die in der betreffenden Anforderung mit 'Sach' bezeichnet sind, berücksichtigt werden.

Ähnlich können in Zeitraum- oder Schlüssel-Formeln auch Formelnamen abgefragt werden:

       PRAEMIE_KFZ
          = IF SCHLUESSEL(SPARTE) = FORMEL('Sach')
              THEN VERS_SUMME * FAKTOR
              ELSE 0
            ENDIF

In Werte-, Zeitraum- oder Schlüssel-Formeln kann bei Bedingungen auch ein sogenannter String-Vergleich verwendet werden.

Beispiel:

       IF '&&MONAT' < '04'
         THEN 0
         ELSE NEUBEITRAG
       ENDIF

Beim Stringvergleich ist darauf zu achten, dass beide Operanden als String definiert sind, d.h. in Hochkommata eingeschlossen werden. Im obigen Beispiel ist das Ergebnis abhängig vom Inhalt des Parameters &&MONAT und damit in der gesamten Anforderung immer gleich.

In Werteformeln darf auch die rechte Seite vom Vergleichs-Operator einen Schlüssel, der in der aktuellen Anforderung als KS, ZS oder SS angefordert ist, adressieren.

Beispiel:

       PRAEMIE_KFZ
          = IF SCHLUESSEL(SPARTE) = SCHLUESSEL(SPARTE_NEU)
              THEN VERS_SUMME * FAKTOR
              ELSE 0
            ENDIF


8 Druckaufbereitungs- und Selektionsoptionen

ASS bietet eine große Auswahl an Optionen, über die Sie das Aussehen des Listbildes variieren können. Optionen sind wahlfrei. Werden sie nicht beantragt, gelten Standardeinstellungen, die im Anschluss an die Besprechung der Optionen vorgestellt werden. Sie können Druckaufbereitungsoptionen auswählen.

In der Online-Verarbeitung werden Optionen durch die Maske VS118 eingegeben, die über die Eingabe "OP" im Kommandofeld der Maske VS101 angesteuert wird. Daraufhin stehen in der Maske VS118 die Optionen zur Auswahl. Entsprechend der Art der Abfrage sind Felder anzukreuzen oder eine Zahl einzugeben. In der Maske VS118 können Sie außerdem für die Online-Verarbeitung einen Summenblock anfordern.
Alternative Aufbereitungsoptionen sind im Bild VS118 als Block dargestellt. Von diesen alternativen Aufbereitungsoptionen darf man maximal eine auswählen. Wählen Sie keine Option aus, so wird auf eine Voreinstellung zurückgegriffen. Mit PF6 geht es zurück zu VS101.

In der BATCH-Sprache sind die Aufbereitungsoptionen syntaktisch aufgeteilt in allgemeine Aufbereitungsoptionen (OPT) und in Aufbereitungsoptionen für Schlüssel (OPT2). In der BATCH-Sprache kann der Anwender eine Reihe von unterschiedlichen Listen-Aufbereitungsvarianten auswählen. Dies geschieht durch Angabe von

      OPT:  OPTION1 , OPTION2 , ....... , OPTIONn  ;
         bzw.
      OPT2: OPTION1 , OPTION2 , ....... , OPTIONn  ;

in der Auswertungsanforderung. Für OPTION1 bis OPTIONn sind die unten beschriebenen Eingaben möglich.

8.1 Beschreibung der einzelnen Druckoptionen

Die einzelnen Druckoptionen werden hier in der Reihenfolge vorgestellt, in der sie in der Maske VS118 der Dialog-Anwendung auftreten. Dort wird bei der Beschreibung der Optionen zuerst der Optionsname genannt, der in der Maske zu finden ist.
Dann folgen Erklärungen zur Option und der Name, unter dem die Option in der BATCH-Verarbeitung benutzt wird. Die Anforderung von Optionen in der BATCH-Verarbeitung ist außerdem in den Kap. 8.2 bis 8.5 beschrieben.

Hinweis zur Textierung von Schlüsseloptionen:
Diese Option bezieht sich auf die Darstellung aller echten Schlüssel der Auswertung. Soll nur für einen bestimmten Schlüssel eine entsprechende Textierung vorgenommen werden, muss in der Online-Verarbeitung über das Kommando KS, ZS oder SS in der Einstiegsmaske verzweigt werden. In dem folgenden Bild können dann für den einzelnen Schlüssel die hier dargestellten Optionen getrennt beantragt werden (BATCH-Sprache analog, s. Kap. 8.3).

Bezeichnung von Schlüsseln: Gedruckt wird
SCHLUESSELNUMMER:SCHLUESSELNUMMMER (KENR)
SCHLUESSELBEZEICHNUNG:SCHLUESSELBEZEICHNUNG (KEBEZ)
SCHLUESSELABKUERZUNG:SCHLUESSELABKUERZUNG (KEABK)
SCHLUESSELUEBERSCHRIFT:SCHLUESSELUEBERSCHRIFT IM ARBEITSGEBIET (CUEBER)
KENR_BEZ:SCHLUESSELNUMMER konkateniert SCHLUESSELBEZEICHNUNG
KENR_ABK:SCHLUESSELNUMMER konkateniert SCHLUESSELABKUERZUNG
KENR_UEB:SCHLUESSELNUMMER konkateniert SCHLUESSELUEBERSCHRIFT
Bezeichnung von Werten: Gedruckt wird
WERTENUMMER:WERTENUMMER (WENR)
WERTEBEZEICHNUNG:WERTEBEZEICHNUNG (WEBEZ)
WERTEABKUERZUNG:WERTEABKUERZUNG (WEABK)
WERTEUEBERSCHRIFT:WERTEUEBERSCHRIFT (WEUEB)
WENR_BEZ:WERTENUMMER konkateniert WERTEBEZEICHNUNG
WENR_ABK:WERTENUMMER konkateniert WERTEABKUERZUNG
WENR_UEB:WERTENUMMER konkateniert WERTEUEBERSCHRIFT
Bezeichnung von Ausprägungen Gedruckt wird
SCHLUESSELINHALT:SCHLUESSELINHALTE (KEINH)
INHALTSBEZEICHNUNG:INHALTSBEZEICHNUNGEN (KEBEZI)
INHALTSKURZBEZEICHNUNG:INHALTSKURZBEZEICHNUNG (KEKBEI)

BATCH-Sprache: Hier sind unter OPT: die entsprechenden Begriffe anzugeben, die oben in Klammern aufgeführt sind (einzige Ausnahme: statt CUEBER KEUEB verwenden) oder die Bezeichnungen, die oben in der ersten Spalte genannt sind (einzige Ausnahme: statt INHALTSBEZEICHNUNG SCHLUESSELINHALTSBEZEICHNUNG verwenden).

In das Feld INH können die Optionen KEINH, KEINH_SOLO (s.u.), ALLZSDRUCK und AU_EXIST eingetragen werden. Alle Zeilenschlüsselinhalte Drucken: Standardmäßig werden die Inhalte linker Zeilenschlüssel nur gedruckt, wenn sie sich im Vergleich zur vorhergehenden Zeile geändert haben. Sollen hingegen alle Inhalte in jeder Zeile gedruckt werden, muss unter INH ein 'Z' eingetragen werden (Option ALLZSDRUCK in der Batch-Sprache). Die Optionen können auch kombiniert werden.
BATCH-Sprache:

In das Feld BEZ können die Optionen KEBEZI, KYANONYM und M97_MENGE eingetragen werden. Alle Inhalte bei datenschutzkritischen Schlüsseln anonymisieren: Ob die Inhalte datenschutzkritischer Schlüssel vollständig, teilweise oder gar nicht anonymisiert werden, hängt normalerweise von den Berechtigungen des Benutzers ab (s. Handbuch Systemdokumentation, Kap. 8.11). Die Option KYANONYM bewirkt, dass unabhängig von der Benutzer-Security alle datenschutzkritischen Schlüssel vollständig anonymisiert werden, d.h. nur Sterne angezeigt werden.

Die Option "M97_MENGE" steuert, ob der User-Exit zur Textierung von Schlüsselinhalten auch auf Mengennamen angewendet werden soll. Sie ist auch als Schlüsseloption verfügbar.

BATCH-Sprache:

8.2 OPT - Allgemeine Aufbereitungsoptionen (BATCH-Sprache)

Eine Reihe von unterschiedlichen Listen-Aufbereitungsvarianten können vom Benutzer ausgewählt werden. Die Anforderung geschieht in der Form
OPT: Optionen ;
wobei die einzelnen Optionen in Kap. 8.1 unter BATCH-Sprache genannt sind und mit Komma voneinander getrennt aufgezählt werden.

Ein Beispiel:
OPT: NULLDRUCK , KEBEZI ;

8.3 OPT2 - Aufbereitungsoptionen für Schlüssel (veraltet!)

Es gibt noch neben der unter Kap. 8.2 genannten Möglichkeit eine weitere, Druckaufbereitungsangaben zu machen und zwar mit dem Schlüsselwort OPT2.

ACHTUNG: Die OPT2-Methode ist veraltet! Stattdessen wird dringend empfohlen, die gewünschten Optionen bei den Schlüsseln selbst anzufordern, siehe Kap. 4.2.1.2 ! Dort stehen mehr Optionen zur Verfügung, da die OPT2-Methode nicht mehr weiterentwickelt wird.

Beispiel: OPT2: KEBEZ(TARIF), KEINH(TARIF), KEBEZI(TARIF);

Mit OPT2 können für jeden angeforderten Schlüssel individuelle Druckaufbereitungsoptionen angefordert werden. Deswegen muss, wie oben ersichtlich, zu jeder Option gesagt werden, auf welchen Schlüssel sie sich beziehen soll. Außer der Schlüsselbezeichnung kann auch die Schlüsselnummer angegeben werden, z.B. OPT2: KEINH (17);

Folgende Optionen sind möglich: (Bedeutung siehe auch Kap. 8.1.)

8.4 Gemeinsame Anforderung von Schlüsselinhalt und Bezeichnung bzw. Kurzbezeichnung

Wird KEINH und KEBEZI angefordert, so werden Schlüsselinhalt und Schlüsselinhaltsbezeichnung nebeneinander gedruckt. Wird KEINH und KEKBEI angefordert, so werden Schlüsselinhalt und Schlüsselinhaltskurzbezeichnung nebeneinander gedruckt.

Sollen bei Axcel oder ASS-Internet oder PC-Dateien Schlüsselinhalt und Schlüsselinhaltsbezeichnung bzw. Schlüsselinhaltskurzbezeichnung in getrennte Zellen ausgegeben werden, so wird dies mit KEINH_SOLO anstatt KEINH angefordert.

8.5 Voreingestellte Druckoptionen (Online und BATCH-Sprache)

    SCHLUESSELBEZEICHNUNG     WERTEBEZEICHNUNG    SCHLUESSELINHALT

    ANZAHL KOPIEN  1          BREITES FORMAT      KEINE DATEI

    ZS NICHT UNTEREINANDER DARSTELLEN

    NUMMER DER ERSTEN SEITE     1    FORTLAUFENDE SEITENNUMERIERUNG

    EINRUECKEN LINKS UM STELLEN 0    KOPFSCHLUESSEL NEBENEINANDER

    SPALTENUEBERSCHR. RECHTSBUENDIG  KEINE WAAGERECHTEN TRENNSTRICHE

    NULLZEILEN NICHT DRUCKEN         KEINE SENKRECHTEN  TRENNSTRICHE

    LEERZEILEN/NULLSPALTEN DRUCKEN   WERTEDIM IN KS/ZS

    TAUSENDERPUNKTE DRUCKEN          ONLINE *-ZEILEN NICHT VORZIEHEN

    KEINE DRUCKBEDINGUNG

    UNTERDRUECKTE ZEILEN IN *-ZEILEN ADDIEREN

    KEIN SUMMENBLOCK   ZEITPRUEFUNG    VOLLSTAENDIGKEITSPRUEFUNG

                                       nicht AUSPPRUEF

    PRKLASSE 0  LIKLASSE 0    KEINE LISTDB   ANZAHL ZEILEN PRO SEITE

                                        Installationsabhängige Vorgabe
BATCH-Sprache

Voreingestellt sind:

8.6 Druckausgabedateien und Druckerklassen

Mit der ASS-Anforderungssprache werden Listen angefordert. Die angeforderten Listen werden von einem Batch-Programm erstellt. Dabei werden drei Dinge erzeugt:

  1. Ein Ablaufprotokoll
  2. Ein Protokoll jeder Listanforderung
  3. Die eigentliche Liste.

Hierfür sind 11 Ausgabeklassen vorgesehen:
Klasse 0 für das Ablaufprotokoll.
Klasse 0 bis Klasse 10 für Protokolle von Listanforderungen und für die eigentlichen Listen.

Jede Ausgabeklasse kann eine eigene Satzlänge (d. h. Spaltenzahl) zugeordnet bekommen. Die Zuordnung legt der ASS-Systemverwalter fest.

Beim Anfordern von Listen sowie beim LIST- oder STAT-Kommando in Online-Auswertungen kann gesagt werden, in welche Klasse das Anforderungsprotokoll und in welche Klasse die eigentliche Liste geschrieben werden soll. Wird hierzu nichts gesagt, so wird standardmäßig in Klasse 0 ausgegeben.

Ausgabeklassen werden mit der Option PRKLASSE = nn für das Protokoll der Anforderung und mit der Option LIKLASSE = mm für die eigentliche Liste angefordert, wobei nn und mm Zahlen zwischen 1 und 10 sind.

Beispiel (BATCH-Sprache): OPT: PRKLASSE = 5, LIKLASSE = 10 ;
Das Listanforderungsprotokoll wird in Klasse 5, die eigentliche Liste wird in Klasse 10 ausgegeben.

Wird mit unterschiedlichen Ausgabeklassen gearbeitet, so sollten vorher die Eigenschaften der Klassen beim ASS-Systemverwalter erfragt werden, da insbesondere die Anzahl von Spalten, die für die eigentliche Liste zur Verfügung stehen, von Klasse zu Klasse variieren kann.

Beispiel: PRKLASSE = 5, LIKLASSE = 5 ;
In diesem Fall werden Anforderungsprotokoll und eigentliche Liste in dieselbe Klasse (nämlich 5) ausgegeben und stehen in der Ausgabedatei hintereinander.

Weiterhin ist zu beachten, dass jeder Ausgabeklasse eine eigene maximale Zeilenzahl zugeordnet wird. Diese Zahl wird ebenfalls vom ASS-Systemverwalter festgelegt. Die festgelegte Zeilenzahl kann durch die Option ZEILEN = nn reduziert, jedoch nicht vergrößert werden (s. o.).

8.7 Auswahl von Spaltenbedingungen

Das Drucken bzw. Anzeigen einer echten Listenzeile kann von Spaltenbedingungen abhängig gemacht werden. Unter einer Spaltenbedingung wird der Vergleich der Zahlen zweier Spalten untereinander oder der Vergleich der Zahl einer Spalte gegen einen Absolutwert verstanden. Beispiel:
SPALTE (1) > SPALTE (2) oder SPALTE(1) > 100. Wenn das Vergleichsergebnis wahr ist, wird gedruckt bzw. angezeigt, andernfalls nicht.
Formal besteht eine Spaltenbedingung aus der Angabe einer Spalte, gefolgt von einem Vergleichsoperator, der wiederum von der Angabe einer Spalte oder einem Direktwert gefolgt wird.

Eine Spalte wird in der Form SPALTE(n) oder SP(n) angegeben, wobei n die Nummer der gewünschten Spalte ist.

Zulässige Vergleichsoperatoren sind >, >=, <, <=, =, ^=.

Ein Absolutwert hat die Form n oder n/m oder -n oder -n/m, wobei n und m nicht negative Zahlen (ggf. mit Nachkommastellen) sind. Die Ausdrücke n/m und -n/m sind historisch bedingt, da vor ASS 8.40 n und m ganzzahlig sein mussten. Nachkommastellen wurden dann durch Division mit 10, 100, 1000 usw. simuliert.

Mehrere Spaltenbedingungen können mit 'und' (&) oder 'oder' (!) verknüpft werden. Hierbei gilt die übliche Regel: Und vor oder. Die Priorität der logischen Bedingungen kann durch Klammerung individuell angegeben werden. Beispiele erläutern dies am einfachsten:

(SP(1) > 100 ! SP(1) > SP(2)) & SP(1) <= SP(3), (SP(1) > 100 ! SP(1) > SP(2)) & (SP(1) <= SP(3) ! SP(3) > -0,3).

Mit den geschilderten Spaltenbedingungen lassen sich z.B. folgende Fragestellungen beantworten: Welche Vertreter haben im Vormonat weniger als im Vorvormonat produziert und die prozentuale Abweichung vom Soll ist größer 10 Prozent.

Je nach Voreinstellung (installationsabhängig) werden Spaltenbedingungen auf Summenzeilen angewendet oder nicht. Diese Voreinstellung kann übersteuert werden, indem die eigentlichen Bedingungen um ",SUMMEN=JA" bzw. ",SUMMEN=NEIN" ergänzt werden. Wie die Voreinstellung auch wirkt sich die Angabe auch auf die "einzelne" Spaltenbedingung (bei den Optionen) aus.

Erfassen von Spaltenbedingungen

ONLINE: In der Maske VS101 wird durch das Kommando BD eine Maske angefordert, in der die Spaltenbedingungen direkt eingegeben werden können.

BATCH: BED: Spaltenbedingungen ;

Achtung: Wie bei Schlüssel-, Werte- und Zeitformeln wird auch hier in der BATCH-Sprache das Nachkomma durch einen Punkt dargestellt, in der Dialogmaske wird hingegen immer das Komma angezeigt.

8.8 Mehrzeilige Statistiken

Werden für eine Statistik mehr Spalten angefordert, als nebeneinander auf den Druckoutput passen, so druckt ASS die fehlenden Spalten auf der nächsten Seite. Diese Standardeinstellungen können Sie zugunsten der mehrzeiligen Statistik ausschalten. Bei der mehrzeiligen Statistik wird nach anzugebenden Spalten ein Zeilenumbruch gemacht. Die folgenden Spalten stehen dann in der nächsten Zeile.

Diese Möglichkeit kann als Spaltenüberschrift mit

&&UMBRUCH: n1,n2,n3,....

angefordert werden. Nach den Spalten n1,n2,n3 wird nun ein Zeilenumbruch gemacht. Dabei können Sie bis zu 20 Spalten angeben. Wenn Sie eine so hohe Spaltennummer angeben, dass mehr Spalten in einer Zeile stehen als auf den Druckoutput passen, so werden die überzähligen Spalten abgeschnitten, d. h. sie erscheinen nicht mehr auf dem Druckoutput.

Da in der Liste die angezeigten Werteinhalte in einer Listenspalte zu unterschiedlichen Spaltenschlüsseln gehören können, werden die standardmäßigen Spaltenüberschriften ausgeblendet. Es besteht aber weiterhin die Möglichkeit, eigene Spaltenüberschriften anzeigen zu lassen. Diese sind dann vor &&UMBRUCH anzufordern.

Außerdem können den einzelnen Zeilen, die durch die mehrzeilige Statistik entstehen, zusätzliche Texte vorangestellt werden, um die Übersicht zu verbessern. Diese Texte werden ebenfalls als Spaltenüberschrift mit führendem && nach &&UMBRUCH angefordert.

Beispiel:

     ASS;
       AG: 19;
       SU: '##UEBERSCHRIFT',
           '&&UMBRUCH: 2,3,6,7'
           '&&TEXT 1',
           '&& TEXT 2';
       KS: WERTE = (BRUTTO_UMSATZ);
       ZS: ABTEILUNG = ('A1','A5');

       SS: ZEITRAUM = (0198,0298,0398,0498,0598,0698,0798,0898);
     END;

Mit dieser Anforderung erhält man dann folgende Statistik:

     ABTEIL I UEBERSCHRIFT
     ---------------------------------------------------------
            I
     A1     ITEXT 1      5.000        4.500
            I TEXT 2     6.000
            I            5.800       10.200       8.200
            I            7.900        6.300
     A5     ITEXT 1     15.100       13.200
            I TEXT 2    15.000
            I           17.300       20.100      17.200
            I           12.900       14.600

8.9 Spaltensequenzen

Standardmäßig wird über die Auswahl der Spaltenschlüssel der Zahlenteil einer Anforderung festgelegt, über die Kopf- und Zeilenschlüssel der Inhaltsteil. Dabei werden die Zahlen immer rechts von den (Zeilen-)Schlüsselinhalten angezeigt.

Über die Angabe einer sog. "Spaltensequenz" (auch: "Blättersequenz" oder einfach "Sequenz") können die Schlüssel- und Zahlenspalten des Endergebnisses einer Anforderung noch einmal beliebig umsortiert und miteinander vermischt werden. Werden in einer Anforderung gleich mehrere Sequenzen definiert, kann zwischen diesen dann hin- und hergeblättert werden, ohne dass die Anforderung jedesmal neu ausgeführt werden muss.

Um diese Spaltensequenzen Online anfordern zu können, geben Sie in der Maske VS101 das Kommando SQ ein. Es wird in die Maske VS107 verzweigt, in der in 6 Zeilen Spaltensequenzen eingegeben werden können. Eine Sequenz wird angefordert, indem man einfach die Nummern der gewünschten Spalten hintereinander durch Komma oder Leerzeichen getrennt eingibt. Die Zeilenschlüsselspalten werden mit einem führenden 'Z' versehen. Es können auch Intervalle angegeben werden, wobei die Bis-Angabe größer als die Von-Angabe sein muss. Auch Intervalle vom Schlüssel- in den Zahlenbereich sind erlaubt.
Beispiel: 5 - 7, Z1, 3, Z3 - 2
Soll eine weitere Sequenz eingegeben werden, so ist die vorhergehende mit einem Semikolon abzuschließen.
Beispiel: 5 - 7, Z1, 3, Z3 - 2 ; 1, 4, 2 ; 1, Z1 - Z20

In der BATCH - Sprache werden die Sequenzen angefordert mit SQ: ( 5 - 7, Z1, 3, Z3 - 2 ; 1, 4, 2 ; 1, Z1 - Z20 );

Zu hohe Spaltennummern (z.B. die Angabe "Z20", wenn nur 10 Zeilenschlüssel angefordert sind) werden ignoriert und führen nicht zum Fehler.

Bis inkl. ASS 8.10 konnten in Sequenzen nur Zahlenspalten angegeben werden, d.h. es wurde jeweils nur der Spaltenschlüsselteil variiert und der Zeilenschlüsselteil in jeder Sequenz komplett angedruckt. Soll in einer Sequenz nun der Zeilenschlüsselteil komplett unterdrückt werden, reicht es also nicht, nur Zahlenspalten anzugeben: Vielmehr muss irgendwo in der Sequenz explizit der Begriff "NOZS" stehen, und natürlich dürfen in dieser Sequenz keine Schlüsselspalten angefordert sein.
Beispiel: 4, 2, 3, 1, NOZS; Z1 - Z3, 3

Die Spaltensequenzen werden in Online- und Batch-Auswertungen (PCL1016, PCL1003) etwas unterschiedlich behandelt. In einer Batch-Auswertung werden die angeforderten Sequenzen nacheinander auf ein jeweils neues Blatt ausgegeben. Dagegen werden in der ST31 die Sequenzen nicht nacheinander angezeigt. Sie stehen in diesem Fall 'nebeneinander', und es kann mit PF11 auf die nächste und mit PF10 auf die vorausgehende Sequenz geblättert werden. Ist man bei der letzten (bzw. ersten) Sequenz angelangt, so wird diese bei PF11 (PF10) weiterhin angezeigt. Online kann über maximal 30 Sequenzen geblättert werden. Im Batch können maximal 100 Spalten, summiert über alle Sequenzen, angegeben werden (dabei zählt ein Intervall als zwei Spalten).

Hat eine Sequenz eine größere Zeilenbreite als am Bildschirm angezeigt werden kann, so hat dies zur Folge, dass mit PF11 nicht der fehlende Teil der Zeile, sondern die nächste Sequenz angezeigt wird. Möchte man diesen Teil der Zeile sehen, so müssen die Sequenzen (eventuell nur temporär) entsprechend angepasst werden.

Master-Sequenz

Wird nur eine Spaltensequenz definiert, kann diese als Master-Sequenz gekennzeichnet werden. Dann wird sie auch im ASS-Webservice sowie in Mehrfach-Anforderungen (ASS-Excel) berücksichtigt, wo gewöhnliche Spaltensequenzen ignoriert werden.

Insbesondere kommt die Master-Sequenz auch bei der Formvorgabe in ASS-Excel zum Tragen, s. Handbuch ASS-Excel, Kap. 1.8.

Um die Master-Sequenz in der ST31 oder im Batch anzufordern, muss vorne in der (einzigen!) Sequenz der Begriff 'MSZ' stehen.

Beispiel: MSZ 1-10, Z1-Z20, 11-20

Sollen gleichbleibende Zeilenschlüsselinhalte entsprechend ihrer angezeigten Reihenfolge ausgeblendet werden, so kann die Option 'ZS-Inhalte neu ausblenden' durch den Begriff 'MSQ' (anstatt 'MSZ') aktiviert werden.

8.10 Spaltensortierungen

Das Anforderungsergebnis kann nach einer oder mehreren (bis zu 10) Spalten sortiert werden. Zur Definition wird via Kommando "SR" in die Maske VS107 verzweigt. Zur BATCH-Sprache siehe unten.

Soll nach der nnn-ten Spalte sortiert werden, so muss "SPALTE(nnn)=" (oder kurz: "SP(nnn)=") und, je nach Sortierrichtung, entweder "AUF" oder "AB" angegeben werden. Dabei muss nnn zwischen 1 und 250 liegen.

Die Anforderung wird dann bzgl. des letzten Kopf- bzw. Zeilenschlüssels nach der nnn-ten Spalte sortiert. D.h. falls bei diesem Sternsummen angefordert sind, bleiben diese erhalten und nur die Bereiche zwischen den Sternsummen werden nach der nnn-ten Spalte sortiert. Statt des letzen Kopf- bzw. Zeilenschlüssels kann bzgl. eines beliebigen anderen Schlüssels sortiert werden, dieser ist hierfür in der Schlüsselauswahlmaske zu kennzeichnen, siehe Kap. 4.2.1.2. Bei Kopf- und Zeilenschlüsseln, die hinter dem markierten Schlüssel stehen, werden alle Sternzeilen unterdrückt.

Soll nach mehreren Spalten sortiert werden, so sind auch mehrere Angaben der Form "SPALTE(nnn)=AUF" bzw. "...AB" zu machen. Dann ist die Reihenfolge der Angaben entscheidend:
Primär wird nach der ersten angegebenen Spalte sortiert. Bleiben die Zahlen über mehrere Zeilen hinweg gleich, so wird dieser Bereich hinsichtlich der zweiten angegebenen Spalte sortiert usw. Es können max. 10 Spalten angegeben werden, mit jeweils beliebiger Sortierrichtung (auf oder ab).

Wird zusätzlich in irgendeiner Zeile der Begriff "GESAMT" angegeben, so wird das gesamte Auswertungsergebnis hinsichtlich der angegebenen Spalten sortiert, unabhängig davon, ob ein bestimmter Kopf- oder Zeilenschlüssel markiert ist. In diesem Fall werden alle vorkommenden Sternzeilen unterdrückt.

Achtung:
Ist bei einem Schlüssel eine Ausprägungssortierung eingestellt, dann wird die Spaltensortierung nur angewendet, wenn der Schlüssel, auf den sie sich bezieht, hinter dem letzten Schlüssel steht, der nach seinen Ausprägungen sortiert wird.

BATCH-Sprache: Die Spalten müssen bei den Druckoptionen gemacht werden, d.h. hinter der "OP:"-Angabe. Angaben haben auch hier die Form "SPALTE(nnn)=AUF" bzw. "...AB". Bei mehreren Sortierspalten müssen diese direkt hintereinander in der gewünschten Reihenfolge angegeben werden, durch Komma getrennt. Soll das gesamte Auswertungsergebnis sortiert werden (s.o., Option "GESAMT"), so ist bei JEDER Sortierangabe statt "AUF" oder "AB" der Begriff "AUF_GESAMT" bzw. "AB_GESAMT" anzugeben.

9 Parameter in Anforderungen

Parameter ermöglichen es, flexible Anforderungen zu entwerfen. Es wird der formale Aufbau des Listbildes festgelegt, während gewisse Parameter für den Ausführenden offen bleiben, und individuell für dessen Auswertung besetzt werden können. In Anforderungen können auf diese Weise etwa Schlüsselbezeichnungen, Schlüsselausprägungen, Zeitangaben, Wertebezeichnungen und Gruppierungsnamen offen gehalten werden.

BEISPIEL:
Eine Anforderung soll für einen Monat (ASS-Zeit) in einem Gebiet (Schlüsselnummer 2405) zu einem Artikel (verketteter Begriff, bestehend aus den Schlüsseln 2400 und 2401) zu allen Kunden die Brutto- und Nettoumsätze zeigen. Dabei soll der Anwender die Möglichkeit haben, den Monat, das Gebiet und den Artikel nach seinen Bedürfnissen anzupassen, ohne die Anforderungsdefinition verändern zu müssen.

9.1 Syntax und Einsatz von Parametern bei Anforderungserstellung

Parameternamen müssen mit '&&' beginnen, gefolgt von einem maximal 8-stelligen ASS-Bezeichner (vgl. Kap. 3.1.4). Der Parametername DUMMY darf nicht verwendet werden.

Je nach ART des Parameters, das heißt ob er z. B. eine Schlüsselbezeichnung, Ausprägung, Wertebezeichnung oder Zeitangabe ersetzen soll, kann er an allen Stellen eingesetzt werden, an denen auch der zu ersetzende Begriff verwendet werden kann. Also kann z. B. ein Parameter, mit dem eine Zeitangabe beschrieben werden soll, bei der Auswahl von Zeiten (ZE, Maske VS113), bei Zeitraumangaben zum Wert und in Zeitraumformeln angegeben werden, wobei er sich genau wie eine richtige Zeitangabe verhält.

BEISPIEL:
Um das oben genannte Beispiel zu realisieren, muss also bei der Auswahl von Zeiten (Maske VS113) eingegeben werden:

      GEWUENSCHTE ZEITEN:    &&ZT - ....
                             .... - ....
                             .... - ....

Daneben wird bei der Auswahl der Ausprägungen (Maske VS110) für das Gebiet (Schlüssel 2405) angegeben:

      FOLGE      INHALT       BEZEICHNUNG
      1...     &&GEBIET....   ....................
      ....     ............   ....................
      ....     1...........   NORD................
      ....     2...........   NORDOST.............

und für die Schlüssel 2400 und 2401 (Artikel):

     FOLGE      INHALT       BEZ.       FOLGE      INHALT       BEZ.
     1...     &&ART1......   ....       1...     &&ART2......   ....
     ....     ............   ....       ....     ............   ....
     ....     1000........   ....       ....     0000........   ....
     ....     1020........   ....       ....     0001........   ....

Die Parameter müssen nicht nur als Platzhalter in der Anforderung eingestellt werden, sondern außerdem noch mit Initialwerten vorbesetzt werden. Dies geschieht in der Maske VS166 ('Parameter Definieren'), die vom Grundbild VS101 mit dem Kommando 'PD' zu erreichen ist (siehe Kap. 9.2).

Lediglich von historischer Bedeutung ist die Möglichkeit, Parameterinhalte im Kommentar einer Anforderung zu besetzen. Dies geschieht dort durch eine Zuweisung in der Form

&&ZE = '0198'

(in diesem Beispiel eine Zeitraumangabe). Diese Methode empfehlen wir nicht; sie gibt es nur noch aus Kompatibilitätsgründen zu älteren ASS-Versionen. Sollten Parameter gleichzeitig mit beiden Varianten vorbesetzt sein, so werden die Vorbesetzungen aus dem Kommentar herangezogen.

9.2 Parameter definieren und vorbesetzen (VS166)

Mit dem Kommando 'PD' gelangt man zur Maske VS166. Hier werden dem ASS die verwendeten Parameter und ihr Einsatzbereich vorgestellt (Ersetzen einer Ausprägung, eines Wertes, einer Zeitangabe, etc.). Gleichzeitig wird auch beschrieben, ob und wie der Benutzer diese Parameter beim Ausführen aus der Bibliotheksübersicht (VS122) besetzen darf. Schließlich kann hier das Aussehen der Prompt-Maske zur Parameterbelegung (VS167, siehe Kap. 9.4) gestaltet werden.

Feldbeschreibungen
  1. PARAMETER AUSWAEHLEN ?
    In diesem Feld wird festgelegt, wann aus der Bibliotheksübersicht (VS122) oder aus der Startanforderung einer Anwendung in die Prompt-Maske zur Parameterbesetzung (VS167) verzweigt wird.
    Wird eine Parametergruppierung auf der Bibliothek T editiert, wird die Angabe ignoriert!
    Folgende Angaben sind möglich:
    • 'J' Die Prompt-Maske wird grundsätzlich angeboten (auch von der Startanforderung einer Anwendung aus).
    • 'N' List (L) und Stat (S) können sofort ausgeführt werden, bei allen anderen Angaben wird die Prompt-Maske angezeigt (von der Startanforderung einer Anwendung aus wird sie nicht angezeigt).
    • ' ' Es können alle üblichen Kommandos ausgeführt werden. Dabei wird mit dem Kommando 'P' Bild VS167 aufgerufen. Von der Startanforderung einer Anwendung aus wird nicht in die Prompt-Maske verzweigt.
  2. PARNAME
    Hier wird der Name des Parameters angegeben, unter dem er in der Anforderung angesprochen wird. Er muss mit '&&' beginnen, gefolgt von einem maximal 8-stelligen ASS-Bezeichner (vgl. Kap. 3.1.4) Zulässige Namen sind etwa &&ZE, &&A1, &&VAR_1. Der Parametername &&DUMMY darf nicht verwendet werden. In manchen Fällen kann nicht die volle Länge des Namens ausgenutzt werden, weil dann der Parameter nicht mehr in anderen Masken eingegeben werden kann. Bei der Zeitauswahl (VS113) etwa sind maximal 4-stellige Angaben möglich. Ein Parameter zum Belegen einer Zeitangabe mit Namen &&VAR kann dort nicht erfasst werden.
  3. PARINHALT
    In diesem Feld wird die Vorbesetzung des Parameters festgelegt. Die zulässigen Eingaben hängen von der Art (s.u.) ab. Allgemein gilt, dass als Vorbesetzung solche Eingaben akzeptiert werden, die auch als direkte Angabe (einer Schlüsselbezeichnung, Ausprägung, Zeitangabe oder Wertebezeichnung) in einer Anforderung zulässig sind. Die möglichen Eingaben werden in Kap. 9.4.1 (individuelle Besetzung der Parameter in der Prompt-Maske VS167) ausführlicher beschrieben.

    In älteren ASS-Versionen (bis Version 7.20) gab es hier einen Sonderfall: Parameter, die an Stelle einer Ausprägungsmenge stehen, die als Gruppierung auf der Anforderungsdatenbank abgelegt wurde. In diesem Fall lautete im Gegensatz zur individuellen Besetzung in der Maske VS167 die Syntax '<<GRM'(), wobei GRM der Gruppierungsbezeichner war, unter dem die Menge auf der Anforderungsdatenbank gespeichert wurde (Kap. 4.3.6). Sollte eine derartige Vorbesetzung der Parameter im Kommentar erfolgen, so galt die gleiche Syntax.
    Ab ASS-Release 7.30 können derartige Mengen vereinfacht in der Form '<<01901GRM' angegeben werden. Von dem eben beschriebenen alten Verfahren wird dringend abgeraten, da dies nicht in allen Situationen funktioniert!

  4. ART

    Dieses Feld beschreibt, was von dem Parameter besetzt werden kann. In Abhängigkeit davon wird auch die individuelle Besetzung in der Prompt-Maske (VS167) auf Richtigkeit überprüft. Folgende Eingaben sind möglich:

    • AU Parameter kann anstelle einer Schlüsselausprägung oder einer Ausprägungsmenge, die auf der Anforderungsdatenbank als Gruppierung abgelegt wurde, verwendet werden.
    • AR Analog zu AU, die Inhalte auf Schlüsselrelationen.
    • AO Diese Art ist analog zur Art AU mit folgender Einschränkung: Beim Parameterinhalt werden keine Maskierungen zugelassen (AO: Ausprägungen ohne Maskierungen). Die Regel wird analog zu AU behandelt.
    • AP Analog zu AO, die Inhalte auf Schlüsselrelationen.
    • GR Auswahl einer Gruppierung über diesen Parameter.
    • KY Parameter anstelle einer Schlüsselbezeichnung.
    • RE Wird in der Anforderung eine Schlüssel r e l a t i o n angesprochen und soll diese mit einem Parameter besetzt werden, so muss folgendermaßen vorgegangen werden: Für jeden Schlüssel, der über die Relation verkettet wird, wird ein eigener Parameter vergeben. Diese müssen in der Reihenfolge, in der die zugehörigen Schlüssel in der Relation stehen, direkt hintereinander definiert werden. Sie erhalten alle die Art RE. Dem ersten Parameter muss Regel DI, den anderen Regel SP zugeordnet werden. Außerdem muss die richtige Schlüsselnummer mitgeteilt werden. Beim individuellen Übersteuern in Bild VS167 kann dann der Begriff zusammenhängend übersteuert werden und muss nicht für jeden Schlüssel getrennt erfasst werden.
    • ZE Ersetzen einer Zeitangabe. Der Parameter darf jedoch nicht mit einem Zeitintervall besetzt werden. Diese Angabe ist für Bestandswerte oder den Bezugsmonat sinnvoll. Es sind nur Zeiten ohne Tagesangabe zulässig.
    • ZI Ersetzen einer Zeitangabe. Es dürfen auch Zeitintervalle angegeben werden. Es sind nur Zeiten ohne Tagesangabe zulässig.
    • TE Analog ZE, es sind nur Zeiten mit Tagesangabe zulässig.
    • TI Analog ZI, es sind nur Zeiten mit Tagesangabe zulässig.
    • NM Rechnen mit Parametern, deren Inhalte in einem von mehreren Zeitformaten vorliegen. Die Rechenoperation bezieht sich auf die Monate. (vgl. Kap. 9.3 ) (Regel: SP)
    • NJ Rechnen mit Parametern, deren Inhalte in einem von mehreren Zeitformaten vorliegen. Die Rechenoperation bezieht sich auf die Jahre. (vgl. Kap. 9.3 ) (Regel: SP)
    • NT Rechnen mit Parametern, deren Inhalte in einem von mehreren Zeitformaten vorliegen. Die Rechenoperation bezieht sich auf die Tage. (vgl. Kap. 9.3 ) (Regel: SP)
    • WE Der Parameter kann anstelle einer Wertebezeichnung verwendet werden, z. B. in Formeln oder Operanden.
    • WG Der Parameter kann für eine Wertegruppierung stehen.
    • NE Hier können dem Parameter beliebige Angaben zugeordnet werden ('NEutral'). Die Angaben werden nicht geprüft. Diese Art ist für spezielle Fälle vorgesehen, wie z. B. Einblendungen in Überschriften.
    • NF Hier können dem Parameter beliebige Angaben zugeordnet werden. Die Angaben werden nicht geprüft. Diese Art ist für spezielle Fälle vorgesehen, wie z. B. Einblendungen in Überschriften. Parameter dieser Art werden zum User-Exit zum Textieren von Schlüsselinhalten (MCL0097) durchgereicht. Ihr Parameterinhalt kann also durch kundenspezifische Programme belegt werden. NF-Parameter werden auch benutzt, um den User-Exit MCL0897 zu bedienen (Dokumentation siehe Source-Programm des ausgelieferten MCL0097).
    • FB Der Parameter steht für eine Feldbezeichnung innerhalb einer Join-Anforderung und kann unter KS/ZS verwendet werden.
    • SB Der Parameter steht für eine Spaltenbezeichnung innerhalb einer Join-Anforderung und kann im Wertebereich verwendet werden.
    • AG Der Parameter steht für eine Arbeitsgebietsnummer
    • SU Der Parameter wird für die Bildung eines Substrings verwendet. Dazu muss der Parameterinhalt folgender Syntax genügen:
      SUBSTR (string, offset, länge) oder SU (string, offset, länge)
      Insbesondere muss 'string' der Name eines anderen, vorher - definierten Parameters sein.
    • ## Der Parameter steht für eine Parametergruppierung auf der Bibliothek T.
  5. REGEL

    Mit diesem Feld wird festgelegt, wie die Parameter in der Maske VS167 besetzt werden können. Die Regeln hängen von der Art ab. Folgende Angaben sind möglich:

    • SP Der Parameter ist für Überschreibungen gesperrt, d.h. er kann in Maske VS167 nicht individuell besetzt werden. Diese Regel ist für Parameter gedacht, die z. B. für alle Anwender identisch sein sollen, aber einfach vom Systemverwalter geändert werden sollen (über die Vorbesetzung). Auch ist es denkbar, dass der Parameter in einer Anwendung über Cursorselektion besetzt wird und nicht mehr vom Anwender überschrieben werden soll. Daneben muss SP für die Parameterarten SA, SM, NM, NJ und NT verwendet werden.
    • DI Der Parameter kann nur direkt in der Maske VS167 gesetzt werden.
    • AU Auch diese Regel gilt nur für Art AU. Sie erlaubt es, den Parameter direkt zu überschreiben. Außerdem ist es möglich, im Bild VS110 Ausprägungen durch Ankreuzen auszuwählen. Der normale Leistungsumfang steht nicht zur Verfügung.
    • AB Diese Regel ist identisch zur Regel AU zu sehen mit folgender Ausnahme: Werden in der ASS-Excel bzw. ASS-Internet-Oberfläche Schlüsselausprägungen in Parameterbildern zur Auswahl angeboten, so wird bei der dort angebotenen Suchfunktion die Suche nach der Bezeichnung voreingestellt.
    • OG Diese Regel funktioniert analog zur Regel AU. Der einzige Unterschied besteht darin, dass im Gegensatz zu AU die Angabe von Gruppierungen unzulässig ist (OG = ohne Gruppierungen).
    • OB Diese Regel ist identisch zur Regel OG zu sehen mit mit der bei der Regel AB genannten Ausnahme.
    • OR Diese Regel funktioniert analog zur Regel OG. Der Unterschied besteht darin, dass im Gegensatz zu OG die Inhalte in der ersten Auswahlmaske (Prompt-Maske aller Parameter der Anforderung) in der ASS-Excel-Oberfläche in absteigender Sortierreihenfolge zur Auswahl angeboten werden. (OR = ohne Gruppierungen, reverse).
    • OI Diese Regel ist identisch zur Regel OR zu sehen mit mit der bei der Regel AB genannten Ausnahme.
    • KY Diese Regel kann nur für Art AU vergeben werden und funktioniert grundlegend anders als die anderen Regeln:
      Bei der Definition des Paramters muss das Feld PARINHALT (s.o.) leer bleiben und im Feld NR (s.u.) die Nummer eines in der Anforderung vorhandenen Schlüssels angegeben werden.
      Zum Auswertungszeitpunkt kann dann der Parameter nicht direkt in Maske VS167 überschrieben, stattdessen aber in die Maske VS110 (Auswahl der Ausprägungen) verzweigt werden. Dort steht dann der volle Leistungsumfang zur Verfügung, der auch beim Erstellen einer Anforderung vorhanden ist. Dies bedeutet, dass sich der Benutzer temporäre Gruppierungen individuell zusammenstellen kann! Voreingestellt sind die beim entsprechenden Schlüssel ausgewählten Inhalte. Werden diese nicht überschrieben oder erst gar nicht nach VS110 verzweigt, wird die Anforderung damit ausgeführt.
      ACHTUNG:
      Der Parameter selbst wird NICHT angefordert! Die Zuordnung erfolgt rein durch die Schlüsselnummer, d.h. der angegebene Schlüssel sollte natürlich angefordert sein.
    • GR Die Regel gilt nur für Art GR. Der Parameter kann nur über die Auswahl einer Gruppierung (Maske VS108) besetzt werden.
    • RE Die Regel gilt nur für Art GR. Der Parameter kann nur über die Auswahl einer Gruppierung einer Schlüsselrelation (Maske VS108) besetzt werden.
    • SA Diese Regel ist nur für Art KY gültig. Sie erlaubt außer der Direkteingabe auch die Auswahl einer Schlüsselbezeichnung über die Maske VS103.
    • WE Diese Regel ist nur für Art WE gültig. Sie erlaubt außer der Direktangabe auch die Auswahl einer Werte-bezeichnung über die Maske VS112 (Auswahl Werte).
    • WG Diese Regel gilt nur für Art WG. Sie erlaubt es, den Parameter direkt zu überschreiben. Außerdem ist es möglich, im Bild VS122 Gruppierungen durch Ankreuzen auszuwählen.
    • FB Diese Regel gilt nur für Art FB. Sie erlaubt es, den Parameter direkt zu überschreiben. Außerdem ist es möglich, in der Auswahlmaske durch Ankreuzen einen gültigen Inhalt auszuwählen.
    • SB Diese Regel gilt nur für Art SB. Sie erlaubt es, den Parameter direkt zu überschreiben. Außerdem ist es möglich, in der Auswahlmaske durch Ankreuzen einen gültigen Inhalt auszuwählen.
    • AG Diese Regel gilt nur für Art AG. Sie erlaubt es, den Parameter direkt zu überschreiben. Außerdem ist es möglich, in der Auswahlmaske durch Ankreuzen einen gültigen Inhalt auszuwählen.
    • SL Analog zu SP (Sperre Lokal). Parameter mit Regel SL verhalten sich lokal, d.h. sie werden z.B. in Anwendungen nicht durch Parameterauswahl vorhergehender Anforderungen überschrieben. Außerdem wird ein SL-Parameter in einer Join-Unteranforderung nicht mit der Belegung in der Joinanforderung überschrieben.
    • SU Analog zu SL. Der Parameterinhalt wird jedoch in Abhängigkeit vom Benutzer durch einen entsprechenden Inhalt des Schlüssel KENR-PARAM-PROFIL übeschrieben. SU verlangt, dass dieser Inhalt auf der Schlüsseldatenbank gefunden wird. Siehe hierzu auch Kap. 9.5.2.
    • SD Analog zu SL bzw. SU. Der Parameterinhalt wird jedoch in Abhängigkeit vom Benutzer durch einen entsprechenden Inhalt des Schlüssel KENR-PARAM-PROFIL überschrieben. Wird er dort nicht gefunden, so muss er bei einem Dummy-User gefunden werden. Siehe hierzu auch Kap.9.5.2.

    Hier finden Sie eine Tabelle der zulässigen Kombinationen von ART und REGEL.

  6. NR
    In diesem Feld muss die Nummer des Schlüssels angegeben werden, für den mit dem Parameter eine Ausprägung oder Gruppierung besetzt werden soll (Art AU und GR). Der Parameter kann dann nur bei diesem Schlüssel verwendet werden. Ebenso muss dieses Feld bei Parameterart RE entsprechend der verknüpften Schlüssel gesetzt werden.
  7. KO
    In diesem Feld soll ein Kommentar zu dem Parameter angegeben werden. Dieser wird in der Maske VS167 (individuelles Besetzen der Variablen) zur Beschreibung des Parameters angezeigt. Er ermöglicht es also, dem Endbenutzer verständliche Informationen zu geben, welchen Zweck der Parameter erfüllt. Der Parametername wird in der Prompt-Maske VS167 nicht angezeigt.
  8. FLT (Parameterfilter)
    In dieses Feld k a n n der Name eines Elements der Bibliothek Q eingegeben werden. Aufgrund der Angaben bei diesem Filter werden die zulässigen Parameterinhalte gefiltert.
  9. Eingabezeilen am Bildende
    In diesen Zeilen können noch weitere allgemeine Kommentare eingegeben werden. Die erste der drei Zeilen wird als Überschrift in Maske VS167 (individuelles Besetzen der Parameter) angezeigt.
    BEISPIEL:
    Für das Beispiel aus Kap 9 sieht dann die Eingabe in Maske VS166 z. B. wie folgt aus:
         PARAMETER AUSWAEHLEN (J/N/BLANK) ?    N
         PARNAME          PARINHALT                        ART  REGEL  NR
         &&ZT......   0199................................  ZE   DI   .....
         KOMMENTAR: Monat (MMJJ)....... PARFILTER ........
         &&GEBIET..   1...................................  AU   AU   2405
         KOMMENTAR: Gebiet:............ PARFILTER FILTER_A
         &&ART1....   1000................................  RE   DI   2400
         KOMMENTAR: Artikel:........... PARFILTER ........
         &&ART2....   0000................................  RE   SP   2401
         KOMMENTAR: X.................. PARFILTER ........
         ..........   ....................................  ..   ..   .....
         KOMMENTAR: ................... PARFILTER ........
         ..........   ....................................  ..   ..   .....
         KOMMENTAR: ................... PARFILTER ........
         PARAMETERAUSWAHL FUER VERTRIEBSSTATISTIK A2....
         ...............................................
         ...............................................
    
    Der Anwender kann hier die Anforderung sofort mit den Vorbesetzungen (Monat 0199, Gebiet 1 und Artikel 10000000) ausführen oder diese Parameter überschreiben (PARAMETER AUSWAEHLEN = N). Möchte er ein anderes Gebiet auswählen, so ist dies direkt oder über eine Auswahlmaske möglich (Regel AU für &&GEBIET). Dabei sieht er aber nur die Elemente, die im Filter FILTER_1 angegeben wurden. Die Monatsangabe und die Artikelauswahl kann nur direkt (durch Eintippen) erfolgen, wobei der Artikel insgesamt anzugeben ist (Art RE für &&ART1 und &&ART2).
Kopieren von Parametern aus anderen Listanforderungen

Einmal erfasste Parameter in Anforderungen der Anforderungsbibliotheken können in neue Listanforderungen kopiert werden. Dazu sind folgende Schritte zu unternehmen:

Tragen Sie als ersten Parameternamen linksbündig den Namen einer bereits existierenden Listanforderung der Standard-Bibliothek (B-Bibliothek) ein und drücken die PF4-Taste, so werden die Parameterdefinitionen aus der bereits existierenden Listanforderung in die Erfassungsmaske kopiert. Sie müssen jedoch die Zugriffsberechtigung für die bereits existierende Listanforderung haben.

Belegung der Funktionstasten
Bemerkung zu Gruppierungsparametern

ASS kennt zwei Arten von Gruppierungsparametern:

  1. Parameter in der Maske VS110 (Ausprägungen)
  2. Parameter in der Maske VS108 (Gruppierungen)

Der erste Typ unterstützt alle Arten von Gruppierungen, der zweite nur solche aus der Anforderungs-DB. Der wesentliche Unterschied besteht jedoch in der internen Arbeitsweise. So kann ein Parameter des ersten Typs in Anwendungen (siehe Kap. 15) nicht besetzt werden; dies ist nur mit Gruppierungsparametern des zweiten Typs möglich.

9.3 Rechnen mit Zeiten

Mit Hilfe der Parameterarten NM, NJ oder NT kann mit Parameterinhalten gerechnet werden. Dies ist nur dann sinnvoll und möglich, wenn diese Inhalte in einem gültigen Datumsformat (s. u.) vorliegen. Der Parameterinhalt muss das folgende Format haben:

Zeit op N,Q,Z,M,T

wobei

op N, M und T sind optionale Angaben.

Bei Quelle bzw. Ziel sind nur Kombinationen zulässig, deren Datumsformate aufeinander abbildbar sind.

Folgende Formate werden unterstützt und durch die angegebenen Zahlen beschrieben:

Format beschreibende Zahl
JJ 1
MMJJ 2
JJMM 3
MM.JJ 4
JJ.MM 5
JHJJ 6
MMJHJJ 7
JHJJMM 8
MM.JHJJ 9
JHJJ.MM 10
MM 11
TT 12
TTMMJJ 13
JJMMTT 14
TTMMJHJJ 15
JHJJMMTT 16
TT.MM.JJ 17
JJ.MM.TT 18
TT.MM.JHJJ 19
JHJJ.MM.TT 20

Statt des Punktes kann auch ein anderes Trennzeichen wie z. B. / oder - stehen, jedoch nicht das Komma (,).

Folgende Standardparameter können ohne vorherige Definition benutzt werden. Der Inhalt ist immer das aktuelle Datum (Suffix _AKT oder _A) bzw. der Vormonat oder der Vortag des aktuellen Datums (Suffix _VOR oder _V).
Der Parameter &&&AGnnnnMIN bezeichnet den ersten eingespeicherten Zeitraum des Arbeitsgebietes nnnn (= 4-stellige AG-Nr., ggf. mit führenden Nullen), &&&AGnnnnMAX den letzten (immer bzgl. aller eingespeicherten Werte). Ist nnnn ein logisches AG, so wird das Minimum bzw. Maximum über alle physischen Teilarbeitsgebiete gebildet.
Bei einem Monatsarbeitsgebiet wird als Tag 01 (MIN) bzw. 32 (MAX) ergänzt.

Parameter Format des Inhalts
&&JJMM_AKT JJMM
&&MMJJ_AKT MMJJ
&&JHJJMM_AKTJHJJMM
&&MMJHJJ_AKTMMJHJJ
&&JJMM_VOR JJMM
&&MMJJ_VOR MMJJ
&&JHJJMM_VORJHJJMM
&&MMJHJJ_VORMMJHJJ
&&JJMMTT_A JJMMTT
&&TTMMJJ_A TTMMJJ
&&JHJJMMTT_AJHJJMMTT
&&TTMMJHJJ_ATTMMJHJJ
&&JJMMTT_V JJMMTT
&&TTMMJJ_V TTMMJJ
&&JHJJMMTT_VJHJJMMTT
&&TTMMJHJJ_VTTMMJHJJ
&&TTMMJHJJ_VTTMMJHJJ
&&&AGnnnnMINTTMMJJ
&&&AGnnnnMAXTTMMJJ

Beispiel:
In der Maske VS166 sei folgendes definiert:

   PARNAME    PARINHALT                          ART REGEL NR
  &&JAHR      &&JJMM_AKT                          NE  DI   .....
        KOMMENTAR: HUGO
  &&MONAT_P1  &&JAHR+1,3,7                        NM  DI   .....
        KOMMENTAR: OTTO
  &&VORJAHR   &&JAHR-1,3,6                        NJ  DI   .....
        KOMMENTAR: ALFONS
  &&JAHR_M3   &&VORJAHR-2,6,1                     NJ  DI   .....
        KOMMENTAR: BERTA
  &&ABC       0198-1,2,11,13                      NM  DI   .....
        KOMMENTAR: HUBERT
  &&DEF       0199,2,9                            NM  DI   .....
        KOMMENTAR: HELGA
               .
               .
               .

Das aktuelle Datum in der Form MMJJ sei 0399. Dann haben die Parameter folgende Inhalte:

Parameter Inhalt
&&JAHR  9903
&&MONAT_P1 041999
&&VORJAHR  1998
&&JAHR_M3  96
&&ABC  13
&&DEF  01.1989

Wie man sieht, kann man dies auch zum Umwandeln von Zeiten von einem Format in ein anderes benutzen, indem man die Rechenoperation einfach weglässt. In diesem Fall ist es natürlich egal, ob man die Parameterart NM oder NJ angibt.

Die oben beschriebenen Zeitparameter können beliebig verwendet werden. Nicht nur bei der Anforderung von Zeiten, sondern auch bei der Anforderung von Ausprägungen von (Zeit-)Schlüsseln können zeitlich dynamisierte Listanforderungen erstellt werden.

9.4 Individuelles Besetzen von Parametern im Online-Betrieb

Wenn ein Benutzer über die Bibliotheksübersicht Statistiken ausführen will, so kann er voreingestellte Parameterinhalte übersteuern. Die Anforderung wird dann mit diesen Besetzungen ausgeführt. Die Vorbesetzungen bleiben dabei erhalten, da sie auf der Anforderungsdatenbank abgespeichert sind. Sie können die Parameter auf zwei Arten individuell einstellen, je nachdem, wie Sie die Vorbesetzung vorgenommen haben.
Wenn die Parameter über Maske VS166 definiert wurden (Kap. 9.2), können sie über die Maske VS167 überschrieben werden. Diese Variante ist für den Endbenutzer komfortabler als die zweite, bei der die Parameter über den Kommentar vorbesetzt wurden, der in der Bibliotheksübersicht angezeigt wird. Dort kann die Vorbesetzung direkt überschrieben werden.
Die individuelle Besetzung kommt aber nur dann zum Tragen, wenn sofort die Statistik bzw. das Listbild aufgerufen wird. Ansonsten wird wieder die Vorbesetzung angezeigt.

9.4.1 Individuelles Besetzen in der Prompt-Maske VS167

In diesem Bild können die Parameter vom Anwender individuell besetzt werden. Prinzipiell kann dies direkt geschehen oder über weitere Auswahlmasken, in denen die gewünschte Zuordnung markiert wird. ASS ermittelt dies aus der Parameter-Regel.
VS167 erreichen Sie von der Bibliotheksübersicht aus immer mit der Angabe 'P' als Operationscode. Je nach Definition kann die Maske auch bei anderen Angaben erreicht werden. Außerdem verzweigt man aus einer Anwendung in dieses Bild über die PF9-Taste.

Feldbeschreibungen
  1. SELEKTIONSBEGRIFF
    In diesem Feld wird der Kommentar zum betreffenden Parameter angezeigt. Der Kommentar wird bei der Definition des Parameters (Bild VS166) festgelegt.
  2. DIREKTEINGABE
    Es ist möglich, dass dieses Feld (in Abhängigkeit von der Parameterdefinition) nicht zur Verfügung steht.

    Hier können Angaben gemacht werden, die dem Parameter zugeordnet werden. Je nach ART werden die Eingaben unterschiedlich auf ihre Zulässigkeit geprüft.

    • > Zeitangabe: Es sind hier Angaben in der Form MMJJ oder auch MMJJ-MMJJ zulässig. Es ist möglich, dass die Angabe eines Zeitintervalls abgelehnt wird. Außerdem sind auch relative Zeitangaben wie z. B. BM05 oder 12P1 möglich oder die Auswahl eines Quartals, Halbjahres etc. (z. B. Q191). Es gelten die Vorgaben bei der Zeitauswahl (siehe Kap. 4.5). Relative Zeitangaben werden beim Einstieg automatisch in absolute Zeitangaben umgerechnet. Die Umrechnung findet dabei bezüglich des Datums, an dem die Listanforderung ausgeführt wird, statt (und nicht bezüglich des Bezugsmonats).


      Ausnahme: Zeit-Parameter mit der Vorbelegung "01P0-BM01". Diese Angabe wird nicht umgesetzt. Wie in Kap. 4.5.2 beschrieben dient diese Angabe dazu, zu erkennen, ob relative Jahresangaben der Form mmPn, mmMn in der Anforderung für den Bezugsmonat Januar um ein Jahr zurückgeschaltet werden. Existiert kein Parameter mit der Vorbelegung "01P0-BM01", so findet auch kein Zurückschalten bei der Umsetzung auf absolute Zeitangaben statt. Wird dennoch ein Zurückschalten erwünscht, so kann man dieses durch die Einführung eines Hilfsparameters mit der Parameterart "ZI", der Regel "SP" und der Vorbelegung "01P0-BM01" erreichen. Dieser Hilfsparameter braucht ansonsten in der Anforderung nicht angesprochen zu werden.

    • > Schlüsselausprägung / Ausprägungsmenge: Hier kann eine zulässige Ausprägung des betroffenen Schlüssels angegeben werden. Außerdem sind Maskierungen mit "?" und "!" erlaubt. Ferner kann der (Gruppierungs-)Bezeichner einer Ausprägungsmenge angegeben werden, die als Gruppierung auf der Anforderungsdatenbank abgelegt wurde. Stimmt dieser Bezeichner mit einer zulässigen Auspragung des betroffenen Schlüssels überein, so wird die Ausprägung verwendet. Schließlich sind hier auch Leereingaben zulässig, solange in der Anforderung mindestens ein Eintrag bei den Ausprägungen, der nicht leer ist, vorhanden ist.
    • > Wertebezeichnung: Es kann eine Bezeichnung eines Wertes angegeben werden, der in einem angeforderten Arbeitsgebiet verwendet wird.
    • > Schlüsselbezeichnung: Es kann die Bezeichnung eines Schlüssels angegeben werden, der in einem angeforderten Arbeitsgebiet verwendet wird.
  3. AUSWAHL
    Wenn dieses Feld zur Verfügung steht, so wird in eine weitere Maske verzweigt, wenn es angekreuzt wird. Dort kann eine Belegung des Parameters in einer Übersicht über die zur Auswahl stehenden Begriffe durch Ankreuzen erfolgen. Die Maske, in die verzweigt wird, hängt von der Parameter-ART ab.
    • > Schlüsselausprägung: Auswahl eines Inhalts durch Markieren in Bild VS110 (wenn DIREKTEINGABE offen ist) oder (wenn DIREKTEINGABE gesperrt ist) voller Leistungsumfang, den man bei der Auswahl von Ausprägungen beim Erstellen einer Anforderung hat.
    • > Wertebezeichnung: Auswahl einer Wertebezeichnung über Maske VS112 (einfache Werteauswahl) durch Ankreuzen.
    • > Schlüsselbezeichnung: Auswahl einer Schlüsselbezeichnung über Maske VS103 durch Ankreuzen.
    • > Gruppierung: Auswahl einer Gruppierung in Maske VS108 (Auswahl Gruppierung) durch Ankreuzen.

    BEISPIEL:

    Die Maske VS167 hat für das Beispiel aus Kap. 9 und Kap. 9.2 folgende Gestalt:

           PARAMETERAUSWAHL FUER VERTRIEBSSTATISTIK A2
    
           SELEKTIONSBEGRIFF                  DIREKTEINGABE       AUSWAHL
           ----------------------------------------------------------------
           MONAT (MMJJ)                       0199................
           GEBIET                             1...................   .
           ARTIKEL                            10000000............
    

    In dieser Maske kann der Anwender Monat, Gebiet und Artikel im Feld DIREKTEINGABE direkt den Parameter überschreiben (die Vorbesetzung wird angezeigt). Das Gebiet kann er wahlweise über eine Auswahlmaske selektieren, die er erreicht, wenn er das Feld AUSWAHL ankreuzt. In dieser Auswahlmaske erhält er eine Übersicht über alle zur Verfügung stehenden Inhalte des Schlüssels 2405 (Gebiet) sowie aller zu diesem Schlüssel auf der Anforderungsdatenbank als Gruppierung abgelegten Mengen. Die Auswahl erfolgt durch Markieren. Des weiteren ist analog zur Anforderung von Schlüsselausprägungen das Suchen dieser Daten möglich (vgl. Kap. 4.3.1.2).

Belegung der Funktionstasten im Bild VS167

Die Funktionstastenbelegung kann in Anwendungen abweichen.

9.4.2 Sichern von Anforderungen aus der Parametermaske

Aus der Prompt-Maske VS167 heraus ist es möglich, eine Anforderung mit ihren aktuellen Parameterbesetzungen auf der Anforderungsdatenbank sicherzustellen. Dieses gilt auch innerhalb von Anwendungen (vergleiche Kap. 15). Voraussetzung ist zunächst eine entsprechende Berechtigung (vergleiche HANDBUCH HST09). Installationsabhängig stehen für das Sichern bis zu drei verschiedene Bibliotheken zur Verfügung. Ferner kann festgelegt werden, ob der Name, unter dem gesichert wird, frei wählbar ist. Auf welche Bibliothek gesichert wird, ist abhängig von der betätigten Funktionstaste (<enter>, PF4, PF9). Weitere Einzelheiten finden Sie im Installationshandbuch.
Unabhängig vom Inhalt der Variablen in den betreffenden Include-Membern wird bei Eingabe von SICHERN im Kommandofeld, die Anforderung unter einem Namen abgespeichert, der sich folgendermaßen zusammensetzt: Die ersten vier Zeichen ergeben sich aus dem eigentlichen Anforderungsnamen, gefolgt von einer drei- oder vierstelligen Zahl. Diesen Namen teilt ASS dem Benutzer mit.

Dieses Verfahren ermöglicht es insbesondere, nicht Online ausführbare Anforderungen im Batch mit den aktuell eingestellten Parameterinhalten ausführen zu lassen.

9.5 Übersteuerungsmöglichkeiten von Parametern

Es ist gibt verschiedene Möglichkeiten, Parameterinhalte zum Ausführungszeitpunkt einzustellen. Eine Variante besteht in der Verwendung zweier "technischer Schlüssel" (je einer für Online und Batch) vorgenommen, die im Include SST1225 aktiviert werden müssen. Diese sind dann mittels der Transaktion ST06 auf der Schlüssel-DB zu definieren. Aus der aktuellen Bezeichnung eines Schlüsselinhalts besetzt ASS zum Ausfürungszeitpunkt den Parameterinhalt.

Für den Batch-Betrieb besteht zusätzlich die Übersteuerungsmöglichkeit über eine Datei mit dem DD/Link-Namen ASSDATE.

9.5.1 Übersteuerungen im BATCH über ASSDATE

9.5.1.1 Bezugsmonat übersteuern

Wird in Anforderungen mit relativen Zeitangaben gearbeitet (zum Beispiel BM00), und es ist in der Anforderung der Bezugsmonat nicht explizit angegeben, so wird das Maschinendatum als Bezugsmonat hergenommen. Bei Monatswechsel kann es jedoch vorkommen, dass nicht der laufende Monat sondern der Vormonat als Bezugsmonat angenommen werden soll. Für diesen Fall ist unter dem DD/Link-Namen ASSDATE eine Datei zuzuordnen. In dieser Datei muss dann der erste Satz linksbündig den gewünschten Bezugsmonat enthalten. Der gewünschte Bezugsmonat muss in der Form JJMM angegeben werden. Bei fehlender Dateizuordnung oder falschen Inhalten wirkt die Übersteuerung des Maschinendatums nicht.
Tagesgenaue Angabe eines Bezugsdatums in ASSDATE ist in der ersten Zeile linksbündig im Format JJMMTT möglich. Bei fehlender Dateizuordnung oder falschen Inhalten wirkt die Übersteuerung des Maschinendatums nicht. Wird jedoch eine Angabe zum Bezugsmonat in der ST31 gemacht (vgl. Kap. 4.5.2), so ist diese Angabe dort bindend. Angaben in der Datei ASSDATE zum Bezugsmonat sind in diesem Fall wirkungslos.

9.5.1.2 Parameter übersteuern

Diese Methode bietet sich an, falls in mehreren Anforderungen Parameter übersteuert werden sollen.

Zum Übersteuern der Anforderungsparameter ist unter dem DD/Link-Namen ASSDATE eine Datei zuzuordnen. Der erste Satz ist für eine Übersteuerung des Bezugsmonats reserviert und ist unter "Bezugsmonat übersteuern" beschrieben. Die übrigen Sätze dienen zum Setzen der Parameter. Es werden dabei nur die ersten 64 Zeichen jedes Satzes berücksichtigt und im Protokoll als Kommentar dargestellt. Mehrere Ersetzungen in einer Zeile sind durch Kommata voneinander zu trennen.

Beispiel:

Die folgende Anforderung

       /*  &&DATUM = 0100  */
       ASS;
           AG:  1;
           KS:  ZEITRAUM = ( BM00 );
           ZS:  DATUM = ( &&DATUM ) , BEWEGUNG ;
           SS:  WERTE = ( ANZAHL , PRAEMIE ) ;
       END;

soll jeden Monat ausgeführt werden. Dabei soll die selektierte Ausprägung für den Schlüssel Datum der jeweilige Laufmonat sein. Demnach ergibt sich im August 2000 für ASSDATE:

1. Zeile:
2. Zeile: &&DATUM = 0800

Könnte die Anforderung aber erst im September 2000 ausgeführt werden, ergäbe sich für ASSDATE (bezügl. August 2000):

1. Zeile: 0008
2. Zeile: &&DATUM = 0800

Man könnte aber der Einfachheit halber auch die Anforderung wie folgt umschreiben

       /*  &&DATUM = 0100  */
       ASS;
           AG:  1;
           KS:  ZEITRAUM = ( &&DATUM );
           ZS:  DATUM = ( &&DATUM ) , BEWEGUNG ;
           SS:  WERTE = ( ANZAHL , PRAEMIE ) ;
       END;

und für ASSDATE nehme man:

1. Zeile:
2. Zeile: &&DATUM = 0800

9.5.2 Übersteuerungen über Schlüssel-DB

Die Übersteuerung von Parametern ist auch über besondere Schlüssel möglich, deren Ausprägungen und Ausprägungsbezeichnungen die zur Übersteuerung benötigten Informationen enthalten. Dies ermöglicht eine zentrale und maschinelle Pflege.

Die Übersteuerung kann auf verschiedene Arten geschehen, hierfür gibt es die Text-DB-Variablen KENR-PARAM-ONLINE, KENR-PARAM-BATCH, KENR-PARAM-ANW sowie KENR-PARAM-PROFIL (alle unter Text-Nr. D A 1). Diese sind im Folgenden anhand eines Beispiels beschrieben.

KENR-PARAM-ONLINE, KENR-PARAM-BATCH

Die Parametersteuerung kann nach Online- und Batchauswertungen getrennt geschehen.

Auf der Text-DB (Text-Nr. D A 1) bzw. im Include SST1225 seien folgende Schlüssel-Nummern angegeben:
KENR-PARAM-ONLINE = 1928
KENR-PARAM-BATCH = 1929

Diese beiden Schlüssel sind in der Schlüssel-DB zu definieren. Als Ausprägungen dieser Schlüssel sind die Namen der Parameter anzulegen, die in den Anforderungen verwendet werden und die übersteuert werden sollen (Name des Parameters ohne führende &&). Als Bezeichnung ist der gewünschte Inhalt zum Parameter einzutragen.

Beispiel:

Der Schlüssel 1928 habe folgende Ausprägungen:

             DATUM    Bez.: 0800
             AU1      Bez.: NEU
             AU2      Bez.: STORNO

Der Schlüssel 1929 habe folgende Ausprägungen:

             DATUM    Bez.: 0900
             AU1      Bez.: STORNO
             AU4      Bez.: KOELN

Folgende Anforderung wird im Online und Batch ausgeführt:

             /*  &&DATUM = 0100  */
             /*  &&AU1   = ABLAUF*/
             /*  &&AU2   = NEU   */
             ASS;
                 AG:  1;
                 KS:  ZEITRAUM = ( &&DATUM );
                 ZS:  BEWEGUNG = (&&AU1 , &&AU2);
                 SS:  WERTE = ( ANZAHL , PRAEMIE ) ;
             END;

ONLINE:

             ZEITRAUM: 0800

                           BEWEGUNG I WERTE:
                                    I ANZAHL     PRAEMIE
                                    I STUECK          DM
                           --------------------------------
                                    I
                           NEU      I     73       6.350,15
                           STORNO   I     15         216,32

BATCH:

              ZEITRAUM: 0900

                           BEWEGUNG I WERTE:
                                    I ANZAHL     PRAEMIE
                                    I STUECK          DM
                           --------------------------------
                                    I
                           STORNO   I     15         216,32
                           NEU      I     73       6.350,15

Wird im Batch-Betrieb zusätzlich ASSDATE:
1. Zeile:
2. Zeile: &&DATUM= 1000, &&AU2 = ABLAUF
verwendet, so erhält man:


                           ZEITRAUM: 0900

                           BEWEGUNG I WERTE:
                                    I ANZAHL     PRAEMIE
                                    I STUECK          DM
                           --------------------------------
                                    I
                           STORNO   I     15         216,32
                           ABLAUF   I     19       1.356,71

Die Übersteuerung aus der Schlüssel-DB hat gegenüber derjenigen aus ASSDATE Priorität (&&DATUM kommt aus der Schlüssel-DB). Hätte der Schlüssel 1928 keine der Ausprägungen DATUM, AU1 und AU2, so würden bei Online-Auswertungen die Vorbelegungen aus dem Kommentar bzw. aus der Parameterdefinition gelten.
Verwendet man bei der Eingabe im Bezugsmonat einen Parameter, so besteht auch aus der Schlüssel-DB heraus die Möglichkeit der Übersteuerung des Bezugsmonats. Für die Übersteuerungen kann, falls gewünscht, Batch und Online derselbe Schlüssel verwendet werden.

KENR-PARAM-ANW

Wird die Anforderung aus der Bibliotheksübersicht heraus angesprochen, unabhängig von der gewählten Funktion, so werden automatisch Parameterinhalte durch Angaben aus der Schlüssel-DB übersteuert.

Außerdem kann über die Text-DB (ebenfalls unter Text-Nr. D A 1) oder im Include SST1383 ein weiterer Schlüssel KENR-PARAM-ANW definiert werden. Mit diesem Schlüssel werden wie oben Parameterinhalte übersteuert. In diesem Fall geschieht dies nicht bei der Ausführung, sondern diese Angaben werden in die Maske VS167 (Parameter auswählen) als Vorbesetzung eingeblendet und übersteuern die Angaben aus der Parameterdefinition. Eingaben in der Maske werden übernommen. Es ist nicht ratsam, einen der beiden oberen Schlüssel dafür zu verwenden, da in diesem Fall auch beim Ausführen der Anforderung die Parameter übersteuert werden und damit Eingaben aus der Maske VS167 nicht wirksam werden.

KENR-PARAM-PROFIL

Mit diesem Schlüssel können Parameterinhalte nicht nur in Abhängigkeit von Batch- oder Onlineauswertungen übersteuert werden, sondern v.a. auch in Abhängigkeit vom ausführenden ASS-Benutzer (genauer: dessen aktuelles Berechtigungsprofil).

Die Übersteuerung bezieht sich nur auf Parameter mit der Regel SU oder SD. Wird eine dieser Regeln benutzt, so muss der Schlüssel KENR-PARAM-PROFIL mit der externen Länge 12 auf der Schlüssel-DB angelegt sein. Zu jedem Parameter mit der Regel SU bzw. SD müssen pro Benutzer (wobei diese über Unterprofile oder Verweise voneinander erben können, s. Hinweis unten) die entsprechenden Parameterinhalte in der Schlüsseldatenbank erfasst werden. SU verlangt die entsprechende Existenz. Fehlt bei SD und dem aktuellen Benutzer der betreffende Parameterinhalt, so muss er bei einem Dummy- (oder Default-) Benutzer gefunden werden.
Dieser Default-Benutzer heißt '#DEFAULT'. Da zu einem Benutzer i.A. mehrere Parameterinhalte vorgegeben werden sollen, muss also pro Benutzer und Parameter ein Parameterinhalt vorgebbar sein. Weiterhin ist eine Unterscheidung (analog zu KENR-PARAM-ONLINE bzw. KENR-PARAM-BATCH) zwischen Batch und Online möglich.

Ein Schlüsselinhalt muss also zusätzlich zum Parameternamen und -inhalt auch das User-Profil sowie die Information zu Batch oder Online enthalten (letzteres ist über eine Zählnummer gelöst, s.u.). Da der pro Inhalt zur Verfügung stehende Platz allerdings sehr begrenzt ist, ist die Anlage eines solchen Inhalts einigermaßen kompliziert:

Die 2-stellige Zählnummer wird wie folgt vergeben:
Während die zweite Stelle eine beliebige Ziffer oder ein Großbuchstabe sein kann, bestimmt die erste, in welcher Umgebung die Übersteuerung greifen soll. Dabei bedeutet:

'Online' bzw. 'Batch' haben vor 'Online und Batch' Vorrang. Die zweite Stelle dient der Eindeutigkeit des Schlüsselinhalts, die wie bei jedem Schlüssel auch hier gewährleistet sein muss.

HINWEIS:
Verweist ein Profil A auf ein anderes Profil B, oder enthält es ein anderes Profil B unter PR (ST09), für welches bereits eine Inhaltsangabe auf der Schlüssel-DB angelegt ist, so darf für A keine eigene Inhaltsangabe angelegt werden, da es die von B erbt. Es wird der gesamt "Profilbaum" von B betrachtet, also alle Unterprofile, auf die verwiesen wird und/oder die unter PR angegeben sind, incl. deren Unterprofile. Dabei darf max. eine Inhaltsangabe auf der Schlüssel-DB gefunden werden, bei mehreren Funden kommt ein Fehler, da dann kein eindeutiger Parameterinhalt zugeordnet werden kann!

10 Ausführung einer Anforderung im Online

Sie haben eine Listanforderung erstellt und möchten wissen, wie das daraus resultierende Listbild aussieht. Durch Eingabe von LIST im Kommandofeld der Maske VS101 oder PF2 in VS101 und jedem Untermenü von VS101 können Sie den Aufbau des Listbildes anzeigen lassen.

Als erstes führt ASS eine ganze Reihe von Prüfungen durch, um festzustellen, ob Ihre Anforderung vollständig und fehlerfrei ist. Wenn sie das ist, so wird der Aufbau des Listbildes in der Maske VS115 angezeigt. Anderfalls erhält man Fehlerhinweise in Maske VS101 oder in Maske VS115.

Mit PF6 geht es aus Maske VS115 zur Maske VS101 zurück.

10.1 Der Listbildaufbau bei LIST

Es wird der prinzipielle Aufbau der Liste mit generierten Zahlen angezeigt. Dabei werden die installationsabhängigen Breitenangaben der verschiedenen Drucker-Outputklasssen 0 - 10 berücksichtigt. Das Format des Listbildes entspricht also dem der Druckerausgabe, falls diese angefordert wird. Nähere Angaben zu den Outputklassen erfahren Sie beim ASS-Systemverwalter (s. auch Handbuch Installation).

Durch Drücken der Funktionstasten PF7, PF8, PF10 bzw. PF11 können Sie das Maskenfenster verschieben. Überschriften, Spaltenüberschriften, Spalteneinteilung etc. werden genau so angezeigt, wie sie später auf der Liste gedruckt werden. Im Bereich der eigentlichen Listzeilen erscheint nur der Anfang des Listbildes.

Zusätzlich zum Aufbau des Listbildes wird angezeigt, wie teuer eine Erstellung der aktuellen Liste käme. Hierzu gibt das System drei Zahlen aus.

ERF. ZUGRIFFE: Anzahl der erforderlichen Zugriffe zu Summensätzen. Diese Zahl bestimmt im wesentlichen die Zeit, die für die Erstellung der aktuellen Liste benötigt wird.

MAX. ZEILEN: n1/ n2. Die beiden Zahlen n1 und n2 beschreiben die Größe, die die aktuelle Liste maximal annehmen kann. Die erste Zahl n1 bezieht sich auf die gedruckten Zeilen, die zweite Zahl n2 bezieht sich auf die gedruckten plus intern für Rechenoperationen benötigten Zeilen.
Beispiel: TARIF=( ERGEBNIS=T17 + T18 ). Eine Zeile wird angefordert (ERGEBNIS), zwei Zeilen werden programmintern für Rechenoperanden benötigt (T17 und T18), also n1 = 1, n2 = 3.

n1 und n2 geben die theoretisch maximalen Zeilenzahlen an, die tatsächlich auftretenden Zeilenzahlen sind im allgemeinen jedoch kleiner.

Bei ONLINE-Statistiken dürfen n1 und n2 bestimmte Grenzwerte, die bei der ASS-Installation festgelegt werden, nicht überschreiten. Das gleiche gilt für die Anzahl der Zugriffe zu Summensätzen. Die Festlegung von bestimmten Grenzwerten dient dazu, ONLINE-Transaktionen nicht zu lange dauern zu lassen und die Maschine nicht übermäßig zu belasten.

10.2 Kommandofeldeingaben bei der Anzeige des Listbildes (LIST)

In das Kommandofeld (ganz unten) von VS115 können folgende Eingaben erfolgen:

Beispiel:

999 + PF7 ==> Positionierung auf den Listenanfang
999 + PF8 ==> Positionierung auf das Listenende

10.2.1 Suchen in Listen und Statistiken

In der Anzeige von Listbildern (LIST) und Statistiken kann nach Begriffen gesucht werden. Dazu ist ein Suchkommando in das Feld, in dem die ASS-Meldungen angezeigt werden, einzugeben. Das Suchkommando dient dazu, Begriffe wie bestimmte Schlüsselinhalte oder Zahlen schneller zu finden. Deswegen werden Überschriften, Zeilen- und Spaltenüberschriften nur im angezeigten Bereich der Liste, die Zeilen, Spalten und Kopfschlüssel jedoch in der gesamten Liste durchsucht. Die nächste Zeile, die den gesuchten Begriff enthält, wird hervorgehoben.

Das Suchkommando setzt sich zusammen aus dem Suchbefehl, dem Suchbereich und dem Suchbegriff. Dabei kann der Suchbereich wahlweise angegeben werden.

Bei der Suche nach einem Text können Stellen mit "?" maskiert werden. Es werden dann alle denkbaren Zeichen an diesen Stellen bei der Suche berücksichtigt. Wird als Suchbegriff "TE?T" angegeben, so wird sowohl "TEST" als auch "TEXT" gefunden.

Beispiele:
SA ZEIT suche von Anfang an nach "ZEIT" (Zeitraum=Treffer)
S S =100 suche im Spaltenbereich alle Zahlen =100
S ' 75' suche nach " 75"
SA <784,23- suche vom Anfang alle Zahlen kleiner -784,23
S S2 =5 suche in Spalte 2 alle Zahlen = 5

Mit der Funktionstaste PF5 kann nach dem zuletzt gesuchten Begriff weitergesucht werden. Wurde zwischenzeitlich das Anzeigebild verlassen, so gilt immer noch der letzte Suchbegriff. In Anwendungen kann mit PF5 nicht weitergesucht werden, wenn vom angezeigten Bild aus mit PF5 eine andere Anforderung aufgerufen werden kann. In diesem Fall wird in das neue Bild verzweigt.

10.3 Die Ausführung einer Listanforderung mit STAT

Sie haben eine Listanforderung erstellt und möchten sich die daraus resultierende Statistik sofort ansehen. Nach Eingabe von "STAT" im Kommandofeld der Maske VS101 oder PF10 in VS101 und jedem Untermenü von VS101 wird der Aufbau des Listbildes angezeigt.

Als erstes führt ASS jedoch eine ganze Reihe von Prüfungen durch, um festzustellen, ob Ihre Anforderung vollständig und fehlerfrei ist, und um zu ermitteln, ob eine sofortige Anzeige möglich und sinnvoll ist.

10.3.1 Online-Restriktionen für die Funktion STAT

Folgende Gründe lassen die Anzeige einer Statistik im Dialog als nicht sinnvoll erscheinen bzw. eine Anzeige im Dialog ist nicht möglich:

10.3.2 Der Aufbau des Listbildes bei STAT

Die Statistik wird (wie beim Listbild) unter Berücksichtigung der Outputklassen genauso angezeigt, wie eine gedruckte Anforderung aussehen würde. Allerdings wird bei STAT (im Gegensatz zu LIST) die Outputklasse 0 im Dialog durch eine standardmäßige (installationsabhängige) Breite (i. a. von 132) überschrieben. Diese wird auch angenommen, wenn keine Angaben zur Outputklasse gemacht werden.

Da der Bildschirm nur eine relativ kleine Informationsmenge anzeigen kann, ist es möglich, durch Drücken der Funktionstasten PF7, PF8, PF10 bzw. PF11 das Maskenfenster zu verschieben.

Mit PF6 geht es aus Maske VS115 zur Maske VS101 zurück.

Für die Eingabemöglichkeiten in das Kommandofeld von VS115 gilt das in Kap. 10.2. Gesagte.

10.4 Die Ausführung einer Listanforderung mit TSTAT

Speziell für den Test von Listanforderungen, die auf größere Datenmengen zurückgreifen und daher für die Ausführung in BATCH vorgesehen sind, kann aus der Maske VS101 heraus das Testkommando TSTAT angewandt werden. Dieses liefert, wie LIST, den Aufbau des Listbildes. Zusätzlich wird aber bei TSTAT auf Summendaten zugegriffen, und zwar in einem bei der Installation voreingestellten Umfang, so dass über TSTAT auch ersehen werden kann, ob zu den angeforderten Listelementen auch tatsächlich Daten vorliegen. ACHTUNG: Die so ausgegebenen Zahlen sind als reine Testzahlen aufzufassen, denn es erfolgt keine vollständige Verarbeitung des gesamten Datenmaterials. Somit enthalten die ausgegebenen Informationen nur zufällige Teilergebnisse.

10.5 Die Abschlussbearbeitung einer Listanforderung (ENDE)

Die Erstellung der Listanforderung soll abgeschlossen werden.

ACHTUNG: Wird in der Maske VS101 PF9 eingegeben, erscheint die Maske VS100 und die Erfassungsarbeit ist verloren.

Zum Abschluss geben Sie im Kommandofeld der Maske VS101 ENDE ein und es erscheint die Maske VS116.

Sie haben folgende Möglichkeiten, die Erstellung Ihrer Listanforderung abzuschließen:

Was mit Ihrer Listanforderung geschieht, bestimmen Sie, indem Sie das entsprechende Feld in der Maske VS116 markieren.

Sind installationsabhängige Bibliotheken eingerichtet (Kürzel G, H, I oder J), so kann auch in diese Bibliotheken geschrieben werden. Wird ein Turnus angegeben (s. u.), so gilt die betreffende Listanforderung als periodisch auszuführende, sonst als einmalig auszuführende Listanforderung. Mit den einzelnen Bibliotheken sind im allgemeinen spezielle Verarbeitungsregeln verknüpft, die beim ASS-Systemverwalter zu erfragen sind. Dient eine Bibliothek zum Erzeugen von PC-Dateien, so müssen die Restriktionen für die Erstellung von PC-Dateien beachtet werden. (siehe Handbuch Betrieb 2 PCL1038).

10.5.1 Erstellte Listanforderung für Batch-Ausführung sichern

Lassen Sie die Anforderung einmal oder periodisch ausführen, so können Sie auch das Datum der ersten Ausführung angeben. Bei periodisch auszuführenden Anforderungen ist zusätzlich noch der Turnus anzugeben, in dem die Anforderung ausgeführt werden soll. Dabei stehen folgende Möglichkeiten zur Wahl:

Turnus Bedeutung
TAtäglich
WOwöchentlch
MO,01monatlich
QU,03alle drei Monate
HJ,06halbjährlich
JA,12jährlich
EMzum Monatsersten
LMzum Monatsletzten
AW
wöchentlich nach Arbeitstagen gesteuert
AM
monatlich   nach Arbeitstagen gesteuert
AQ
vierteljährlich nach Arbeitstagen gesteuert
AH
halbjährlich    nach Arbeitstagen gesteuert
AJ
jährlich        nach Arbeitstagen gesteuert

Wenn Sie beim Vorgabedatum (dem vorgegebenen Datum der ersten Ausführung) nichts angeben, so wird die Anforderung sofort, d. h. beim nächsten BATCH-Lauf zur Ausführung gebracht. Bei den nach Arbeitstagen gesteuerten Turni muss in diesem Feld jedoch zumindestens in den ersten beiden Stellen der bezogene Arbeitstag vermerkt werden. Dieser gibt an, am wievielten Arbeitstag im Monat (Turni AM, AQ, AH, AJ) bzw. in der Woche (Turnus AM) die Anforderung ausgeführt werden soll. Es können dabei auch negative Eingaben gemacht werden : Dabei wird dann vom letzten Tag des Monats (bzw. der Woche) nach hinten gerechnet : -0 ist der letzte Arbeitstag des Monats (der Woche), -1 der vorletzte, usw. (bis -9).

Die 3. bis 6. Stelle des Vorgabedatums hat immer das Format MMJJ oder kann wahlweise freigelassen werden.

Wird mit der betreffenden Listanforderung eine PC-Datei erstellt, so wird der Name der erstellten PC-Datei im Kommentar dieser Listanforderung zurückgemeldet. Hierzu wird eine Kommentarzeile ergänzt. Besitzt die Listanforderung bereits 10 Kommentarzeilen, so wird die letzte Zeile überschrieben.

10.5.2 Neuinitialisierung einer Anforderung

Wenn Sie den Menüpunkt INITIALISIEREN wählen, so folgt darauf, dass die augenblicklich sich im Speicher befindende Anforderung gelöscht wird, d. h. die bei der Erstellung einer Listanforderung auszuwählenden Parameter werden neu initialisiert und Sie können nun unter dem gleichen Namen eine neue Anforderung aufbauen. INITIALISIEREN heißt hier aber nicht, dass eine Anforderung aus der Anforderungsdatenbank getilgt wird. Wurde die Listanforderung zuvor sichergestellt und wird erst dann INITIALISIEREN ausgeführt, so wird diese Anforderung zwar aus dem Arbeitsspeicher, nicht aber aus der Anforderungsdatenbank gelöscht.

10.5.3 Namensvergabe beim Abspeichern von Listanforderungen

Bei Beginn der Arbeit haben Sie der Listanforderung in der Maske VS100 einen Namen gegeben. Bei allen ausgewählten Funktionen außer INITIALISIEREN, wird Ihre Listanforderung unter dem in VS100 vergebenen Namen in die entsprechende Bibliothek gestellt (s. o.). Sie können jedoch auch einen neuen Namen vergeben, indem Sie im Feld NEUER NAME den neuen Namen eintragen. Wenn Sie dort nichts eingeben, so wird der Name hergenommen, den Sie in der Maske VS100 eingegeben haben.

Wählen Sie die periodische Ausführung, so ist auch die gewünschte Periode einzugeben.

Mit PF6 geht es zur Maske VS101 zurück.

Mit PF11 geht es zur Maske VS100 zurück.

10.5.4 Sicherstellung fehlerhafter Anforderungen

Erweist sich eine Anforderung als fehlerhaft, so ist es dennoch möglich, diese Anforderung sicherzustellen, um sie später weiterbearbeiten zu können. Fehlerhafte Anforderungen können nur in der Bibliothek B sichergestellt werden. Bei der Bibliotheksverwaltung können Kopieraktionen in Zusammenhang mit fehlerhaften Anforderungen auch nur in B erfolgen. Um eine Abspeicherung überhaupt erreichen zu können, muss die Anforderung ein ausgewähltes Arbeitsgebiet aufweisen.
Inhaltsleere Angaben wie z. B. ausgewählte Werte, Zeiträume, Ausprägungen oder Gruppierungen werden aus der Anforderung gelöscht, wenn die dazugehörenden übergeordneten Begriffe - WERTE, ZEITRAUM, oder entsprechender Schlüssel - nicht als Kopf-, Zeilen- oder Spaltenschlüssel präzisiert wurden.

10.5.5 Überschreiben bestehender Anforderungen

Die Zugriffsmöglichkeiten auf die Anforderungsdatenbank mit ihren Bibliotheken sind über Berechtigungen unterschiedlicher Mächtigkeit geregelt.

Auf unterster Ebene wird unterschieden, ob ein Anwender eine neue Anforderung für einmalige (Bibliothek E / Berechtigung BA) oder einmalige und periodische Ausführung (Bibliotheken E und P / Berechtigung BB) sicherstellen darf.

Das Überschreiben bestehender Anforderungen ist nur mit einer zusätzlichen Berechtigung möglich, die in 2 Abstufungen vergeben werden kann.

Die Berechtigung CS ermöglicht dem Anwender, selbst gespeicherte Anforderungen in den entsprechend BA / BB erlaubten Bibliotheken sowie der Standardbibliothek B zu überschreiben und zu löschen.

Mit globaler Schreibberechtigung CC können in allen Bibliotheken sowohl eigene als auch fremde Anforderungen überschrieben werden.

Wenn eine Anforderung in der betroffenen Bibliothek vorhanden ist, erfolgt eine Sicherheitsabfrage, ob diese Anforderung zu überschreiben ist. Lediglich in der Bibliothek B unterbleibt diese Abfrage, wenn die Anforderung ohne ausdrückliche Eingabe eines Namens gespeichert wird.

In die Bibliotheken G, H, I oder J kann nur geschrieben werden, wenn für diese Bibliotheken Schreibberechtigung vorliegt, d. h. SG bzw. SH bzw. SI bzw. SJ bei den sonstigen Berechtigungen. Liegt die Berechtigung CS vor, so können selbst gespeicherte Anforderungen überschrieben werden. Mit globaler Schreibberechtigung CC können auch nicht selbst gespeicherte Anforderungen überschrieben werden.

10.5.6 Zuordnung eines Verteilers

Bei entsprechender Berechtigung kann der abzuspeicherenden Anforderung ein (E-Mail-)Verteiler zugeordnet werden. Dabei werden unter einem Verteiler verschiedene (E-Mail-)Empfänger zusammengefasst (siehe Handbuch HST09). Wird das PCL1016 mit der Option EMAIL betrieben, so entsteht anstelle des gewöhnlichen List-Outputs eine Datei, die mit einem Folgeprogramm am PC weiterverarbeitet werden kann, was wiederum dazu führt, dass das Anforderungsergebnis via E-Mail an die im Verteiler enthaltenen E-Mail-Empfänger versendet wird.

11 Ausführung einer Anforderung im Batch

Sie können Anforderungen in der BATCH-Verarbeitung mittels der Programme PCL1016 und PCL1003 ausführen. PCL1016 wertet einmalig und periodisch auszuführende Anforderungen aus. Diese Anforderungen werden in der Dialogverarbeitung erstellt und auf der Anforderungsbibliothek unter dem Typ E, G, H, I, J oder P gespeichert.

Die Anforderungen, die in der BATCH-Sprache formuliert werden, können mit dem Programm PCL1003 ausgeführt werden. (vgl. Handbuch 'BETRIEB' zu Programmen PCL1016 und PCL1003)

12 EURO-Auswertung

In der Auswertung kann über eine Option festgelegt werden, in welcher Währung die ausgewählten Werte dargestellt werden sollen.
Im Online (ST31) gibt es dafür in der Optionenmaske das Feld EURO (INITIALWERT: .), wobei der '.' für die installationsabhängige Voreinstellung dieser Option steht (also bei PF10 wirksam ist). Eine der folgenden zulässigen Eingaben bewirkt eine Übersteuerung dieser Option:

Installationsabhängig kann festgelegt werden, welche Option als Voreinstellung wirksam werden soll (SST1502). Für Wertetyp 3 (Erklärung von Wertetyp im Handbuch HST06) gilt EURO als ursprüngliche Dimension, für Wertetyp 4 gilt DM usw. als ursprüngliche Dimension.

In der BATCH-Sprache lauten die zugehörigen Optionen: MIT_REF_WERTE, EURO, ORG_WAEHRUNG und OHNE_REF_WERTE.

Im Dialog (ST31) kann sowohl die Voreinstellung als auch die Auswertungsoption durch die folgenden Funktionstasten (Default) bzw. Befehle übersteuert werden:

    Taste    Befehl    Option ST31/Batch
    -------------------------------------
    PF14     SM        M / MIT_REF_WERTE
    PF15     SE        E / EURO
    PF16     SW        W / ORG_WAEHRUNG
             SO        O / OHNE_REF_WERTE

Die Funktionstasten sind installationsabhängig (SST1506). Gleichlautende Funktionstasten in Anwendungen werden durch diese Verwendung nicht übersteuert.

Beispiele:

Der Faktor in der Umrechnungstabelle zur Umrechnung von EURO nach DM sei im Folgenden 1,92831 (endgültig wurde 1,95583 festgelegt).

ST06:

    WERTE-NR             100
    WERTE-BEZEICHNUNG    PRAEMIE_1
    WERTE-ABKUERZUNG     PR_1

    UEBERSCHRIFT         Praemie 1
    KOMMASTELLEN         2
    LAENGE (EXTERN)      12
    BESTAND/BEWEGUNG     1
    DIMENSION            DM
    ANLIEFERUNG          1
    ANL.-KOMMASTELLEN    2
    GUELTIG AB           250790
    AENDERUNGSSPERRE     S
    WERTE-TYP (EURO)     1
    WERTE-IND (EURO)     1
    STICHTAG  (EURO)
    REF.-WERT (EURO)
    W-VERW. (AG-NR)      ....

Auswertung:

Umrechnung ohne Umstellungsstichtag Option Euro in Optionenmaske: Blank, M, W, O

           I WERTE
           I Praemie 1
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               DM               DM               DM I
    --------------------------------------------------------------
    01     I       519.932,65     2.051.183,79     2.571.116,44 I
    02     I       436.220,97     1.304.522,70     1.740.743,67 I
    03     I       402.432,19     1.641.798,72     2.044.230,91 I
    04     I       432.845,00     1.562.106,78     1.994.951,78 I
    05     I       603.878,09     1.461.752,44     2.065.630,53 I
           I                                                    I
    Gesamt I     2.395.308,90     8.021.364,43    10.416.673,33 I

Umrechnung ohne Umstellungsstichtag Option Euro in Optionenmaske: E

           I WERTE
           I Praemie 1
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               EU               EU               EU I
    --------------------------------------------------------------
    01     I       269.631,26     1.063.720,97     1.333.352,23 I
    02     I       226.219,32       676.510,88       902.730,20 I
    03     I       208.696,83       851.418,45     1.060.115,29 I
    04     I       224.468,58       810.091,11     1.034.559,68 I
    05     I       313.164,42       758.048,47     1.071.212,89 I
           I                                                    I
    Gesamt I     2.395.308,90     4.159.789,88     5.401.970,29 I

ST06:

    WERTE-NR             110
    WERTE-BEZEICHNUNG    PRAEMIE_2
    WERTE-ABKUERZUNG     PR_2

    UEBERSCHRIFT         Praemie 2
    KOMMASTELLEN         2
    LAENGE (EXTERN)      10
    BESTAND/BEWEGUNG     1
    DIMENSION            DM
    ANLIEFERUNG          1
    ANL.-KOMMASTELLEN    2
    GUELTIG AB           250790
    AENDERUNGSSPERRE     S
    WERTE-TYP (EURO)     3
    WERTE-IND (EURO)     1
    STICHTAG  (EURO)     0198
    REF.-WERT (EURO)
    W-VERW. (AG-NR)      ....

Auswertung:

Umrechnung mit Umstellungsstichtag, Stichtag: 01.98 Option Euro in Optionenmaske: Blank, E, M; O nicht möglich

           I WERTE
           I Praemie 2
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               EU               EU               EU I
    --------------------------------------------------------------
    01     I        32.668,39       150.531,83       183.200,22 I
    02     I        15.992,77        35.478,83        51.471,60 I
    03     I        28.527,93        95.693,68       124.221,61 I
    04     I        32.469,41       137.988,78       170.458,19 I
    05     I        41.070,39        74.537,81       115.608,20 I
           I                                                    I
    Gesamt I       150.728,89       494.230,93       644.959,82 I

Umrechnung mit Umstellungsstichtag, Stichtag 01.98 Option Euro in Optionenmaske: W; O nicht möglich

           I WERTE
           I Praemie 2
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               DM               DM               DM I
    --------------------------------------------------------------
    01     I        62.994,78       290.272,03       353.266,81 I
    02     I        30.839,02        68.414,18        99.253,20 I
    03     I        55.010,69       184.527,08       239.537,77 I
    04     I        62.611,08       266.085,14       328.696,22 I
    05     I        79.196,45       143.732,00       222.928,45 I
           I                                                    I
    Gesamt I       290.652,02       953.030,43     1.243.682,45 I

H i n w e i s: eine Stichtagsangabe in der Wertedatenbank kann pro Arbeitsgebiet und verwendeten Wert übersteuert werden.

ST06:

    WERTE-NR             120
    WERTE-BEZEICHNUNG    PRAEMIE_3
    WERTE-ABKUERZUNG     PR_3

    UEBERSCHRIFT         Praemie 3
    KOMMASTELLEN         2
    LAENGE (EXTERN)      10
    BESTAND/BEWEGUNG     1
    DIMENSION            DM
    ANLIEFERUNG          1
    ANL.-KOMMASTELLEN    2
    GUELTIG AB           250790
    AENDERUNGSSPERRE     S
    WERTE-TYP (EURO)     5
    WERTE-IND (EURO)     1
    STICHTAG  (EURO)
    REF.-WERT (EURO)     130
    W-VERW. (AG-NR)      ....

    WERTE-NR             130
    WERTE-BEZEICHNUNG    PRAEMIE_3E
    WERTE-ABKUERZUNG     PR_3E

    UEBERSCHRIFT         Praemie 3 EURO
    KOMMASTELLEN         2
    LAENGE (EXTERN)      10
    BESTAND/BEWEGUNG     1
    DIMENSION            EU
    ANLIEFERUNG          1
    ANL.-KOMMASTELLEN    2
    GUELTIG AB           250790
    AENDERUNGSSPERRE     S
    WERTE-TYP (EURO)     6
    WERTE-IND (EURO)     1
    STICHTAG  (EURO)
    REF.-WERT (EURO)     120
    W-VERW. (AG-NR)      ....

Auswertung:

Umrechnung mit Referenzwert Option Euro in Optionenmaske: O

           I WERTE
           I Praemie 3
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               DM               DM               DM I
    --------------------------------------------------------------
    01     I       182.965,74-      830.243,24-    1.013.208,98-I
    02     I        68.013,27-      599.382,07-      667.395,34-I
    03     I        90.088,33-      508.080,23-      598.168,56-I
    04     I        60.595,67-      526.642,65-      587.238,32-I
    05     I        98.050,37-      543.972,50-      642.022,87-I
           I                                                    I
    Gesamt I       499.713,38-    3.008.320,69-    3.508.034,07-I

Umrechnung mit Referenzwert Option Euro in Optionenmaske: Blank, M, W

           I WERTE
           I Praemie 3
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               DM               DM               DM I
    --------------------------------------------------------------
    01     I       477.628,53-    1.043.841,93-    1.521.470,46-I
    02     I       124.359,43-      675.876,78-      800.236,21-I
    03     I       171.377,90-      617.416,02-      788.793,92-I
    04     I       153.969,13-      601.389,09-      755.358,22-I
    05     I       235.992,26-      674.899,62-      910.891,88-I
           I                                                    I
    Gesamt I     1.163.327,25-    3.613.423,44-    4.776.750,69-I

Umrechnung mit Referenzwert Option Euro in Optionenmaske: E

           I WERTE
           I Praemie 3
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               EU               EU               EU I
    --------------------------------------------------------------
    01     I       247.692,82-      541.324,75-      789.017,57-I
    02     I        64.491,41-      350.502,14-      414.993,55-I
    03     I        88.874,66-      320.185,04-      409.059,71-I
    04     I        79.846,67-      311.873,66-      391.720,33-I
    05     I       122.382,95-      349.995,39-      472.378,34-I
           I                                                    I
    Gesamt I       603.288,51-    1.873.880,98-    2.477.169,50-I

Umrechnung mit Referenzwert Option Euro in Optionenmaske: O

           I WERTE
           I Praemie 3 EURO
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               EU               EU               EU I
    --------------------------------------------------------------
    01     I       152.808,83-      110.769,89-      263.578,72-I
    02     I        29.220,49-       39.669,30-       68.889,79-I
    03     I        42.155,86-       56.700,32-       98.856,18-I
    04     I        48.422,43-       38.762,67-       87.185,10-I
    05     I        71.535,12-       67.897,34-      139.432,46-I
           I                                                    I
    Gesamt I       344.142,73-      313.799,52-      657.942,25-I

Umrechnung mit Referenzwert Option Euro in Optionenmaske: Blank, E, M

           I WERTE
           I Praemie 3 EURO
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               EU               EU               EU I
    --------------------------------------------------------------
    01     I       247.692,82-      541.324,75-      789.017,57-I
    02     I        64.491,41-      350.502,14-      414.993,55-I
    03     I        88.874,66-      320.185,04-      409.059,71-I
    04     I        79.846,67-      311.873,66-      391.720,33-I
    05     I       122.382,95-      349.995,39-      472.378,34-I
           I                                                    I
    Gesamt I       603.288,51-    1.873.880,98-    2.477.169,50-I

Umrechnung mit Referenzwert Option Euro in Optionenmaske: W

           I WERTE
           I Praemie 3 EURO
           I ZEITRAUM
           I            12.97            01.98      12.97-01.98 I
    Gebiet I               DM               DM               DM I
    --------------------------------------------------------------
    01     I       477.628,53-    1.043.841,93-    1.521.470,46-I
    02     I       124.359,43-      675.876,78-      800.236,21-I
    03     I       171.377,90-      617.416,02-      788.793,92-I
    04     I       153.969,13-      601.389,09-      755.358,22-I
    05     I       235.992,26-      674.899,62-      910.891,88-I
           I                                                    I
    Gesamt I     1.163.327,25-    3.613.423,44-    4.776.750,69-I
Anpassen von Überschriften, Zeilen- und Spaltenüberschriften

Für die Anpassung von Währungsdimensionen (DM, Schilling, EURO, usw.) in Überschriften, Zeilen- und Spaltenüberschriften gibt es zwei Möglichkeiten:

Eine Ersetzung erfolgt nur bei 'klaren Verhältnissen', z. B. ist eine Ersetzung bei Wertetyp 3/4 und Option M/O bzw. Kommando SM/SO in der ST31 bzw. Option MIT_REF_WERTE/OHNE_REF_WERTE im Batch nicht möglich. Ist bei einer Ersetzung nicht genügend Platz vorhanden so wird der Text durch so viele Fragezeichen (?) ersetzt, wie der Text lang ist.

Beispiel:
In der Überschrift 'Text1 DM Text2' soll DM durch EURO ersetzt werden. Da offensichtlich nicht genügend Platz ist, ist das Ergebnis 'Text1 ?? Text2'.

Fortführung der Beispiele:

Alle Szenarien: Umsetzung Dimensionsangabe
Wertedimension: DM, TDM, T_DM
Option Euro in Optionenmaske: Blank

    ZEITRAUM: 12.97-01.98

           I WERTE
           I      Praemie 1    Praemie 2      Praemie 3 Praemie 3 EURO
    Gebiet I             DM           EU             DM             EU
    -------------------------------------------------------------------
    01     I   2.571.116,44   183.200,22   1.521.470,46-    789.017,57-
    02     I   1.740.743,67    51.471,60     800.236,21-    414.993,55-
    03     I   2.044.230,91   124.221,61     788.793,92-    409.059,71-
    04     I   1.994.951,78   170.458,19     755.358,22-    391.720,33-
    05     I   2.065.630,53   115.608,20     910.891,88-    472.378,34-
           I
    Gesamt I  10.416.673,33   644.959,82   4.776.750,69-  2.477.169,50

Alle Szenarien: Umsetzung Dimensionsangabe
Wertedimension: EU, TDM, T_EU
Option Euro in Optionenmaske: E

    ZEITRAUM: 12.97-01.98

           I WERTE
           I      Praemie 1    Praemie 2      Praemie 3 Praemie 3 EURO
    Gebiet I             EU           EU             EU             EU
    -------------------------------------------------------------------
    01     I   1.333.352,23   183.200,22     789.017,57-    789.017,57-
    02     I     902.730,20    51.471,60     414.993,55-    414.993,55-
    03     I   1.060.115,29   124.221,61     409.059,71-    409.059,71-
    04     I   1.034.559,68   170.458,19     391.720,33-    391.720,33-
    05     I   1.071.212,89   115.608,20     472.378,34-    472.378,34-
           I
    Gesamt I   5.401.970,29   644.959,82   2.477.169,50-  2.477.169,50


13 Join-Techniken im ASS

13.1 Arbeitsgebietsübergreifende Auswertung

Bei der Anforderung mehrerer Arbeitsgebiete innerhalb einer Anforderung hängt das Ergebnis der Auswertung stark vom Setzen der Option JOIN ab. Diese Option steuert das Zusammentragen der Schlüssel- und Werteinformationen aus den verschiedenen Arbeitsgebieten.

13.1.1 AG-Übergreifende Auswertung ohne Join

Werden die in der Anforderung angesprochenen Schlüssel in allen angeforderten Arbeitsgebieten verwendet, so ist die Zuordnung der angeforderten Werte der verschiedenen Arbeitsgebiete zu den jeweiligen Ausprägungen der angeforderten Schlüssel eindeutig.

Anders verhält es sich, wenn bestimmte Schlüssel nicht in allen angeforderten Arbeitsgebieten vorkommen. Es ist dann nicht möglich, für die Ausprägungen eines solchen Schlüssels die genauen Wertanteile im betreffenden, dem Schlüssel fremden Arbeitsgebiet aufzulisten. In diesem Fall gilt als Vereinbarung, dass der gesamte, aufgrund der angeforderten Schlüssel nicht weiter zuordenbare Restwert der ersten Ausprägung des ersten nicht im Arbeitsgebiet verwendeten Schlüssels zugeordnet wird. Für alle anderen, im Arbeitsgebiet nicht vorhandenen Schlüsselausprägungen werden Leerzeichen ausgegeben. Das folgende Beispiel soll dies verdeutlichen.

Beispiel:

Es wird eine Auswertung angestrebt, bei der als WERTE der Wert WERT1 für das Arbeitsgebiet 1 und der Wert WERT2 für das Arbeitsgebiet 2 angefordert werden. Als Zeitraum soll der Januar 1996 angegeben werden. ZEITRAUM fungiert als Kopfschlüssel, WERTE als Spaltenschlüssel. Als Zeilenschlüssel werden die Schlüssel SCHL1 und SCHL2 angefordert. SCHL1 habe die Ausprägung A, SCHL2 die Ausprägungen B und C. SCHL1 kommt in beiden angeforderten Arbeitsgebieten vor, während SCHL2 nur im Arbeitsgebiet 2 vorkommt.

In der ASS-BATCH-Sprache lautet diese Anforderung folgendermaßen:

             ASS;
               AG: 1,2;
               KS: ZEITRAUM = (0196);
               ZS: SCHL1 = (A), SCHL2 = (B,C);
               SS: WERTE = (WERT1(,AGNR=1),WERT2(,AGNR=2));
               OPT: NULLDRUCK;
             END;

Bei der Auswertung entsteht folgendes Listbild:

    +--------------------------------------------------------------+
    I                                                              I
    I ASS                                                  SEITE 1 I
    I ZEITRAUM: 0196                                               I
    I                                                              I
    I                     I WERTE                                  I
    I                     I   WERT1       I   WERT2                I
    I                     I     AGNR 1    I     AGNR 2             I
    I SCHL1     SCHL2     I       STCK    I       STCK             I
    +---------------------+---------------+------------------------+
    I  A         B        I    1.2452,63  I     1.719,38           I
    I            C        I               I     1.652,31           I
    +---------------------+---------------+------------------------+

Erklärung:
Der gesamte, zur Ausprägung A des Schlüssels SCHL1 vorhandene Wertebetrag kann für das Arbeitsgebiet 1 nicht auf die Ausprägungen des Schlüssels SCHL2 aufgeteilt werden, da dieser Schlüssel nicht in diesem Arbeitsgebiet verwendet wird. Der Gesamtbetrag wird daher der ersten Ausprägung B zugeordnet, bei C werden Leerzeichen ausgegeben.

13.1.2 AG-Übergreifende Auswertung mit Join

In bestimmten Anwendungsfällen ist es wünschenswert, bei der Auswertung eines Arbeitsgebietes, Schlüssel mit deren Inhalten aus anderen Arbeitsgebieten zu ergänzen.

Beispiel:

In einem Arbeitsgebiet bilden die Schlüssel eine Vertragsstruktur ab. Typische Schlüssel wären hierbei z. B. VERTRETER, VERTRAGSNUMMER, TARIF, usw. Die Organisationsstruktur zu den einzelnen Vertretern sei in einem anderen Arbeitsgebiet abgelegt. Typische Schlüssel in diesem Arbeitsgebiet wären dann z. B. VERTRETER, ORGANISATIONSDIREKTION, GESELLSCHAFT, FILIALE, ... Ziel ist es nun, bei einer Auswertung über das Vertreter-Arbeitsgebiet zu jedem Vertreter die zugehörige Organisationsdirektion anzuzeigen.

Das Zusammenführen der Arbeitsgebiete erfolgt im ASS zum Zeitpunkt der Auswertung über die gemeinsamen Schlüssel der angeforderten Arbeitsgebiete, im obigen Beispiel also der Schlüssel VERTRETER. Der Algorithmus des Zusammenführens wird aktiviert, wenn die Option JOIN angegeben wurde (vergleiche im Gegensatz hierzu das Verhalten ohne JOIN in Kap. 13.1.1).

Betrachten wir erneut die Situation des Vertrags-Arbeitsgebietes und des Organisations-Arbeitsgebietes. Es gelte:

Die Anforderung

    ASS;
       AG:   1, 2;
       KS:   ZEITRAUM = (0195);
       ZS:   200, 100 = ('HUBER', 'MAIER', 'MUELLER'), 101;
       SS:   WERTE = (100(,AGNR=1),200(,AGNR=2));
       OPT:  JOIN;
    END;

liefert, wenn eine entsprechende Einspeicherung vorliegt, das folgende Listbild:

                              I WERTE
                              I           W1               W2
                              I           AGNR  1          AGNR  2
    OD    VERTRETER    TARIF  I               DIM              DIM
    --------------------------------------------------------------
    11    HUBER        XY     I       500.000.000            1.000
          MAIER        XY     I       100.000.000            2.000
                       ZZ     I       100.000.000            2.000
    12    MUELLER      AB     I       250.000.000            3.000
                       ZZ     I        10.000.000            3.000

Die Daten des Vertrags-Arbeitsgebiets werden mit den Daten des Organisations-Arbeitsgebiets angereichert und umgekehrt (JOIN). Der Schlüsselkombination VERTRETER - TARIF wird jeweils die dem VERTRETER entsprechend Arbeitsgebiet 2 zugehörige OD zugeordnet mit entsprechendem Werteinhalt W2. Als Zeitaspekt gilt dabei der angeforderte Zeitpunkt 0195.

Durch die gezielte Angabe von Zeitaspekten (auch beim Wert) kann so eine historisierte Zuordnung der Organisationsstruktur zum Vertreter berücksichtigt werden, wenn also der Vertreter die zuständige Filiale gewechselt hat.

In konkreten Anwendungsfällen ist es dabei denkbar, dass zum einen der Wert W2 im Listbild unerwünscht ist, zum anderen der / die Schlüssel, über die die Zuordnung stattfindet, für das Listbild keine Aussagekraft besitzt / besitzen.

Das erste Problem lässt sich am einfachsten durch die Angabe geeigneter Spaltensequenzen lösen. Alternativ kann auch ganz auf die Angabe von Werten (hier W2) aus dem betreffenden Arbeitsgebiet verzichtet werden. ASS ergänzt dann intern sämtliche Werte des Arbeitsgebietes und zieht diese für die Ermittlung der zu ergänzenden Schlüsselinhalte heran.
Um das interne Ergänzen der Werte zu steuern, empfehlen wir folgende Vorgehensweise: Wenn in dem betreffenden Arbeitsgebiet eine stillgelegte Verdichtungsstufe existiert, bei der sämtliche Schlüssel verdichtet sind, so werden nur die in dieser Verdichtungsstufe angegebenen Werte ergänzt. Die flexibelste Lösung stellen jedoch die Spaltensequenzen dar, weil z. B. die Möglichkeit der Angabe von Zeiten beim Wert erhalten bleibt.

Zur Lösung des zweiten Problems dient das Feld "SRT" in Schlüsselmaske VS103 / VS104. Wird das betreffende Feld zum Schlüssel mit 'N' (nicht anzeigen) besetzt, so erscheint der betreffende Schlüssel im Listbild nicht. Es erfolgt dabei eine automatische Kumulierung der angeforderten Werte.

    ASS;
       AG:   1, 2;
       KS:   ZEITRAUM = (0195);
       ZS:   200, 100 = ('HUBER', 'MAIER', 'MUELLER'), 101;
       SS:   WERTE = (100(,AGNR=1),200(,AGNR=2));
       OPT:  JOIN;
       OPT2: NOTA (100);
       SQ:   (1);
    END;
               I WERTE
               I           W1
               I           AGNR  1
    OD  TARIF  I               DIM
    --------------------------------
    11  XY     I       600.000.000
        ZZ     I       100.000.000
    12  AB     I       250.000.000
        ZZ     I        10.000.000

ACHTUNG: Unabhängig davon, ob gemeinsame Schlüssel der angeforderten Arbeitsgebiete weggeblendet werden oder nicht, werden intern diese Schlüssel für die Zuordnung benötigt - sie haben somit einen entsprechenden Platzbedarf. Insbesondere wenn bei den gemeinsamen Schlüsseln keine Selektion von Schlüsselinhalten vorgenommen wird, kann das bei der Auswertung zu Platz- und Laufzeitproblemen führen, so dass die betreffende Anforderung nicht mehr ONLINE-fähig ist.

In bestimmten Fällen ist jedoch Abhilfe möglich. Betrachten wir wiederum das Beispiel. Werden in der Anforderung nur wenige OD's selektiert, so führt dieses im allgemeinen auch nur zu wenigen Vertretern im Listbild. Das können Sie ausnutzen, indem Sie mit Hilfe einer verketteten Anforderung in einer ersten Anforderung zunächst das Arbeitsgebiet 2 alleine auswerten, wobei der VERTRETER als Outputschlüssel gekennzeichnet wird. Diese erste Anforderung reduziert drastisch die Anzahl der zu betrachtenden Vertreter für die Auswertung über beide Arbeitsgebiete mit Input-Schlüssel VERTRETER.

Ist der Schlüssel VERTRETER ein Massenschlüssel und wird bezüglich der OD's keine Selektion vorgenommen, so führt auch eine verkettete Anforderung nicht zum gewünschten Ziel. In diesem Fall wäre die Konzeption der Arbeitsgebiete zu überdenken.

Im obigen Beispiel sind zum Schlüssel VERTRETER Ausprägungen ausgewählt. Ist dieser Schlüssel nicht selektiert, so könnte das folgende Listbild entstehen:

                              I WERTE
                              I           W1               W2
                              I           AGNR  1          AGNR  2
    OD    VERTRETER    TARIF  I               DIM              DIM
    --------------------------------------------------------------
    11    HUBER        XY     I       500.000.000            1.000
          MAIER        XY     I       100.000.000            2.000
                       ZZ     I       100.000.000            2.000
    12    MUELLER      AB     I       250.000.000            3.000
                       ZZ     I        10.000.000            3.000
    NN    BAUER        XY     I       250.000.000                0
                       ZZ     I        20.000.000                0
          KUNTZ        XY     I       340.000.000                0

Die Ausprägung NN zu einem Schlüssel (hier OD) erscheint immer dann, wenn in einem Arbeitsgebiet Daten zu den gemeinsamen Schlüsseln (hier Vertreter) vorhanden sind und im anderen nicht. Im Beispiel konnte den Vertretern BAUER und KUNTZ keine OD zugeordnet werden, weil keine entsprechenden Sätze im Organisations-Arbeitsgebiet vorhanden sind. Notwendig ist dabei, dass zu den betreffenden Schlüsseln (hier OD) keine Ausprägungen selektiert wurden. Andernfalls erscheinen nur die selektierten Inhalte im Listbild, da NN keine anforderbare Ausprägung ist.

Zu beachten ist das Verhalten insbesondere auch bei Anforderung von Sternsummen. Die Anforderung:

    ASS;
       AG:   1, 2;
       KS:   ZEITRAUM = (0195);
       ZS:   200 = ('11','12',*),
             100 = ('HUBER', 'MAIER', 'MUELLER'), 101;
       SS:   WERTE = (100(,AGNR=1),200(,AGNR=2));
       OPT:  JOIN;
    END;

liefert das Listbild

                              I WERTE
                              I           W1               W2
                              I           AGNR  1          AGNR  2
    OD    VERTRETER    TARIF  I               DIM              DIM
    --------------------------------------------------------------
    11    HUBER        XY     I       500.000.000            1.000
          MAIER        XY     I       100.000.000            2.000
                       ZZ     I       100.000.000            2.000
    12    MUELLER      AB     I       250.000.000            3.000
                       ZZ     I        10.000.000            3.000
    *                         I       960.000.000           11.000

In der Sternsumme werden sämtliche angezeigten Zahlen aufaddiert, unabhängig von Duplikaten. Hier ergibt sich ein Unterschied zum Verhalten ohne Anforderung der Option JOIN, da in diesem Fall z. B. der OD 11 mit Vertreter MAIER nur der Tarif XY zugeordnet wird, der Betrag 100.000.000 also nur einmal im Listbild erscheint.

13.1.3 AG-Übergreifende Auswertung mit NODUPJOIN

Die arbeitsgebietsübergreifende Auswertung bei Verwendung der Option NODUPJOIN unterscheidet sich von JOIN in der Duplikatsbehandlung. Im obigen Beispiel existiert zum Vertreter MAIER sowohl der Tarif XY als auch ZZ. Beim Zuordnen der OD wird daher bei Angabe der Option JOIN intern ein Duplikatssatz OD 11, Vertreter MAIER erzeugt und dementsprechend werden angeforderte Werte aus diesem Arbeitsgebiet dupliziert. Bei Angabe der Option NODUPJOIN unterbleibt diese Vervielfältigung. Wichtig ist hierbei, dass u. U. auch die Reihenfolge der angeforderten Arbeitsgebiete eine Rolle spielt, da zunächst grundsätzlich Sätze aus dem ersten Arbeitsgebiet durch Sätze aus dem zweiten Arbeitsgebiet angereichert werden. Am besten wird dieses an einem einfachen Beispiel deutlich.
Angenommen im Arbeitsgebiet 1 sind zum angeforderten Zeitaspekt die folgenden Sätze abgespeichert:

       OD  VERTRETER    W1
       11  HUBER        1.000
       12  HUBER        2.000

und im Arbeitsgebiet 2:

       VERTRETER    TARIF   W2
       HUBER        XY      10.000
       HUBER        ZZ      20.000

AUSWERTUNG MIT OPTION JOIN:

                              I WERTE
                              I      W1               W2
                              I      AGNR  1          AGNR  2
    OD    VERTRETER    TARIF  I          DIM              DIM
    --------------------------------------------------------------
    11    HUBER        XY     I        1.000           10.000
                       ZZ     I        1.000           20.000
    12    HUBER        XY     I        2.000           10.000
                       ZZ     I        2.000           20.000

AUSWERTUNG MIT OPTION NODUPJOIN, ALLE SCHLUESSEL NICHT SELEKTIERT, ERSTES ANGEFORDERTES ARBEITSGEBIET AG 1:

                              I WERTE
                              I      W1               W2
                              I      AGNR  1          AGNR  2
    OD    VERTRETER    TARIF  I          DIM              DIM
    --------------------------------------------------------------
    11    HUBER        XY     I        1.000           10.000
    12    HUBER        XY     I        2.000                0
    NN    HUBER        ZZ     I            0           20.000

AUSWERTUNG MIT OPTION NODUPJOIN, ALLE SCHLUESSEL NICHT SELEKTIERT, ERSTES ANGEFORDERTES ARBEITSGEBIET AG 2:

                              I WERTE
                              I      W1               W2
                              I      AGNR  1          AGNR  2
    OD    VERTRETER    TARIF  I          DIM              DIM
    --------------------------------------------------------------
    11    HUBER        XY     I        1.000           10.000
                       ZZ     I            0           20.000
    12    HUBER        NN     I        2.000                0

Achtung: Sind zum Schlüssel OD und / oder TARIF Ausprägungen selektiert, so entfallen die entsprechenden Zeilen mit NN (siehe oben).

13.1.4 JOIN_NURNN und NDJOIN_NURNN

In einigen Anwendungsfällen sind gerade diejenigen Sätze eines Arbeitsgebiets von Interesse, zu denen aus anderen Arbeitsgebieten Informationen ergänzt werden können, also gegebenenfalls NN im Listbild erscheint (s. o.). Bei Angabe von NUR_JOINN (entspricht JOIN) bzw. NDJOIN_NURNN (entspricht NODUPJOIN) werden genau die Sätze angezeigt, die mindestens eine NN-Ausprägung ausweisen. Dieses entspricht der Angabe von 'A' bzw. 'B' unter JOIN in der Optionenmaske der ST31.

13.2 Zusammenführung mehrerer Anforderungsergebnisse mit Hilfe des Anforderungsjoins

13.2.1 Einführung

Die in Kap. 13.1 beschriebenen Join-Techniken im ASS basieren auf dem Begriff des Arbeitsgebietes, d.h. der Form wie die Daten im ASS definiert sind. Innerhalb einer Anforderung werden dazu die zu verknüpfenden Arbeitsgebiete und die dazugehörigen Summendaten betrachtet. Das Verknüpfen findet grundsätzlich nur über gemeinsame Schlüssel der betracheten Arbeitsgebiete statt. Die Anzahl der Schlüssel, über die die Verknüpfung stattfindet, ist fix.

Im Gegensatz dazu basiert der Anforderungsjoin auf Verknüpfen der Ergebnisse verschiedener Anforderungsergebnisse. Definiert wird die Verknüpfung in einem eigenen Typ von Anforderungen, der Join-Anforderung. Das wesentliche Prinzip des Anforderungsjoin basiert auf dem sukzessiven Anreichern von Daten mit einer abschließenden Präsentationsphase.

Jedes Anforderungsergebnis lässt sich als Tabelle interpretieren, in der jeder Kopf- oder Zeilenschlüssel eine eigene Spalte aufmachen, ebenso jede Ergebnisspalte der Anforderung.

Beispiel:

     ARBEITSGEBIET:    1: VERTRIEB

     ZEITRAUM: Januar 2002

                   I WERTE
                   I       NEUBEITRAG   NEUANZAHL
     GEBIET SPARTE I               DM       Stueck
     ---------------------------------------------
     01     HA     I         7.338,80         280
            KR     I       287.620,98       4.773
                   I
     02     HA     I        14.310,66         546
            KR     I       224.649,28       3.728

entspricht

     ZEITRAUM GEBIET SPARTE  SPALTE001  SPALTE002
       0102     01     HA     7.338,80        280
       0102     01     KR   287.620,98      4.773
       0102     02     HA    14.310,66        546
       0102     02     KR   224.649,28      3.728

Die Spaltenüberschriften der Tabelle ergeben sich aus der Schlüsselbezeichnungen der angeforderten Schlüssel. Da ASS im Spaltenbereich die Anforderung von bis zu drei Spaltenschlüsseln erlaubt, existieren hierzu keine "einfachen" Spaltenüberschriften.

In der Joinanforderung wird nun beschrieben, wie derartige Tabellen miteinander verknüpft werden und wie die Präsentation des Ergebnisses aussehen soll, genauer welche Spalten aus dem Gesamtergebnis dargestellt werden sollen.

13.2.2 Erstellung einer Join-Anforderung

Eine Join-Anforderung ist ein eigener Typ einer Anforderung. ASS unterscheidet der Zeit zwischen (gewöhnlichen) Anforderungen, verketteten Anforderungen (siehe Kap. 14) und eben Join-Anforderungen. Die Auswahl geschieht durch eine dementsprechende Markierung im Einstiegsbild.

      VS100     ASS   AUSWAHLBILD STATISTIKANFORDERUNG
      --------------------------------------------------------------
              . LISTENANFORDERUNG BEARBEITEN
              . VERKETTETE ANFORDERUNG BEARBEITEN
              x JOIN-ANFORDERUNG BEARBEITEN
              . FORMEL BEARBEITEN
              . SCHLUESSELGRUPPIERUNG BEARBEITEN
              . WERTEGRUPPIERUNG BEARBEITEN
              . FILTER ZU MOEGLICHEN PARAMETERINHALTEN BEARBEITEN
                NAME DES ZU BEARBEITENDEN ELEMENTS: JOINANF.

              . BIBLIOTHEKSUEBERSICHT
              . BIBLIOTHEKSVERWALTUNG
              . ANWENDUNGEN

              . VORGABEN ERFASSEN

              . UMBUCHUNGEN ERFASSEN

              x EXPERTENMODUS

     ---------------------------------------------------------------
     ==>     I PF11: ENDE

Via Kommando "AN" in der Maske VS101 gelangt der Anwender in die Maske der zu verknüpfenden Anforderungen.

 VS158     ASS   ELEMENTE DER JOIN-ANFORDERUNG
 -------------------------------------------------------------------------------


       BIB   ANFORDERUNG            LOCATION/CREATOR (DB2)   FELDER  OPTIONEN

  1.    B    ANF_1...............   ....................                 .
  2.    B    ANF_2...............   ....................       X         .
  3.    .    ....................   ....................       .         .
  4.    .    ....................   ....................       .         .
  5.    .    ....................   ....................       .         .
  6.    .    ....................   ....................       .         .
  7.    .    ....................   ....................       .         .
  8.    .    ....................   ....................       .         .
  9.    .    ....................   ....................       .         .
 10.    .    ....................   ....................       .         .





 -------------------------------------------------------------------------------

 ==>  ....   I PF1: HELP, PF3: CANCEL, PF4: COPY, PF6: EXIT, PF7/8: BLAETTERN

Hier werden die zu verknüpfenden Anforderungen über Bibliotheksart und Anforderungsname angesprochen. Zulässig sind Anforderungen der Work-Bibliothek "B", der Bibliothek der einmalig auszuführenden Anforderungen "E", der periodischen Anforderungen "P", sowie falls installiert der PC-Bibliotheken "G", "H", "I", und "J". Zusätzlich kann hier umgebungsabhängig auf sequentielle Dateien (Bibliothek "S") und DB2-Tabellen (Bibliothek "D") Bezug genommen werden (siehe 13.2.5). Durch Markieren unter FELDER gelangt der Anwender in ein Folgebild in dem die Verknüpfung (Join) beschrieben wird.

 VS159     ASS   JOINFELDER EINES JOIN-STEPS
 -------------------------------------------------------------------------------
 BIB B  ANFORDERUNG ANF_2                 NR 2
    ZIELFELDER               ANF OF LTH AU JOINFELDER                 OF  LTH AU
 01 100...................... 1. .. ..  .  100......................  ..  ..  .
 02 130...................... 1. .. ..  .  130......................  ..  ..  .
 03 ......................... .. .. ..  .  .........................  ..  ..  .
 04 ......................... .. .. ..  .  .........................  ..  ..  .
 05 ......................... .. .. ..  .  .........................  ..  ..  .
 06 ......................... .. .. ..  .  .........................  ..  ..  .
 07 ......................... .. .. ..  .  .........................  ..  ..  .
 08 ......................... .. .. ..  .  .........................  ..  ..  .
 09 ......................... .. .. ..  .  .........................  ..  ..  .
 10 ......................... .. .. ..  .  .........................  ..  ..  .
 DUP.-BEHANDLUNG: A  LEERE MENGE: .         DUP.-BEHANDLUNG: A  LEERE MENGE: .
    SORTIERFELD (ZIEL)       ANF   ART  AU  SORTIERFELD (JOIN)         ART  AU
 01 ......................... ..    .   .   .........................   .   .
 02 ......................... ..    .   .   .........................   .   .
 03 ......................... ..    .   .   .........................   .   .
 04 ......................... ..    .   .   .........................   .   .
 05 ......................... ..    .   .   .........................   .   .
 -------------------------------------------------------------------------------

 ==>  ....   I PF1: HELP, PF3: CANCEL, PF6: AUSGANG, PF7/PF8: BLAETTERN

Die Anforderungsergebnisse werden über die unter Ziel- und Joinfelder angegeben Begriffe verknüpft. Durch Spezifikation der Duplikatsbehandlung, Sortierung etc. wird die Art des Joins bestimmt. Unter AU erhält der Anwender eine Liste der möglichen Angaben.

13.2.3 Interne Verarbeitung einer Join-Anforderung

Das Ergebnis der ersten Anforderung definiert die Grundmenge. Diese Grundmenge definiert gleichzeitig die erste Zielmenge als Zwischenergebnis. Durch das Ermitteln weiterer Anforderungsergebnisse / Tabellen wird die Zielmenge sukzessive um weitere Spalten angereichert: die n+1 te Zielmenge wird durch Join der n ten Zielmenge mit dem n+1 ten Anforderungsergebnis gebildet. Dadurch vergrößert sich im allgemeinen die Ergebnistabelle nach und nach.
Abstrakt kann sich der Anwender die Spalten der Ergebnistabelle wie folgt vorstellen (hier zeilenweise dargestellt):

       Kopf- / Zeilenschlüssel 1   (Anforderung 1)
                           .
                           .
                           .
       Kopf- / Zeilenschlüssel n1  (Anforderung 1)
       Spalte 1                    (Anforderung 1)
                           .
                           .
                           .
       Spalte m1                   (Anforderung 1)
       Kopf- / Zeilenschlüssel 1   (Anforderung 2)
                           .
                           .
                           .
       Kopf- / Zeilenschlüssel n2  (Anforderung 2)
       Spalte 1                    (Anforderung 2)
                           .
                           .
                           .
       Spalte m2                   (Anforderung 2)
                           .
                           .
                           .
       Kopf- / Zeilenschlüssel 1   (Anforderung k)
                           .
                           .
                           .
       Kopf- / Zeilenschlüssel nk  (Anforderung k)
       Spalte 1                    (Anforderung k)
                           .
                           .
                           .
       Spalte mk                   (Anforderung k)

Dieses ist die maximal denkbare Dimensionierung der Ergebnistabelle. Da ASS jedoch intern nur diejenigen Spalten berücksichtigt, die vom vom Endergebnis präsentiert werden, ist die Datenmenge i.A. deutlich kleiner.

Betrachten wir das Verknüpfen einer Zielmenge (als Zwischenergebnis mit einem Anforderungsergebnis (Joinmenge):
Im Joinkriterium werden diejenigen Schlüssel (Spalten der Tabelle) spezifiziert über die die Verknüpfung stattfinden soll. Da die Begriffe in der Zielmenge nicht notwendig eindeutig sind, ein Schlüssel Gebiet könnte hier in mehreren vorhergehenden Anforderungen angefordert worden sein, muss bei den Zielfeldern jeweils eine Anforderungsnummer angegeben werden. Bei den Joinfeldern besteht dieser Anspruch nicht, da diese aus der aktuellen Anforderung stammen.

Zu jeder Ergebniszeile in der Zielmenge werden alle Datenzeilen der Joinmenge ermittelt, bei denen die jeweiligen Ziel- und Joinfelder übereinstimmen. Dabei muss die Anzahl von Ziel- und Joinfeldern gleich sein. Das Resultat kann 0 bis n Treffer beinhalten. Existiert genau ein Treffer, so werden die Inhalte der Spalten der Joinmenge in die neue Zielmenge übertragen. Ist die Treffermenge leer, so hängt die Behandlung von der Angabe unter "LEERE MENGE" ab. Wurde keine Angabe gemacht, so werden die zu besetzenden Felder in der neuen Zielmenge mit Standardangaben besetzt: 0 bei numerischen Inhalten, NN bei alphanumerischen. Wurde unter "LEERE MENGE" als Kennzeichen "L" angegeben, so wird der betreffende Satz aus der Zielmenge gelöscht.

Bei mehr als einem Treffer wird der Join über die Duplikatsangabe gesteuert: bei "A" (all) werden alle Treffer verarbeitet, was zu einem Vervielfältigen der Sätze führt. Bei "L" (last) bzw. "F" (first) wird nur der erste bzw. letzte Treffer verarbeitet. Der Begriff Erster bzw. Letzter ergibt sich dabei aus der Sortierangabe zur Joinmenge, die in diesem Fall zwingend erforderlich ist. Dazu wird die Treffermenge nach den angegebenen Begriffen entsprechend der Art (A für aufsteigend, D für absteigend) sortiert.

Zusammenfassend gilt:

Bei der Verarbeitung der Anforderungsergebnisse ist das folgende zu beachten:

Beispiele: Anforderung 1 bildet jeweils die Grundmenge, Anforderung 2 wird hinzu gejoint. Zielfeld bzw. Joinfeld ist jeweils SPARTE.

Anforderung 1

         GEBIET SPARTE I   W1
         ---------------------
         01     HA     I  100
                KR     I  200
                UN     I  150
         02     HA     I   80
                KR     I  230
                UN     I   60

Anforderung 2

         SPARTE GESCHLECHT I   W2
         -------------------------
         HA     M          I  600
                W          I  250
         KR     M          I   80
                W          I  470
      Ergebnistabelle bei Duplikatsbehandlung "A"
    GEB(ANF=1) SP(ANF=1) W1(ANF=1) SP(ANF=2) GES(ANF=2) W2(ANF=2)
    01         HA         100        HA         M          600
    01         HA         100        HA         W          250
    01         KR         200        KR         M           80
    01         KR         200        KR         W          470
    01         UN         150        NN         N            0
    02         HA          80        HA         M          600
    02         HA          80        HA         W          250
    02         KR         230        KR         M           80
    02         KR         230        KR         W          470
    02         UN          60        NN         N            0

Ergebnistabelle bei Duplikatsbehandlung "F", Sortierung über Geschlecht aufsteigend

    GEB(ANF=1) SP(ANF=1) W1(ANF=1) SP(ANF=2) GES(ANF=2) W2(ANF=2)
    01         HA         100        HA         M          600
    01         KR         200        KR         M           80
    01         UN         150        NN         N            0
    02         HA          80        HA         M          600
    02         KR         230        KR         M           80
    02         UN          60        NN         N            0

Ergebnistabelle bei Duplikatsbehandlung "F", Sortierung über Geschlecht aufsteigend, Leere Menge "L"

    GEB(ANF=1) SP(ANF=1) W1(ANF=1) SP(ANF=2) GES(ANF=2) W2(ANF=2)
    01         HA         100        HA         M          600
    01         KR         200        KR         M           80
    02         HA          80        HA         M          600
    02         KR         230        KR         M           80

Ergebnistabelle bei Duplikatsbehandlung " ", Leere Menge "D"

    GEB(ANF=1) SP(ANF=1) W1(ANF=1) SP(ANF=2) GES(ANF=2) W2(ANF=2)
    01         UN         150        NN         N            0
    02         UN          60        NN         N            0

13.2.4 Präsentation des Ergebnisses einer Join-Anforderung

13.2.4.1 Darstellungsmöglichkeiten

Implizit wird für eine Join-Anforderung genau ein Spaltenschlüssel generiert, nämlich der WERTE-Schlüssel. Ab ASS 7.90 kann dieser aber verändert werden, d.h. WERTE muss nicht einziger Spaltenschlüssel sein und kann auch in Kopf oder Zeile angefordert werden. Mit Hilfe der Kommandos KS/ZS/SS bzw. WE/WZ wird das Listbild der Join-Anforderung gestaltet. Analog zu gewöhnlichen Anforderungen werden dem Anwender in den betreffenden Masken die zulässigen Eingabemöglichkeiten angeboten.
Eindeutigkeit der Begriffe wird durch die Anforderungsnummer (Numerierung aus Join VS158) garantiert. Wird im Wertebereich Bezug auf ASS-Anforderungen genommen, so heißen die betreffenden Spalten SPALTE001, etc. Spaltensequenzen der Einzelanforderungen bleiben unberücksichtigt. Im Listbild erscheinen jedoch die entsprechenden Textierungen / Überschriften aus den Einzelanforderungen.

Analog zu einfachen Anforderungen ist eine (Nach-)Selektion von Feldinhalten möglich. Abgesehen zu Feldern, deren Ursprung der (Pseudo-)Schlüssel WERTE einer ASS-Anforderung ist, können einzelne Inhalte oder Intervalle selektiert, Mengen oder Formeln, gebildet, Maskierungen verarbeitet oder auch Negativselektionen vorgenommen werden. Datenmäßige Grundlage ist hierbei stets das Anforderungsergebnis der Join-Anforderung.
Schlüsselinhalte. die sich auf die sogenannte leere Menge beziehen, werden als NN-Inhalte (u.U. installationsabhängig) dargestellt. Soll in der (Nach-)Selektion ein NN-Inhalt angesprochen werden, so ist hier das Schlüsselwort ##NN zu benutzen. ##NN kann analog zu normalen Schlüsselausprägungen gebraucht werden, jedoch nicht als Intervallgrenze und auch nicht bei Maskierungen. Zu beachten ist, dass ##NN nie in Intervallen oder Maskierungen enthalten ist, egal wie diese definiert sind. Die Anforderung oder der Ausschluss (global oder in Mengen) muss immer explizit über ##NN erfolgen! In der Nachselektion können auch Zwischen- und Endsummen sowie die üblichen Textierungen (z.B. ##TEXT) angefordert werden.

Darüber hinaus können im Spaltenschlüsselbereich bezüglich der zu präsentierenden Spalten bzw. Zahlen via Werteformeln neue Begriffe abgeleitet werden. Mit Ausnahme von TOTAL steht hier der Funktionsumfang von einfachen Anforderungen zur Verfügung. So ist z.B. die Rang-Bildung möglich.
Beim RANG-Operator z. B. muss angegeben werden, auf welchen Schlüssel und auf welchen Wert er sich beziehen soll. In Join-Anforderungen reichen hierfür Schlüsselbezeichnungen bzw. Wertebezeichnungen allein nicht aus. Es muss angegeben werden, aus welchem Step der betreffende Schlüssel bzw. Wert kommt. Dies erfolgt mit Hilfe des Schlüsselwortes ANF.
Am leichtesten erkennt man dies an einem Beispiel:
Rang (GEBIET (ANF=02),SPALTE002(ANF=01))
Der Schlüssel GEBIET stammt aus dem 2. Step, der Wert SPALTE002 aus dem 1. Step. Kompliziertere Beispiele sind in Kap. 4.8 beschrieben.

Standardmäßig erfolgt eine Verdichtung des Ergebnisses über die nicht angeforderten Schlüssel. Diese kann in der Optionmaske unter NPRVERD ausgeschaltet werden.

Nachfolgend wird das Ergebnis einer Präsentation des Beispiels aus Kap. 13.2.3 gezeigt. Dabei wird der Schlüssel Sparte nicht angefordert (Duplikatsbehandlung "A", Leere Menge "L"), ohne Angabe der Option NPRVERD

         GEBIET GESCHLECHT I   W1     W2
         --------------------------------
         01     M          I  450    680
                W          I  450    720
         02     M          I  370    680
                W          I  370    720

Analog zu gewöhnlichen Anforderungen können auch bei einer Join-Anforderung eine Reihe von Optionen gesetzt werden. Diese Optionen übersteuern Angaben bei den Einzelanforderungen. Ebenso können individuelle Überschriften, Zeilenüberschriften und Spaltenüberschriften vergeben werden.

Des Weiteren stehen die Anforderungskomponenten, Kommentare, Spaltensequenzen, Spaltenbedingungen zur Verfügung. Veränderungen der Spaltenbreite in der Maske VS132 werden ebenso berücksichtigt wie die Änderung der Dimensionsangabe.

Besonderheiten von ASS-Anforderungen, die in Join-Anforderungen verwendet werden:
Textzeilen (z.B. mit ##TEXT angefordert) werden in diesen Anforderungen grundsätzlich unterdrückt. Standardmäßig werden Sternzeilen (Zwischen- bzw. Endsummen) in diesen Anforderungen nicht ausgegeben. Durch Setzen einer entsprechenden Option kann pro Schlüssel die Ausgabe von Sternzeilen angeschaltet werden.
Existieren bei einem Schlüssel Anforderungen für Zwischen- oder Endsummen oder Texte, so werden diese Elemente auch in der Präsentation verwendet (vererbt), wenn bei dem betreffenden Schlüssel keine Nachselektion vorliegt.
Dies kann zu unerwünschten Gestaltungen führen, wenn z.B. ein Schlüssel, der in der ASS-Anforderung als rechtester Zeilenschlüssel verwendet wird, in der Präsentation aber an einer ganz anderen Stelle. Auch diese Vererbung kann pro Schlüssel durch eine entsprechende Option ausgeschaltet werden.

Eine Besonderheit gibt es noch bei Wertegruppierungen. Für Join-Anforderungen werden eigene Wertegruppierungen auf der Bibliothek "R" ablegt. Dieses geschieht entweder aus der WZ-Maske (VS132) heraus oder durch Ansteuerung aus dem Einstiegsbild (VS100) durch Angabe von "J" unter dem Punkt Wertegruppierungen. Ansonsten wird dieser Typ analog verarbeitet. Join-Wertegruppierungen können nur bei Join-Anforderungen verwendet werden, die übrigen nur bei gewöhnlichen Anforderungen.

13.2.4.2 Schlüssel zusammenfassen durch NN-Ersetzung

In Joinanforderungen ist es möglich, zwei oder mehr Kopf- oder Zeilenschlüssel zu einem Schlüssel 'zusammenzufassen'. Dies lässt sich am einfachsten anhand eines Beispieles erklären, in dem die folgenden zwei Anforderungen über den Schlüssel 'SPARTE' gejoint werden:

Anforderung 1

         GEBIET SPARTE I   W1
         --------------+------
         01     HA     I  100
                UN     I  150
         02     HA     I   80
                UN     I   60

Anforderung 2

         SPARTE GESCHLECHT I   W2
         ------------------+------
         HA     M          I  600
                W          I  250
         KR     M          I   80
                W          I  470

Dabei kommen die Sparten 'UN' und 'KR' nur jeweils in Anforderung 1 bzw. 2 vor. Um in der Joinanforderung alle Sparten angezeigt zu bekommen, muss man also den Schlüssel SPARTE aus beiden Anforderungen präsentieren, was zu folgendem Ergebnis führt:

         GEBIET SPARTE SPARTE GESCHLECHT I   W1    W2
         --------------------------------+------------
         01     HA     HA     M          I  100    600
                              W          I  100    250
                UN     NN     M          I  150      0
                              W          I  150      0
                NN     KR     M          I    0     80
                              W          I    0    470
         02     HA     HA     M          I   80    600
                              W          I   80    250
                UN     NN     M          I   60      0
                              W          I   60      0
                NN     KR     M          I    0     80
                              W          I    0    470

Aufgrund der Ähnlichkeit der beiden SPARTE-Schlüssel ist es mitunter gewünscht, diese zur besseren Übersichtlichkeit in einer Spalte zusammenzufassen.
Dies geschieht durch die Option 'NN_ERS', welche in diesem Fall beim linken Spartenschlüssel gesetzt werden muss. Die Option bewirkt Folgendes:
Wird beim entsprechenden Schlüssel wegen leerer Treffermenge der NN-Inhalt (siehe oben) ausgegeben, so wird dieser mit dem Inhalt des nächsten Schlüssels (im Beispiel also dem des zweiten SPARTE-Schlüssels) ersetzt, wenn dieser kein NN-Inhalt ist. Der rechte Schlüssel wird dann im Ergebnis unterdrückt, was dann wie folgt aussieht:

         GEBIET SPARTE GESCHLECHT I   W1     W2
         -------------------------+------------
         01     HA     M          I  100    600
                       W          I  100    250
                UN     M          I  150      0
                       W          I  150      0
                KR     M          I    0     80
                       W          I    0    470
         02     HA     M          I   80    600
                       W          I   80    250
                UN     M          I   60      0
                       W          I   60      0
                KR     M          I    0     80
                       W          I    0    470

Die Option NN_ERS ist nicht auf Joinschlüssel beschränkt, sie kann auf (fast, siehe unten) jeden Kopf- oder Zeilenschlüssel der Joinanforderung angewendet werden. Es können außerdem beliebig viele Schlüssel zusammengefasst werden, indem diese nebeneinander angefordert werden und die Option NN_ERS bei allen Schlüsseln bis auf den letzten Schlüssel dieser 'Ersetzungskette' gesetzt ist. Tritt dann beim ersten Schlüssel der Kette ein NN-Inhalt auf, so wird dieser mit dem nächsten Inhalt der Kette ersetzt, welcher KEIN NN-Inhalt ist. Sind alle Inhalte der Kette NN-Inhalte, so kann nicht ersetzt werden und der NN-Inhalt bleibt bestehen.
Als Beispiel diene folgende Joinanforderung mit den Schlüsseln SP01, SP02 und SP03, zunächst ohne NN_ERS-Option:

         SP01   SP02   SP03   I   W1     W2     W3
         ---------------------+-------------------
         HA     HA     HA     I  300    100     80
                              I
         NN     UN     NN     I    0    150      0
                              I
                NN     KR     I    0      0    470
                              I
                NN     UN     I    0      0    130
                              I
         NN     NN     NN     I    0      0      0

Nach Setzen von NN_ERS bei SP01 und SP02 ist das Ergebnis wie folgt:

         SP01   I   W1     W2     W3
         -------+-------------------
         HA     I  300    100     80
                I
         UN     I    0    150      0
                I
         KR     I    0      0    470
                I
         UN     I    0      0    130
                I
         NN     I    0      0      0

Der NN-Inhalt ist prinzipiell von allen Maskierungen ausgeschlossen (siehe oben) und müsste, falls gewünscht, explizit durch '##NN' angefordert werden. Bei einer Nachselektion gelten insbesondere natürlich nur die Inhalte als NN-Inhalt, welche nicht ersetzt werden konnten!

Für die Option NN_ERS gelten folgende Restriktionen:

Hinweis: Sind beim ersten Schllüssel der NN_ERS-Kette Inhalte nachselektiert, so ist zu beachten, dass zuerst die NN-Inhalte ersetzt werden und die Nachselektion (z.B. Mengen- oder Formeldefinitionen usw.) auf dem Ergebnis der Ersetzung aufsetzt! Ist beim ersten Kettenschlüssel also z.B. der NN-Inhalt explizit über "##NN" angefordert und wurden alle NN ersetzt, gibt es dafür keinen Treffer.

Für die Druckaufbereitung gelten nur die Angaben des ersten Kettenschlüssels, z.B. wenn statt des Inhalts dessen Bezeichnung gedruckt werden soll, oder ein bestimmtes Ausgabeformat beim ASS-Schlüssel ZEITRAUM (auch dieser darf in der Kette vorkommen).

ACHTUNG: Wird ein NN-Inhalt beim ersten Schlüssel mit einem Inhalt ersetzt, den es beim ersten Schlüssel nicht gibt, kann hier keine Inhaltsbezeichnung oder -abkürzung ausgegeben werden.

13.2.5 Auswertung von DB2-Tabellen und sequentiellen Dateien

Umgebungsabhängig ist ASS in der Lage an Stelle eines Anforderungsergebnisses eine sequentielle Datei oder eine DB2-Tabelle oder einen seq. Abzug einer DB2-Tabelle zu betrachten. Voraussetzung ist eine Beschreibung des Tabellenaufbaus in der ASS-Metadatenverwaltung ST06.
Hierfür sind die Arbeitsgebietsnummern 1000 - 1999 reserviert. Angegeben wird jeweils der Tabellenname und eine Beschreibung der einzelnen Felder bestehend aus Feldbezeichner, Feldformat, Feldposition und Feldlänge. Unterstützt werden hierbei als Feldformat Character, dezimal gepackt und binär. Weiterhin werden die DB2-Formate Date, Time und Timestamp unterstützt, allerdings nur im Sinne einer Character-Interpretation.
Die Anforderung von DB2-Tabellen geschieht über die Angabe der Bibliotheksart "D" und dem Tabellennamen, von sequentiellen Dateien über Angabe der Bibliotheksart "S" und dem in der Arbeitsgebietsdefinition angegebenen DD-Namen. Bei DB2-Abzügen wird die Bibliotheksart "D" verwendet und der in der Arbeitsgebietsdefinition angegebene DD-Name. In einer PC-Umgebung muss sich dabei die entsprechende Datei im aktuellen DB-Verzeichnis mit der Endung ".DWT" befinden.

Wird im Falle einer DB2-Tabelle keine Angabe zu Feldern gemacht, so ermittelt ASS diese automatisch aus dem Systemkatalog. Zur näheren Qualifikation besteht in der Maske VS158 die Möglichkeit Location und Creator einer Tabelle anzugeben.
Bei DB2-Abzügen werden die möglichen Felder stets aus dem Systemkatalog ermittelt. DB2-Abzüge sind einerseits sequentielle Dateien, benötigen andererseits jedoch auch Angaben über die ursprüngliche Tabelle. Daher wird die Arbeitsgebietsabkürzung als Verweis auf die ursprüngliche DB2-Tabelle benutzt. Auf die DB2-Tabelle wird in der Form DBnnnn, wobei nnnn die Nummer des ursprünglichen DB2-Arbeitsgebiets ist, verwiesen (siehe ST06). Es gibt verschiedene Formate von DB2-Abzügen. Mit welchem Format gearbeitet wird, wird in der installationsabhängigen Variable DBS-ABZUG-FORM (D A 101) festgelegt (siehe HINSTALL).

Das Ansprechen einzelner Spalten bei der Definition des JOIN bzw. der Präsentation geschieht analog über den Namen. Hierzu werden entsprechende Hilfen über die mögliche Auswahl in den Auswahlmasken gemacht. Im Gegensatz zu Anforderungsergebnissen kann hierbei nicht klar aufgrund des Feldformates zwischen Werten und Schlüsseln unterschieden werden, da beispielsweise eine Kundennummer auf einem dezimal gepackten Feld abgelegt sein kann. Daher ist der Ersteller der Anforderung dafür verantwortlich, dass unter den Werten nur messbare Größen, unter KS/ZS nur Attribute/Schlüssel angefordert werden. Ein Join über eine Kundennummer, die im ASS als Schlüssel und in einer sequentiellen Datei abgelegt ist, ist dabei durchaus zulässig.

13.2.6 Auswertung von Oracle-Tabellen

An Stelle eines Anforderungsergebnisses können analog zu DB2 auch Oracle-Tabellen ausgewertet werden. Voraussetzung ist eine Beschreibung des Tabellenaufbaus in der ASS-Metadatenverwaltung ST06. Hierfür sind die Arbeitsgebietsnummern 1000 - 1999 reserviert. Der Tabellenname muss in der ST06 angegeben werden, bei Art des Arbeitsgebiets muss "ORA" eingeben werden.
Die einzelnen Felder können in der ST06 bekannt gegeben werden. Wird hierauf verzichtet, so werden die Felder der betreffenden Tabelle aus dem Systemkatalog ermittelt. Die Anforderung von Oracle-Tabellen geschieht über die Angabe der Bibliotheksart "O" und dem Tabellennamen. Zur näheren Qualifikation besteht in der Maske VS158 die Möglichkeit Location und Creator einer Tabelle anzugeben.

Folgende Besonderheit ist zu beachten:
I.a. wird davon ausgegangen, dass sich die auszuwertenden Oracle-Tabellen auf dem gleichen Rechner wie die ASS-Datenbanken befinden. Ist dies nicht der Fall, so muss auf dem Rechner, auf dem sich die auszuwertende Oracle-Tabelle befindet, ein Server (oder ev. mehrere) gestartet sein. Dieser Server führt die Oracle-Zugriffe aus und kommuniziert mit den ASS-Programmen auf dem ASS-Rechner.
Soll auf Oracle-Tabellen auf anderen Rechnern zugegriffen werden, so muss den betreffenden Oracle-Tabellen bei "TEXTDB-NR DER VERBINDUNG" bei der Arbeitsgebietsdefinition eine Nummer zwischen 900 und 999 zugeordnet werden. Unter dieser Nummer bei D/A muss dann in der ASS-Text-DB der Oracle-Rechner und der Zugang zu diesem Rechner beschrieben werden, um z.B. mit TCP/IP auf Oracle zugreifen zu können.

Hierbei sind folgende Angaben erforderlich:

    SERVER-NAME=...  (Name des Oracle-Rechners)
    SERVER-PORT=...  (Nummer des Ports auf dem Oracle-Rechner)
    SERVER-PROTOKOLL=B oder =C oder =O oder =T, wobei bedeutet
           B: TCP/IP mit mehreren Servern
           C: TCP/IP mit CICS
           O: TCP/IP mit IMS
           T: TCP/IP mit einem Server
           T ist Standard bei fehlender Angabe.
    SERVER-CODE=ANSI
           Diese Angabe ist erforderlich (wegen ev. Erweiterungen).

Folgende Konstellationen werden z.Z. unterstützt:

    ASS-Rechner   Oracle-Rechner
    ----------------------------
    BS2000        UNIX
    UNIX          UNIX

Weitere Konstellationen können u.U. bei Bedarf realisiert werden.

13.2.7 Auswertung von SQL Server-Tabellen (Windows)

An Stelle eines Anforderungsergebnisses können analog zu DB2 auch SQL Server-Tabellen ausgewertet werden. Voraussetzung ist eine Beschreibung des Tabellenaufbaus in der ASS-Metadatenverwaltung ST06. Hierfür sind die Arbeitsgebietsnummern 1000 - 1999 reserviert. Der Tabellenname muss in der ST06 angegeben werden, bei Art des Arbeitsgebiets muss "SQS" eingeben werden. Die einzelnen Felder können in der ST06 bekannt gegeben werden. Wird hierauf verzichtet, so werden die Felder der betreffenden Tabelle aus dem Systemkatalog ermittelt.
Die Anforderung von SQL Server-Tabellen geschieht über die Angabe der Bibliotheksart "T" und dem Tabellennamen. Zur näheren Qualifikation besteht in der Maske VS158 die Möglichkeit Datenbank und Schema einer Tabelle anzugeben.

Folgende Besonderheit ist zu beachten: I.a. wird davon ausgegangen, dass sich die auszuwertenden SQL Server-Tabellen auf dem gleichen Rechner wie die ASS-Datenbanken befinden. Ist dies nicht der Fall, so muss auf dem Rechner, auf dem sich die auszuwertende SQL Server-Tabelle befindet, ein Server (oder ev. mehrere) gestartet sein. Dieser Server führt die SQL Server-Zugriffe aus und kommuniziert mit den ASS-Programmen auf dem ASS-Rechner.
Soll auf SQL Server-Tabellen auf anderen Rechnern zugegriffen werden, so muss den betreffenden SQL Server-Tabellen bei "TEXTDB-NR DER VERBINDUNG" bei der Arbeitsgebietsdefinition eine Nummer zwischen 900 und 999 zugeordnet werden. Unter dieser Nummer bei D/A muss dann in der ASS-Text-DB der SQL Server-Rechner und der Zugang zu diesem Rechner beschrieben werden, um z.B. mit TCP/IP auf SQL Server zugreifen zu können.

Hierbei sind folgende Angaben erforderlich:

    SERVER-NAME=...  (Name des SQL Server-Rechners)
    SERVER-PORT=...  (Nummer des Ports auf dem SQL Server-Rechner)
    SERVER-PROTOKOLL=B oder =C oder =O oder =T, wobei bedeutet
           B: TCP/IP mit mehreren Servern
           C: TCP/IP mit CICS
           O: TCP/IP mit IMS
           T: TCP/IP mit einem Server
           T ist Standard bei fehlender Angabe.
    SERVER-CODE=ANSI
           Diese Angabe ist erforderlich (wegen ev. Erweiterungen).

Folgende Konstellationen werden z.Z. unterstützt:

    ASS-Rechner   SQL Server-Rechner
    --------------------------------
    BS2000        WINDOWS
    UNIX          WINDOWS
    WINDOWS       WINDOWS

Weitere Konstellationen können u.U. bei Bedarf realisiert werden.

13.2.8 Auswertung von ISAM- bzw. VSAM-Dateien

Umgebungsabhängig ist ASS in der Lage an Stelle eines Anforderungsergebnisses eine ISAM-Datei oder eine VSAM-Datei zu betrachten. Voraussetzung ist eine Beschreibung des Tabellenaufbaus in der ASS-Metadatenverwaltung ST06. Hierfür sind die Arbeitsgebietsnummern 1000 - 1999 reserviert. Angegeben wird jeweils der DD-/LINK-Name und eine Beschreibung der einzelnen Felder bestehend aus Feldbezeichner, Feldformat, Feldposition und Feldlänge. Unterstützt werden hierbei als Feldformat Character, dezimal gepackt und binär.
Die Anforderung von ISAM-Dateien geschieht über die Angabe der Bibliotheksart "X" und dem LINK-Namen, die Anforderung von VSAM-Dateien geschieht über die Angabe der Bibliotheksart "V" und dem DD-Namen.

Das Ansprechen einzelner Spalten bei der Definition des JOIN bzw. der Präsentation geschieht analog zu DB2.

Bei VSAM wird nur der Primär-Key unterstützt.

Bei VSAM ist es insbesondere im Online schwierig, die Kenndaten der betreffenden VSAM-Datei zu ermitteln. Deswegen wird verlangt, dass diese Daten via ST06 und ASS-Text-DB bei D/A bekanntgegeben werden, wobei als Text-Nummer die Arbeitsgebietsnummer der betreffenden Datei zu verwenden ist.

Hierbei sind folgende Angaben erforderlich:

Bei IMS-Umgebungen werden zuzätzlich die zwei folgenden Angaben benötigt:

13.2.9 Behandlung von Parametern

Speziell für Join-Anforderungen wurden die Parameterarten FB und SB konzipiert. FB steht für Feldbezeichnung, SB für Spaltenbezeichnung. Dementsprechend kann durch einen Parameter der Art FB eine Angabe unter KS/ZS ersetzt werden, durch einen Parameter der Art SB eine Spaltenangabe im Wertebereich. Die Angabe dieser Arten bei gewöhnlichen Anforderungen ist nicht erlaubt. Beide Parameterarten unterstützen jeweils die Direkteingabe (Regel DI) oder können für Änderungen gesperrt werden (Regel SP). Zusätzlich besteht durch Angabe der Regel FB bzw. SB die Möglichkeit dem Anwender zum Ausführzeitpunkt eine Liste der möglichen Inhalte zur Verfügung zu stellen.
Bei der Direkteingabe muss die korrekte Bezeichnung mit Spezifikation der Anforderungsnummer angegeben werden. Bei der Parameterart FB handelt es sich dabei im Falle eines echten ASS-Schlüssels um die Schlüsselnummer oder einer der (Pseudo-)Schlüssel ZEITRAUM oder WERTE, falls diese als mögliche Inhalte zur Verfügung stehen. Bei der Parameterart SB muss bei Bezug auf eine ASS-Anforderung die entsprechende Spalte durch SPALTEnnn spezifiziert werden.

Beispiel:

    PARAMETER AUSWAEHLEN (J/N/BLANK) ?    .
     PARNAME    PARINHALT                                    ART REGEL
    &&FB......  00100(ANF=01)...............................  FB  FB
    KOMMENTAR: FELD....................  PARFILTER: ........
    &&SB......  SPALTE001(ANF=01)...........................  SB  SB
    KOMMENTAR: SPALTE..................  PARFILTER: ........

Andere Parameter werden an die Einzelanforderungen durchgereicht und wirken übersteuernd zu dort gemachten Angaben.

13.2.10 Join-Anforderung in Join-Anforderung

Die bei einem Join betrachteten Anforderungsergebnisse können neben normalen und verketteten Anforderungen auch von anderen Join-Anforderungen stammen. Es ist sozusagen ein Join im Join möglich. Man kann also von einer "oberen" und einer "unteren" Join-Ebene sprechen. Wie tief die Joinanforderungen ineinander "verschachtelt" werden dürfen, hängt von der Text-DB-Variable JOIN-TIEFE (s. Handbuch "Installation", Kap. 8) ab.

Die obere Join-Anforderung setzt jeweils auf den Ergebnissen der Präsentationsanforderungen der unteren Ebene auf. Dies ist insbesondere im Hinblick auf die zahlreichen Möglichkeiten zur Nachbearbeitung interessant, die schon in den Präsentationsanforderungen der unteren Ebene vorgenommen werden können, z.B. Werteformeln oder die Nachselektion von Schlüsselinhalten. Die Ergebnisse können dann in der oberen Join-Anforderung wiederum mit denselben Präsentationsmöglichkeiten weiterverarbeitet werden. Zu beachten ist auch, dass manche Eigenschaften der oberen Join-Anforderung die Einstellungen in den unteren Anforderungen übersteuern, z.B. das Bezugsdatum oder die Vorbelegung von Parametern. Im Folgenden sollen die verschiedenen Vererbungsregeln näher erläutert werden.

Das Bezugsdatum für relative Zeitangaben wird von der oberen Join-Anforderung auf alle untergeordneten (Join-)Anforderungen vererbt, auch wenn oben keine explizite Angabe des Bezugsdatums erfolgt. In diesem Fall wird das Maschinendatum benutzt.

Die Vorbelegung eines Parameterinhalts in der oberen Join-Anforderung übersteuert etwaige Vorbelegungen in allen untergeordneten Anforderungen, d.h. auch in Join-Anforderungen und diesen wiederum untergeordneten (Join-)Anforderungen.
Diese Übersteuerung kann mit Hilfe der Parameterregel 'SL' umgangen werden: Wird diese z.B. bei einem Parameter in einer der unteren Join-Anforderungen gesetzt, so wird deren Vorbelegung des Parameters auf die ihr untergeordneten Anforderungen vererbt. Die Vorbelegung der oberen Join-Anforderung wird dabei ignoriert.

Spaltenüberschriften werden von unten nach oben vererbt: Wird in einer (Join-)Anforderung eine Spaltenüberschrift gesetzt, so wird diese auch in der oberen Join-Anforderung zur Darstellung der Spalte verwendet (jedoch nicht die '###'- und '##'-Angaben), es sei denn dort werden neue Spaltenüberschriften gesetzt. Zeilenüberschriften werden gar nicht vererbt.

Euro-Optionen in der oberen Join-Anforderung übersteuern die in den darunterliegenden (Join-)Anforderungen. Insbesondere kann dies Auswirkungen haben auf die Ergebnisse von Spaltenbedingungen in den untergeordneten Anforderungen.

Aufbereitungsangaben bei Werten (z.B. Anzahl der Kommastellen) werden von unten nach oben vererbt, können aber in der oberen Join-Anforderung neu gesetzt werden. Wird allerdings ein Wert in einer untergeordneten (Join-)Anforderung z.B. auf Tausender gerundet, so setzt die darüberliegende Joinanforderung auf dem gerundeten Ergebnis auf.

Weitere Besonderheiten des Joins über Join-Anforderungen:

Ist beim Join die Treffermenge leer, so wird im Standardfall die sogenannte Dummy-Ausprägung beim entsprechenden Join-Feld ausgegeben. Diese wird für unterschiedliche Join-Felder i. A. unterschiedlich dargestellt, denn z.B. kann die Länge variieren. Existieren diese Ausprägungen bei Feldern in unteren Join-Anforderungen, über die in der oberen Joinanforderung gejoint wird, so werden die entsprechenden Datensätze unabhängig von der jeweiligen Darstellung der Dummy-Ausprägung zusammengeführt.

Die sogenannten Exemplarnummern, die zur Unterscheidung von mehrfach angeforderten Schlüsseln angegeben werden müssen, müssen in der oberen Join-Anforderung auch bei den Pseudo-Schlüsseln ZEITRAUM und WERTE angegeben werden, wenn z.B. in einer unteren Join-Anforderung einer dieser Schlüssel aus mehreren ASS-Anforderungen und ein Exemplar davon in der oberen Join-Anforderung präsentiert wird.

Sternsummenzeilen einer normalen ASS-Anforderung werden standardmäßig in die darüberliegende Join-Anforderung vererbt, wenn beim Feld nicht die Join-Option "Summenzeilen nicht vererben" ('NOSUM') gesetzt ist. Die Summenzeilen können durch Auslassung der Option somit von einer normalen ASS-Anforderung bis in die obere Join-Anforderung vererbt werden, wenn auch dort 'NOSUM' nicht gesetzt ist.

Summenzeilen einer normalen Anforderung können aber auch über die Option "Summenzeilen ausgeben" ('SUMJOIN') in einer Join-Anforderung als Datenzeilen ausgegeben werden. Ist dies in einer der unteren Join-Anforderungen der Fall, so werden diese Datenzeilen auch an die obere Join-Anforderung vererbt, ohne dass dort die 'SUMJOIN'-Option gesetzt werden muss.

Die Optionen 'NOSUM' und 'SUMJOIN' können auch kombiniert werden:
Z.B. ist es möglich, Summenzeilen einer normalen ASS-Anforderung an eine der unteren Join-Anforderungen zu vererben und diese dann in der oberen Join-Anforderung als Datenzeilen auszugeben. Umgekehrt können auch Summenzeilen einer ASS-Anforderung in einer der unteren Join-Anforderungen als Datenzeilen ausgegeben und dort zur Bildung neuer Sternsummen in der Nachselektion herangezogen werden (dazu müssen sie allerdings textiert sein). Die neuen Sternsummen wiederum können dann an die obere Join-Anforderung vererbt oder dort als Datenzeilen ausgegeben werden.

14 Verkettete Anforderungen

14.1 Definition und Einsatzmöglichkeit

In einigen Anwendungsfällen ist es angebracht, Schlüsselinhalte, die eine Anforderung liefert, in folgenden Anforderungen weiter zu verarbeiten. Dieses kann dazu benutzt werden, Auswertungen durchzuführen, die andernfalls nur schwierig oder gar nicht unter ASS formulierbar sind.

Beispiele
  1. In einem Arbeitsgebiet sind u. a. die Schlüssel VERTRETER und VERTRAGSNUMMER sowie die Werte ABSCHLUSSSUMME (Höhe des Vertragsabschluss in DM) und ANZAHL_ABSCHLUESSE enthalten. Zu jedem Vertreter soll nun für einen Zeitraum die Anzahl der Abschlüsse mit Abschlusssumme unter 1000 DM ermittelt werden.
  2. Gegeben sind zwei Arbeitsgebiete. In einem Arbeitsgebiet ist eine Organisationsstruktur (zeitbezogen) bestehend u. a. aus den Schlüsseln GESELLSCHAFT, GEBIET sowie VERTRETER abgelegt. Im zweiten Arbeitsgebiet sind die Vertragsdaten zu den einzelnen Vertretern gespeichert, z. B. VERTRAGSNUMMER, ABSCHLUSSSUMME, VERTRAGSDAUER etc. Gesucht sind nun die Vertragsdaten der Verträge zu den Vertretern des Gebietes Nord.

Problemstellungen der obigen Art lassen sich auf einfache Weise durch verkettete Anforderungen lösen: eine verkettete Anforderung besteht aus einer Folge von (gewöhnlichen) ASS-Anforderungen (Rekursionen sind nicht zulässig), die nacheinander ausgeführt werden. Das Ergebnis der verketteten Anforderung ist dabei das Ergebnis der letzten Anforderung. Durch die Angabe sogenannter Eingabe- und Ausgabeschlüssel (Input- und Outputschlüssel) werden durch eine Anforderung selektierte Schlüsselinhalte an folgende Anforderungen weitergereicht. Genauer gesagt werden unter den Ausgabeschlüsseln diejenigen Schlüssel benannt, deren Inhalte in folgenden Anforderungen der Verkettung weiter verwendet werden. Dementsprechend werden bei den Eingabeschlüsseln diejenigen Schlüssel angegeben, deren Inhalte bei der Auswertung aus einer in der Verkettung vorher ausgeführten Anforderung stammen.

Der Lösungsansatz im ersten Beispiel besteht demnach darin, in einer ersten Anforderung die Verträge (Vertragsnummer, zugehöriger Vertreter) zu bestimmen, deren Abschlusssumme unter 1000 DM liegt. Diese Schlüsselinhalte werden dann in einer zweiten Anforderung weiterverarbeitet. Hieraus leiten sich nun auch die Eingabe- und Ausgabeschlüssel ab: VERTRAGSNUMMER und VERTRETER sind in der ersten Anforderung Ausgabeschlüssel und in der zweiten Anforderung zugleich Eingabeschlüssel.

Die Vorgehensweise im zweiten Beispiel ist ähnlich: In einer ersten Anforderung werden zunächst sämtliche Vertreter des Gebietes Nord (zu einem Zeitpunkt) selektiert. Das geschieht unter Zuhilfenahme eines Hilfswertes, was gewährleistet, dass diese Anforderung sämtliche Vertreter liefert.
In der zweiten Anforderung werden dann zu diesen Vertretern die Vertragsdaten bestimmt. Damit ist VERTRETER Ausgabeschlüssel der ersten Anforderung und Eingabeschlüssel der zweiten Anforderung.

14.2 Erstellen und Ausführen einer verketteten Anforderung

Das Erstellen einer verketteten Anforderung erfolgt in der Maske VS130. Diese lässt sich von der (Einstiegs-)Maske VS100 aus ansteuern, indem der Anforderungsname eingegeben und das entsprechende Feld für verkettete Anforderungen gekennzeichnet wird.

Insgesamt lassen sich bis zu acht Anforderungen verketten. Zu jeder dieser Anforderungen lassen sich wiederum bis zu acht Ein- ('E') und Ausgabeschlüssel ('A') spezifizieren.

Beispiel:

     ART  NAME           SCHLUESSEL
      B  STARTANF
                   A     100    110    .....  .....  .....  .....  ...
      B  FOLGEANF  E     110    .....  .....  .....  .....  .....  ...
                   A     110    .....  .....  .....  .....  .....  ...
      B  ENDE_ANF  E     100    110    .....  .....  .....  .....  ...
                   A     .....  .....  .....  .....  .....  .....  ...
      .  ........  E     .....  .....  .....  .....  .....  .....  ...

Aus der Definition der Ein- und Ausgabeschlüssel (vgl. vorhergehenden Abschnitt) folgen unmittelbar einige Restriktionen für die Verwendung:

  1. Die erste Anforderung der Verkettung besitzt keine Eingabeschlüssel.
  2. Die letzte Anforderung der Verkettung besitzt keine Ausgabeschlüssel.
  3. Ein- und Ausgabeschlüssel müssen angefordert werden, genauer: ein Ausgabeschlüssel muss Kopf- oder Zeilenschlüssel sein, ein Eingabeschlüssel kann Kopf-, Zeilen- oder Spaltenschlüssel sein.
  4. Jeder Eingabeschlüssel muss in einer in der Verkettung vorher auszuführenden Anforderung als Ausgabeschlüssel deklariert werden.

Ferner gilt:

  1. Eine zusätzliche Selektion der Schlüsselinhalte von Eingabeschlüsseln durch Angabe von Einzelausprägungen, Intervallen, Masken, Mengen etc. bei Deklaration im Kopf- oder Zeilenschlüssel ist nicht erlaubt.
  2. Sollen die Inhalte von verketteten Schlüsseln (Kap. 4.3.13) weitergereicht werden, so ist wie folgt zu verfahren: In der Anforderung, in der die Schlüsselinhalte ermittelt werden, sind wie gewohnt alle Schlüssel (falls nicht selektiert) oder nur der linkeste Schlüssel anzufordern. In der Anforderung, zu der die Schlüsselinhalte durchgereicht werden, ist nur der linkeste Schlüssel anzufordern. In der verketteten Anforderung selber wird ebenfalls nur der linkeste Schlüssel als Eingabe- bzw. Ausgabeschlüssel deklariert.
  3. Wird ein Schlüssel in mehreren Anforderungen als Ausgabeschlüssel deklariert, so werden alte Inhalte von Anforderung zu Anforderung in der verketteten Anforderung jeweils überschrieben. Ein entsprechender Eingabeschlüssel bezieht seine Inhalte von demjenigen Ausgabeschlüssel, der zuletzt in einer Anforderung verwendet wurde.

Zu einer verketteten Anforderung kann ein KOMMENTAR angegeben werden. (--> KO )

Ferner ist es möglich PARAMETER zu definieren. (--> PD )
Diese können insbesondere dazu benutzt werden, Voreinstellungen von Parametern bei den Einzelanforderungen zu übersteuern. Hierzu werden die betreffenden Parameter ebenfalls bei der verketteten Anforderung deklariert und vorbelegt bzw. in der Maske VS167 belegt (siehe hierzu Kap. 9.2 und 9.4). Zulässig sind dabei sämtliche Art/Regel-Kombinationen, die dort angegeben sind, mit Ausnahme von AU/KY.

Verkettete Anforderungen lassen sich wie gewöhnliche Anforderungen ausführen, d. h. es stehen die Funktionen LIST, TSTAT und STAT zur Verfügung. Allerdings werden bei LIST nicht die Anzahl der erforderlichen Zugriffe und die maximale Anzahl Zeilen der Listen angegeben.

Ebenso stehen verkettete Anforderungen auch unter Anwendungen zur Verfügung.

15 Anwendungen

15.1 Einsatzmöglichkeiten

Mit Anwendungen bietet ASS zahlreiche komfortable Möglichkeiten zur Dialoggestaltung. Sie erlauben, ASS als unternehmensweites Informationssystem auch für Anwenderkreise einzusetzen, die keine oder wenig Vorkenntnisse besitzen. Denn die Anwender brauchen keinen Einblick in das Erstellen von Anforderungen zu haben.

In Anwendungen werden fertige ASS-Anforderungen in der jeweils gewünschten Reihenfolge und mit individuell zu definierenden Auswahl- und Verzweigungsmöglichkeiten angeordnet. Dabei kann über Parametereingaben oder die Cursor-Position in fertigen Auswertungsbildern selektiert und verzweigt werden.

BEISPIEL:
Es soll eine Anwendung 'VERTRIEB' erstellt werden, in der folgende 6 Anforderungen verknüpft werden sollen (in den Beispielen werden nur die wichtigen Informationen dargestellt):

sowie ANFST1, ANFST2 und ANFST3, die anstelle des Wertes UMSATZ_DM den Wert UMSATZ_STUECK enthalten, sonst aber mit ANFDM1, ANFDM2 bzw. ANFDM3 identisch sind. In der Anwendung soll mit PF4 zwischen ANFDMx und ANFSTx (auf derselben Ebene) gewechselt werden können. Außerdem soll man mit der Freigabe-Taste von ANFxx1 nach ANFxx2 und von ANFxx2 nach ANFxx3 gelangen können, wobei eine Gebiets- bzw. Bezirksleitung mittels Cursor selektierbar sein soll.

15.2 Voraussetzungen an die verwendeten Anforderungen

Listanforderungen, die in einer Anwendung aufgerufen werden können, müssen bestimmte Voraussetzungen erfüllen:

  1. Anforderungdatenbank:
    Alle Listanforderungen einer Anwendung müssen fehlerfrei in der Muster-Bibliothek B der Anforderungsdatenbank gespeichert sein. Installationsabhängig kann aber auch eine andere Bibliothek verwendet werden. Diese muss über die Textdatenbank (D A 27, ANW-ANF-BIB-STD) definiert sein.
  2. Dialogfähigkeit:
    Jede Anforderung muss im Dialog ausführbar sein. Nur wenn in der Anwendung die Anzeige des Listbildes gewünscht wird, kann auch jede andere Anforderung verwendet werden.
  3. Berechtigung:
    Ein Anwender muss nur dann für die Namensbereiche aller Listanforderungen berechtigt sein, wenn er selbst Anwendungen erstellt oder verändert.
    Für das Ausführen einer Anwendung muss man für den Anwendungsnamen und für den Namen der Startanforderung berechtigt sein. Alle anderen Anforderungsnamen werden nicht geprüft. Das Verzweigen in Anforderungen, für die keine Berechtigung vorliegt, kann allerdings installationsabhängig (Text-DB D A 27, ALLE-ANF-PRUEFEN) unterbunden werden.
    Grundsätzlich müssen die Berechtigungen für angeforderte Arbeitsgebiete, Schlüssel, Werte, Zeiten usw. vorliegen.

15.3 Bearbeitung von Anwendungen

15.3.1 Verwaltung von Anwendungen (VS164)

Vom Einstiegsbild der ST31 kann man bei vorliegender Berechtigung durch Ankreuzen des Auswahlpunktes "ANWENDUNGEN" in Maske VS164 "ALLGEMEINE VERWALTUNG" verzweigen. Dort kann man neue Anwendungen anlegen oder bestehende bearbeiten, starten oder löschen. Zunächst werden die bestehenden Anwendungen angezeigt. Die Sortierreihenfolge ergibt sich hier nicht aus den Namen der Anwendung, sondern aus der Anwendungs-Nummer. Eine freie Zeile können Sie für eine neue Anwendung nutzen.

Feldbeschreibungen
  1. OP
    In diesem Feld können Verarbeitungsoptionen zur angezeigten Anwendung eingegeben werden. Folgende Angaben sind dabei möglich:
    • S Ausführen (Starten) der Anwendung
    • B Bearbeiten der Anwendung, d.h. Bearbeiten der Regelsätze (Verzweigen nach Maske VS165)
    • D Löschen der Anwendung (nur möglich, wenn keine Regelsätze vorhanden sind)
  2. ANWENDUNGSNR.
    Hier muss für eine Anwendung eine eindeutige Nummer vergeben werden, die zwischen 1 und 32767 liegen muss.
  3. NAME
    In diesem Feld wird der Name der Anwendung angegeben. Dieser muss ein bis zu acht Stellen langer ASS-Bezeichner sein (--> Kap. 3.1.4).
  4. STARTANFORD.
    Für jede Anwendung muss hier der Name der Anforderung angegeben werden, mit der die Anwendung startet, d. h. diese Anforderung wird als erste ausgeführt und von ihr aus kann zu anderen Anforderungen verzweigt werden.
  5. KOMMENTAR
    Schließlich kann in diesem Feld noch ein maximal 30-stelliger Kommentar zu der Anwendung angegeben werden.

BEISPIEL: Für das Beispiel aus Kap. 15.1 muss folgendes angegeben werden (die Anwendung PLANUNG existiert bereits):

                                                                  VS164
        OP  ANWENDUNGSNR.  NAME       STARTANFORD.    KOMMENTAR
        .       2000.      PLANUNG.   PLAN1...        PLANUNG......
                100..      VERTRIEB   ANFDM1..        UMSATZ DM/ST.

15.3.2 Verwalten von Regelsätzen (VS165)

Durch Eingabe der Verarbeitungsoption B im Bild VS164 verzweigen Sie in das Bild VS165 "REGELN VERWALTEN", in dem die Sprungmöglichkeiten innerhalb der Anwendungsstruktur beschrieben werden. In einem Regelsatz wird festgelegt, mit welcher Funktionstaste und welchem Selektionsverfahren von der Ausgangs- zur Zielanforderung verzweigt werden soll.
Zwischen den Anforderungen einer Anwendung können Sie mit der Freigabe-Taste und den Funktionstasten PF4 und PF5 verzweigen. Bei Bedarf können auch die Funktionstasten PF14 - PF24 aktiviert werden (--> ASS-Systembetreuer). Alle anderen Funktionstasten besitzen eine Standardbelegung (siehe Kap. 15.7 ).
Außerdem stehen folgende Selektionsverfahren zur Belegung von Parametern zur Verfügung:

Ein Regelsatz besteht jeweils aus 2 Zeilen, wobei alle Felder der ersten Zeile belegt sein müssen, während die Parameterangaben in der zweiten Zeile nur nötig sind, wenn bei erweiterten Anwendungen Parameterinhalte mit dem Cursor selektiert und weitergegeben werden sollen.

Eingabefelder der Maske VS165
  1. OP
    In diesem Feld kann 'D' angegeben werden, um einen bestehenden Regelsatz zu löschen. Ein 'K' verzweigt zur Erfassung von Kommentaren für Regelsätze. Diese Kommentare erscheinen zum Ausführungszeitpunkt bei der PF1-Hilfe. Falls keine Kommentare hinterlegt werden, so erscheinen dort Standarderläuterungen. Ein 'S' verzweigt zur Maske 'Regeln für Drill-Up, Drill-Down'. Hier können Drillsätze zu der bei ALTE ANFORDERUNG genannten Anforderung erfasst werden (vgl. Kap. 15.6 ).
  2. ALTE ANFORDERUNG
    In diesem Feld wird die Anforderung angegeben, von der aus in eine andere Anforderung verzweigt werden soll. Wird hier ANWREGEL eingetragen, so handelt es sich um einen Regelsatz, der für die gesamte Anwendung gilt. Regelsätze zu einer bestimmten Anforderung übersteuern anwendungsweite Regelsätze.
  3. EIN-CODE
    Hier wird festgelegt, mit welcher Taste und mit welcher Selektionsmöglichkeit weiterverzweigt werden soll. Dabei bedeutet:
    • 0 Freigabe-Taste
    • 4,5 PF4, PF5
    • 14-24 PF14 - PF24 jeweils mit Selektion aus Kopfschlüsselbereich
    • 40 Freigabe-Taste
    • 44,45 PF4, PF5
    • 54-64 PF14 - PF24 jeweils mit Selektion aus Zeilenschlüsselbereich
    • 80 Freigabe-Taste
    • 84,85 PF4, PF5
    • 94-104 PF14 - PF24 jeweils mit Selektion aus Spaltenschlüsselbereich
    Wird keine Selektion mittels Cursor gewünscht, so ist 0, 4 oder 5 zu verwenden. Die Parm-Felder bleiben dann leer.
  4. EIN-VERARB.
    Dieses Feld ist derzeit stets mit 0 zu besetzen.
  5. NEUE ANFORDERUNG
    Hier ist die Anforderung zu benennen, in die von der alten aus mit der der Regel entsprechenden Taste verzweigt werden soll.
  6. ZIEL-VERARB.
    Dieses Feld beschreibt, in welcher Form die neue Anforderung bearbeitet werden soll (meistens: 2).
    Folgende Eingaben sind möglich:
    • 1, 11 Anzeige des Listbildes (entspricht PF2)
    • 2, 12 Anzeige der Statistik (entspricht PF10)
    Im Gegensatz zur Zielverarbeitung 1 bzw. 2 wird bei Angabe von 11 bzw. 12 wenn möglich die aktuelle Position innerhalb einer Spaltensequenz ins Folgebild übernommen. Ist dieses nicht möglich, da z. B. das Folgebild weniger Spaltensequenzen ('SQ') besitzt, wird analog zur Zielverarbeitung 1 und 2 auf die erste Spaltensequenz positioniert.

    Mit der Zielverarbeitung 4 wird die 'Neue Anforderung' im Modus der Werterfassung ausgeführt (vgl. --> HERFASS und HERFASS2).

    Wird bei der Zielverarbeitung '5' angegeben, so wird die neue Anforderung nicht direkt ausgeführt, sondern zunächst in die Parametermaske verzweigt.
  7. PARM
    Diese sechs Felder dienen zur Beschreibung der Parameterübernahme mittels Cursor. Die genaue Vorgehensweise wird unter Kap. 15.4 beschrieben. Wird keine Cursorselektion gewünscht, so bleiben diese Felder leer.

BEISPIEL:
Für das Beispiel aus Kap. 15.1 sollen zunächst die Regelsätze für den Wechsel zwischen ANFDM1 und ANFST1 dargestellt werden:

       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       .   ANFDM1..   4..       0....        ANFST1..   2....
            PARM:  ........  ........  ........  ........  ........
       .   ANFST1..   4..       0....        ANFDM1..   2....
            PARM:  ........  ........  ........  ........  ........

Die Regelsätze für den Wechsel zwischen ANFDM2/ANFST2 bzw. ANFDM3/ANFST3 sind entsprechend anzulegen.

15.3.3 Änderung bestehender Regelsätze

Sofern die Felder "ALTE ANFORDERUNG" oder "EIN-CODE" von der Änderung betroffen sind, muss der Satz gelöscht und neu eingegeben werden, andernfalls können die Feldinhalte überschrieben werden. Durchgeführte Eingaben sind mit der Datenfreigabe-Taste zu bestätigen und werden mit einer ASS-Meldung in folgender Form angezeigt:

ASS3992 0 SAETZE GELOESCHT, 1 GEAENDERT, 0 ANGELEGT

15.4 Regelsätze mit Parameterübergabe

Auch in einer Anwendung können Sie Parameter individuell besetzen. Dies kann einerseits dadurch geschehen, dass Sie von einer angezeigten Statistik in die Maske zur Parameterauswahl verzweigen (mit PF9, siehe Kap. 15.7). Die Parameter sind sprechend zu definieren (vgl. Kap. 9).
Andererseits können Parameter einer Zielanforderung aus der alten Anforderung heraus mittels Cursorselektion besetzt werden. Dies bedeutet, dass in der Anzeige der alten Anforderung der Cursor auf die gewünschte Belegung positioniert wird und diese nach dem (dem Regelsatz entsprechenden Tastendruck) bei der Ausführung der Zielanforderung berücksichtigt wird.

Die aktuellen Besetzungen der Parameter (Vorbesetzung oder individuelle Überschreibung) bleiben innerhalb einer Anwendung erhalten (bis sie erneut überschrieben werden). Es reicht folglich im Bsp. aus Kap. 15.1 aus, den Parameter &&ZE in Anforderung ANFDM1 zu besetzen. Diese Einstellung wird dann an die folgenden Anforderungen (ANFDM2, ANFST1, etc.) durchgereicht.

Wenn Sie einen Parameter einer Zielanforderung aus der alten Anforderung heraus besetzen wollen, so legen Sie dies in einem entsprechenden Regelsatz fest. Zunächst ist im Feld EIN-CODE zu beschreiben, auf welche Weise ein Parameter belegt werden soll (Übernahme aus KS, ZS, oder SS; siehe Kap. 15.3.2). Weiter muss noch bestimmt werden, welche Parameter der Zielanforderung mit der Selektion übersteuert werden soll, und mit welchem Begriff aus der angezeigten Statistik dies geschehen soll. Diese Festlegungen erfolgen mit Hilfe der Eingabefelder PARM.
In die Felder müssen die Namen der Parameter (der Zielanforderung) ohne führendes '&&' angegeben werden, die übersteuert werden sollen. Die Position der Eingabe, d. h. ob die Eingabe im ersten, zweiten, dritten oder sechsten Feld erfolgte, gibt an, dass der Inhalt des ersten, zweiten, dritten oder sechsten Kopfschlüssels (bei EIN-CODE = 0,4,5,14-24), Zeilenschlüssels (EIN-CODE = 40,44,45,54-64) oder Spaltenschlüssels (EIN-CODE = 80,84,85,94-104) übernommen werden soll. Zunächst sind die relevanten Felder einzugeben. Anschließend ist in alle führenden leeren Eingabefelder 'DUMMY' einzugeben, um ASS mitzuteilen, dass diese Begriffe nicht selektiert werden sollen.

BEISPIEL:

Für das Bsp. aus Kap. 15.1 sind für die Verzweigung von ANFDM1 nach ANFDM2 und von ANFDM2 nach ANFDM3 also folgende Regelsätze einzugeben:

                                                               VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       .   ANFDM1..   40.       0....        ANFDM2..   2....
            PARM:  GL......  ........  ........  ........  ........
       .   ANFDM2..   40.       0....        ANFDM3..   2....
            PARM:  DUMMY...  BL......  ........  ........  ........

Entsprechnde Regelsätze sind auch für ANFST1 / ANFST2 und ANFST2 / ANFST3 anzulegen. Soll kein Parameter übergeben werden, so ist Selektion aus KS zu wählen, wobei alle Eingabefelder PARM leer bleiben. Wird eine Selektion aus mehreren Bereichen (KS und ZS, ZS und SS, etc.) gewünscht, so ist für jede Dimension ein eigener Regelsatz mit sich entsprechenden EIN-CODE's (0/40, 40/80, etc.) anzulegen. Diese Regelsätze werden dann gleichzeitig berücksichtigt.

15.5 Gruppierungen und Mengen in Anwendungen

Soll in einer Anwendung mit Gruppierungsparameter gearbeitet werden, so müssen in den zugehörigen Anforderungen diese Parameter in der Maske VS108 (Menü 'GR') definiert werden und nicht in der Maske VS110 (Menü 'AU'). Diese Parameter unterstützen jedoch nur Gruppierungen aus der Anforderungs-DB. Siehe auch Kap. 4.3.8.3 (Gruppierungen der Anforderungs-DB) und Kap. 9.2 (Parameter definieren und vorbesetzen).

Anwendungen und selektierbare Mengen

Sollen in einer Anwendung analog zu Schlüsselinhalten auch Mengen durch den Cursor selektierbar und damit als Parameter übergebbar sein, so ist hierzu eine bestimmte Vorgehensweise erforderlich, um diese Mengen als 'selektierbar' zu kennzeichnen. Innerhalb der Anwendung werden später diese Mengen dann wie Schlüsselausprägungen behandelt.

Vorgehensweise:
Soll eine Menge selektierbar sein, so muss eine ST31-Gruppierung angelegt werden, die nur die gewünschte Menge enthält. In der Anforderung wird dann statt der Menge die entsprechende Gruppierung angefordert.

Beispiel:

    1...    <<00100M01..    ...................
    2...    <<00100M02..    ...................
    3...    ('HUGO')....    HUGO MUELLER.......

Im obigen Beispiel werden zwei Mengen aus der Anforderungs-DB eingelesen und sind somit selektierbar. Die Menge HUGO MUELLER ist jedoch nicht selektierbar. Die Übergabe von derartigen Mengen als Parameter an Folgeanforderungen in einer Anwendung ist analog zu der von Schlüsselinhalten. Überall dort, wo in einer Anforderung ein Parameter für einen Schlüsselinhalt steht, kann ebenso eine solche Menge eingesetzt werden. Das bedeutet wiederum, dass bei der Definition des Parameters (siehe Kap. 9) der (Folge-)Anforderungen keine besonderen Vorkehrungen zu treffen sind. Parameter, die durch Cursor selektierbare Mengen als Inhalt haben, besitzen auch die Parameterart AU.

Hinweis: Bis ASS-Release 7.30 war die Anforderung komplizierter:
Die Gruppierung musste über den Mengennamen mit leerem Mengeninhalt angefordert werden, obiges Beispiel hätte dann folgende Form:

    1...    ()..........    <<M01
    2...    ()..........    <<M02
    3...    ('HUGO')....    HUGO MUELLER

Von der Verwendung dieser alten Form wird jedoch abgeraten.

Innerhalb von Anwendungen steht der gleiche Leistungsumfang wie bei der Selektion von Schlüsselausprägungen zur Verfügung. Dieses gilt auch für den Aufruf der Parametermaske via PF9. Soll hier anstelle einer Schlüsselausprägung eine Menge direkt angegeben werden, so wird diese durch den maximal 7-stelligen (installationsabhängig auch 8-stelligen, siehe GR-NAME-13 in Handbuch INSTALLATION, Kap. 8) Gruppierungsbezeichner (ohne Schlüsselnummer) angesprochen. Weiterhin stehen diese Mengen bei der Direktauswahl zur Verfügung (vgl. Kap. 9.4.1).

15.6 DRILL in Anwendungen

Neben der Verwendung von gewöhnlichen Regelsätzen bietet ASS in Anwendungen zusätzlich die Möglichkeit durch spezielle Regelsätze einfache Drill-Down / Drill-Up zu realisieren. Für die Beschreibung eines Drills innerhalb einer Anforderung ist hierdurch nur ein einziger Regelsatz erforderlich.

15.6.1 Das Drill-Prinzip

Beim Drill-Down wird eine Anforderung, die in der Anwendung angezeigt wird, durch Cursorselektion im Zeilenschlüsselbereich in folgender Weise modifiziert:

Beispiel:

Bei der Selektion aus der Zeile wird der nächste Drill-Schlüssel 'Inspektorat' in die Zeile und der (linkeste) Zeilenschlüssel 'Bezirksdirektion' in den Kopf gestellt. Dabei wird die Ausprägung '12' selektiert:

    ZEITRAUM: 0500                        ZEITRAUM: 0500
                                          BEZIRK  : 12

           I WERTE                                     I WERTE
           I NEUGESCHAEFT                              I NEUGESCHAEFT
    BEZIRK I           DM                 INSPEKTORAT  I           DM
    -----------------------     ===>      -----------------------------
    10     I      423.420                 1201         I       31.332
    11     I       81.241                 1202         I       81.232
    12     I      238.704                 1203         I      126.140
    13     I      187.768
    14     I      116.172

Dieses Beispiel ist in folgender Weise v e r e i n f a c h t:

15.6.2 Allgemeine Drill-Regeln

Wird in einer Anwendung durch Betätigen einer PF-Taste ein Drill-Down-Regelsatz angesprochen, so wird der nächste Schlüssel bzw. die nächste Schlüsselmenge des betreffenden Regelsatzes als niedrigster Zeilenschlüssel in die aktuelle Anforderung nachgezogen. Es werden nur die Schlüssel betrachtet, die noch nicht in der Anforderung enthalten sind. Eine Menge gilt als nicht enthalten, wenn kein Schlüssel Bestandteil einer aktuellen Anforderung ist. Wird kein nächster Schlüssel bzw. keine nächste Menge gefunden (alle Schlüssel bereits enthalten), so wird eine entsprechende Meldung ausgegeben.
Dieses Prinzip gilt auch bei Verwendung mehrerer Drillsätze zur gleichen Anforderung. Dabei ist es sogar zulässig, dass verschiedene Drillsätze gleiche Schlüssel enthalten.

15.6.3 Erfassung von Drill-Sätzen

Ausgangspunkt ist die Anwendungsübersicht (VS164). Wenn Sie eine bestehende oder neue Anwendung bearbeiten wollen, geben Sie 'B' bei 'OP' ein - es folgt VS165.

                                                                VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       s   STARTANF   ...       .....        ........   .....
            PARM:  ........  ........  ........  ........  ........

Dort verzweigen Sie zu einer ALTEN ANFORDERUNG, indem Sie 'S' bei 'OP' eingeben sowie den Namen der alten Anforderung (hier STARTANF). Daraufhin verzweigen Sie zu VS157 (Titel 'Regeln für Drill-Down, Drill-UP'), wo die Drill-Sätze zu dieser Anforderung verwaltet werden. Dort sind folgende Angaben zu machen:

EIN-CODE FUER DRILL-UP

Hier ist der Eincode für einen Drill-Up einzutragen. Der Drill-Up hat die gleiche Funktionsweise wie ein PF3-Backtrace bis zum Anfang der aktuellen Drill-Kette. Dann ist kein Drill-Up mehr möglich. Eingaben sind hier für einen Eincode aus dem Zeilenbereich erlaubt.

EIN-CODE

Entsprechend einer Selektion aus dem Zeilenbereich muss der Eincode zwischen 40 und 64 liegen, wobei die Funktionstasten Enter, PF4, PF5, PF14-PF24 zugeordnet werden können.

DRILL-DOWN-SCHLUESSEL

In dieser Zeile sind, durch Komma getrennt, die Schlüssel anzugeben, die beim Betätigen der Funktionstaste sukzessive nachgezogen werden sollen:

                                                                VS157
       EIN-CODE    DRILL-DOWN-SCHLUESSEL
       40          100,110,115,120...................................
       44          300,320,340,360,380...............................
       ...         ..................................................
Schlüsselmengen

Zeitweise ist es besser, gleich mehrere Stufen etwa einer Gebietshierarchie bei einem PF-Tasten-Druck einzublenden. Sollen also mehrere Schlüssel gleichzeitig als rechteste Zeilenschlüssel ergänzt werden, so sind sie in Klammern anzugeben. Auf gleiche Weise können auch gesplittete Schlüssel in den DRILL-Satz eingebunden werden.
Wichtig: ASS zieht eine Menge nach, wenn noch k e i n Element der Menge angefordert ist (leerer Durchschnitt zur aktuellen Anforderung).

                                                                VS157
       EIN-CODE    DRILL-DOWN-SCHLUESSEL
       40          100,(110,115),120.................................
       ...         ..................................................

15.6.4 Anwendungsweite Drill-Sätze mit ANWREGEL

Neben der Möglichkeit, für jede Anforderung einzeln Schlüsselkombinationen festzulegen, kann ASS auch anwendungsweite Regelsätze verwalten. Diese werden zu einer 'ALTEN ANFORDERUNG' mit dem Namen 'ANWREGEL' erfasst.
Dabei kann man auch den Drill-Down einbauen:

                                                                VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       s   ANWREGEL   ...       .....        ........   .....
            PARM:  ........  ........  ........  ........  ........

Die Regelsätze, die zu ANWREGEL hinterlegt sind, werden dann herangezogen, wenn eine Funktionstaste gedrückt wird, zu der keine Regelsätze vorhanden sind. Es ist also auch möglich, ganz auf die Erfassung von Drillsätzen zu einzelnen Anforderungen zu verzichten und nur mit ANWREGEL zu arbeiten. Auf diese einfache Weise lässt sich lediglich aus einer Startanforderung ein Informationssystem aufbauen:

                                                                VS164
       OP  ANWENDUNGSNR.  NAME       STARTANFORD.    KOMMENTAR
       b       2000.      MIS.....   STARTANF        Info-System..
               .....      ........   ........        .............
                                                                VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       s   ANWREGEL   ...       .....        ........   .....
            PARM:  ........  ........  ........  ........  ........
                                                                VS157
       EIN-CODE    DRILL-DOWN-SCHLUESSEL
       40          100,(110,115),120.....   Enter: Organisationshier.
       44          300,320,340,360,380...   PF4 : Kunden/Vertriebsform
       45          500,510,520,530.......   PF5 : Produkthierarchie
       54          590,592,594...........   PF14: Verpackungshierarchie
       55          (800,820),1000           PF15: Sorten & Marken
       ...         ......................
                                            v

Dieser rechte Teil ist hier nur Kommentar. Für einen Endbenutzer ist es allerdings hilfreich, wenn er nachschlagen kann, was hinter einzelnen Funktionstasten steckt. Wie solche Texte mit der PF1-Hilfe angezeigt werden können, wird im Kap. 15.8 erläutert.

15.7 Standard-Funktionstasten

In einer Anwendung muss nicht jede Verzweigung über einen eigenen Regelsatz beschrieben werden, da einige häufig benötigte Sprünge durch Standard-Funktionstasten abgedeckt werden. Daher stehen in den Regelsätzen nicht alle Funktionstasten für eine individuelle Belegung zur Verfügung.
Folgende Funktionstasten sind vorbelegt:

15.8 Steuerinformationen für Anwender

15.8.1 Kommentierung von PF-Tasten in der PF1-Hilfe

Die in einer Anwendung zum Verzweigen individuell belegten Funktionstasten können auf verschiedene Weise erläutert werden. Sehr geeignet ist die Kommentierung, die mit der PF1-Hilfe eingeblendet wird. Solche Kommentare können beim Erfassen von Regelsätzen (VS165) aufgenommen werden.

                                                                VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       K   ANFORD_1   40.       0....        ANFORD_2   2....
            PARM:  &&Par1..  ........  ........  ........  ........

Mit einem 'K' bei OP verzweigt man nach VS182, wo Kommentare zu Regelsätzen der 'Alten Anforderung' erfasst werden:

                                                                VS182
       ANWENDUNG:  ANW1           ALTE ANFORDERUNG: ANFORD_1
       EINCODE KURZTEXT    LANGTEXT
       24.     Start....   Sprung in die Startanforderung..........

Im ersten Eingabefeld ist der zu kommentierende Regelsatz zur Alten Anforderung durch den entsprechenden EINCODE anzugeben (z. B. '40' für einen Übergang mit Entertaste bei Zeilenselektion). Der KURZTEXT wird im ASS-Excel-Dialog als Beschriftung des Knopfes verwendet, mit dem verzweigt wird. Der LANGTEXT erscheint, wenn die Hilfe zu diesem Button angeklickt wird. Beim Betätigen von PF1 erscheinen in der ST31 zum Ausführungszeitpunkt beide Texte oberhalb der Erläuterung der Standard-Funktionstasten.
Zur Vermeidung der Eingabe von Hilfetexten, die in vielen Anforderungen gleich sind, kann auf folgende Weise eine Standardvorbelegung vorgenommen werden. Zunächst muss ein Dummy-Regelsatz mit der Alten Anforderung namens ANWTEXTE angelegt werden. Dazu können Hilfetexte erfasst werden, die bei der jeweiligen PF-Nummer als Hilfetext erscheinen, falls kein individueller Hilfetext erfasst wurde.

15.8.2 Kommentare aus der Textdatenbank

Kundenspezifische Kommentare können mit Hilfe der Dialogoberfläche ST06 auf der Textdatenbank hinterlegt werden. Zu Texten, die Anwendungen erläutern sollen, ist die Textart 'B' vorgesehen (Sprache: 'D', Textart: 'B', Textnummer: beliebig ). Entsprechende Texte können dann auf folgende Weise in die bearbeitete Anwendung eingebunden werden:
Zum Namen der ALTEn ANForderung ist zu einem EIN-CODE für eine PF-Tasten ( 0 für Enter, 4 für PF4 etc. ) eine Textnummer bei EIN-VERARBeitung einzustellen. Das Feld NEUE ANFORDERUNG muss leer bleiben und bei ZIEL-VERarbeitung muss '99' stehen. Es werden keine Parameter übergeben.

Beispiel:

                                                                VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
   a-> .   ANF1....   0..       4711.        ........   99...
            PARM:  ........  ........  ........  ........  ........
       .   ANF1....   40.       0....        ANFDM2..   2....
            PARM:  GL......  ........  ........  ........  ........
   b-> .   ANF2....   4..       4712.        ........   99...
            PARM:  ........  ........  ........  ........  ........
       .   ANF2....   45.       0....        ANFDM3..   2....
            PARM:  DUMMY...  BL......  ........  ........  ........

Anwendungsweite Hilfetexte können zur ALTEn ANForderung ANWREGEL eingebunden werden. Sie erscheinen, falls zu einer Anforderung für die entsprechende Funktionstaste keine Belegung vorhanden ist.

Beispiel:

                                                                VS165
       OP  ALTE ANF.  EIN-CODE  EIN-VERARB.  NEUE ANF.  ZIEL-VER
       .   ANWREGEL   0..       1000.        ........   99...
            PARM:  ........  ........  ........  ........  ........

15.8.3 Kommentare bei den Anforderungen

Im Kommentar der Alten Anforderung kann die letzte Zeile (außer es ist keine oder nur die erste Zeile belegt) als Information bei der Anzeige der Statistik eingeblendet werden. Enthält der Kommentar nur eine erste oder gar keine Zeile, erscheint in der Anwendung eine StandardInformation.

BEISPIEL:
In der Anforderung ANFDM1 kann als Kommentar eingegeben werden:

UMSATZ_DM FUER ANWENDUNG VERTRIEB........................... FREIG: UMSATZ DM BEZIRKSLT, PF4: UMSATZ STUECK GEBIETSLT....

Installationsabhängig lässt sich eine Funktionstaste aktivieren, mit der zusätzliche Informationen in die Anzeige der Liste eingeblendet werden können (s. Handbuch Installation Kap. 5.3.16). Nach Drücken dieser PF-Taste werden die Zeilen 4 bis 9 des Kommentars ab der Stelle 2 in die Maske eingeblendet. (Stelle 1 kann benutzt werden, um eine Stauchung mit PF3 bei 'leeren' Kommentarzeilen zu vermeiden). Erneutes Drücken der PF-Taste lässt die zusätzliche Anzeige wieder verschwinden.

15.9 Ausführen von Anwendungen

15.9.1 Anzeige in der Bibliotheksübersicht

Verzweigen Sie aus dem Grundauswahlbild der ST31 in die Bibliotheksübersicht, erscheinen dort auch alle Anwendungen, für deren Namen eine Berechtigung vorliegt. Anwendungen werden zwar in einer eigenen Bibliothek Y gespeichert. In der Bibliotheksübersicht erscheinen sie aber unter der Bibliotheksart A.
Da sich die Sortierreihenfolge nicht aus dem Namen, sondern einer Anwendungsnummer ergibt, kann die Anzeige der Anwendungen damit gesteuert werden. Somit lassen sich z. B. auch einzelne Anforderungen in geänderter Reihenfolge anzeigen, wenn sie als Anwendung mit einem einzigen Bild gespeichert werden. Auch eine fehlende Berechtigung für den Namen der Anforderung kann so umgangen werden, da sich die Berechtigungsprüfung nur auf den Anwendungsnamen auswirkt.

15.9.2 Starten von Anwendungen

Grundsätzlich wird eine Anwendung durch Markierung in der Bibliotheksübersicht aufgerufen. Das Menü "ANWENDUNGEN VERWALTEN" bietet zwar ebenfalls diese Möglichkeit, ist aber nur für die Anwender zugängig, die auch neue Anwendungen definieren oder bestehende verändern dürfen.

15.9.3 Verzweigen in Anwendungen und Parameterübernahme

Da die Verzweigungsmöglichkeiten in den einzelnen Anwendungen sehr individuell realisiert werden können, ist an dieser Stelle nur kurz auf die allgemeinen Möglichkeiten hinzuweisen.
Zu unterscheiden sind:

Soll ein Parameter aus einer angezeigten Statistik übergeben werden, so ist bei Übernahme aus dem Zeilen- oder Spaltenbereich der Cursor in die Zeile bzw. Spalte zu positionieren, in der der Begriff steht, der selektiert werden soll. Bei Übernahme aus KS wird der entsprechende Begriff weitergereicht, der im Kopf der aktuell angezeigten Seite angezeigt wird. Dies bedeutet, dass die Auswahl über Vorwärts- und Rückwärtsblättern gesteuert wird.

Werden in der Startanforderung einer Anwendung Anforderungsparameter verwendet und wurde PARA. AUSW. = 'J' bei der Parameterdefinition gesetzt (vgl. Kap. 9.1), so erscheint beim Starten der Anwendung als erstes nicht eine Statistik, sondern die Maske zur Parameterauswahl für die Startanforderung.

Die Selektion von Mengen ist nur für solche Mengen erlaubt, die als Gruppierung auf der Anforderungsdatenbank abgelegt wurden (vgl. Kap. 15.5).

Bei Joinanforderungen sind grundsätzlich keine Selektionen in Spaltenschlüsseln möglich. In Kopf- oder Zeilenschlüsseln gibt es Einschränkungen beim Pseudoschlüssel WERTE: Über diesen kann nur selektiert werden, wenn er aus einer Unteranforderung stammt, die keine Joinanforderung ist und in der er als Kopf- oder Zeilenschlüssel angefordert ist.

16 Empfänger / Empfängerlisten

Diese Funktion wird nicht mehr unterstützt. Siehe hierzu auch HBETRIE2. Das folgende Kap. 16 ist nur für diejenigen ASS-Anwender relevant, bei denen der Punkt 'Empfänger einer Anforderung' (paketierter Output) installiert ist.

16.1 Vorbemerkung

Dem Output einer Anforderung lassen sich Empfänger zuordnen. Über Angabe von Schlüsselbedingung (siehe unten) lässt sich steuern, dass bestimmte Empfänger nur bestimmte Teile des ASS-Outputs erhalten.
Zunächst ist es erforderlich Empfänger und Empfängerlisten zu definieren. Dieses geschieht in der ST09. In einem weiteren Schritt werden die Empfänger einer bestimmten Anforderung erfasst (siehe Kap. 16.2). Nun lässt sich mit Hilfe von ASS-Utilities der Output der Anforderung paketieren.
Das ASS-Auswertungsprogramm PCL1016 erstellt eine Datei, die den Druckoutput der ausgewählten Anforderung enthält. Damit diese Datei die für die Paketierung nötigen Zusatzinformationen enthält, müssen sich die betreffenden Anforderungen jeweils auf einer von zwei speziellen Bibliotheken (welche diese sind, ist installationsabhängig) befinden.
Der Output des PCL1016 kann dann mit dem Utility PCL1095 auf die Berichtsdatenbank geladen werden. Von dort aus werden die ASS-Listen mittels eines weiteren Utilities (PCL1086) gelesen und auf verschiedene den Empfängern und Medien zugeordneten Dateien ausgegeben. In der Vorlaufkarte dieses Programms kann dabei nach Empfängern, Empfängerlisten, Anforderungen und Erstelldatum der Anforderungen selektiert werden. Diese Angaben sind zusätzlich selektiv zu den Angaben bei den einzelnen Anforderungen. Weitere Einzelheiten zu den ASS-Utilities sind der entsprechenden Dokumentation zu entnehmen.

16.2 Auswahl der Empfänger bei der Auswertung

In die Maske VS128 zur Erfassung der Empfänger zu einer Anforderung gelangt man vom Einstiegsbild der Transaktion ST31 (VS100). Bei entsprechender Berechtigung ist hierzu das Feld EMPFAENGER / EMPFAENGERLISTEN anzukreuzen.

In dieser Maske ist zunächst die zu bearbeitende Anforderung anzugeben. Danach können dann einzelne oder mit '?' maskierte Empfänger und Empfängerlisten angegeben werden sowie zu den jeweiligen Empfängern als Selektionskriterium Schlüssel und Schlüsselinhalt. Ferner können Ausgabe Medien spezifiziert (normaler ASS-Output, Caddy, PC-Formate) und die Anzahl der zu erstellenden Kopien vorgegeben werden.

Beim Medium ' ' wird nur eine Datei pro Medium und pro Empfänger erstellt, im Gegensatz zu den übrigen Ausgabemedien, bei denen pro Medium eine Datei erstellt wird. Die Listen innerhalb einer Datei werden pro Empfänger durch Trennsätze separiert.

Eine Angabe zur Anzahl der zu erstellenden Kopien übersteuert eine entsprechende Angabe bei den Attributen des betreffenden Empfängers in der ST09.

Eine Mehrfachauswahl eines Empfängers (direkt oder durch Auswahl einer entsprechenden Empfängerliste) bewirkt eine entsprechende Mehrfachausgabe der Liste.

Die Angaben zu den Schlüsseln e r g a e n z e n die entspr. Angaben bei den Attributen der jeweiligen Empfänger (ST09) und gelten als zusätzliche Selektionskriterien. Pro Anforderung haben nur die Angaben zum linkesten echten Kopfschlüssel eine Wirkung.

A l t e r n a t i v zur Selektion über Schlüsselinhaltstabellen kann für einen Empfänger (eine Empfängerliste) auch bestimmt werden, dass er nur 'eigene' Listen erhält. Die Selektion erfolgt über seinen bei den Attributen in der ST09 definierten Schlüsselbezug. Nur wenn Schlüssel und Schlüsselinhalt des Bezuges mit dem linkesten echten Kopfschlüssel übereinstimmen, erhält der Empfänger bei Erstellung des paketierten Outputs die entsprechende Liste.

Im einzelnen kann zwischen folgenden Möglichkeiten gewählt werden:

  1. Schlüssel und Schlüsselinhalt des linkesten Kopfschlüssels müssen exakt mit dem Bezug übereinstimmen. Hierzu ist in der Maske neben dem betreffenden Empfänger (Empfängerliste) unter Inhalt ##BEZUG einzugeben.
  2. Beim Vergleich des Bezuges mit dem linkesten Kopfschlüssel wird nur ein Teil der Inhalte (z. B. ab 3. Stelle 5 Zeichen) herangezogen. Hierzu ist in der Maske neben dem betreffenden Empfänger (Empfängerliste) unter Inhalt ##BEZ(3,5) einzugeben. Die Schlüsselnummer bleibt unberücksichtigt.
  3. Es wird die ASS-Hierarchie nach oben hin vom definierten Bezug durchgegangen. Trifft man dabei auf Schlüssel und Schlüsselinhalt des ersten Kopfschlüssels der Anforderung, so wird die Liste ausgegeben. Hierzu ist in der Maske neben dem betreffenden Empfänger (Empfängerliste) unter Inhalt ##BEZUGHIER einzugeben.

Bei der Selektion über die Schlüsselinhaltstabelle bzw. über den in der Maske neben dem Empfänger (Empfängerliste) angegebenen Schlüssel (eventuell in Verbindung mit einem Schlüsselinhalt oder einem Schlüsselinhaltsintervall) werden diese Angabe wiederum in Verbindung mit dem linkesten echten Kopfschlüssel gebracht. Zunächst müssen die Angaben zum Schlüssel mit dem Kopfschlüssel übereinstimmen. Eine Nichtangabe in der Maske bedeutet dabei eine Übereinstimmung. Zusätzlich muss der Inhalt des Kopfschlüssels in dem in der Maske angegebenen Intervall liegen bzw. bei Nichtangabe der oberen Grenze mit der unteren Grenze übereinstimmen. Fehlt auch die Angabe zur unteren Inhaltsgrenze, so gilt Übereinstimmung.

Anschließend werden zusätzlich die Angaben in der Schlüsseltabelle überprüft, also die zu einem Empfänger in der ST09 gemachten Angaben. Hierbei ist wesentlich, ob es sich dabei um 'positive' Berechtigungen oder 'negative' Berechtigungen handelt (vergleiche ST09). In Abhängigkeit davon muss der Kopfschlüssel mit einer der Angaben übereinstimmen (unter Berücksichtigung von Fragezeichenmaskierungen und Intervallangaben) oder er darf mit keiner Angabe übereinstimmen.

Zu erläutern bleibt noch der Gebrauch einiger Funktionstasten:
Mit PF4 ist es möglich die Angaben dieser Maske von den Angaben zu einer anderen Anforderung zu kopieren. Wesentlich ist, dass hierzu alte Eintragungen (auf der Datenbank) zu der aktuellen Anforderung gelöscht werden. Dieses wird durch die Eingabe von DEL in der Kommandozeile erreicht.

Im Gegensatz zu DEL löscht PF3 nur die in der aktuellen Maske neu gemachten Angaben.

Nach Betätigen von PF10 werden die gemachten Eingaben zu der aktuellen Anforderung (soweit fehlerfrei) abgespeichert und es kann eine neue Anforderung eingestellt werden.

Des weiteren besteht die Möglichkeit, durch PF5 in eine Übersichtsmaske aller Empfänger und -listen zu gelangen (VS129). Hier werden sämtliche in der Security-Datenbank abgespeicherten Empfänger und Empfängerlisten angezeigt. Neben den Bezeichnern befindet sich jeweils ein Eingabefeld. Dort können einzelne Einträge durch ein beliebiges Zeichen markiert werden. Nach Rückkehr mit PF6 in die Maske VS128 werden diese Empfänger und Empfängerlisten als Einträge in die dortige Liste übernommen. Das Kommandofeld in der Maske VS129 dient zum Positionieren innerhalb der Liste. Nach Eingabe von MEYER wird beispielsweise auf den Eintrag positioniert, der lexikographisch größer oder gleich MEYER ist.

Mit PF6 gelangen Sie aus der Maske VS128 wieder in das Einstiegsbild der ST31.

17 Erfassen von Umbuchungsanweisungen

Manchmal ist es nötig, die ASS-Datenbestände an im Betrieb vorgenommene Umstrukturierungen anzupassen. In den meisten Fällen kann dies innerhalb von ASS mit Hilfe von Umbuchungen geschehen. Die dazu nötigen Umbuchungsanweisungen können in der ST31 im Umbuchungsdialog erfasst werden.

17.1 Vorbemerkungen

Um die Umbuchungen auf den ASS-Summendaten vornehmen zu können sind folgende Schritte notwendig:

Es können im Umbuchungsdialog Umbuchungselemente gepflegt werden, in denen jeweils Umbuchungsanweisungen zusammengefasst werden. Die Umbuchungsanweisungen werden unabhängig von den Arbeitsgebieten erfasst. Eine Trennung nach Arbeitsgebieten erfolgt erst bei der Verarbeitung eines Umbuchungselements mit dem Programm PCL1093. Sind bei einem Umbuchungselement keine Anweisungen für Werte oder Zeiträume vorhanden, so werden alle Werte bzw. Zeiträume der entsprechenden Arbeitsgebiete umgebucht.

17.2 Mit der Behandlung von Umbuchungsanweisungen verbundene Masken

In den Umbuchungsdialog gelangt man vom Einstiegsbild der Transaktion ST31 (VS100), in dem man dort (bei entsprechender Berechtigung) das Feld UMBUCHUNGEN ERFASSEN ankreuzt. Als nächstes erscheint das Auswahlbild für den Umbuchungsdialog (VS160). Aus diesem kann zur Auswahl von Zeiträumen (VS161), zur Auswahl von Werten (VS162) und zur Auswahl von Schlüsseln (VS162) weiterverzweigt werden. Von der Schlüsselauswahl aus gelangt man in die Maske VS163, in der angegeben wird, welche Ausprägungen wohin umgebucht werden sollen.

17.3 Eingabe der Umbuchungsanweisungen

Im folgenden wird beschrieben, wie in den einzelnen Masken des Umbuchungsdialogs die Umbuchungsanweisungen eingegeben werden.

17.3.1 Auswahlmenü (VS160)

Von dem Einstiegsbild der Transaktion ST31 (VS100) gelangt man in das Auswahlmenü des Umbuchungsdialogs, wenn man dort das Feld UMBUCHUNGEN ERFASSEN markiert hat. In dem Auswahlmenü ist zunächst der Name eines Umbuchungselementes anzugeben. Existiert unter diesem Namen bereits ein Umbuchungselement, so werden in folgenden Masken die schon in ihm enthaltenen Anweisungen angezeigt. Der Benutzer kann nun einen Namen eingeben, der den Namenskonventionen für Anforderungen entspricht und der in einem Namensbereich liegt, für den der Benutzer berechtigt ist. Ein Umbuchungselement wird auf der Anforderungsdatenbank mit der Bibliotheksart W abgelegt und wird bei der Bibliotheksverwaltung (Maske VS117) angezeigt. Dort kann ein Umbuchungselement auch wieder gelöscht werden.
Im Feld AUSFUEHRUNGSDATUM kann angegeben werden, ab welchem Termin die betreffenden Umbuchungen vorgenommen werden sollen. Wird nichts eingegeben, so sollen die Umbuchungen "sofort" durchgeführt werden. Die Eingabe erfolgt in der Form TTMMJJ. Des weiteren muss noch angegeben werden, ob man Schlüssel, Werte oder Zeiträume behandeln will. Dazu muss das entsprechende Feld in der Maske markiert werden. In das Hauptmenü (VS100) gelangt man mit der PF6 - Taste zurück. Außerdem sind noch folgende Funktionstasten aktiv:

17.3.2 Angabe von Zeiträumen (VS161)

In der Maske VS161 werden die Zeiträume angegeben, für die die Umbuchungen vorgenommen werden sollen. Dabei können bis zu 60 Zeitraumangaben gemacht werden. Bei einer Zeitraumangabe kann sowohl ein einzelner Monat als auch ein Zeitintervall eingegeben werden. Sind bei dem angewählten Umbuchungselement bereits Zeiträume ausgewählt worden, so werden diese in der Maske angezeigt. Das Format einer Zeitraumangabe ist MMJJ, wobei MM zwischen 01 und 16 liegen muss. Weiter sind noch folgende Regeln zu beachten:

Eine Zeitraumangabe kann gelöscht werden, indem man das entsprechenden Feld mit Blanks löscht.

Werden keine Zeitraumangaben in dieser Maske gemacht, so wird als Standardvoraussetzung das maximale Zeitintervall angenommen, d. h. es werden alle eingespeicherten Zeiten umgebucht.

Es können nur solche Zeitraumangaben eingegeben werden, für die man berechtigt ist.

In dieser Maske sind folgende Funktionstasten aktiv:

17.3.3 Angabe von Werten / Auswahl von Schlüsseln (VS162)

Von dem Auswahlmenü des Umbuchungsdialogs wird bei der Wahl von Werten und Schlüsseln jeweils in die Maske VS162 verzweigt. In dieser Maske werden Werte und Schlüssel leicht unterschiedlich behandelt. Zunächst werden die Funktionen beschrieben, die bei Werten und Schlüsseln gleichermaßen bedient werden und im Anschluss daran die Werte- bzw. Schlüssel-spezifischen Angaben. In der Maske VS162 werden alle Werte/Schlüssel aus der Datenbank mit Nummer, Bezeichnung und Abkürzung angezeigt. Außerdem gibt es davor ein Auswahlfeld.
In der Maske kann mit PF7 / PF8 rückwärts bzw. vorwärts geblättert werden. Außerdem kann auf einen bestimmten Wert oder Schlüssel positioniert werden, indem man im Kommandofeld die entsprechende Nummer angibt und PF8 drückt. Bei jeder anderen Taste werden Eingaben im Kommandofeld abgelehnt. Zusätzlich gelten folgende Funktionstasten:

Hat man im Auswahlmenü (VS160) Werte angekreuzt, so können in der Maske VS162 die Werte ausgewählt werden, für die Umbuchungen vorgenommen werden sollen. Dazu muss der entsprechende Wert im Auswahlfeld markiert werden. Bereits ausgewählte Werte sind in der Maske gekennzeichnet. Soll eine Auswahl rückgängig gemacht werden, so ist die Markierung bei dem Wert mit Blank zu löschen. Sind keine Werte ausgewählt worden, so werden standardmäßig alle Werte umgebucht.
Bei der Auswahl von Schlüsseln kann in der Maske VS162 im Auswahlfeld ein Schlüssel angekreuzt werden, bei dem man Umbuchungen vornehmen will, d.h. bei dem Werteeinträge von einer Ausprägung auf eine andere umgebucht werden sollen. (Die entsprechenden Werteeinträge ergeben sich aus den Werte- und Zeitraumangaben.) Für diesen Schlüssel wird dann in die Maske VS163 verzweigt, in der die Ausprägungen behandelt werden.
Sind bei einem Schlüssel schon Angaben vorhanden, wie Ausprägungen umgebucht werden sollen, so ist er in einer gesonderten Spalte gekennzeichnet. Bei ihm können die Ausprägungen erneut bearbeitet werden.

17.3.4 Angabe der umzubuchenden Ausprägungen (VS163)

Haben Sie in der Maske VS162 einen Schlüssel ausgewählt, so können Sie für diesen in der Maske VS163 angeben, welche Inhalte umzubuchen sind. Dabei muss jeweils bei einem umzubuchenden Inhalt der neue Inhalt angegeben werden, auf den umgebucht werden soll.

In der Maske VS163 werden zu einem Schlüssel zunächst alle Inhalte mit Bezeichnung angezeigt, die umgebucht werden sollen. Bei diesen wird jeweils der neue Inhalt daneben gestellt. Gibt es diesen Inhalt nicht in der Schlüsseldatenbank, so wird anstatt der Bezeichnung der Text "Neue Ausprägung" angezeigt. Anschließend folgen alle Ausprägungen, für die keine Umbuchungsanweisungen vorliegen. Bei diesen ist das Feld NEUER INHALT leer.
Unabhängig von der Blätterposition wird immer eine leere Zeile am Anfang der Maske eingeblendet, um dort unabhängig von den angezeigten Ausprägungen Eingaben vornehmen zu können. Mit der Funktionstaste PF8 kann vorwärtsgeblättert werden. Wird zugleich im Kommandofeld ein Inhalt angegeben, so wird mit PF8 auf diesen positioniert. Mit PF7 wird immer an den Anfang zurückgesetzt, d. h. man erhält dasselbe Bild wie bei der Anzeige nach der Maske VS162.
In der Maske sind außerdem noch folgende Funktionstasten aktiv:

Folgende Vorgehensweise ist nötig, um festzulegen, welche Ausprägungen umgebucht werden sollen und wohin sie umgebucht werden sollen:

Es muss an die Stelle gegangen werden, an der die umzubuchende Ausprägung in dem Feld ALTER INHALT angezeigt wird. In dieser Zeile muss dann im Feld NEUER INHALT die Ausprägung eingegeben werden, auf die umgebucht werden soll. Steht in diesem Feld schon ein Inhalt, so kann dieser überschrieben werden und wird dann durch den neuen Eintrag ersetzt. Soll für eine Ausprägung eine Umbuchungsanweisung rückgängig gemacht werden, so ist das Feld NEUER INHALT mit Blanks zu löschen. Außerdem kann in einer leeren Zeile auch eine Umbuchungsanweisung eingegeben werden. Dazu ist ein Eintrag bei ALTER INHALT und bei NEUER INHALT zu machen. Dabei ist es möglich, mehrere Ausprägungen über Maskierungen (Ausrufezeichen-Maskierung) gleichzeitig anzusprechen.

Bei der Angabe von Umbuchungsanweisungen für Schlüsselinhalte sind folgende Regeln zu beachten:

18 Statistische Plandaten in Form von ASS-Vorgabewerten

Vorgabewerte sind im allgemeinen Höchstgrenzen oder Sollvorgaben 'realer' Werte und dienen oft zur Gegenüberstellung in den Statistiken. Sie werden unabhängig von irgendeinem 'realen' Wert angelegt und in den Listen behandelt.

Beispiel

       'realer' Wert:         Vorgabewert:
        EINKOMMEN             ERWARTETES_EINKOMMEN
        KOSTEN                MAXIMALE_KOSTEN
        BELASTUNG             HOECHST_BELASTUNG
          ---                 ANZAHL_PLANUNGSDATEN
          ---                 GEPLANTE_ARBEITSTAGE

18.1 Erforderliche Schritte für die Pflege von Vorgabewerten

Vorgabewerte sind intern Werte der Anlieferungsart '2' oder '3', und ihre Werteinhalte können im Gegensatz zu Werten der Anlieferungsarten '0' und '1' jederzeit im Dialog eingespeichert und geändert werden.

Das Erfassen von Vorgabewerten erfolgt im Dialog mittels der Masken VS150 - VS153, die weiter unten genau beschrieben werden. Zunächst wird erläutert, welche Eingaben im Dialog nötig sind, um Vorgabewerte zu erfassen, und welche Einschränkungen beachtet werden müssen.

Notwendige Eingaben

18.2 Restriktionen für die Online-Pflege von Vorgabewerten

18.3 Mit der Behandlung von Vorgabewerten verbundene Masken

Durch Ankreuzen des Feldes 'Erfassen Vorgabewerte' in der Maske VS100 gelangt man in die Maske VS150, von der aus die Masken VS151 - VS153 einzeln aufgerufen werden können. Die zum Erfassen oder Ändern der Vorgabewerte benötigten Informationen (Arbeitsgebiet,Vorgabewerte,Zeiträume) werden in der Maske VS150 gesammelt. Sie können direkt oder per Auswahl in die Maske gestellt werden. So können z. B. die Arbeitsgebiete in Maske VS151 und die Werte in Maske VS152 ausgewählt werden.

Das Einspeichern oder Ändern der Vorgabewerte erfolgt dann in der Maske VS153. Hier können die erforderlichen Kombinationen der Schlüsselinhalte selbst eingegeben werden, oder sie werden durch Blättern automatisch bereitgestellt. Der Benutzer braucht dann nur noch die Werteinhalte einzutragen.

18.4 Speicherung von Bewegungs- und Bestandsvorgabewerten

Bei der Speicherungsart der Vorgabewerte wird unterschieden zwischen den Speicherungsarten '0' (Bestand) und '1' (Bewegung). Damit kann der Benutzer selbständig die Speicherungsart auswählen, die für den jeweiligen Vorgabewerte am besten geeignet ist.

Bei Bewegungswerten wird für einen Zeitraum, der zwischen der Ersteinspeicherung und der letzten Einspeicherung des Arbeitsgebietes liegt, nur dann ein Werteinhalt abgespeichert, wenn explizit ein von Null verschiedener Inhalt eingegeben wurde. Bei Bestandswerten wird ab dem ersten Zeitraum, für den ein von Null verschiedener Inhalt eingegeben wurde, dieser auch für die folgenden Zeiträume fortgeschrieben und erst bei einer expliziten neuen Eingabe verändert.

In der Werte-DB wird gleichzeitig mit der Speicherungsart noch die Anlieferungsart eines Wertes angegeben. Bei Vorgabewerten entspricht der Speicherungsart '0' (Bestand) die Anlieferungsart '2' (Bestand) und der Speicherungsart '1' (Bewegung) die Anlieferungsart '3' (Bewegung).

18.4.1 Änderung schon gespeicherter Vorgabewerte des Typs Bestand

Im Gegensatz zur Folgeeinspeicherung im BATCH mit den Anlieferungsarten '0' (Bestand) und '1' (Bewegung), wo bei fehlerhafter Einspeicherung nachträglich Bestandswerte durch nochmalige Einspeicherung mit der Anlieferungsart '1' (Bewegung) überschrieben werden können, ist dieses bei im Dialog eingespeicherten Vorgabewerten nicht nötig, da diese direkt im Dialog berichtigt werden können. Ein Ändern der Anlieferungsart '2' nach '3' ist also unnötig und darum auch nicht vorgesehen.

Beispiel
Zeiträume058306830783088309831083
Bewegungswert
Einspeicherungkeine100keinekeine200keine
Speicherinhalt0100002000
 
Zeiträume058306830783088309831083
Bestandswert
Einspeicherungkeinekeine500keine400keine
Speicherinhalt00500500400400

18.4.2 Folgen der Korrektur eines Bestandswertes für zeitlich nachfolgende Wertbeträge

Werden Werteinhalte von Bestandswerten für einen Zeitraum geändert, so hat dieses in den meisten Fällen Auswirkungen auf die nachfolgenden Zeiträume. Die hierbei auftretenden Veränderungen werden im folgenden Beispiel erläutert. Es wird hierbei angenommen, dass irgendeine Eingabe für den Monat 10 vorab gemacht worden ist, damit bis zum Monat 10 überhaupt ausgewertet werden kann.

Beispiel
   Zeitraum
01020304050607080910
1. EINGABE 
------ 1------------
   ERGEBNIS
 0 0 0 1 1 1 1 1 1 1
2. EINGABE 
------------ 2------
   ERGEBNIS
 0 0 0 1 1 1 2 2 2 2
3. EINGABE 
-------- 3----------
   ERGEBNIS
 0 0 0 1 3 3 2 2 2 2
4. EINGABE 
-------------- 0----
   ERGEBNIS
 0 0 0 1 3 3 2 0 0 0
5. EINGABE 
-- 4----------------
   ERGEBNIS
 0 4 4 1 3 3 2 0 0 0

18.5 Einstellung der zu bearbeitenden Vorgabewerte (VS150)

In der Maske VS150 müssen alle Informationen bereitgestellt werden, die für die spätere Erfassung der Vorgabewerte notwendig sind.

18.5.1 Auswahl eines Arbeitsgebietes

Als Erstes ist ein geprüftes Arbeitsgebiet auszuwählen. Dieses geschieht durch Angabe einer Nummer im Feld ARBEITSGEBIETSNUMMER oder einer Bezeichnung im Feld ARBEITSGEBIETSBEZEICHNUNG. Bei konkurrierenden Einträgen wird die Arbeitsgebietsnummer bearbeitet. Das Arbeitsgebiet können Sie auch auswählen, indem Sie im Kommandofeld "AG" angeben und die ENTER-Taste drücken. Sie gelangen damit in die Maske VS151, in der Sie aus einer Liste der geprüften Arbeitsgebiete auswählen können.

18.5.2 Auswahl der Vorgabewerte

Nach der Auswahl des Arbeitsgebiets sind die Vorgabewerte und die zugehörigen Zeiträume einzutragen. Die Vorgabewerte müssen in der Werte-DB gespeichert und alle in derselben Verdichtungsstufe enthalten sein. Die Vorgabewerte gibt man durch Angabe einer Wertenummer im Feld WERTENUMMER oder einer Bezeichnung im Feld WERTEBEZEICHNUNG ein. Bei konkurrierenden Einträgen wird die Wertenummer bearbeitet. Die Werte können Sie auch auswählen, indem Sie im Kommandofeld "WE" angeben und die ENTER-Taste drücken. Sie gelangen damit in die Maske VS152, in der Sie aus einer Liste von Vorgabewerten, die bezüglich der Verdichtungsstufen zusammengefasst sind, auswählen können.

18.5.3 Angabe von Zeiträumen

Den zum Vorgabewert gehörenden Zeitraum muss man im Feld ZEITRAUM in der Form 'MMJJ' angeben; z. B. '0184'. Die Zeitraumangabe muss sich auf einen Zeitraum beziehen, der nach der Ersteinspeicherung des ausgewählten Arbeitsgebiets liegt. Zu einem Vorgabewert können in einem Dialogschritt auch mehrere Zeitraume eingegeben werden. Es muss nur zu jedem Zeitraum die Wertenummer oder Wertebezeichnung angegeben werden.

18.5.4 Ausfüllen von Zeiträumen über PF4

Wenn Sie für einen bestimmten Zeitraum zu einem Vorgabewert monatliche Dateneingaben vornehmen wollen, so empfehlen wir folgendes Vorgehen:
In der Eingabezeile für den ersten Wert tragen Sie die Wertenummer und/oder Wertebezeichnung des gewünschten Wertes ein. Als Zeitraum geben Sie in der Form MMJJ den ersten Monat des vorgesehenen Zeitraums an. Diese Eintragungen wiederholen Sie für die zweite Wertanforderung. Allerdings muss jetzt als Zeitraum der letzte Monat des beabsichtigten Zeitraumes gewählt werden. Drücken Sie nun PF4, so ergänzt ASS automatisch die aus der Differenz von Ende- und Anfangsmonat resultierende Anzahl von Wertanforderungen mit den noch fehlenden Monatsangaben. Sollen z. B. für einen Vorgabewert mit der Nummer 1902 für den Zeitraum 0186-1286 Daten erfasst werden, so geben Sie zuerst bei Wertenummer 1902 und bei Zeitraum 0186 an. Als zweite Eingabe wird wieder 1902 als Wertenummer angegeben, als Zeitraum aber 1286. Nach Drücken von PF4 erscheinen nun zwölf Werteinträge.
ACHTUNG: für den sinnvollen Einsatz von PF4 sind folgende Punkte wichtig:

Funktionstasten
Kommandofeld + ENTER

Um zur Maske VS153 und damit zu der Erfassung der Vorgabewerte zu gelangen, geben Sie "ER" im Kommandofeld ein und drücken die ENTER-Taste.

ENTER: Prüfen des Maskeninhaltes

18.6 Auswahl eines Arbeitsgebietes (VS151)

In der Maske VS151 wird eine Liste der geprüften Arbeitsgebiete dem Benutzer zur Verfügung gestellt. Durch ein Kreuz vor dem gewünschten Arbeitsgebiet wird dieses ausgewählt und erscheint bei der Rückkehr zur Maske VS150 in dieser. Es darf maximal ein Arbeitsgebiet ausgewählt werden. Wenn schon ein Arbeitsgebiet ausgewählt wurde, so ist dieses durch ein Kreuz gekennzeichnet. Sie können die Auswahl ändern, indem Sie das Kreuz durch einen Punkt oder ein Blank überschreiben und ein anderes Arbeitsgebiet ankreuzen. Ändern Sie die Wahl Ihres Arbeitsgebietes und kehren dann in die Maske VS150 zurück, so sind hier die Einträge bezüglich des alten Arbeitsgebietes gelöscht.

Funktionstasten

18.7 Auswahl der Vorgabewerte (VS152)

In der Maske VS152 wird dem Benutzer eine Liste der in der Werte-DB enthaltenen Vorgabewerte, gruppiert nach Verdichtungsstufen, zur Verfügung gestellt. Sie können in dieser Maske die von Ihnen gewünschten Vorgabewerte durch eine Nummer vor dem entsprechenden Wert auswählen. Die Nummer muss größer oder gleich 1 und kleiner gleich 16 sein. Ein so ausgewählter Vorgabewert erscheint dann bei der Rückkehr zur Maske VS150 an der der Nummer entsprechenden Position.
Aus diesem Grund ist es nicht gestattet, zwei verschiedenen Vorgabewerten dieselbe Nummer zu geben. Außerdem dürfen die Vorgabewerte nur aus einer Verdichtungsstufe ausgewählt werden. Schon ausgewählte Vorgabewerte sind in der Maske VS152 mit einer zugehörigen Nummer gekennzeichnet. Alte Eintragungen können durch eine neue Nummer, Punkte oder Blanks überschrieben werden. Solche Änderungen haben dann sofort die entsprechende Änderung in der Maske VS150 zur Folge.

Direktes Positionieren auf einen bestimmten Wertebereich

Resultiert aus der Anzahl der angelegten Verdichtungsstufen und den damit verbundenen Vorgabewerten eine größere Auswahlmenge, so ist es sehr mühsam und zeitraubend, über PF8/PF7 auf einen bestimmten Vorgabewert zu positionieren. Stattdessen kann man in diesem Fall sehr schnell den angestrebten Wert einstellen, wenn man in die Befehlszeile (ganz unten) eine Verdichtungsstufennummer, gefolgt von einem Schrägstrich / und einer Wertenummer, eingibt und ENTER auslöst. Weiss man nicht genau, welche Wertenummer nun gebraucht wird, so kann die Eingabe auf die Verdichtungsstufennummer beschränkt werden. Es wird dann auf den ersten Wert in dieser Stufe eingestellt. Wird für eine Eingabenkonstellation kein passender Wert gefunden, so wird die Werteauswahl auf den Anfang positioniert. Die Eingabe 3/1903 bewirkt, dass in der dritten Verdichtungsstufe ein Wert mit der Nummer 1903 gesucht und eventuell eingestellt wird.

Funktionstasten

18.8 Erfassen bzw. Ändern der Vorgabewerte (VS153)

Mittels der Maske VS153 kann man im Dialog Werteinhalte der Vorgabewerte in die Datenbank einspeichern und schon eingespeicherte Inhalte lesen und/oder verändern. Die Maske VS153 ist zweigeteilt. In der oberen Maskenhälfte sind die in der Verdichtungsstufe ausgeprägten Schlüssel mit den zugehörigen Schlüsselinhalten aufgeführt. Es werden dabei sämtliche ausgeprägte Schlüssel der betreffenden Verdichtungsstufe aufgeführt.
Zum Beispiel erscheinen von der Verdichtungsstufe mit dem unabhängigen Schlüssel 'TARIF' und der Hierarchie 'LAND,KREIS, ORT' alle Schlüssel 'TARIF' und 'ORT', 'KREIS', 'LAND' in der Maske. Das Anzeigen und Erfassen aller Ausprägungen auch einer Hierarchie ist erforderlich, weil sich i. a. hierarchische Zuordnungen im Laufe der Zeit ändern können und in Extremfällen eine untergeordnete Ausprägung zu einem Zeitpunkt zu mehreren übergeordneten Ausprägungen gehört (ein Vertreter arbeitet für zwei Bezirke gleichzeitig).
In der unteren Maskenhälfte befinden sich die in der Maske VS150 ausgewählten Vorgabewerte mit den zugehörigen Zeiträumen und, soweit vorhanden, die Werteinhalte. Beim Einstieg in die Maske VS153 von der Maske VS150 werden die Felder der Schlüsselinhalte und der Werteinhalte, mit Punkten belegt, ausgegeben.
Man kann nun selbst eine Kombination von im ausgewählten Arbeitsgebiet zulässigen Schlüsselinhalten in die entsprechenden Feldern eingeben und dann die Felder der Werteinhalte ausfüllen oder es wird durch Blättern (PF7,PF8) eine Kombination zulässiger Schlüsselinhalte in die Maske gestellt und man braucht nur noch die Felder der Werteinhalte ausfüllen.

Trägt man selbst die Kombination der Schlüsselinhalte ein, so muss man alle Schlüsselfelder ausfüllen. Es werden nur Schlüsselausprägungen akzeptiert, die in der Schlüsseldatenbank definiert sind. Bei hierarchischen Schlüsseln muss die vollständige Hierarchiekette der Ausprägungen in der Schlüsseldatenbank existieren. Fehler in Hierarchieketten werden beim untersten hierarchischen Schlüssel angezeigt.

Bei den Werteinhalten kann man alle Felder ausfüllen (aber nicht notwendigerweise). Sie können auch keinen Werteeintrag vornehmen und einfach zu einer anderen Schlüsselkombination blättern. Die Einträge in den Feldern der Werteinhalte müssen mit den Angaben für diesen Vorgabewert in der Werte-DB verträglich sein, d. h. die maximalen Grenzen für Wertelänge und Anzahl der Kommastellen dürfen nicht überschritten werden. Die Dimension (DM, Stueck, Anzahl, ...) des Vorgabewertes darf nicht mit eingegeben werden.

Funktionstasten

18.8.1 Abspeichern der Werteinhalte in die Datenbank

Wurde in der Maske VS153 eine Kombination zulässiger Schlüsselinhalte und syntaktisch korrekter Werteinhalte eingegeben, so werden die Werteinhalte dieser Kombination der Schlüsselinhalte in der Datenbank gespeichert, wenn man entweder die ENTER-Taste, die PF7-Taste(Rückwärtsblättern), die PF8-Taste(Vorwärtsblättern) oder die PF6-Taste(Rückkehr zur Maske VS150) betätigt.

Wenn für die in die Maske gestellte Kombination von Schlüsselinhalten in der Datenbank schon Werteinhalte gespeichert sind, so erscheinen diese in der Maske, wenn man durch Blättern zu dieser Kombination gelangt ist oder, bei einer selbst eingegebenen Kombination, nach Drücken der ENTER-Taste.

18.8.2 Ändern oder Löschen eingespeicherter Werteinhalte

Zum Ändern eines eingespeicherten Werteinhaltes überschreiben Sie diesen einfach in der Maske durch die neue Eintragung. Will man einen eingespeicherten Werteinhalt löschen, d. h. dem Vorgabewerte den Werteinhalt Null zuweisen, so genügt es nicht, den Werteinhalt in der Maske durch Punkte oder Blanks zu überschreiben. Man muss in der Maske im Feld des Werteinhaltes explizit eine '0' eingeben. Das dient dazu, eine ungewollte Löschung der Werteinhalte zu vermeiden.

18.8.3 Aufteilung von Vorgaben auf mehrere Zeiträume

Hat man z. B. eine Summe von 1200 DM, die in gleichen Teilen als Monatswerte einem bestimmten Vorgabewert zugeordnet werden soll, so ist es möglich, eine entsprechende Aufteilung zu erreichen, indem man bei der Wertangabe für den Monat des Geschäftsjahresbeginns des betreffenden Wertes "1200/12" eingibt und ENTER betätigt. Der Monat des Geschäftsjahresbeginns ist standardmäßig der Monat Januar, kann jedoch installationsabhängig geändert werden (siehe Handbuch Installation). Nach Drücken von ENTER wird zu dem betreffenden Wert für jeden Monat des Geschäftsjahres ein Betrag von 100 gespeichert. Geben Sie statt "1200/12" einen Quotienten "1200/4" an, so bedeutet dieses, dass 1200 auf 4 Monate verteilt werden soll. Der 1., 4., 7. und 10. Einspeicherungsmonat (bezogen auf das Geschäftsjahr) weist in diesem Fall den Betrag 400 auf. Durch eine entsprechende Wahl des Divisors kann somit festgelegt werden, ob die angegebene Summe auf 2, 3, 4, 6 oder 12 Monate verteilt werden soll.
Der aus dem Quotienteneintrag resultierende Betrag wird eventuell abgerundet, wenn das definierte Datenformat nicht ausreicht, um den Wert in seiner ganzen Länge aufzunehmen. Monate, auf die nichts verteilt wird, erhalten den Werteinhalt 0 zugeordnet. Monate über den 12. Monat hinaus (sofern im Arbeitsgebiet überhaupt vorhanden) werden bei dieser Art der Aufteilung auf mehrere Zeiträume nicht berücksichtigt.
Eine Aufteilung, die sich nur auf das zweite Halbjahr beschränkt, erreicht man durch Eingabe eines Quotienten zum Monat, in dem das zweite Halbjahr des Geschäftsjahres beginnt. Beginnt z. B. das Geschäftsjahr im Januar, so beginnt das zweite Halbjahr folglich im Juli. Gibt man nun z. B. im Juli "1200/6" ein, so wird der Wert 200 auf alle letzten 6 Monate des Geschäftsjahres verteilt. Die Eingabe "1200/3" verteilt den Eintrag 400 auf die Monate Juli, September und November, "1200/2" verteilt den Eintrag 600 auf die Monate Juli und Oktober.

19 Logische Arbeitsgebiete

Ein logisches Arbeitsgebiet ist die Zusammenfassung mehrerer "normaler" Arbeitsgebiete unter einem anderen (logischen) Arbeitsgebiet. Sie können mit Hilfe der ST06 erfasst werden (Typ der Summen-DB A). Hierbei steht für die Arbeitsgebietsnummern der Bereich von 1 bis 999 zur Verfügung (es dürfen also auch Nummern verwendet werden, die größer sind als die größte zulässige Arbeitsgebietsnummer der "normalen" Arbeitsgebiete).

"Normale" Arbeitsgebiete werden i.F. auch als "physikalische" Arbeitsgebiete bezeichnet.

Es dürfen nur Arbeitsgebiete unter einem logischen Arbeitsgebiet zusammengefasst werden, die "strukturgleich" sind. Strukturgleich bedeutet im einzelnen:

Wird ein logisches Arbeitsgebiet angefordert, so wird die Anforderung auf alle beteiligten physikalischen Arbeitsgebiete verteilt. Beispiel: Das logische Arbeitsgebiet 502 bestehe aus den physikalischen Arbeitsgebieten 1, 101, und 151. Wird das Arbeitsgebiet 502 angefordert, so wird hieraus eine Anforderung der Arbeitsgebiete 1, 101 und 151 erzeugt.

Eine Werteanforderung aus einem logischen Arbeitsgebiet wird auf alle enthaltenen physikalischen Arbeitsgebiete verteilt. Fehlt der betreffende Wert in einem physikalischen Arbeitsgebiet, so wird die Werteanforderung für dieses Arbeitsgebiet ignoriert.

Logische Arbeitsgebiete ersparen also das Zusammenaddieren von Werten aus mehreren Arbeitsgebieten zu einem darzustellenden Wert mit Hilfe von Formeln.

Die Einführung von logischen Arbeitsgebieten ist insbesondere dann interessant, wenn es "historische" Arbeitsgebiete gibt. Beispiel: Das Arbeitsgebiet 1 enthält die Daten für die Jahre 1990 bis 1995 und wird stillgelegt, weil sich in diesem Zeitraum nichts mehr ändert. Arbeitsgebiet 1 wird als Arbeitsgebiet 11 fortgeführt, enthält die Daten für die Jahre 1996 bis 2005 und wird ebenso stillgelegt.
Arbeitsgebiet 11 wird als Arbeitsgebiet 21 fortgeführt und enthält die Daten ab dem Jahr 2006. Arbeitsgebiet 21 wird noch fortgeschrieben. Eine Auswertung über die Jahre 1991, 2001 und 2010 benötigt also drei Arbeitsgebiete. Jeder angeforderte Werte muss als Werteformel erfasst werden, wobei der betreffende Wert aufaddiert wird. Bei einem logischen Arbeitsgebiet mit den physikalischen Arbeitsgebieten 1, 11 und 21 wäre nur eine "einfache" Werteanforderung erforderlich.

Auf eine vollständige Übereinstimmung aller Schlüssel bzw. Werte aller physikalischen Arbeitsgebiet wird bewusst verzichtet, weil i.A. im Laufe der Zeit neue Schlüssel oder neue Werte hinzukommen können, die "historischen" Arbeitsgebiete jedoch nicht angepasst werden sollen.

Logische Arbeitsgebiete erleichtern die Anforderungserstellung in Fällen wie oben geschildert deutlich. Logische Arbeitsgebiete sollten auch zu besseren (kürzeren) Programmlaufzeiten führen, da weniger Werte betrachtet werden und weniger Formeln abgearbeitet werden müssen.

Die Auswertung fächert die Anforderung eines logischen Arbeitsgebiets auf die enthaltenen physikalischen Arbeitsgebiete auf. Es wird i.A. so getan, als wären die physikalischen Arbeitsgebiete explizit angefordert. Dies ist insbesondere im Zusammenhang von Prüfungen von Bedeutung.
Eine Ausnahme hiervon bilden die angeforderten Zeiträume:
Ein Wert muss nicht in jedem einzelnen physikalischen Arbeitsgebiet für den angeforderten Zeitraum eingespeichert sein. Es ist nur unzulässig, wenn es einen Zeitraum gibt, zu dem der Wert in KEINEM physikalischen Arbeitsgebiet eingespeichert ist. In diesem Fall muss die Option NMAXDAT verwendet werden.

Die Aussagen aus Kap. 13.1 beziehen sich auf die beteiligten physikalischen Arbeitsgebiete.

Anhang A ASS-Fehlermeldungen

Jede Fehlermeldung ist mit einer eindeutigen Nummer ASSnnnn versehen. Sollte zusätzlich zum Fehlertext weitere Informationen benötigt werden, so finden Sie eine Beschreibung der Fehlermeldungen im Fehlerhandbuch 2.

Anhang B Formale Definition der Anforderungssprache

In einer sequentiellen Datei können Anforderungen für mehrere Listen enthalten sein. Jede Anforderung beginnt mit einem installationsabhängigen Startsymbol (z. B. 'ASS;') und endet mit 'END;'

Kommentare können an beliebiger Stelle analog zur ASS-Notation in '/*' und '*/' eingeschlossen eingefügt werden.

Eine Listanforderung besteht aus Anweisungen, die zwischen dem Startsymbol und 'END;' eingefügt werden. Jede Anweisung muss mit ';' abgeschlossen werden.

In der nachfolgenden Sprachbeschreibung sind in '<' und '>' eingeschlossene Sprachelemente optional.

     ANWEISUNG := STATEMENTBEZEICHNER    : STATEMENTINHALT    !
                  SCHLUESSELBEZEICHNER   : REIHENSCHLUESSEL   !
                  GRUPPIERUNGSBEZEICHNER : GRUPPENSTEUERUNG   !
                  OPTIONSBEZEICHNER      : OPTIONEN           !
                  OPTIONS2BEZEICHNER     : OPTIONEN2          !
                  BEZUGSMONATSBEZEICHNER : BEZUGSMONAT        !
                  BEDINGUNGSBEZEICHNER   : SPALTENBEDINGUNGEN !
                  SEQUENZSBEZEICHNER     : ( SEQUENZANGABEN ) !
                  PRIVACY-BEZEICHNER     : PRIVACY-ID
                  VERTEILER-BEZEICHNER   : VERTEILER

     STATEMENTBEZEICHNER := 'ARBEITSGEBIET'       !
                            'AG'                  !
                            'UEBERSCHRIFT'        !
                            'UE'                  !
                            'SPALTENUEBERSCHRIFT' !
                            'SU'

     SCHLUESSELBEZEICHNER := 'KOPFSCHLUESSEL'     !
                             'KS'                 !
                             'ZEILENSCHLUESSEL'   !
                             'ZS'                 !
                             'SPALTENSCHLUESSEL'  !
                             'SS'

     GRUPPIERUNGSBEZEICHNER := 'GRUPPIERUNG' !
                               'GR'

     OPTIONSBEZEICHNER      := 'OPTION'      !
                               'OPT'

     OPTIONS2BEZEICHNER     := 'OPTION2'     !
                               'OPT2'

     VERTEILERBEZEICHNER    := 'VT'

     BEZUGSMONATSBEZEICHNER := 'BEZUGSMONAT' !
                               'BM'

     BEDINGUNGSBEZEICHNER   := 'BED'

     SEQUENZBEZEICHNER      := 'SQ'

     PRIVACY-BEZEICHNER     := 'PRIVACY'     !
                               'PR'

     VERTEILERBEZEICHNER    := 'VT'

     STATEMENTINHALT := Arbeitsgebietnummer  !
                        Arbeitsgebietnummer1,
                        Arbeitsgebietnummer2 !
                        Arbeitsgebietnummer1,
                        Arbeitsgebietnummer2,
                        Arbeitsgebietnummer3 !
                        Arbeitsgebietnummer1,
                        Arbeitsgebietnummer2,
                        Arbeitsgebietnummer3,
                        Arbeitsgebietnummer4 !
                        Arbeitsgebietnummer1,
                        Arbeitsgebietnummer2,
                        Arbeitsgebietnummer3,
                        Arbeitsgebietnummer4,
                        Arbeitsgebietnummer5 !
                        UEBERSCHRIFTEN

     UEBERSCHRIFTEN  := 'Ueberschrift1',
                              .
                              .
                              .
                        'Ueberschriftn'

     GRUPPENSTEUERUNG := SUMME (SCHLUESSELID1,
                                     .
                                     .
                                     .
                                SCHLUESSELIDN)    !
                         GRUPPENID (SCHLUESSELID) !
                         'SUMMENBLOCK'

     SCHLUESSELID muss als Kopf- oder Zeilenschlüssel
     vorkommen.

     OPTIONEN       := OPTION1 ,
                          .
                          .
                          .
                        OPTIONn

     BEZUGSMONAT    := Monatsangabe der Form MMJJ

     SEQUENZANGABEN := SEQUENZ <; SEQUENZ2; ... ;SEQUENZn>

     PRIVACY-ID     := 'Personalnummer' <, 'Profil'>

     VERTEILER      := 'Verteiler'

     SEQUENZ        := SPALTENNR <, SPALTENNR2, ... ,SPALTENNRn>

     SPALTENNR      := n ! n1 - n2  wobei n,n1,n2 eine Zahl ist

     OPTION := 'SCHLUESSELBEZEICHNUNG'        !
               'KEBEZ'                        !
               'SCHLUESSELABKUERZUNG'         !
               'KEABK'                        !
               'SCHLUESSELUEBERSCHRIFT'       !
               'KEUEB'                        !
               'KENR'                         !
               'KENR_BEZ'                     !
               'KENR_ABK'                     !
               'KENR_UEB'                     !
               'SCHLUESSELINHALT'             !
               'KEINH'                        !
               'SCHLUESSELINHALTSBEZEICHNUNG' !
               'KEBEZI'                       !
               'INHALTSKURZBEZEICHNUNG'       !
               'KEKBEI'                       !
               'WERTEBEZEICHNUNG'             !
               'WEBEZ'                        !
               'WERTEABKUERZUNG'              !
               'WEABK'                        !
               'WERTEUEBERSCHRIFT'            !
               'WEUEB'                        !
               'WENR'                         !
               'WENR_BEZ'                     !
               'WENR_ABK'                     !
               'WENR_UEB'                     !
               'JOIN'                         !
               'NODUPJOIN'                    !
               'NOJOIN'                       !
               'JOIN_NURNN'                   !
               'NDJOIN_NURNN'                 !
               'KOPIEN=nn'                    !
               'DINA4'                        !
               'DATEI'                        !
               'DATEIOP'                      !
               'SPTEXTPC'                     !
               'EINRUECK=n'                   !
               'STARTSEITE=nnn'               !
               'START_STARTSEITE'             !
               'SST'                          !
               'BLANKS=nn'                    !
               'KS_UNTEREINANDER'             !
               'KSU'                          !
               'UEBRECHTS'                    !
               'UEBLINKS'                     !
               'WSTR'                         !
               'NULLDRUCK'                    !
               'NNULLDRUCK'                   !
               'SSTR'                         !
               'OHNE_LEERZEILEN'              !
               'OLZ'                          !
               'NOWEDIM'                      !
               'OHNE_PUNKTE'                  !
               'OP'                           !
               'SPALTE(n) Vop nnn'            !
               'SUM_OPT'                      !
               'GESSUM'                       !
               'SPALTE(n)=AUFSTEIGEND'        !
               'SPALTE(n)=AUF'                !
               'SPALTE(n)=ABSTEIGEND'         !
               'SPALTE(n)=AB'                 !
               'SPALTE(n)=AUF_GESAMT'         !
               'SPALTE(n)=AB_GESAMT'          !
               'GR: SUMMENBLOCK'              !
               'NOZEITPRUEF'                  !
               'NMAXDAT'                      !
               'NMAXTOT'                      !
               'AUSPRPRUEF'                   !
               'PRKLASSE=nn'                  !
               'LIKLASSE=nn'                  !
               'LISTDB'                       !
               'EHB'                          !
               'ZEILEN=nn'                    !
               'MIT_REF_WERTE'                !
               'EURO'                         !
               'ORG_WAEHRUNG'                 !
               'OHNE_REF_WERTE'               !
               'ALPHA'                        !
               'COBOL'                        !
               'DBASEPC'                      !
               'EXCELPC'                      !
               'EXCELOK'                      !
               'FOCUS'                        !
               'FOCUS2'                       !
               'LOTUSD'                       !
               'OA'                           !
               'PARADOX'                      !
               'SIPLAN'                       !
               'SYMPHONY'                     !
               'HTML_@@@@@@@@@@@@@@@@'        !
               'NODBF'                        !
               'EBDR'                         !

Bedeutung der Optionen

Option Bedeutung
SCHLUESSELBEZEICHNUNG
KEBEZ
Schlüsselbezeichnung drucken
SCHLUESSELABKUERZUNG
KEABK
Schlüsselabkürzung drucken
SCHLUESSELUEBERSCHRIFT
KEUEB
Schlüsselüberschrift aus Steuerungsdatenbank nehmen
SCHLUESSELINHALT
KEINH
Schlüsselinhalt (KEINH) drucken
KENR Schlüsselnummer drucken
KENR_BEZ Schlüsselnummer + -bez. drucken
KENR_ABK Schlüsselnummer + -abk. drucken
KENR_UEB Schlüsselnummer + -üb. drucken
SCHLUESSELINHALTSBEZEICHNUNG
KEBEZI
Schlüsselinhaltsbezeichnung (KEBEZI) drucken
INHALTSKURZBEZEICHNUNG
KEKBEI
Schlüsselinhaltskurzbezeichnung (KEKBEI) drucken
WERTEBEZEICHNUNG
WEBEZ
Wertebezeichnung drucken
- " -
WERTEABKUERZUNG
WEABK
Werteabkürzung drucken
- " -
WERTEUEBERSCHRIFT
WEUEB
Werteüberschrift (WEUEB) drucken
WENR Wertenummer drucken
WENR_BEZ Wertenummer + -bez. drucken
WENR_ABK Wertenummer + -abk. drucken
WENR_UEB Wertenummer + -üb. drucken
ZEIT_LANG Zeittextierung: MM.JHJJ
ZEIT_BEZ Zeittextierung: Bezeichnung JJ
ZEIT_BEZ_LANG Zeittextierung: Bezeichnung JHJJ
ZEIT_ABK Zeittextierung: Abkürzung JJ
ZEIT_ABK_LANG Zeittextierung: Abkürzung JHJJ
ZEIT_JHJJMM Zeittextierung: JHJJMM
ZEIT_JHJJMM_P Zeittextierung: JHJJ.MM
JOIN, NODUPJOIN, NOJOIN, JOIN_NURNN, NDJOIN_NURNN Steuerung der Auswertung über mehrere Arbeitsgebiete
KOPIEN Anzahl zu erstellender Ausdrucke
DINA4 Liste erhält DINA4-Format
DATEI Seq. Ausgabedatei erstellen
DATEIOP Wie DATEI, jedoch ohne Papier, d.h. die Anforderung wird nur protokolliert
SPTEXTPC Seq. Ausgabedatei an Listbild angleichen (siehe HBETRIE1)
EINRUECK=n Darstellung der Zeilenschlüsselinhalte untereinander pro Datenzeile mit rel. Einrücktiefe n
STARTSEITE Erste Seitennummer vorgeben
SST
START_STARTSEITE
Bei Kopfschlüsselwechsel Seitennumerierung bei STARTSEITE neu
BLANKS=nn Links am Listrand zusätzlich nn Leerstellen einfügen
KS_UNTEREINANDER
KSU
Kopfschlüssel untereinander
drucken
beginnen
UEBRECHTS
UEBLINKS
Spaltenüberschrift rechtsbündig
Spaltenüberschrift linksbündig
WSTR Es werden waagerechte Trennstriche vor und nach Zwischen- / Endsummen eingefügt
NULLDRUCK
NNULLDRUCK
Nullzeilen drucken
Nullzeilen nicht drucken
SSTR Es werden zwischen alle Spalten senkrechte Trennstriche eingefügt
OLZ
OHNE_LEERZEILEN
Keine Leerzeilen generieren
NOWEDIM keine Wertedimensionen bei Kopf- und Zeilenschlüsseln anzeigen.
OP
OHNE_PUNKTE
Keine Tausenderpunkte drucken
SPALTE(n) Vop nnn Vop : Vergleichsoperator =, ^=, >, >=, <, <=
nnn : ganze Zahl
Zeile wird nur gedruckt, wenn angegebene Bedingung erfüllt ist
SUM_OPT unterdrückte Zeilen werden in *-Zeilen nicht berücksichtigt.
GESSUM zu jeder *-Zeile wird, falls derartige Zeilen in der Anforderung nicht vorhanden sind, eine +-Zeile erzeugt.
SPALTE(n)=AUFSTEIGEND
SPALTE(n)=AUF
SPALTE(n)=ABSTEIGEND
SPALTE(n)=AB
innerhalb eines Kopf- oder Zeilenschlüssels nach der n-ten Spalte auf- bzw. absteigend sortieren. Ist hierfür kein Schlüssel markiert (s. Kap. 4.2.1.2), wird der niedrigste Kopf-/Zeilenschlüssel genommen.
SPALTE(n)=AUF_GESAMT
SPALTE(n)=AB_GESAMT
Die gesamte Liste nach der n-ten Spalte auf- bzw. absteigend sortieren
GR: SUMMENBLOCK ; Anforderung des Summenblockes
NOZEITPRUEF Im Normalfall können bei Werten vom Typ BESTAND keine echten Zeitintervalle (z.B. 0182-0482) angefordert werden. Durch diese Option werden solche Auswertungen ermöglicht.
NMAXDAT s.o.
NMAXTOT s.o.
AUSPRPRUEF Zeitliche Gültigkeit von Schlüsselausprägungen gegen angeforderte Zeiten prüfen.
PRKLASSE=nn Anforderungprotokoll in Klasse nn ausgeben
LIKLASSE=nn Angeforderte Liste in Klasse nn ausgeben
LISTDB Liste und Listprotokoll in sequentielle Datei schreiben
EHB Liste + Formatierungsangaben aus ASS-Excel und ASS-Internet auf sequentielle Datei schreiben
ZEILEN=nn Begrenzung der Anzahl Zeilen pro Blatt
MIT_REF_WERTE Eurobehandlung: Referenzwerte werden aufgelöst, Darstellung der Zahlen in ursprünglicher Dimension
EURO Eurobehandlung: Referenzwerte werden aufgelöst, Darstellung der Zahlen in EURO
ORG_WAEHRUNG Eurobehandlung: Referenzwerte werden aufgelöst, Darstellung der Zahlen in Originalwährung (z.B. DM, Schilling,...)
OHNE_REF_WERTE Eurobehandlung: Referenzwerte werden nicht aufgelöst, Darstellung der Zahlen in ursprünglicher Dimension
ALPHA
COBOL
DBASEPC
EXCELPC
EXCELOK
FOCUS
FOCUS2
LOTUSD
OA
PARADOX
SIPLAN
SYMPHONY
PC-Formate für PCL1016 und PCL1038

ST31:  OP Druckoptionen
       PC
Axcel: Zusätze
       ST31/Batch-Optionen
       Dateiformat
HTML_@@@@@@@@@@@@@@@@
Axcel: HTML-Formate für ASS-Internet
       jedes @ ist ein Schalter
NODBF
Axcel: keine DBF-Datei, also kein Tabelleblatt möglich
       und damit geringeres Datenvolumen vom Server
EBDR
Axcel: Mehrfachanforderung auf einem Blatt drucken

     OPTIONEN2 := OPTION21 ,
                     .
                     .
                     .
                  OPTION2n

     OPTION2I  := KEINH     (SCHLUESSELID)  !
                  KEBEZI    (SCHLUESSELID)  !
                  KEKBEI    (SCHLUESSELID)  !
                  AUSRTA    (SCHLUESSELID)  !
                  AUSRTD    (SCHLUESSELID)  !
                  NOTA      (SCHLUESSELID)  !
                  CUEBER    (SCHLUESSELID)  !
                  KEBEZ     (SCHLUESSELID)  !
                  KEABK     (SCHLUESSELID)  !
                  KENR      (SCHLUESSELID)  !
                  KENR_BEZ  (SCHLUESSELID)  !
                  KENR_ABK  (SCHLUESSELID)  !
                  KENR_UEB  (SCHLUESSELID)

Bei SCHLUESSELID muss die Schlüsselbezeichnung oder die Schlüsselnummer eines echten Schlüssels angegeben werden.

OPTION2 dient dazu, schlüsselindividuelle Aufbereitungsoptionen für das Listbild anzufordern. Die Bedeutung ist die gleiche wie bei OPTION, allerdings wirkt OPTION2 nur auf den angegebenen Schlüssel.

     SPALTENBEDINGUNGEN :=

              SPALTE(N) VOP SPALTE(M)                           !
              SP(N) VOP SP(M)                                   !
              SPALTENBEDINGUNGEN & <(> SPALTENBEDINGUNGEN <)>   !
              SPALTENBEDINGUNGEN ! <(> SPALTENBEDINGUNGEN <)>

     VOP :=  >  !  >=  !  <  !  <=  !  =  !  ^=

     REIHENSCHLUESSEL :=
                         SCHLUESSELANGABE,
                                .
                                .
                                .
                         SCHLUESSELANGABE

     SCHLUESSELANGABE :=
                         SCHLUESSELNAME            !
                         WERTE = (WERTEANGABEN)    !
                         ZEITRAUM = (ZEITRAUMANGABEN)

     SCHLUESSELNAME   :=
                         SCHLUESSELID     !
                         SCHLUESSELID = (AUSPRAEGUNG1,
                                              .
                                              .
                                              .
                                         AUSPRAEGUNGn)

     SCHLUESSELID     :=
                         SCHLUESSELNAME  ! SCHLUESSELNUMMER

     AUSPRAEGUNG      :=
                         SCHLUESSELAUSPRAEGUNG !
                         * ! ** ! *** ! **** ! ***** ! ****** !
                         ******* ! ******** ! ********* !
                         + ! ++ ! +++ ! ++++ ! +++++ ! ++++++ !
                         +++++++ !
                         SCHLUESSELFORMEL !
                         GRUPPIERUNG      !
                         LEERZEILE ! LEERZEILE(n) !
                         ##SEITE ! ##TEXT('text') ! ##TRENNZ(a) !
                         AUSPRAEGUNGSMENGE1 !
                         AUSPRAEGUNGSMENGE2 !
                         NEGATIVSELEKTION    (s.u.)

     GRUPPIERUNG      := ST06-GRUPPIERUNG ! ST31-GRUPPIERUNG

     ST06-GRUPPIERUNG := << ZIFFERN

     ST31-GRUPPIERUNG := << SCHLUESSELNUMMER ZIFFERN

     WERTEANGABEN     := WERTEANGABE !
                         WERTEANGABE, WERTEANGABEN !
                         WERTEGRUPPIERUNG !
                         WERTEGRUPPIERUNG, WERTEANGABEN !
                         LEERZEILE ! LEERZEILE(n) !
                         ##SEITE ! ##TEXT('text') ! ##TRENNZ(a)

     WERTEGRUPPIERUNG := <<'BEZEICHNER'

     ZEITRAUMANGABEN  := ZEITRAUMANGABE  !
                         ZEITRAUMANGABE, ZEITRAUMANGABEN !
                         LEERZEILE ! LEERZEILE(n) !
                         ##SEITE ! ##TEXT('text') ! ##TRENNZ(a)

     ZEITRAUMANGABE   := ZEITRAUMEINTRAG ! ZEITRAUMFORMEL

     ZEITRAUMEINTRAG  := ZEITPUNKTANGABE                !
                         ZEITPUNKTANGABE-ZEITPUNKTANGABE

     ZEITPUNKTANGABE  := MMJJ   Monatsangabe
                       ! Q1JJ   1. Quartal von JJ
                       ! Q2JJ   2. Quartal von JJ
                       ! Q3JJ   3. Quartal von JJ
                       ! Q4JJ   4. Quartal von JJ
                       ! H1JJ   1. Halbjahr von JJ
                       ! H2JJ   2. Halbjahr von JJ
                       ! JHJJ   das ganze Jahr  JJ
                       ! BPNN   Bezugsmonat plus  nn Monate
                       ! BMNN   Bezugsmonat minus nn Monate
                       ! HRJJ   das restliche Jahr (Monat 13,...)
                       ! QRJJ   das restliche Jahr (Monat 13,...)
                       ! JGJJ   das ganze Jahr JJ
                       ! MMPN   Monat MM plus n Monate
                       ! MMMN   Monat MM minus n Monate

     WERTEANGABE      := WERTEEINTRAG ! WERTEFORMEL

     WERTEEINTRAG     := WERTENAME   <(ZEITANGABE
                                      <,BEDINGUNG1>
                                      ...
                                      <,BEDINGUNG10>
                                      <,ARBEITSGEBIETSANGABE>
                                       )>
                                      <,AUFBEREITUNG>         !

                         WERTENUMMER <(ZEITANGABE
                                      <,BEDINGUNG1>
                                      ...
                                      <,BEDINGUNG10>
                                      <,ARBEITSGEBIETSANGABE>
                                       )>
                                      <,AUFBEREITUNG>

     ZEITANGABE       := ZEITPUNKTANGABE
                       ! ZEITPUNKTANGABE-ZEITPUNKTANGABE
                       ! ZEITPUNKTANGABE%ZEITPUNKTANGABE
                       ! ZEITPUNKTANGABE<ZEITPUNKTANGABE
                       ! ZEITPUNKTANGABE>ZEITPUNKTANGABE

     BEDINGUNG        := SCHLUESSELANGABE
                       ! INHALTSANGABE

     SCHLUESSELANGABE := SCHLUESSELBEZEICHNUNG OP SCHLINH
                       ! SCHLUESSELABKUERZUNG  OP SCHLINH

     INHALTSANGABE    := OP VERGLEICHSINHALT

     OP               := '= ' ! '^=' ! '< ' ! '<=' !
                         '> ' ! '>='

     SCHLINH          := SCHLUESSELINHALT (in Hochkommata) !
                         '$$AKTUELL'  (s.o.)  !
                         AUSPRAEGUNGSMASKE MIT ? BEI '= ' ODER '^='

     VERGLEICHSINHALT := <-> ZIFFERN <.ZIFFERN>

     ZIFFERN          := 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0

     ARBEITSGEBIETSANGABE := 'AGNR=nn'  wobei nn Nummer des
                                        Arbeitsgebiets

     AUFBEREITUNG     := (STELLENZAHL,NACHKOMMASTELLEN,
                          DIMENSION,SVZ,^S)

     AUSPRAEGUNGSINTERVALL = SCHLUESSELAUSPRAEGUNG -
                             SCHLUESSELAUSPRAEGUNG

     AUSPRAEGUNGSMENGE1 = 'BEZEICHNER' (SCHLUESSELAUSPRAEGUNG !
                             AUSPRAEGUNGMASKE mit ?)

     AUSPRAEGUNGSMENGE2 = AUSPRAEGUNGMASKE mit ? oder mit !

     NEGATIVSELEKTION = ^SCHLUESSELAUSPRAEGUNG !
                        ^AUSPRAEGUNGSINTERVALL

     WERTEFORMEL      := 'BEZEICHNER'  =
                          'IF' ERWEITERTER ARITHMETISCHER WERTEAUSDRUCK
                             'THEN' ARITHMETISCHER WERTEAUSDRUCK
                             'ELSE' ARITHMETISCHER WERTEAUSDRUCK
                          'ENDIF' <,AUFBEREITUNG>
                        ! ARITHMETISCHER WERTEAUSDRUCK <,AUFBEREITUNG>
                        ! '<<'''BEZEICHNER' <,AUFBEREITUNG>

     ZEITRAUMFORMEL   := 'BEZEICHNER'  =
                          'IF'
                            ERWEITERTER ARITHMETISCHER ZEITRAUMAUSDRUCK
                             'THEN' ARITHMETISCHER ZEITRAUMAUSDRUCK
                             'ELSE' ARITHMETISCHER ZEITRAUMAUSDRUCK
                          'ENDIF' <,AUFBEREITUNG2>
                        ! ARITHMETISCHER ZEITRAUMAUSDRUCK
                          <,AUFBEREITUNG2>
                        ! '<<'''BEZEICHNER' <,AUFBEREITUNG2>

     SCHLUESSELFORMEL := 'BEZEICHNER'  =
                          'IF'
                          ERWEITERTER ARITHMETISCHER SCHLUESSELAUSDRUCK
                             'THEN' ARITHMETISCHER SCHLUESSELAUSDRUCK
                             'ELSE' ARITHMETISCHER SCHLUESSELAUSDRUCK
                          'ENDIF' <,AUFBEREITUNG2>
                        ! ARITHMETISCHER SCHLUESSELAUSDRUCK
                          <,AUFBEREITUNG2>
                        ! '<<'''BEZEICHNER' <,AUFBEREITUNG2>

     ERWEITERTER ARITHMETISCHER WERTEAUSDRUCK :=
                       ARITHMETISCHER WERTEAUSDRUCK
                       mit den zusätzlichen Operatoren '&' und '!'
                       sowie den Vergleichsoperatoren OP
                       oder
                       SCHLUESSEL (SCHLUESSELBEZEICHNUNG) VOP SCHLINH
                       gefolgt von ERWEITERTER ARITHMETISCHER WERTEAUSDRUCK

     ERWEITERTER ARITHMETISCHER SCHLUESSELAUSDRUCK :=
                       ARITHMETISCHER SCHLUESSELAUSDRUCK
                       mit den zusätzlichen Operatoren '&' und '!'
                       sowie den Vergleichsoperatoren OP

     ERWEITERTER ARITHMETISCHER ZEITRAUMAUSDRUCK :=
                       ARITHMETISCHER ZEITRAUMAUSDRUCK
                       mit den zusätzlichen Operatoren '&' und '!'
                       sowie den Vergleichsoperatoren OP

     ARITHMETISCHER WERTEAUSDRUCK :=
                       üblicher arithmetischer Ausdruck
                       mit den Operationen '+', '-', '*', '/','**'
                       und den Klammerausdrücken '(', ')'.
                       Zulässige Operanden:
                        - Ganzzahlige Direktoperanden
                        - WERTEEINTRAG
                          ohne Aufbereitungsangabe,
                          mittels Wertenamen oder Werteabkürzung
                        - Ein Ausdruck der Form
                          OPERAND(SCHLUESSELID,WERTEEINTRAG,<*...*>)
                          wobei
                          OPERAND := GESAMT ! TOTAL ! KUMUL ! RANG
                          Die Sternangabe darf und muss nur bei
                          GESAMT angegeben werden.
                          SCHLUESSELID muss bereits als Kopf-/Zeilen-
                          oder Spaltenschlüssel vorkommen.

     ARITHMETISCHER ZEITRAUMAUSDRUCK :=
                       üblicher arithmetischer Ausdruck
                       mit den Operationen '+', '-', '*', '/','**'
                       und den Klammerausdrücken '(', ')'.
                       Zulässige Operanden:
                        - Ganzzahlige Direktoperanden
                        - Zeitraumeintrag
                          ohne Aufbereitungsangabe
                          in Hochkommata eingeschlossen

     ARITHMETISCHER SCHLUESSELAUSDRUCK :=
                       üblicher arithmetischer Ausdruck
                       mit den Operationen '+', '-', '*', '/','**'
                       und den Klammerausdrücken '(', ')'.
                       Zulässige Operanden:
                        - Ganzzahlige Direktoperanden
                        - Schlüsselausprägung (KEINH)
                          in Hochkommata eingeschlossen
                        - Ausprägungsmaske
                          in Hochkommata eingeschlossen (s.u.)

     AUFBEREITUNG2 := (STELLENZAHL,NACHKOMMASTELLEN)

Besonderheiten:

WERTE muss genau einmal vorkommen

ZEITRAUM darf höchstens einmal vorkommen Von den Abfragekarten werden Spalte 1 - 72 verarbeitet

Enthält eine Formelbezeichnung Sonderzeichen, so muss die Formelbezeichnung in Hochkommata eingeschlossen werden. Hochkommata in Formelbezeichnungen sind nicht zulässig.

Ähnliches gilt für Schlüsselausprägungen. Ist eine Schlüsselausprägung eine Zahl oder kein ASS-Bezeichner, so muss diese Schlüsselausprägung in Hochkommata eingeschlossen werden (--> Kap. 3.1.4).

Stichwortverzeichnis

A B D E F G J K L M N P R S T U V W Z