CIB merge technischer Leitfaden
6. Aufrufparameter im Detail
6.6. Parameter --charformat
Mit --charformat kann angegeben werden, auf welche Felder, deren Ergebnisse keine eigene Formatierung liefern, CIB merge den Schalter \* CHARFORMAT anwenden soll.
Syntax
--charformat=<Option>
<Option>: off/none, auto/automatic oder plain-values-only
Beschreibung
Durch den Parameter --charformat wird festgelegt, bei welchen Feldern das Zeichenformat verändert werden soll, also bei welchen Feldern die Formatierung auf den Feldinhalt übertragen werden soll.
Durch den Parameter --charformat können die meisten der \* CHARFORMAT -Schalter entfallen, wodurch der Rohtext kürzer und lesbarer wird.
Wird bei einem Feld gezielt der Schalter \* NOCHARFORMAT gesetzt, so kann dadurch die Anwendung des Parameters --charformat auf dieses Feld verhindert werden (ab CIB merge Version 3.9.156).
Nicht formatbehaftet sind Feldinhalte aus CSV-Datei, aus Paramterdatei, Datum Felder mit Schalter sind formatbehaftet.
Für <Option> können folgende Werte gesetzt werden:
Option |
Bedeutung |
off oder none |
Das Zeichenformat wird nicht verändert, es sei denn es steht explizit \* CHARFORMAT im Feld. |
auto oder automatic |
Default-Einstellung |
plain-values-only |
Das Zeichenformat wird für Felder verändert, die Ergebnisse ohne eigene Formatierung liefern, egal ob diese Schalter haben oder nicht. |
Beispiel
--charformat=plain-values-only
Das Ergebnis von
{REF Vorname \* <cib-formfield type="text" info="Vorname" testvalue="Max" />}
erhält bei gesetztem --charformat=plain-values-only die Formatierung des REF Felds (in diesem Fall wird der Text fett geschrieben), obwohl dieses einen Schalter hat.
Die Verwendung des Parameters wird im Anwendungsbeispiel Lückentext veranschaulicht.
Es gibt zum einen Feldinhalte mit formatbehafteten Werten und zum anderen Feldinhalte mit nicht formatbehafteten Werten.
Formatbehaftete Werte, die als Ergebnisse von Feldern in die Ausgabe kommen, brauchen den Feld-Schalter \* CHARFORMAT nicht, könnten damit aber gleichartig formatiert werden.
Beispiele für Feldinhalte
mit Formatierung sind:
{includetext}, eingefügte RTF-Inhalte, {REF} (wenn die Variable formatbehaftet
ist).
In diesen Fällen ist es normalerweise nicht sinnvoll den Parameter --charformat anzuwenden. Falls gewünscht. wird der \* CHARFORMAT - Schalter manuell gesetzt.
Werte, die CIB merge aus Feldern berechnet, können im
Eingabetext sichtbar vorkommen, völlig neu entstanden sein oder aus der
Steuerdatei stammen.
Beispiele für sichtbare Werte sind IF-Felder, deren Text aus einer der
Alternativen genau so kommt, wie es im Feld steht oder mit SET belegte Werte.
Sichtbare Werte sind formatbehaftet und nicht vom Parameter betroffen.
Durch Anwendung des Schalters \*NOFORMAT im SET-Befehl kann dieser Wert zum
nicht formatbehafteten Wert gemacht werden (ab CIB merge Version 3.9.174).
Nicht formatbehaftete Werte erscheinen standardmäßig in der Standardschriftart (Times Roman, Schriftgröße 10). Sie werden vom Parameter --charformat pauschal formatiert als hätte man jedesmal den Schalter /* CHARFORMAT angegeben.
Beispiele für Feldinhalte ohne Formatierung: {MERGEREC}, {date}, {=…}, Werte aus CSV, {REF} (wenn die Variable nicht formatbehaftet ist),.
In diesen Feldern kann bei gesetztem --charformat auf die \* CHARFORMAT - Schalter verzichtet werden.
Beispiele für erzeugte Werte sind Aktualdat oder die Ausdrucksberechnung mit „=“. Diese Werte sind nicht formatbehaftet und deshalb vom Parameter betroffen, wenn sie in der Ausgabe erscheinen.
Außerdem braucht der Schalter nicht angewendet zu werden, wenn bereits ein anderer Schalter die Formatierung verändert, zum Beispiel \@ „tt.MM.jj“. Hier wird die Formatierung der Maske verwendet und nicht das Zeichenformat. Auch für übergeordnete Felder gilt das. Ein IF-Feld mit \* CHARFORMAT braucht den Inhalt aus dem THEN- oder ELSE-Teil nicht mehr formatiert zu behandeln. Ein in einem der beiden Teile enthaltenes Feld wird sowieso mit dem Zeichenformat formatiert.