お役立ち記事
RDi: 開発者向けツールの新しい展開


img_trend04_01
先日、IBMはRDi V9.5用のFix Pack 3 をリリースしました。 今回のリリースに際し、これまでの経緯を踏まえ、大部分はバグ修正と想像していたこともあり、リリース直後にインストールすることは見送りました。しかし、後日midrange.com (RDiについてアドバイスがもらえる素晴らしいところです) のWDSC-L メーリングリストのメンバーによる、RDiの新機能に関するコメントを見つけ、このリリースについて調査してみることにしました。

そこでわかったのが、RDiの開発が興味深い方向に向かっていること。RDi内部から Access Client Solutions (ACS) ツールセットの機能のいくつかにアクセスできるように改修されていました。ACSツールを実際に見たことがない方に向け説明すると、このツールセットは私たちが長い間利用してきた旧IBM i Access for Windowツールを置き換えたものです。ACSへ乗り換える理由はいろいろありますが、RDiとの統合はまさにその理由のひとつと言えます。さらに、統合したバージョンに今後、より多くの機能追加が見込まれます。IBM社内のRDiとACSの両開発チームが同じ方向へ舵を切ることで、密接な機能の統合に至ったのだと思われます。理由はどうあれ、「あっぱれ!」なことです。特に、埋込型SQLユーザーにとってこの統合は朗報と言えるでしょう。

RDi V9.5.0.3と統合されたACSツールは、「Run SQL Scripts」と「Printer Output」の2本です。それぞれの機能については後ほど詳しく説明していきますが、修正パックでは、以下の改善が含まれます。なお、今回の修正に関し、ACSの5250機能実装を期待した方もいるでしょう。しかしながら、RDiチームはすでに初期V9.5リリースと合わせて提供されたツールセットに5250エミュレータを完全に統合しているので、同じことを繰り返す意味はない、という判断をしたものだと推測されます。

Run SQL Scriptsについて

「Run SQL Scripts」の統合は、とても刺激的なニュースと言えるでしょう。「ソース」メニューから「Launch Run SQL Scripts」を選択すれば利用することができます。ソース中で現在ハイライトされているテキスト全てが、自動的にRun SQL Scriptsウィンドウの中にコピーされます。この関数呼出し前にSQLコードをハイライトしておけば、再入力やコピー&ペーストの手間が省けます。
RPGプログラムに埋め込まれたSQLコードの大半ではホスト変数を使用しており、「Run SQL Scripts」内でこれを実際に実行する前に、これら変数を置換するため、コードを編集する必要があります。同様に、新しいSQLに変更を加えてプログラム中にコピー&ペーストしたい場合、ホスト変数を手作業で差し戻す必要もあるでしょう。

ACSの「Run SQL Scripts」未経験の方がこのツールを使えば、思わず歓喜の声を上げるかもしれません。SQLは今や、RDiエディタ内と同様、タグごとに色分けされるようになりました。そのため、従来のモノクロ表示よりも簡単にシンタックスエラーを見つけ出せるようになりました。
さらに、Visual ExplainもACSツールに追加される予定と言われています。これが追加されれば旧式のIBM i Accessともいよいよ決別の時と言えます。ACSは、Mac上でネイティブに動作するので、これも大きな改善です。あとは、IBMがRDiをMac上でもネイティブに動作するように改修してくれれば、もう言うことはないでしょう。

しかし、現行のサポートでは不思議なことに、このメニューオプションがSQL RPGソースメンバーでしか利用できません。なぜ、SQL COBOLメンバーや、SQLタイプのメンバーには動作しないのか、その理由は不明瞭です。短期的に解決すればいいのですが、結局、RPGコード内でSQLをパースする方法ことしかできないエディタに問題があるとは思えません。実際、ハイライトされたコードは、不正なSQLの場合でも、問題なくスクリプトウィンドウの中にコピーされています。

Printer Outputについて

Printer Outputウィンドウは、「Remote Systems Explorer」 (RSE)ビュー内の「Spooled Files」サブシステムから「Launch Printer Output」を選んで起動します。その際、このPrinter Outputウィンドウが、メインのSpooled Filesエントリーからしか利用できないことに十分留意ください。
そして、すでに存在する可能性があるSpool Filter、さらには、My spooled filesエントリーで事前に定義されている場合でも同様に利用できません。ACSスプールリストは、至って普通でカラムを整理する能力以外の新しいオプションがほとんど存在しませんが、ネイティブのRDi Spooled Filesサブシステムと比べspool fileグループをダウンロードする操作がとても簡単になりました。

