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

DISPLAY

DISPLAY [( rep)] [options ] {[ / ] [output-format ] output-element}

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

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

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

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


機能

DISPLAY ステートメントでは、レポートに出力するフィールドを列形式で指定します。 列は各フィールドごとに作成され、フィールドヘッダーが列の上に表示されます。

注意:
WRITE ステートメントと PRINT ステートメントを使用すると、フリーフォーマット(列なし)の出力を生成することができます。

プログラミングガイド』の次のトピックも参照してください。

Top of page

構文説明

(rep)
レポート指定:

表記 (rep) を使用すると、DISPLAY ステートメントを適用するレポートの ID を指定できます。

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

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

プリンタファイルが PC として Natural に定義されている場合、レポートは PC にダウンロードされます。「例 8」を参照してください。

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

options
表示オプション:

詳細については、下記の「表示オプション」を参照してください。

output-format
出力フォーマット定義:

詳細については、下記の「出力フォーマット定義」を参照して下さい。

/
行送り - スラッシュ表記:

文字列内でスラッシュ("/")を指定すると、表示中の文字列が改行されます。

出力項目の間にスラッシュを指定すると、"/" で指定された出力項目は、同じ列内で縦方向に配置されます。 この列のヘッダーでは、縦方向に表示されている項目のヘッダーが、列の上側に縦方向で配置されます。

プログラミングガイド』の次のトピックも参照してください。

output-element
出力項目:

詳細については、下記の「出力項目」を参照してください。

表示オプション

[NOTITLE] [NOHDR]

[AND] [GIVE] [SYSTEM] FUNCTIONS

[(statement-parameters)]

構文要素の説明:

NOTITLE
デフォルトページタイトルの省略:

デフォルトでは、DISPLAY ステートメントで出力される各ページに、Natural によって 1 行のタイトル行が作成されます。 このタイトルには、ページ番号と日時が含まれます。 時刻は、プログラム実行開始時またはジョブ開始時(バッチモード)に設定されます。 このデフォルトタイトル行は、WRITE TITLE ステートメントで書き換えることができます。また、DISPLAY ステートメントにキーワード NOTITLE を指定して、タイトル行を省略することもできます。

例:

  • デフォルトタイトルが生成されます。

    DISPLAY NAME
  • ユーザータイトルが生成されます。

    DISPLAY NAME WRITE TITLE 'user-title'
  • タイトルは生成されません。

    DISPLAY NOTITLE NAME

注意:
NOTITLE オプションを使用すると、同じオブジェクト内でデータを同じレポートに書き込むすべての DISPLAYPRINT、および WRITE ステートメントに適用されます。

NOHDR
列ヘッダー:

列ヘッダーは、DISPLAY ステートメントで指定した各フィールド(列)ごとに、次の規則に従って生成されます。

  • DISPLAY ステートメントでは、フィールド名の前に表示されるヘッダー文字列を明示的に指定できます。 次に例を示します。

    DISPLAY 'EMPLOYEE' NAME 'SALARY' SALARY
  • フィールドのヘッダーを明示的に指定しない場合は、DEFINE DATA ステートメントで定義したヘッダーが使用されます。

  • DEFINE DATA ステートメントでデータベースフィールドのヘッダーが定義されていない場合は、DDM に定義されているヘッダーがデフォルトとして使用されます。

  • デフォルトのヘッダーが DDM に定義されていない場合は、フィールド名がヘッダーとして使用されます。

  • DEFINE DATA ステートメントでユーザー定義変数のヘッダーが定義されていない場合は、変数名がヘッダーとして使用されます。 ヘッダー定義については、DEFINE DATA ステートメントも参照してください。

    DISPLAY NAME SALARY #NEW-SALARY
  • Natural では、常に列ヘッダーに下線が付けられ、表示するデータと下線の間に 1 行の空白行が生成されます。

  • プログラム内に複数の DISPLAY ステートメントがある場合は、最初の DISPLAY ステートメントにより、使用する列ヘッダーが決定されます。これはコンパイル時に評価されます。

列ヘッダーの省略:

