Import- / Exportmodelle: technischer Anhang 

Importverarbeitung und zugeordnete Aktionen

Der Import und Export von Objekten wird mithilfe einer während der Kompilierung des Modells angelegten Verarbeitung abgewickelt. Diese temporäre Verarbeitung heißt WWINNNNNN oder WWENNNNNN (NNNNNN ist ein Inkrement).

Im Falle des Exports gibt die Verarbeitung lediglich Daten aus (Filterung gemäß den Benutzerberechtigungen). Im Falle des Imports umfasst die Verarbeitung Anweisungen zur Dekodierung des Datenflusses und ruft verschiedene mit dem zu importierenden Objekt verbundene Funktionen auf. In gewisser Weise bildet die Verarbeitung also die Erfassung nach. In der Regel werden die Standardlabels der Verarbeitungen SUBXXX und SPEXXX für die Objektverwaltung aufgerufen.

Darüber hinaus werden aber auch spezifische Importlabels aufgerufen, die in der Verarbeitung IMPXXX definiert sind (sofern vorhanden). Diese sind ebenfalls in der im Modell definierten spezifischen Verarbeitung definiert, mit der Sonderfälle behandelt werden können. Der folgende Ablauf bietet eine genaue Beschreibung der Vorgehensweise beim Import von verschiedenen Objekttypen (weitere Erläuterungen sind der Dokumentation der Objektverwaltung zu entnehmen). In der folgenden Tabelle sind Standard-Objektaktionen kursiv und Importaktionen fett dargestellt.

Der Spalte Aktionen sind diejenigen Aktionen zu entnehmen, die direkt im Anschluss an den im Kontext angegebenen Vorgang durchgeführt werden: Im Falle des einfachen Objektes siehe also Bereich 8.2:

  • Es werden die Aktionen VERIF_MOD und IMP_VERIF_MOD ausgeführt.
  • Der Datensatz wird gespeichert. Dann werden die Aktionen AVANT_MODFIC und IMP_AVANT_MODFIC ausgeführt.
  • Die Variablen der Klasse [F] werden zugewiesen. Dann werden die Aktionen INIMOD und IMP_INIMOD ausgeführt.
  • Der Datensatz wird erneut geschrieben. Dann werden die Aktionen MODIF und IMP_MODIF ausgeführt.
  • Die Transaktion wird beendet (Commit). Dann werden die Aktionen APRES_MOD und IMP_APRES_MOD ausgeführt.
  • Die Datensatzsperre wird aufgehoben. Dann werden die Aktionen DEVERROU und IMP_DEVERROU ausgeführt.

Die Aktionen der speziellen Importverarbeitung werden vor denjenigen der Standard-Importverarbeitung ausgeführt; wird in der speziellen Importverarbeitung die Variable GPE mit 1 belegt, wird die Aktion der Standard-Importverarbeitung verhindert.

Einfaches Objekt

Sequenz

Kontext

Aktionen

1.1

Vor Anlage des Importprogramms:

Openo - Das Schreiben des temporären Importprogramms (dessen Name durch die Variable IMPTRT gegeben ist) ist noch nicht erfolgt.

Die Namen der verwendeten Masken können noch geändert werden (Tabelle NOMMSK, die Anzahl der Masken ist durch NBMASK gegeben).

IMP_COMPILE

1.2

Nach Anlage des Importprogramms:

Die temporäre Importverarbeitung (deren Name durch die Variable IMPTRT gegeben ist) wird immer noch von Openo geöffnet: Es können (mit Wrseq) zusätzliche Anweisungen hinzugefügt werden.

Die Verarbeitung wird nach dieser Aktion kompiliert. Im Anschluss daran beginnt der eigentliche Importprozess.

IMP_TRTSUP

2

Programmbeginn

OUVRE IMP_OUVRE

3

Lesen des Kopfzeilendatensatzes

Übernahme in die Klasse [F]

Die Aktion AP_IMPORT wird nach dem Laden der in den einzelnen Blöcken dekodierten Variablen aufgerufen (die Verschachtelungsebene ist durch die Variable SEPNUM (1 bis 8) gegeben, die Abkürzung der aktuell verarbeiteten Haupttabelle durch die Variable IMPABR).

 

 

