`Vorangehender Teil`   /   `Fortsetzung` 

10.4	Exportparameter-Beispiele: Prototypen

Zu den in 10.0 beschriebenen 10 Typen von Exporten werden ausführlich kommentierte Beispieldateien mitgeliefert. Sie finden diese nach der Installation 
a)	vom CockPit aus : im Menü "Dateien / Export-Parameter" unter dem Kennbuchstaben des Typs
	(Tastenfolge: z.B. μd e <umschalten> s für den Typ S. Die Prototyp-Datei S-0 steht ganz oben.)
b)	mit DOS-Befehl auf dem Verzeichnis ALLEGRO: 
	z.B.  dir s-*  für die S-*.APR-Dateien.
Ein vollständiger Abdruck aller Prototyp-Dateien hier im Handbuch ist aus Platzgründen nicht zu vertreten. Um aber für das theoretische Studium denen, die die Software selbst nicht besitzen, Material an die Hand zu geben, finden Sie im folgenden 5 der Prototypen, und zwar zu den Typen Display, Sort, Print,  Extern und Result, jeweils mit Hinweisen zu ihrem Einsatz. Außerdem INDX.API als knappes, aber komplettes Beispiel einer Index-Parameterdatei.

10.4.1  Typ Display 
Es ist möglich, für die drei Plattformen DOS, Windows und HTML eine einzige, einheitliche Anzeigeparameterdatei zu erstellen. Dazu werden zur Wahl die Vorlagen D-S.APT und D-K.APT mitgeliefert. Das zweite wählt man nur, wenn man verknüpfte Sätze hat. Diese Datei ist die einzige, die man modifizieren muß. Sie enthält ausreichende Kommentare. Für die drei Plattformen wählt man als eigentliche Parameter dann die Datei D-SDOS.APR, D-SRTF.APR, D-SHTM bzw. D-KDOS.APR, D-KRTF.APR und D-KHTM.APR, in die man aber nicht einzugreifen braucht. Wenn man nicht mit A.CFG arbeitet sondern mit x.CFG, kopiert man die gewählten Dateien nur um auf z.B. D-SRTF.xPR usw. 
Anwendung findet dieses Konzept auch für die Anzeigeparameter des ab 2006 neuen Neutralformats N.CFG.

D-0.APR : Einfachstes Beispiel
Diese Datei zeigt die charakteristischen Eigenschaften, die eine für die Bildschirmanzeige geeignete Parameterdatei haben muß. Sie läßt sich leicht ausbauen. Erheblich umfangreicher ist D-1.APR, da sie alle Satztypen berücksichtigt und außerdem die Möglichkeiten der Satzverknüpfungen nutzt. Weil viele Finessen und Spezialfälle eingebaut   sind, ist sie schwer überschaubar. Die vergleichsweise primitive D-0.APR eignet sich viel besser als Grundlage für den Einstieg.
Für die Kommentare in den Beispielen wurde eine andere, kleinere Schriftart gewählt, damit sich Parameter und Kommentare besser voneinander abheben.

  Parameterdatei für Bildschirmanzeige UND Ausgabe in Form von Katalogkarten
  Prototyp für den Exporttyp DISPLAY

pn="DISPLAY Prototyp" 
  --------- Konstanten -------------------------------------------- 
zl=65       	Zeilenlänge
fl=14       	Anzahl Zeilen je Karte
fm=2        	Modus: Einzelkarten für alle Bände (1 = keine Einzelkarten)
fb=13 10 10 10	Formular-Bruch: 3 Zeilenvorschübe zwischen zwei Karten 
tPRINTER   	den vom CockPit gewählten Druckertreiber laden, er heißt PRINTER.APT (= Kopie eines P-*.APT) (enthält die Zwischenteile 79-99 für die Schriftarten)

  ======== Kopfbefehle ============================================= 
     	(jede der folgenden Kategorien erzeugt einen Ausgabesatz, falls sie existiert)
     Haupteintragung:
