Easytrieve Plus : 初期化処理の方法(ワーク・フィールド)
book
Article ID: 185870
calendar_today
Updated On:
Products
EASYPROCLIB
Easytrieve Report Generator
EASYTRIEVE REPORT GENERATOR FOR COMMON SERVICES
Show More
Show Less
Issue/Introduction
Question 初期化する命令はあるか?(ワーク・フィールド) 初期化処理の方法は?(ワーク・フィールド) 配列ワーク・フィールドの初期化は? RESETパラメータの使い方は? VALUEパラメータの使い方は?
Environment
z/OS, MSP, VOS3, IBM, FUJITSU, HITACHI
Resolution
Answer ワーク・フィールドとして定義された項目は、特に指定のないかぎり処理の開始時に1回だけフィールドの属性に合わせて初期化されます。処理の開始後、フィールドの初期化をしたい場合には処理の中でイクエート・ステートメント (「=」による移送)またはMOVEステートメントにより行います。 Easytrieve Plusは、数値フィールドを属性に合わせてゼロに、英字フィールドをスペースに初期化します。他の値で初期化したい場合は VALUE パラメータを使用します。 RESETパラメータを指定すると、JOBステートメントまたはSORTステートメントが実行されるたび(レコードの入力が行われるたび)に初期化されます。 複数JOBの場合、2番目以降のJOBでは自動的な初期化は行われませんので、その前のJOBでセットされた内容がそのまま有効となります。 [VALUEオプションの指定] [DEFINE] フィールド名 スタート位置 フィールド長 属性 VALUE 初期値 [RESETオプションの指定] [DEFINE] フィールド名 スタート位置 フィールド長 属性 RESET 注意: RESETオプションは、バージョン6.0 以降に有効なパラメータです。これ以前のバージョンの場合、または別のタイミングで初期化したい場合には、ロジック処理で対応します。 記述例 (例1) ワーク・フィールドを「0」または「スペース」で初期化する FLD-A W 3 A FLD-B S 3 P 上記、FLD-AはAタイプなのでスペースで、FLD-BはPタイプの0で処理開始時にそれぞれ初期化されます。 (例2) VALUEパラメータの指定により任意の初期値を設定する FLD-A W 3 A VALUE 'ABC' FLD-B S 3 P VALUE 1 上記、FLD-Aは「ABC」、FLD-BはPタイプの1で処理開始時にそれぞれ初期化されます。 (例3) RESETパラメータの指定でレコード入力のたびに初期化する FLD-A W 3 A RESET 上記、FLD-Aはレコード入力のたびにスペースで初期化されます。 (例4) VALUEパラメータとRESETパラメータとを併用し、レコード入力のたびに任意の初期値で初期化する FLD-A W 3 P VALUE 1 RESET 上記、FLD-Aはレコード入力のたびにPタイプの1で初期化されます。 注意:RESETパラメータはWタイプのワーク・フィールドに対してのみ指定できます。RESETパラメータは配列定義を行うOCCURSパラメータと同時に使用できますが配列の再定義フィールドには使用できません。 Easytrieve Plusの初期処理のクリアでは、 配列フィールドはOCCURSパラメータを指定した最上位のレベルの属性でクリアされます。再定義した場合、数値フィールドもスペースになっています。そのため、あらためてクリアする必要があります。
Additional Information
Old Japanese Knowledge document ID: JTEC000982
Feedback
thumb_up
Yes
thumb_down
No