デフォルトでは、RPG コンパイラーは次の条件が一致した時に、 入力レコードを非ブロック化し、出力レコードをブロック化して、 SEQ または DISK ファイルにおける実行時のパフォーマンスを向上 します。
RPG コンパイラーは、 上記の条件を満たすすべての SEQ または DISK ファイルのレコードをブロック化および非ブロック化するための、 オブジェクト・プログラム・コードを生成します。 特定の i5/OS システム制約事項により、ブロック化および非ブロック化が妨げられることがあります。 その場合には、パフォーマンスは改良されません。
ファイルのファイル仕様書にキーワード BLOCK(*YES) を指定することによって レコードのブロック化を明示的に要求することができます。デフォルトのレコードのブロック化と ユーザーが要求したレコードのブロック化との相違点は、入力ファイルに BLOCK(*YES) が指定されている時には、入力ファイルで命令 SETLL、 SETGT、および CHAIN を使用することができ (上記の 3c に示されている条件を参照)、ブロック化が行われる ことです。BLOCK キーワードが指定されておらず、これらの命令を使用した場合には、 レコードのブロック化は行われません。
また、ファイル仕様書にキーワード BLOCK(*NO) を指定することによって デフォルトのレコードのブロック化を 防止することができます。 BLOCK(*NO) を指定した場合には、コンパイラーによっても、データ管理によっ てもレコードのブロック化は行われません。キーワード BLOCK が指定されていない場合には、 デフォルトのブロック化が 上で説明したとおり行われます。
ファイル情報データ構造の入出力および装置固有のフィードバックは、 レコードが RPG コンパイラーによってブロック化および非ブロック化されるファイル の各読み取りまたは書き出し後に (ブロック読み取りでの RRN およびキー情報を除く)、 更新されません。 フィードバック域は、レコード・ブロックが転送されるたびに更新されま す。 (ファイル情報データ構造について詳しくは 、「WebSphere Development Studio: ILE RPG 言語解説書」を参照してください。)
ファイルのブロック化および非ブロック化を防止することによって、有効な 更新フィードバック情報を獲得することができます。 ブロック化を防止するためには、次の方法の 1 つを使用してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.