Exportieren kann man entweder direkt mit dem Befehl write, der unmittelbar in die momentane Exportdatei schreibt, oder aber mit Hilfe von Export-Parametern mit dem Befehl export. Das zweite ist die mächtigere Methode, dafür aber muß man sich mit der Exportsprache auskennen. Der Vorteil ist, daß man mit einem einzigen Befehl, eben export, eine hochkomplexe strukturierte Ausgabe veranlassen kann, für die man sonst eine seitenlange Sequenz von write-Befehlen bräuchte.
Hinweis: Bis V27.1 gab es xport und download als getrennte Befehle. Sie wurden zusammengefaßt: Wo bisher xport oder download stand, kann nun einheitlich export stehen, download und xport bleiben aber möglich - kein alter FLEX muß geändert werden, alle drei sind nun synonym. Empfohlen wird, nur noch export zu verwenden.
Export gleichwertig: Download
export avanti gleichwertig, aber nicht mehr empfohlen: download und xport
Aktuellen Satz exportieren (wie über Menü Export) mit Hilfe der geladenen Parameter (siehe export param)
Mit E oder D (nicht bei avanti) erfolgt der Export über die PrintParameter statt ExportParameter, aber in dieselbe Datei.
Die Parameter und die Ausgabedatei kann man mit dem Befehl export p/f... ändern.
Soll nur ein bestimmter Abschnitt in den Exportparametern ausgeführt werden: vorher eine Variable besetzen, z.B. #uFL (mit Befehl var xxx\ins #uFL), und in den Parametern am Anfang einen Sprung einbauen:
#uFL +A e0
Oder - einfacher - die nachfolgend beschriebene Form nutzen:
export -x avanti
Führt in den geladenen Exportparametern den Abschnitt unter dem Label #-x aus. Dabei wird nichts ausgegeben, sondern gedacht ist dies für Manipulationen am Datensatz nach Art des beim alten Programm UPDATE.EXE möglichen Verfahrens (sog. "parametrierte Vorbehandlung", Kap. 9.6). Dabei war nur das Label #-# möglich, hier ist es ein beliebiges. Dieser Befehl wurde nur eingeführt, damit man alte Parameterdateien dieser Art weiterverwenden kann, wenn mit dem Programm acon Updates zu machen sind.
Wenn bei #-x eine Datenausgabe passiert, landet sie in der internen Variablen, und zwar wird sie hinten angehängt. Also vorher mit var "" leeren, wenn das nicht erwünscht ist, und anschließend ins $xy, wenn das Ergebnis dann noch gebraucht wird.
Sonderfall: Der Abschnitt #- E, sog. "Endabschnitt", kann ausgeführt werden, indem man
export - E gibt. (Jeweils ein Leerzeichen hinter dem - .)
Tip: Bei den nachfolgend beschriebenen Optionen (param, table, file ...) genügt die Angabe des jeweils ersten Buchstabens, also z.B. exp p name statt export param name.
export param name avanti
export table name avanti
Parameterdatei name.xPR bzw. name.xPT für den Export laden.
Im zweiten Fall wird die Tabellendatei zur schon vorhandenen Export-Parameterdatei hinzugeladen. Das entspricht dem Befehl tname in der Exportsprache, doch es dürfen keine mit # oder ! beginnenden Zeilen in der Datei stehen, sie würden ignoriert.
Achtung: name ohne die Erweiterung .xPR bzw. .xPT
Wenn name fehlt, wird der Inhalt der iV genommen.
Tip: Steht ? statt name, wird interaktiv eine Dateiauswahl angeboten.
Mit if no ... kann man auf den Fehlerfall reagieren (Param. konnten nicht geladen werden). Die Fehlermeldung steht dann in der iV, d.h. man kann schreiben:
exp p abc
if no mes;jump perror
export file filename avanti
export file +filename avanti
Nachfolgende Exporte (per export oder write ) sollen in die Datei filename gehen.
Das '+' bewirkt, daß an die Datei angehängt wird, sonst wird sie überschrieben.
Fehlt der filename, wird der Inhalt der iV als Dateiname genommen.
Tip: Steht ? statt filename, wird interaktiv eine Dateiauswahl angeboten.
Mit if no ... kann man auf den Fehlerfall reagieren (Datei kann nicht zum Schreiben geöffnet werden).
Bei avanti kann der filename auch stdout oder stderr sein. So kann man zwischendurch die Ausgabe des Befehls write auch mal auf die Konsole umlenken und mit exp f +... wieder zurückschalten.
Schließen kann man die Ausgabedatei mit close x . Das geschieht aber automatisch am Ende jedes Schreibvorgangs, man darf es also vergessen.
Übrigens: Die Datei wird erst dann wirklich angelegt, wenn etwas hineingeschrieben wird. Es kann also nicht passieren, daß eine leere Datei zurückbleibt, wenn gar nichts geschrieben wurde.
export brief
Die Kurzliste der Erg.Menge wird in die Exportdatei geschrieben. Wenn gerade eine ViewListe aktiv ist (d.h. zuletzt angezeigt wurde oder mit view ... geöffnet wurde), dann wird diese Liste geschrieben. Sollen dagegen die Datensätze als solche exportiert werden, muß exp view benutzt werden.
Achtung: in avanti wird diese Funktion mit dem Befehl list realisiert.
export view [zur View-Technik siehe "allegro news" 58]
Die momentan geöffnete ViewListe wird zum Exportieren benutzt. Die Datensätze werden in der Reihenfolge der ViewListe ausgegeben. In den Exportparametern kann man die Variable #uzV nutzen, die jeweils die Zeile aus der ViewListe enthält. Auch die Zwischenzeilen (Überschriften, Summen) werden exportiert.
Aber: Es muß sich um eine ViewListe handeln, die aus einer Erg.Menge hervorgegangen ist. Diese zeichnen sich dadurch aus, daß die Zeilen mit einer internen Satznummer und dahinter | beginnen.
Anm.: avanti kennt keine ViewListen.
export database Die gesamte Datenbank wird exportiert. Mit Überlegung einsetzen, wenn sehr groß!
export fam avanti
Der aktuelle Satz wird zusammen mit allen per Verknüpfung dazugehörigen Sätzen (wenn es solche gibt) in die Exportdatei geschrieben. Die Reihenfolge ergibt sich durch die Ordnung der Primärschlüssel (s.a. Befehl family / Family )
Export set
export set avanti (Zusatzfunktion siehe unten)
Aktuelle Erg.menge exportieren (wie über Menü Export). Mit E werden, wie oben, die PrintParameter benutzt.
export offline
Wenn eine Offline-Datei existiert, wird diese als Ganzes exportiert (wie auf dem Menü "Export").
export Head avanti
export Foot avanti
Hiermit kann man gezielt den Kopf- bzw. Fußabschnitt der Exportparameter ausführen lassen. Existiert der betr. Abschnitt nicht, geschieht nichts.
Nützlich kann das sein, wenn die Exportdatei einen bestimmten Vorspann oder ein bestimmtes Endstück braucht. Eher zu empfehlen ist in beiden Fällen export -H bzw. export -F mit zwei ganz normalen Abschnitten #-H bzw. #-F in den Parametern.
Wenn dieses unabhängig von den Daten ist, kann man dazu aber auch wri Fname einsetzen!
export Ref
Hiermit werden im aktuellen Satz die V14-Ersetzungen durchgeführt, d.h. Kürzel und Stammsatz-IdNummern durch Klartexte ersetzt. Eine Ausgabe erfolgt nicht, dazu muß noch ein normales export folgen.
Achtung: Den Datensatz nach diesemBefehl nicht anschließend speichern, denn die Kürzel und IdNummern sind dann als solche nicht mehr da. Diesen Befehl also nur einsetzen, wenn es lediglich um eine Verarbeitung von Daten geht, z.B. auch Durchsuchen.
Hinweis: In avanti gibt es dafür den Befehl set ai .
export VS avanti
Hiermit kann man gezielt die Verschlüsselungs-Sequenzen im gesamten Datensatz ersetzen lassen. Das sind Zeichenfolgen z.B. von der Form ऩ , die durch Klartext ersetzt werden sollen. Voraussetzung ist, daß im Ersetzungsregister die Sequenzen korrekt indexiert sind und daß in den Indexparametern das Zeichen & auf den Wert 9 gesetzt ist. Siehe Verlautbarung 154.
Achtung: Den Datensatz in einem solchen FLEX nicht anschließend speichern, denn die Sequenzen sind dann als solche nicht mehr da. Diesen Befehl also nur einsetzen, wenn es nur um Export von Daten geht.
export a aus ^e wird e^
export A aus e^ wird ^e
Beides auch in avanti
Verschiebt die diakritischen Zeichen (Akzente) hinter bzw. vor die Buchstaben. Notwendig ist das nur dann, wenn man intern ASCII oder ANSI hat, aber Unicode erzeugen will. Denn Unicode verlangt es andersrum als allegro: Akzent folgt dem Buchstaben.
Hinweis: Dasselbe kann man in den Exportparametern machen mit den Befehlen #da bzw. #dA.
Achtung: Wirkt auf den gesamten Datensatz UND den Hintergrundspeicher!
Nur auf den iV-Inhalt wirkt dagegen diese Variante: (ab V31.7)
export ai
export Ai
Beides auch in avanti
Welche Zeichencodes für Diakritika stehen, muß in einer Variablen pa innerhalb der Export- oder Indexparameter angegeben sein. Standardmäßig (für OstWest-DOS-Code) sieht diese so aus:
pa=181 182 183 184 189 190 198 199 207 208 209 210 211 212 219 222 223 232
Für den Windows-Code ist es folgende Liste:
pa=180 145 136 149 168 166 227 179 186 175 215 171 184 191 161 173 247 150
export wX avanti
Steuert die Art der Ausführung der nachfolgenden write -Befehle, bei avanti auch qrix und list .
Dient nur zur Setzung einer Sprungmarke, ersetzt nicht den write-Befehl selbst, macht selber keinen Output!!
Wenn es in den aktuellen Exportparametern eine Sprungmarke #-X gibt, werden nachfolgende write-Befehle nicht direkt ausgeführt, sondern die Zeichenkette, die ein write erzeugt hat, wird an den Export übergeben, und zwar an die Sprungmarke #-X der Parameter. Dort ist die Zeichenkette unter dem Variablennamen #u1 verfügbar. Erst das Ergebnis dieses Exports wird in die Exportdatei geschrieben.
Gedacht ist dies vor allem, aber nicht nur, dazu, ohne Komplikationen korrekten Unicode-Export mit dem Befehl write erzeugen zu können.
Achtung: wenn man Unicode-Output macht, intern aber ASCII hat:
VOR den write-Befehlen sollte man noch exp a einfügen, dahinter exp A, um die Akzentvertauschung mit einzubeziehen (s.o.).
In den Exportparametern muß dann nur stehen (siehe mitgelieferte p-unicod.apr)
dx=1 damit Umcodierung ausgefuehrt wird
tad-utf Tabelle ad-utf.apt laden. ODER:
tad-aw aktivieren, wenn Windows-Output gewünscht
#-X Sprungmarke
#u1 Die von write erzeugte Zeichenkette ausgeben
#+# Ende
Mit export w0 wird die Ausführungsart wieder auf "normal" gesetzt.
Zu Anfang eines jeden FLEXes ist "normal" eingeschaltet, d.h. der Befehl gilt nicht für die gesamte Sitzung, nur für den einen FLEX.
Arbeitet man mit Unicode-Verfahren 2 , braucht man keinerlei Vorbereitungen dieser Art zu machen! Erzeugt man aber eine HTML-Datei, muß diese am Anfang oder im Header die notwendige Angabe enthalten, daß die Datei in UTF-8 codiert ist.
Mit if cancel ... kann man in allen Fällen checken, ob der Exportvorgang mit [Esc] abgebrochen wurde.
Nur avanti
export set prefix: "Satztrenn-String"
Als Option kann vor jeden Datensatz eine Zeile mit dem Inhalt Satztrenn-String eingefügt werden.
Eine solche Trennung erleichtert die Auflösung der übertragenen Sätze im Client-Programm und arbeitet effizienter als eine „get-next"-Schleife.
Beispiel 1 : Export der aktuellen Ergebnismenge
Aufgabe: Es soll mit Hilfe von P-W.APR (Ausgabe im RTF-Textformat) die Ergebnismenge in die Datei LISTE.RTF geschrieben werden, wobei die Hilfsdatei LONGHEAD.RTF vorangestellt und am Ende noch als Abschluß die Zeichen "}}}" anzufügen sind.
Dateinamen für den Export setzen
export f liste.rtf
Dateikopf zuerst ausgeben
write Flonghead.rtf
Parameter laden
export p p-w
Ergebnismenge ausgeben
export set
Abschlußzeichen:
write "}}}"
Jetzt kann die fertige Datei sofort in WinWord eingelesen werden.