AP_IMPORT

4

Prüfung der Anlage- oder

Änderungsberechtigung:

SETBOUT IMP_SETBOUT (*)

5

Existenzprüfung Objekt:

 

5.1

Das Objekt ist nicht vorhanden:

SETBOUT IMP_SETBOUT
RAZCREIMP_RAZCRE

5.2

Das Objekt ist vorhanden:

Datenblatt laden

Berechtigungen erneut prüfen

VERROU IMP_VERROU

LIENSIMP_LIENS

SETBOUT IMP_SETBOUT

AVANT_MOD IMP_AVANT_MOD

6.1

Simulation der Erfassung der der

Haupttabelle zugeordneten Masken

IMPORT

IMP_DEFTRT (*)

6.2

Für alle Maskenfelder:

Ausführung der Aktionen avant_zone

avant_saisie

init

Wenn das Feld erfasst wird:

Um zu ermitteln, ob das Feld sich in einer Tabelle befindet:

(diese Aktion belegt nolign, sofern notwendig)

Wenn OK = 1, dann Übernahme aus der Klasse [F]

des gleichnamigen Feldes

Ausführung der Aktionen après_zone

sowie ggf. après_modif

 

 

 

 

 

 

IMP_ZONE

7.1

Lesen eines Datensatzes der sekundären Datei (für alle sekundären Datensatzebenen)

 

IMPORT

IMP_TAB

 

AP_IMPORT

 

7.2

Simulation der zugehörigen Masken

Im Falle einer Tabelle wird die Variable

nolign verwendet.

Standardmäßig wird eine Zeile hinzugefügt

(nolign = 0)

 

8

Speichern des Objekts

 

8.1

Anlage:

Transaktionsbeginn

Buchung

Transaktionsende

 

 

Rollback:

VERIF_CRE IMP_VERIF_CRE

INICREIMP_INICRE

CREATION IMP_CREATION

APRES_CRE IMP_APRES_CRE

 

AB_CREATION

IMP_AB_CREATION

8.2

Änderung:

Transaktionsbeginn

Datensatz wird gesperrt

Variablen [F] werden belegt

Es wird erneut geschrieben

Transaktionsende

 

 

Rollback:

Aufhebung der Sperre

VERIF_MOD IMP_VERIF_MOD

AVANT_MODFIC

IMP_AVANT_MODFIC

INIMODIMP_INIMOD

MODIF IMP_MODIF (*)

APRES_MOD IMP_APRES_MOD

 

AB_MODIF IMP_AB_MODIF

DEVERROU IMP_DEVERROU

9

Programmende:

FERME IMP_FERME

(*) Mit den Aktionen MODIF und IMP_MODIF werden im Prinzip die Zeilen gespeichert (MODIF im Standard von der Objektverwaltung, IMP_MODIF für die Verwaltung zusätzlicher Aktionen). Mit der Aktion IMP_DEFTRT kann die Variable TRTMSK belegt werden, sofern notwendig. Durch diese ist der im Masken-Dictionary definierte Name der Automatik-Verarbeitung gegeben. 

Die Aktion IMP_SETBOUT wird zur Vervollständigung der Objektverwaltungsoptionen verwendet. Beispiel: Um die Datenanlage zu verhindern, kann ein Call VIREBOUT notwendig sein, das sich insbesondere auf die Variable CHAINE auswirkt, welche sämtliche Optionen enthält.

Kombiniertes Objekt

Sequenz

Kontext

Aktionen

1.1

Vor Anlage des Importprogramms:

Openo - Das Schreiben des temporären Importprogramms (dessen Name durch die Variable IMPTRT gegeben ist) ist noch nicht erfolgt.

Die Namen der verwendeten Masken können noch geändert werden (Tabelle NOMMSK, die Anzahl der Masken ist durch NBMASK gegeben).

IMP_COMPILE

1.2

Nach Anlage des Importprogramms:

