You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Die DBInfo-Formel ist eine Formel mit deren Hilfe direkt auf Datenbankfelder von ERP-complete zugegriffen werden kann. In der Regel findet diese Funktion Anwendung, wenn in dem aktuellen Druck- und Datenbereich eine Information (Variable, Feldinhalt) nicht zur Verfügung steht. 

Um die DBInfo-Formel sinnvoll verwenden zu können, benötigen Sie eine Feldliste, in der Sie die Datenbanknamen, die Feldnamen und vor allem die Sortierungen erlesen können. Es steht Ihnen ein Skript zur Verfügung, welches eine Feldliste erstellt. Zu finden ist dieses Script auf jeder ERP-complete CD unter \Bonus\COM\FeldListe.VB. In diesem Ordner befindet sich auch eine Erklärung, welche Einstellungen am Skript vorgenommen werden müssen, um die Liste korrekt zu erstellen. Somit können Sie sich eine Feldliste explizit für Ihr System erstellen. 

Diese Erklärung beschreibt die DBInfo-Formel für den Druckdesigner: 

Allgemeiner Aufbau: 

External$('DBInfo("Name der Datentabelle"|Schlüsselwert[e]|"Zielfeldname")') 

Eine DBInfo-Formel setzt sich allgemein aus 3 Teilen zusammen. Diese sind durch eine Pipe "|" getrennt. 

Name der Datentabelle: Dies ist der Name der Datentabelle, auf welche Sie zugreifen möchten. In der erstellten Feldliste ist diese daran zu erkennen, dass die Bezeichnung "Dataset:" davor steht. 

Beispiel: "Artikel" bei der Artikel-Datentabelle oder "VorgangArchiv" bei den Archiv-Vorgängen. 

Schlüsselwert[e]: Mit dem Schlüsselwert geben Sie dem Programm an, auf welchen Datensatz Sie innerhalb der Datentabelle zugreifen möchten. Dies ist eine Variable aus der aktuellen Variablen-Liste, in dem Layout in welchem Sie sich befinden. Welche Variablen übergeben werden müssen, hängt von der Datentabelle ab, auf die Sie zugreifen möchten. Am Ende der Beschreibung jeder Datentabelle in der Feldliste, sind die Indizes (Schlüsselwerte) aufgelistet. Die Felder, die als Schlüssel benötigt werden, stehen unter dem Indexnamen. Der erste Index ist normalerweise der Index, der verwendet werden muss, um auf die Datentabelle zu zugreifen. Falls der erste Index ID ist, dann wird in der Regel der zweite Index genutzt. In den meisten Fällen besteht ein Index aus nur einem Feld. Falls mehrere Felder vorhanden sind, werden die verschiedenen Schlüsselwerte mit einer Pipe "|" getrennt. 

Beispiel: In der Feldliste steht folgendes: 

DataSet: Artikel - Artikel 

.... 

Index: ID - ID 

IndexField:ID - ID 

Index: Nr - Nummer 

IndexField:ArtNr - Artikelnummer 

... 

Von der Artikel-Datentabelle ist der erste Index "ID", also müssen wir den zweiten Index benutzen. Dessen Name ist "Nr" und das Schlüsselwert ist die Artikelnummer. 

Wenn wir also mit einer DBInfo-Formel auf die Artikel-Datentabelle zugreifen möchten, dann müssen wir die aktuelle Variable für die Artikelnummer als Schlüsselwert übergeben. 

Zielfeldname: Das Feld des Datensatzes, welches man als Ergebnis der DBInfo-Formel bekommen möchte. Den genauen Namen entnehmen Sie den Feldern, die unter der Datentabelle in der Feldliste aufgeführt sind. 

Beispiel: DataSet: Artikel - Artikel 

.... 

Field: ArtNr - Artikelnummer (String) + 

Field: SuchBeg - Suchbegriff (String) + 

... 

Field: Memo - Memo-Information (Info) + 

... 

Wenn in einer DBInfo-Formel auf die Artikel-Datentabelle der Zielfeldname "SuchBeg" verwendet wird, bekommt man den Suchbegriff als Rückgabewert. 

Wenn in einer DBInfo-Formel auf die Artikel-Datentabelle als Zielfeldname "Memo" verwendet wird, bekommt man das Memofeld zurück. 

Beispiel: Es soll eine Mahnung für einen Offenen Posten mit der Vertreternummer aus dem Vorgang ausgegeben werden. Bevor Sie die DBInfo-Formel erstellen, müssen Sie prüfen, wo der entsprechende Vorgang enthalten ist. Steht der Vorgang noch in der Vorgangsübersicht oder wurde er bereits ins Vorgangsarchiv verschoben. Dies ist wichtig, da Sie Ihre Formel entsprechend anpassen müssen (Vorgang oder VorgangArchiv). 

Steht der Vorgang im Archiv, muss auf die Archiv-Vorgänge zugegriffen werden. 

In der Feldliste steht folgendes: DataSet: VorgangArchiv - Archiv Vorgänge 

... 

Field: VtrNr - Vertreternummer (String) + 

... 

Index: BelegNr - Belegnummer 

IndexField:BelegNr - Belegnummer 

.... 

Die Datentabelle heißt also VorgangArchiv und der Schlüsselwert ist die Belegnummer und der Zielfeldname ist VtrNr. 

Im Druck der Mahnung gibt es die Variable Adr.OPo.BelegNr, in der die Belegnummer steht. Die fertige Formel heißt also: 

External$('DBInfo("VorgangArchiv"|Adr.OPo.BelegNr |"VtrNr")') 

Anmerkung: 

Hier wurden DBInfo-Formeln innerhalb des Druckdesigners erklärt. Es gibt aber auch DBInfo-Formeln beim Export und bei Filtern (Informationen finden Sie im entsprechenden FAQ). Der Aufbau ist identisch, nur die Trennzeichen zwischen den einzelnen Positionen des Befehls sind abweichend. 

Druckdesigner: External$('DBInfo("Name der Datentabelle"|Schlüsselwert[e]|"Zielfeldname")') 

Export: $DBInfo(Name der Datentabelle,Schlüsselwert[e],Zielfeldname) 

Filter: DBInfo('Name der Datentabelle',Schlüsselwert[e],'Zielfeldname')

  • No labels