V5R2 での変更点

次に、ILE RPG V5R2 における機能強化について説明します。

表 5. V5R1 以降に変更された言語要素
言語単位 要素 説明
組み込み関数 %DEC(式) 型を表す文字のパラメーターを取れるようになった。
%DECH(式)
%FLOAT(式)
%INT(式)
%INTH(式)
%UNS(式)
%UNSH(式)
定義仕様書キーワード DTAARA({*VAR:}データ域名) データ域名として、名前、'LIBRARY/NAME' を指定する文字リテラル、 または実行時に実際のデータ域を指定する文字変数を指定できる。
DIM データ構造の指定が可能。
LIKEDS サブフィールドの指定が可能。
EXTNAME(ファイル名{:外部レコード名}
{:*ALL|*INPUT|*OUTPUT|*KEY}
)
オプションの "type" パラメーターを使って、 外部記述データ構造の場合にどのタイプのフィールドを取り出すかを制御する。
定義仕様書 長さおよび小数点以下の桁数の入力 パック・フィールドおよびゾーン・フィールドでは、長さおよび小数点以下の桁数として 31 まで指定できる。
命令コード CHAINDELETEREADEREADPESETGTSETLL 自由形式演算では、演算項目 1 にキー値のリストを指定できる。
CHAINREADREADCREADEREADPREADPEUPDATEWRITE 外部記述ファイルまたはレコード様式で使用する場合は、 結果フィールドにデータ構造を指定できる。
UPDATE 自由形式演算では、 最後の引数に、更新するフィールドのリストを指定できる。
FEOD 命令拡張 N を指定できる。 これは、まだ書き込まれていないバッファーはデータベースには書き込む必要があるが、 必ずしもディスクには書き込む必要がないことを示す。
演算仕様書 長さおよび小数点以下の桁数の入力 パック・フィールドおよびゾーン・フィールドでは、長さおよび小数点以下の桁数として 31 まで指定できる。
表 6. V5R1 以降の新しい言語要素
言語単位 要素 説明
代入演算子 += -= *= /= **= 代入演算子を使用する場合、演算のターゲットは演算の第 1 オペランドでもある。
制御仕様書キーワード DECPREC(30|31) 表示の場合 (例えば、%EDITC および %EDITW) の 10 進数中間値の精度を制御する。
定義仕様書キーワード
LIKEREC(内部レコード名{:*ALL|
*INPUT|*OUTPUT|*KEY})
サブフィールドがレコード様式と同じであるデータ構造を定義する。
組み込み関数 %BITAND(式 : 式) オペランドの対応するビットが両方ともオンの場合にオンであるビットの結果を戻す。
%BITNOT(式) 引数のビットとは逆のビットの結果を戻す。
%BITOR(式 : 式) オペランドの対応するビットのいずれかがオンの場合にオンであるビットの結果を戻す。
%BITXOR(式 : 式) オペランドの対応するビットの 1 つだけがオンである場合にオンであるビットの結果を戻す。
%FIELDS(名前{:名前...}) 自由形式の UPDATE で、更新するフィールドを指定する場合に使用。
%KDS(データ構造) 自由形式のキー付き命令コード CHAIN、 SETLL、SETGT、READE、および READPE で、 操作のキーがデータ構造内にあることを示す場合に使用。