この形式の INPUT ステートメントは、INPUT 画面のレイアウトの作成、またはシーケンシャル入力ファイルからバッチモードで読み取る INPUT データレイアウトの作成に使用されます。
INPUT |
[WINDOW='window-name'] [NO ERASE]
|
||||||||||||||||
[(statement-parameters)]
|
|||||||||||||||||
| [WITH-TEXT-option] | |||||||||||||||||
| [MARK-option] | |||||||||||||||||
| [ALARM-option] | |||||||||||||||||
|
|
|
|
|
|
|
[(attributes)]
|
|
|
|||||||||
|
|
|
|
|
operand1 [(parameter)]
|
|||||||||||||
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
オペランド定義テーブル:
| オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| operand1 | S | A | G | N | A | U | N | P | I | F | B | D | T | L | G | ○ | ○ | |||
構文要素の説明:
| 構文要素 | 説明 |
|---|---|
INPUT
WINDOW='window-name' |
INPUT WINDOW='window-name' Option:
このオプションでは、 指定されたウィンドウは、 ステートメント |
NO
ERASE |
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 オプション: このオプションは、メッセージ行に表示されるテキストを指定するために使用します(下記の「WITH TEXT」を参照)。
|
MARK-option |
MARK オプション:
下記の「MARK オプション」を参照してください。 |
ALARM-option |
Alarm オプション:
下記の「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 |
Helproutine | SE |
IP |
入力プロンプトのテキスト | SE |
LS |
Line Size | S |
MC |
マルチプルバリューフィールド数 | S |
MS |
Manual Skip | S |
NL |
出力の数値長 | SE |
PC |
ピリオディックグループ数 | S |
PM |
Print Mode * | SE |
PS |
Page Size ** | S |
SB |
選択ボックス | E |
SG |
符号の位置 | SE |
ZP |
ゼロ出力 | SE |
* PM セッションパラメータは、テキスト定数には指定できません。
** PS セッションパラメータ設定は、配列のオカレンス数が PS 値を超える場合は考慮されません。
各セッションパラメータの詳細については、『パラメータリファレンス』を参照してください。
[WITH] TEXT |
|
|
[(attributes)][,operand3] |
オペランド定義テーブル:
| オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 システムメッセージのいずれかを取得できます。
Natural メッセージファイルは、関連ドキュメントで説明しているように、 |
operand2 |
メッセージテキスト:
|
attributes |
出力属性:
operand1/2 にはさまざまな出力属性を割り当てることができます。これらの属性と構文については、以下の「出力属性」で説明します。 |
operand3 |
メッセージテキストのダイナミック置換:
提供された値は、 表記
注意: 先頭のゼロまたは末尾の空白は、メッセージに表示される前にフィールド値から削除されます。 |
attributes は、テキスト表示に使用される出力属性を示します。属性は次のいずれかです。
|
|
||
|
|
ad-value |
上記の意味は次に示すとおりです。
ad-value、、cd-value および pm-value は、『パラメータリファレンス』ドキュメントの関連セクションで記載されている、対応するセッションパラメータ AD、、CD および PM の可能な値を示します。
コンパイラは、実際には 1 つの出力フィールドに複数の属性値を受け入れます。例えば、次のように指定できます。AD=BDIただし、この場合は最後の値のみが適用されます。示した例では、値 I のみが有効になり、出力フィールドは強調表示されます。
英数字/Unicode 定数(Natural データフォーマット A または U )の場合は、ad-value または cd-value あるいはその両方を、それぞれの前に先行する CD= または AD= なしで、指定することができます。入力した単一の値が、最初にすべての可能な CD 値に対してチェックされます。例えば、IRE の値は、高輝度表示/赤として解釈されますが、高輝度表示/右詰め/必須としては解釈されません。単一の cd-value またはad-value の前に CD= または AD= が付いた値を組み合わせることはできません。
MARK オプションを使用すると、画面上の任意の保護されていないフィールドにカーソルを置くことができます。さらに、該当フィールド内でカーソルの位置を指定できます。つまり、デフォルトでは、MARK オプションを省略すると、最初の保護されていないフィールドの先頭にカーソルが置かれます。
MARK [POSITION operand4 [IN]] [FIELD]
|
|
|
オペランド定義テーブル:
| オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand4 |
C | S | N | P | I | ○ | ○ | ||||||||||||
operand1 |
C | S | A | N | P | I | ○ | ○ | |||||||||||
構文要素の説明:
| 構文要素 | 説明 |
|---|---|
operand1 |
フィールド参照番号:
|
*fieldname |
参照用フィールド名:
フィールド参照番号の代わりに、 |
operand4 |
参照フィールド内のカーソル位置:
|
MARK #NUMBER /* Field number MARK 3 /* Third map field MARK *#FIELD1 /* Map field MARK POSITION 3 IN #NUMBER /* Third character in field number
このセクションの最後にある「例 3 - MARK POSITION オプションのある INPUT ステートメント」も参照してください。
このオプションは、INPUT ステートメントの実行時にアクティブ化される端末の音声アラーム機能を提供します。この機能を使用するには、対応するハードウェアが使用可能である必要があります。
[AND] [SOUND] ALARM |
セッションパラメータ IP(入力プロンプト)が IP=OFF に設定されていない限り、INPUT ステートメントで使用されるフィールドのフィールド名が、フィールド値の前に(フォームモード)、またはフィールドを選択するためのプロンプトキーワードとして(キーワード/デリミタモード)表示されます。このデフォルトのフィールド名は、'text' 要素(デフォルト名を置換)または '-'(デフォルトフィールド名の表示を抑制)をフィールド名の直前に指定することで上書きできます。
フィールドの位置、属性の割り当て、およびテキストの作成には複数の表記を使用できます。
構文要素の説明:
| 構文要素 | 説明 |
|---|---|
nX |
挿入オプション:
このオプションでは、n 個のスペースがフィールド間に挿入されます。 |
nT
|
タブオプション:
このオプションでは、位置 n を出力するように位置指定(タブ設定)されます。 |
x/y |
位置決めオプション:
次の要素を行 x の列 y から開始して配置します。y をゼロにすることはできません。同じ行で後方に位置指定することはできません。 |
'text' |
書き込み保護:
text が書き込み保護状態で表示されます。「テキスト表記」の「ステートメントで使用するテキストの定義」も参照してください。 |
'c'
(n) |
文字の繰り返し:
|
attributes |
表示属性:
表示に使用される属性。下記の「属性」を参照してください。 |
'-' |
マイナス記号:
フィールドの前に配置された場合、 注意: |
'=' |
等号:
フィールドの前に |
'/' |
スラッシュ記号:
フィールドまたはテキスト要素の間に配置した場合は、 フィールドの内容は、属性設定 例: INPUT #A (AD=A) #B (AD=O) #C (AD=M)
|
*IN, *OUT and *OUTIN |
フィールド属性定義:
それぞれ属性 注意: |
operand1 |
使用するフィールド:
Natural は、データエリアの各フィールドの内容を データベースフィールドの内容が データベースフィールドのグループの名前が 配列内のオカレンスの範囲に対する参照が行われた場合は、すべてのオカレンスが個々に入力フィールドとして処理されますが、プロンプトテキストは個々のオカレンスに対しては作成されず、最初のオカレンスに対してのみ作成されます。 メインフレームコンピュータでは、実行時にオカレンス数を変更できる、範囲による配列は指定できません。 |
parameter(s) |
パラメータ:
1 つまたは複数のパラメータをカッコで囲んで 指定した各パラメータは、その前に指定された ここで適用されるパラメータ設定は、変数フィールドにのみ関連し、テキスト定数には影響しません。テキスト定数にフィールド属性を設定する場合は、この要素に属性を明示的に設定する必要があります。 個々のパラメータの詳細については、「ステートメントのパラメータ」の表を参照してください。 注意: |
次の属性を使用できます。
|
|
|
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[]