ak=zz+H   	(diese Zeile wird IMMER ausgeführt, bei Sprungmarke #-H beginnt der Aufbau der "Einheitskarte"
     Zusatzeinträge: (Nebeneintragungen)
ak=40."; "+V  	alle Verfasser kriegen eine
         	(#40, #402..., #40a..., auch #40 Name; Name; Name...  ist möglich)
ak=85.+G       	Serientitel (#85, #85a, #85b...)
  ================================================================== 

  ....... Zwischenteil-Definitionen: (nach Bedarf erweitern) ....... 
4=C    Zeilenvorschub	(die Zwischenteile 79-99 stecken in PRINTER.APT !
  .................................................................. 
 
  ******* Kategorieliste ******************************************* 
  	= Hauptteil der Parameterdatei
#hi +Z e0   	Unteraufnahme -> Sprungmarke #-Z
        	die Untersätze werden nicht über ak-Befehle gesteuert, sondern die Verarbeitung beginnt am Anfang der Kategorieliste, nachdem die Hauptaufnahme verarbeitet ist. Mit diesem Befehl kann man zu einem Abschnitt springen, der die Aufbereitung der Untersätze regelt, hier #-Z (#hi existiert nur, wenn ein Untersatz verarbeitet wird)
#-V     Verfasser-Einträge
#t99    	Fettschrift ein
#u1 +- i3,	wenn #40, dann kein zusätzlicher Zettel, denn #40 bekommt bereits den Einheitszettel bei #-H
#u1    	der durch ak=40.";"+V jeweils ausgewählte Name
#t98    	Fett aus
#90 p"Signatur: " R 	Signatur rechtsbündig
#t4     	Zeilenvorschub
#+h     	weiter wie bei der Haupteintragung

#-G     Serienzettel
#t99 
#u1 e" ; " 	zuerst nur der Serientitel
#u1 b" ; " p"-- " C	dann die Zählung auf neuer Zeile, mit "--" davor
#t98 
#90 p"Signatur: " R	Signatur rechtsbündig
#t4 
#+h 

#-H     Hauptzettel-Produktion beginnt hier (Einheitskarte)
#90 "Signatur: " R	Signatur rechtsbündig
#t4 

#-h 
#40 P":" P4	"Name:"    dann neue Zeile (Postfix P4)
#20  	Titel
#39 " / "  	Verf.Angabe
#-A   	Einsprung hier von der Bandbearbeitung aus (s.u.)
#71 ". - " 	Ausgabe
#74 ". - " 	Ersch.Ort mit ". - " angeschlossen
  #74 C "   "	wenn Ort auf neuer Zeile eingerückt erscheinen soll
#75 ": " 	Verlag mit ": " dahinter
#76 ", " 	Jahr mit ", " angehängt
#77 ". - " 	Umfang mit ". - " abgetrennt
#85 C p"(" P")"	Serie auf neuer Zeile in Klammern
#83 C "[Kongr.:] " 
#87 C e11 p"ISBN " 
#+#     	Ende

#-Z   Unteraufnahme beginnt hier

#hi1 C C P". "	Bandnummer, 2x Zeilenvorschub
#t{ #250 } 	Einrückung an der Position hinter der Bandnummer festsetzen
#90 R	Signatur rechtsbündig
#19 	Bandbezeichnung
#20	Bandtitel
#41 " / " P" [Hrsg.]" 
#+A	weiter wie bei der HA

  +++++++ Codierungen ++++++++++++++++++++++++++++++++++++++++++++++ 
p ¬ 1 	Nichtsortierzeichen nicht mit anzeigen
p @ 1	Nicht-Stoppzeichen auch nicht 

10.4.2  Typ Sort : S-0.APR
Das Herstellen sortierter Listen ist ein mindestens dreistufiger Vorgang (genaueres siehe Kap. 6). Der erste Schritt ist immer die Produktion einer sortierfähigen Datei. Diese hat die Struktur einer allegro-Grunddatei (-Ø 0.3), aber jedem Satz geht eine besondere Kategorie voran: #u1 , das Sortierfeld. Es kann noch #u2 hinzutreten und eine Druckform des Sortierfeldes enthalten; #u1 eignet sich nicht für den Ausdruck, weil es computergerecht sortierfähig sein muß, und das bedeutet, daß es vollständig in Kleinbuchstaben, mit aufgelösten Umlauten und weggelassenen Akzenten geschrieben ist. Wenn #u2 dann den Sortierkopf in druckfähiger Form enthält, kann für den (nach dem Sortieren) dritten Schritt, die Druckformatierung, die Kategorie #u2 als Kopf benutzt werden. Der Vorteil ist: die Parameterdatei für die Druckgestaltung (Typ PRINT) kann unabhängig davon gestaltet werden, welche Köpfe konkret vorliegen, ob es also eine Schlagwort-, Titel- oder Verfasserliste oder noch etwas anderes ist.
Die mitgelieferten Dateien S-*.APR und P-*.APR sind alle auf diese Weise gestaltet und können daher beliebig miteinander kombiniert werden. Im Kap. 6 ist beschrieben, wie die konkrete Produktion von Listen vom CockPit noch zusätzlich unterstützt wird.
Hier folgt nun der Prototyp S-0.APR für die Erstellung einer sortierfähigen Datei mit Kategorien #u1 und #u2. Nach diesem "Strickmuster" arbeiten alle Dateien dieses Typs. 

  Sortierfähige .ALG-Datei erstellen  Beispiel: Person/Jahr
  Prototyp für den Exporttyp SORT

pn="Prototyp SORTiervorbereitung" 

  Ziel: eine .ALG-Datei mit Sortierkopf und Druckkopf. Struktur:
  #u1 sortierkopf: Verfasser (#40) oder Urheber (#60) oder Sachtitel (#20)¶Jahr
  #u2 Druckform derselben Angaben
  #... die gesamte Aufnahme in .ALG-Struktur

  anschliessend mit ASORT zu sortieren und mit einer der PRINT-Param. auszudrucken.

  --------- Konstanten -------------------------------------------- 

zl=0        	Zeilenlänge unbegrenzt (kein Umbruch)
ks=1   	Beginn des Ausgabetextes beim ersten Zeichen hinter #
ke=0   	Kategorie-Ende = Code 0 (wegen .ALG-Struktur)
       	(unten steht  "#zz 0" in jeder Zeile, die NICHT automatisch diese Null am Ende bekommen soll.)
as=""    	Aufnahme-Start: keine Angabe (wird mit #t gemacht)
ae=13 10  	Aufn.Ende: 13 10  (nötig für das Sortieren)

tS      	lädt die Zeichenumwandlungstabelle S.APT für das Sortieren
dx=1  	an sich nicht nötig, aber zum Testen nützlich (mit ATEST S-0 kann man am Bildschirm sehen, wie die Ergebnisse, d.h. die Sortiersätze, aussehen)

am=1      	maximal 1 Ausgabesatz
  -------------------------------------------------------------- 

  ========= Kopfbefehle ====================================== 
  ================== werden nicht gebraucht ================== 

  ********* Kategorieliste ************************************* 

#hi +b e0 #zz 0	wenn es eine Unteraufnahme ist: Sprung nach #-b
           	(wird dann an die bereits ausgegebene Hauptaufnahme angehängt.)

      Normale Sätze gehen hier los
#-a 
    	Umwandlung der !-Felder über Alternativtabelle:
    	der Sortierbegriff wird zusammengesetzt und als #u1 ausgegeben
     	(Name  Sachtitel   bzw.   Verfasser   Sammlungsvermerk)

#t{ 1 }  	1 = Startcode für "Hauptaufnahme"
!40 +s e"[;=]" b3 u F" " p"u1 " #zz 0 	Verfasserwerk
  	Kopfkategorie als Sortierfeld, Ende bei ";" oder "="
    	b3 heisst: Beginn beim 4. Zeichen = 1. Textzeichen
 	(wegen ks=1 würde sonst die Kategorienummer mit ausgegeben,
  	(bei 3stelligem Schema muß es b4 heißen)
!60 +s e"[;=]" b3 u F" " p"u1 " #zz 0    Urheberwerk
!20 e" : " b3 u u[] p"u1 " #zz 0         Sachtitelwerk

#-s 
!76 b"1" e3 p"¶" #zz 0
        	zweites Element: "¶Jahr"  (¶ sorgt für richtige Sortierung: kürzere Titel vor längeren)

#t{ 0 }   	als Abschluß von #u1 (ASCII-Code 0 ausgeben)
      	Ergebnis:   #u1 name¶rscheinungsjahr\0  

     Die Druckform des Sortierfeldes: Produktion als #u2
     (genauso wie #u1, nur ohne Umcodierung, dann für den Druck verwertbar!)

#40 +d e"[;=]" b3 u F" " p"u2 " #zz 0	Verfasserwerk
        	Kopfkategorie als Sortierfeld, Ende bei ";" oder "="
        	b3 heißt: Beginn beim 4. Zeichen = 1. Textzeichen
        	(wegen ks=1 würde sonst die Kategorienummer mit ausgegeben,
        	(bei 3stelligem Schema muß es b4 heißen)
#60 +d e"[;=]" b3 u F" " p"u2 " #zz 0 	Urheberwerk
#20 e" : " b3 u u[] p"u2 " #zz 0   		Sachtitelwerk

#-d 
#76 b"1" e3 p"¶ #zz 0
     	zweites Element: "¶Jahr"  (¶ ermöglicht, es für den Druck ausseinanderzunehmen)

#t{ 0 }     	als Abschluß von #u2
           	Ergebnis:  #u1 Name, Vorname¶Erscheinungsjahr\0
#-P 
##         	jetzt alle Kategorien hintereinander (Pauschalexport)
 tSELECT    	statt dessen, wenn nur eine bestimmte Kategorieauswahl in
  	die Sortierdatei gelangen soll (Auswahl über den CockPit-
            	Menüpunkt "Optionen / Vollständigkeit")
#nr b3 p"99z" 	und die interne Datenbank-Satznummer am Schluß als #99z
#+#    Ende der Hauptaufnahme

#-b   	Sprungmarke b: hier geht es bei untergeordneten Sätzen los
#t { h0 }  	Hierarchiecode (= 2 für Stufe #01 usw.)
#+P	Zum Pauschalexport, wie bei Hauptaufnahme 

10.4.3  Typ Print : P-0.APR

Das Drucken erfordert einen Zeilenumbruch und evtl. auch einen Seitenumbruch. Für diese Aufgaben gibt es Parameter, die sonst nicht gebraucht werden.

  Allgemeines Listenformat mit oder ohne Seitenumbruch 	(verkürzt, siehe Datei P-0.APR)
  P-0.APR       940602
  --------- Konstanten --------------------------------------------
zl=72 	Zeilenlänge
zi=5	Einrückung ab 2. Zeile des Satzes
fl=0	Formularlänge 0, d.h.: kein Formulardruck
ae=13 10	Zeilenvorschub am Aufnahmeende
zm=62 	max Zeilen je Seite, oder: (für Nachbearbeitung mit Textprogramm)
  zm=0	dann kein Seitenumbruch, sondern fortlaufende Ausgabe
z1=0    	Titel am Seitenende nicht unterbrechen (bei zm=0 unwirksam)

tPRINTER  	Druckertreiber laden  (PRINTER.APT)
	Entsteht bei Auswahl über CockPit μo d  als Kopie einer der Dateien P-*.APT, z.B. P-EPSON.APT.  PRINTER.APT kann auch die oben gesetzten Werte andern! 
  ......... ZWISCHENTEILE ..........................................
4=C  	Zeilenvorschub
13=C C    	2x Zeilenvorschub
20="--  " 
 	die Nummern 79-99 sind in PRINTER.APT definiert, z.B: 99 für Fett ein, 98 für Fett aus
  ********* Kategorieliste ************************************ 
  Das folgende ist zu ersetzen durch die eigene Gestaltung 

#t{ &0 }   	an den Zeilenanfang gehen (wichtig bei Untersätzen, damit sie wieder am Anfang der Zeile beginnen)
#hi1 +#20 p"  " P". "    wenn's ein Untersatz ist: Bandbezeichnung (#hi wird aus #01...#05 gebildet)
#t99    		fett ein
#u2 e": " =ti,20 	wenn vorher derselbe Name, "-- " statt dessen
#u2 +#20 e0		wenn es eine Sortierdatei ist: #u2 = Sortierbegriff
#40 P": "     		sonst wird #40 zuerst ausgegeben
#20 p98 
#74 p". - " 
#75 p": " 
#76 p", " 
#77 p". - " 
#85 C p"(" P")" 
#t88  	kursiv ein
#90 e"?" R  	Signatur rechtsbündig
#t87	kursiv aus
#t4    	Zeilenvorschub am Ende eines Satzes
#+#	Export des Satzes beendet

#- E	Endabschnitt: wird ganz am Ende der Liste ausgeführt
.....	Text des Endabschnitts
K 	Kopfabschnitt (Ausführung am Seitenanfang)
.....	(Hier kann ein eigener Abschnitt folgen, s. Datei P-0.APR)
F 	Fußabschnitt (Ausführung am Seitenende)
.....	(Hier kann ein eigener Abschnitt folgen, s. Datei P-0.APR) 

10.4.4  Typ Extern : E-0.APR

Um allegro-Daten mit anderen Programmen verarbeiten zu können, muß man sie in der Regel in eine Form bringen, die Feldbezeichnungen und Zeilenumbrüche enthält. Dieser Prototyp zeigt, welche Einstellungen dazu nötig sind:
(Weiteres wichtiges Beispiel: E-W.APR für extern editierbare, mit avanti und VPW wiedereinlesbare Dateien) 

  Ausgabe als ASCII-Datei mit Kategorie-Nummern und Zeilenumbruch 
  Prototyp für den Exporttyp EXTERN

pn="EXTERN Prototyp" 

  Gibt Daten als ASCII-Datein aus, jede Kategorie mit Nummer auf neuer Zeile, 
  längere Kategorien werden bei 66 Zeichen umgebrochen und auf der Fortsetzungszeile eingerückt.

  --------- Konstanten -------------------------------------------- 

zl=66    	Zeilenlänge
zi=4  	4 Zeichen Einrückung bei Folgezeilen
 zi=5       	bei 3stelligem Schema  (einzige Änderung!!!)
zm=0    	kein Seitenumbruch (fortlaufende Ausgabe)
ae=13 10    	Zeilenvorschub am Aufnahme-Ende
fl=0 	Listenstruktur (keine Karten)
ks=0	Startpos. 0  (= Zeichen '#') innerhalb jeder Kategorie
  ks=1  setzen, wenn '#' wegfallen soll)
  ks=4  wenn nur der Text, nicht die Kategorienummer auszugeben ist (ks=5 bei 3stell. Schema)
ke=C        	Kategorie-Ende: Zeilenvorschub
dx=1        	damit man beim Testen auch die Steuerzeichen auf dem 
            	Bildschirm sieht. (Ansonsten nicht nötig)
  ----------------------------------------------------------------- 

  ********* Kategorieliste **************************************** 
	Entweder:
## 	sämtliche Kategorien ausgeben in interner Reihenfolge

        	falls nicht alle gebraucht oder gewünscht werden:
        	Weglassungen möglich: Kategorienummern mit / hier anfügen, z.B.
  /89   dann wird #89 weggelassen
  /9..  dann wird die ganze Gruppe #9 weggelassen

	oder: falls nur ganz bestimmte gebraucht werden: hier eine Liste der auszugebenden Kategorien eintragen (dann  ##  beseitigen!) 
        z.B.
  #20	Hat man oben ks=4 (bzw. ks=5), dann muß man hier geeignete Präfixe
  #40	vor die Kategorien setzen lassen. Das könnte z.B. so aussehen:
  #74	#40 "AU: "   bzw.   #20 "TI: "  
  #75	Je nach Länge dieser Präfixe müßte man oben den Wert ki heraufsetzen.
  #87	damit Fortsetzungszeilen bei längeren Kategorien richtig eingerückt werden.
  #90 
        	dann werden nur diese Kategorien ausgegeben
  ******************************************************************* 

  Code-Umwandlungen: p-Befehle bei Bedarf hier anfügen oder mit Befehl t hinzuladen

10.4.5  Typ Result : R-0.APR

Dieses Beispiel zeigt zugleich das Verfahren, wie man rechnerische Auswertungen durchführt. Ergebnismengen oder auch eine gesamte Datenbank werden, um z.B. eine Summierung mit Durchschnittsberechnung vorzunehmen, durchgearbeitet wie bei einem Export, nur daß die Exportparameterdatei die einzelnen Datensätze nicht in eine Ausgabedatei schreibt, sondern lediglich Berechnungen anstellt. Erstens kommen also Rechenbefehle (-Ø 10.2.6.6) zum Einsatz. Zweitens braucht man Anwendervariablen (-Ø 10.2.6.3), um Zahlen von einem Datensatz zum nächsten aufbewahren und immer weiter verrechnen zu können. Am Ende dann wird auch noch etwas ausgegeben, aber kein Datensatz, sondern eben die in den Anwendervariablen erzeugten Rechenwerte. Wie das im einzelnen aussieht, zeigt der Prototyp R-0.APR, der die Seitenzahlen und Erscheinungsjahre aller Bücher summiert und am Ende die Durchschnittswerte ausrechnet. Unsinn? In den Beispieldaten, und an denen können Sie es ja zunächst nur ausprobieren, sind keine anderen Zahlenangaben zu finden. Die Übertragung auf andere Kategorien, die sich für sinnvolle Berechnungen eignen, fällt mit Hilfe dieses Prototyps nicht schwer.

  Summierung und Durchschnittsbildung von Kategorieinhalten 
  Prototyp für den Exporttyp RESULT

pn="Seitensumme, Prototyp RESULT" 

  Gibt nichts aus, sondern addiert nur. Erst der Fußabschnitt führt eine Ausgabe durch, siehe unten

  --------- Konstanten -------------------------------------------- 
ff=2     	um Kopf- und Fußabschnitte zu aktivieren
zm=0	damit der Fußabschnitt erst ganz am Ende ausgeführt wird
  ----------------------------------------------------------------- 

 	Es sollen die Seitenzahlen addiert werden, wobei Fälle mit weniger als 10 Seiten nicht mitgerechnet, sondern getrennt gezählt werden  (z.B. kann dabei sowas wie #77 Vol.1-5  vorkommen, was also keine Seitenzahl ist! Unteraufnahmen werden mit verarbeitet!)
	Ferner soll die kleinste und die grösste Seitenzahl ermittelt und der Durchschnitt berechnet werden.
	Die Erscheinungsjahre sollen ebenfalls addiert und ihr Durchschnitt ausgegeben werden.

  !!!!!!!!!!!!!!!!!!!!!   Anpassungen für andere Zwecke : !!!!!!!!!!!!!!!!!!! 
  !  Setzen Sie für #76 und #77 die Kategorien ein, die Sie addieren wollen.!
  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
  
   ak-Befehle: keine
  ************* Kategorieliste ************************************ 

#76 x">1449" x"+ej" =ej 
#76 x">1449" x"=1" x"+nj" =nj 
     	wenn >1449, dann Ersch.Jahr addieren,   #uej = #uej + #76
   	und #unj um 1 erhöhen  #unj = #unj + 1 (nur dann, wenn #76 existiert!) 

     	Der Befehl  Z  bewirkt, daß die Zeilen jeweils nur ausgeführt werden, aber keine Ausgabe bewirken. D.h. es werden nur die Anwendervariablen bedient, die Zwischenergebnisse aber nicht ausgedruckt.
     	(Z macht dasselbe wie e0)

#77 +M x"<10" Z		Sprung nach #-M, wenn Sonderfall #77 < 10 (Z muß sein, weil sonst der Inhalt von #77 ausgegeben wird, wenn der Vergleich zutrifft; Z unterdrückt das. Bei den folgenden Anweisungen ist Z nicht nötig, denn der Befehl '=' macht nur eine Zuweisung und beendet dann die Anweisung ohne Ausgabe des Textes)
#77 x"+su" =su  	Seitenzahl addieren:   #usu = #usu + #76 , 
#unr x"+1" =nr  	#unr um 1 erhöhen
#77 x">gw" =gw  	wenn größer als bisheriger größter Wert:    #ugw=#77
#77 x"<kw" =kw  	wenn kleiner als bisheriger kleinster Wert: #ukw=#77
#+# 

#-M		Zählung der Sonderfälle
#uk1 x"+1" =k1  	#uk1 um 1 erhöhen
#+# 

  *********** Kopf- und Fußabschnitte ********************************* 

  Kopfteil:  Initialisierung der Variablen
		#dt wird als nur Hilfskategorie benutzt, weil sie immer existiert
K 
#dt x"=0" =su  	#usu für Summe der Seitenzahlen
    	das bedeutet: nimm den Inhalt vom #dt als Variable, weise ihr den Wert 0 zu und speichere diesen in #usu   (etwas indirekt, aber nur so geht es)
            	Variablen:
#dt x"=0" =nr  	#unr für Zähler der tatsächlich addierten Fälle
#dt x"=0" =ej  	#uej für Summe der Ersch.jahre
#dt x"=0" =nj  	#unj für Anzahl der addierten Erscheinungsjahre
#dt x"=0" =gw  	#ugw für größten Wert
#dt x"=99999" =kw  	#ukw für kleinsten Wert
#dt x"=0" =k1  	#uk1 für Anzahl der Fälle kleiner als 10

  ************************************************************************* 

   Fußteil:     Ausgabe der Ergebnisse
         	(Kontrolle mit Befehl #a im Editor möglich!)
F 
#t{ "Ergebnisse: " } 
#usu C e"." r7 p"Summe:  " 		e"." schneidet den Dezimalteil ab
#unr C e"." r7 p"Anzahl: "		r7 füllt links mit Blanks auf 7 Stellen

#ugw C C x"*1" e"." r6 p"größte:  "	x"*1" wird gemacht, weil die Werte
#ukw C x"*1" e"." r6 p"kleinste:"	noch Buchstaben enthalten könnten, die werden dadurch beseitigt
#uk1 C e"." r6 p"unter 10:" 
#usu C C x"/nr" x"r2" r9 p"Durchschnitt: " 
     nimm Inhalt von #usu, teile durch #unr, runde auf 2 Stellen
#uej C C x"/nj" e"." r6 "durchschn. Ersch.Jahr: " 

So arbeitet man damit
Jetzt zeigen wir noch, wie man mit so einer Parameterdatei umgeht, d.h. wie man denn die Berechnung wirklich durchführt. Am schnellsten läßt es sich so ausprobieren:
Geben Sie auf dem Verzeichnis C:\ALLEGRO den Befehl 

srch -f4 -dbeispiel -er-0/liste -v0 -m0 -s"berlin/muenchen"

Es erscheint die Liste der CAT_*.ALD-Dateien. Setzen Sie '+' vor CAT_1 und CAT_2 und drücken Sie <Enter>. Nun lehnen Sie sich bequem zurück. Bald darauf kommt die Vollzugsmeldung. Mit dem Befehl
v liste
sehen Sie die Ergebnisse. Der Suchbegriff -s"berlin/muenchen" kann durch jeden anderen ersetzt werden. In diesem Fall wurden also diejenigen Bücher summiert, in deren Datensätzen die Wörter Berlin oder München vorkommen. So sieht die Ergebnisliste aus:

Ergebnisse: 
Summe:    17253 
Anzahl:      52 

größte:    1218
kleinste:    46 
unter 10:     6 

Durchschnitt:    331.79 

durchschn. Ersch.Jahr:   1971 

Für Auswertungen, die man regelmäßig durchführen will, stellt man ein Batchfile zusammen, dessen Kern ein SRCH-Aufruf wie der gerade gezeigte ist. Angebunden an das CockPit reduziert sich dann die Auswertung auf die Wahl eines Menüpunktes.

Und so macht man es im Schnellzugriff: 
1.	Parameterdatei laden: mit <Shift+F4> im Anzeigemenü sucht man sich die R-0.APR und läßt sie laden, als Exportdatei gibt man NUL, weil man keine Ausgabedatei zu schreiben hat.
2.	Ergebnismenge bilden, die verrechnet werden soll 
3.	Von irgendeiner Titelanzeige aus F4 geben, um die Ergebnismenge durchrechnen zu lassen. 
4.	Wenn "erledigt" kommt: F2 3 F eingeben: Ergebnisse werden angezeigt. 
1.	Mit F2 3 K setzt man die Werte wieder auf 0 (Kopfabschnitt wird durchgearbeitet), und ein neuer Durchlauf mit anderer Ergebnismenge kann beginnen. 

Wenn Sie nun eigene Auswertungen programmieren wollen, gehen Sie so vor: 
1.	Vom CockPit-Menü "Dateien / Export-Parameter" suchen Sie sich die Datei R-0.APR.
2.	Das Untermenü hat einen Punkt "neue Version erstellen". Diesen wählen Sie an.
3.	Die Frage nach dem Namen für die neue Datei beantworten Sie mit einem neuen Namen, der mit R- beginnen sollte, damit die Zugehörigkeit zum Typ RESULT immer sofort ersichtlich ist.
4.	Eine Kopie von R-0.APR wird zum Bearbeiten vorgelegt. Wenn es nur um Summierungen und Durchschnittsbildungen, aber mit anderen Kategorien geht, ist nicht viel zu tun. Abweichende Aufgaben erfordern evtl. einige Kenntnisse des Parametrierens, besonders der Rechenbefehle (-Ø 10.2.6.6). 
5.	Die neue Parameterdatei kann nun auf dieselbe Weise wie oben gezeigt benutzt werden. 

Hinweis: Für a99 gibt es als Teil des ORDA-Paketes auch Beispiele, wie man mit der FLEX-Technik Ergebnismengen durchrechnen kann. Man startet die DEMO-Datenbank und gibt im Schreibfeld den Befehl  h orda . Es erscheint ein Menü, auf dem man "Kontingent-Berechnung" (kont.flx) oder "Bestellungen eines Lieferanten" (lief.flx) wählt.

`Vorangehender Teil`   /   `Fortsetzung` 

?Vorangehender Teil=h ac10-12 
?Fortsetzung=h ac10-14