p$TDV:SMPAPI:L_Tabell
p$TDV:SMPAPI:L_Tabell
Lesen eines oder mehrerer Datensätze aus einer beliebigen SalesManager NG- oder Anwender-Datenbanktabelle (siehe auch den Datenaustausch mit Anwender-Datenbanken über den SalesManager NG).
Mit dieser allgemeinen Funktion können prinzipiell alle SalesManager NG-Datenbanktabellen gelesen werden. Allerdings sollte besser eine spezielle Funktion verwendet werden, wenn eine solche vorhanden ist - z.B. kann über die Funktion p$TDV:SMPAPI:L_WakPos eine Warenkorb-Position vollständig gelesen werden, obwohl die Daten technisch auf mehrere Datenbanktabellen verteilt sind.
Die Bestimmung der zu lesenden Datensätze erfolgt über eine Parametergruppe mit Suchvorgaben (SuchPG). Diese Parametergruppe muss mit dem Typnamen der Parametergruppe, die die Datenbanktabelle beschreibt, definiert sein. Die Werte in dieser Parametergruppe werden als Suchvorgabe (mit „gleich") verwendet. Ein Parameter im Zustand LEER bewirkt keine Einschränkung der Suche. Eine Suche mit Platzhaltern („Wildcards") ist hier nicht möglich.
Ist diese Form der Suche nicht ausreichend, so kann ebenfalls p$TDV:SMPAPI:L_xTabel aufgerufen werden. Hier ist neben einer Suche mit Vergleichsoperatoren („kleiner", „größer",...) auch eine Sortierung des Ergebnisses möglich.
Die Definition der für den Datenaustausch benötigten Parametergruppe erfolgt am einfachsten mit Hilfe der ePOS-Menüfunktion „Datei - Import - ODBC Tabelle".Import ODBC Tabelle
Abhängig von den Suchkriterien können ein oder mehrere Datensätze gefunden werden. Diese Datensätze werden in die über DatenPG gegebene Parametergruppe geschrieben. Damit mehrere Datensätze gespeichert werden können, sollte diese PG einfach indiziert sein. Die Anzahl der gefundenen Datensätze wird (indirekt) in dem über NameAnzahl übergebenen Parameternamen zurückgegeben.
Bitte beachten: Die Parametergruppen, die in DatenPG und SuchPG übergeben werden, sowie der Parameter, der in NameAnzahl übergeben wird, werden indirekt in einer Zeichenkette übergeben, also in Anführungszeichen eingeschlossen. Außerdem müssen die Definitionen global sein!
Syntax: | Status = p$TDV:SMPAPI:L_Tabell( DatenPG, Tabelle, SuchPG, NameAnzahl ) | ||
| Argument | Typ | Bedeutung |
| DatenPG | Zeichenkette | Name einer Parametergruppe mit den zu lesenden Daten; die PG ist i.d.R. einfach indiziert, die Angabe erfolgt jedoch ohne Index. Die PG braucht nicht indiziert zu sein, wenn maximal ein Datensatz gefunden werden kann |
| Tabelle | Zeichenkette | Name der Datenbanktabelle oder –Abfrage |
| SuchPG | Zeichenkette | Name einer Parametergruppe mit der Suchvorgabe. Der Typname der PG sollte dem Typnamen von DatenPG entsprechen. Wenn SuchPG indiziert ist, muss ein fester Index angegeben werden. |
| NameAnzahl | Zeichenkette | Name eines (globalen) Ganzzahl-Parameters, der die Anzahl der gelesenen Datensätze in DatenPG enthält. Es kann auch ein Leerstring ('') übergeben werden. |
Ergebnis: | Ganzzahl | Status der Operation | |
Beispiel: | Suche aller Auslandsvertretungen in Frankreich in einer separaten Niederlassungstabelle: f$PGLeer( 'Vorgabe' ) Status = p$TDV:SMPAPI:L_Tabell( 'Liste', 'Niederlassungen', 'Vorgabe', 'Anzahl' ) → Anzahl = 3, damit enthalten die Parametergruppen Liste[1], Liste[2] und Liste[3] die Daten der Niederlassungen. | ||