RPG開発者のためのIBM i モダナイゼーション入門!
RDi とWeb APIで新しい開発の世界を楽しもう - 第 2 回 -
RDiの基本機能について
出村:「前回は、RDiを他のツールと比較しながらRDiの概要を説明し、RDiをおすすめする理由として、既存のRPG資産を活かしながらIBM i モダナイゼーションをしていくことに最適なツールというお話しをしました。実際にRDiをインストールしてIBM i にも接続できましたね。」
松田:「ええ、簡単にインストールとIBM i への接続ができました。RPGソースも開けましたが、デフォルトの画面は英語なのですね。」
日本語環境設定について
出村:「RDi9.6ではデフォルトで日本語メニューが表示されます。RDi9.8ではFixの適用、アップグレードを以って日本語環境の使用が可能になります。ただし、一度にアップデートする方法が上手くいかない場合は、9.8.0.1→9.8.0.2→9.8.0.3のように順を追ってアップデートする必要があります。」
渡邊:「そうなんですね。では、今回は順を追ってソフトウェアのアップデートを実施してみましょう!」
※手順は、本編最後「次回予告」前に添付のPDFをご覧ください。
松田:「英語は大好きな言語ですが、ツールの画面はやっぱり日本語の方が解りやすいですね。ところでRDiって様々なメニューやツール、画面エリアが一つのインターフェースの中にありますね。どこから理解すればいいのだろう、、、」
渡邊:「Eclipseと同様のインターフェースなので私はあまり違和感はないのですが、IBM i での開発向けに様々な機能がある印象です。確かにIBM i 向けの操作や設定など事前の理解が必要そうです。」
出村:「そうですね、RDiは機能も豊富で、色々な情報を一つのインターフェースで見つつ、カスタマイズできることがメリットの一つですが、初見では難しく感じるところもあるかもしれませんね。今回は、実際にRDiを使い始めるための基本機能を操作していきましょう。」
松田:「ありがとうございます。まずはRDiのインターフェースですがメニューバー、ツールバー、管理ビュー、エディタエリア、情報エリアがありますね。」