1 つのフィールドの列ヘッダーを省略するには

  • フィールド名の前に、次の文字列(アポストロフィ-スラッシュ-アポストロフィ)を指定します。

    '/'

    例えば、次のようになります。

    DISPLAY '/' NAME 'SALARY' SALARY
すべての列ヘッダーを省略するには
  • キーワード NOHDR を指定します。

    DISPLAY NOHDR NAME SALARY

注意:

  1. NOHDR は最初の DISPLAY ステートメントにのみ有効です。これは、後続の DISPLAY ステートメントでは列ヘッダーを作成できないためです。
  2. NOTITLENOHDR の両方を使用する場合は、DISPLAY NOTITLE NOHDR NAME SALARY の順で指定する必要があります。
GIVE SYSTEM FUNCTIONS
システム関数の使用:

GIVE SYSTEM FUNCTIONS 節を使用すると、Natural システム関数 AVERCOUNTMAXMINNAVERNCOUNTNMINSUMTOTAL が利用できるようになります。 これらのシステム関数は、GIVE SYSTEM FUNCTIONS 節を含む DISPLAY ステートメントの実行時に評価されます。

これらのシステム関数は、AT END OF PAGE 条件で実行されるステートメントで参照できます。

注意:

  1. レポートごとに、1 つの DISPLAY ステートメントにのみ GIVE SYSTEM FUNCTIONS 節を含めることができます。 DISPLAY ステートメントからシステム関数が評価されるときに、システム関数はページ単位で評価されます。つまり、新しいページが始まると、TOTAL 以外の関数はすべてゼロにリセットされます。
  2. システム関数をサブルーチン内の DISPLAY ステートメントで使用する場合は、END OF PAGE 処理を同じルーチン内で開始する必要があります。

例 2 - DISPLAY ステートでの GIVE SYSTEM FUNCTIONS 節の使用例」も参照してください。

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

1 つまたは複数のパラメータをカッコで囲んで、要素(フィールド)レベルで、つまり DISPLAY の直後に指定できます。

この方法で指定した各パラメータによって、以前に GLOBALS コマンド、SET GLOBALS ステートメント(レポーティングモードのみ)、または FORMAT ステートメントで指定した対応するパラメータは上書されます。

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

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

以下の項目も参照してください。

パラメータのリスト

DISPLAY ステートメントで指定可能なパラメータ 指定(S = ステートメントレベル、E = 要素レベル)
AD 属性定義 SE
AL 出力の英数字長 SE
CD カラー定義 SE
CV 制御変数 SE
DF 日付フォーマット SE
DL 出力の表示長 SE
DY ダイナミック属性 SE
EM 編集マスク SE
EMU Unicode 編集マスク E
ES 空行の省略 S
FC 充填文字 SE
FL 浮動小数点仮数長 SE
GC グループヘッダーの充填(フィラー)文字 SE
HC ヘッダーの中央揃え SE
HW ヘッダーの幅 SE
IC 挿入文字 SE
IS 重複抑制 SE
LC 先頭文字 SE
LS 行サイズ S
MC マルチプルバリューフィールド数 S
MP レポートの最大ページ数 S
NL 出力の数値長 SE
PC ピリオディックグループ数 S
PM 出力モード SE
PS ページサイズ S
SF フィールド間の空白 SE
SG 符号の位置 SE
TC 末尾文字 SE
UC 下線付き文字 SE
ZP ゼロ出力 SE

各パラメータの詳細については、『パラメータリファレンス』(セッションパラメータ)を参照してください。

プログラミングガイド』の次のトピックも参照してください。

ステートメントおよび要素(フィールド)レベルでのパラメータ使用例

