MENU

Code for IBM i その全貌:Part 5 Code for IBM i以外の便利な拡張機能 ~CL、RPGLE、IBM i Notebooksを解説

ここまでCode for IBM iの使い方を解説してきたが、これ以外もIBM iのプログラム開発をするにあたって便利な拡張機能があるので、それをここで一気に紹介しておこう。

■ CL

CLPおよびCLLEのソースコード編集時に、以下の機能を提供する拡張機能。

・CLコマンド入力時のコード補完機能
・アウトライン

この拡張機能をインストール後、最初にIBM iに接続すると図表49のメッセージが右下に表示される。

図表49 CLプロンプト・ツールのインストール確認
図表49 CLプロンプト・ツールのインストール確認

ここでYesをクリックすると、ILEDITORライブラリに必要なプログラムなどがインストールされる。このコンポーネントをインストールしておかないとCLコマンドのコード補完機能は使用できないので注意しよう。また、上記画面はしばらくすると消えてしまうので、そうなった場合や間違えてNoをクリックした場合などは、再接続を行うと再表示される。

では、コード補完機能から見ていこう。CLプログラムを作成する場合、SEUではコマンド入力の際にプロンプト機能を利用することができた。これと同等の機能を提供してくれるのが、このコード補完機能だ。

まず、入力したいコマンドを入力したあとでスペース・キーを押すと、代表的なパラメータの候補およびすべてのパラメータを挿入するオプションが表示される(図表50)。

図表50 全パラメータ挿入
図表50 全パラメータ挿入

すべてのパラメータを挿入するAll parametersをクリックすると、すべてのキーワードが挿入される(図表51)。

図表51 全キーワード挿入
図表51 全キーワード挿入

キーワードによってはカッコ内でCtrl + スペース・キーを押すことで、入力可能な候補が表示される。この機能を使用すれば、CLプログラムのコーディングもほぼ問題なくVSCodeでできるのではないだろうか(図表52)。

図表52 入力候補の表示
図表52 入力候補の表示

さらに、SEUにはないアウトラインもサポートされる。アウトラインとは、CLプログラム内のファイルや変数の一覧、サブルーチンなどの一覧を表示してくれる機能だ。さらに、アウトライン・ビュー内で項目をクリックすると、ソースコードの該当位置にカーソルが移動するので、ステップ数の多いプログラムであればあるほど便利な機能と言える(図表53)。

図表53 アウトラインの表示
図表53 アウトラインの表示

■ RPGLE

RPGLEのソースコード編集時に、以下の機能を提供する拡張機能。

・入力時のコード補完機能
・アウトライン
・定位置記入形式の入力サポート(RPGLE)

コード補完機能は、FF RPGのコーディングの際に便利に使える機能だ。関数入力や、RPG 命令の入力時に候補を表示してくれる。

たとえば、if命令の後で%fまで入力すると、関数の候補が表示される(図表54)。

図表54 関数の候補表示
図表54 関数の候補表示

ここで入力したいのが%foundだとしてそれを選択すると、入力すべき内容を含めて図表55のように挿入される。

図表55 %found選択結果
図表55 %found選択結果

また、forと入力すると候補が図表56のように表示される。

図表56 forの候補表示
図表56 forの候補表示

一番上のforを選択すると、図表57のようにendforまで含めてコードが挿入される。

図表57 forの選択結果
図表57 forの選択結果

また、CL拡張機能と同様にアウトライン機能も提供されている(図表58)。

図表58 アウトラインの表示
図表58 アウトラインの表示

VSCode + Code for IBM i で開発を行っていると、コマンドや SQL を VSCode 内で実行したくなるが、それを実現してくれるのが IBM i Notebooks 拡張機能だ。

■IBM i Notebooks 拡張機能

どのようなことができるかは実際見たほうが早いと思う。IBM i Notebooks 拡張機能をインストール後、拡張子が inb のファイルを作成する(リモートでもローカルでもよい)。すると以下のようなノートが作成される(図表59)。

図表59 作成されたノート
図表59 作成されたノート

では、テーブルのフィールド情報を表示するコマンド DSPFFD を実行する手順を見ていこう。まず 作成されたノートの上部にある + コード をクリックすると、青枠で囲まれたブロックがノートに挿入される(図表60)。

図表60 ノートに挿入されたブロック
図表60 ノートに挿入されたブロック

ブロックの右下に SQL とあるので、この状態は SQL コマンドを入力して実行できるが、今回はコマンド DSPFFD を実行したいので、SQL という文字をクリックする。すると上部に以下のような選択肢が表示される(図表61)。

図表61 選択肢が表示される
図表61 選択肢が表示される

ここで CL を選択すると右下も CL に変わる。では、コマンドを入力してみよう。左側の再生ボタンをクリックするとコマンドが実行される(図表62、図表3)。

図表62 コマンドの実行
図表62 コマンドの実行
図表63 コマンドの実行結果
図表63 コマンドの実行結果

実行結果をクリアするには、結果が表示されたセルの左側の … をクリックし、セルの出力をクリアする を選択する。

では、SQL の SELECT ステートメントを使用してデータの中身を見てみよう。左上の + コード をクリックして別のブロックを挿入する。右下を SQL に変更して SELECT ステートメントを入力して実行する(図表64)。

図表64 SELECT ステートメントを入力して実行
図表64 SELECT ステートメントを入力して実行

今回の環境では、DBCS フィールドが隣接している場合、内部で連結して表示されるなど期待した表示はされなかったが、簡単なデータのチェックやメンテナンス用途には利用できると思う。

さらにこのノートには、Markdown を記述するブロックの追加できる(図表65)。

図表65 ブロックの追加
図表65 ブロックの追加

このように Markdown ブロックを追加し、Markdown記法でタイトルや文章を記入し、矢印のチェックマークをクリックすると整形されて表示される(図表66)。

図表66 Markdownで記述し整形
図表66 Markdownで記述し整形

このノートはソース・コードと同様にリモートにもローカルにも保存しておくことができるので、いつでも開いてコマンドや SQL ステートメントを実行することができる。よく使うものを登録しておけば作業も捗るはずだ。

Markdown記法を利用して、開発時のメモ帳として利用してもよいし、git で共有してテスト手順書の作成や、簡単なプログラム仕様書を保存しておくなど利用用途は様々だ。この拡張機能は本当に便利なので、ぜひ活用してほしい。

著者|
小川 誠氏

ティアンドトラスト株式会社
代表取締役社長 CIO  CTO

1989年、エス・イー・ラボ入社。その後、1993年にティアンドトラストに入社。システム/38 から IBM i まで、さまざまな開発プロジェクトに参加。またAS/400 、IBM i の機能拡張に伴い、他プラットフォームとの連携機能開発も手掛ける。IBM i 関連の多彩な教育コンテンツの作成や研修、セミナーなども担当。2021年6月から現職。

[i Magazine 2023 Winter掲載]

新着