Mit dem Skriptmodul können Objekte aus einer Excel File gelesen werden.
Der Modul wird mit:
|INCL \script\xlsin.mod
in einer ICS RUN1-Konfiguration verfügbar gemacht.
Der Modul importiert die Klasse DB
. Es stehen
daher auch alle Methoden der Klasse DB
zur Verfügung
(s.a. iG/Script Benutzer- und Referenzhandbuch).
Folgende Parameter können in der Map DB_PARAM
gesetzt werden:
Parameter | req/opt | Beschreibung |
TRACE | o | ON oder OFF ,
Default = OFF . Für jedes gelesene Objekt
eine Zeile ausgeben. |
Folgende Parameter können in der Map DBIN_PARAM für den Modul gesetzt werden:
Parameter | req/opt | Beschreibung |
STATISTICS | o | ON oder OFF ,
Default = OFF . Statistik
anzeigen. |
SELECT_PARSE | o | ON oder OFF ,
Default = ON . Definiert, ob ein
eventuelles SQL-select Statement geparst werden soll. Als
Argument für für das Modul kann ein SQL-select Statement
definiert werden. Als Default wird dieses select-Statement
von geparst , um spezielle Attribute zu erkennen, die vom
ODBC-Treiber nicht unterstützt werden und speziell gelesen
werden müssen. Manchmal können select-Statements (komplexe
Joins) nicht erfolgreich geparst werden. In solchen Fällen
ist dieser Parameter auf OFF zu schalten.
Sie müssen besorgt sein, dass das select-Statement von ODBC
verarbeitet werden kann. |
In dieser Parameter Map sind zur Zeit keine Parameter definierbar.
Parameter | req/opt | Beschreibung |
Der Modul liefert pro IN-Objekt folgende Systemkomponenten:
Komponente | req/opt | Beschreibung |
IN.TABLE(s) | r | Tablename des IN Objekts. |
IN.ROW(i) | r | Zeile des IN Objekts. |
Alle weiteren Komponenten sind abhängig von der Tabellen-Definition in der Datenbank.
Tabelle gesamthaft lesen
Wenn der Modul eine Excel-Tabelle vollständig lesen soll, muss die Excel-Tabelle nach EXCEL-ODBC-Konvention wie folgt angesprochen werden:
[<table>$]
Beispiel:
MAP INPUT_SOURCES I1 => XLSIN,[Tabelle1$] END_MAP
Tabelle tabellarisch lesen
Damit der Modul Daten tabellarisch - Teile einer Tabelle - aus einer Excel-Tabelle lesen kann, ist die Excel Tabelle wie folgt unter Excel vorzubereiten.
In der ersten Zeile sind die Spaltennamen einzutragen.
Die zu exportierenden Spalten sind zu markieren.
Über Einfügen > Namen >
Festlegen
ist dem markierten Bereich ein Namen zu
vergeben.
Der markierte Bereiche wird über diesen Namen vom Modul XLSIN angesprochen.
z.B.
MAP INPUT_SOURCES I1 => XLSIN,Einwohner END_MAP
Die Methode DB.GET_INFO
liefert das Datenmodell
der Datenbank in einer Objektstruktur. Auf die einzelnen Komponenten
dieser Objektstruktur kann zugegriffen werden.
Anwendung der Methode DB.GET_INFO
:
MAP DB_MODEL
END_MAP
&DB_MODEL DB.GET_INFO
Objektstruktur Datenmodell:
DB_MODEL (m)
DB_NAME -> (s) <Name>
DB_USER -> (s) <DB-User>
DB_PASSWORD -> (s) <DB-Password>
PRODUKT -> (s) <Produkt>
VERSION -> (s) <Version>
TABLES -> (m)
:
<Tablename> -> (m)
TABLENAME -> (s) <Tablename>
TABLEQUALIFIER -> (s) <Tabelqualifier>
TABLEOWNER -> (s) <Tableowner>
TABLETYPE -> (s) <Tabletype>
COLUMNS -> (m)
:
<Columnname> -> (m)
NAME -> (s) <Name>
TYPENAME -> (s) <Typename>
DATATYPE -> (i) <Datatype>
LENGTH -> (i) <Length>
PRECISION -> (i) <Precision>
SCALE -> (i) <Scale>
RADIX -> (i) <Radix>
NULLABLE -> (b) <Nullable>
REMARKS -> (s) <Remarks>
Zugriffsbeispiele Objektstruktur Datenmodell:
! Display User,Product,Version
DISPLAY DB_MODEL
! Display Tables
DISPLAY DB_MODEL.TABLES
! Display Table Category
DISPLAY DB_MODEL.TABLES.CATEGORY
! Display Columns of Table Category
DISPLAY DB_MODEL.TABLES.CATEGORY.COLUMNS
! Display Column MSLINK of Table Category
DISPLAY DB_MODEL.TABLES.CATEGORY.COLUMNS.MSLINK
! Display Typename of Column MSLINK of Table Category
DISPLAY DB_MODEL.TABLES.CATEGORY.COLUMNS.MSLINK.TYPENAME
Prozedur | XLSIN_OPEN [s input][] |
Beschreibung | Öffnet ein Excel Tabelle.
Für
Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
|
Prozedur | XLSIN_READ_OBJECT [][b state] |
Beschreibung | Liest das nächste IN-Objekt aus der geöffneten Excel-Tabelle. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
Prozedur | XLSIN_CLOSE [][] |
Beschreibung | Schliesst den Modul und gibt die durch den Modul belegten Resourcen wieder frei. Die Prozedur wird von RUN1 automatisch aufgerufen. |
Beispiel |
|
! Diese ICS Konfiguration zeigt alle von XLSIN ! gelesenen Objekte in der .log Datei an. |LICENSE \license\iltools.lic MAP USER_INPUT1 DIALOG => FILE MESSAGE => 'Enter Excel Input File' FILE_FILTER => xls FILE_EXISTS => TRUE OPT => input END_MAP MAP DB_PARAM END_MAP MAP DBIN_PARAM STATISTICS => ON END_MAP MAP XLSIN_PARAM END_MAP MAP INPUT_SOURCES I1 => XLSIN,* END_MAP MAP INOUT I1 => DISPLAY_OBJECT1,IN END_MAP |INCL \script\xlsin.mod |INCL \script\run1.prg