WRITE TITLE

WRITE [(rep)] TITLE  [LEFT [JUSTIFIED]] [UNDERLINED]
  [(statement-parameters)]
nX        
nT        
x/y  

'text' [(attributes)]

T*field-name   'c' (n)   [(attributes)]
P*field-name   ['='] operand1 [(parameters )]
/        
  [SKIP operand2 [LINES]]  

This document covers the following topics:

For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.

Related 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

Belongs to Function Group: Creation of Output Reports


Function

The WRITE TITLE statement is used to override the default page title with a page title of your own. It is executed whenever a new page is initiated.

See also the following sections in the Programming Guide:

Processing

This statement is non-procedural, that is, its execution depends on an event, not on where in a program it is located.

If a report is produced by statements in different objects, the WRITE TITLE statement is only executed if it is contained in the same object as the statement that causes a new page to be initiated.

Restrictions

  • WRITE TITLE may be specified only once per report.

  • WRITE TITLE cannot be specified within a special condition statement block.

  • WRITE TITLE cannot be specified within a subroutine.

Syntax Description

Operand Definition Table:

Operand Possible Structure Possible Formats Referencing Permitted Dynamic Definition
operand1   S A G N A U N P I F B D T L   G O yes no
operand2 C S           N P I   B             yes no

Syntax Element Description:

Syntax Element Description
(rep)
Report Specification:

If multiple reports are to be produced, the notation (rep) may be used to specify the identification of the report for which the WRITE TITLE statement is applicable.

As report identification, a value in the range 0 - 31 or a logical name which has been assigned using the DEFINE PRINTER statement may be specified.

If (rep) is not specified, the WRITE TITLE statement applies to the first report (Report 0).

For information on how to control the format of an output report created with Natural, see Report Format and Control (in the Programming Guide).

LEFT JUSTIFIED
UNDERLINED

Page Title Justification and/or Underlining:

By default, page titles are centered and not underlined. LEFT JUSTIFIED and UNDERLINED may be specified to override these defaults.

If UNDERLINED is specified, the underlining character (system default or specified with the session parameter UC (Underlining Character) in a FORMAT statement) is printed underneath the title and runs the width of the line size (see session parameter LS).

Natural first applies all spacing or tab specifications and creates the line before centering the whole line. For example, a notation of 10T as the first element would cause the centered header to be positioned five positions to the right.

statement-parameters
Parameter Definition at Statement Level:

One or more parameters, enclosed within parentheses, may be specified at statement level, that is, immediately after the WRITE TITLE statement. Each parameter specified in this manner will override the corresponding parameter previously specified in a GLOBALS command, SET GLOBALS (in Reporting Mode only) or FORMAT statement.

If more than one parameter is specified, one or more blanks must be present between each entry. An entry may not be split between two statement lines.

Note:
The parameter settings applied here will only be regarded for variable fields, but they have no effect on text-constants. If you would like to set field attributes for a text-constant, they have to be set explicitly for this element, see Parameter Definition at Element (Field) Level.

For information on which parameters may be used, see List of Parameters (in the WRITE statement documentation).

nX
nT
x/y
T*field-name
P*field-name
/

Format Notation and Spacing Elements:

See Format Notation and Spacing Elements (below).

'text'
'c' (n)
attributes

Text/Attribute Assignment:

See Text/Attribute Assignments (below).

operand1
Field to Be Displayed in Title:

operand1 represents the field(s) to be displayed within the title.

Arrays with ranges that allow to vary the number of occurrences at execution time may not be specified.

parameters
Parameter Definition at Element (Field) Level:

One or more parameters, enclosed within parentheses, may be specified at element (field) level, that is, immediately after operand1. Each parameter specified in this manner will override the corresponding parameter previously specified at statement level or in a GLOBALS command, SET GLOBALS (in Reporting Mode only) or FORMAT statement.

If more than one parameter is specified, one or more blanks must be present between each entry. An entry may not be split between two statement lines.

For information on which parameters may be used, see List of Parameters (in the WRITE statement documentation).

SKIP operand2 LINES
Lines to Be Skipped:

SKIP may be used to cause lines to be skipped immediately after the title line. The number of lines to be skipped may be specified in operand2 as a numeric constant or as the content of a numeric variable.

Note:
SKIP after WRITE TITLE is always interpreted as the SKIP clause of the WRITE TITLE statement, and not as an independent statement. If you wish an independent SKIP statement after a WRITE TITLE statement, use a semicolon (;) to separate the two statements from one another.

Format Notation and Spacing Elements

Syntax Element Description
nX
Column Spacing:

This notation inserts n spaces between columns. n must not be zero.

nT
Tab Setting:

The nT notation causes positioning (tabulation) to print position n. Backward positioning is not permitted.

x/y
x/y Positioning:

Causes the next element to be placed x lines below the output of the last statement, beginning in column y. y must not be zero. Backward positioning in the same line is not permitted.

T*field-name
Field-Related Positioning:

The T* notation causes positioning to a specific print position of a field used in a previous DISPLAY statement. Backward positioning is not permitted.

P*field-name
Field- and Line-Related Positioning:

The P* notation causes positioning to a specific print position and line of a field used in a previous DISPLAY statement. It is most often used in conjunction with vertical printing mode. Backward positioning is not permitted.

/
Line Advance - Slash Notation:

When placed between fields or text elements, a slash (/) causes positioning to the beginning of the next print line.

Text/Attribute Assignments

Syntax Element Description
'text' 
Text Assignment:

The character string enclosed by single quotes is displayed.

'c'(n)
Character Repetition:

The character enclosed by single quotes is displayed n times immediately before the field value.

attributes
Field Representation and Color Attributes:

It is possible to assign various attributes for text/field display. These attributes and the syntax that may be used are described in the section Output Attributes below.

Examples:

WRITE TITLE 'TEXT' (BGR)
WRITE TITLE 'TEXT' (B)
WRITE TITLE 'TEXT' (BBLC)

Output Attributes

attributes indicates the output attributes to be used for text display. Attributes can be:

AD=ad-value
BX=bx-value
CD=cd-value
PM=pm-value

ad-value
cd-value

Where:

ad-value, bx-value, cd-value and pm-value denote the possible values of the corresponding session parameters AD, BX, CD and PM described in the relevant sections of the Parameter Reference documentation.

The compiler actually accepts more than one attribute value for an output field. For example, you can specify: AD=BDI. In such a case, however, only the last value applies. In the given example, only the value I becomes effective and the output field is displayed intensified.

For an alphanumeric/Unicode constant (Natural data format A or U), you can specify ad-value and/or cd-value without preceding CD= or AD=, respectively. The single value entered is then checked against all possible CD values first. For example: a value of IRE will be interpreted as intensifed/red but not as intensified/right-justified/mandatory. You cannot combine a single cd-value or ad-value with a value preceded by CD= or AD=.

Example

** 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

Output of Program WTIEX1:

09:33:16.5   PEOPLE LIVING IN NEW YORK CITY           PAGE:      1   
---------------------------------------------------------------------
                                                                     
        NAME              FIRST-NAME                 CURRENT         
                                                    POSITION         
-------------------- --------------------   -------------------------
                                                                     
RUBIN                SYLVIA                 SECRETARY                
WALLACE              MARY                   ANALYST