ACSのRun SQL Scriptsを使用して独自のテンプレートを作成する

IBM i Access Client Solutions(ACS)は、非推奨となったIBM i Client Access for Windowsの後継製品であり、リリースされて数年が経っています。改善された点が多数ありますが、その1つに、「SQLスクリプトの実行」の機能強化があります。その他にも、色分け表示などの追加機能がいくつか加えられています。
この記事では、「SQLスクリプトの実行」で提供される用例のライブラリーについて取り上げたいと思います。 まずは、少し概略を見てみましょう。IBM i Access Client Solutionsは、5250端末エミュレーションだけのためのものではありません。端末エミュレーションとして使用する場合でも、セッションはすべて構成済みで、「これをクリックしてセッションを開始」と指示されます。
ACSをお持ちでない場合は、こちらからダウンロードすることができます。すでにACSをインストール済みの場合は、必ず、頻繁に(1年に最低1回)インストールの更新を行うようにしてください。IBMでは1年に2~4回、機能強化を行っています。

上図から分かるように、5250エミュレーションの他にも数多くの機能があります(この記事では取り上げませんが)。 上図の「データベース」セクションの下に、「SQL スクリプトの実行」があります。
「SQL スクリプトの実行」をクリックすると、次のような画面が表示されます。

「編集」ドロップダウンから、「例から挿入...」を選択します。

また、「例から挿入...」機能を実行するためのウィジェットもあります。
操作を行うと、次のような画面が表示されます。

画面上部に検索バーがあります。検索バーに、たとえばCREATE TABLEと入力すると、CREATE TABLEの様々な用例が表示されます。検索バーの下には、検索しているカテゴリーが水色で表示されます。正直に言うと、筆者は非常に多くの独自のカテゴリーを作成してきたため、そこに表示されるデフォルトのカテゴリーが何であったか忘れてしまいました。その下には、そのカテゴリー内の様々な用例が表示されます。1つの用例をクリックすると、右側にその用例の内容が表示されます。それが探していた用例であれば、「挿入」を選択します。次のように、その用例がコードに挿入されます。

その用例を実行する場合は、そのステートメントの行末のセミコロンの前にカーソルを置いて、砂時計アイコンを選択します。以下のような結果が表示されます。

挿入された用例のボディ部分を確認してみましょう。この用例で、ステートメントが色分けされていることに注目してください。 緑色はコメントです。SQLでは、コメントの前に2つの連続するダッシュが付きます。ステートメントは青色、変数は黒色です。 定数などは、その他の色で色分けされます。
最初の2つのコメントを、次の図に示します。

1行目のコメントは、ダッシュ、ダッシュ、スペース、スペース、category、コロンと続きます。2つのスペースに続いてカテゴリー名です。
次の行は、ダッシュ、ダッシュ、スペース、スペース、description、コロンと続き、その後に記述名です。
これらが表わすものを、次の図に示します。

IBMの用例はほかの場所に保存されていますが、カスタム用例は、筆者のコンピューターでは
C:\Users\rob\Documents\IBM\iAccessClient\RunSQLScripts\Examples
にあります。
ファイル名はあまり意味がありません。実際には、「SQL スクリプトの実行」を開始すると、このディレクトリー内のそのカテゴリーおよび記述行のすべてのファイルが読み込まれます。
それでは、独自の用例を作成してみましょう。まったく新規に作成することも、IBMの用例の1つを挿入することもできます。ここでは、CREATE TABLEの独自の用例を作成することにしましょう。IBMの用例を選んで、少し修正を加え、独自の用例としてそれを保存します。「SQL スクリプトの実行」を開始し、白紙の状態で、「編集」 > 「例から挿入...」を選択します。カテゴリーで「Data Definition Language(DDL)」を選択します。表示されたら、「Create or Replace Table」までスクロール ダウンして選択します。次の図のように用例が挿入されます。

次のように変更します。

ここで、テストのために実行してみます。 問題がなければ、「ファイル」 >「別名保管...」を選択します。保存場所が
C:\Users\rob\Documents\IBM\iAccessClient\RunSQLScripts\Examplesディレクトリーになっていることを確認します。
そのディレクトリーで、StandardCreateTable.sqlなどのような名前を付けて保存します。
「Insert from Examples」で表示されるのを確認するためには、「SQL スクリプトの実行」を終了し、そのディレクトリーを読み取り直す必要があります。「SQL スクリプトの実行」を再起動して「例から挿入...」を選択すると、次の図のように新たなカテゴリーが表示されます。

そのカテゴリー内に、作成した新たな用例が表示されます。

独自の用例の作成は、実にこれほど簡単に行えます。
作成した用例に、コメントや複数のSQLステートメントなどを追加することもできます。たとえば、新たなスキーマ(ライブラリー)を作成し、スキーマに新たな表をいくつか作成し、それらの表にデータを入れ、いくつかのselectステートメントを実行するようにするなどです。
もうひとつのテンプレートの例は、監査用に使用しているテンプレートです。「例から挿入...」を使用して自作のテンプレートを挿入し、「M120180927」という文字列を適切な日付へ変更して実行します。 完了したら、そのディレクトリーを自分のPCへダウンロードし、圧縮して、詳しく分析することができるようにPDFおよびCSVファイルにまとめます。

部署全体で共通の用例の保存場所が必要となる場合があります。それを行うには、ユーザーのAcsConfig.propertiesファイルを修正します。
# Setting the property com.ibm.iaccess.SQLCustomExamples to a specific folder will override the
# default location for Run SQL Scripts, Edit- > Insert from Examples... The default location where
# this option normally looks for user provided examples is
# < Configuration Root > /RunSQLScripts/Examples. The IBM provided examples will not be
# affected by setting this property.
#com.ibm.iaccess.SQLCustomExamples=V:/Shared_Network_drive/OurSQLExamples
利用可能な数多くのサービスの詳細情報については、以下を参照してください。
http://ibm.biz/DB2foriServices
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/rzajq/rzajqservicessys.htm
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/db2/rbafzcatalog.htm
https://www.ibm.com/support/knowledgecenter/ja/ssw_ibm_i_73/rzajq/rzajqservicesdb2.htm