Die temporäre Importverarbeitung (deren Name durch die Variable IMPTRT gegeben ist) wird immer noch von Openo geöffnet: Es können (mit Wrseq) zusätzliche Anweisungen hinzugefügt werden.

Die Verarbeitung wird nach dieser Aktion kompiliert. Im Anschluss daran beginnt der eigentliche Importprozess.

IMP_TRTSUP

1.3

Programmbeginn

OUVREIMP_OUVRE

2

Lesen der Importdatei und Übernahme in die Klasse [F]

Die Aktion AP_IMPORT wird nach dem Laden der in den einzelnen Blöcken dekodierten Variablen aufgerufen (die Verschachtelungsebene ist durch die Variable SEPNUM (1 bis 8) gegeben, die Abkürzung der aktuell verarbeiteten Haupttabelle durch die Variable IMPABR).

AP_IMPORT

3

Existenzprüfung Objekt (Anzahl Zeilen > 0)

 

3.1

Das Objekt ist vorhanden:

VERROUIMP_VERROU

3.2

Prüfung der Anlage- oder

Änderungsberechtigung:

SETBOUTIMP_SETBOUT

3.3

Das Objekt ist nicht vorhanden:

SETBOUTIMP_SETBOUT

RAZCREIMP_RAZCRE

4.1

Leseschleife über die Datensätze

Für die den Zeilen zugeordneten Datensätze:

Übernahme in die Klasse [F]

Ende Leseschleife

Am Schleifenende verbundene Datensätze:

FILTER

LIENS0IMP_LIENS0

LIENSIMP_LIENS

 

LIENS2IMP_LIENS2

5.1

Simulation der Erfassung der der

Haupttabelle zugeordneten Masken

IMPORT

IMP_DEFTRT (*)

5.2

Für alle Maskenfelder:

Ausführung der Aktionen avant_zone

avant_saisie

init

Wenn das Feld erfasst wird:

Wenn OK = 1, dann Übernahme des gleichnamigen Feldes aus der Klasse [F]

Ausführung der Aktionen après_zone und ggf. après_modif

 

 

 

 

IMP_ZONE

6.1

Lesen eines Datensatzes der sekundären Datei

Die Aktion AP_IMPORT wird nach dem Laden der in den einzelnen Blöcken dekodierten Variablen aufgerufen (die Verschachtelungsebene ist durch die Variable SEPNUM (1 bis 8) gegeben, die Abkürzung der aktuell verarbeiteten Haupttabelle durch die Variable IMPABR).

IMPORT

 

AP_IMPORT

6.2

Simulation der zugehörigen Masken

Im Falle einer Tabelle wird die Variable nolign verwendet.

Standardmäßig wird eine Zeile hinzugefügt

( nolign = 0)

 

7

Speichern des Objekts

 

7.1

Anlage:

 

Transaktionsbeginn

Für jede Zeile:

Buchung

 

Am Ende des Lesevorgangs:

Transaktion beendet:

VERIF_CRE IMP_VERIF_CRE

DEBUT_CRE IMP_DEBUT_CRE

INICREIMP_INICRE

CREATIONIMP_CREATION

MODIFIMP_MODIF

APRES_CREIMP_APRES_CRE

7.2

Änderung:

  Transaktionsbeginn

Zeilen löschen

Schleife über die Zeilen:

 

Zeile anlegen

Am Ende der Schleife

Transaktionsende

VERIF_MOD IMP_VERIF_MOD

DEBUT_MOD

IMP_DEBUT_MOD

FILTER

INICREIMP_INICRE

CREATIONIMP_CREATION

MODIFIMP_MODIF

APRES_MODIMP_APRES_MOD DEVERROUIMP_DEVERROU

8

Programmende:

FERME IMP_FERME

 

Tabellenobjekt

Sequenz

Kontext

Aktionen

1.1

Vor Anlage des Importprogramms:

Openo - Das Schreiben des temporären Importprogramms (dessen Name durch die Variable IMPTRT gegeben ist) ist noch nicht erfolgt.

