ï ñ ò Information 325

WORTPRUEFUNG, Prüfparameter



Folgende Prüfparameter können gesetzt werden:
FELD:<fn>

Gibt den Feldnamen des zu prüfenden Feldes an. Die Wortlistendatei kann einen anderen Namen als das zu prüfende Feld haben. So können Sie z.B. das Feld DESKRIPTOR mit der Datei BEGRIFF.WTX prüfen.
ähnlich:yy

Gibt den Ähnlichkeitswert für das Ersatzwort an.
Wertebereich: 50...100 %
Standardwert: 70 %.
Sonst, also im Zweifelsfall, wird für das Ersatzwort
???

gesetzt.

Bedeutung: Wenn 70 % der Zeichen einer Zeichenkette mit dem vermeintlich fehlerhaften Wort übereinstimmen, wird diese Zeichenkette als Ersatzwort angeboten.
diff:zz

Gibt die Längendifferenz des Ersatzwortes zum angenommenen fehlerhaften Wort an.
Wertebereich: 0...10 Zeichen
Standardwert: 2 Zeichen.

Bedeutung: Das Ersatzwort (die Vergleichszeichenkette) kann also 2 Zeichen länger oder kürzer sein als das vermeintlich falsche Wort.
exakt

Gibt an, dass Gross-/Kleinschreibung zu berücksichtigen ist.

weitere Informationen:

ñ WORTPRUEFUNG, Prüfung mit Wortliste


ï ñ ò Information 326

WRITEAUSTAUSCH, Erzeuge Austauschformat



Das Programm erzeugt das delimited-Format für den Datenaustausch.

P1:MIDOS-Quelldatei
P2:delimited-Format-Datei (ggf. .DLF)
P3:Writeaustauschparameter

Hinweis:
Es werden nur die Felder der Datenbeschreibung MISCHABS des aktuellen Verzeichnisses berücksichtigt. Für nicht im Dokument vorhandene Felder werden Leere Felder im Austauschformat erzeugt.

Sollen Felder nicht in das Austauschformat übergeben werden, muß die Verarbeitung in einem gesonderten Datenbankverzeichnis mit einer veränderten Datenbeschreibungsdatei erfolgen. Sie dürfen in der Originaldatei MISCHABS keine Felder löschen, die Sie in Ihrer Datenbank noch brauchen. Wenn Sie den MIDOS-Datenbankeditor öffnen, werden in allen anschliessend korrigierten Datensätzen Felder entfernt, die nicht in der Datei MISCHABS enthalten sind.

Alle Bedingungen der Passfähigkeit mit dem Datenaustauschpartner sind vom Anwender zu beachten (Feldlängen, Zeichensatz, Feldnamen, Datentypen, ...).

Sie müssen ggf. die Datenbank umcodieren, wenn der Empfänger in einem anderen Zeichensatz arbeitet.

Die Formatdefinition finden Sie unter Delimited-Format exportieren

weitere Informationen:

ñ WRITEAUSTAUSCH, Writeaustauschparameter; ñ Delimited-Format exportieren; ñ READAUSTAUSCH, Lese Austauschformat; ñ MAKEDBASE, Erzeuge DBase-Datenbankdatei


ï ñ ò Information 327

WRITEAUSTAUSCH, Writeaustauschparameter



Delimiterzeichen


EZ:x

x = Einschließungszeichen, im allgemeinen ", ASCII-dezimal 34, von uns empfohlen.
TZ:y

y = Trennzeichen der Feldwerte, Feldtrenner, im allgemeinen Komma oder Semikolon. Semikolon wird von uns empfohlen.
SZ:abc

abc = Satzendezeichen, normalerweise #13#10 (CRLF)

Kopfsatz


NOHEAD

Es wird keine Kopfzeile erzeugt, nicht empfohlen, muss beim Empfänger rückgefragt werden.

weitere Informationen:

ñ Dateiausgabe (Export) ñ WRITEAUSTAUSCH, Erzeuge Austauschformat; ñ Delimited-Format exportieren


ï ñ ò Information 328

WRITEFILE, Schreibe in Datei



Das Programm schreibt Zeichenketten in eine Datei.

P1:Dateiname
P2:Dateiposition
P3:Zeichenkette

Hinweis:
Existiert die Datei nicht, wird sie angelegt und die Zeichenkette ab Position 0 (Null) geschrieben.

Die Zeichenkette kann Steuerzeichen enthalten: ^ für CRLF oder #13#10 oder #nnn für beliebigen ASCII-Code.

Zweck:
Sie verwenden diese Funktion, um z.B. eine Steuerinformation in eine Datei zu schreiben, um eine leere Datei (nur ein #13#10 enthalten) anzulegen u.ä.

Mit APPENDSTRING fügen Sie eine Zeichenkette am Ende einer Datei an.

weitere Informationen:

ñ APPENDSTRING, Zeichekette anfügen; ñ ACOPY, Anfügend Kopieren; ñ WRITEFILEDATE, Schreibe Datum in Datei; ñ WRITEINFO, Schreibe Info in Datei


ï ñ ò Information 329

WRITEFILEDATE, Schreibe Datum in Datei



Das Programm schreibt das Änderungsdatum einer Datei in eine Textdatei.

P1:Dateiname, Textdatei
P2:Dateiname, überwachte Datei
P3:---

Zweck:
Wird für die Steuerung der Datenbankfortschreibung benutzt, um z.B. auf zu aktualisierende Indexe hinzuweisen.

weitere Informationen:

ñ APPENDSTRING, Zeichekette anfügen; ñ WRITEINFO, Schreibe Info in Datei; ñ WRITEFILE, Schreibe in Datei


ï ñ ò Information 330

WRITEINFO, Schreibe Info in Datei



Das Programm schreibt in die Datei MWWTX.INI Informationen mit aktuellem Datum und Uhrzeit.

P1:Infotext
P2:---
P3:---

Schlüsselwörter

DATE aktuelles Datum vom System
TIME aktuelle Uhrzeit vom System

Um die Schlüsselwörter herum kann beliebiger Text angeordnet sein. Gesamtlänge 255 Zeichen.

WRITEINFO Heute am DATE wurde ich um TIME neu angelegt. Schön.

weitere Informationen:

ñ WRITEFILE, Schreibe in Datei; ñ WRITEFILEDATE, Schreibe Datum in Datei; ñ INDEX, Indexdatei erzeugen; ñ FASTINDEX, Fastindexdatei erzeugen


ï ñ ò Information 331

WTXRECH, Wörterbuchrecherche



Das Programm führt auf der Basis einer Textdatei mit Suchbegriffen eine Indexsuche durch und gibt die Treffer in eine MIDOS-Datenbankdatei (im Speicherformat) aus.

P1:WTX-Datei
P2:MIDOS-Zieldatei
P3:Textdatei ANSI

Die Textdatei enthält die Suchwörter zeilenweise. Die Anzahl ist z.Zt. auf 2000 Suchwörter beschränkt.

ANSI

Die Zieldatei wird im ANSI-Code angelegt, wenn der Parameter gesetzt ist, sonst im ASCII-Code.

Hinweis:
Die Textdatei enthält die Suchbegriffe sinnvollerweise als ganze Wörter/Suchbegriffe ohne Wildcardzeichen. Um zu sichern, dass die Suchbegriffe im Index auch gefunden werden, können Sie den beteffenden Index mit der Funktion SAMMELLISTE generieren, wobei der Inhalt der Textdatei mit den Suchwörtern gleichzeitig die Datei ist, die unter SAMMELLISTE als Datei angegeben wird.

weitere Informationen:

ñ INDEX, Indexdatei erzeugen; ñ FASTINDEX, Fastindexdatei erzeugen


ï ñ ò Information 332

ZFORMAT, Zeilenformat erzeugen



Das Programm erzeugt ein zeichen- und zeilenorientiertes Ausgabeformat.
Es führt eine Zeilenformatierung wie unter MS-DOS-Anwendungen (MIDOS3.0) von MIDOS-Datenbankdateien aus.

P1:MIDOS-Quelldatei
P2:Ausgabedatei
P3:Formatparameter

Formatparameter


ZZ:xx

Gibt die Zeichen pro Zeile an.
Wertebereich: 10...100)
WU:y

