PRINT [(rep)] [NOTITLE ]
[NOHDR ] [(statement-parameters)]
|
|||||||||||
nX
|
'text' ' [(attributes)] | ||||||||||
nT
|
'c'(n) [(attributes )] | ||||||||||
/ | ['='] operand1 [(parameters)] |
Dieses Dokument behandelt folgende Themen:
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
|
SKIP
|
SUSPEND IDENTICAL SUPPRESS
| WRITE
|
WRITE TITLE
|
WRITE TRAILER
Gehört zur Funktionsgruppe: Erstellen von Ausgabe-Reports
Das Statement PRINT
dient dazu, Ausgaben im freien Format
zu erzeugen.
Das PRINT
-Statement unterscheidet sich vom
WRITE
-Statement in folgenden
Punkten:
Die Ausgabelänge der einzelnen Operanden ergibt sich aus der Länge der tatsächlich ausgegebenen Werte und nicht aus der Länge der verwendeten Felder. Vorangestellte Nullen (bei numerischen Werten) und nachgestellte Leerzeichen (bei alphanumerischen Werten) werden nicht mit ausgegeben.
Mit dem Session-Parameter AD
können Sie
festlegen, ob numerische Werte links- oder rechtsbündig ausgegeben werden
sollen: mit AD=L
werden einem numerischen Wert nachfolgende
Leerstellen nicht ausgegeben; mit AD=R
werden einem numerischen
Wert vorangestellte Leerzeichen mit ausgegeben.
Überschreitet die Ausgabe die vorgegebene Zeilenlänge (Parameter
LS
), wird die
Ausgabe in der nächsten Zeile wie folgt fortgesetzt:
Eine alphanumerische Konstante oder der Inhalt einer alphanumerischen Variablen (ohne Editiermaske) wird ab dem letzten auf der aktuellen Zeile ausgegebenen Leerzeichen oder Zeichen, das weder ein Buchstabe noch eine Ziffer ist, abgetrennt. Der erste Teil des Wertes verbleibt auf der aktuellen Zeile, der abgetrennte Teil wird in der nächsten Zeile ausgegeben. Führende Leerzeichen im zweiten Teil werden entfernt und Leerzeilen werden dadurch unterdrückt.
Bei allen anderen Operanden wird der gesamte Wert, der nicht mehr in die aktuelle Zeile passt, in der nächsten Zeile ausgegeben.
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 |
Syntax-Element-Beschreibung:
Syntax-Element | Beschreibung |
---|---|
(rep) |
Report-Spezifikation:
Mit der Notation
Es kann ein Wert von 0 bis 31 oder ein logischer Name, der mit
einem Falls nichts anderes angegeben wird, bezieht sich das
Wenn diese Druckdatei für Natural als PC definiert wird, wird der Report auf den PC heruntergeladen, siehe Beispiel 2. Informationen darüber, wie Sie das Format eines mit Natural erstellten Ausgabe-Reports steuern, siehe Steuerung der Ausgabe von Daten im Leitfaden zur Programmierung. |
NOTITLE
|
Unterdrückung der
Standard-Seitenüberschrift:
Für jede über ein Beispiele:
Wenn die |
NOHDR
|
Unterdrückung der Spaltenüberschrift:
Das Die Ohne |
statement-parameters
|
Parameter-Definition auf Statement-Ebene:
Unmittelbar nach dem Schlüsselwort Diese Parameter haben dann für das jeweilige Statement oder Feld
Gültigkeit statt der betreffenden mit einem
Die hier gültigen Parameter-Einstellungen kommen nur für Variablen-Felder in Betracht, haben aber keine Auswirkungen auf Text-Konstanten. Wenn Sie Feldattribute für eine Text-Konstante setzen möchten, dann müssen Sie explizit für dieses Element gesetzt werden, siehe Parameter-Definition auf Element- Ebene. Siehe auch: |
nX,
nT, / |
Siehe Feldpositionierung, Text, Attributzuweisung weiter unten. |
Parameter, die beim PRINT-Statement angegeben werden können: | Spezifikation: | |
---|---|---|
S = auf Statement-Ebene | ||
E =auf Element-Ebene | ||
AD | Attribute Definition | SE |
AL | Alphanumeric Length for Output | SE |
CD | Color Definition | SE |
CV | Control Variable | SE |
DF | Date Format | SE |
DL | Display Length for Output | SE |
DY | Dynamic Attributes | SE |
EM | Edit Mask | SE |
EMU | Unicode Edit Mask | E |
FL | Floating Point Mantissa Length | SE |
MC | Multiple-Value Field Count | S |
MP | Maximum Number of Pages of a Report | S |
NL | Numeric Length for Output | SE |
PC | Periodic Group Count | S |
PM | Print Mode | SE |
SG | Sign Position | SE |
ZP | Zero Printing | SE |
Beschreibungen der einzelnen Parameter entnehmen Sie bitte der Parameter-Referenz.
DEFINE DATA LOCAL 1 VARI (A4) INIT <'1234'> /* Output END-DEFINE /* Produced * /* --------- PRINT 'Text' VARI /* Text 1234 PRINT (PM=I) 'Text' VARI /* Text 4321 PRINT 'Text' (PM=I) VARI (PM=I) /* txeT 4321 PRINT 'Text' (PM=I) VARI /* txeT 1234 END
nX
|
'text' [(attributes)] | |||||||
nT
|
'c' ( n ) [(attributes)] | |||||||
/ | ['='] operand1 [(parameters)] |
Syntax-Element | Beschreibung |
---|---|
'text'
|
Zuweisung von Text:
Eine in Apostrophen angegebene Zeichenkette
PRINT 'EMPLOYEE' NAME 'MARITAL/STATUS' MAR-STAT |
'c'
(n)
|
Wiederholung von Zeichen:
Wie PRINT '*' (5) '=' NAME |
'='
|
Position des Feldinhalts hinter
Feldüberschrift:
Ein Gleichheitszeichen in Apostrophen unmittelbar vor einem Feld
bewirkt, dass unmittelbar vor dem Feldwert der Name des Feldes ausgegeben wird
(wie im PRINT '=' NAME |
operand1
|
Auszugebendes Feld:
Als operand1 geben Sie das auszugebende Feld an. |
parameters
|
Parameter-Definition auf Elementebene
(Feldebene):
Unmittelbar nach operand1 können Sie
in Klammern einen oder mehrere Parameter (siehe obige
Tabelle) angeben. Diese
Parameter haben dann für das jeweilige Feld Gültigkeit statt der betreffenden,
auf
Statement-Ebene mit einem Werden mehrere Parameter angegeben, müssen sie jeweils durch ein oder mehrere Leerzeichen voneinander getrennt werden. Die Angabe eines Parameters darf sich nicht über zwei Sourcecode-Zeilen erstrecken. Siehe auch: |
attributes dient dazu, den ausgegebenen Feldern/Textelementen Anzeige- und Farbattribute zuzuordnen. Sie können die folgenden Attribute angeben:
|
||||
AD-value
|
Die möglichen Parameterwerte sind in den folgenden Abschnitten der Parameter-Referenz aufgeführt:
AD - Attribute Definition, Abschnitt Feldanzeige
Anmerkung:
Der Compiler akzeptiert mehr als einen Attributwert für ein
Ausgabefeld. Beispielsweise können Sie angeben: AD=BDI
. In einem
solchen Fall gilt allerdings nur der letzte Wert. In dem vorliegenden Beispiel
greift nur der Wert I
, und das Ausgabefeld wird intensiviert
dargestellt.
** Example 'PRTEX1': PRINT ************************************************************************ DEFINE DATA LOCAL 1 EMPLOY-VIEW VIEW OF EMPLOYEES 2 NAME 2 FIRST-NAME 2 CITY 2 JOB-TITLE 2 ADDRESS-LINE (2) END-DEFINE * LIMIT 1 READ EMPLOY-VIEW BY CITY /* WRITE NOTITLE 'EXAMPLE 1:' // 'RESULT OF WRITE STATEMENT:' WRITE / NAME ',' FIRST-NAME ':' JOB-TITLE '*' (30) WRITE / 'RESULT OF PRINT STATEMENT:' PRINT / NAME ',' FIRST-NAME ':' JOB-TITLE '*' (30) /* WRITE // 'EXAMPLE 2:' // 'RESULT OF WRITE STATEMENT:' WRITE / NAME 60X ADDRESS-LINE (1:2) WRITE / 'RESULT OF PRINT STATEMENT:' PRINT / NAME 60X ADDRESS-LINE (1:2) /* END-READ END
Ausgabe des Programms PRTXEX1
:
EXAMPLE 1: RESULT OF WRITE STATEMENT: SENKO , WILLIE : PROGRAMMER ****************************** RESULT OF PRINT STATEMENT: SENKO , WILLIE : PROGRAMMER ****************************** EXAMPLE 2: RESULT OF WRITE STATEMENT: SENKO 2200 COLUMBIA PIKE #914 RESULT OF PRINT STATEMENT: SENKO 2200 COLUMBIA PIKE #914
** Example 'PCPIEX1': PRINT to PC ** ** NOTE: Example requires that Natural Connection is installed. ************************************************************************ DEFINE DATA LOCAL 01 PERS VIEW OF EMPLOYEES 02 PERSONNEL-ID 02 NAME 02 CITY END-DEFINE * FIND PERS WITH CITY = 'NEW YORK' /* Data selection PRINT (7) 5T CITY 20T NAME 40T PERSONNEL-ID /* (7) designates /* the output file /* (here the PC). END-FIND END