Die Namen der verwendeten Masken können noch geändert werden (Tabelle NOMMSK, die Anzahl der Masken ist durch NBMASK gegeben).

IMP_COMPILE

1.2

Nach Anlage des Importprogramms:

Die temporäre Importverarbeitung (deren Name durch die Variable IMPTRT gegeben ist) wird immer noch von Openo geöffnet: Es können (mit Wrseq) zusätzliche Anweisungen hinzugefügt werden.

Die Verarbeitung wird nach dieser Aktion kompiliert. Im Anschluss daran beginnt der eigentliche Importprozess.

IMP_TRTSUP

1.3

Programmbeginn

OUVREIMP_OUVRE

2

Lesen der Daten aus der Datei und Übernahme in die Klasse [F]

Die Aktion AP_IMPORT wird nach dem Laden der in den einzelnen Blöcken dekodierten Variablen aufgerufen (die Verschachtelungsebene ist durch die Variable SEPNUM (1 bis 8) gegeben, die Abkürzung der aktuell verarbeiteten Haupttabelle durch die Variable IMPABR).

 

AP_IMPORT

3

Das Objekt ist vorhanden:

VERROUIMP_VERROU

4

Sperren der Tabelle

Lesebeginn:

Leseschleife über die Datensätze

Am Ende der Schleife

FILTER

LIENS0IMP_LIENS0

LIENSIMP_LIENS

LIENS2IMP_LIENS2

5

Prüfung der Änderungsberechtigung:

SETBOUTIMP_SETBOUT

6.1

Simulation der Erfassung der der

Haupttabelle zugeordneten Masken

IMPORT

IMP_DEFTRT (*)

6.2

Für alle Maskenfelder:

Ausführung der Aktionen avant_zone

avant_saisie

init

Wenn das Feld erfasst wird:

Wenn OK = 1, dann Übernahme des gleichnamigen Feldes aus der Klasse [F]

Ausführung der Aktionen après_zone und ggf. après_modif

 

 

 

 

IMP_ZONE

7.1

Lesen eines Datensatzes der sekundären Datei

IMPORT

7.2

Simulation der zugehörigen Masken

Der Tabelle wird eine Zeile hinzugefügt (nolign wird in der Objektverwaltung verwaltet)

 

8

Speichern des Objekts

 

8.1

Immer noch Anlage

Transaktionsbeginn

Sperren der Tabelle

Wenn nach MOD_IMPORT OK <> 0,

wird die Transaktion fortgesetzt:

Alle vorhandenen Datensätze werden gelöscht

Für jede Zeile:

Buchung

Am Ende des Lesevorgangs:

Transaktionsende

VERIF_MOD IMP_VERIF_MOD

MOD_IMPORT

 

FILTER

INICREIMP_INICRE

CREATIONIMP_CREATION

MODIFIMP_MODIF

9

Bei erfolgreicher Transaktion

APRES_MODIMP_APRES_MOD

10

Programmende:

FERMEIMP_FERME

 

Aktionen der Verarbeitung IMPxxx

Alle IMPxxx-Aktionen weisen denselben Kontext auf wie die SUBxxx-Aktionen und werden nach diesen aufgerufen.

Bei folgenden Aktionen handelt es sich um spezielle Aktionen.

Aktion IMPORT

Die Aktion IMPORT wird nach jedem gelesenen Datensatz aufgerufen.

Die Variable IMPFIC enthält die Abkürzung der importierten Datei. Die entsprechende Klasse ist (bei tatsächlich importierten Daten) online.

Bei Tabellen wird die Variable nolign mit 0 initialisiert und beim Abgang für die Ermittlung der erfassten Zeile verwendet. Bleibt nolign = 0, wird eine neue Zeile angelegt.

Aktion IMP_TAB

Die Aktion IMP_TAB wird für die Verwaltung der Felder einer in eine Tabelle eingeordneten Sekundärtabelle verwendet (in der dritten Objektseite sind zu diesem Zweck die Sekundärtabelle, Masken und entsprechenden Tabellenendevariablen definiert). Auf diese Weise können die nicht indizierten Felder unterschieden werden, die in eine Tabelle mit anderen Feldern eingeordnet werden müssen. Diese Aktion wird lediglich beim Import von normalen Objekttypen verwendet.

