V5R2 での変更点

以下に、V5R2 の ILE RPG における機能強化について説明します。
表 1. V5R1 以降に変更された言語要素
言語単位 要素 説明
組み込み関数 %DEC(式) 文字タイプのパラメーターを使用できるようになりました。
%DECH(式)
%FLOAT(式)
%INT(式)
%INTH(式)
%UNS(式)
%UNSH(式)
定義仕様書キーワード DTAARA( {*VAR: } データ域名) データ域名は、名前、'LIBRARY/NAME' を指定する文字リテラル、または実行時に実際のデータ域を判別する文字変数にすることができます。
DIM データ構造仕様書に使用できます。
LIKEDS サブフィールド仕様書に使用できます。

EXTNAME( ファイル名
{: 外部レコード名 }
{: *ALL|*INPUT |*OUTPUT |*KEY  }

)
オプションの「タイプ」パラメーターは、外部記述データ構造のどのタイプのフィールドを抽出するかを制御します。
定義仕様書 長さと小数部の桁数入力 パック・フィールドおよびゾーン・フィールドでは、長さおよび小数点以下の桁数として 31 桁まで指定できます。
命令コード CHAIN、DELETE、READE、 READPE、SETGT、SETLL 自由形式演算において、演算項目 1 をキー値のリストにすることができます。
CHAIN、READ、READC、 READE、READP、READPE、 UPDATE、WRITE 外部記述ファイルまたはレコード様式で使用される場合、データ構造を結果フィールドに指定できます。
UPDATE 自由形式演算において、最後の引数に更新されるフィールドのリストを入れることができます。
FEOD 命令拡張 N を使用できます。これは、書き出されていないバッファーをデータベースが使用できるようにする必要があるが、 必ずしもディスクに書き出す必要がないことを指定します。
演算仕様書 長さと小数部の桁数入力 パック・フィールドおよびゾーン・フィールドでは、長さおよび小数点以下の桁数として 31 桁まで指定できます。
表 2. V5R1 以降の新しい言語要素
言語単位 要素 説明
代入演算子 += -= *= /= **= これらの割り当て演算子を使用する場合、演算のターゲットも演算の第 1 オペランドになります。
制御仕様書キーワード DECPREC(30|31) %EDITC および %EDITW などの場合に、提示する 10 進数の中間の値の精度を制御します。
定義仕様書キーワード

LIKEREC (内部レコード名 {:*ALL|
*INPUT|*OUTPUT|*KEY })

サブフィールドがレコード様式と同じであるデータ構造を定義します。
組み込み関数 %BITAND(expression : expression) オペランドの対応するビットが両方ともオンである場合、ビットがオンである結果を戻します。
%BITNOT(式) ビットが引数内のビットの逆である結果を戻します。
%BITOR(expression : expression) オペランド内の対応するビットのいずれかがオンである場合、ビットがオンである結果を戻します。
%BITXOR(expression : expression) オペランド内の対応するビットのちょうど 1 つがオンである場合、ビットがオンである結果を戻します。
%FIELDS(name {:name... }) 自由形式の UPDATE で、更新するフィールドを指定する場合に使用。
%KDS(data structure) 自由形式のキー付き命令コード CHAIN、 SETLL、SETGT、READE、および READPE で、 操作のキーがデータ構造内にあることを示す場合に使用。