Szablony importu / eksportu – aneks techniczny 

Proces importu i powiązane operacje

Import i eksport obiektu jest realizowany za pośrednictwem procesu utworzonego na podstawie kompilacji szablonu. Ten tymczasowy proces nazywa się WWINNNNNN lub WWENNNNNN (gdzie NNNNNN to przyrastający numer).

W przypadku eksportu proces tylko eksportuje dane (filtrując je zgodnie z uprawnieniami użytkowników). W przypadku importu proces zawiera instrukcje dekodujące przepływ danych i wywołuje różne funkcje powiązane z obiektem do zaimportowania, naśladując w pewien sposób wpis danych. W ten sposób standardowe etykiety procesu SUBXXX i SPEXXX, które umożliwiają zarządzanie obiektami, są wywoływane standardowo.

Wywołuje się jednak również dodatkowe etykiety właściwe dla importu, zdefiniowane w procesie IMPXXX, jeśli istnieje (i w konkretnym procesie zdefiniowanym w szablonie, co umożliwia przetworzenie konkretnych przypadków). Kolejne zadania opisują w szczegółowy sposób, jak odbywa się import w przypadku różnych typów obiektów (więcej informacji znajduje się w dokumentacji na temat zarządzania obiektem). W poniższej tabeli standardowe operacje na obiekcie są wskazane kursywą, a operacje powiązane z importem są pogrubione.

Kolumna Operacje wskazuje operacje realizowane tuż po operacji wskazanej w kontekście – na przykład w przypadku prostego obiektu, jeśli spojrzymy na punkt 8.2:

  • Wykonywane są operacje VERIF_MOD i IMP_VERIF_MOD.
  • Blokowany jest rekord, a następnie wykonywane są operacje AVANT_MODFIC i IMP_AVANT_MODFIC.
  • Przypisywane są zmienne klasy [F], a następnie wykonywane operacje INIMOD i IMP_INIMOD.
  • Dokonywany jest ponowny zapis, a następnie wykonywane są operacje MODIF i IMP_MODIF.
  • Wykonywana jest operacja końca transakcji (Zatwierdź), a następnie wykonywane są operacje APRES_MOD i IMP_APRES_MOD.
  • Następuje odblokowanie, a następnie wykonywane są operacje DEVERROU i IMP_DEVERROU.

Należy zauważyć, że operacje umieszczone w danym procesie importu są wykonywane przed standardowymi procesami importu. Jeśli dany proces importu przypisuje zmiennej GPE wartość 1, wykonanie operacji standardowego procesu importu jest niemożliwe.

Prosty obiekt

Sekwencja

Kontekst

Operacje

1.1

Przed utworzeniem programu importu:

Openo, które umożliwia zapis tymczasowego programu importu (nazwy nadanej przez zmienną IMPTRT) nie jest jeszcze dokonywane.

Można zmienić nazwę używanych masek (tabela NOMMSK, liczba masek jest podawana przez NBMASK).

IMP_COMPILE

1.2

Po utworzeniu programu importu:

Tymczasowy proces importu (nazwy nadanej przez zmienną IMPTRT) jest zawsze otwierany przez Openo – można więc dodać (za pomocą Wsdeq) dodatkowe instrukcje.

Proces zostanie skompilowany po tej operacji, a następnie rozpocznie się właściwa procedura importu.

IMP_TRTSUP

2

Początek programu

OUVREIMP_OUVRE

3

Odczyt rekordu nagłówka

Transfer w klasie [F]

Operacja AP_IMPORT jest wywoływana po załadowaniu odkodowanych zmiennych każdego bloku (poziom zachodzenia podawany jest przez zmienną SEPNUM (od 1 do 8), skrót głównej tabeli w trakcie przetwarzania przez zmienną IMPABR).

 

 

AP_IMPORT

4

Weryfikacja uprawnienia do tworzenia lub

modyfikacji:

SETBOUTIMP_SETBOUT (*)

5

Test istnienia obiektu:

 

5.1

Jeśli obiekt nie istnieje:

