この形式の INPUT
ステートメントは、INPUT
画面のレイアウトの作成、またはシーケンシャル入力ファイルからバッチモードで(メインフレームコンピュータで)読み取る INPUT
データレイアウトの作成に使用されます。
INPUT
|
[WINDOW= 'window-name'] [NO ERASE ]
|
||||||||
[(statement-parameters)] | |||||||||
[WITH-TEXT-option] | |||||||||
[MARK-option] | |||||||||
[ALARM-option] | |||||||||
'text' [(attributes)] | |||||||||
nX
|
'c' (n) [(attributes)] | *IN
|
|||||||
nT
|
'-' | *OUT
|
{operand1 [(parameter)]} | ||||||
x/y | '=' | *OUTIN
|
|||||||
/ |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | S | A | G | N | A | U | N | P | I | F | B | D | T | L | G | 可 | 可 |
構文要素の説明:
INPUT WINDOW='window-name' |
オプション ステートメント「 |
---|---|
NO ERASE |
ここでの画面とは、物理画面ではなく論理画面を意味します。 画面に存在する保護されていないすべてのフィールドは、保護(表示専用)フィールドに変換されます。 古いデータは、新しいレイアウトが表示されるまで画面に残ります。 新しい画面の内容のフィールドが既存のフィールドを部分的にオーバーレイする場合は、新しいフィールドの前の 1 文字と、既存のフィールド内の次の文字が空白で置換されます。 |
statement-parameters |
1 つ以上のパラメータを、カッコで囲んで
この方法で指定した各パラメータは、その前に指定された ここで適用されるパラメータ設定は、変数フィールドにのみ関連し、テキスト定数には影響しません。 テキスト定数にフィールド属性を設定する場合は、この要素に属性を明示的に設定する必要があります。 例: DEFINE DATA LOCAL 1 VARI (A4) INIT <'1234'> /* Output END-DEFINE /* Produced * /* --------- INPUT 'Text' VARI /* Text 1234 INPUT (AD=U) 'Text' VARI /* Text 1234 INPUT 'Text' (AD=U) VARI (AD=U) /* Text 1234 INPUT 'Text' (AD=U) VARI /* Text 1234 END ステートメントレベルおよび要素レベルでのパラメータの使用例を次に示します。 |
WITH TEXT-option | WITH TEXT は、メッセージ行に表示されるテキストを提供するために使用します(下記の対応するセクションを参照)。
|
MARK-option | MARK POSITION を使用して、フィールド内の特定の位置にカーソルを配置できます。 下記の「MARK オプション」を参照してください。
|
ALARM-option | このオプションは、INPUT ステートメントの実行時にアクティブ化される端末の音声アラーム機能を提供します。 下記の「Alarm オプション」を参照してください。
|
その他の構文要素(nX、nT、x/y、operand1 など) | 下記の「フィールドの位置、文字列、属性の指定」を参照してください。 |
INPUT ステートメントで指定可能なパラメータ | 指定(S = ステートメントレベル、E = 要素レベル) | |
---|---|---|
AD | 属性定義 | SE |
AL | 出力の英数字長 | SE |
CD | カラー定義 | SE |
CV | 制御変数 | SE |
DF | 日付フォーマット | SE |
DL | 出力の表示長 | SE |
DY | ダイナミック属性 | SE |
EM | 編集マスク | SE |
EMU | Unicode 編集マスク | E |
FL | 浮動小数点仮数長 | SE |
HE | ヘルプルーチン | SE |
IP | 入力プロンプトのテキスト | SE |
LS | 行サイズ | S |
MC | マルチプルバリューフィールド数 | S |
MS | 手動による省略 | S |
NL | 出力の数値長 | SE |
PC | ピリオディックグループ数 | S |
PM | 出力モード * | SE |
PS | ページサイズ ** | S |
SB | 選択ボックス | E |
SG | 符号の位置 | SE |
ZP | ゼロ出力 | SE |
* PM
セッションパラメータは、テキスト定数には指定できません。
** PS
セッションパラメータ設定は、配列のオカレンス数が PS 値を超える場合は考慮されません。
各セッションパラメータの詳細については、『パラメータリファレンス』を参照してください。
[WITH ] TEXT
|
* operand1
|
[(attributes)][,operand3] 7 | ||
operand2 |
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | C | S | N | P | I | B* | 可 | 可 | |||||||||||
operand2 | C | S | A | 可 | 可 | ||||||||||||||
operand3 | C | S | A | N | P | I | F | B | D | T | L | 可 | 可 |
*operand1 のフォーマット B は、4 以下の長さでのみ使用できます。
WITH TEXT
は、メッセージ行に表示されるテキストを提供するために使用します。 これは通常、画面処理やエラー修正のために実行する必要がある操作を示すメッセージです。
構文要素の説明:
operand1 |
Natural メッセージファイルからのメッセージテキスト:
operand1 は、Natural メッセージファイルから取得するメッセージテキストの番号を表します。 ユーザー定義メッセージまたは Natural システムメッセージのいずれかを取得できます。
Natural メッセージファイルは、関連ドキュメントで説明しているように、SYSERR ユーティリティで作成およびメンテナンスします。 |
---|---|
operand2 |
メッセージテキスト:
operand2 は、メッセージ行に配置されるメッセージを表します。
|
attributes |
operand1/2 にはさまざまな出力属性を割り当てることができます。 これらの属性と構文については、以下の「出力属性」で説明します。 |
operand3 |
メッセージテキストのダイナミック置換:
Operand3 は、英数字、テキスト定数、または変数名を表します。 提供された値は、operand1 または operand2 のいずれかで指定されるメッセージテキストの一部を置き換えるために使用されます。
注意: 先頭のゼロまたは末尾の空白は、メッセージに表示される前にフィールド値から削除されます。 |
attributes は、テキスト表示に使用される出力属性を示します。 可能な属性:
|
||||
AD-value |
指定可能なセッションパラメータ値については、『パラメータリファレンス』ドキュメントの該当するセクションを参照してください。
注意:
コンパイラは、実際には 1 つの出力フィールドに複数の属性値を受け入れます。 例えば、「AD=BDI
」と指定できます。 ただし、この場合は最後の値のみが適用されます。 示した例では、値 "I" のみが有効になり、出力フィールドは強調表示されます。
MARK POSITION
を使用して、フィールド内の特定の位置にカーソルを配置できます。
[MARK POSITION operand4 [IN ]] [FIELD ]
|
operand1 | ||
*fieldname |
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand4 | C | S | N | P | I | 可 | 可 | ||||||||||||
operand1 | C | S | A | N | P | I | 可 | 可 |
構文要素の説明:
MARK *fieldname | *fieldname は、フィールド名を使用して位置付けるために使用します。
|
---|---|
MARK POSITION operand4 |
例: MARK 3 MARK #A MARK *# MARK POSITION 3 IN #A |
operand1 |
operand1 では、マークするフィールドを指定します。
|
このオプションは、INPUT
ステートメントの実行時にアクティブ化される端末の音声アラーム機能を提供します。 この機能を使用するには、対応するハードウェアが使用可能である必要があります。
[[AND ] [SOUND ] ALARM ]
|
セッションパラメータ IP
(入力プロンプト)が IP=OFF
に設定されていない限り、INPUT
ステートメントで使用されるフィールドのフィールド名が、フィールド値の前に(フォームモード)、またはフィールドを選択するためのプロンプトキーワードとして(キーワード/デリミタモード)表示されます。 このデフォルトのフィールド名は、'text'
要素(デフォルト名を置換)または '-'
(デフォルトフィールド名の表示を抑制)をフィールド名の直前に指定することで上書きできます。
'text' [(attributes)] | |||||||||
nX
|
'c' (n) [(attributes)] | *IN
|
{operand1 [(parameter(s))]} | ||||||
nT
|
'-'
|
*OUT
|
|||||||
x /y | '='
|
*OUTIN
|
|||||||
/
|
フィールドの位置、属性の割り当て、およびテキストの作成には複数の表記を使用できます。
nX | n 個のスペースがフィールド間に挿入されます。 |
---|---|
nT | 位置 n を出力するように位置指定(タブ設定)されます。 |
x/y | 次の要素を行 x の列 y から開始して配置します。 y を "0" にすることはできません。 同じ行で後方に位置指定することはできません。 |
'text' | text が書き込み保護状態で表示されます。「テキスト表記」の「ステートメントで使用するテキストの定義」も参照してください。 |
'c' (n) | 'text' と同一ですが、文字 c が n 回表示されます。 n は 1~132 にする必要があります。「テキスト表記」」の「フィールド値の前に n 回表示する文字の定義」も参照してください。
|
attributes | 表示に使用される属性を示します。 下記の「属性」を参照してください。 |
'-' |
マイナス記号:
フィールドの前に配置された場合、 注意: |
'=' |
等号:
フィールドの前に |
'/' |
スラッシュ記号:
フィールドまたはテキスト要素の間に フィールドの内容は、属性設定 例: INPUT #A (AD=A) #B (AD=O) #C (AD=M)
|
*IN、*OUT および *OUTIN |
それぞれ属性 注意: |
operand1 |
フィールド指定:
operand1 は、使用するフィールドを表します。 データベースフィールドまたはユーザー定義変数を指定できます。 Natural は、データエリアの各フィールドの内容を データベースフィールドの内容が データベースフィールドのグループの名前が 配列内のオカレンスの範囲に対する参照が行われた場合は、すべてのオカレンスが個々に入力フィールドとして処理されますが、プロンプトテキストは個々のオカレンスに対しては作成されず、最初のオカレンスに対してのみ作成されます。 メインフレームコンピュータでは、実行時にオカレンス数を変更できる、範囲による配列は指定できません。 |
parameter(s) |
1 つまたは複数のパラメータをカッコで囲んで operand1 の直後に指定できます(下記の表と例を参照)。 指定した各パラメータは、その前に指定された ここで適用されるパラメータ設定は、変数フィールドにのみ関連し、テキスト定数には影響しません。 テキスト定数にフィールド属性を設定する場合は、この要素に属性を明示的に設定する必要があります。 個々のパラメータの詳細については、「ステートメントのパラメータ」の表を参照してください。 注意: |
次の属性を使用できます。
B
|
BL
|
|||||||||||||||||
C
|
GR
|
C |
||||||||||||||||
D |
NE
|
D
|
||||||||||||||||
[AD= ]
|
I
|
[CD= ]
|
PI
|
[PM= ]
|
I
|
|||||||||||||
N
|
RE
|
N
|
||||||||||||||||
U
|
TU
|
|||||||||||||||||
V
|
YE
|
|||||||||||||||||
1 | 2 | 3 |
表示属性:『パラメータリファレンス』でセッションパラメータ AD
を参照してください。
色属性:『パラメータリファレンス』でセッションパラメータ CD
を参照してください。
出力モード属性:『パラメータリファレンス』でセッションパラメータ PM
を参照してください。
** Example 'IPTEX1': INPUT ************************************************************************ DEFINE DATA LOCAL 1 #FNC (A1) END-DEFINE * INPUT 10X 'SELECTION MENU FOR EMPLOYEES SYSTEM' / 10X '-' (35) // 10X 'ADD (A)' / 10X 'UPDATE (U)' / 10X 'DELETE (D)' / 10X 'STOP (.)' // 10X 'PLEASE ENTER FUNCTION: ' #FNC * DECIDE ON EVERY VALUE OF #FNC VALUE 'A' /* invoke the object containing the add function here WRITE 'Add function selected.' VALUE 'U' /* invoke the object containing the update function here WRITE 'Update function selected.' VALUE 'D' /* invoke the object containing the delete function here WRITE 'Delete function selected.' VALUE '.' STOP NONE REINPUT 'Please enter a valid function.' MARK *#FNC END-DECIDE * END
SELECTION MENU FOR EMPLOYEES SYSTEM ----------------------------------- ADD (A) UPDATE (U) DELETE (D) STOP (.) PLEASE ENTER FUNCTION:
** Example 'INPEX1': INPUT (with DEFINE WINDOW statement) ************************************************************************ DEFINE DATA LOCAL 1 #STRING (A15) END-DEFINE * DEFINE WINDOW WIND1 SIZE 10 * 40 BASE 5 / 10 FRAMED ON POSITION TEXT * INPUT WINDOW='WIND1' 'PLEASE ENTER HERE:' / #STRING * END
+----------------------------------Top+ ! PLEASE ENTER HERE: ! ! #STRING ! ! ! ! ! ! ! ! ! ! ! ! ! +-------------------------------Bottom+
** Example 'INPEX2': INPUT (with POSITION) ************************************************************************ DEFINE DATA LOCAL 1 #START (A30) END-DEFINE * ASSIGN #START = 'EXAM_' * INPUT (AD=M) MARK POSITION 5 IN *#START / 'PLEASE COMPLETE START VALUE FOR SEARCH' / 5X #START END
PLEASE COMPLETE START VALUE FOR SEARCH #START EXAM[]