Aktion IMP_ZONE

Die Aktion IMP_ZONE wird bei der Felderfassung aufgerufen und dient der Wiederherstellung eines Wertes in einer Maske, der in der Datei einen anderen Namen aufweist (Beispiel: mehrdimensionale Felder in einer Tabelle, denen mehrere Spalten in einer Tabelle entsprechen):

  • Die Variable IMPFIC enthält die Abkürzung der Datei, die zur Erfassung führe.
  • Die Variable IMPMSK enthält den Namen der gerade erfassten Maske.
  • Die Variable IMPZON enthält den Namen des gerade erfassten Feldes.
  • Die mit 0 initialisierte Variable IMPMOD löst die Aktion après_modif aus.
  • Die mit 1 initialisierte Variable OK kann die Standardaktion auslösen.

Aktion MOD_IMPORT

Die Aktion MOD_IMPORT dient lediglich dem Import eines Tabellenobjekts (um diesen Import eventuell zu verhindert).

Spezifische Importverarbeitung

Diese Importverarbeitung ist eine (im Allgemeinen aus Performancegründen gewählte) Abkürzung der Standard-Objektverwaltung und umfasst lediglich eine begrenzte Anzahl von mit Gosub aus der Importfunktion heraus aufgerufenen Labels. Diese Labels werden nachstehend aufgelistet.

Etikett

Kontext

$OUVRE

Bei Importbeginn können mit diesem Label die benötigten Masken, Tabellen und Variablen deklariert werden.

$RAZCRE

Beim Lesebeginn (ein neuer Datensatz wird gelesen). Die Variablen werden auf 0 zurückgesetzt und können im Anschluss daran durch den Import belegt werden.

$SAIMSK

Wenn eine Datengruppe gelesen wurde. Mit der Variable IMPFIC lässt sich die Abkürzung der Tabelle ermitteln, deren Inhalt gelesen wurde. Die diese Tabelle entsprechende Klasse [F] wird belegt, und die Daten können in Masken übernommen werden (wenn mit Objekten vom Typ Kopfzeile / Zeile gearbeitet wird, werden die Daten im Allgemeinen in einer Maske zwischengespeichert).

$VALID

Das Lesen der Daten ist abgeschlossen: Mit diesem Label können die Prüfungen durchgeführt und die Daten in der Datenbank angelegt oder geändert werden.

Die Verwendung dieses Importmodus wird nur empfohlen, wenn sonst Performanceprobleme auftreten. Der Standardimport weist zwar eine längere Laufzeit auf, ermöglicht dafür aber die automatische Prüfung unter Berücksichtigung sämtlicher Beschreibungen in der Objektlogik, wohingegen das spezifische Importprogramm die manuelle Aufzeichnung voraussetzt (eventuell per Aufruf der vorhandenen Komponenten).

Umschlüsselungsdateien

Umschlüsselungsprinzip

In einem Import- bzw. Exportmodell empfängt X3 einen Datenfluss, dessen Zeichensatz nicht unbedingt dem internen Zeichensatz entspricht (unter Oracle entspricht der in kleine Zeichensatz WE8ISO8951P1). Daher muss es möglich sein, den Zeichensatz umzuschlüsseln. Achtung: In der vorliegenden Dokumentation wird lediglich die Umschlüsselungen von 1 Byte großen Zeichen behandelt. Dies entspricht im Allgemeinen den Sonderzeichen der westlichen Sprachen. Diese Zeichen werden in der Regel in einem Byte kodiert, und ihre Werte liegen zwischen 160 und 250. Nachstehend werden die Entsprechungen zwischen diesen Zeichen und den ASCII-Codes des von X3 verwendeten Standardzeichensatzes aufgelistet (bei Anzeige in einer Police vom Typ Arial).

Byte

0

1

2

3

4

5

6

7

8

9

16…

¡

¢

£

¤

¥

¦

§

¨

©

17…

ª

«

¬

