1.5.1.2 Auswahlkonfiguration StpImport, StpExport und StpKonvert
Mit Hilfe der Auswahlkonfigurationsfunktionen StpPreSetKeys, StpPreSelectField, StpPreSelectBuf kann die Menge der Sätze eingeschränkt werden.
StpPreSetKeys schränkt die Bearbeitungsmenge mit Hilfe von Schlüsseln, die Funktionen StpPreSelectBuf und StpPreSelectField beschneidet die Menge, indem nur Sätze aufgenommen werden, in denen ein entsprechendes Muster gefunden wird. StpPreSetKeys  ist nur einmal pro Aufruf von StpImport, StpExport und StpKonvert verwendbar,  StpPreSelectBuf,  StpPreSelectField mehrfach.
Die Auswahlkonfigurationsfunktionen können nicht gemischt werden, d.h. vor einem Aufruf von StpExport, StImport oder StpKonvert darf jeweils nur ein Auswahlkonfigurationsfunktionstyp verwendet werden. Zum Beispipel darf StpPreSelectBuf  nicht zusammen mit StpPreSelectField verwendet werden.
Abarbeitung der Konfigurationen
Die Abarbeitung der Konfigurationen erfolgt in einer festgelegten Reihenfolge. Zum Beispiel wird zuerst die StpPreMoveBuf – Konfiguration und danach die StpPreValueBuf – Konfiguration behandelt. Die StpPreMoveBuf – Konfiguration wiederum wird nach der Anordnung der IPS-Befehle abgearbeitet. 
Das Beispiel zeigt den Export des Kundenstammsatzes mit Kundennummer K10001. Zuerst werden Daten innerhalb des Puffers verschoben und  dann erst XX und YY in den Puffer geschrieben.
StpPreValueBuf( 75, 1, "XX" ); // StpPreValueBuf - Konfiguration
StpPreValueBuf( 77, 1, "YY" );
StpPreMoveBuf( 79, 2, 90 ); // StpPreMoveBuf - Konfiguration
StpPreMoveBuf( 82, 2, 92 );
StpPreMoveBuf( 94, 2, 79 );
StpPreSetKeys( "K10001", "K10001" ); // StpPreSetKeys - Konfiguration
 
StpExport( "041", 1, "c:\temp\export041.txt", "a", 0,  0 );
// Vor dem Export Ausführung der Konfiguration
Vor dem Export des Kundenstammsatzes in die Datei c:\temp\export041.txt wird die StpPreMove- und danach die StpPreValue -  Konfiguration ausgeführt. Die StpPreMove- Konfiguration wird gemäss der Reihenfolge der Skriptbefehle ablaufen, also zuerst wird aus Pos 79 der Wert nach Pos 90 verschoben, danach aus Pos 82 der Wert nach Pos 92 und am Ende aus Pos 94 der Wert nach Pos 79.
Die folgenden Kapitel beschreiben nun die Reihenfolge der Abarbeitung der Konfigurationen für die Schnittstellenfunktionen StpExport, SptImport und StpKonvert.
StpExport und StpKonvert
Die Anwendung der Konfigurationen und das Schreiben der Werte erfolgt Satz für Satz. Beim StpKonvert werden je nach Einstellungen des „Loglevels“ die Veränderungen ins Log geschrieben.
A: Lesen der Sätze aus der infra:DB
Der Datensatz wird beim Aufruf von StpExport oder StpKonvert aus der Datenbank gelesen und darauf zuerst die Puffer- und danach die Feldkonfigurationen angewendet.
Die Ausführung der Konfigurationsfunktionen erfolgt nach der Reihenfolge im Skript.
Die folgende Liste zeigt die Reihenfolge der Anwendung der Konfigurationen.
B: Pufferkonfigurationsfunktionen
  • StpPreMoveBuf
    Verschieben von Daten innerhalb des aktuellen Puffers
  • StpPreValueBuf
    Setzen von Werten im aktuellen Puffer
  • StpPreMoveField
    Verschieben von Feldern innerhalb des aktuellen Puffers
  • StpPreToUpperBuf
    Setzen von Werten auf UpperCase innerhalb des aktuellen Puffers
C: Feldkonfigurationsfunktionen,  wird bei StpExport mit nFieldHandling==4 NICHT ausgeführt
  • StpPreFormatField
    Formatiert die angegeben Felder gemäss Benutzerangaben.
  • StpPreDelimits
    Setzt die Feldtrenner, falls beim Export Feldtrenner zugelassen sind.
    Beim StpKonvert wird diese Funktion nicht ausgeführt.
  • StpPreValueField, StpPreValueFieldHigh, StpPreValueFieldLow
    Setzen von Benutzer oder infra:Default Werten in die angegeben Felder.
  • StpPreToUpperField
    Setzt die angegebenen Felder auf UpperCase
  • StpPreFieldSubSet
Es werden nur die Felder dieser Feldkonfiguration exportiert. Wird diese Funktion nicht ausgerufen, erfolgt der Export aller Felder.
Wird bei StpKonvert nicht ausgeführt.
D: Abschluss wieder Pufferkonfiguration, wird nur bei nSetClrAtEndRecDelimit==1 ausgeführt
5.      StpImportExportCFG
        Setzt den Satztrenner beim Exportsatz. Wird bei StpKonvert nicht ausgeführt.
E: Schreiben der Werte
StpExport erstellt eine neue Datei und schreibt die Sätze laut Auswahlkonfiguration oder fügt diese einer bestehenden Datei an.
StpKonvert macht ein Update auf den gelesenen Satz oder fügt dieser ein falls ein Schlüssel verändert wurde.
StpImport
Die Anwendung der Konfiguration und das schreiben der Werte erfolgt Satz für Satz nachdem die Importdatei erfolgreich eingelesen ist.
Beim Import werden, je nach Einstellung des „Loglevels“, die erfolgreich importierten Sätze in eine Logdatei geschrieben.
A. Einlesen der Sätze aus der Importdatei
Der Datensatz wird beim Aufruf der Schnittstellefunktion StpImport aus der Importdatei gelesen und in einen Container geschrieben. Danach erfolgt zuerst die Anwendung der Puffer- und danach der Feldkonfigurationen. Die Anzahl der Importsätze kann mit Hilfe der Auswahlkonfiguration eingeschränkt werden. 
B: Pufferkonfiguration Entfernen der Satztrenner
  • StpImportExportCFG
    Die Funktion konfiguriert das Grundverhalten der Schnittstellenfunktion.
  • StpPreDelimits
    Die Funktion ersetzt die Separatoren durch infra:Separatoren und Formiert den Wert. Z.B. wird in einem String, der in ein Nummernfeld der infra:DB zu importieren ist,
    das „,“ durch „.“ ersetzt, laut DD formatiert und danach in das entsprechende Feld geschrieben.
C: Feldkonfiguration
  • StpPreToUpperField
    Setzt die Werte von Feldern to UpperCase
  • StpPreValueField, StpPreValueFieldHigh, StpPreValueFieldLow
    Setzt Werte in die angegebenen Felder.
D: Spezialbehandlung
Die folgenden beiden Funktionen können nicht zusammen verwendet werden.
  • StpPreFieldSubSetImport
    Die Funktion übernimmt nur die angegeben Felder aus dem Importsatz und schreibt sie in die angegeben Felder.
  • StpPreFormatField
    Formatiert die Werte gemäss Benutzerangaben
E: Schreiben des Satzes
Nach der Manipulation wird der Satz im Testmodus in eine Testdatei geschrieben oder sonst in die Datenbank.