渡邊:「なるほど、そのようにRDiインターフェースを理解しておけば、何をするところなのかイメージが付きやすくなりますね。RPGの開発をするには、まずライブラリやソースファイル、メンバーを選ぶことになるので、管理ビューを理解する必要があるのですね。」
出村:「そのとおりです。管理ビューでは「リモートシステムエクスプローラー(RSE)」という機能を使って、IBM i の操作をします。IBM i に接続はできていますので、まずは作業ライブラリーおよびソースメンバーの選択から始めてみましょう。」
-
ライブラリー、メンバー選択
左メニューの「オブジェクト」配下にある「ユーザーライブラリー」を選択します。
自身のライブラリーを選択すると、保管されているメンバーやファイルが参照可能です。
編集したいメンバーを右クリックして、「アプリケーションから開く」>「リモート・システムLPEXエディタ」から開きます。今回は、BELLSRC.FILEの中のメンバー「BSYE010R.RPGLE」を編集します。
-
エディタ画面について
~ 画面編 ~
出村:「早速RPGⅣのソースファイルを開いてみましょう。」
松田:「ツリー構造になっているから、分かりやすいですね。SEUと同じように使えるのですか?」
出村:「基本的な操作は同じようにできます。F4でプロンプトを出したり、行の追加(I)・コピー(C)(RP)・移動(M)の操作もできますよ。例えば、ソース内にて IPC と入力すると...」
※写真内の赤枠部分です。 出村:「C仕様書の1行分が追加されます。」
渡邊:「これならSEUに慣れている人も安心ですね。それどころか、演算項目や結果フィールドなど各パラメータ入力すべき値が色分けされ、明確で分かりやすいですね。」
~ F4プロンプト機能編 ~
出村:「SEUに慣れている方向けの便利機能をあと2つほど紹介します。特にRPG言語のコーディング中は、固定長の時に桁位置を意識する必要がありますよね。そこでF4キーが登場します。」
松田:「F4キーでプロンプトを表示すれば、どのパラメータに何を入れればよいかわかりますね!」
出村:「そうです。実は、RDiでも同様にF4キーでプロンプトが表示できます。これで、容易にパラメータ「10進数の桁」に対して必要な数値を入れることが可能です。」
渡邊:「これならSEUのように桁位置も間違えずに編集できますね!」
~ F1ヘルプ機能について ~
出村:「F1のヘルプ機能も5250画面同様に使用出来るんです。」
渡邊:「演算命令「PLIST」の下にカーソルを合わせてF1で、ヘルプ画面を表示してみました。英語表記ではあるものの、確かにPLISTという命令文自体の説明が表示されていますね。これなら、ネットで検索する手間も省けるというわけですね。」
~ 画面分割機能、複数参照(ソースファイル、画面ファイル等)→ タブの切替について ~
出村:「その他にも、エディタ画面では1つのソースファイルを複数分割で表示することができます。操作方法は、Ctrl+2です。」
渡邊:「複数分割機能で、ソース前半を見ながら、もう一方で開発ということができますね。これは便利ですね。」
出村:「もちろん、一方のビューで変更を加えれば、もう一方にも反映されますよ。さらには、一度にソースファイルや画面ファイルを表示してタブで切り替えるということも可能なんです。」
松田:「これなら、参照する画面ファイルを見ながらRPGのコーディングが容易にできますね!SEUでは複数セッションを開く必要があったのでタブのみで切替えられるRDiは魅力的ですね!」
-
フィルターの作成方法
出村:「エディタ画面の基本操作が理解できたようですね。管理ビューのリモートシステムエクスプローラーに戻りましょう。こちらにもいくつか基本操作として理解しておくべきものがあります。」
松田:「さきほどのリモートシステムエクスプローラーでのライブラリー選択について、ライブラリーを都度選択しても良いと思うのですが、確か便利なフィルター作成の機能があったような...」
渡邊:「あります!フィルター作成をしておけば、RDiを開いた際にすぐに作業環境にたどり着けるんですよね。それとライブラリー・リストも設定できますよね。5250画面ではよく失念してしまい、コンパイルエラーになっていました。」
松田:「それでは、まずはフィルター作成を操作してみます!」
「ライブラリーの処理」を選択し、ライブラリー名に任意のライブラリー指定して、「Next>」で次ページに進みます。
フィルターに任意の名前を付けて、Finishを選択します。
「正常に作成された」というメッセージとともに、新規でフィルターが作成されたことを確認します。
渡邊:「ライブラリーだけではなく、ソースファイルでもフィルターできるので、自分の使い方に合わせて便利にカスタマイズできますね!」
-
ライブラリー・リストの変更
出村:「次に、渡邊さんから話のあったライブラリーリストですが、SEUで開発するときにはEDTLIBLコマンドなどでライブラリーリスト設定しますが、RDiでは2つの設定方法があります。1つ目の方法ですが、RDiを起動するたびに自動セットする方法です。」
松田:「自動セットですか!EDTLIBLはつい忘れがちなので、ありがたい機能ですね。」
接続先ホストを右クリックして「Properties」をクリック
「サブシステム」をクリックして、ライブラリーに追加したいライブラリーを入力、「追加」をクリックして、「Apply and Close」をクリック
ライブラリー・リストに追加したライブラリーが登録されたことを確認する
出村:「2つ目の方法は、今回の接続(ジョブ)に限り有効な方法です。」
渡邊:「開発の時にその日だけ使いたい時に使えますね。エミュレーターと同じ動きですね。」
「ライブラリー・リスト」を右クリックして、「ライブラリー・リスト項目の追加」をクリックします。
追加ライブラリーにリストに追加したいライブラリー名を入力して、リストの先頭、リストの終わり、ライブラリーの後、ライブラリーの前、置き換えのいずれかにチェックを入れて「OK」をクリックします。
松田:「簡単にセットできるのですね。これで使いやすくなりますね。」
出村:「RDiの便利なところはまだまだあります。早速、プログラムのソース編集をやってみましょう。RPGⅢとRPGⅣで動きが異なる所があるので、注意が必要です。」
渡邊:「今RPGⅣを学んでいますが、過去の資産となるとRPGⅢも使いますね。承知しました。今回のソース編集は、RPGⅣで実施してみます!」
ソース編集
出村:「環境の準備が整いました。早速、既存のソースを編集してみましょう。先ほど利用した、BSYE010R.RPGLEにソースを追加します。追加する箇所と追加する内容は以下の通りです。挿入モードを使うと、Iを入力しなくても追記できますよ。」
追加する箇所

追加するソースの内容

挿入モードへの切り替え
アイコンをクリックすることで、挿入モードと置換モードを切り替えることができます。

出村:「F4でソースプロンプタを開いて、挿入モードに変更、行タイプを「C:演算」に変更すると、C仕様書を追加できます。入力が終わったら、適用かENTERキーで挿入されますよ。」

渡邊:「挿入モードは便利ですね。」
松田:「やってみます。演算命令はプルダウンから選択のみですか?選択肢がたくさんあるので、時間がかかってしまいますね。」
出村:「直接入力もできますよ。」
松田:「なるほど、直接入力であれば、早いですね。追加のソース入力できました!」

出村:「編集が終わったら、Ctrl+Sで内容を保存して完了ですね。次はコンパイルです。」
コンパイル
出村:「コンパイルを行う前に、コンパイルの設定を変更しましょう。デフォルトではバッチで実行されてしまうので、対話式に変更です。」
ウィンドウ→設定をクリックして設定ウィンドウを開きます。
「リモートシステム」→「IBM i 」→「コマンド実行」を開き、「バッチでコンパイル」のチェックを外して、「適用して閉じる」をクリックします。

渡邊:「バッチ実行がデフォルトなのですね。」
出村:「バッチ実行すると、この後説明するエラーリストが表示されませんからね。では、コンパイルしましょう。」
リモートシステムビューで、該当ソースメンバーを右クリック(ここでは「BSYE010R.rpgle」)し、コンパイルの「CRTBNDRPG」をクリック