SETBOUTIMP_SETBOUT
RAZCREIMP_RAZCRE

5.2

Jeśli obiekt istnieje:

Ładowany jest rekord

Ponowna weryfikacja uprawnień

VERROUIMP_VERROU

LIENSIMP_LIENS

SETBOUTIMP_SETBOUT

AVANT_MODIMP_AVANT_MOD

6.1

Symulacja wpisu na powiązanych ekranach

głównej tabeli

IMPORT

IMP_DEFTRT (*)

6.2

Dla każdego pola ekranu:

Wykonanie operacji avant_zone

avant_saisie

init

Jeśli obszar jest uzupełniony:

Aby dowiedzieć się, czy obszar jest w tabeli:

(ta operacja przypisuje nolign, jeśli konieczne)

Jeśli OK=1, transfer z klasy [F]

Z pola o takiej samej nazwie

Wykonanie operacji apres_zone

W danym przypadku apres_modif

 

 

 

 

 

 

IMP_ZONE

7.1

Odczyt rekordy drugorzędnego pliku (odbywa się to dla wszystkich poziomów drugorzędnych rekordów)

 

IMPORT

IMP_TAB

 

AP_IMPORT

 

7.2

Symulacja powiązanych ekranów

W przypadku tabeli używana jest zmienna

nolign.

Domyślnie dodawana jest pozycja

(nolign = 0).

 

8

Rekord obiektu

 

8.1

Przypadek tworzenia:

Początek transakcji

Zapis

Koniec transakcji

 

 

W przypadku wycofania:

VERIF_CREIMP_VERIF_CRE

INICREIMP_INICRE

CREATIONIMP_CREATION

APRES_CREIMP_APRES_CRE

 

AB_CREATION

IMP_AB_CREATION

8.2

W przypadku modyfikacji:

Początek transakcji

Blokada rekordu

Przypisanie zmiennych [F]

Ponowny zapis

Koniec transakcji

 

 

W przypadku wycofania:

Odblokowanie

VERIF_MODIMP_VERIF_MOD

AVANT_MODFIC

IMP_AVANT_MODFIC

INIMODIMP_INIMOD

MODIFIMP_MODIF (*)

APRES_MODIMP_APRES_MOD

 

AB_MODIFIMP_AB_MODIF

DEVERROUIMP_DEVERROU

9

Koniec programu:

FERMEIMP_FERME

(*) Operacje MODIF i IMP_MODIF są głównie używane do zarządzania rekordem pozycji (MODIF jest używana w standardzie do zarządzania obiektem, a IMP_MODIF umożliwia zarządzanie operacjami dodatkowymi). Operacja IMP_DEFTRT umożliwia ponowne przypisanie, jeśli jest to konieczne, zmiennej TRTMSK, która definiuje nazwę automatycznego procesu zdefiniowanego w słowniku ekranów. 

Operacja IMP_SETBOUR jest wykorzystywana do uzupełnienia opcji zarządzania obiektem – można np.posiadać do wykonania wywołanie VIREBOUT w imporcie w celu zabronienia tworzenia i ma to w szczególności wpływ na zmienną CHAINE, która zawiera wszystkie opcje.

Obiekt łączony

Sekwencja

Kontekst

Operacje

1.1

Przed utworzeniem programu importu:

Openo, które umożliwia zapis tymczasowego programu importu (nazwy nadanej przez zmienną IMPTRT) nie jest jeszcze dokonywane.

Można zmienić nazwę używanych masek (tabela NOMMSK, liczba masek jest podawana przez NBMASK).

IMP_COMPILE

1.2

Po utworzeniu programu importu:

Tymczasowy proces importu (nazwy nadanej przez zmienną IMPTRT) jest zawsze otwierany przez Openo – można więc dodać (za pomocą Wsdeq) dodatkowe instrukcje.

Proces zostanie skompilowany po tej operacji, a następnie rozpocznie się właściwa procedura importu.

IMP_TRTSUP

1.3

Początek programu

OUVREIMP_OUVRE

