フォーマット定義ソース
本章では、フォーマット定義ソースの構成および記述形式について説明します。
1. 概要
PSAM(Presentation Service Access Method)は、アプリケーションと外部端末の入出力通信のために、OpenFrame AIMが提供するプレゼンテーション・サービスです。PSAMは、画面と帳票形式をアプリケーションと独立した定義体で作成し、これを使用してプレゼンテーション・サービスを提供します。
以下の図は、プレゼンテーション・サービスの概要を示しています。

上の図のように、PSAMの機能はフォーマット定義機能とプレゼンテーション・サービス機能に分けられます。
jybfg000ツールを使用してフォーマット定義ソースからフォーマット定義体を作成し、プレゼンテーション・サービス・プログラムを使用してアプリケーションの内部データ形式と端末の外部表示形式間のデータを変換します。
データ変換には以下のフォーマット定義体の情報を使用します。
-
端末制御情報
-
画面または帳票の表示形式(レイアウト情報)
-
アプリケーションのデータ形式
-
画面または帳票の表示とアプリケーション・データとの対応関係
jybfg000ツールの詳細については、OpenFrame AIM『ツールリファレンスガイド』を参照してください。 |
2. フォーマット定義ソースの構成
フォーマット定義ソースは、端末の種類に応じて多少の差はありますが、ほぼ同じ形式を持ちます。OpenFrame AIMは、ディスプレイ端末とプリンター端末をサポートします。
本節では、ディスプレイ端末とプリンター端末のフォーマット定義ソースの構成について紹介します。
2.1. ディスプレイ端末
ディスプレイ端末はユーザーのデータ入力によって、OpenFrame AIMのアプリケーションとの入出力通信が可能です。プリンター端末の場合は帳票による出力のみ可能です。そのため、ディスプレイ端末のためのフォーマット定義ソースでは、入力可能なレコードを定義する必要があります。ディスプレイ端末の場合は、DEVICE文のDVK値がDP10(デフォルト値)です。
ディスプレイ端末は、画面レイアウトの記述方法によって画面形式と制御文形式に分けられます。画面形式は、LAYOUT文とLAYEND文の間に画面レイアウトを記述してフォーマットを定義し、制御文形式は、FIELD文、WINDOW文で定義した文字フィールド、ウィンドウ・フィールドを使用してフォーマットを定義します。
-
画面形式
画面形式には、SCHAR文、SWINDOW文、LAYOUT文、LAYEND文、画面レイアウトの記述領域があります。また、画面レイアウトがレコードより前に定義されます。画面形式はディスプレイ端末にのみ記述できます。
以下の図は、ディスプレイ端末の画面形式を示しています。
ディスプレイ端末の画面形式の構成 -
制御文形式
制御文形式には、FIELD文、WINDOW文、REPEAT文、REPEND文があります。また、レコード定義が画面レイアウトの定義より前に記述されます。
以下の図は、ディスプレイ端末の制御文形式を示しています。
ディスプレイ端末の制御文形式の構成
2.2. プリンター端末
プリンター端末は、ユーザーのデータを入力することはできず、出力のみ可能です。そのため、プリンター端末のためのフォーマット定義ソースでは、出力用レコードのみ定義する必要があります。プリンター端末の場合、DEVICE文のDVK値がPR10です。プリンター端末は制御文形式でのみ記述します。
以下の図は、プリンター端末の制御文形式を示しています。

ディスプレイ端末の制御文形式との違いは、行間隔を定義するLINE文とバーコード・フィールドを定義するXBARCODE文を使用できるという点です。また、画面分割を定義するDIST文と入出力項目単位を定義するGROUP文は存在しません。
3. フォーマット定義ソースの記述形式
フォーマット定義ソースの記述形式はレコード形式に応じて固定長レコードと可変長レコードに分けられます。固定長レコードのレコード長は80~255まで、可変長レコードは84~255までの値を使用できます。
以下の図は、固定長レコードのフォーマット定義の記述形式を示しています。

以下の図は、可変長レコードのフォーマット定義の記述形式を示しています。

