WRITE TITLE

#### Search Results

Search

# WRITE TITLE

`WRITE` [(rep)] `TITLE` [`LEFT` [`JUSTIFIED`]] [`UNDERLINED`] |
| [(statement-parameters)] |
|  |  | n `X` |  |  |  |  |
| n `T` | 'text' [(attributes)]
| x/y | 'c'( n ) [(attributes)]
| T*field-name | ['='] operand1 [(parameters)]
| P*field-name |
| /
| [`SKIP` operand2 [`LINES`]] |  |

Dieses Dokument behandelt folgende Themen:

- Funktion

- Einschränkungen

- Syntax-Beschreibung

- Beispiel

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Verwandte Statements: `AT END OF PAGE` | `AT TOP OF PAGE` | `CLOSE PRINTER` | `DEFINE PRINTER` | `DISPLAY` | `EJECT` | `FORMAT` | `NEWPAGE` | `PRINT` | `SKIP` | `SUSPEND IDENTICAL SUPPRESS` | `WRITE` | `WRITE TRAILER`

Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports

## Funktion

Das Statement `WRITE TITLE` dient dazu, statt einer Standard-Kopfzeile eine eigene Seitenüberschrift auszugeben. Das Statement wird immer dann ausgeführt, wenn eine neue Ausgabeseite initiiert wird.

Siehe auch die folgenden Abschnitte (im Leitfaden zur Programmierung):

- Steuerung der Ausgabe von Daten

- Report-Spezifikation − Notation (rep)

- Layout einer Ausgabeseite

- Seitenüberschriften, Seitenvorschübe und Leerzeilen

- Eigene Seitenüberschrift definieren − das WRITE TITLE-Statement

- Text-Notation

### Verarbeitung

Dieses Statement ist nicht-prozedural (das heißt, seine Ausführung hängt von einem Ereignis ab, nicht davon, wo im Programm es steht).

Wenn ein Report durch Statements in verschiedenen Objekten erzeugt wird, wird das `WRITE TITLE`-Statement nur ausgeführt, wenn es in demselben Objekt steht wie das Statement, das die Ausgabe einer neuen Seite auslöst.

## Einschränkungen

- `WRITE TITLE` darf höchstens einmal pro Ausgabe-Report verwendet werden.

- `WRITE TITLE` darf nicht an eine logische Bedingung geknüpft sein.

- `WRITE TITLE` darf nicht in einer Subroutine stehen.