2

Odczyt pliku importu i transfer w klasie [F]

Operacja AP_IMPORT jest wywoływana po załadowaniu odkodowanych zmiennych każdego bloku (poziom zachodzenia podawany jest przez zmienną SEPNUM (od 1 do 8), skrót głównej tabeli w trakcie przetwarzania przez zmienną IMPABR).

AP_IMPORT

3

Test istnienia obiektu (liczba pozycji > 0)

 

3.1

Jeśli obiekt istnieje:

VERROUIMP_VERROU

3.2

Weryfikacja uprawnienia do tworzenia lub

modyfikacji:

SETBOUTIMP_SETBOUT

3.3

Jeśli obiekt nie istnieje:

SETBOUTIMP_SETBOUT

RAZCREIMP_RAZCRE

4.1

Pętla odczytu rekordów

Rekordy powiązane z każdą pozycją:

Transfer w klasie [F]

Koniec pętli odczytu

Rekordy powiązane z końcem pętli:

FILTRE

LIENS0IMP_LIENS0

LIENSIMP_LIENS

 

LIENS2IMP_LIENS2

5.1

Symulacja wpisu na powiązanych ekranach

głównej tabeli

IMPORT

IMP_DEFTRT (*)

5.2

Dla każdego pola ekranu:

Wykonanie operacji avant_zone

avant_saisie

init

Jeśli obszar jest uzupełniony:

Jeśli OK=1, transfer z klasy [F] pola o tej samej nazwie

Wykonanie operacji apres_zone i w danym przypadku apres_modif

 

 

 

 

IMP_ZONE

6.1

Odczyt rekordu pliku drugorzędnego

Operacja AP_IMPORT jest wywoływana po załadowaniu odkodowanych zmiennych każdego bloku (poziom zachodzenia podawany jest przez zmienną SEPNUM (od 1 do 8), skrót głównej tabeli w trakcie przetwarzania przez zmienną IMPABR).

IMPORT

 

AP_IMPORT

6.2

Symulacja powiązanych ekranów

W przypadku tabeli używana jest zmienna nolign.

Domyślnie dodawana jest pozycja

(nolign = 0).

 

7

Rekord obiektu

 

7.1

Przypadek tworzenia:

 

Początek transakcji

Dla każdej pozycji:

Zapis

 

Po zakończeniu zapisu pozycji:

Transakcja zakończona:

VERIF_CREIMP_VERIF_CRE

DEBUT_CREIMP_DEBUT_CRE

INICREIMP_INICRE

CREATIONIMP_CREATION

MODIFIMP_MODIF

APRES_CREIMP_APRES_CRE

7.2

W przypadku modyfikacji:

  Początek transakcji

Usuwanie pozycji

Pętla w pozycjach:

 

Tworzenie pozycji

Na koniec pętli

Koniec transakcji

VERIF_MODIMP_VERIF_MOD

DEBUT_MOD

IMP_DEBUT_MOD

FILTRE

INICREIMP_INICRE

CREATIONIMP_CREATION

MODIFIMP_MODIF

APRES_MODIMP_APRES_MODDEVERROUIMP_DEVERROU

8

Koniec programu:

FERMEIMP_FERME

 

Obiekt tabela

Sekwencja

Kontekst

Operacje

1.1

Przed utworzeniem programu importu:

Openo, które umożliwia zapis tymczasowego programu importu (nazwy nadanej przez zmienną IMPTRT) nie jest jeszcze dokonywane.

Można zmienić nazwę używanych masek (tabela NOMMSK, liczba masek jest podawana przez NBMASK).

IMP_COMPILE

1.2

Po utworzeniu programu importu:

Tymczasowy proces importu (nazwy nadanej przez zmienną IMPTRT) jest zawsze otwierany przez Openo – można więc dodać (za pomocą Wsdeq) dodatkowe instrukcje.

Proces zostanie skompilowany po tej operacji, a następnie rozpocznie się właściwa procedura importu.

IMP_TRTSUP

1.3

Początek programu

