ILE COBOL プログラムのディスプレイ・ファイルのためのサブファイルを使うには、入出力操作で SUBFILE 句を指定する必要があります。 有効なサブファイル操作は、次のとおりです。
サブファイルは、READ SUBFILE NEXT MODIFIED ステートメントを使って順次処理したり、相対キー値を指定してランダム処理したりすることができます。 相対キーは、ファイル中のレコードを検索するためにシステムが直接使用することのできる符号なし数値です。
TRANSACTION ファイルは、外部的に記述されたファイルでなければなりません。 ILE COBOL において、サブファイルへのアクセスは、READ SUBFILE NEXT MODIFIED を使用した場合を除き、相対レコード番号によってなされます。 TRANSACTION ファイルで SUBFILE 句を使用した場合、ENVIRONMENT DIVISION の SELECT ステートメントにおいて、ACCESS MODE IS DYNAMIC と記述し、RELATIVE KEY を指定しなければなりません。
ディスプレイ・ファイルが複数のディスプレイ装置を獲得している場合、各ディスプレイ装置ごとに別個のサブファイルが存在します。 TRANSACTION ファイルによって獲得された特定のディスプレイ装置のためにサブファイルが作成されている場合、 そのサブファイルのレコード様式を参照するすべての入力操作は、その装置に属しているサブファイルに対して実行されます。 サブファイルとして指定されていないレコード様式名を参照するすべての操作は、ディスプレイ装置に対する直接的な入出力操作として処理されます。
サブファイルの一般的な使用方法について表 28 にまとめています。
用途 | 意味 |
---|---|
表示専用 | ワークステーション・ユーザーが表示画面を見る。 |
選択して表示 | 表示画面上の 1 つの項目の詳細情報をユーザーが要求する。 |
修正 | ユーザーが 1 つまたは複数のレコードを修正する。 |
入力専用 (妥当性検査なし) | サブファイルはデータ入力機能として使われる。 |
入力専用 (妥当性検査あり) | サブファイルはデータ入力機能として使われ、同時にレコードが検査される。 |
複数のタスクの組み合わせ | サブファイルを修正可能な表示画面として使える。 |
....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+.... A* THIS IS THE DISPLAY DEVICE FILE FOR PAYUPDT ** PAYUPDTD A* ACCOUNTS RECEIVABLE INTERACTIVE PAYMENT UPDATE A* A A R SUBFILE1 SFL 1 A TEXT('SUBFILE FOR CUSTOMER PAYMENT' A* A ACPPMT 4A I 5 4TEXT('ACCEPT PAYMENT') A 2 VALUES('*YES' '*NO') 3 A 51 DSPATR(RI MDT) A N51 DSPATR(ND PR) A* A CUST 5 B 5 15TEXT('CUSTOMER NUMBER') A 52 4 DSPATR(RI) A 53 DSPATR(ND) A 54 DSPATR(PR) A* A AMPAID 8 02B 5 24TEXT('AMOUNT PAID') A CHECK(FE) 5 A AUTO(RAB) 6 A CMP(GT 0) 7 A 52 DSPATR(RI) A 53 DSPATR(ND) A 54 DSPATR(PR) A* A ECPMSG 31A O 5 37TEXT('EXCEPTION MESSAGE') A 52 DSPATR(RI) A 53 DSPATR(ND) A 54 DSPATR(BL) A* A OVRPMT 8Y 2O 5 70TEXT('OVERPAYMENT') A EDTCDE(1) 8 A 55 DSPATR(BL) 9 A N56 DSPATR(ND) A* A STSCDE 1A H TEXT('STATUS CODE') A R CONTROL1 TEXT('SUBFILE CONTROL') A SFLCTL(SUBFILE1) 10 A SFLSIZ(17) 11 A SFLPAG(17) 12 A 61 SFLCLR 13 A 62 SFLDSP 14 A 62 SFLDSPCTL 15 A OVERLAY A LOCK 16 A* A HELP(99 'HELP KEY') 17 A CA12(98 'END PAYMENT UPDATE') A CA11(97 'IGNORE INPUT') A* 18 A 99 SFLMSG(' F11 - IGNORE INVALID INPUT+ A F12 - END PAYMENT + A UPDATE')
A* A 1 2'CUSTOMER PAYMENT UPDATE PROMPT' A 1 65'DATE' A 1 71DATE EDTCDE(Y) A 63 3 2'ACCEPT' A 63 4 2'PAYMENT' A 3 14'CUSTOMER' A 3 26'PAYMENT' A 64 3 37'EXCEPTION MESSAGE' A* A R MESSAGE1 TEXT('MESSAGE RECORD') A OVERLAY A LOCK A* A 71 24 2' ACCEPT PAYMENT VALUES: (*NO *YES) DSPATR(RI)
サブファイル・レコード様式のデータ記述仕様 (DDS) は、サブファイルの中のレコードを次のように記述します。
サブファイル制御レコード様式は、サブファイル、検索入力フィールド、定数、およびコマンド・キーの属性を定義します。 使用されるキーワードは、次のものを示します。
サブファイル制御レコード様式は、制御情報に加えて、 サブファイル・レコード様式の列見出しとして使用される固定情報を定義します。 サブファイル制御レコード様式の例については 図 141 を参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.