## Syntax-Beschreibung

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand1 |  | S | A | G | N | A | U | N | P | I | F | B | D | T | L |  | G | O | ja | nein
operand2 | C | S |  |  |  |  |  | N | P | I |  | B |  |  |  |  |  |  | ja | nein

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`(rep)` | Report-Spezifikation: Erzeugt ein Programm mehrere Reports, kann mit der Notation `(rep)` ein bestimmter anderer Report angegeben werden, auf den sich das Statement beziehen soll. Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit einem `DEFINE PRINTER`-Statement zugewiesen wurde, angegeben werden. Wenn `(rep)` nicht angegeben wird, bezieht sich das Statement `WRITE TITLE` auf den ersten Report (Report 0). Informationen, wie Sie das Format eines mit Natural erstellten Ausgabe-Reports steuern, finden Sie im Abschnitt Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung.
`LEFT JUSTIFIED` `UNDERLINED` | Kopfzeilenausrichtung und Unterstreichung: Normalerweise werden Seitenkopfzeilen zentriert und ohne Unterstreichung ausgegeben. Eine linksbündige Ausrichtung der Kopfzeile erreichen Sie durch Angabe des Schlüsselwortes `LEFT JUSTIFIED`. Eine unterstrichene Kopfzeile erhalten Sie durch Angabe des Schlüsselwortes `UNDERLINED`; als Unterstreichungszeichen wird das mit dem Parameter `UC` (auf Session-Ebene oder in einem `FORMAT`-Statement) definierte Zeichen verwendet. Die Unterstreichung erstreckt sich über die ganze Zeile unter der Kopfzeile (entsprechend der mit dem Parameter `LS` definierten Zeilenlänge). Bevor die Zeile zentriert wird, führt Natural erst alle Leerstellen- und Tabulatoranweisungen aus. Zum Beispiel: Bei einer Tabulator-Notation von `10T` rückt der Text bei anschließender Zentrierung in eine Position 5 Stellen rechts von der Mitte.
`statement-parameters` | Parameter-Definition auf Statement-Ebene: Unmittelbar nach dem `WRITE TITLE`-Statement können Sie auf Statement-Ebene in Klammern einzelne Session-Parameter angeben. Die Werte dieser Parameter haben dann für das betreffende Statement Vorrang vor auf übergeordneter Ebene mittels `GLOBALS`-Kommando, `SET GLOBALS`- (nur im Reporting Mode) oder `FORMAT`-Statement gesetzten Parameterwerten. Wenn Sie mehrere Parameter angeben, müssen Sie sie durch ein oder mehrere Leerzeichen voneinander trennen. Eine einzelne Parameterangabe darf sich nicht über zwei Quellcode-Zeilen erstrecken. Anmerkung Die hier gültigen Parameter-Einstellungen werden nur bei Variablenfelder berücksichtigt haben und keine Auswirkung auf Textkonstanten. Wenn Sie Feldattribute für eine Textkonstante setzen möchten, müssen sie explizit für dieses Element gesetzt werden; siehe Parameter-Definition auf Element-Ebene. Informationen zur Benutzung der Parameter, siehe Liste der Parameter (beim `WRITE`-Statement).
`nX` `nT` `x/y` `T*field-name` `P*field-name` `/` | Format-Notation und Abstandselemente: Siehe Format-Notation und Abstandselemente (weiter unten).
`'text'` `'c' (n)` `attributes` | Text/Attribut-Zuweisung: Siehe Text/Attribut-Zuweisungen (weiter unten).
`operand1` | In der Überschrift anzuzeigendes Feld: Als operand1 können Sie ein oder mehrere Feld/er angeben, die in der Kopfzeile ausgegeben werden sollen. Arrays mit Bereichen, die es ermöglichen, die Anzahl der Ausprägungen zur Ausführungszeit zu variieren, können nicht angegeben werden.
`parameters` | Parameter-Definition auf Element-Ebene: Ein einzelner oder mehrere in Anführungszeichen stehende Parameter kann/können auf Element-Ebene unmittelbar hinter operand1 angegeben werden. Jeder auf diese Art angegebene Parameter überschreibt den entsprechenden, vorher auf Statement-Ebene oder in einem `GLOBALS`-Kommando, `SET GLOBALS`- (nur im Reporting Mode) oder `FORMAT`-Statement angegebenen Parameter. Wenn mehr als ein Parameter angegeben wird, müssen ein oder mehr Leerzeichen zwischen jedem Eintrag stehen. Eine einzelne Parameterangabe darf sich nicht über zwei Quellcode-Zeilen erstrecken. Informationen zur Benutzung der Parameter siehe Liste der Parameter (beim `WRITE`-Statement).
`SKIP operand2 LINES` | Einfügen von Leerzeilen nach der Kopfzeile: Mit der `SKIP`-Klausel können Sie nach der Kopfzeile Leerzeilen einzufügen. Die Anzahl der einzufügenden Leerzeilen kann als numerische Konstante oder als Inhalt einer numerischen Variablen angegeben werden. Anmerkung `SKIP` nach `WRITE TITLE` wird immer als `SKIP`-Klausel des `WRITE TITLE`-Statements interpretiert, und nicht als ein eigenständiges Statement. Falls Sie ein eigenständiges `SKIP`-Statement nach einem `WRITE TITLE`-Statement wünschen, trennen Sie die beiden Statements durch ein Semikolon (;) voneinander.

#### Format-Notation und Abstandselemente