Gibt an, ob Wortumbruch ein oder ausgeschaltet werden soll.
y=1: ja, Wortumbruch,
y=0: nein, kein Wortumbruch.
ER:zz

Angabe der Position der Einrückung in Zeichen.
Wertebereich: 0...30

Hinweis:
Die Zeilenformatierung ohne Wortumbruch kann von manchen Datenbanksystemem eingelesen werden.

Die Dateien werden als Textdatei im Blocksatz bezeichnet, allerdings wird rechts Flattersatz erzeugt, da eine Silbentrennung und ein Blockausgleich nicht zur Verfügung stehen.

Wenn Sie variabel lange Feldnamen benutzen, wird eine mit ZFORMAT ausgegebene Datei schlecht lesbar sein. Bevor Sie ZFORMAT benutzen, müssen Sie die MIDOS-Datenbankdatei ggf. umformen (mit Feldmanipulation).

Achten Sie darauf: Beim Wortumbruch bleibt am Zeilenende ein Leerzeichen erhalten. Es wird auch an Bindestrich-Leerzeichen umgebrochen.

Beispiel ZFORMAT



WU=J, ER=3, ZZ=64
DB:XXXX
ND:52047
DT:GEBRAUCHSMUSTER.
IP:A01B039-02; A01B039-04; A01M021-04; A01B069-00
TI:Vorrichtung zur mechanischen Unkrautbekaempfung in 
   Reihenkulturen in der Pflanzenreihe.
AU:Zuerl, Berthold, Dipl.-Ing. (FH), 96184 Rentweinsdorf, DE
PR:20000204
AD:20000518
OD:20000413
AB:1. Vorrichtung zur mechanischen Unkrautbekaempfung in der 
   Reihe, vorzugsweise als Heck-, Front- oder 
   Zwischenachsanbaugeraet oder Selbstfahrer ausgefuehrt, 
    ausgeruestet mit einem Antriebsstrang (14 u. 16) fuer 
   Bearbeitungswerkzeuge (9) dadurch gekennzeichnet, dass -
   der Antriebstrang der Bearbeitungswerkzeuge ueber einen 
   speziellen Rollenantrieb (8) angetrieben (12) und 
   ...
PU:DEG2000007 DE 20002047 U1 0011
&&&

weitere Informationen:

ñ AFORMAT, Ausgabeformat erzeugen; ñ MIDOSRECH, Sequentielle Recherche; ñ WTXRECH, Wörterbuchrecherche


ï ñ ò Information 333

FASTINDEX, Fastindexdatei erzeugen



Die Funktion FASTINDEX erstellt Indexdateien für MIDOS-Datenbankdateien. Sie hat eine Erweiterung gegenüber INDEX und läuft wesentlich schneller, vor allem für grosse Datenbanken.

P1: MIDOS-Quelldatei
P2: Indexdatei ( .WTX)
P3: Fastindexeinstellungen

Hinweis:
Siehe auch unter INDEX, Indexdatei erzeugen

weitere Informationen:

ñ FASTINDEX, Fastindexeinstellungen; ñ INDEX, Indexdatei erzeugen


ï ñ ò Information 334

FASTINDEX, Fastindexeinstellungen



Die Parameter in Kurzfassung:

INDEX:feldname1;feldname2; ...

Ein oder mehrere Felder können für einen Index ausgewählt werden. Maximum steht z.Zt. auf 15 Felder.
NOANSI

Es soll keine ANSI-Umsetzung im Index erfolgen. Bei ANSI-Datenbanken hat der Parameter keine Wirkung.
EINZEL

Einzelwörter in den Index stellen, sonst Feldaussagen
TRENNZEICHEN:xyz

Wort lesen bis zu den Zeichen xyz,
b ist reserviert für Blank (Leerzeichen), hebt EINZEL auf!
NULLZEICHEN:xyz

Die Zeichen xyz werden aus dem Feldwert gelöscht.
NUMMER

Satzadresse = laufende Nummer, zusätzlicher Satznummernindex wird automatisch gebildet.
MITFELDNAME

Index mit Ursprungsfeld.
STW:datei1.stw;datei2.stw ...

Stoppwortlistendateien, es können mehrere pro Index genannt werden.
WL:xx

Wortlänge: xx = 1..250, sonst 80 Zeichen
TEXT

Statt einer MIDOS-Datenbankdatei wird im Parameter 1 eine Textdatei, 1 Zeile = 1 Satz, angegeben.
APPEND

Erweitert vorhandenen Index - Kommando ADDFILE vorher im JOB zum Fortschreiben der Datenbankdatei mit einem Zugang.
VONZEICHEN:x

Feldaussage ab Zeichen x einlesen
BISZEICHEN:x

Feldaussage bis Zeichen x einlesen
SAMMELEINTRAG:YYY

Eintrag im Index.
SAMMELWORT:XXX

Sucht beliebiges Wort. Wenn kein Sammeleintrag dann YYY=XXX
SAMMELLISTE:dateiname

Liste in Textdatei mit den im Index zu Suchenden Sammelwörtern (max. 2000 Einträge a 30 Zeichen)
MITSW:xxx

Index - nur wenn xxx im Satz
OHNESW:xxx

Index - nur wenn xxx nicht im Satz.

Langfassung siehe INDEX, Indexdatei.

weitere Informationen:

