1.11 Aufbau von Tabellendateien für Ersetzung von Werten (AUF448.TAB)
Über Tabellen können Werte, die vom Kunden geliefert werden, in infra-Werte umgewandelt werden, z.B. übermittelt der Kunde seine eigenen Mengeneinheiten. Beispiel:
MENGEINH Tabelle für die Mengeneinheiten
{
PCE \\St;
MET \\m;
CBM \\m3;
}
In der Datei SIBPPS.INI muss in der Sektion [AUF448] ein Eintrag “Tabellendatei = Tabellenname” existieren. Ansonsten gilt “AUF448.TAB” im Arbeitsverzeichnis als Defaultwert. Die Datei muss folgenden Aufbau haben:
Überschrift muss existieren, genau eine Zeile ohne „;“ am Ende
{
Key Zwingend Kommentar aber ohne „;“ am Ende
{
Quelle1 \\Ziel1;
Quelle2 \\Ziel2;
... ...
default \\Defaultwert;
}
Key Zwingend Kommentar aber ohne „;“ am Ende
{
...
}
...
}
Jede Zuordnungszeile muss mit einem Semikolon abgeschlossen werden. Als Trenner zwischen Quelle und Ziel wird “\\” angegeben. Leerzeichen vor oder hinter den Quellangaben sind ohne Bedeutung. Führende Leerzeichen bei den Zielangaben werden beachtet. Falls die Quellangabe nicht in der Tabelle enthalten ist, wird die "default"-Zeile berücksichtigt.
Achtung:
-
Die Zeichen “;” und “\\” und “{” und “}” dürfen weder in Quelle noch in Ziel auftauchen.
-
Innerhalb der Quelle sind mehrere Leerzeichen hintereinander zulässig, wenn die gesamte Zeile in Anführungszeichen gesetzt wird (siehe Beispiel).
-
Innerhalb des Ziels werden mehrere Leerzeichen hintereinander wie ein Leerzeichen behandelt. Wer mehrere Leerzeichen ersetzen will, muss das Ziel mit Anführungszeichen umgeben. Das Anführungszeichen selbst kann auch innerhalb eines Ziels auftreten.
-
Hinter den Quelle/Ziel-Zeilen darf kein Kommentar stehen
Die Tabellendatei kann mit der Sonderfunktion 204 abgefragt werden: Der Parameter von Sonderfunktion 204 wird als “Key” in der Tabelle verwendet. Wenn kein passender Eintrag existiert und kein “Default” angegeben ist, wird ein Fehlercode gesetzt.
Beispiele für Verwendung von Tabellen in Steuerdateien:
Steuerdatei:
6 255 300 7 C7 0 01 17 204,KUNDE * hole Kunde aus Übergabedatei über Tabelle (Sektion KUNDE)
6 255 300 7 C7 I1 01 68 204,KUNDE * hole Kunde aus Individualfeld I1 über Tabelle (Sektion KUNDE)
Tabelle:
Tabellen für die Umsetzung der Kundennummer, ME …
{
KUNDE Tabelle für die Kundennummer
{
"absender kunde lieferadr rechnungsadr \\"kunde "";
"BAYERBE1 BY49 BAYERBE1 BAYGV210 \\"25414 "";
default \\XXXXXX;
}
MENGEINH Tabelle für die Mengeneinheiten
{
PCE \\St;
KGM \\kg;
L \\l;
PCK \\St;
BL \\Fa;
BOX \\Kt;
ROL \\Ro;
CAN \\Do;
default \\St;
}
POSTEXT Text für eine T-Zeile (zur K-Zeile)
{
18 \\ZENTRAL;
8 \\DIREKT;
31 \\GEBÄUDE;
default \\DIREKT;
}
}
Weitere Beispiele für Ersetzungen in Tabelle:
|
ABC \\XYZ
|
;
|
-> “ABC” wird durch “XYZ” ersetzt
|
|
ABC \\ XYZ
|
;
|
-> “A BC” wird durch “XYZ” ersetzt
|
|
A BC \\"XY Z"
|
;
|
-> “A BC” wird durch “ XY Z” ersetzt
|
|
A BC \\XY Z
|
;
|
-> “A BC” wird durch “ XY Z” ersetzt (nur ein Leerzeichen!)
|
|
“A BC \\“XY Z““
|
;
|
-> “A BC” wird durch “ XY Z” ersetzt (mehrere Leerzeichen in Original und Ersetzung!)
|