®

¯

°

±

²

³

18…

´

µ

·

¸

¹

º

»

¼

½

19…

¾

¿

À

Á

Â

Ã

Ä

Å

Æ

Ç

20…

È

É

Ê

Ë

Ì

Í

Î

Ï

Ð

Ñ

21…

Ò

Ó

Ô

Õ

Ö

×

Ø

Ù

Ú

Û

22…

Ü

Ý

Þ

ß

à

á

â

ã

ä

å

23…

æ

ç

è

é

ê

ë

ì

í

î

ï

24…

ð

ñ

ò

ó

ô

õ

ö

÷

ø

ù

25…

ú

û

ü

ý

þ

ÿ

Dies erfolgt mithilfe des Feldes Zeichensatz im Umschlüsselungsbereich. Das entsprechende Feld nimmt die im Lokalen Menü 9 definierten Werte an. Dieses Lokale Menü ist standardmäßig nicht parametrierbar, es können jedoch in der Entwicklung Werte hinzugefügt werden, um neue externe Zeichensätze zu verwalten.

Jedem Wert dieses Lokalen Menüs entspricht eine externe Datei, die auf dem Server installiert ist und die durchzuführenden Umschlüsselungen enthält. Diese Datei liegt im Verzeichnis SYS des X3-Ordners und heißt TRANS#.cnv, wobei # der Nummer des Lokalen Menüs entspricht (1, 2, 3 etc.). Die Datei TRANS#.cnv muss in einem UNIX-Format und einem UTF8-Zeichensatz kodiert werden. Ist dies nicht der Fall, wird die Umschlüsselung beim Import/Export fehlschlagen.

Das Verzeichnis SYS existiert standardmäßig nicht. Es muss auf Ordnerebene des Endpoints erstellt werden.

Beispiel für einen Zugriffspfad zum Verzeichnis SYS: SAGE\SAGEX3V6\X3V6SQL\Folders\DEMO\SYS

Die Datei TRANS0.cnv enthält Kommentare, die (in englischer Sprache) die Vorgehensweise erklären:

  • Zunächst werden zwei Zeilen definiert, in denen folgende Angaben gemacht werden:
    • adonix="chaîne1"
    • output="chaîne2"

chaîne1 und chaîne2 sind dreistellige Präfixe, aus denen sich der Code des zu definierenden Zeichensatzes ableiten lässt. Beispiel: ado könnte für die erste Zeichenkette und jeu für die zweite Zeichenkette verwendet werden.

  • Zunächst werden Zeilen definiert, in denen jedem Zeichen ein Symbol zugeordnet wird (mit Präfix chaîne1 oder chaîne2), gefolgt von einem Gleichheitszeichen und dem Zeichencode. Beispiel: Mit eacute soll der französische Accent aigü bezeichnet werden. Dieses Zeichen wird im Zielzeichensatz jeu auf den Dezimalcode 238 umgeschlüsselt (im Zeichensatz ado ist der Accent aigü mit 233 codiert). Hierfür müssen die beiden folgenden Zeilen geschrieben werden:
    • adoeacute="238"
    • jeueacute="233"

Wichtiger Hinweis:
  • Die doppelten Anführungszeichen sind nicht obligatorisch (alternative Schreibweise: adoeacute=238)
  • Die Codes können auch im Oktalformat (\nnn) oder im Hexadezimalformat (Hxx) vorgegeben werden.
  • Die Reihenfolge der Zeilen spielt keine Rolle (es können zunächst sämtliche Zeichen eines einzigen Satzes definiert werden, dann die Zeichen des nächsten Zeichensatzes; es können auch immer abwechselnd zwei Zeichen aus einem Zeichensatz definiert werden; oder die Reihenfolge kann völlig beliebig gewählt werden).
  • Nicht beschriebene Zeichen (oder nur in einem Zeichensatz beschriebene Zeichen) werden nicht umgeschlüsselt.
  • Kommentarzeilen können frei eingefügt oder am Zeilenende angefügt werden. Es muss ihnen das Zeichen # vorangestellt werden.

