IBM、RPGおよびCOBOL開発を強化
先月、IBMがIBM iオペレーティング システム向けに発表した多種多様な機能強化の中には、EclipseベースのRational Developer for i(RDi)や、RPGおよびCOBOLコンパイラーが含まれるRational Development Studio for iなど、中核となる開発ツール向けのものが数多くありました。
まずは、Rational Development Studio for iのRPGおよびCOBOLコンパイラーから見て行くとしましょう。これらの戦略的なコンポーネントに対するアップデートは、RDiに対するアップデートに比べて頻度が少なめのようです。これは、RDiが他のオペレーティング システム向けの統合開発環境(IDE)と共通の基盤を持つことから、より頻繁にアップデートが行われることになるためです。
IBM iにおける最大の新しいRPG機能は、動的にサイズ指定される配列のサポートです。IBMは、IBM i 7.4で、可変次元配列を定義する新たなDIMキーワードを導入します。これによってプログラマーは、配列を使用するための強力な新しいツールを手にすることになります。高速に変化するデータセットに固定サイズの配列が対応できない環境では、特に有用です。
動的にサイズ指定される配列についてIBMがKnowledge Centerの記事で説明しているように、プログラマーは、DIM(*AUTO:maximum_elements)またはDIM(*VAR:maximum_elements)という2つのオプションを使用できます。その記事には、配列の次元を変更するためにプログラマーがどのような制御を行えるか、指標がどのように作成されるか、およびこの新機能の他の側面について詳細な情報が記されていますので、ご一読をお勧めします。
動的にサイズ指定される配列に関しては、いくつかの注意すべき点があります。Morris氏によると、現時点では、独立型のフィールドおよびデータ構造での使用に制限されているとのことです。また、現時点では、サブフィールドまたはパラメーターではサポートされません。Morris氏は、引き続きIBM i 7.4専用のままとなり、IBM i 7.3向けにPTFが提供されることはなさそうだと述べています。
また、IBMは、RPGコンパイラーに新たなSAMEPOSキーワードを追加しました。SAMEPOSキーワードは、サブフィールドを別のサブフィールドと同じ開始位置に置きます。この機能は、IBM i 7.3に追加されたものです。IBMのBarbara Morris氏がRPG Cafeブログの記事で説明しているように、SAMEPOSを指定して定義されたサブフィールドは、OVERLAYキーワードの場合とは異なり、オーバーレイされたサブフィールド内に収まる必要はありません。
「SAMEPOSキーワードは、複数の外部記述されたサブフィールドにわたって配列を定義するときに最も有用です」と彼女は記しています。
このSAMEPOSの機能は、数多くのIBM i開発者から好評を博しました。このような機能は、しばらくの間、多くの開発者から求められていました。開発者は、より洗練されたソリューションとしてSAMEPOSが提供している機能に、他の手法を使用することで近づけようとしていたからです。
また、プログラム状況データ構造(PSDS)への2つの新たなサブフィールドの追加により、7.2および7.3のRPGランタイムが強化されています。PSDSは、プログラマーが例外およびエラー情報の処理を指定できるようにするプログラムの一部分です。Morris氏のRPG Cafeの記事によれば、新たな2つのサブフィールドは、380~395桁目で指定できる「内部ジョブID」と、396~403桁目を占める「システム名」です。
IBM i 7.4の発表には、DATA-INTO命令コードなど、RPGに関連のある機能強化が他にもいくつか含まれていましたが、それらは発表以前にすでにリリースされていたものでした。
一方、COBOLに関してもニュースはあるのですが、ニュースがあること自体がニュースと言えるのかもしれません。COBOLは、IBM i開発者ベースのほんの一部を占めるに過ぎませんが、安定的な開発者ベースであり、IBMも折に触れて愛情を注いでいるようです。
具体的には、Rational Development Studio for iでは、いくつかの新しいステートメントによってCOBOLコンパイラーの強化が図られています。まず、「新しいALLOCATEステートメントは動的ストレージを取得します。これに対し、新しいFREEステートメントは、ALLOCATEステートメントで以前に取得された動的ストレージを解放します」とIBMは述べています。
また、新たなEXITステートメントには、2つの新しい形式が組み込まれました。1つはEXIT PERFORMステートメントで、もうひとつはEXIT PARAGRAPHまたはEXIT SECTIONステートメントを使用するオプションです。さらに、INITIALIZEステートメントに対しても機能強化が行われました。新しいFILLER句および新しいVALUE句が追加され、特定の編集されたデータ セットがサポートされるようにINITIALIZEステートメントが強化されています。
この他にも、COBOL関連のニュースはまだあります。IBM iのCOBOLコンパイラーには、SORTステートメントの新しいテーブル ソート オプションが追加されます。また、DEFINE、EVALUATE、およびIFディレクティブ、CRTBNDCBLおよびCRTCBLMODコマンドの新しいDEFINEパラメーター、および新しい浮動コメント標識など、条件付きコンパイルをサポートするために新しいコンパイラー ディレクティブが追加されます。
Rational Developer for i
RDiは、開発者がRPGおよびCOBOLアプリケーションを書くのに使用するEclipseベースのIDEです(もちろん、Java、C、C++アプリを書くのにも使用されます)。
IBMは、RDi 9.6.xでいくつかの(ほとんどはマイナーな)アップデートを行っています(厳密なバージョン番号はリリース時に付けられるようで、RDi 9.6.0.5のリリースは12月でした)。4月23日のIBM i 7.4およびIBM i 7.3 TR6の発表でも、アップデートされた項目がいくつかリストされています。
まず、IBM i 7.4での新たなILE RPG機能(上述の、動的にサイズ指定される配列など)が、検査プログラムおよび構文チェッカーでサポートされるとIBMは述べています。また、RPG ILEパーサーに、「不適切であるように見えるコードを検索し、見つかった異常について注釈付きで報告する機能」が追加されたとIBMは述べています。
IBMによると、SQLフォーマット機能が今回のリリースで改善されたということです。Access Client Solutions(ACS)とRDiの両方で使用できる新たなAPIが利用可能となり、また、新たな「スマート エンター キー」が有効になることで、より簡単に改行を行えるようになるとのことです。
SystemTextEditorsがIBM i接続およびメンバー プロパティを報告できるようにするAPIが追加されました。また、コマンド キーを使用してエディターの表示を拡大・縮小できるようになりました。さらに、フリーフォームRPGのコメントを、以前の命令コードから簡単に流用できるようにする機能が加わっています。
また、RDiのアウトライン ビューにToggleエディターが追加され、エディター内をナビゲートしながら、プロシージャーおよびサブルーチン名を表示できるようになりました。
また、IBMは、昨年RDiにリリースされたPDMパースペクティブの強化も行っています。新機能として新たなコマンド(Alt-F13)が追加され、メンバー オブジェクト ビューのオプション フィールドに表示されるオプションを繰り返し実行できるようになりました。また、新たな「エントリー アクション」を使用すると、一連のポップアップ コマンドを使用する代わりに、1つのパネルでオブジェクト テーブルのアクションを繰り返すことができます。
IBM i 7.4は、6月21日から一般に利用可能となる予定です。