SWB 7.61 - Import in die Schnittstellendateien der dezentralen ABF
Import in die Schnittstellendateien der dezentralen ABF
LDS Zusatzprogramm 7.61
-----------------------
Inhalt:
0 Hinweise zum Update auf Version 3.1
1. Einführung
1.1 Allgemeines / Ablauf
1.2 Beispieldateien
1.3 Übernahme aus den Import-Dateien in die Stapelaufträge
1.4 Einschränkungen / Besonderheiten
1.5 Dateiformat der Quelldatei
2. Aufbau der Beschreibungsdatei
2.1 Allgemeines
2.2 Einschränkungen / Besonderheiten
2.3 Allgemeiner Aufbau der Beschreibungsdatei
2.3.1 Einlesen aus Dateien mit fester Feldlänge
2.3.2 Einlesen aus Dateien mit Trennzeichen
0.1. Hinweise zu den Version ab 4.1
-----------------------------------
Ab Version 4.1 ist der Import von Kundenstammsätzen und der Kunden-Bankverbindung
nicht mehr möglich.
0.2. Hinweise zum Update auf Version 3.1
--------------------------------------
Falls Sie dieses Programm bisher in der Classic-Line Version 2 eingesetzt
haben, beachten Sie bitte folgende Hinweise:
- Die Textdatei muß nun im ANSI-Format vorliegen.
Falls Textdateien im ASCII-Format importiert werden sollen, muß das Programm
mit Steuerzeichen 00001 aufgerufen werden. Dann werden die Daten beim Import
automatisch in das ANSII-Format konvertiert.
- Wegen der Verlängerung von Kunden- und Vorgangsnummer ab der Version 3.1
haben sich fast alle Offsets in den Zieldateien (vgl. Punkt 2.3) geändert.
Bitte überprüfen Sie unbedingt alle Zieloffsets!
- Die Länge von Kundennummer und Herstellernummer muß nun der Stellenanzahl
der Personenkonten (gem. Mandantenstamm) entsprechen.
Vorteil: Falls auch in Version 3 mit fünfstelligen Personenkonten gearbeitet
wird, muß der Aufbau der Importdatei nicht geändert werden.
- Das Datenformat der Vertreternummer hat sich geändert. Die Vertreternummer
wurde bis einschließlich Version 2 als 2-stelliges CVI-Feld gespeichert.
Ab Version 3.1 wird die Vertreternummer als 3-stelliges numerisches Feld
gespeichert. Falls Vertreternummern importiert werden, müssen Datenformat
und Länge der entsprechenden Zielfelder geändert werden!
1. Einführung
-------------
1.1. Allgemeines / Ablauf
-------------------------
Dieses Zusatzprogramm ermöglicht den Import in die Schnittstellen-
dateien der dezentralen ABF; insgesamt erfolgt die Verarbeitung in
drei Schritten:
- Schritt 1: Import in die Schnittstellendatei
Mit dem Programm DT2150 Steuerzeichen 00000 werden Aufträge aus
einer Textdatei in die Schnittstellendateien-Dateien der dezentralen
ABF eingelesen. Als Importformat muß "Import DTA-Dateien" ausgewählt
werden. (Dateien: PA2150A3.DTA, PA2150B3.DTA, PA2150C3.DTA, PA2150X3.DTA
und PA2150Y3.DTA).
Am Ende des Importes erfolgt automatisch der Ausdruck des Import-
Protokolls, das auch als Textdatei im Mandantenpfad abgelegt wird.
Der folgende Ablauf entspricht dem Ablauf der dezentralen ABF aus dem
KHK-Standard!
- Schritt 2: Schnittstellendateien (Stapelaufträge) importieren
Die vom Programm DT2150 erzeugten Schnittstellendateien DT2150A.DTA,
DT2150B.DTA, etc. können mit dem Programm "Stapelaufträge importieren"
(KHK-Standard) als Stapelaufträge importiert werden. Nachfolgend ist
eine Bearbeitung mit dem Programm "Stapelaufträge bearbeiten" (KHK-
Standard) möglich.
- Schritt 3: Übernahme als Auftrag oder Direktrechnung
Im letzten Schritt können die Stapelaufträge mit dem Programm
"Stapelaufträge prüfen+übernehmen" (KHK-Standard) als Auftrag
oder Direktrechnung übernommen werden.
1.2 Beispieldateien
-------------------
Zwei Beispiel-Beschreibungsdateien (s.u.) und JE eine zugehörige
Datendatei mit der Sie den Import testen können finden Sie auf der
LDS-CD im Verzeichnis \LDSCLWIN\DAT\0:
- Beschreibungsdatei: 0DT10200
Dies ist ein ausführliches Beispiel; es werden die unterschiedlichen
Importmöglichkeiten genutzt.
Um diese Beispieldatei verwenden zu können, müssen 5-stellige
Personenkonten verwendet werden. (Hinweis: Die Stellenzahl der
Personenkonten kann im Mandantenstamm eingestellt werden.)
- Datendatei: AUFTRG.DAT
Enthält die Daten der zu importierenden Stapelaufträge für das
ausführliche Beispiel.
Um diese Beispieldatei verwenden zu können, müssen 5-stellige
Personenkonten verwendet werden. (Hinweis: Die Stellenzahl der
Personenkonten kann im Mandantenstamm eingestellt werden.)
- Beschreibungsdatei: 0DT10201
Dies ist ein Minimalbeispiel; es wird davon ausgegangen, daß die Kunden
bereits im Kundenstamm angelegt sind. Es werden lediglich
Artikelpositionen in die Vorgänge importiert; je Artikelposition werden
nur Menge und E-Preis importiert. Dieses Beispiel ist aufgrund des
einfacheren Aufbaus für erste Tests besser geeignet.
- Datendatei: AUFTRG.MIN
Enthält die Daten der zu importierenden Stapelaufträge für das
Minimalbeispiel.
Nach der Installation finden Sie diese Beispieldateien auch unterhalb
vom KHK-Basispfad im Verzeichnis:
LDSSETUP\nnn\DAT\0
nnn = Nummer der Installation (siehe Installationsprotokoll)
Für einen Probelauf mit der mitgelieferten Demodatei AUFTRG.DAT
sind folgende Artikel anzulegen:
Artikelnummer Hersteller
---------------------------
1 10000
2 10000
40000 00000
60010 00000
Es werden die Vorgänge 100001, 100002 und 100003 für die Kunden 12399
und 12488 eingelesen. Beim späteren "Stapelaufträge importieren"
(Schritt 2) werden die beiden Kunden im Kundenstamm ggf. angelegt (nur
bei dem ausführlichen Beispiel).
1.3. Übernahme aus den Import-Dateien in die Stapelaufträge
-----------------------------------------------------------
Nach dem Import in die Schnittstellendateien (Schritt 1) werden die
Schnittstellendateien in die Stapelaufträge eingelesen (Schritt 2).
1.4 Einschränkungen / Besonderheiten
------------------------------------
- Die Daten der Quelldatei müssen nach Vorgangs- und Kundennummer
sortiert vorliegen.
- Es werden nur Artikel übernommen, welche auch im Artikelstamm
vorhanden sind.
- Preise werden NICHT automatisch ermittelt! Wenn Preise in der
Textdatei vorhanden sind, dann können sie beim Import mit
übernommen werden.
- Es können nur normale Texte (ohne Formatierungen) übernommen werden,
die Übernahme von RTF-Texten ist nicht möglich.
- Die Zahlungskonditionen werden (wie bei der manuellen Vorgangserfassung)
aus dem Kundenstamm übernommen. Hierbei werden auch die erweiterten
Zahlungskonditionen berücksichtigt.
Falls in den Importdaten davon abweichende Zahlungskonditionen angegeben
sind, werden die Zahlungskonditionen aus der Importdatei verwendet.
Es können nur die im Vorgangskopf (Datei A10200) stehenden Zahlungskonditionen
importiert werden, die erweiterten Zahlungskonditionen (Datei A10200Z) können
nicht importiert werden.
1.5 Dateiformat der Quelldatei
------------------------------
Damit die Daten korrekt eingelesen werden, muß das Datenformat
der Quelldatei bestimmte Grund-Anforderungen erfüllen.
- Es muß sich um eine Textdatei im ANSI-Format handeln.
Falls die Datei im ASCII-Format vorliegt, muß das Programm
mit Steuerzeichen 00001 aufgerufen werden. Dann werden die
importierten Daten automatisch in das ANSI-Format konvertiert.
- Jeder Datensatz in der Quelldatei entspricht einer Zeile
in der Quelldatei.
- Pro Datensatz müssen als Schlüssel IMMER die Vorgangsnummer,
die Kundennummer sowie ENTWEDER Artikelnummer und Hersteller
ODER ein Satzartenkennzeichen vorhanden sein (s.u.).
- Es können Dateien mit fester Feldlänge, oder Dateien mit
Trennzeichen eingelesen werden.
2. Aufbau der Beschreibungsdatei
--------------------------------
2.1 Allgemeines
---------------
Anhand der Beschreibungsdatei 0DT10200 wird festgelegt, welche Daten
der Quelldatei in welche Felder welcher Zieldatei übernommen
werden. Da die komplette Beschreibung der Datenquelle in der
Beschreibungsdatei hinterlegt werden kann, bestehen wenige Einschrän-
kungen bezüglich der zu übernehmenden Daten. Diese Flexibilität
bedingt jedoch eine genaue Kenntnis der Datenstrukturen der
Quell- und Zieldateien.
Die Beschreibung der Zieldateien entnehmen Sie bitte den
von KHK gelieferten Dateibeschreibungen.
Folgende Beschreibungen werden benötigt (Pxxxxx = P-Nummer der
KHK-Reportdateibeschreibung):
- Für den Vorgangskopf in der Datei PA2150A.DTA:
Beschreibung der Datei A10200:
Vorgangskopf V (P11110)
- Für die Vorgangspositionen in der Datei PA2150B.DTA:
Beschreibung der Datei A10202:
Position 1 Artikel-Hauptsatz (P11120)
Position 2 Artikel-Ergänzungssatz (P11121)
Position 3 Artikel-LDS-Ergänzungssatz (P81182)
Position L Langtextposition (P11123)
Position T Textposition (P11124)
Position K Kommentarposition (P11124)
2.2 Einschränkungen/Besonderheiten
----------------------------------
Folgende Positionsarten werden nicht unterstützt:
- Stücklisten
- Seriennummern
- Zwischensummen
- Seitenumbruch
In der Beschreibungsdatei müssen folgende Angaben hinterlegt
werden:
- der Name und der Pfad der Quelldatei
- der Name und der Pfad der Zieldatei
- die Position der Schlüsselfelder in der Quelldatei
- wie die Daten der sequentiellen Datei aufgebaut sind
- in welche Felder (Angabe über Offset und Länge) die Daten
übernommen werden sollen
- Unterschiedliche Satzarten in der Quelldatei
- Alle Satzarten
Als Schlüssel müssen IMMER die Vorgangsnummer, die Kundennummer
angegeben werden.
Das Satzartenkennzeichen steht (wenn vorhanden) immer an dem
Offset der Herstellernummer.
- Sätze ohne Satzartenkennzeichen
Diese enthalten die Angaben zu den importierten Artikelpositionen;
neben Vorgangs- und Kundennummer müssen immer die Artikelnummer und
die Herstellernummer angegeben werden.
- Satzarten "L", "T", "K"
Für die Übernahme von Text, Langtext oder Kommentar muß das Artikel-
nummernfeld in der Quelldatei mit Leerzeichen gefüllt und an der
ersten Stelle des Herstellernummernfeldes in der Quelldatei ein
"L" (Langtext), "T" (Text) oder "K" (Kommentar) stehen.
- Satzart "A"
Sätze mit der Satzart "A" enthalten eine abweichende Lieferadresse
für den Stapelauftrag Option "A" in der OK-Abfrage im Kopf der
Stapelauftragserfassung. Bei der Zielangabe wird statt des Offsets
für das Ziel die Kennung für das Zielfeld übergeben; diese entspricht
der Feldnummer im Fenster "Abweichende Lieferadresse" mulipliziert
mit 100 (siehe auch Beispiel-Beschreibungsdatei):
- 0100 = Name 1
- 0200 = Name 2
- 0300 = Straße
- 0400 = Land+PLZ+Ort (z.B. "D-65197 Wiesbaden" oder "D 65197 Wiesbaden")
- 0500 = Text 1
- 0600 = Text 2
- KHK-Wertefelder werden ohne Nachkommastellen abgestellt
Wenn Sie z.B. im Vorgangskopf den Kopfrabatt1 auf 5,00 % einstellen,
so enthält die Datei an dem entsprechenden Offset (hier Offset 285)
die Zahl 500; also den eingegebenen Rabattsatz mal 100.
Aufgrund dieser Besonderheit in den KHK-Datenstrukturen ist
in den Übernahmeprogrammen ein besonderer Datentyp für die
Quelle vorgesehen: Art 5 (siehe unten)
- Einstellige Zahlenwerte
Bei Einstelligen Zahlenwerte muß als Ziel-Datentyp die Art
"Text" (Art 0) verwendet werden. Aus technischen Gründen ist
eine übernahme mit dem Datentyp Ziffern nicht möglich!
- Dezimaltrennzeichen bei Wertefeldern
Als Dezimaltrennzeichen kann wahlweise ein Komma "," oder
ein Punkt "." verwendet werden. Tausenderpunkte sind NICHT
zulässig (sie führen zu falschen Werten)!
2.3 Allgemeiner Aufbau der Beschreibungsdatei
---------------------------------------------
2.3.1 Einlesen aus Dateien mit fester Feldlänge
-----------------------------------------------
Die im Mandantendatenpfad hinterlegte Beschreibungsdatei hat
folgenden Aufbau:
Zeile Inhalt
-------------------------------------------------------------
1 Laufwerk und Pfad in dem die Quelldatei zu finden ist,
mit abschließendem Backslash "\"; z.B.:
C:\Import\
oder
.\Import\
Hier ist es möglich den Pfad relativ zum Mandantenpfad
anzugeben. Wenn die Pfadangabe mit einem Punkt "." beginnt,
dann wird der Pfad relativ zum Mandantenpfad verarbeitet.
Die Angabe ".\Import\" würde das Verzeichnis "Import"
unterhalb des aktuellen Mandantenpfades bezeichnen.
Der Mandantenpfad selbst sollte hier nicht verwendet
werden; dies wird vom Programm jedoch nicht verhindert.
2 Dateiname der Quelldatei OHNE Extension (!); z.B.:
ARTIKEL
3 Extension der Quelldatei (3 stellig!); z.B.:
DAT
Bei Dateien mit fester Satzlänge zusätzlich die Satzlänge
der Quelldatei (3 stellig!); z.B.:
DAT256
4 Dateiname der Zieldatei; z.B.:
PA2150x.DTA
Das x wird für die Erstellung der vier Im-/Export-Dateien
gegen A3, B3, C3, D3 und E3 ausgetauscht (Länge: max. 6 Zeichen
ohne das "x").
Ein anhängendes /L bewirkt, daß zu den eingelesenen Artikeln
vorhandene Memo's aus dem Artikelstamm an die erzeugte Artikel-
position angefügt werden. Dabei wird das Fremdsprachenkenn-
zeichen aus dem Vorgangskopf berücksichtigt.
Beispiel: PA2150x.DTA /L
5 Laufwerk und Pfad in dem die Zieldateien anzulegen sind,
mit abschließendem Backslash "\"; z.B.:
C:\Import\
oder
.\Import\
Hier ist es möglich den Pfad relativ zum Mandantenpfad
anzugeben. Wenn die Pfadangabe mit einem Punkt "." beginnt,
dann wird der Pfad relativ zum Mandantenpfad verarbeitet.
Die Angabe ".\Import\" würde das Verzeichnis "Import"
unterhalb des aktuellen Mandantenpfades bezeichnen.
Der Mandantenpfad selbst sollte hier nicht verwendet
werden; dies wird vom Programm jedoch nicht verhindert.
6 Schlüsselfelder in der Quelle: Offset (4 stellig!) und Länge
(2 stellig!) in der Quelldatei:
1. 4 Stellen für den Offset der Vorgangsnummer
2. 2 Stellen für die Länge der Vorgangsnummer (max. 11 Stellen).
Diese wird auf 11 Stellen rechtsbündig mit Nullen gefüllt
konvertiert.
3. 4 Stellen für den Offset der Kundennummer
Muß immer numerisch sein, die Länge muß der Stellenanzahl der
Personenkonten (gem. Mandantenstamm) entsprechen. Werden im
aktuellen Mandanten beispielsweise 5-stellige Personenkonten
verwendet, muß die Kundennummer 5 Stellen lang sein.
4. 4 Stellen für den Offset der Artikelnummer
5. 2 Stellen für die Länge der Artikelnummer
Diese wird bez. der Einstellung im Mandantenstamm
automatisch konvertiert.
6. Entweder 4 Stellen für den Offset der Herstellernummer
oder ein H mit einer Herstellernummer als feste Vorgabe
(nicht bei Übernahme von Text möglich).
Die Länge der Herstellernummer muß der Stellenanzahl der
Personenkonten (gem. Mandantenstamm) entsprechen.
ab 7 Angaben zu den Quell- und Zielfeldern; jede Zeile
beschreibt ein Feld in Quelle und Ziel:
----- Quelle ----- ------ Ziel ------
Offset: 4 stellig
Länge : 2 stellig
Art : 1 stellig
Flag : 1 stellig
D-Kz. : 1 stellig
Beispiel:
0026 40 0 0026 40 0 0 V
0026 Offset in der Quelle (hier 26 Bytes)
40 Länge in der Quelle (hier 40 Bytes)
0 Art in der Quelle (hier 0 "Text")
0026 Offset im Ziel (hier 26 Bytes)
40 Länge im Ziel (hier 40 Bytes)
0 Art im Ziel (hier 0 "Text")
0 Flag (wird nur bei numerischen
Feldern ausgewertet; s.u.)
V Dateikennzeichen:
V = Vorgangskopf
1 = Artikelpositionssatz 1
2 = Artikelpositionssatz 2
3 = Artikelpositionssatz 3
T = Textposition
K = Kommentarposition
L = Langtextposition
Die Zeilen mit den Dateikennzeichen T, K und L werden nur
bei jenen Quellsätzen mit der entsprechenden Kennung "T",
"K" oder "L" an erster Stelle des Herstellerfeldes in der
Quelldatei berücksichtigt.
In diesem Fall werden die Zeilen mit der Dateikennung V, 1,
2 und 3 nicht berücksichtigt.
Feldarten:
----------
Art Datentyp
-------------------------------------------
0 Text
1 Ziffern
2 CVI % 2 Byte gepackt
3 CVS ! 4 Byte gepackt
4 CVD # 8 Byte gepackt
5 Ziffern (VAL) * 100 !! nur bei Quelle
6 CVL & 4 Byte gepackt
7 Datum im Format tt.mm.jj
8 Datum im Format tt.mm.jjjj
9 Ziffern für Artikelmenge (automatische Umrechnung für
Artikelmengen bei Artikeln mit Nachkommastellen in der
Menge)
Bedeutung des Flags
-------------------
Das Flag steuert die Art der Verarbeitung von numerischen
Feldern (es wird nur bei numerischen Feldern ausgewertet):
Flag Bedeutung
-----------------------------------------------------------
0 Numerische Werte der Quelle werden zu den zugehörigen
Werten des Ziels addiert.
1 Der numerische Wert des Ziels wird gleich der Quelle
gesetzt (der ursprüngliche Wert wird überschrieben).
Bei Textfeldern (Art 0) wird das Flag ignoriert. Dennoch muß
an der 15. Stelle der Wert 0 oder 1 eingetragen werden.
Kommentare
----------
Zusätzlich können zur Verbesserung der Übersichtlichkeit Leer-
zeilen und Kommentare eingefügt werden. Kommentare können am
Ende jeder Zeile nach einem Semikolon ";" eingegeben werden.
Wenn das Semikolon direkt am Anfang der Zeile steht, dann wird
die komplette Zeile als Kommentar gewertet.
Zwischen den einzelnen Zahlenblöcken für Offset, Länge, Typ, usw.
können zur besseren Lesbarkeit beliebig viele Leerzeichen eingegeben
werden. Es ist dabei aber unbedingt darauf zu achten, daß die
entsprechenden Zahlenblöcke immer der vorgegebenen Länge entsprechen;
Offset = 4 Ziffern, Länge = 2 Ziffern, etc.
In der mitgelieferten Beispiel-Beschreibungsdatei sind zu den einzelnen
Einträgen genaue Erklärungen angegeben.
2.3.2 Einlesen aus Dateien mit Trennzeichen
-------------------------------------------
Wenn die Daten aus einer Datei mit Trennzeichen statt mit fester
Feldlänge eingelesen werden sollen, dann sind einige Änderungen
an der Beschreibungsdatei für die Datenübernahme auszuführen. Diese
sind im folgenden beschrieben.
In Zeile 3 wird normalerweise die Extension der Quelldatei
und ggf. die Satzlänge angegeben.
Statt der Satzlänge kann jetzt ein Trennzeichen angegeben
werden. Diese Angabe dient für das Programm als Kennzeichen,
daß die einzelnen Felder durch dieses Trennzeichen voneinander
getrennt sind (statt Felder mit fester Feldlänge).
Beispiel: Angabe eines Trennzeichens in der Zeile 3
C:\ImportDT\ ; Quellpfad
Auftrg ; Quelldateiname
TXT , ; Quelldatei-Extension/Trennzeichen , (Komma)
PA2150x.DTA ; Zieldateiname
C:\DTA\ ; Zielpfad
...
Achtung:
--------
Bitte beachten Sie, daß die ersten 3 Stellen in der Zeile 3
sich IMMER auf die Extension der Quelldatei beziehen! Wenn die
Quelldatei keine Extension besitzt, dann sind die 3 Stellen
mit Leerzeichen aufzufüllen (vgl. Angabe der Satzlänge bei
Dateien mit fester Satzlänge)!
Es kann ein beliebiges Trennzeichen außer Leerzeichen und Ziffern
verwendet werden.
Sonderfall: Trennzeichen Semikolon ";"
Das Semikolon dient innerhalb der Beschreibungsdatei normalerweise
als Kennzeichen für einen Kommentar. Wenn es als Trennzeichen
verwendet werden soll, dann muß es hinter der Angabe der Extension
der Quelldatei zweimal direkt hintereinander angegeben werden
(siehe auch beiliegende Beispieldatei in der das Semikolon als
Trennzeichen verwendet wird).
Beispiel: Angabe des Trennzeichens Semikolon
C:\ImportDT\ ; Quellpfad
Auftrg ; Quelldateiname
TXT ;; ; Quelldatei-Extension/Trennzeichen ; (Semikolon)
PA2150x.DTA ; Zieldateiname
C:\DTA\ ; Zielpfad
...
In der Folge sind in den Angaben der Quellfelder und des Schlüssels keine
Offsets mehr anzugeben, sondern stattdessen die Nummer des Feldes in dem
sich die Daten befinden. Die Angaben für die Länge des Quellfeldes sind
fest mit 00 anzugeben. Die Zählung der einzelnen Datenfelder beginnt
bei 1.
- Schlüsseldefinition (Zeile 6)
In der Zeile 6 wird statt den Offsets für die einzelnen Teile des
Schlüssels jeweils die Nummer des entsprechendesn Feldes angegeben.
Bitte beachten Sie, daß diese Angabe dennoch 4-stellig (mit Vornullen)
sein muß. Die Angaben für Feldlängen dürfen NICHT entfallen, sondern
hier muss jeweils 00 als Dumm-Angabe eingetragen werden (siehe auch
beiliegende Beispieldateien 0DT10202 und 0DT10203).
- Definition der einzelnen Datenfelder (ab Zeile 7)
Für jedes Feld wird 4-stellig die Nummer des Datenfeldes angegeben
in dem sich die Quelldaten befinden. Danach folgt 2-stellig die 00
als Dummy-Angabe für die Feldlänge.
Führende Leerzeichen inerhalb von Textfeldern beleiben unverändert
erhalten.
Falls das Quellfeld kürzer ist als die angegebene Länge des Ziel-
feldes, dann wird der Rest des Zielfeldes mit Leerzeichen aufgefüllt.
Inhalte für Quellfelder, die in der Quelldatei fehlen werden als
leer angenommen; z.B. wenn in der Quelldatei 5 Felder enthalten
sind als Quellfeld aber Feld 10 angegeben wird.
Bitte beachten Sie bei der Wahl des Trennzeichens, daß KEINES der
Felder das Trennzeichen enthalten darf! Falls dies dennoch der
Fall ist "verschieben" sich die Nummern der nachfolgenden Felder
entsprechend, so daß die Datenübernahme fehlschlägt!
Die Angaben für den Datentyp und das Zielfeld usw. sind unverändert
wie oben beschrieben anzugegeben.