DEFINE DATA LOCAL
1 VARI (A4)     INIT <'1234'>                              /*     Output 
END-DEFINE                                                 /*    Produced
*                                                          /*    ---------  
DISPLAY NOHDR           'Text'         '='   VARI          /*    Text 1234
DISPLAY NOHDR (AD=U)    'Text'         '='   VARI          /*    Text 1234
DISPLAY NOHDR           'Text' (AD=U)  '='   VARI (AD=U)   /*    Text 1234
DISPLAY NOHDR           'Text' (AD=U)  '='   VARI          /*    Text 1234
END

出力フォーマット定義

nX

               
nT                
x/y  

'text' [(attributes)]

       
T*field-name   'c' (n) [(attributes)] 

     
P*field-name                
                     

VERTICALLY

AS

'text' [(attributes)] [CAPTIONED]

[/ ]

 
[CAPTIONED]  
[HORIZONTALLY]                

フィールドの位置指定表記

nX
列の間隔:

この表記により、列の間に n 個のスペースが挿入されます。

例:

DISPLAY NAME 5X SALARY

以下の項目も参照してください。

nT
タブ設定:

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

次の例では、NAME が 25 桁目から、SALARY が 50 桁目から表示されます。

DISPLAY 25T NAME 50T SALARY

以下の項目も参照してください。

x/y
x/y 位置指定:

x/y 表記により、次の要素は最後のステートメント出力の x 行下、列 y の先頭に配置されます。 y を "0" にすることはできません。 後方への位置指定はできません。

T*field-name
フィールドの相対位置指定:

T* 表記により、前の DISPLAY ステートメントで使用されたフィールドの特定の表示桁を位置指定できます。 後方への位置指定はできません。

P*field-name
フィールドおよび行の相対位置指定:

P* 表記により、前の DISPLAY ステートメントで使用されたフィールドの特定の表示桁を位置指定できます。 縦(VERT)方向の表示モードと組み合せて使用します。 後方への位置指定はできません。

以下の項目も参照してください。

列ヘッダー割り当ての上書き

'text'

'/'

テキスト割り当て:

フィールドの直前に指定すると、一重引用符で囲まれた文字列によって列ヘッダーが上書きされます。

フィールド名の前にスラッシュ文字 '/' を指定すると、列ヘッダーは省略されます。

DISPLAY 'EMPLOYEE' NAME 'MARITAL/STATUS' MAR-STAT

複数の 'text' 要素をフィールド名の前に指定すると、最後'text' 要素が列ヘッダーとして使用され、残りの要素は列内でフィールド値の前に配置されます。

以下の項目も参照してください。

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

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

DISPLAY '*' (5) '=' NAME

結果

***** SMITH

以下の項目も参照してください。

出力属性

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

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

AD-value
CD-value

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

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

VERTICAL(縦)/HORIZONTAL(横)表示

VERT 節は、複数のフィールド値を同一の列内で上下に表示するために使用します。 VERT モードでは、キーワード VERT または HORIZ を指定すると新しい列が開始されます。

VERT モードの列ヘッダーは、次に示すように AS 節で指定したエントリで制御されます。

VERTICALLY 縦方向の列。 AS 節を省略すると、列ヘッダーは出力されません。
DISPLAY VERT NAME SALARY

表示例については、『プログラミングガイド』の「AS 節のない DISPLAY VERT」を参照してください。

AS 'text' 縦方向の列。 AS 'text' を指定すると、文字列が列ヘッダーとして使用されます。

表示例については、『プログラミングガイド』の「DISPLAY VERT AS 'text'」を参照してください。

'text' の文字列中にスラッシュ文字 / がある場合、列ヘッダーは改行されて複数行になります。

DISPLAY VERT AS 'LAST/NAME' NAME
AS 'text' CAPTIONED 縦方向の列。 AS 'text' CAPTIONED を指定すると、'text' が列ヘッダーとして使用され、各明細行のフィールド値の直前に標準ヘッダーまたはフィールド名が挿入されます。
DISPLAY VERT AS 'PERSONS/SELECTED' CAPTIONED NAME FIRST-NAME 

表示例については、『プログラミングガイド』の「DISPLAY VERT AS 'text' CAPTIONED」を参照してください。

AS CAPTIONED 縦方向の列。 AS CAPTIONED を指定すると、フィールドの標準ヘッダー(ヘッダー文字列あるいはフィールド名)が列ヘッダーとして使用されます。
DISPLAY VERT AS CAPTIONED NAME FIRST-NAME
HORIZONTALLY 横方向の列。 これはデフォルトの表示モードです。

キーワードを使用して縦方向の表示と横方向の表示を混在させることができます。

ある出力項目の縦方向の表示を一時的に停止する必要がある場合は、その要素の前に "-"(ハイフン)を指定します。 次に例を示します。

DISPLAY VERT NAME - FIRST-NAME SALARY

この例では、FIRST-NAMENAME の横に横方向で表示され、SALARYNAME の下に縦方向で表示されます。

標準の表示モードは、横方向です。 表示されるフィールドごとに 1 つの列が生成されます。

列ヘッダーは、Natural によって次の優先順位で取得および使用されます。

  1. DISPLAY ステートメントで指定したヘッダーの 'text'

  2. データベースフィールドについては DDM に定義されたデフォルトのヘッダー、またはユーザー定義変数については変数名。

  3. データベースフィールドに対してヘッダー文字列が定義されていない場合は、DDM に定義されたフィールド名。

グループ名については、グループ全体に 1 つのグループヘッダーがつけられます。 グループを指定する場合、グループ全体に対するヘッダーだけをユーザーが変更できます。

列ヘッダーの最大行数は 15 行です。

DISPLAY ステートメントからの出力は、行の幅(ラインサイズ)を超えないようにする必要があります。 行の幅を超えると、エラーメッセージが発行されます。

縦方向の表示と横方向の表示の詳細な使用方法については、次の例を参照してください。

出力項目

'text' [(attributes)]  

 
'c'(n) [(attributes)]   
  nX   ['='] {operand1 [(parameters)]}
  nT    
  x/y    

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

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

構文要素の説明

nX
列の間隔:

これは、「出力フォーマット定義」の場合と同じです(上記参照)。

nT
タブ設定:

これは、「出力フォーマット定義」の場合と同じです(上記参照)。

x/y
x/y 位置指定:

これは、「出力フォーマット定義」の場合と同じです(上記参照)。

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

これは、「出力フォーマット定義」の場合と同じです(上記参照)。

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

これは、「出力フォーマット定義」の場合と同じです(上記参照)。

'text' '='

'c' (n) '='

'text' '=' をフィールドの直前に置くと、'text' がフィールド値の直前に出力されます。 これは、'c' (n) '=' と同じように適用できます。
DISPLAY '*****' '=' NAME
attributes
出力属性:

これは、「出力フォーマット定義」の場合と同じです(上記参照)。

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

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

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

以下の項目も参照してください。

Top of page

DISPLAY ステートメントに適用されるデフォルト

DISPLAY ステートメントには、次のデフォルトが適用されます。

Top of page

例 1 - nX および nT 表記を使用した DISPLAY ステートメント

** Example 'DISEX1': DISPLAY (with nX, nT notation)                     
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 JOB-TITLE                                                           
END-DEFINE                                                              
*                                                                       
LIMIT 4                                                                 
READ EMPL-VIEW BY NAME                                                  
  DISPLAY NOTITLE 5X NAME 50T JOB-TITLE
END-READ                                                                
*                                                                       
END                                                                    

プログラム DISEX1 の出力:

        NAME                                         CURRENT         
                                                    POSITION         
--------------------                        -------------------------
                                                                     
ABELLAN                                     MAQUINISTA               
ACHIESON                                    DATA BASE ADMINISTRATOR  
ADAM                                        CHEF DE SERVICE          
ADKINSON                                    PROGRAMMER              

例 2 - DISPLAY ステートでの GIVE SYSTEM FUNCTIONS 節の使用例

** Example 'DISEX2': DISPLAY (with GIVE SYSTEM FUNCTIONS)               
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPLOY-VIEW VIEW OF EMPLOYEES                                         
  2 PERSONNEL-ID                                                        
  2 NAME                                                                
  2 FIRST-NAME                                                          
  2 SALARY    (1)                                                       
  2 CURR-CODE (1)                                                       
END-DEFINE                                                              
*                                                                       
LIMIT 15                                                                
FORMAT PS=15                                                            
*                                                                       
READ EMPLOY-VIEW                                                        
  DISPLAY GIVE SYSTEM FUNCTIONS                                         
          PERSONNEL-ID NAME FIRST-NAME SALARY (1) CURR-CODE (1)
  AT END OF PAGE                                                        
    WRITE /    'SALARY STATISTICS:'                                     
          / 7X 'MAXIMUM:' MAX(SALARY(1))  CURR-CODE (1)
          / 7X 'MINIMUM:' MIN(SALARY(1))  CURR-CODE (1)
          / 7X 'AVERAGE:' AVER(SALARY(1)) CURR-CODE (1)
  END-ENDPAGE                                          
END-READ                                               
*                                                      
END

プログラム DISEX2 の出力:

Page      1                                                  05-01-12  09:47:48
                                                                               
PERSONNEL         NAME              FIRST-NAME        ANNUAL   CURRENCY        
   ID                                                 SALARY     CODE          
--------- -------------------- -------------------- ---------- --------        
                                                                               
50005500  BLOND                ALEXANDRE                172000 FRA             
50005300  MAIZIERE             ELISABETH                166900 FRA             
50004900  CAOUDAL              ALBERT                   167350 FRA             
50004600  VERDIE               BERNARD                  170100 FRA             
50004200  VAUZELLE             BERNARD                  159790 FRA             
50004100  CHAPUIS              ROBERT                   169900 FRA             
50003800  JOUSSELIN            DANIEL                   171990 FRA             
50006900  BAILLET              PATRICK                  188000 FRA             
50007600  MARX                 JEAN-MARIE               365700 FRA             
                                                                               
SALARY STATISTICS:                                                             
       MAXIMUM:     365700 FRA                                                 
       MINIMUM:     159790 FRA                                                 
       AVERAGE:     192414 FRA                                                

例 3 - P* 表記を使用した DISPLAY ステートメント

** Example 'DISEX3': DISPLAY (with P* notation)                         
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 SALARY (1)                                                          
  2 BIRTH                                                               
  2 CITY                                                                
END-DEFINE                                                              
*                                                                       
LIMIT 2                                                                 
READ EMPL-VIEW BY CITY FROM 'N'                                         
 DISPLAY NOTITLE NAME CITY                                             
          VERT AS 'BIRTH/SALARY' BIRTH (EM=YYYY-MM-DD) SALARY (1)
  SKIP 1                                                                
  AT BREAK OF CITY                                                          
    DISPLAY P*SALARY (1) AVER(SALARY (1))                         
    SKIP 1                                                              
  END-BREAK                                                             
END-READ
END    

プログラム DISEX3 の出力:

        NAME                 CITY           BIRTH   
                                            SALARY  
-------------------- -------------------- ----------
                                                    
WILCOX               NASHVILLE            1970-01-01
                                               38000
                                                    
MORRISON             NASHVILLE            1949-07-10
                                               36000
                                                    
                                                    
                                               37000

例 4 - 'text'、'c(n)'、および属性表記を使用した DISPLAY ステートメント

** Example 'DISEX4': DISPLAY (with 'c(n)' notation and attribute)       
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 DEPT                                                                
  2 LEAVE-DUE                                                           
  2 NAME                                                                
END-DEFINE                                                              
*                                                                       
LIMIT 4                                                                 
READ EMPL-VIEW BY DEPT FROM 'T'                                         
  IF LEAVE-DUE GT 40                                                    
   DISPLAY NOTITLE                                                     
           'EMPLOYEE' NAME                /* OVERRIDE STANDARD HEADER   
           'LEAVE ACCUMULATED' LEAVE-DUE  /* OVERRIDE STANDARD HEADER   
           '*'(10)(I)                     /* DISPLAY 10 '*' INTENSIFIED 

  ELSE                                                                  
    DISPLAY NAME LEAVE-DUE                                         
  END-IF                                                                
END-READ
*       
END    

プログラム DISEX4 の出力:

      EMPLOYEE       LEAVE ACCUMULATED           
-------------------- -----------------           
                                                 
LAVENDA               33                         
BOYER                 33                         
CORREARD              45               **********
BOUVIER               19                        

例 5 - 横方向の表示を使用した DISPLAY ステートメント

** Example 'DISEX5': DISPLAY (horizontal display)                       
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 JOB-TITLE                                                           
  2 SALARY    (1:2)                                                     
  2 CURR-CODE (1:2)                                                     
END-DEFINE                                                              
*                                                                       
LIMIT 4                                                                 
READ EMPL-VIEW BY NAME                                                  
 DISPLAY NOTITLE NAME JOB-TITLE SALARY (1:2) CURR-CODE (1:2)    
  SKIP 1                                                                
END-READ                                                                
*                                                                       
END                                                                    

プログラム DISEX5 の出力:

        NAME                  CURRENT            ANNUAL   CURRENCY
                             POSITION            SALARY     CODE  
-------------------- ------------------------- ---------- --------
                                                                  
ABELLAN              MAQUINISTA                   1450000 PTA     
                                                  1392000 PTA     
                                                                  
ACHIESON             DATA BASE ADMINISTRATOR        11300 UKL     
                                                    10500 UKL     
                                                                  
ADAM                 CHEF DE SERVICE               159980 FRA     
                                                        0         
                                                                  
ADKINSON             PROGRAMMER                     34500 USD     
                                                    31700 USD    

例 6 - 縦および横方向の表示を使用した DISPLAY ステートメント

** Example 'DISEX6': DISPLAY (vertical and horizontal display)          
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 CITY                                                                
  2 JOB-TITLE                                                           
  2 SALARY    (1:2)                                                     
  2 CURR-CODE (1:2)                                                     
END-DEFINE                                                              
*                                                                       
LIMIT 1                                                                 
READ EMPL-VIEW BY NAME                                                  
 DISPLAY NOTITLE VERT AS CAPTIONED                                     
          NAME CITY 'POSITION' JOB-TITLE                                
          HORIZ 'SALARY' SALARY (1:2) 'CURRENCY' CURR-CODE (1:2)
  /*                                                                    
  SKIP 1                                                                
END-READ 
END

プログラム DISEX6 の出力:

          NAME              SALARY   CURRENCY
          CITY                               
        POSITION                             
------------------------- ---------- --------
                                             
ABELLAN                      1450000 PTA     
MADRID                       1392000 PTA     
MAQUINISTA                                  

例 7 - ステートメント/要素レベルでパラメータを使用した DISPLAY ステートメント

** Example 'DISEX7': DISPLAY (with parameters for statement/element)    
************************************************************************
DEFINE DATA LOCAL                                                       
1 EMPL-VIEW VIEW OF EMPLOYEES                                           
  2 NAME                                                                
  2 PERSONNEL-ID                                                        
  2 TELEPHONE                                                           
    3 AREA-CODE                                                         
    3 PHONE                                                             
END-DEFINE                                                              
*                                                                       
LIMIT 3                                                                 
READ EMPL-VIEW BY NAME                                                  
 DISPLAY NOTITLE (AL=16 GC=+ NL=8 SF=3 UC==)                           
          PERSONNEL-ID NAME TELEPHONE (LC=< TC=>)                 
END-READ                                                                
END                                                                    

プログラム DISEX7 の出力:

   PERSONNEL             NAME         +++++++++++++++TELEPHONE+++++++++++++++
       ID                                                                    
                                             AREA              TELEPHONE     
                                             CODE                            
================   ================   ==================   ==================
                                                                             
60008339           ABELLAN            <1     >             <4356726        > 
30000231           ACHIESON           <0332  >             <523341         > 
50005800           ADAM               <1033  >             <44864858       >

例 8 - 出力ファイルを PC として Natural に定義する場合のレポート指定

** Example 'PCDIEX1': DISPLAY and WRITE 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        
  WRITE (7) TITLE LEFT 'List of employees in New York' /                
  DISPLAY (7)          /* (7) designates the output file (here the PC).
    'Location'  CITY                                                    
    'Surname'   NAME                                                    
    'ID'        PERSONNEL-ID                                            
END-FIND                                                                
END

Top of page