OUVREIMP_OUVRE

2

Odczyt danych rekordu i załadowanie klasy [F]

Operacja AP_IMPORT jest wywoływana po załadowaniu odkodowanych zmiennych każdego bloku (poziom zachodzenia podawany jest przez zmienną SEPNUM (od 1 do 8), skrót głównej tabeli w trakcie przetwarzania przez zmienną IMPABR).

 

AP_IMPORT

3

Jeśli obiekt istnieje:

VERROUIMP_VERROU

4

Blokada tabeli

Początek odczytu:

Pętla odczytu rekordów

Koniec odczytu

FILTRE

LIENS0IMP_LIENS0

LIENSIMP_LIENS

LIENS2IMP_LIENS2

5

Weryfikacja uprawnień do modyfikacji:

SETBOUTIMP_SETBOUT

6.1

Symulacja wpisu na powiązanych ekranach

głównej tabeli

IMPORT

IMP_DEFTRT (*)

6.2

Dla każdego pola ekranu:

Wykonanie operacji avant_zone

avant_saisie

init

Jeśli obszar jest uzupełniony:

Jeśli OK=1, transfer z klasy [F] pola o tej samej nazwie

Wykonanie operacji apres_zone i w danym przypadku apres_modif

 

 

 

 

IMP_ZONE

7.1

Odczyt rekordu pliku drugorzędnego

IMPORT

7.2

Symulacja powiązanych ekranów

Do tabeli dodawana jest pozycja (nolign jest generowane przez zarządzanie obiektem).

 

8

Rekord obiektu

 

8.1

Cały czas w trybie tworzenia.

Początek transakcji

następnie blokada tabeli

jeśli OK <> 0 w następstwie MOD_IMPORT,

operacja jest kontynuowana:

Usuwane są wszystkie istniejące rekordy

Dla każdej pozycji:

Zapis

Po zakończeniu zapisu pozycji:

Koniec transakcji

VERIF_MODIMP_VERIF_MOD

MOD_IMPORT

 

FILTRE

INICREIMP_INICRE

CREATIONIMP_CREATION

MODIFIMP_MODIF

9

Jeśli transakcja zakończyła się powodzeniem

APRES_MODIMP_APRES_MOD

10

Koniec programu:

FERMEIMP_FERME

 

Operacje procesu IMPxxx

Wszystkie operacje IMPxxx mają taki sam kontekst, co operacje SUBxxx i są wywoływane jako kolejne.

Dla procesu właściwe są następujące operacje

operacja IMPORT

Operacja IMPORT jest wywoływana po każdym odczycie rekordu.

Zmienna IMPFIC zawiera skrót importowanego pliku. Odpowiadająca klasa to pozycja (dla informacji rzeczywiście zaimportowanych).

W przypadku tabeli zmienna nolign jest inicjalizowana jako 0 i będzie ona wykorzystywana, aby przy wyjściu móc stwierdzić, która pozycja została uzupełniona. Jeśli nolign jest pozostawiona jako zero, tworzona jest nowa pozycja.

operacja IMP_TAB

Operacja IMPORT jest wykorzystywana do zarządzania obszarami tabeli dodatkowej umiejscowionymi w tabli (strona 3 obiektu definiuje w tym celu tabele dodatkowe, ekrany i odpowiadające zmienne końca tabeli). Umożliwia to rozróżnienie obszarów niezaindeksowanych przed umiejscowieniem w tabeli od innych obszarów. Ta operacja jest wykorzystywana wyłącznie dla importu obiektów standardowych.

Operacja IMP_ZONE

Operacja IMP_ZONE jest wywoływana podczas wpisu obszaru i umożliwia pobranie wartości na ekranie, której nazwa byłaby inna w pliku (np. przypadek wymiarowanych obszarów w tabeli odpowiada wielu kolumnom tabeli):

  • Zmienna IMPFIC zawiera skrót pliku, który spowodował wpis.
  • Zmienna IMPMSK zawiera nazwę ekranu w trakcie wprowadzania.
  • Zmienna IMPZON zawiera nazwę obszaru w trakcie wprowadzania.
  • Zmienna IMPMOD jest wstępnie ustawiona jako 0 i umożliwia wywołanie operacji apres_modif.
  • Zmienna OK, zainicjalizowana jako 1, umożliwia lub nie wywołanie operacji standardowej.

