1.6.3 Beispiel 2
ERKENN.INF
*art datei kennung pis len val
* (egal) 1:diff <- wird bei 1 nicht beachtet!
* 2: == (muss ggf. mit einem Komma
* 3: != abgeschlossen werden!)
*
* Auftragskopf erstellen
1 3 1 1 *
* Positionszeile (K-Zeile) erstellen
1 3 1 1 *
Zugehörige Datei MOVE.INF
* Kopf bearbeiten ************************************************************
*Z I E L A N G A B E N Q U E L L A N G A B E N
*Block Datei Pos Lng Format Datei Pos Lng Sonderbehandlungen mit Parameter
* Kunde lesen
1 255 300 7 C7 0 75 17 204,KUNDE * hole Kunde aus Tabelle
1 41 F1 009 * Initialisieren
1 255 1 1 041,200 * -> weiter mit 200 *
* Positionen bearbeiten ******************************************************
*
* Initialisieren der Puffer
200 6 F1 009 * TSS Initialisieren
200 23 F1 009 * Dispo Init
...
Zugehörige Datei EDI.INF
...
DAIMLERBE1 56317.11.0018:3717.11.0000:00DAI20170 DAI23000
...
Ablauf
Das Programm liest in ERKENN.INF die erste Zeile ("Auftragskopf erstellen"):
-
pis=1, len=1 besagt: Lies in EDI.INF die 1. Position mit der Länge 1 (= "D"AIMLER)
-
Kennung=3 besagt: Vergleiche, ob dieser Wert "D" ungleich val="*" ist. Wenn dieser Vergleich zutrifft, also wahr ist (was in diesem Beispiel der Fall ist), dann beginne die Abarbeitung von MOVE.INF in der ersten vorkommenden Zeile mit Blocknummer 1: "hole Kunde aus Tabelle ..."
Wenn dieser Vergleich nicht wahr ist, dann lies die nächste Zeile in ERKENN.INF.
In diesem einfachen Beispiel wird somit jeder Satz in der Übergabedatei EDI.INF als ein eigener Auftrag behandelt. Die zweite Zeile ("Positionszeile ... erstellen") wäre somit nicht notwendig gewesen.