バージョン 4.2.5
 —  ステートメント  —

WRITE TRAILER

WRITE [(rep)] [TRAILER  LEFT [JUSTIFIED]] [UNDERLINED]  
  [(statement-parameters )]  
 

nX

'text' [(attributes)]

  nT 'c'(n) [(attributes)]
  x/y ['='] operand1 [(parameters)]
  [SKIP operand2 [LINES]]    

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:AT END OF PAGE | AT TOP OF PAGE | CLOSE PRINTER | DEFINE PRINTER | DISPLAY | EJECT | FORMAT | NEWPAGE | PRINT | SKIP | SUSPEND IDENTICAL SUPPRESS | WRITE | WRITE TITLE

関連機能グループ:「出力レポートの作成


機能

WRITE TRAILER ステートメントは、ページの下にテキストまたは変数の内容を出力するために使用します。

プログラミングガイド』の次のセクションも参照してください。

処理

このステートメントは非手続き型なので、プログラム内の位置ではなくイベントによって実行されます。

このステートメントは、エンドオブページ条件またはエンドオブデータ条件が検出されたとき、あるいは SKIPNEWPAGE ステートメントによって改ページが行われたときに実行されます。 EJECT ステートメントでは実行されません。

エンドオブページ条件は、DISPLAY/WRITE ステートメントの処理が完了してから評価されます。 DISPLAY/WRITE ステートメントで複数行の出力を行う場合、エンドオブページ条件になる前に物理ページのオーバーフローを起こすことがあります。

レポートが、異なるオブジェクト内のステートメントによって作成される場合、WRITE TRAILER ステートメントは、END-OF-PAGE(ページ終了)処理を行うステートメントと同じオブジェクトで使用されている場合に限って実行されます。

論理ページサイズ

トレイラ情報を正しく同一ページの下に出力するには、論理ページサイズ(セッションパラメータ PS で指定)を物理ページサイズより小さく指定します。

Top of page

制約

Top of page

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット ステートメント参照 ダイナミック定義
operand1   S A G N A U N P I F B D T L   G O 不可
operand2 C S           N P I   B             不可

構文要素の説明:

(rep)
レポート指定:

複数のレポートを作成するときは、表記 (rep) を使用して、WRITE TRAILER ステートメントを適用するレポートの ID を指定できます。

レポート ID として、範囲 0~31 の値、または DEFINE PRINTER ステートメントを使用して割り当てた論理名を指定できます。

(rep) 指定がない場合、WRITE TRAILER ステートメントは最初のレポート(レポート 0)に適用されます。

Natural で作成される出力レポートの形式を制御する方法については、『プログラミングガイド』の「データ出力制御」を参照してください。

LEFT JUSTIFIED
UNDERLINED

桁揃えおよび下線

デフォルトでは、トレーラ行は中央揃えで下線なしです。

LEFT JUSTIFIEDUNDERLINED を指定して上書きできます。

UNDERLINED を指定した場合、下線文字(デフォルトの文字またはセッションパラメータ UC で指定された文字)が、トレイラの下に行サイズ(セッションパラメータ LS)の幅だけ出力されます。

Natural では、すべての間隔およびタブ指定を適用して行を作成してから、行全体を中央揃えします。 例えば、最初の要素としての 10T 表記により、中央揃えされたヘッダーは右側の 5 の位置に配置されます。

statement-parameters
ステートメントレベルでのパラメータ定義:

1 つまたは複数のパラメータをカッコで囲んで、ステートメントレベルで、つまり WRITE TRAILER ステートメントの直後に指定できます。 この方法で指定した各パラメータは、以前に GLOBALS コマンド、SET GLOBALS ステートメント(レポーティングモードでのみ)、または FORMAT ステートメントで指定したパラメータを上書きします。

複数のパラメータを指定する場合は、各エントリ間に 1 つ以上の空白を配置する必要があります。 エントリを 2 行のステートメント行に分割することはできません。

注意:
ここで適用されるパラメータ設定は、変数フィールドにのみ関連し、テキスト定数には影響しません。 テキスト定数にフィールド属性を設定する場合は、この要素に属性を明示的に設定する必要があります(「要素(フィールド)レベルでのパラメータ定義」を参照)。

使用可能なパラメータについては、『ステートメント』ドキュメントの「WRITE」で「パラメータのリスト」を参照してください。

nX
nT
x/y

フォーマット表記と要素間隔:

フォーマット表記と要素間隔」(後述)を参照してください。

'text'
'c'(n)
attributes

テキスト/属性割り当て:

テキスト/属性割り当て」(後述)を参照してください。

operand1
トレイラ情報:

operand1 は、トレイラ情報として出力するフィールド(複数可)を表します。

実行時にオカレンス数を変更できる、範囲による配列は指定できません。

parameters
要素(フィールド)レベルでのパラメータ定義:

1 つまたは複数のパラメータをカッコで囲んで、要素(フィールド)レベルで、つまり operand1 の直後に指定できます。 この方法で指定した各パラメータは、以前にステートメントレベルGLOBALS コマンド、SET GLOBALS ステートメント(レポーティングモードでのみ)、または FORMAT ステートメントで指定した対応するパラメータを上書きします。

複数のパラメータを指定する場合は、各エントリ間に 1 つ以上の空白を配置する必要があります。 エントリを 2 行のステートメント行に分割することはできません。

使用可能なパラメータについては、『ステートメント』ドキュメントの「WRITE」で「パラメータのリスト」を参照してください。

SKIP operand2 LINES
省略される行:

SKIP を使用して、トレイラ行の下に何行か空けることができます。 空ける行数(operand2)は数値定数または数値変数の内容で指定します。

注意:
WRITE TRAILER の後の SKIP は独立したステートメントでなく、常に WRITE TRAILER ステートメントの SKIP 節として解釈されます。 WRITE TRAILER ステートメントの後に独立した SKIP ステートメントが必要な場合は、セミコロン(;)を使用して 2 つのステートメントを互いに区別します。

フォーマット表記と要素間隔

nX
列の間隔:

この表記により、列の間に n 個のスペースが挿入されます。 n をゼロにすることはできません。

nT
タブ設定:

nT 表記により、位置 n を出力するように位置指定(タブ設定)されます。 後方への位置指定はできません。

x/y
x/y 位置指定:

次の要素は最後のステートメント出力の x 行下、列 y の先頭に配置されます。 y をゼロにすることはできません。 同じ行で後方に位置指定することはできません。

テキスト/属性割り当て

'text' 
テキスト割り当て:

一重引用符で囲まれた文字列が表示されます。

'c'(n)
文字の繰り返し:

フィールド値の直前に、一重引用符で囲まれた文字列が n 回表示されます。

attributes
フィールド表現と色属性:

テキスト/フィールド表示にさまざまな属性を割り当てることができます。 これらの属性と構文については、以下の「出力属性」で説明します。

例:

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

出力属性

attributes は、テキスト表示に使用される出力属性を示します。 可能な属性:

AD=AD-value
BX=BX-value
CD=CD-value
PM=PM-value

AD-value
CD-value

指定可能なセッションパラメータ値については、『パラメータリファレンス』ドキュメントの該当するセクションを参照してください。

注意:
コンパイラは、実際には 1 つの出力フィールドに複数の属性値を受け入れます。 例えば、「AD=BDI」と指定できます。 ただし、この場合は最後の値のみが適用されます。 示した例では、値 I のみが有効になり、出力フィールドは強調表示されます。

Top of page

** Example 'WTLEX1': WRITE (with TRAILER option)                        
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 FIRST-NAME                                                          
  2 CITY                                                                
  2 JOB-TITLE                                                           
END-DEFINE                                                              
*                                                                       
FORMAT PS=15                                                            
WRITE TITLE LEFT JUSTIFIED UNDERLINED                                   
      *TIME 3X 'PEOPLE LIVING IN BARCELONA'                             
      14X 'PAGE:' *PAGE-NUMBER                                          
SKIP 1                                                                  
*                                                                       
WRITE TRAILER LEFT JUSTIFIED UNDERLINED                                 
      / 'CITY OF BARCELONA REGISTER'                                  
*                                                                       
LIMIT 10                              
FIND EMPL-VIEW WITH CITY = 'BARCELONA'
  DISPLAY NAME FIRST-NAME 3X JOB-TITLE
END-FIND                              
END                                  

プログラム WTLEX1 の出力 - ページ 1:

09:36:09.5   PEOPLE LIVING IN BARCELONA              PAGE:      1              
-------------------------------------------------------------------------------
                                                                               
        NAME              FIRST-NAME                 CURRENT                   
                                                    POSITION                   
-------------------- --------------------   -------------------------          
                                                                               
DEL CASTILLO         ANGEL                  EJECUTIVO DE VENTAS                
GARCIA               M. DE LAS MERCEDES     SECRETARIA                         
GARCIA               ENDIKA                 DIRECTOR TECNICO                   
MARTIN               ASUNCION               SECRETARIA                         
MARTINEZ             TERESA                 SECRETARIA                         
YNCLAN               FELIPE                 ADMINISTRADOR                      
FERNANDEZ            ELOY                   OFICINISTA                         
TORRES               ANTONI                 OBRERA                             
                                                                               
CITY OF BARCELONA REGISTER                                                     
-------------------------------------------------------------------------------

プログラム WTLEX1 の出力 - ページ 2:

09:37:26.0   PEOPLE LIVING IN BARCELONA              PAGE:      2              
-------------------------------------------------------------------------------
                                                                               
        NAME              FIRST-NAME                 CURRENT                   
                                                    POSITION                   
-------------------- --------------------   -------------------------          
                                                                               
RODRIGUEZ            VICTORIA               SECRETARIA                         
GARCIA               GERARDO                INGENIERO DE PRODUCCION            
                                                                               
CITY OF BARCELONA REGISTER                                                     
-------------------------------------------------------------------------------

Top of page