Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

tuscript:loesungen:makro_koma

Zurück zum Inhaltsverzeichnis - Lösungen und Tipps


Gerüst für ein Kopiere-Script - *KOMA

- schneider-lastin schneider-lastin

Das Makro #*KOMA (=KOpiere-MAkro) erstellt ein Programm-Gerüst zum satz- oder portionsweisen Kopieren.
#*KOMA schreibt das Gerüst in die zu DATEI angegebene Datei.
Das Makro und seine Spezifikationen lauten:
#*KOMA, DATEI, MODUS

1. Bei MODUS=satzweise lautet das Ergebnis

$$! quelle, ziel
$$-
$$ MODE TUSCRIPT

SET status = CHECK (quelle, READ, TUSTEP)
ERROR/STOP "QUELLE: ", status

SET status = CHECK (ziel, WRITE, TUSTEP)
ERROR/STOP "ZIEL: ", status

SET status = UNIQUE (quelle, ziel)
ERROR/STOP "Datei ", status, " ist mehrfach angegeben"

COMPILE

ACCESS q: READ       /RECORDS "{quelle}" sn.zn/un, text
ACCESS z: WRITE/ERASE/RECORDS  "{ziel}"  sn.zn/un, text

LOOP/999999
   READ/IGNORE/EXIT q
   - Hier Anweisungen zum Auswählen/Ändern der Daten einfügen
   WRITE/ADJUST z
ENDLOOP

ENDACCESS/PRINT q
ENDACCESS/PRINT z

ENDCOMPILE

2. Bei MODUS=portionsweise lautet das Ergebnis (ab COMPILE)

COMPILE

- Tabellen atab,ttab,etab anpassen bzw. entfernen

BUILD S_TABLE atab = ":[::%[:"
BUILD S_TABLE ttab = ":|:"
BUILD S_TABLE etab = ":]::%]:"

ACCESS q: READ/STREAM/RECORDS "{quelle}" ...
                sn.zn/un, aken/atab + text/ttab + eken/etab
ACCESS z: WRITE/ERASE/STREAM   "{ziel}"  ...
                sn.zn/un, aken      + text      + eken

LOOP/999999
   READ/NEXT/EXIT q
   - Hier Anweisungen zum Auswählen/Ändern der Daten einfügen
   WRITE z
ENDLOOP

ENDACCESS/PRINT q
ENDACCESS/PRINT z

ENDCOMPILE

Zurück zum Inhaltsverzeichnis - Lösungen und Tipps

tuscript/loesungen/makro_koma.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)