ñ FASTINDEX, Fastindexdatei erzeugen; ñ INDEX, Indexdatei erzeugen


ï ñ ò Information 335

Zeichenkettenmanipulation



Die Zeichenkettenmanipulation arbeitet mit einem Suchen und Ersetzen im Stapel, wobei jedes Kommando der Zeichenkettenersetzung über den gesamten Datensatz ausgeführt wird. Es gibt jedoch einschränkende Bedingungen.

Die Zeichenkettenmanipulationskommandos speichern Sie am besten in einer Datei mit der Endung .MAN.

Unter Datensätze ändern und im MIDOS-Datenbankeditor unter Fremddatei einlesen, Anpassungen sind die Kommandostrukturen in gleicher Weise verwendbar, wie im folgenden erläutert.

weitere Informationen:

ñ Zeichenkettenmanipulation, Feldeinschränkung; ñ Zeichenkettenmanipulation, Satzende einstellen; ñ Zeichenkettenmanipulation, Zeichenkettenersetzung


ï ñ ò Information 336

Zeichenkettenmanipulation, Satzende einstellen



SATZENDE:<zeichenkette>

Sie geben die Zeichenkette an, die von Ihnen als Datensatzende ermittelt wurde. Wenn Sie Online-Protokolle in Datenbanken umformen wollen, könnte es sein, dass die Zeichenfolge
#13#10#32#13#10

das Datensatzende ist. In MIDOS-Dateien ist das Datensatzende mit
&&&

definiert.
Finden Sie kein signifikantes Endezeichen, versuchen Sie ein signifikantes Anfangsmerkmal für einen Datensatz zu ermitteln. Geben Sie dann diese Zeichenkette als Satzende an. Sie müssen in diesem Fall Anfang und Ende der Datei gesondert säubern, wenn Sie ein gültiges MIDOS-Format erzeugen wollen. Dazu benutzen Sie WRITEFILE und APPENDSTRING.

weitere Informationen:

ñ Zeichenkettenmanipulation; ñ Zeichenkettenmanipulation, Zeichenkettenersetzung; ñ Zeichenkettenmanipulation, Feldeinschränkung


ï ñ ò Information 337

Zeichenkettenmanipulation, Zeichenkettenersetzung



Die Zeichenkettenersetzung erfolgt dadurch, dass eine Ist-Zeichenkette genannt wird, ein Backslash folgt und dann eine Soll-Zeichenkette angegeben wird, so als wäre in einem Programm geschrieben worden:

if istzk=true then istzk:=sollzk

Geschrieben wird es einfacher als:
istzeichenkette\sollzeichenkette
a\b

Aus jedem a wird ein b an allen Stellen im Datensatz, an dem ein a vorkommt.

Alle Zeichen können durch ihren ASCII-Wert ausgedrückt werden. Die Zeichen von #0 bis #255 sind darstellbar.
#0\#32

Aus ASCII 0 wird ASCII 32 (Leerzeichen)

Manchmal müssen Zeichen durch ihren ASCII-Wert oder ein Ersatzzeichen dargestellt werden:
#13#10 oder ^

stehen für CRLF.
zeichenkette\

Die Zeichenkette wird bis zum Zeilenende (CRLF) gelöscht, wenn das erste Zeichen nach Backslash ein Stern ist.
#92\BACKSLASH
BACKSLASH\#92

Backslash muss umschrieben werden.
a\°b
#248\ Grad 
 Grad C \ #248 C 

Das Gradzeichen bewirkt, dass die Ersetzungsanweisung nur einmal im Datensatz ausgeführt wird. Also hier würde ein einziges mal ein a durch ein b ersetzt. Soll das Gradzeichen umgeformt werden oder entstehen, muss es mit #248 umschrieben werden.
^Preis pro Jahr\°^PREIS:

Manchmal sind Wörter oder Zeichenfolgen, die am Zeilenanfang stehen, als Feld geeignet. Man erzeugt daraus ein Feld. Damit die Zeichenfolge "pro Jahr" nicht verloren geht, fügen wir sie wieder ein mit:
PREIS=#94;\° pro Jahr^

Damit wird das Zeilenwechselzeichen bezogen auf das Feld manipuliert.
Satzende:End of Document
^#32^End of Document\^&&&^^

Das eingestellte Datensatzende kann manipuliert werden. Es ist allerdings nicht möglich, das hinter dem Datensatzende stehende Zeichen zusammen mit dem Datensatzende zu manipulieren.

weitere Informationen:

ñ Zeichenkettenmanipulation; ñ Zeichenkettenmanipulation, Satzende einstellen; ñ Zeichenkettenmanipulation, Feldeinschränkung


ï ñ ò Information 338

Zeichenkettenmanipulation, Feldeinschränkung



Sobald Sie ein Feld erzeugt haben, das im Manipulator definiert ist mit

^FN:WERT

können Sie die Wirkung eines Zeichenkettenersetzungskommandos auf ein Feld einschränken. Sie nennen dazu den Feldnamen und fügen zwei Gleichheitszeichen an.
VFU==Sokol'ov\Sokolov

Die Austauschanweisung wird nur im Feld VFU vorgenommen.
VFU==#39\

Eine Zeichenkette, hier das ASCII-Zeichen #39, wird im Feld generell gelöscht, hier VFU, wenn auf der rechten Seite keine Zeichenkette steht.
VFU==Müll#39\°Müll

Eine Zeichenkette wird nur einmal im Feld, hier VFU, geändert, wenn direkt nach dem Backslash ein #248 steht.
VFU==Müll#39\

Eine Zeichenkette wird bis zum Zeilenende nur im Feld, hier VFU, gelöscht, wenn nach dem Backslash ein steht.
VFU==Müll#39\°

Ein Stern hat keine Löschwirkung, wenn er nicht direkt auf den Backslash folgt. Hier wird also gegen den Stern ausgetauscht.

Achten Sie auf ausreichende Eindeutigkeit von Austauschanweisungen.

Mit REM oder ; auf Position 1 einer Zeile können Sie Kommentare in die Zeichenkettenmanipulation einfügen.

Beispiel:

Es liegt eine Datei vor, die die nachfolgen aufgeführte Grundstruktur haben soll. Zu Vereinfachung soll angenommen werden, alle Datensätze hätten eine saubere Struktur.
AUTOR  Müller, F.; Warz, Rudolf
TITEL  Anwendung von 13 Regeln 
       der schwarzen Magie 
       auf Zeichenketten. 
QUELLE Astrophobie Jg. 5 (1999) 
       Heft 3. - S. 13 - 15
End of Dok

Es sollen folgende Felder in einem sauberen MIDOS-Format entstehen, mit folgenden Feldern:
VFU mit den Verfassernamen
STU mit dem Aufsatztitel
ST  mit dem Zeitschriftentitel
JG  mit dem Jahrgang
EJ  mit dem Erscheinungsjahr
HE  mit der Heftnummer
SE  mit der Seitenangabe