Operacja MOD_IMPORT

Operacja MOD_IMPORT służy tylko do importu obiektu tabeli (do ewentualnego zabronienia tego importu).

Konkretny proces importu

Ten proces importu omija (zazwyczaj ze względów wydajnościowych) zarządzanie obiektem standardowym i zawiera tylko ograniczoną liczbę etykiet wywoływanych przez Gosub z poziomu funkcji importu. Te etykiety są zdefiniowane poniżej:

Etykieta

Kontekst

$OUVRE

Na początku importu ta etykieta umożliwia zadeklarowanie koniecznych masek, tabel i zmiennych.

$RAZCRE

Na początku odczytu (odczytany zostanie nowy rekord). Umożliwia wyzerowanie zmiennych, które następnie zostaną uzupełnione przez import.

$SAIMSK

Jeśli grupa danych została odczytana. Zmienna IMPFIC umożliwia zapoznanie się ze skrótem tabeli, której zawartość została odczytana. Klasa [F] odpowiadająca tej tabeli jest więc uzupełniana i można dokonać transferu danych do masek (jeśli pracuje się z obiektami typu nagłówek / pozycja jest to zazwyczaj maska, w której przechowywane są tymczasowo dane).

$VALID

Zakończenie odczytu danych – ta etykieta umożliwia dokonanie kontroli oraz utworzenie i modyfikację danych w bazie.

Zaleca się wykonywania tego trybu importu tylko, jeśli wystąpiły szczególne problemy z wydajnością. Nawet jeśli jest on ciężki, „standardowy” import obiektu umożliwia otrzymanie automatycznej kontroli uwzględniając wszystko, co jest zapisane w logice obiektu, chociaż konkretny program importu wymaga ręcznego kodowania wszystkiego, wywołując ewentualnie istniejące składniki.

Pliki transkodowania

Reguła transkodowania

W szablonie importu lub eksportu ADONIX X3 otrzymuje przepływ danych w zestawie znaków, które nie są koniecznie wewnętrznym zestawem znaków (odpowiadającym zestawowi znaków WE8ISO8951P1 w Oracle). Konieczne jest ich transkodowania. Uwaga, w tej dokumentacji mowa jest wyłącznie o transkodowaniu znaków przechowywanych w bajcie, odpowiadającemu ogólnie znakom akcentowanym lub właściwym dla niektórych języków wschodnich. Te znaki są zazwyczaj kodowane w bajcie z wartościami zawierającymi się między 160 a 250. Poniżej podano odpowiedniki między tymi znakami a kodami ASCII zestawu standardowego używanymi przez ADONIC X3 (wyświetlanymi w czcionce Arial).

Bajt

0

1

2

3

4

5

6

7

8

9

16…

¡

¢

£

¤

¥

¦

§

¨

©

17…

ª

«

¬

®

¯

°

±

²

³

18…

´

µ

·

¸

¹

º

»

¼

½

19…

¾

¿

À

Á

Â

Ã

Ä

Å

Æ

Ç

20…

È

É

Ê

Ë

Ì

Í

Î

Ï

Ð

Ñ

21…

Ò

Ó

Ô

Õ

Ö

×

Ø

Ù

Ú

Û

22…

Ü

Ý

Þ

ß

à

á

â

ã

ä

å

23…

æ

ç

è

é

ê

ë

ì

í

î

ï

24…

ð

ñ

ò

ó

ô

õ

ö

÷

ø

ù

25…

ú

û

ü

ý

þ

ÿ

Odbywa się to za pośrednictwem pola Zestaw znaków w numerze transkodowania. Dane pole przyjmuje wartości zdefiniowane przez menu lokalne 9. To menu lokalne nie jest domyślnie możliwe do skonfigurowania, ale można do niego dodać wartości w trybie programowania w celu zarządzania nowymi, zewnętrznymi zestawami znaków.