Beispiel für eine Datei: TRANS0.cnv

Im Folgenden wird der Inhalt der Datei TRANS0.cnv beschrieben. Es ist dort in englischer Sprache die Vorgehensweise beschrieben:

#
########################################################################
#
# trans0.cnv
#
# Transcodification file used for ADONIX X3 import/export
#
# Each line (except the comments prefixed by # ) must have the following format
#
# adoxxxxx = value1 or extxxxxx = value2
#
# (ado for adonix internal code, ext for "external" file code
#
# xxxxx is an identifier used to associate external & internal code together
#

# values can be defined in following formats :
#
# nnn or "nnn"         value in decimal
# \nnn or "\nnn"       value in octal
# Hnnn or "Hnnn"       value in hexadecimal
#
# Author : Bertrand YVINEC   
# Translated by Dominique BOPP
#
# Copyright (c) ADONIX 1992-2001
#
########################################################################
#
# Identifier definition (default is ado and ext)
#
adonix = "iso"
output = "ibm"

Beispiel für eine Datei: TRANS2.cnv

Mit dieser Datei kann der Zeichensatz IBM PC umgeschlüsselt werden. Aus dieser Datei wurden hier die meisten Kommentarzeilen entfernt.

#
########################################################################
# trans2.cnv
# Copyright (c) ADONIX 1992-2001
########################################################################
adonix = "iso"
output = "ibm"
#
# ISO code first
isoagr="\340"    # a grave
isoeai="\351"    # e acute
isoegr="\350"    # e grave
isocce="\347"    # c cedilla
isougr="\371"    # u grave
isodeg="\260"    # degree
isoali="\247"    # alinea
isoaci="\342"    # a circumflex
isoeci="\352"    # e circumflex
isoici="\356"    # i circumflex
isooci="\364"    # o circumflex
isouci="\373"    # u circumflex
isoatr="\344"    # a dieresis
isoetr="\353"    # e dieresis
isoitr="\357"    # i dieresis
isootr="\366"    # o dieresis
isoutr="\374"    # u dieresis
isopou="\243"    # pound
#
# Ensuite en code PC
ibmagr="\205"    # a grave
ibmeai="\202"    # e acute
ibmegr="\212"    # e grave
ibmcce="\207"    # c cedilla
ibmugr="\227"    # u grave
ibmdeg="\370"    # degree
ibmali="\365"    # alinea (CP 850)
ibmaci="\203"    # a circumflex
ibmeci="\210"    # e circumflex
ibmici="\214"    # i circumflex
ibmoci="\223"    # o circumflex
ibmuci="\226"    # u circumflex
ibmatr="\204"    # a dieresis
ibmetr="\211"    # e dieresis
ibmitr="\213"    # i dieresis
ibmotr="\224"    # o dieresis
ibmutr="\201"    # u dieresis
ibmpou="\234"    # pound

Stiller Import

Anrufprinzip

Soll ein Import direkt in einer Verarbeitung gestartet werden, kann man durch Einfügen der folgenden Zeilen fortfahren:

If !GSERVEUR
 
   Call OUVRE_TRACE(TIT) From LECFIC
Endif
Call IMPORTSIL([L]COD_MODELE,[L]NOM_FICHIER)from GIMPOBJ
If !GSERVEUR
    Call FERME_TRACE From LECFIC
Endif

 , wobei:

  • [L]COD_MODELE=Variable mit dem Code der Importvorlage
  • [L]NOM_FICHIER=Variable mit dem vollständigen Namen der zu importierenden Datei

Betroffene Variablen

Als Argument übergebene Variablen: 

  • [L]COD_MODELE=Variable mit dem Code der Importvorlage
  • [L]NOM_FICHIER=Variable mit dem vollständigen Namen der zu importierenden Datei

Der Endstatus des Imports kann aus dem Feld [M:IMP2]STAT übernommen werden.
Der Klartext der Fehlermeldung kann durch Aufruf des folgenden Unterprogramms angezeigt werden:

Call ERR_IMPORT([M:IMP2]STAT,MESSAGE) From GIMPOBJ