Ansicht
Dokumentation

ABENWRITE_CUTOFFS - WRITE CUTOFFS

ABENWRITE_CUTOFFS - WRITE CUTOFFS

Fill RESBD Structure from EBP Component Structure   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

WRITE, Kürzungsverhalten

Dieser Abschnitt beschreibt das Kürzungsverhalten, wenn die Länge des Zielfelds bei der Anweisung WRITE TO oder die Ausgabelänge bei der Anweisung WRITE kleiner als die Länge ist, die für das vorgegebene oder mit format_options definierte Format benötigt wird.

Die folgenden Abschnitte stellen dar, in welchen Schritten die Kürzungen ausgeführt werden. Es wird nur so lange gekürzt bis das Ergebnis in die vorhandene Länge passt.

Wenn es für einzelne Formatierungsoptionen Abweichungen zu den hier gezeigten Regeln gibt, sind sie bei der Formatierungsoption beschrieben.

WRITE TO, Kürzungsverhalten

Numerische Datentypen

Ganze und gepackte Zahlen

Bei Datenobjekten der numerischen Datentypen (b, s), i, int8 und p ist das Kürzungsverhalten wie folgt:

  1. Die Tausendertrennzeichen werden von links nach rechts weggelassen.
  2. Bei positiven Werten wird rechts die Stelle für das Vorzeichen weggelassen. Das Minuszeichen bei negativen Werten bleibt erhalten.
  3. Bei (b, s), i, int8 und p wird links abgeschnitten und zur Kennzeichnung an erster Stelle ein Stern ("*") eingefügt.

Beim Typ int8 kommt es zu einer durch ein Pragma ausblendbaren Warnung von der Syntaxprüfung, wenn statisch erkennbar ist, dass die Ausgabelänge kleiner als die vorgegebene Länge 20 ist.

Dezimale Gleitpunktzahlen

Bei Datenobjekten vom Typ decfloat16 und decfloat34 ist das Kürzungsverhalten wie folgt:

  1. Bei der Darstellung in mathematischer Notation werden von links nach rechts die Tausendertrennzeichen weggelassen.
  2. Bei der Darstellung in mathematischer Notation werden die Nachkommastellen kaufmännisch gerundet. Bei der Darstellung in wissenschaftlicher Notation wird die Mantisse kaufmännisch gerundet.
  3. Wenn bei der mathematischen Notation nicht genügend Platz für die Vorkommastellen ist, wird automatisch auf die wissenschaftliche Notation umgestellt.
  4. Es kommt zur behandelbaren Ausnahme CX_SY_CONVERSION_OVERFLOW
  • wenn die Länge nicht für die Darstellung mindestens eine Vorkommastelle bei mathematischer Notation bzw. einer Stelle der Mantisse bei wissenschaftlicher Notation ausreicht,

  • wenn beim Ausgabeformate SIGN_AS_POSTFIX für die kaufmännische Notation die Länge nicht für die mathematische Notation ausreicht,

  • wenn bei einem der Ausgabeformate SCALE_PRESERVING oder SCALE_PRESERVING_SCIENTIFIC, welche die Skalierung erhalten, die Länge nicht für diese ausreicht,

Die vordefinierten Ausgabelängen von 24 bzw. 46 genügen für die mathematische Notation 16- bzw. 34-stelliger Zahlen mit einem Vorzeichen, einem Dezimalpunkt und entsprechend vielen Tausendertrennzeichen.

Binäre Gleitpunktzahlen

Bei Datenobjekten vom Typ f ist das Kürzungsverhalten wie folgt:

  1. Die Anzahl der Stellen wird verkleinert und die Zahl entsprechend gerundet.
  2. Wenn die Ausgabelänge zu klein für die wissenschaftliche Notation ist, werden statt der Zahlen Sterne ("*") dargestellt.

Zeichen- und Byteartige Datentypen

Bei den Datentypen c, string, n, d, t, x und xtring ist das Kürzungsverhalten wie folgt:

  1. Bei einem mit ENVIRONMENT TIME FORMAT für den Datentyp t gesetzten 12-Stunden-Format wird erst das Leerzeichen entfernt und dann auf das 24-Stunden-Format umgesetzt.
  2. Bei den Datums- und Zeitfeldern der Typen d und t werden alle Trennzeichen entfernt, es sei denn für d ist einer der Zusätze DD/MM/YY, MM/DD/YY usw. angegeben.
  3. Es wird rechts abgeschnitten.

Zeitstempel

  • Alle Trennzeichen in Datum und Zeit werden entfernt. Nur falls gleichzeitig eine Datumsaufbereitung DD/MM/YY usw. angegeben ist, werden die Trennzeichen im Datum nicht entfernt.

  • Das Leerzeichen zwischen Datum und Zeit wird entfernt.

  • Es wird rechts abgeschnitten.

Beispiel

Das Beispiel zeigt das unterschiedliche Kürzungsverhalten für Zeitstempel in gepackten Zahlen bei Listenausgaben mit der Anweisung WRITE im Vergleich zu allen anderen Kombinationen. Unter dem Quelltext wird das Format einer Ausgabe gezeigt.

04/08/2019 08:10:16.1539
04/08/2019 08:10:16,1539
04/08/2019 08:10:16.1539
04082019 081016,1539740






SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   BAL Application Log Documentation  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 7979 Date: 20240605 Time: 093446     sap01-206 ( 99 ms )