- 24 Apr 2024
- 8 Minutes to read
- Print
- DarkLight
- PDF
[*B-Blockname]
- Updated on 24 Apr 2024
- 8 Minutes to read
- Print
- DarkLight
- PDF
[*B-Blockname] ist eine Kennung zum Austausch eines Standardtextblockes.
In diesen Textblöcken können Datenbankfelder aus der Adresstabelle und aus dem Objektkopf verwendet werden.
Beispiel 01 [*B-Kopf1]
[*D-AdrHdr.Name1] [*Date]
[*D-AdrHdr.Name2]
[*D-AdrHdr.Street]
[*D-AdrHdr.PLZ]-[*D-AdrHdr.Ort]
[*B-Anrede[*D-AdrHdr.Sex]],
vielen Dank für Ihre Anfrage vom [*D-OffHdr.DatOrd].
Ergebnis
Emil Mustermann 14.08.1995
Musterstraße 17
D-8888-Musterstadt
Sehr geehrter Herr Mustermann,
vielen Dank für Ihre Anfrage vom 13.01.2017.
Das Symbol [*B-Blockname] kann auch mehr als einen Textblock gleichzeitig bearbeiten. Dazu werden die Blocknamen hintereinandergehängt und durch Kommas getrennt. Allgemein gilt die Form [*B-Blockname1,Blockname2,...,BlocknameN]
Beispiel 02 Blockliste
[*B-Kopf1,Kopf2,Kopf3]
Diese Erweiterung kann man sich auch für Datenfelder zu Nutze machen, in denen eine Liste von mehreren Textblöcken steht.
Wenn das Datenfeld VSPTXT die Blocknamen V01, V02 und V03 als Liste beinhaltet, dann werden mit der Umsetzung [*B-[*D-VSPTXT]] alle drei Textblöcke geladen und eingesetzt.
Intern löst das Programm solche Listen in folgende Form auf:
...
[*B-[*D-VSPTXT]]
[*B-V01,V02,V03]
[*B-V01][*B-V02][*B-V03]
Textgenerierung...
Weitere Ausgabemöglichkeiten von Werten
Allgemeines zu den Funktionstypen:
Integer (I): Ergebnis ist eine Zahl
Charakter (C): Ergebnis besteht aus max. 255 Zeichen
String: Ergebnis setzt sich aus einer ungestimmten Anzahl von Zeichen zusammen.
1. Anzahl Elemente einer Liste
[*ENTRIES-Ausdruck,Listentrennzeichen]
Als Ausdruck kann jeder Ausdruck genommen werden.
Listentrennzeichen ist optional, ist nichts angegeben, wird "," angenommen
Beispiel
Anzahl einer Liste [*ENTRIES-[*D-AdrHdr.AdrPCd1],]
Anzahl einer Liste 3
Erklärung
Hier wird die Anzahl der Elemente aus einer Liste ausgelesen. In unserem Beispiel besteht der Datensatz aus 3 Elementen, die sich wie folgt aufteilen: „A", „##" und „4600".
2. Teilbegriff in Ausdruck austauschen
[*REPLACE-Ausdruck,von-String,nach-String]
Als Ausdruck kann jeder Ausdruck genommen werden.
Von - String ist ebenfalls ein beliebiger Ausdruck
Nach - String ist ebenfalls ein beliebiger Ausdruck
Beispiel
REPLACE (ersetzen) [*REPLACE-[*D-AdrHdr.AdrPCd1], ,#]
Ergebnis
ersetzen A##4600
Erklärung
Hier wird nach dem Datenbankfeld "AdrHdr.AdrPCd1" gesucht. Wird der Ausdruck " " (Leerzeichen) gefunden, dann soll dieser Ausdruck mit "#" ersetzt werden.
3. Teilstring
[*SUBSTRING-Ausdruck,von-Position,Länge]
Als Ausdruck kann jeder Ausdruck genommen werden.
Von - Position muss ein ganzzahliger Wert sein.
Länge ist optional. Ist Länge nicht angegeben, wird der ganze Teilstring von - Position bis zum Ende genommen.
Beispiel
Teile eines Strings ab - bis [*SUBSTRING-[*D-AdrHdr.AdrPCd1],4,2]
Teile eines Strings ab [*SUBSTRING-[*D-AdrHdr.AdrPCd1],3]
Ergebnis
Teile eines Strings von bis 46
Teile eines Strings ab 4600
Erklärung
Der String lautet "A##4600"
– bei ab - bis werden also von Stelle 4 nur 2 Stellen ausgegeben, in unserem Beispiel also "46"
– bei ab wird ab dem 3. String alles ausgegeben.
4. Länge eines Strings
[*LENGTH-Ausdruckt]
Als Ausdruck kann jeder Ausdruck genommen werden.
Beispiel
Länge eines Strings [*LENGTH-[*D-AdrHdr.AdrPCd1]]
Ergebnis
Länge eines Strings 7
Erklärung:
Hier wird die Länge des Datensatzes "AdrHdr.AdrPCd1" ausgelesen. Der Datensatz lautet "A##4600" und hat somit 7 Zeichen.
5. Numerische Werte formatiert ausgeben
[*STRING-Ausdruck,Formatangabe]
Als Ausdruck kann jeder numerische Wert genommen werden. Als Formatangabe können alle Progressformatangaben verwendet werden.
Die Funktionen können (wie an unten angeführtem Beispiel STRING...ENTRY ersichtlich) verschachtelt werden.
Beispiel
Stringumwandlung der PLZ 10-stellig [*STRING-[*V-vCusAdrPcd1n],9999999999]]
Ergebnis
Stringumwandlung der PLZ 10-stellig 0000004600
Erklärung
Hier wird die Anzahl der Liste ermittelt und auf 10 Stellen mit "0" aufgefüllt. Ausgegeben wird der 10-stellige Datensatz als String.
6. Textvariable als Integer ausgeben
Als Ausdruck kann jeder numerische Wert einer Textvariable genommen werden.
Ausgegeben wird ebenfalls ein numerischer Wert.
Beispiel
Integer mit Textvariable [*I-vCusAdrPcd1n@4600] - 1= Ja (trifft zu), 0 = Nein (trifft nicht zu)
Ergebnis
Integer mit Textvariable 1
Erklärung
Hier wird ein Element (Textvariable) aus einer Liste rausgeholt. Wird dies (in unserem Fall "4600") gefunden, dann wird "1" ausgegeben. Wird diese Textvariable nicht gefunden, dann wird "0" ausgegeben. Erhält man "1", dann wird "Text A" im Formular angedruckt, erhält man "0", dann wird "Text B" angedruckt.
7. Datenbankfeld als Integer ausgeben
Als Ausdruck kann jeder numerische Wert eines Datenbankfeldes genommen werden.
Ausgegeben wird ebenfalls ein numerischer Wert.
Beispiel
Integer mit Datenbankfeld [*I-adrhdr.AdrSex@4] - 1= Ja (trifft zu), 0 = Nein (trifft nicht zu)
Ergebnis
Integer mit Datenbankfeld 1
Erklärung
Ist das angegebene Datenbankfeld/Variable mit einem numerischen (Integer)Wert hinter dem @-Zeichen gefüllt, so wird eine "1" ausgegeben (TRUE), ansonsten eine "0" (FALSE)
8. Textvariable als Charakter ausgeben
Als Ausdruck kann jeder beliebige Wert einer Textvariable genommen werden.
Ausgegeben wird ein numerischer Wert.
Beispiel
Charakter mit Textvariable [*C-vCusAdrSex@Firma]
Ergebnis
Charakter mit Textvariable 1
Erklärung
Ist das angegebene Datenbankfeld/Variable mit einer Zeichenkette (Charakter)Wert hinter dem @-Zeichen gefüllt, so wird eine "1" ausgegeben (TRUE), ansonsten eine "0" (FALSE).
9. Datenbankfeld als Charakter ausgeben
Als Ausdruck kann jeder beliebige Wert eines Datenbankfeldes genommen werden.
Ausgegeben wird schließlich ein numerischer Wert.
Beispiel
Charakter mit Datenbankfeld [*C-adrhdr.AdrNam02@Muster]
Ergebnis
Charakter mit Datenbankfeld 1
Erklärung
Ist das angegebene Datenbankfeld/Variable mit einer Zeichenkette (Charakter)Wert hinter dem @-Zeichen gefüllt, so wird eine "1" ausgegeben (TRUE), ansonsten eine "0" (FALSE).
10. Textvariable als logischen Wert ausgeben
Als Ausdruck kann jeder numerische Wert einer Textvariable genommen werden.
Ausgegeben wird ebenfalls ein numerischer Wert.
Beispiel
Logisch [*L-adrhdr.AdrNam03]
Ergebnis
Logisch 1
Erklärung
Hier wird nachgesehen ob das Datenbankfeld/Textvariable gefüllt ist oder nicht, wenn es gefüllt ist, wird eine "1" (TRUE), ansonsten eine "0" (FALSE) ausgegeben.
11. Datenbankfeld als logischen Wert ausgeben
Als Ausdruck kann jeder beliebige Wert eines Datenbankfeldes genommen werden.
Ausgegeben wird ebenfalls ein numerischer Wert.
Beispiel
Logisch mit @ [*L-adrhdr.AdrNam03@xxx]
Ergebnis
Logisch mit @ xxx
Erklärung
Hier wird nachgesehen ob das Datenbankfeld/Textvariable gefüllt ist oder nicht, wenn es gefüllt ist, wird der Wert der hinter dem @-Zeichen steht ausgegeben, ansonsten eine "0" (FALSE) ausgegeben.
Ergebnis