/****************************************************************************
 * Verknüpfen von Dateien, PSEUDOCODE					    *
 * Dies soll ein Skript-Gerüst sein, um Verknüpfungen zwischen Dateien zu   *
 * realisieren. Mittels ARexx ist das sehr flexibel möglich. Eine direkte   *
 * Programmfunktion könnte nur einen sehr begrentzen Bereich abdecken.	    *
 * Mit Hilfe dieses Skriptes und dem ARexx-Abschnitt aus der Anleitung	    *
 * sollte es auch der ARexx-Neuling schaffen.				    *
 * Es sind mehrere Umsetzungsmöglichkeiten vorhanden. Diese geht davon aus, *
 * daß die Datei, in welche Daten aus anderen Dateien übernommen werden     *
 * sollen, geladen und die aktuelle ist. Die anderen Dateien werden zeit-   *
 *  weise geladen und die Daten ausgelesen.				    *
 *									    *
 * 05.01.94, Jörg Richter						    *
 ****************************************************************************/

Options Results 		 /* Rückgabewerte sollen gespeichert werden */

ADDRESS DATABASE			      /* Auf Database-Port schalten */

CurrentBase				     /* Aktuelle Base-Nummer in der */
oldbase = RC				      /* Variablen "oldbase" merken */

Base 5						/* Auf die 5. Base schalten */
		 /* Achtung! Eine evtl. dort vorhandende Datei geht erloren */
				  /* Dies könnte auch abgefangen werden ... */

				/* Nacheinander werden die Dateien geladen, */
Open <Dateiname und Pfad>
IF RC ~= 0 THEN EXIT 5	    /* Datei konnte nicht geladen werden => Abbruch */

 /* Nun kann ein bestimmter Datensatz angesprungen oder z.B. gesucht werden */
 /* Z.B. soll aus dem letzten Datensatz ein berechnete Summe gelesen werden */
RightTotal					    /* an das Ende springen */
GetData $F5				/* den Inhalt aus z.B. Feld 5 lesen */
Summe = result			      /* in der Varibalen "Summe" speichern */
Close					     /* die Datei wieder schliessen */

  /* Hier könnten nun weitere Dateien folgen, die wie oben behandelt werden */
  /* Z.B. : */
Open <Dateiname und Pfad>
IF RC ~= 0 THEN EXIT 5
RightTotal
GetData $F3
Anzahl = result
Close


Base oldbase	       /* Züruck zur ursprünglichen Datei, in der die Daten */
					 /* zusammen getragen werden sollen */
ADD						/* Neuen Datensatz erzeugen */
PutData $F1 Summe   /* Schreiben der gelesenden Daten in die entsprechenden */
PutData $F2 Anzahl	      /* Felder der Maske des aktuellen Datensatzes */

ADDRESS