Każda wartość tego menu lokalnego odpowiada zewnętrznemu plikowi, zainstalowanemu na serwerze, który definiuje transkodowanie do wykonania. Ten plik znajduje się w katalogu SYS folderu X3 i nazywa się TRANS#.cnv, gdzie # odpowiada numerowi menu lokalnego (1,2, 3 itd.). Plik TRANS#.cnv musi być zakodowany w formacie UNIX i z zestawem znaków UTF8. Jeśli tak nie jest, transkodowanie nie będzie działało podczas importu/eksportu.

Katalog SYS nie istnieje domyślnie. Należy go utworzyć na poziomie folderu punktu końcowego.

Przykład ścieżki dostępu do folderu SYS: SAGE\SAGEX3V6\X3V6SQL\Folders\DEMO\SYS

Plik TRANS0.cnv zawiera komentarze (w języku angielskim) wyjaśniające sposób wykonania:

  • Najpierw definiuje się dwie pozycje, w których wskazuje się:
    • adonix="łańcuch1"
    • output="łańcuch2"

łańcuch1 i łańcuch2 to prefiksy liczące 3 znaki, które definiują zestaw, który ma zostać zdefiniowany. Na przykład można użyć ado dla łańcucha 1 i zestawu dla drugiego zestawu znaków.

  • W ten sposób najpierw definiuje się pozycje, aby następnie zdefiniować każdy znak przypisując mu taki sam symbol (który będzie prefiksowany przez łańcuch1 lub łańcuch2) wraz ze znakiem równości i kodem znaku. Na przykład, jeśli opisywany jest znak é (eacute), wyobraźmy sobie, że znak jest transkodowany przy użyciu zestawu znaków początkowych zestawu z kodem dziesiętnym 238 (jest on kodowany jako 233 w zestawie ado). Zapisane zostaną więc dwie następujące pozycje:
    • adoeacute="238"
    • jeueacute="233"

Należy zauważyć, że:
  • Cudzysłowy nie są wymagane (można było napisać adoeacute=238).
  • Kody mogą być również podane w formacie ósemkowym w formie \nnn i formacie heksadecymalnym w formie Hxx.
  • Porządek, w jakim prezentowane są pozycje nie ma znaczenia (można najpierw zdefiniować wszystkie znaki zestawu, a następnie te następnego zestawy lub sparować znaki po dwa, bądź też wybrać dowolny inny porządek).
  • Nieopisane znaki (lub opisane w zestawie bez opisania w innym) nie będą transkodowane.
  • Pozycje komentarzy mogą być dowolnie dodawane na końcu pozycji, o ile są one poprzedzone znakiem #.

Przykładowy plik: TRANS0.cnv

Poniżej znajduje się zawartość pliku TRANS0.cnv, która opisuje po angielsku wykonanie:

#
########################################################################
#
# 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"

Przykładowy plik: TRANS2.cnv

Ten plik umożliwia transkodowanie w zestawie IBM PC. Ten plik został pozbawiony większości komentarzy.

#
########################################################################
# 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
#
# Następnie kod 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

Cichy import

Reguła wywoływania

Jeśli import ma być wywołany bezpośrednio w procesie można kontynuować wpisując następujące pozycje:

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

 Z

  • [L]COD_MODELE = Zmienna zawierająca kod szablonu importu
  • [L]NOM_FICHIER = Zmienna zawierająca pełną nazwę pliku do zaimportowania

Zmienne szczególne

W argumencie przekazywane są następujące zmienne: 

  • [L]COD_MODELE = Zmienna zawierająca kod szablonu importu
  • [L]NOM_FICHIER = Zmienna zawierająca pełną nazwę pliku do zaimportowania

Status zakończenia importu może zostać pobrany z pola [M:IMP2]STAT
Tekst komunikatu powiązanego z błędem można otrzymać wywołując następujący podprogram:

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