Syntax-Element | Beschreibung
--- | ---
`nX` | Spaltenabstand: Mit dieser Notation fügen Sie `n` Leerzeichen zwischen den Spalten ein. `n` darf nicht `0` sein.
`nT` | Setzen der Tabulatoren: Die Notation `nT` bewirkt die Positionierung (Tabulierung) an die Druck-Position `n`. Eine Spalte, die in derselben Ausgabezeile bereits belegt ist, darf nicht angegeben werden.
`x/y` | x/y-Positionierung: Mit dieser Notation erreichen Sie, dass ein Feld x Zeilen unter der Ausgabe des letzten Statements, und zwar ab Spalte `y` ausgegeben wird. `y` darf nicht `0` sein. Eine Spalte, die in derselben Ausgabezeile bereits belegt ist, darf nicht angegeben werden.
`T*field-name` | Feldbezogene Positionierung: Die Notation `T*` bewirkt die Positionierung an eine bestimmte Druckposition eines Feldes, das in einem vorangegangenen `DISPLAY`-Statement benutzt wurde. Eine Rückwärtspositionierung ist nicht zulässig.
`P*field-name` | Feld- und Zeilenbezogene Positionierung: Die Notation `P*` bewirkt die Positionierung an eine spezifische Druckposition und Zeile eines Feldes, das in einem vorangegangenen `DISPLAY`-Statement benutzt wurde. Sie wird am häufigsten in Verbindung mit dem vertikalen Druckmodus verwendet. Eine Rückwärtspositionierung ist nicht zulässig.
`/` | Zeilenvorschub - Schrägstrich-Notation: Ein Schrägstrich (/) bewirkt bei Platzierung zwischen Feldern oder Textelementen eine Positionierung an den Anfang der nächsten Druckzeile.

#### Text/Attribut-Zuweisungen

Syntax-Element | Beschreibung
--- | ---
`'text'` | Text-Zuweisung: Es wird die in Apostrophen stehende Zeichenkette angezeigt.
`'c'(n)` | Zeichen-Wiederholung: Das in Apostrophen stehende Zeichen (character)wird unmittelbar vor dem Feldwert n mal angezeigt.
`attributes` | Felddarstellung und Farbattribute: Es ist möglich, verschiedene Attribute für die Text/Feldanzeige zuzuweisen. Diese Attribute und die Syntax, die benutzt werden kann, sind im Abschnitt Ausgabeattribute weiter unten beschrieben. Beispiele:
    WRITE TITLE 'TEXT' (BGR)
    WRITE TITLE 'TEXT' (B)
    WRITE TITLE 'TEXT' (BBLC)

#### Ausgabeattribute

attributes gibt die für die Text-Anzeige zu benutzenden Ausgabe-Attribute an. Es gibt die folgenden Attribute:

|  | `AD`=AD-value `BX`=BX-value `CD`=CD-value `PM`=PM-value |  |
| AD-value CD-value |

Die möglichen Parameterwerte sind in der Parameter-Referenz aufgeführt.

- AD - Attribute Definition, Abschnitt Feldanzeige

- CD - Color Definition

- BX - Box Definition

- PM - Print Mode

Anmerkung
Der Compiler akzeptiert tatsächlich mehr als ein Attributwert für ein Ausgabefeld. Zum Beispiel können Sie Folgendes angeben: `AD=BDI`. In solch einem Fall gilt allerdings nur der letzte Wert. Im hier gezeigten Beispiel erhält nur der Wert `I` Gültigkeit, und das Ausgabefeld wird intensiviert (hell hervorgehoben) angezeigt.

## Beispiel

    ** Example 'WTIEX1': WRITE  (with TITLE option)
    ************************************************************************
    DEFINE DATA LOCAL
    1 EMPL-VIEW VIEW OF EMPLOYEES
      2 NAME
      2 FIRST-NAME
      2 CITY
      2 JOB-TITLE
    END-DEFINE
    *
    *
    FORMAT LS=70
    *
    WRITE TITLE LEFT JUSTIFIED UNDERLINED
          *TIME 3X 'PEOPLE LIVING IN NEW YORK CITY'
          11X 'PAGE:' *PAGE-NUMBER
    SKIP 1
    *
    FIND EMPL-VIEW WITH CITY = 'NEW YORK'
      DISPLAY NAME FIRST-NAME 3X JOB-TITLE
    END-FIND
    END

Ausgabe des Programms `WTIEX1`:

    09:33:16.5   PEOPLE LIVING IN NEW YORK CITY           PAGE:      1
    ---------------------------------------------------------------------

            NAME              FIRST-NAME                 CURRENT
                                                        POSITION
    -------------------- --------------------   -------------------------

    RUBIN                SYLVIA                 SECRETARY
    WALLACE              MARY                   ANALYST

### On this page

- Funktion
- Einschränkungen
- Syntax-Beschreibung
- Beispiel