infra:NET User
 
×
1.3.32 StpUppBuf– Updaten eines Datensatzes mit Positionsangabe
StpUppBuf( strKeys, strBufName, nPath, nPos, strBuffer  );
Argumente
strKeys
Angabe von bis zu 6 Schlüsselfeldern. Standard-Trenner sind (änderbar mit StpSetKeyDelimiter) „ , ; | “.
Der Schlüssel wird folgendermaßen übergeben:
Es wird entsprechend nPath das erste Schlüsselfeld bis zum ersten Trenner gelesen und davon die Länge laut DataDictionary verwendet, ist der String länger, wird er abgeschnitten, ist er kürzer, wird er mit Leerzeichen auf die volle Länge aufgefüllt.
Dann wird das zweite Schlüsselfeld bis zum zweiten Trenner gelesen usw., solange bis kein Trenner mehr kommt, bzw. mehr Trenner als für diese Schlüssel definierte Felder kommen.
Dann werden diese Schlüsselfelder in der gefundenen Reihenfolge zusammengesetzt, und mit diesem Schlüssel wird gelesen.
ACHTUNG:
Wenn es zum Beispiel einen Schlüssel aus 2 Feldern (jeweils 7 Byte lang) „Nummer Owner“ + „Nummer Member“ gibt, muss strKeys folgendermaßen aussehen:
„0110012, 1910002“
Nur dann wird mit „01100121910002“ aufgesetzt.
Wird als strKeys „01100121910002“ übergeben, wird nur mit „0110012“ aufgesetzt!
 
strBufName
Name des Buffers.
Der BufferName ist einer Datenbankdatei zugeordnet.
 
nPath
Pfad, über den der Satz gesucht wird.
 
nPos:
Position innerhalb des bestehenden Datensatzes, ab der die Werte mit dem Inhalt von strBuffer überschrieben werden. Die Länge des einzutragenden Strings wird anhand von strBuffer berechnet.
 
strBuffer:
Wert der angepasst werden soll.  
Rückgabewert:
StpRc
0
Satz wurde updatet
<>0
Satz wurde nicht updatet
Fehlerarten:
Warnung
10
Deskriptor nicht gefunden
 
32
Datei leer / Pointer Urblock = 0
 
40
mehr als 10 Stufen
 
41
Kein Indexsatz mehr zur Verfügung
 
43
Kein Anwendersatz mehr zur Verfügung
Fehler
Rest
 
Beschreibung
Ist der Datensatz vorhanden, wird er mit dem Wert in strBuffer ab Position nPos in der Länge von strBuffer überschrieben und in die Datenbank zurückgeschrieben.
Der Skripter kann den Returncode auswerten.
Ist die Protokollierung aktiv, werden die geänderten Sätze, bzw. die Fehler in die Logdatei geschrieben.
Funktionsart
STPFunktion
Beispiel
AssignString( strBuffer, „utensilien“);
StpUppBuf( „0110012“, TSS, 1, 28, strBuffer  );
if(StpRc == 0 ) //Satz wurde updatet
Satz vorher      0003210110012         Schreibtisch
Satz nacher      0003210110012         Schreibutensilien