ILE RPG コンパイラーは、IBM IBM WebSphere Development Studio for iSeries 製品の一部で、 新たに C/C++ コンパイラーおよび COBOL コンパイラーを組み込んだ アプリケーション開発ツールセットのツールの一部です。
V4R4 以降の RPG IV の主要な機能強化は、 Java とのインターフェースがより容易になったこと、新たな組み込み関数、自由形式演算仕様書、 オープン対象となるファイルの制御、修飾されたサブフィールド名、およびエラー処理の拡張です。
以下は、これらの拡張機能をリストしたものです。
このリリースでは、これ以外の拡張も行われています。これには以下のものが含まれます。
次の表は、影響を受けた言語の部分に基づいて、変更された言語要素および新 しい言語要素を要約したものです。
言語単位 | 要素 | 説明 |
---|---|---|
組み込み関数 | %CHAR(式{:形式}) | オプションである 2 番目のパラメーターには、使用したい日付、時刻、 またはタイム・スタンプの形式を指定します。 結果は、ここで指定された形式とセパレーターを使用し、入力データの形式とセパレーターは使用しません。 |
%PADDR(プロトタイプ名) | この関数は、その引数に応じて、プロトタイプ名または入り口点名のいずれかをとることが できるようになりました。 | |
定義仕様書キーワード | EXTPROC(*JAVA:クラス名:プロシージャー名) | これを指定すると、Java メソッドが呼び出されます。 |
EXTPROC(*CL:プロシージャー名) | プロシージャーが戻り値に ILE CL 規則を使用することを指定します。 | |
EXTPROC(*CWIDEN:プロシージャー名) | プロシージャーが、パラメーター拡大付きで ILE C 規則を使用することを指定します。 | |
EXTPROC(*CNOWIDEN:プロシージャー名) | プロシージャーが、パラメーター拡大なしで ILE C 規則を使用することを指定します。 | |
INZ(*LIKEDS) | LIKEDS キーワードを指定して定義されたデータ構造が、その親データ構造から初期化を継承することを指定します。 | |
LIKE(オブジェクト名) | オブジェクトが、別のオブジェクトと同じクラスを持つことを指定します。 | |
PREFIX(文字リテラル{:数値}) | 指定された文字リテラルでサブフィールドに接頭語を付け、オプションで指定された文字数を置換します。 | |
ファイル仕様書のキーワード | OFLIND(名前) | このキーワードは、任意の名前付き標識をパラメーターとしてとることができるようになりました。 |
PREFIX(文字リテラル{:数値}) | 指定された文字リテラルでサブフィールドに接頭語を付け、オプションで指定された文字数を置換します。 | |
命令コード | DUMP (A) | この命令コードは、DEBUG(*NO) が指定されていてもダンプが生成される、 A 拡張を新しく取ることができるようになりました。 |
言語単位 | 要素 | 説明 |
---|---|---|
データ・タイプ | オブジェクト | Java オブジェクトに使用されます。 |
コンパイラー指示 | /FREE ... /END-FREE | /FREE... /END-FREE コンパイラー指示は、自由形式演算仕様書ブロックを示します。 |
/INCLUDE | SQL プリプロセッサーによって展開されない点を除き、/COPY と同等です。 コピーされたファイルの中にある、ネストされたファイルを組み込むために使用できます。コピーされたファイルは、組み込み SQL またはホスト変数を持つことはできません。 | |
定義仕様書キーワード | CLASS(*JAVA:クラス名) | オブジェクトのクラスを指定します。 |
LIKEDS(データ構造名) | データ構造、プロトタイプされたパラメーター、あるいは戻り値が、 別のデータ構造のサブフィールドを継承することを指定します。 | |
QUALIFIED | データ構造内のサブフィールド名が、データ構造名によって修飾されることを示します。 | |
ファイル仕様書のキーワード | EXTFILE(ファイル名) | どのファイルをオープンするか指定します。値にはリテラルまたは変数を指定できます。デフォルトのファイル名は、ファイル仕様書の 7 桁目で指定されている名前になります。 デフォルトのライブラリーは *LIBL です。 |
EXTMBR(メンバー名) | どのメンバーをオープンするか指定します。 値にはリテラルまたは変数を指定できます。デフォルト値は *FIRST です。 | |
組み込み関数 | %ALLOC(数値) | 指定された容量の記憶域を割り振ります。 |
%CHECK(コンパレーター:基本{:開始}) | コンパレーターの中になく基本ストリングの中にある先頭文字を検索します。 | |
%CHECKR(コンパレーター:基本{:開始}) | コンパレーターの中になく基本ストリングの中にある末尾文字を検索します。 | |
%DATE(式{:日付の形式}) | 式を日付に変換します。 | |
%DAYS(数値) | 数値を日単位の期間に変換します。 | |
%DIFF(オプション1:オプション2:単位) | 2 つの日付、時刻、またはタイム・スタンプの値の間の差 (期間) を、指定された単位で計算します。 | |
%HOURS(数値) | 数値を時間単位の期間に変換します。 | |
%LOOKUPxx(引数:配列{:開始索引{:要素の数}}) | 指定された引数に近い引数、または指定されたタイプに近いタイプを、指定された配列内で検索します。 | |
%MINUTES(数値) | 数値を分単位の期間に変換します。 | |
%MONTHS(数値) | 数値を月単位の期間に変換します。 | |
%MSECONDS(数値) | 数値をマイクロ秒単位の期間に変換します。 | |
%OCCUR(データ構造名) | 複数オカレンス・データ構造の現在位置を設定するか、または入手します。 | |
%REALLOC(ポインター:数値) | 指定された容量の記憶域を、指定されたポインター用に再割り振りします。 | |
%SECONDS(数値) | 数を秒単位の期間に変換します。 | |
%SHTDN | システム・オペレーターがシャットダウンを要求しているかどうかをチェックします。 | |
%SQRT(数値式) | 指定された数値の平方根を計算します。 | |
%SUBDT(値:単位) | 日付、時刻、またはタイム・スタンプの値から、指定された部分を抽出します。 | |
%THIS | 代わりに固有メソッドが呼び出されたクラス・インスタンスに対する参照を含むオブジェクト値を戻します。 | |
%TIME(式{:時刻形式}) | 式を時刻に変換します。 | |
%TIMESTAMP(式 {:*ISO|*ISO0}) | 式をタイム・スタンプに変換します。 | |
%TLOOKUP(引数:検索テーブル{:代替テーブル}) | 指定された引数に近い引数、または指定されたタイプに近いタイプを、指定されたテーブル内で検索します。 | |
%XLATE(変換元:変換先:ストリング{:開始位置}) | 指定されたストリングを、変換元ストリングから変換先ストリングにもとづいて変換します。 | |
%YEARS(数値) | 数値を年単位の期間に変換します。 | |
命令コード | MONITOR | 条件付きエラー処理を持つ命令のグループを開始します。 |
ON-ERROR | 状況コードに基づいて、条件付きエラー処理を実行します。 | |
ENDMON | 条件付きエラー処理を持つ命令のグループを終了します。 | |
ELSEIF | ELSE 命令コードに IF 命令コードを続けたものと同等です。 | |
CRTBNDRPG キーワードおよび CRTRPGMOD キーワード | LICOPT(オプション) | ライセンス内部コード・オプションを指定します。 |
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.