松田:「コンパイルします!あ、エラーリストに切り替わって、コンパイルエラーが表示されました。」

出村:「RNF7030をクリックすると問題箇所に移動しますよ。」

松田:「変数名のタイプミスでした。P2BPGMNNではなく、P2BPGMNMでした。」
出村:「ソースプロンプターのタブをクリックして、修正し、保存して、再度コンパイルを行うんです。」
松田:「修正して、コンパイルしました。エラーが無くなり、プログラムが生成されました!」

渡邊:「コンパイル時のエラー対応もSEUに比べて早いですね。SEUだとコンパイルリストのスプールファイルを確認して、ソースに戻って編集してコンパイルですもんね。」
出村:「その通り!今回はいきなりコンパイルをしたけど、RDiにはソース検査機能もあるんです。もう一度、修正部分を元に戻して、今度はソース検査をやってみましょう。」
ソース検査
松田:「修正箇所を戻して、保存しました。」
出村:「ソース検査は「Ctrl + Shift + V」で実行してもいいですし、Sourceメニューから「Ctrl + Shift + Vの検証」を実行でも同じことができます。ただ、RPGⅢではこの機能は使えません。」
渡邊:「あ、コンパイルと同じ結果がエラーリストに出ましたね。この機能を使えば、コンパイル前に修正できますね。RDiは便利ですね。」

コンパイル後の確認
出村:「コンパイルが終わったら、コマンド・ログを確認しましょう。「コマンドログ」のタブで確認できますよ。」
松田:「コンパイルが成功して、プログラムが作成されていますね。コマンドの実行結果もすぐに確認できますね。」

出村:「最後に、プログラムが作られているか確認ですね。ライブラリーを右クリックして更新しましょう。」

渡邊:「プログラム「BSYE01R.PGM」ができあがっているのを確認できました。」

Activation Keyの適用方法
出村:「ここまではRDi評価版(試用版)を使っていましたが、今度はActivation Key(License Key)を適用してPermanentライセンスに変えたいと思います。」
渡邊:「Permanentライセンスに変えるには、キーの購入が必須ですね。」
松田:「キー購入後は、具体的に何をするのですか?」
出村:「Activation Keyと呼ばれるライセンスキーをダウンロードして、RDi上で適用するんです。」
Activation Key適用手順は下記をご参照ください。( ※RDi 評価版の有効期間は120 日間となっております。)
RDi_Activation Key適用手順.pdf
適用時の動画がYoutubeに公開されていますので、こちらもご参考ください。
「How To Install P2 Authorized User Activation Kit for IBM Rational Developer for i version 9.8」( ※「Steve Ferrell RDi Videos」より引用 )
https://www.youtube.com/watch?v=XE5ZObicsAQ
日本語環境への設定手順 RDi9.8_日本語環境への設定手順.pdf
次回予告
出村:「今回はRDiの基本的な操作方法を紹介しました。」
松田:「基本機能がRPGⅢでもほとんど同じように使えるのであれば、既存のプログラムの修正もやりやすいと思います。」
渡邊:「RDiは、RPGⅢもRPGⅣ、フリーフォームRPGにも対応しているのが大きなメリットですね!」
出村:「RDiにはまだまだ機能が沢山あります。特にRPGⅣやフリーフォームRPGでの開発には便利な機能がありますので、次回はRDiを使うとここが便利!という話をしながら、便利機能について紹介しようと思います。」
松田:「今回の内容だけでもSEUよりも便利だと思いました。次回が楽しみです。」
渡邊:「私もIBM i での開発のハードルが下がりました。次回もよろしくお願いします。」
次号へつづく

出村 宏志
ベル・データ株式会社 アプリケーションビジネス本部DX推進部
1995年ベル・データ㈱に入社
1999年より約15年ほどIBM i のインフラエンジニアを経験し、その後アプリケーション開発に従事。キャンプで焚火をしながらボーっとするのが最近の楽しみです。

渡邊 隆
ベル・データ株式会社 アプリケーションビジネス本部DX推進部
ネットワーク、オープン、セキュリティ、DX関連のプリセールス、構築、サポートを経て、現在はDX推進部に所属。工場DXソリューションを担当しながら、初挑戦のIBM i に格闘中。休日は、クラッシックピアノの練習や仲間との弾き合い会を楽しんでいます。

松田 三奈
ベル・データ株式会社 アプリケーションビジネス本部DX推進部
新卒よりインフラエンジニアとしてPowerサーバーのリプレイスに従事し、現在はDX推進部に所属。休日は、カフェ巡りや旅行など天候に関わらず外に出てアクティブに活動することが好きです。
あわせて読みたい記事

RPG開発者のためのIBM i モダナイゼーション入門!
RDi とWeb APIで新しい開発の世界を楽しもう - 第 2 回 -

IBM i のシングルサインオンで実現するアカウント管理の効率化 - BELLNET会員限定:IBM i 勉強会 -

RPG開発者のためのIBM i モダナイゼーション入門!
RDi とWeb APIで新しい開発の世界を楽しもう - 第 1 回 -