Zunächst wird eine Grundstruktur von MIDOS erzeugt, wobei alle Umbrüche, mit Ausnahme der vor Feldnamen entfernt werden. Die Manipulation sieht nachfolgender ähnlich:
SATZENDE:End of Dok
REM Grundumformung
#13#10AUTOR#32\#1AUTOR:
#13#10TITEL#32\#1TITEL:
#13#10QUELLE#32\#1QUELLE:
#13#10End of Dok\#1#38#38#38#1
REM Entfernen der Umbrüche, aber
REM merken, da sie ggf. in jedem 
REM Feld anders zu behandeln sind
REM Rücksetzen der Einrückung um 
REM fünf, sechs oder sieben 
REM Leerzeichen.
#13#10#32#32#32#32#32#32#32\#94
#13#10#32#32#32#32#32#32\#94
#13#10#32#32#32#32#32\#94
REM Rücksetzen des Merkers #1
#1\#13#10
REM Einzelne Felder erzeugen
REM VFU mit den Verfassernamen, 
REM Semikolon wird Aussagentrenner
#13#10AUTOR:\#13#10VFU:
VFU==;\; 
REM STU mit dem Aufsatztitel;
REM gemerkter Umbruch wird Leerzeichen
#13#10TITEL:\#13#10STU:
STU==#94\#32
REM ST mit dem Zeitschriftentitel, 
REM ab Jg neues Feld erzeugen
QUELLE== Jg. \#13#10JG:
#13#10QUELLE:\#13#10ST:
REM JG mit dem Jahrgang enthält 
REM auch den Rest des alten 
REM Feldes Quelle 
REM EJ mit dem Erscheinungsjahr 
REM erzeugen aus der ( 
JG==(\#13#10EJ:
REM HE mit der Heftnummer über Heft
REM erzeugen
EJ==Heft \#13#10HE:
REM SE mit der Seitenangabe
HE==. - S.\#13#10SE:S.
REM ggf. noch säubern
EJ==)\
#32#32\#32
#32#94\#32
#32#13#10\#13#10
REM Ende

Der neue Satz sollte nun wie folgt aussehen:
VFU:Müller, F.; Warz, Rudolf
STU:Anwendung von 13 Regeln der schwarzen Magie auf Zeichenketten. 
ST:Astrophobie 
JG:5
EJ:1999
HE:3
SE:S. 13 - 15
&&&

Hinweis:
Im allgemeinen ist das Grundschema immer wieder anwendbar:

  1. Ende oder Anfang eines Datensatzes erkennen, entsprechenden Satzendeparameter setzen,
  2. Felder erkennen und separieren,
  3. Umbrüche und Einrückungen entfernen, innerhalb von Feldern ggf. Ersatzzeichen für Absatz benutzen #94 oder #124,
  4. Felder erzeugen,
  5. jedes Feld entsprechend seinem Inhalt einzeln behandeln,
  6. Trennzeichen, Gross-/Kleinschreibweise, unerwünschte Zeichen und Feldenden bereinigen,
  7. Datensatzende manipulieren.


Wenn die Zeichenkettenmanipulation nicht ausreicht, um alle Felder sauber umzuformen, dann können Sie auch ein Feld bilden, das Sie erst mit den programmierbaren EXEC-Anweisungen der Feldmanipulation auseinandernehmen.

Am Ende von Zeichenkettenmanipulation und Feldmanipulation sollte eine Ihren Wünschen entsprechende Datenbankdatei vorliegen. Sie können aber auch noch die Funktion PRUEFE über die Datensätze schicken, mit von Ihnen hergestellten Prüfbedingungen.

Am Ende und während des Tests Ihrer Manipulationsanweisungen sollten Sie die Ergebnisdatei mit der Funktion ANALYSE von MIDOS-Update analysieren und das Protokoll gewissenhaft auswerten. Ebenso sollten Sie hin und wieder die Verarbeitung prüfen, indem Sie sich die Zieldatei ansehen.

Wenn Sie andere Datenformate erzeugen wollen, dann kann es sein, dass die Zeichenkettenmanipulation dafür ausreicht.

weitere Informationen:

ñ Zeichenkettenmanipulation; ñ Zeichenkettenmanipulation, Satzende einstellen; ñ Zeichenkettenmanipulation, Zeichenkettenersetzung; ñ FELD, Feldmanipulation


ï ñ ò Information 339

Feldmanipulation, Allgemeines



Mit der Funktion MIDOS-Update - Programm MWUPDATE.EXE - des Datenbanksystem MIDOS2000, haben Sie einen leistungsfähigen, programmierbaren Transformationsbaustein für MIDOS-Datenbanken oder andere, beliebig formatierte, fremde Textdateien zur Verfügung.

Ziel ist, diese Fremddateien, den eigenen Wünschen entsprechend, in eine MIDOS-Datenbankdatei zu überführen und sie genau in die vom Anwender gewünschte Datenstruktur zu bringen.

Liegen der Manipulation Fremddateien zu Grunde, die nicht im MIDOS-Datenbankformat vorliegen, sind diese zunächst in eine grobe, feldorientierte Struktur zu bringen. Dafür verwenden Sie:



Die Feldmanipulation setzt eine gültige MIDOS-Datensatz-Syntax voraus, wobei im einfachsten Fall ein Datensatz aus einem Textfeld bestehen kann und mit einem Datensatzende abgeschlossen ist.

Bei der Feldmanipulation werden:



In Spezialfällen können auch mehrere Quelldatensätze in einem Memory gesammelt werden und auf Grund eines Ereignisses - einer Bedingung in der Quelldatei - in den Ausgabebereich ausgegeben werden.

weitere Informationen:

ñ FELD, Feldmanipulation; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Transformationstabelle


ï ñ ò Information 340

Feldmanipulation, Datensatz-Syntax



Wenn Sie ein gültiges MIDOS-Format per Programm erzeugen wollen, dann müssen Sie natürlich wissen, wie die MIDOS-Syntax für Datenbankdateien definiert ist.

Im folgenden unternehmen wir den Versuch, Sie über diese Syntax zu informieren. Beachten Sie, dass ein MIDOS-Datensatz keinerlei inhaltlich-semantische Vorbedingungen stellt. Das Datenbanksystem ist semantisch offen und kann im Spezialfall bibliografisch, dokumentarisch, bibliothekarisch oder archivarisch genutzt werden. In der Praxis ist es auch als Autorensystem für die Vorbereitung von Publikationen und für die Herstellung von Programmdokumentationen im Einsatz.

In der Feldmanipulation, insbesondere in EXEC-Prozeduren ist der Anwender für die Herstellung einer gültige MIDOS-Datenbankstruktur zuständig. Das betrifft vor allem:



Soll der Transfer in ein anders Datenbanksystem (z.B. ACCESS, ORACLE) erfolgen, so muss die Syntax für Datensätze bekannt sein und ebenfalls eigenständig erzeugt werden. Dazu ist ggf. die Unterfunktionen



zu verwenden.
Wann immer inhaltliche Anpassungen vor einer Datenübergabe an Dritte erforderlich sind, kann dies durch die Feldmanipulation erfolgen.

Soll das Zielsystem ein relationales Datenbanksystem sein, können die Funktion WRITEAUSTAUSCH oder MAKEDBASE in MIDOS-Update hilfreich sein. Wenn mehrere Relationen erzeugt werden müssen, ist ggf. je Relation eine Feldmanipulationstabelle erforderlich.

Es ist in jedem Fall zuerst die inhaltliche Verarbeitung durchzuführen, dann erst die physische Datensatzstruktur zu erzeugen.

Die Übergabe von Dokumenten an Word für Windows oder ähnliche Textverarbeitungssysteme erfolgt dagegen zweckmäßiger über die Funktion Dateiausgabe (Export) in der ggf. eine Ausgabebeschreibung zur Gestaltung der Übergabeform für das RTF-Format oder für das HTML-Format zu benutzen ist.

HTML-Dateien sind in Listen- oder Tabellenform ebenfalls mit den dafür vorliegenden Funktionen herzustellen. Die Vorbereitung der Daten kann jedoch auch auf einen Transfer gestützt erfolgen.

Syntaxdarstellung



Folgende Symbole werden zur Syntaxdarstellung verwendet:
[]... Element kann vorhanden sein,
; ... eins von den Elementen kann
      vorhanden sein,
...   Element ist wiederholbar.


MIDOS-Datensatzformat


MIDOS-Format::=[^][ANSI]^[^...]<ds>[^[^...]<ds>...]

<ds>::=Datensatz
^ steht für CRLF, Zeilenwechsel.
ANSI wird von der Funktion MAKEANSI gesetzt.
Vor und nach einem gültigen Datensatz können mehrere #13#10 stehen. Sie sind syntaktisch nicht relevant.
<datensatz>::lt;feld>[^<feld>...]^<datensatzende>^

Ein gültiger Datensatz besteht mindestens aus einem gültigen Feld, das einen Feldwert haben sollte. Leere Felder sind zulässig aber unschön.
Die Reihenfolge der Felder im Datensatz ist nicht festgelegt.
<feld>::lt;feldname:><feldwert>[<austrz><feldwert>...]

Der Feldwert kann durch Markierungen strukturiert werden.
<feldwert>::=[<regkenn>][<[<htmtxze>]teilzkt[</htmtxz>]>[<sortkzt>][<absmark>][<teilzkt>]]

Die Trenn- und Kennzeichnungen haben folgende Bedeutung:
<regkenn>::=Registerkennzeichen, Standard: #
<htmtxze>::=einleitendes HTML-Tag, Standard: fett <b>, kursiv <i>, unterstrichen <u>
<teilzkt>::=Teilzeichenkette
</htmtxz>::=beendendes HTML-Tag, Standard: fett </b>, kursiv </i>, unterstrichen </u>
<sortkzt>::=Sortierbeginnkennzeichen, Standard: &= 
<absmark>::=Absatzmarke, Standard: #94

Die Struktur ist durch folgende Merkmale gekennzeichnet.
Der Feldnamen ist entsprechend dem Zweck zu bilden:
<feldname>::#60;bezeichner>

Länge: 1...12, empfohlen: 2 bis 7 Zeichen, ohne Sonderzeichen.
<feldwert>::=Zeichenfolge, Standard: ANSI oder ASCII, maximale Länge: 32000 Zeichen
Das Datensatzende ist wählbar, sollte aber auf dem Standardwert belassen werden.
<dokumentende>::lt;spezialzeichen>
Standard: &&& maximale Länge: 20 Zeichen

Das Feldende z.Zt. nicht mehr wählbar.
<feldende>::lt;spezialzeichen>, Standard: CRLF (#13#10, ^)


Mit der Version des Formates unter MIDOS2000 können in <zeichenkette> einfache HTML-Kommandostrukturen bis hin zu Tabellen enthalten sein. Sie sollten Ihre Datenbank so strukturieren, dass Sie auf HTML-Elemente in Textfeldern - ausser für einfache Textauszeichnungen - verzichten können.

Beispiel:
ABST:Hier folgt ein kurzes Beispiel. ^ ist das Umbruchzeichen, # ist das Registerkennzeichen, &= ist die Sortierkennung. 
TITL:Die MIDOS2000-Hilfe, eine 
<i>&=HTML-Lösung
</i> die es in sich hat.
DESK:Beispiel; Test; #MIDOS2000; Transfer; Feld; #Beschreibung; #Kommandosprache
DAT1:2000.10.22
DAT2:2000.12.31
TIME:23:12:02,4
PREI:34.90
WAEH:DEM
AUTR:
<u>Mayer, X.
</u>; #Müller, J.
&amp;&amp;&amp;

weitere Informationen:

ñ FELD, Feldmanipulation; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, Allgemeines


ï ñ ò Information 341

Feldmanipulation, allgemeine Programmsyntax



Die Feldmanipulation kann auf jede Datei angewendet werden, die in einem gültigen Datenbankformat von MIDOS2.1, MIDOS3.0, MIDOS97 und MIDOS2000 vorliegt, wobei mindestens ein Datensatz mit einem Feld und einem Dokumentende enthalten sein muss.

Die in der Kommandobeschreibung mit gekennzeichneten Kommandos sind nur auf das strenger definierte MIDOS2000-Format anwendbar, siehe Feldmanipulation, Datensatz-Syntax. Entscheident dafür sind die folgenden Parameter:

<aussagentrenner>= | oder ascii 124

<dokumentende>= &&& (3 mal Ampersand)

<feldende>= CRLF, auch #13#10, mit ^ symbolisiert.

Bei Unstimmigkeiten bezüglich des vorliegenden Formates konsultieren Sie den Entwickler oder bearbeiten Sie Ihre Dateien mit der Funktion Datenbankanalyse in MIDOS-Update oder unter Ausgabe.

Prüfen Sie die Dateien an den Stellen, die Ihnen als Syntaxfehler oder als extreme Werte für die Feldlänge, als verdächtige Zeichen oder extreme Feldaussagenlänge nachgewiesen werden. Extreme Werte in Datenfeldern sind:



Die Rolle der Datei MISCHABS als Datenbeschreibung wird in der Dokumentation zu MIDOS2000 erläutert, siehe Datenbeschreibung.

Beachten Sie, dass ein leeres Feld und ein nicht vorhandenes Feld verschiedene Wirkungen in der Verarbeitung der Datensätze haben.

Die Feldmanipulationstabelle



Eine Feldmanipulationstabelle besteht aus:



Quellfeld-Zielfeld-Zuweisung und EXEC-Prozedur-Teil müssen durch eine Leerzeile getrennt werden.

Mehrere EXEC-Prozeduren untereinander sind ebenfalls mit einer Leerzeile zu trennen. Am Schluss des EXEC-Prozedur-Teils muss eine Leerzeile stehen.

Eine Translate-Tabelle muss mit einer Leerzeile abgeschlossen werden.

Eine Leerzeile in dieser Syntax besteht aus einem CRLF, einem Leerzeichen und einem weiteren CRLF.

Innerhalb von EXEC-Prozeduren wird nur ein Kommando pro Zeile geschrieben.

In der Quellfeld-Zielfeld-Zuweisung kann eine nicht auszuführene Anweisung mit REM auskommentiert werden.

Eine in der Quellfeld-Zielfeld-Zuweisung aufgerufene, aber nicht vorhandene EXEC-Prozedur wird als Fehler gemeldet.

Sprunganweisungen müssen immer vorwärts gerichtete Sprungmarken ansteuern. Fehlende Sprungsmarken führen im allgemeinen zum Ende der EXEC-Prozedur, ohne das eine Ausgabe erfolgt.

Hinter einer Anweisung mit ZFname kann ein Kommentar stehen.

Hinter ZFBEGIN darf ausser für (MODE) keine Zahl stehen.

In einer EXEC-Prozedure kann eine externe Tabelle, eine Translate-Datei aufgerufen werden, die z.B. zur Übersetzung von Feldaussagen dient. Diese Datei muss zum Aufrufzeitpunkt vorhanden sein, andernfalls wird ein Fehler gemeldet.

Die Programmentwicklung kann in MIDOS-Update im Testmodus erfolgen, wenn das Symbol Bildschirm eingeschaltet wird. Die MIDOS-Dateieditor muss für die Programmentwicklung benutzt werden, da die Syntaxprüfung für die Kommandos einer Transformation an den Editor gebunden ist. Wenn Sie einen anderen Editor verwenden, sind keine Fehlermeldungen erzeugbar.
transformationsprogramm::= quellfeld-zeilfeld-zuweisung [exec-prozedurteil]

quellfeld-zeilfeld-zuweisung::= [execprozeduraufruf]... [[quellfeld]... [zielfeld]...]...

Die Quellfeld-Zielfeld-Zuweisung besteht im einfachsten Fall nur aus der Nennung des Quellfeldnamen. Sie müssen die oben stehende allgemeine Syntax zerlegen in folgende Möglichkeiten:

  1. execprozeduraufruf
    Die Verarbeitung für ein Feld erfolgt komplett in einer EXEC-Prozedur, in der auch der Zielfeldname erzeugt werden muss, wenn ein MIDOS-Format erzeugt werden soll.
  2. execprozeduraufruf zielfeld
    Die Verarbeitung für ein Feld erfolgt komplett in einer EXEC-Prozedur. Der Zielfeldname wird dem Ergebnis der EXEC-Prozedur in der Quellfeld-Zielfeld-Zuweisung zugeordnet. Sie müssen darauf achten, dass möglichst keine Leerfelder entstehen.
  3. quellfeld
    Das Quellfeld wird mit gleichem Namen und Inhalt zum Zielfeld.
  4. quellfeld zielfeld
    Das Quellfeld wird mit dem Zielfeldnamen und unverändertem Inhalt zum Zielfeld.


EXEC-Prozedurteil


exec-prozedurteil::=leerzeile EXECnn: CRLF prozedur [leerzeile]

Grenzwert: nn=[1..99]. 99 EXEC-Prozeduren in einem Programm sind möglich.

Bei der Arbeit mit den neuen Zwischenfeldkommandos:
prozedur::=[zfprozedurbeginn] zfkommando CRLF [zfkommando]... [zfprozedurende]

Bei der Arbeit mit den älteren Kommandos:

prozedur::=kommando CRLF [kommando]...

Die Feldmanipulation kann nicht nur dazu benutzt werden, ein MIDOS-Format zu erzeugen. Vielmehr kann die Anordnung der Daten in der Ausgabe in völlig freier Form programmiert werden.

Wenn Sie aber MIDOS-Format erzeugen müssen, dann empfehlen wir, die Entwicklung von Programmen im Rahmen eines Jobs durchzuführen, bei dem Sie die Programme ANALYSE und INDEX zur Überprüfung der Ergebnisse einsetzen.

weitere Informationen:

ñ AUSGABE ñ Datenbankanalyse ñ FELD, Feldmanipulation; ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, Allgemeines; ñ Feldmanipulation, Datensatz-Syntax


ï ñ ò Information 342

Feldmanipulation, Transformationstabelle



Transformationspraxis



Die Kommandos der Feldmanipulation werden in einer Transformationstabelle definiert und in einer Datei abgelegt, die vom Typ .TAB sein muss. Die Größe der Datei darf z.Zt. 32 KByte nicht überschreiten. Sie muß mit dem MIDOS-Dateieditor bearbeitet werden, damit die Vorteile der integrierten Syntaxprüfung zur Verfügung stehen.
Eine Transformationsdatei besteht aus den Teilen:

1. Transformationstabelle mit Quellfeld-Zielfeld-Zuweisung
2. EXEC-Prozedurteil mit den EXEC-Prozeduren.

Die Transformationstabelle ist nach dem Format
<quellfeldname1> <leerzeichen> <zielfeldnameY> 
<quellfeldname2> <leerzeichen> <zielfeldnameY>
... 
<quellfeldnameN> <leerzeichen> <zielfeldnameZ>

zu erfassen.



Als <quellfeldname> kann das Schlüsselwort EXEC gefolgt von einer max. 2 stelligen Zahl (0..99) stehen. Damit werden Prozeduren aufgerufen, die im Transformationsprogramm nach der Feldzuordnungstabelle definiert werden müssen.
Die Angabe EXECn wird als EXEC-Prozeduraufruf bezeichnet.
Hinter einem EXEC-Prozeduraufruf kann eine <zielfeldname> stehen. Dann wird das Ergebnis der Verarbeitung aus der EXEC-Prozedur diesem Feldnamen zugeordnet.
EXEC33 AUTOR

Steht hinter einem EXEC-Prozeduraufruf kein Feldname, so muß in der EXEC-Prozedur ganz besonders auf die Erzeugung der richtigen Syntax des Feldes bzw. Dokumentes geachtet werden. Hinweis: Es sind Fälle denkbar, bei denen kein Feldname erzeugt werden soll.
EXEC33

Der <zielfeldname> kann entfallen, dann ist <quellfeldname> gleich <zielfeldname>. Eine inhaltliche Änderung der Feldwerte erfolgt nicht (1:1-Zuweisung).
AUTOR

Der Inhalt von <quellfeldname>, die weder in der Transfertabelle noch in einer EXEC-Prozedure genannt bzw. verarbeitet werden, werden nicht in die <zieldatei> ausgegeben.

Die Quellfeld-Zielfeld-Zuweisungen können mit dem Wortsymbol
NWENDE {nwende}

abgeschlossen werden. Damit wird das als Standardwert definierte Datensatzendezeichen &&& automatisch nach jedem Datensatz geschrieben.

Es sind Fälle denkbar, in denen eine andere Endezeichenkette gewünscht wird. Dann ist NWENDE wegzulassen und das Dokumentende ist via EXEC-Prozedur zu setzen, wenn das Datensatzende des Zieldatensatzes erreicht ist.

Ist ein in der Transformationstabelle genanntes <quellfeld> leer, wird es auch im Zielformat leer erzeugt. Soll der Transfer anders ablaufen, ist eine EXEC-Prozedur zu schreiben, die die Übergabe leerer Felder in die Ausgabe unterdrückt (siehe Bedingte Anweisung if...). Man kann die Länge des Zwischenfeldes z.B. auf 0 abprüfen.

Soll im Rahmen der Transformation ein MIDOS-Datenbankformat entstehen, so muß der Anwender selbst für die richtige Syntax des entstehenden Formates sorgen, also Feldnamen, Feldnamenende, Feldende und Aussagentrenner sowie Datensatzende erzeugen.

Beim Öffnen einer EXEC-Prozedur mit ZFBEGIN eird ein leeres Zwischenfeld ZF initialisiert.
Außer dem Zwischenfeld gibt es noch ein MEMO-Feld. Das MEMO-Feld kann 64 KByte Daten aufnehmen und muss aktiv gefüllt und, wenn notwendig, auch gelöscht werden.
Die beiden Felder brauchen nicht definiert werden.

Die Verarbeitung von Datensätzen erfolgt im Prinzip in folgender Weise:

  1. Der MIDOS-Datensatz wird gelesen und seine Felder werden lokalisiert,
  2. die Feldzuweisungen werden ausgeführt; Kommandos mit ZF speichern Zwischenwerte in das Zwischenfeld, Kommandos mit MEMO benutzen das Memory-Feld, um dass sich der Anwender vollständig selbst kümmern muss (füllen, umspeichern, löschen), die Copy-Kommandos ohne ZF und MEMO geben die Werte direkt in den Ausgabebereich aus,
  3. der neue Datensatz wird schrittweise zusammengesetzt und am Ende der EXEC-Prozedur bzw. beim erreichen von NWENDE geschrieben.


EXEC-Kommandos sind im Anschluß an die Transformationstabelle nach einer Leerzeile zu definieren. Eine Leerzeile im Sinne dieser Syntax besteht aus CRLF Leerzeichen CRLF.

Es kann nur ein Kommando pro Zeile stehen.

Hinter einem Zwischenfeldkommando kann ein Kommentar stehen. Die Kommandos von Zwischenfeldbefehlen werden mit ZFBEGIN eingeleitet und mit ZFENDE beendet. Mit ZFBEGIN wird das Zwischenfeld initialisiert. Mit ZFENDE wird der Inhalt des Zwischenfeldes in den Ausgabebereich übertragen.

Kommandos ohne Zwischenfeld tragen die Daten direkt in den Ausgabebereich ein, so dass auf die erzeugten Daten nicht noch einmal zurückgegriffen werden kann.

EXEC-Prozeduren sind mit EXECnn: nn=[1..99] einzuleiten und mit einer Leerzeile abzuschließen.

Fehlt eine EXEC-Prozedur wird beim Start des Transfers ein Syntaxfehler gemeldet. Die Syntaxprüfung ist an die Verwendung des MIDOS-Dateieditors gebunden.

Es ist möglich, ein Memory-Feld zu benutzen, das vom Programmierer aktiv gefüllt und geleert werden muss. Diese Memory-Feld kann ggf. Datensatz-übergreifend gefüllt und abgespeichert werden. Es bleibt auch über EXEC-Prozeduren hinaus erhalten, wenn es nicht aktiv gelöscht wird.

Das Ergebnis eines EXEC-Prozedur-Aufrufs kann in einem direkt folgenden EXEC-Prozedur-Aufruf weiterverwendet werden, wenn



Das Ergebnis einer EXEC-Prozedur kann in ein folgendes Dokument übernommen werden, wenn es über das Memory-Feld gespeichert und weitergereicht wird.

Beispiel:


EN EXTNR     Quellfeld = Zielfeld mit Wechsel des Feldnamens
VF VERF
ST TITEL
EK           Quellfeld = Zielfeld, Feldname bleibt gleich
DT
EXEC1 DE2    Zielfeldinhalt wird in EXEC1 erzeugt und in DE2 gespeichert
EXEC2 STO
EXEC3        Zielfeld wird in EXEC3 erzeugt, Feldname muss dort zugewiesen werden
NWENDE       Dokumentende automatisch übertragen
             Leerzeile mit 1 Leerzeichen
EXEC1:       EXEC-Prozedur
CA(DE,1,100,; )
CC(^,&)      Konstante wird dzugewiesen
             Leerzeile mit 1 Leerzeichen
EXEC2: ...   nächste EXEC-Prozedur Feldname im Feldteil zugewiesen
             Leerzeile mit 1 Leerzeichen
EXEC3:       In der EXEC-Prozedur muß der Feldname erzeugt werden, weil oben nicht zugewiesen.
CC(X1:)
CS(RF,1,25)
CC(^)        Das Feldende muß erzeugt werden.

In der folgenden Kommandobeschreibung gilt für die Schreibweise:

<b>{ } </b>steht für alternative Schreibweise
<b>[ ] </b> steht für wahlweise Angabe
<b> < > </b> markiert Variable

Reservierte Wortsymbole sind in Grossbuchstaben geschrieben. Die Programmkommandos sind aber in Groß- und Kleinbuchstaben zulässig.

weitere Informationen:

ñ FELD, Feldmanipulation; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Allgemeines; ñ Feldmanipulation, Datensatz-Syntax; ñ Löschen von Teilzeichenketten; ñ Kopieren einer Konstanten; ñ Kopieren einer Teilzeichenkette; ñ Kopieren eines Feldes; ñ Kopieren in das Zwischenfeld; ñ Kopieren von Feldaussagen; ñ Zwischenfeld-Befehle; ñ Zwischenfeldanfang und Ende säubern; ñ Übersetzen von Feldaussagen


ï ñ ò Information 343

Kopieren eines Feldes




COPYALL(<feldname>,[<bedingung>])
{COPY(...)}  {CO(...)}



weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Kopieren einer Konstanten; ñ Kopieren einer Teilzeichenkette; ñ Kopieren in das Zwischenfeld; ñ Kopieren von Feldaussagen; ñ Bedingungen für Kopieranweisungen; ñ Löschen von Teilzeichenketten


ï ñ ò Information 344

Kopieren einer Konstanten




COPYCONST(<zeichenkette>,[&])
{CC(...)}




Beispiel:
if exist(NAME,#154) goto xy


Wenn im Feld NAME ein Ü existiert, springe zur Marke xy.

CC('#142nderungsdatum: ')


Erzeugt im Ausgabebereich ASCII-Code für Ä.

CC('Änderungsdatum: ')


Erzeugt im Ausgabebereich ANSI-Code für Ä. Die Apostroph sind für das Leerzeichen nach dem Doppelpunkt erforderlich.

weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Kopieren in das Zwischenfeld; ñ Kopieren einer Teilzeichenkette; ñ Kopieren von Feldaussagen; ñ Löschen von Teilzeichenketten


ï ñ ò Information 345

Kopieren einer Teilzeichenkette




COPYSUBSTRING(<feldname>,<von>,<bis>,[<bedingung>],[])
{CS(...)}




Beispiel:

CS(EK,1,20)

Kopiert von Position 1 bis Position 20 aus dem Feld EK in den Ausgabebereich.

CS(EK,Berlin,'(')

Kopiert vom 1. Auftreten des Wortes Berlin, bis zur 1. runden Klammer. Die Funktion liefert nur dann ein richtiges Ergebnis, wenn die "(" nach dem Wort "Berlin" steht, andernfalls ist das Ergebnis leer.

weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Kopieren in das Zwischenfeld; ñ Kopieren eines Feldes; ñ Kopieren einer Konstanten; ñ Kopieren von Feldaussagen; ñ Bedingungen für Kopieranweisungen; ñ Löschen von Teilzeichenketten


ï ñ ò Information 346

Kopieren von Feldaussagen




COPYAUSSAGE(<feldname>,<von>,<bis>,<trennzeichen>,[<bedingung>],[])
{CA(...)}




Beispiel:

COPYAUSSAGE(DE,3,3,; )

Dritte Aussage des Feldes DE kopieren.

COPYAUSSAGE(DE,2,2,; )

Zweite Aussage des Feldes DE kopieren.

CA(DE,1,1,; )

Erste Aussage des Feldes DE kopieren. In den vorgenannten Beispielen ist der Aussagentrenner ohne Bedeutung, muss aber aus syntaktischen Gründen gesetzt werden.

CA(DE,4,20,#94)

Aussage 4 bis 20 kopieren und den Aussagentrenner in das Symbol für Absatz ändern.

weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Kopieren in das Zwischenfeld; ñ Kopieren eines Feldes; ñ Kopieren einer Teilzeichenkette; ñ Kopieren einer Konstanten; ñ Bedingungen für Kopieranweisungen; ñ Löschen von Teilzeichenketten


ï ñ ò Information 347

Übersetzen von Feldaussagen




TRANSLATE(<feldname>,<von>,<bis>,<trennzeichen>)
[FILE:<dateiname>]
{TR(...)}




Beispiel:

EXEC-Prozedur
EXEC12:
if not exist(CC) goto m1 
TRANSLATE(CC,1,6,|)
FILE:CCKONK.TXT
 
CC(^)
:m1


Die Aussagen Nummer 1 bis 6 des Feldes CC sollen mit der externen Translate-Tabelle CCKONK.TXT übersetzt werden. Als Trenner soll; gesetzt werden.

Beim Translate-Kommando können Leerfelder in der Ausgabe entstehen, wenn keine der Feldaussagen, die als <quellaussagen> genannt sind, im Datensatz enthalten ist. Ggf. muss mit TRANSLATEALL gearbeitet werden. Ausserdem sollte vor dem Aufruf von TRANSLATE abgeprüft werden, ob das Feld im Datensatz auftritt.

TRANSLATEMAX(<feldname>,<von>,<bis>,<trennzeichen>)
 [FILE:<dateiname>]
 {TRMAX(...)}




TRANSLATEALL(<feldname>,<von>,<bis>,<trennzeichen>)
 [FILE:<dateiname>]
 {TRALL(...)}




TRANSLATEALLMAX(<feldname>,<von>,<bis>,<trennzeichen>)
 [FILE:<dateiname>]
 {TRALLMAX(...)}



weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Tabellenstruktur Translate-Tabelle; ñ Löschen von Teilzeichenketten


ï ñ ò Information 348

Tabellenstruktur Translate-Tabelle





Beispiel: Translate-Datei mit ^ getrennt
AAA^AAA Allgemeines
BBB^BBB Philosophisches, Beispiel
XXX^CCC Charakteristisches; AAA Allgemeines
YYY$ZZZ^ZZZ Sonstiges (z.B. Merkwürdiges#41
ABC^


Beachte:

Zeile 3 mit Besonderheit: Aus einem Code werden zwei Aussagen.
Zeile 4 endet mit dem Ersatzzeichen für ")".
Zeile 5 löscht den Quellwert. Gibt dadurch eventuell ein leeres Feld aus.

Beispiel: Externe/interne Translate-Tabelle mit Komma
TRALLMAX(DE,1,10,; )
PC,Rechner
Computer,Rechner#44klein
Laube,Gartenhaus
Drücker,Drucker (Gerät#41
Dr#129cker,Drucker (Ger#132t#41

CC(^)

Beachte: Es wird der ANSI-Code für ä in Gerät erzeugt. In Drücker wird das ü mit seinem ANSI-Code gesucht. Wenn Sie es im ASCII-Code suchen wollen, müssen Sie #129 angeben.
Sie müssen, wenn ein Feld im Ausgabebereich fertiggestellt ist, dieses noch mit CRLF - ^ als Symbol - abschliessen. Dazu dient die letzte Anweisung CC(^)
TRALL(DE,1,10,|)
FILE:KONVERT.TXT
 
CC(^)

weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Übersetzen von Feldaussagen; ñ Löschen von Teilzeichenketten


ï ñ ò Information 349

Formatieren von Feldern



FORMAT(<feldname>,<links/rechts>,<anzahl>,<füllzeichen>)
{FO(...)}




Hinweis: Durch das Aneinanderfügen von mehreren formatierten Feldern entsteht ein Grundformat für relationale Datenbanken.

weitere Informationen:

ñ Feldmanipulation, Transformationstabelle; ñ Feldmanipulation, allgemeine Programmsyntax; ñ Feldmanipulation, Datensatz-Syntax; ñ Feldmanipulation, Allgemeines; ñ Kopieren einer Teilzeichenkette; ñ Kopieren in das Zwischenfeld; ñ Löschen von Teilzeichenketten