新機能、改善された機能について

この修正パックで気に入ったもう一つの特長は、既存機能の拡張である「Show Block Nesting」です。従来、この機能を (コンテクストメニューかCtrl+Shift+Oショートカットで) 呼び出した場合、先頭または最後のブロックに対応するステートメント上にカーソル (例えば、If, Select, BegSR, EndIf, EndSL, EndSRなど) がなければ「Matching statement not found」メッセージを出力して本リクエストは終了していました。

今回の修正パックでは、開始ステートメントあるいは終了ステートメント上にカーソルが存在しない場合、現在のサブルーチンまたはプロシージャ全体のblock nestingを表示します。さらに、エディタのメッセージ行に当該サブルーチンの名前を目立つように表示し、自分の作業しているところがどこなのか、正確に伝えてくれます。IBMのサイト上 では、この機能がどう動作するか、詳細と図で把握することができます。その際、IF ブロック内のElseステートメントが呼び出されることには注意が必要です 。)しかし残念なことにサブルーチンまたはサブプロシージャの中でなければ、従来のメッセージ動作となります。この状況に対し、代替案を提案できる状況になり次第、IBMに対し改善要望(RFE)(機能拡張要望)をだし、変更を願い出たいと考えています。(RFEプロセスの詳細は以下でも触れます。)

埋込型SQLユーザー向けのもう一つ改善されたのが、ヘルプのサポートです。埋込型SQLステートメント上でF1を使用すると、DB2 for i SQLのリファレンス・マニュアルが立ち上がり、SQLステートメントページの位置に移動します。以前はフリーフォーマットのRPGソース行のヘルプが得られるだけでした。本修正パック用のドキュメンテーションには、埋込型SQL向けにヘルプのサポートを改善する第1ステップであると表明されています。引き続き、サポートの改善を期待していきたいところです。

多くの人が便利だと感じられるもう一つの新機能は、UIMソースが色分けになったことです。これは、RDiユーザーの改善要望(RFE)をきっかけに追加されることになった、小さいながらも重要な機能でしょう。上記のShow Block Nestingのサポート、そしてここでは触れなかった他の改良についても同じことが言えます。(完全なリストへのリンクは、以下を見てください)。これは、RDiのチームメンバーがユーザーの意見に耳を傾けている証拠です。だからこそ、先述のように、RDiでどんな新機能、機能改善が重要だと考えるか、ご自身の意見をIBMに伝えていきましょう。そ発信は単に改善アイデアを伝えるというだけでなく、IBMによる改善の優先度付けを手助けをすることにもなります。RFEプロセスをしっかり把握し、自身が貢献できる重要な役割をもっと認識 しましょう。
なお、最近のRDi RFEを閲覧していなければ、本記事は、特にRDi製品用のRFEの位置づけおよび/またはRFEの検索に対して行われた変更を指していることに留意が必要です。

新機能と修正の一覧は、こちら をご覧ください。興味深いものだけピックアップしています。ご自身の気になった新機能や修正がどれなのか、ぜひ自分の目で確認してみてください。

項目のいくつかは、やはりバグ修正にとどまります。IBM iエンジニアを悩ませ続けた、「フィルター選択」の際に2回クリックが必要となるバグはようやく解消されました。今回のリストとRFEを照らし合わせることで、どれだけのRFEにIBMが応えたのかがわかります。RFEの元の詳細もRFEページを経由して見ることができます。「Search」タブの下にある「Search by IDs」に、例えば RFE77454を探す場合は77454でサーチしてください。RFE ID番号の前の文字を取り除いて検索することで詳細情報を閲覧することができるはずです。

今後の進化により期待が高まる

最後に、今回のアップデートならびに先日の統合を無事完遂した、RDi開発チームとACS開発チームに深く、敬意を表します。RDiチームが今後、ロチェスター・チームの一員としてよりよりサービスへIBM iを進化させていくことを期待してやみません。また、私たちエンジニアも引き続き、RFEの提出を通じ、その進化を支えていければと思います。
(ちなみに、Run SQL Scriptsサポートにおいて、エディターから使用される場合にホスト変数を受け入れ、当スクリプト実行時に変数の値を提供することができていれば、今回のアップデートはより望ましい結果になったことでしょう。)

====================
本記事は「IBM Systems Magazine」の許諾のもと、原文を日本語化するとともに、一部再編集したものとなります。原文をご覧になりたい方は下記よりアクセスしてください。

原文タイトル: RDi: New Developments with Developer Tools
原文著者: Jon Paris, Susan Gantner

関連キーワード