以下は、フォーマット定義ソースの記述形式についての説明です。
-
名前欄
アルファベットで始まる8文字以内の英数字を記述します。固定長レコードは1桁目から、可変長レコードは10桁目から記述します。
-
命令欄
名前の直後に1つ以上の空白文字を入れて記述します。名前がない場合、固定長レコードは2桁目、可変長レコードは11桁目以降の任意の位置から記述できます。
-
オペランド欄
オペランドは命令欄の後に続き、1つ以上の空白文字を入れて記述します。固定長レコードは継続欄の前まで記述でき、可変長レコードは最大レコード長まで記述できます。
オペランドとオペランドの間は、次のいずれかを使用して区切ります。
-
1つのコンマ(,)
-
1つのコンマ(,)と1つ以上の空白文字
-
1つ以上の空白文字
オペランドはキーワード形式に従います。キーワード、等号(=)、オペランドの値で構成されます。等号の直後には、1つ以上の空白文字を入力できます。
-
XXXX=AAAA
-
XXXX=_AAAA
-
XXXX=___AAAA
「XXXX」はキーワード、「AAAA」はオペランドの値、「_」は空白文字を示します。
オペランドの値が複数の要素で構成される場合は括弧で囲みます。複数の各要素をサブオペランドといいます。括弧の前後には空白文字を入力できます。サブオペランドとサブオペランドの間を区切る方法は、オペランドと同様です。
-
XXXX=(AA,BB,CC)
-
XXXX=__(_AA,BB,CC_)
-
XXXX=__(_AA,_BB,_CC_)
「AA」、「BB」、「CC」は、すべてサブオペランドです。
EQU文では、上記のオペランド規則が適用されません。EQU文では、1つのコンマ(,)を使用してオペランドとサブオペランドを区切り、等号(=)の直後に空白文字を使用できません。
-
-
継続欄
オペランドは、以下の方法で次の行に続けて記述できます。
-
オペランドの最後にコンマ(,)を入力し(コンマは省略可能)、次の行の開始を固定長レコードは2桁目、可変長レコードは11桁目以降に次のオペランドを記述します。
-
サブオペランドの最後にコンマ(,)を入力し(コンマは省略可能)、次の行の開始を固定長レコードは2桁目、可変長レコードは11桁目以降に次のサブオペランドを記述します。
-
引用符号で囲まれた文字列の場合、固定長レコードは継続欄の前まで記述し、残りの部分は次の行の16桁目から記述します。可変長レコードは最大レコード長まで記述し、残りの部分は次の行の25桁目から記述します。
継続欄は継続を指定する用途に使用しており、構文チェックは行いません。1つの構文は、最大80行まで使用できます。
以下の制御文は継続行を使用できません。
-
EQU文
-
LAYOUT文
-
LAYEND文
-
END文
-
-
コメント欄
固定長レコードは1桁目に、可変長レコードは10桁目にアスタリスク(*)を記述すると、その行はコメントとみなされます。
4. 画面フォーマット
画面レイアウトの記述方法には、画面形式と制御文形式があります。
-
画面形式
-
LAYOUT文とLAYEND文の間の画面レイアウトを記述してフォーマットを定義します。
-
レコード形式は可変長です。
-
メンテナンスの容易性を考慮して、画面形式を使用することを推奨します。ただし、以下の制限事項があります。
-
長さが1のサブフィールドを使用できません。
-
長さが2のサブフィールドを最初および中間サブフィールドで使用できません。
-
ウィンドウの高さが1行または2行になることはできません。
-
ウィンドウの幅はグラフ・レコードの幅より大きくする必要があります。
-
文字フィールドはウィンドウの境界を超えることはできません。
-
ウィンドウを他のウィンドウとオーバーラップすることはできません。
-
サブフィールドの属性を記述できません。
-
配列形式のデータ項目はフィールド位置の昇順でのみ表示できます。
-
入力フィールドの属性として保護(Protection)属性を指定することはできません。
-
-
-
制御文形式
-
FIELD文、WINDOW文を使用して、文字フィールド、ウィンドウ・フィールドを定義します。
-
レコード形式は固定長または可変長です。
-
すべてのPSAM機能を使用できます。
-
4.1. 画面形式と制御文形式の共通記述
以下は、画面形式と制御文形式を使用してフォーマットを記述する際、共通して使用できる文についての説明です。
文 | 説明 |
---|---|
FID文 |
以下を設定します。
|
DEVICE文 |
画面フォーマット記述の開始を示し、端末の固有情報を指定します。 以下を設定します。
|
FRAME文 |
画面フォーマットの設定方法を記述します。 以下を設定します。
|
PART文 |
ディスプレイ端末の場合は以下を設定します。
プリンター端末の場合は以下を設定します。
|
-
日付表意定数の優先順位
ユーザーは、ofconfigまたは環境変数の設定を通じて、PSAMで使用される日付の表意定数を変更することができます。適用の優先順位は以下のとおりです。
-
ofconfigのSPARM_DATEおよびSPARM_TIMEに設定された値
-
環境変数OPENFRAME_DATEおよびOPENFRAME_TIMEに設定された値
-
上記1または2の設定がない場合、システム時刻値を使用
-
4.2. 画面形式の記述
画面形式はディスプレイ端末にのみ使用できます。LAYOUT文とLAYEND文の間の画面レイアウトを記述してフォーマットを定義します。
以下は、画面形式を記述するために使用する文です。
文 | 説明 |
---|---|
SCHAR文 |
レイアウトの記述に使用する文字の用途を定義します。詳細については、SCHAR文を参照してください。 |
SWINDOW文 |
グラフ・ウィンドウ、イメージ・ウィンドウ、図形ウィンドウの設定情報を記述します。 |
LAYOUT文 |
画面レイアウト記述の開始を示します。 |
LAYEND文 |
画面レイアウト記述の終了を示します。 |
4.2.1. SCHAR文
レイアウトの記述に使用する文字の用途を定義します。
-
文字フィールドの開始または終了を示す文字(ATTR)
-
セパレーター文字(SEP)
-
画面内の固定文字(CHAR)
文字フィールドは、FILEDを指定して以下のように区分します。また、各フィールドには属性を与えます。
-
テキスト・フィールド(TEXT)
-
入力フィールド(IN)
-
出力フィールド(OUT)
-
終了フィールド(END)
フィールド属性は、ATTR文で指定します。以下の表は、表意定数(system figurative constant)を示しています。
-
基本属性
分類 表意定数 属性 [Protection][Detectability] [Intensity]
[I|O][D|U][H|L|S]
入力と検査の可否、明るさの属性を指定する場合、それぞれに対応する表意定数のいずれかを選択し、連続して記述する必要があります。たとえば、入力と検査が可能であり、明るさ最大のフィールドを定義する場合は、IDHのように連続して指定します。
[I|O]属性が個別に指定されていない場合、テキスト・フィールドと出力フィールドには [O]属性が、入力フィールドには[I]属性が指定されたものと見なされます。表示される色は、環境設定により異なります。詳細については、属性指定に応じた基本色を参照してください。
-
I:入力できるフィールド
-
O:入力できないフィールド、出力フィールド
-
D:ライトペン機能を使用できる(未サポート)
-
U:ライトペン機能を使用できない(未サポート)
-
H:高輝度
-
L:低輝度
-
S:フィールド内文字の非表示
入力属性(複数指定可能)
NUM
数字(0~9)、ピリオド(.)、マイナス記号(-)のみ入力文字として使用
CUR
カーソルを指定
MDT
入力しなくても入力したかのように扱う
FIL
入力フィールドの長さの分だけ入力
ENT
必須入力
TRG
トリガーとして使用される入力フィールド
NOC
入力された小文字を大文字に変換せずにそのまま使用
AEN
自動エンター
フィールド・アウトライン(OTLを除いて複数指定可能)
UDL
下線
OVL
上線
VTL
左線
VTR
右線
OTL
フィールド全体を囲む(UDL + OVL + VTL + VTR)
特殊機能
SPF
ハードウェア装置に応じて動作が異なる
PTN
パターンを表示
-
-
拡張属性
分類 表意定数 属性 強調 (1つだけ指定でき、複数指定した場合は優先順位が最も高い項目のみが適用されます。優先順位:UDS < RVS < BLK))
BLK
点滅
RVS
反転
UDS
下線
色 (複数指定不可)
BLU
青
RED
赤
PNK
ピンク
GRN
緑
TUR
青緑
YLW
黄
WHT
白
-
属性指定に応じた基本色
ユーザーが拡張属性で色を指定した場合、その値が優先的に適用されます。色が指定されていない場合は、環境設定のCOLOR_PATTERN値(デフォルト値:0)とフィールドの基本属性に基づいて色が決まります。
属性指定 IUL IDL IDH OUL ODL ODH COLOR_PATTERN 0
緑
緑
白
緑
緑
白
COLOR_PATTERN 1
緑
緑
白
緑
緑
白
COLOR_PATTERN 2
緑
緑
赤
白
白
赤
COLOR_PATTERN 3
緑
白
赤
緑
白
赤
COLOR_PATTERN 4
緑
緑
赤
青緑
青緑
白
4.2.2. レイアウト
LAYOUT文とLAYEND文の間に画面レイアウトを記述します。
以下は、画面レイアウトを記述する際の注意事項です。
-
画面の原点(1行1列の位置)に配置できる文字
-
フィールド開始文字
-
フィールド終了文字
-
空白文字
-
-
テキスト・フィールドとアウトプット・フィールドの区別
固定文字列フィールドまたは固定文字列と変数が混在するフィールドは、テキスト・フィールドとして定義します。1つの変数のみで構成されたフィールドはテキスト・フィールドまたはアウトプット・フィールドとして定義できます。ただし、テキスト・フィールドは変数の開始文字が必要であるため、長さが1のフィールドはアウトプット・フィールドとしてのみ定義できます。
-
テキスト・フィールド
以下の例は、変数Aが示すフィールドは長さが2のテキスト・フィールドです。つまり、テキスト・フィールドの長さが1になることはできません。
○@A△
-
アウトプット・フィールド
以下の例は、変数Aが示すフィールドは長さが1のアウトプット・フィールドです。
○A△
上記例の記号の意味は以下のとおりです。
区分 意味 ○
フィールド開始文字
△
フィールド終了文字
@
変数開始文字
!
変数終了文字
-
-
フィールドの長さ
-
フィールド開始文字とフィールド終了文字の間に定義されたフィールド
フィールド開始文字とフィールド終了文字は、実画面で属性文字に対応されます。フィールド開始文字の位置には必ず属性文字が配置されますが、フィールド終了文字の位置には、必ずしも属性文字が配置されるわけではありません。変数を含むフィールドの長さは変数のデータ項目の長さによって決まるため、フィールドの終了を示す属性文字の位置も変数のデータ項目の長さによって変わります。そのため、フィールド終了文字を使用するフィールドは、変数に該当するデータ項目の長さを変更しても、次のフィールドと重ならない限り、レイアウト記述を変更する必要がありません。
-
フィールド開始文字とフィールド開始文字の間に定義されたフィールド
フィールドの前後に属性文字を指定するには、フィールドの長さが固定である必要があります。したがって、変数に該当するデータ項目の長さが一致する必要があります。
フィールドの長さと変数に該当するデータ項目の長さの不一致を検出するために、LAYOUT文にLENGCHKオペランドを使用することができます。
-
-
メッセージ・フィールド
メッセージは一般的なアウトプット・フィールドとして指定できますが、メッセージ表示用のアウトプット・フィールド(または、メッセージ・フィールド)を使用すると、メッセージIDを使用してメッセージ本文を定義することができます。これにより、1つのフィールドにさまざまなメッセージを出力することが可能で、メッセージ内容を簡単に変更することができます。
-
空白行
レイアウト記述での空白行は実画面の空白行を示すため、省略できません。ただし、LAYEND文直前の画面最下部の空白行は省略できます。
-
レイアウト記述とEQU文の関係
EQU文で定義された置換変数は、レイアウト記述部分では影響を及ぼしません。
-
2次元配列を持つデータ項目の定義
2次元配列を持つデータ項目は以下のように定義されます。1次指標と2次指標の値に留意します。
2次元配列のデータ項目と画面レイアウトの記述例
4.3. 制御文形式の記述
制御文形式でのみ使用できる文について説明します。制御文形式はディスプレイ端末だけでなく、プリンター端末でも使用できます。FIELD文、WINDOW文を使用して各フィールド属性を直接定義します。
以下は、制御文形式を記述するために使用する文です。
文 | 説明 |
---|---|
WINDOW文 |
グラフまたはイメージを表示するための表示領域を指定します。 |
FIELD文 |
画面または帳票のフィールドを定義します。詳細については、FIELD文を参照してください。
|
REPEAT文 |
繰り返しフィールド定義の開始を示します。REPEAT文とREPEND文の間に、繰り返しの対象となるFIELDを指定します。繰り返し回数、繰り返し方向(行または列)、繰り返し時の指標値の変化など、繰り返し動作に必要な情報を一緒に指定する必要があります。詳細については、REPEAT文を参照してください。 |
REPEND文 |
繰り返しフィールド定義の終了を示します。 |
4.3.1. FIELD文
フィールドとは、制御文の記述に使用される画面または帳票の空間単位であり、FIELD文とその文によって具体化されます。
以下は、FIELDの記述に使用される文です。
文 | 説明 |
---|---|
POS文 |
画面または帳票でフィールドの開始行と列の位置を指定します。指定された位置から前の1つの列位置には、空白属性の文字が生成されます。 |
ATTR文 |
フィールドの1次属性を指定します。ATTR文を省略した場合、該当フィールドの1次属性としてOULが設定されます。ATTRとATTR2で指定できる属性値は、SCHAR文を参照してください。 |
ATTR2文 |
フィールドの2次属性を指定します。ATTR2文を省略した場合、2次属性は1次属性と同じ属性に設定されます。 |
VALUE文 |
フィールド内に固定データおよび可変データを指定します。1つ以上のデータを指定でき、それぞれをサブフィールド(subfield)と呼びます。複数のサブフィールドは連続して表示され、同じATTR属性が適用されます。
|
DATAIN 문 |
入力されたフィールド・データを受け取る入力データ項目を指定します。
|
MSG文 |
このフィールドに固定メッセージを表示する際に、メッセージIDを設定するデータ項目の名前を指定します。 |
LENGTH文 |
フィールドの長さを指定します。フィールドの属性はフィールド全体の長さに適用されます。通常、固定データの長さと可変データの長さの合計がフィールドの長さとなるため、フィールドの長さを指定する必要はありません。ただし、以下のような場合にはフィールドの長さの指定が必要です。
|
以下は、FIELD文の使用例です。
-
固定データを指定した場合
以下は、3行4列の位置から開始するフィールドに固定データ’ABC’を指定し、属性としてボックス型の実線と反転強調表示を指定する例です。4行4列の位置では、最初のサブフィールドに固定データ’BCD’を、2番目のサブフィールドに固定データ' '(空白文字)を5回繰り返すことを指定します。5行4列の位置には、30個の空白文字を指定します。
FIELD POS=(3,4) VALUE='ABC' ATTR=(OTL,RVS) FIELD POS=(4,4) VALUE=('BCD', (ALL,' ',5)) ATTR=(OUL, VTL, UDS) FIELD POS=(5,4) VALUE=30X
-
可変データを指定する場合
以下は、可変データを指定する例です。可変データは、DATA文またはSDATA文の名前で定義されている必要があります。
FIELD POS=(5,4) VALUE=MYTDATA
-
固定データと可変データが混在する場合
以下は、固定データと可変データが混在する例です。それぞれはサブフィールドとして連続して表示され、同じATTR属性が適用されます。
A DATA USAGE=CTRL1 PIC=(X,4) ... FIELD POS=(2,2) VALUE=('(', A, ')') ATTR=OUL
4.3.2. REPEAT文
繰り返しフィールド定義の開始を示します。次に示す文を使用して、繰り返しに関する詳細情報を指定します。
REPEAT文は大きくタイプ1とタイプ2に分かれ、タイプ1は行方向のみの繰り返しが可能であり、タイプ2は行方向、列方向、そして行列方向での繰り返しを指定できます。
文 | 説明 |
---|---|
OCCURS文 |
タイプ1の繰り返しを指定し、行方向の繰り返し回数を指定します。 |
LINE文 |
行方向の繰り返しに関する情報を指定し、タイプによって異なる指定を行います。
|
ROW文 |
列方向の繰り返しに関する情報を指定し、タイプ2でのみ指定します。
|
BY文 |
タイプ1でのみ指定し、繰り返し時の配列データの1次指標の増分値を指定します。省略した場合、1に指定されます。 |
BY1文 |
タイプ2でのみ指定し、繰り返し時の配列データの1次指標の増分値を指定します。省略した場合、1に指定されます。 |
BY2文 |
タイプ2でのみ指定し、繰り返し時の配列データの2次指標の増分値を指定します。省略した場合、1に指定されます。 |
以下は、REPEAT文の使用例です。
-
REPEATタイプ1
以下は、行方向で3回繰り返し、行間隔を4、1次指標の増分値を1に指定する例です。
REPEAT文の繰り返し指定により、(2,4)の位置に(A,1)、(6,4)の位置に(A,2)、(10,2)の位置に(A,3)を持つフィールドが定義されます。A DATA PIC=(X,4) OCCURS=5 ... REPEAT OCCURS=3 LINE=4 FIELD POS=(2,4) VALUE=(A,1) REPEND
-
REPEATタイプ2 - 行の繰り返し
以下は、行方向で3回繰り返し、行間隔は2、1次指標の増分値は2に指定する例です。
REPEAT文の繰り返し指定により、(2,4)の位置に(A,2)、(4,4)位置に(A,4)、(6,4)位置に(A,6)を持つフィールドが定義されます。A DATA PIC=(X,4) OCCURS=6 ... REPEAT LINE=(3,2) BY1=2 FIELD POS=(2,4) VALUE=(A,2) REPEND
-
REPEATタイプ2 - 列の繰り返し
以下は、列方向で3回繰り返し、列間隔は5、1次指標の増分値は3に指定する例です。
REPEAT文の繰り返しにより、(2,4)の位置に(A,1)、(2,9)位置に(A,4)、(2,14)位置に(A,7)を持つフィールドが定義されます。A DATA PIC=(X,4) OCCURS=5 ... REPEAT ROW=(3,5) BY1=3 FIELD POS=(2,4) VALUE=(A,1) REPEND
-
REPEATタイプ2 - 行列の繰り返し
以下は、行方向で2回繰り返し、行間隔は2、列方向で4回繰り返し、列間隔は5、1次指標と2次指標の増分値は1に指定する例です。
REPEAT文の繰り返し指定によって行例の繰り返しが設定されると、8つのフィールドはぞれぞれ増分された位置で(A,1,1) ~ (A,1,4)、(A,2,1) ~ (A,2,4)のような値を持つことになります。A DATA PIC=(X,4) OCCURS=(3,4) ... REPEAT LINE=(2,2) ROW=(4,5) FIELD POS=(2,4) VALUE=(A,1,1) REPEND
5. プリンター端末の記述
プリンター端末でのみ記述できる文について説明します。
以下は、プリンター端末を記述するために使用する文です。
文 | 説明 |
---|---|
LINE文 |
行間隔を指定します。 PART文の直後に指定できます。省略時には、6LPI(Line Per Inch)間隔で設定されます。 |
BARCODE文 |
帳票に出力されるバーコード・フィールドを定義します。アプリケーションがメッセージ・ファイル・インターフェースを介して端末と通信する場合に使用されます。 以下を定義します。
|
XBARCODE文 |
帳票に出力されるバーコード・フィールドを定義します。 アプリケーションが表示ファイル・インターフェースを介して端末と通信する場合に使用されます。BARCODE文の機能を拡張した形です。定義内容はBARCODE文と同じです。 |
6. レコードの記述
端末で入力したデータはプレゼンテーション・サービス・プログラムを介してアプリケーションに転送されます。また、アプリケーションで処理されたデータは、プレゼンテーション・サービス・プログラムを介して外部表示形式に変換および出力されます。プレゼンテーション・サービス・プログラムとアプリケーションの間で送受信される内部データ形式を定義したものをレコードといいます。
以下は、レコードを記述するために使用する文です。
文 | 説明 |
---|---|
RECORD文 |
レコード記述の開始を示します。レコードのタイプ(入力、出力、入出力)を区別します。 |
DATA文 |
データ項目について以下を定義します。
|
SDATA文 |
セット項目を構成するデータ項目を定義します。 |
GROUP文 |
アプリケーションと端末間の入出力を実行する単位を定義します。グループに属する可変データを指定します。 |
DIST文 |
画面の配置を定義します。 画面に対するオペレーターの応答データに応じて、次の画面を表示するか、アプリケーションにメッセージを転送します。画面の配置に影響を与える応答データのデータ項目を配置キーといいます。配置キーは、データ項目の一部になることもできます。 表示ファイル形式とメッセージ・ファイル形式では、DIST文の記述形式が異なりますが、機能はほぼ同じです。表示ファイル形式では、複数のDIST文を処理できます。つまり、複数の入力データ値によって画面を配置することができます。 |
GRECORD文 |
グラフ・レコードの開始を示し、グラフのタイプを記述します。グラフ・レコードを記述するために使用される文には、GRECORD文、PDATA文、UNIT文、GDATA文があります。 |
PDATA文 |
グラフ・プロット・データおよびグラフ・マスク・データの形式を定義します。 |
UNIT文 |
グラフ・プロット・データのグラフ・ユニットの名前と属性を定義します。 |
GDATA文 |
グラフ・テキスト・データまたはグラフ・リファイン・データを指定します。 |
データ項目を記述するときに、EDITオペランドにパターンを指定することができます。パターンの種類は、以下のとおりです。
-
PICTUREが9タイプの場合
P01(999,999), P02(ZZZ,ZZ9), P03(9999999), P04(ZZZZZZ9), P28(ZZZZZZZ)
-
PICTUREがSタイプの場合
P12(\\\\\\,\\\\9CR), P14(ZZZ,ZZ9-), P20(-ZZZ,ZZ9), P22(-ZZZZZZ9), P25(----,--9), P26(-------9), P29(99.99.99), P63(ZZZ9.Z9.Z9), P64(9999.99.99)
7. メッセージの記述
出力するメッセージをレコードのデータ項目に直接記述することもできますが、この場合、データ量の増加に加え、メッセージを変更する際、アプリケーションを修正して再ビルドしなければなりません。このような問題を解決するために、使用されるメッセージと、そのメッセージIDをフォーマット定義ソースで定義し、レコードのデータ項目にはメッセージIDのみ指定してメッセージを出力できるようにサポートします。これにより、メッセージを変更する際、アプリケーションを修正するのではなく、フォーマット定義ソースを修正してビルドします。また、データ量を減らすこともできます。
以下は、メッセージを記述するために使用する文です。
文 | 説明 |
---|---|
MSG文 |
メッセージ・フィールドに表示するメッセージ本文を定義します。 |
8. バックグラウンドの記述
ディスプレイ端末のベクター表示機能を使用してバックグラウンドを表示します。ただし、ベクター表示機能をサポートしない端末では、バックグラウンドの定義が無視されます。ベクター表示機能は、図形専用コマンド(点と点をつなぐベクターのセットを利用したコマンド)を使用して図形を画面に表示するか、プリンターの帳票に印刷する機能です。
以下は、ディスプレイ装置のバックグラウンドを定義するために使用される文についての説明です。
文 | 説明 |
---|---|
BACK文 |
バックグラウンドを表示するための定義の開始を示します。 |
SET文 |
DRAW文、CHAR文の前に記述し、線と文字の表示形式を設定します。 |
DRAW文 |
バックグラウンドに表示される図形を指定します。 |
CHAR文 |
バックグラウンドに表示される文字の位置と値を指定します。 |
REPEAT文 |
バックグラウンドに表示される図形および文字を繰り返して記述するときに使用します。 REPEAT文とREPEND文の間に使用できる制御文は、DRAW文とCHAR文のみです。SET文は指定できません。 |
REPEND文 |
図形および文字の繰り返し定義の終了を示します。 |
9. 補助制御文の記述
フォーマット、レコード、メッセージ、バックグラウンドなどの定義は、プレゼンテーション・サービス・プログラムで動的に使用される情報です。
プレゼンテーション・サービス・プログラムで動的に使用される情報ではなく、フォーマット定義ソースでフォーマット定義体を作成するときにのみ必要な静的情報を記述することもできますが、このような情報を記述する文を補助制御文といいます。フォーマット定義ソースで使用するマクロの定義文、フォーマット定義の終了を指定する文などが該当します。
以下は、補助制御文を記述するために使用する文です。
文 | 説明 |
---|---|
EQU文 |
置換変数を定義してフォーマット定義ソースに使用された置換変数を定義された値に変更することができます。置換変数は、英文字(#、@、\を含む)で始まる2桁文字の英数字で指定します。画面形式のレイアウト記述部分は置換の対象から除外されます。 EQU文はFID文より前に指定される必要があります。 |
END文 |
フォーマット定義の終了を示します。 |