ツール
IBM i 固有の tool を使用して、メンバーや stream file の読み書き、CL コマンドの実行、SQL ステートメントの実行などを行います。
IBM Bob Premium Package for i は、Bob に組み込まれている tool 機能を拡張し、IBM i 専用の tool セットを提供します。tool の仕組みや組み込み tool の種類については、Tools を参照してください。
これらの tool は機能ごとに整理されており、使用する tool に応じて IBM i Developer mode および IBM i Database mode で利用できます。
Read
QSYS または IFS 内の内容を読み取り、検索します。
Edit
QSYS または IFS に内容を作成して書き込みます。
SQL
Db2 for i 上のスキーマ、ファイル、テーブル、コマンドを解決します。
Execute
CL コマンド、SQL ステートメント、PASE コマンドを実行します。
Build
IBM i ソースコードをコンパイルします。
Test
unit test stub を生成し、code coverage 付きで test suite を実行します。
Documentation
公式 IBM i ドキュメント、CL コマンドドキュメント、SQL 例を検索して取得します。
Understand
スキャン済み IBM i アプリケーションオブジェクトとその依存関係を探索します。
Read tools
以下の IBM i read tools は、read auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
read_member | QSYS 内の 1 つ以上の source member の内容を読み取ります。 | IBM i Developer, IBM i Database |
search_qsys | regex を使った member 内の内容検索を含め、QSYS 内のライブラリー、オブジェクト、source member を検索します。 | IBM i Developer, IBM i Database |
read_stream_file | IFS 内の 1 つ以上の stream file の内容を読み取ります。 | IBM i Developer |
search_ifs | regex を使った stream file 内の内容検索を含め、IFS 内の stream file とディレクトリーを検索します。 | IBM i Developer |
Write tools
以下の IBM i write tools は、write auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
write_member | QSYS 内に新しい source member を作成するか、既存の source member を上書きします。 | IBM i Developer |
write_stream_file | IFS 内に新しい stream file を作成するか、既存の stream file を上書きします。 | IBM i Developer |
generate_dds | structured input から physical file(PF)、logical file(LF)、display file(DSPF)、printer file(PRTF)の DDS ソースを生成します。書き込み前に一般的なレイアウト問題を事前検証します。 | IBM i Developer |
Execute tools
以下の IBM i execute tools は、execute auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
execute_cl_command | IBM i 上で CL コマンドを実行します。デフォルトでは、Bob はコマンドに library-qualified 指定(例: QSYS/...)を求め、ソースコードのコンパイル時には event file を生成するための parameters を自動提案します。この qualified CL command guardrail を有効にするかどうかは extension settings で設定できます。 | IBM i Developer |
execute_sql_statement | IBM i 上で SQL ステートメントを実行します。特定の SQL ステートメント種別(DROP、UPDATE、TRUNCATE など)は、実行前に明示的なユーザー承認が必要です。この denied statement types のセットは extension settings で設定できます。 | IBM i Developer, IBM i Database |
execute_pase_command | IBM i 上で PASE コマンドを実行します。 | IBM i Developer |
convert_rpg_source | convert RPG source(CVTRPGSRC)CL コマンドを実行して、RPG III または RPG/400 のソースコードを新しい RPG IV 形式へ変換します。この tool は、all three workspaces 間のファイル転送も行います。 | IBM i Developer |
Build tools
以下の IBM i build tools は、execute auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
get_compile_actions | 指定したファイルに対して、事前定義された Code for IBM i actions を取得します。ローカルファイルの場合は、.vscode/actions.json に保存されているプロジェクトの local actions から取得します。source member または stream file の場合は、接続で定義されたデフォルト action およびユーザー定義 action から取得します。 | IBM i Developer |
execute_compile_action | get_compile_actions tool で取得した特定の Code for IBM i action を、指定したファイルに対して実行します。 | IBM i Developer |
Test tools
以下の IBM i test tools は、read および execute auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
generate_rpg_unit_test_stub | exported procedure を含む RPGLE SQLRPGLE ファイルをもとに RPGUnit test stub を生成します。これは、IBM i Testing test stub generator から生成するのと同じ目的を果たします。 | IBM i Developer |
run_rpg_unit_test_suite | line-level(*LINE)または procedure-level(*PROC)の code coverage を指定して RPGUnit test suite をコンパイルおよび実行します。 | IBM i Developer |
SQL tools
以下の IBM i SQL tools は、execute auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
get_schema_info | ライブラリーまたはスキーマ名を、システム名(10 文字、CL コマンド用)と SQL スキーマ名(最大 128 文字、SQL ステートメント用)の両方に解決します。通常の名前、長い SQL スキーマ名、区切り識別子を処理します。 | IBM i Developer, IBM i Database |
get_file_info | テーブルまたはファイル名を、システム名、SQL 名、オブジェクト種別、説明を含む完全なメタデータに解決します。通常の名前、長い SQL テーブル名、SQL エイリアス、大文字小文字を区別する区切り識別子を正しく解決します。 | IBM i Developer, IBM i Database |
get_table_columns | 区切り識別子と混在した大文字小文字の名前を含む SQL 名とシステム名の両方について、大文字小文字を区別しないマッチングを使って Db2 for i テーブルまたはビューの列メタデータを取得します。 | IBM i Database |
get_cl_command_library | 正しいライブラリー修飾のためのプロキシーコマンドの詳細を含め、CL コマンドが登録されているすべてのライブラリーを検索します。 | IBM i Developer, IBM i Database |
Documentation tools
以下の IBM i documentation tools は、documentation auto-approve permission の対象です。
| Tool | Purpose | Available in |
|---|---|---|
search_ibm_i_docs_with_rag | 正確なキーワード一致ではなく意味的理解が必要な、IBM i に関する概念的またはオープンエンドな質問に答える際に、RAG (retrieval-augmented generation) を使って IBM i ドキュメントを検索します。ILE programming(RPG、CL、DDS、COBOL、C、C++)、Db2 for i SQL、IFS と QSYS file systems、system operations、security、performance、networking、storage、troubleshooting を含むすべての IBM i トピックを対象とします。クエリーとの意味的類似性に基づいて順位付けされた、文脈に関連するドキュメント抜粋を返します。 | IBM i Developer, IBM i Database |
fetch_cl_command_doc | 接続先 IBM i 上の CL コマンドについて、parameter の説明、使用例、発生しうるエラーメッセージを含むドキュメントを取得します。このドキュメントは GENCMDDOC CL コマンドを使用して生成されます。 | IBM i Developer, IBM i Database |
search_sql_examples | Db2 for IBM i extension で定義されている SQL examples から、特定の SQL service を使用している SQL 例を検索します。 | IBM i Developer, IBM i Database |
fetch_sql_example | search_sql_examples tool で取得した SQL 例の完全な内容を取得します。 | IBM i Developer, IBM i Database |
Understand tools
以下の Understand ツールは Understand auto-approve permission の対象です。Understand コンポーネントがインストールされている場合にのみ利用できます。
| Tool | Purpose | Available in |
|---|---|---|
understand_list_apps | 接続中の IBM i システムに登録されているすべての Understand アプリケーションを一覧表示します。 | IBM i Developer, IBM i Database |
understand_app_summary | アプリケーションのアーキテクチャー概要を 1 回の呼び出しで取得します。種別と言語別のオブジェクトインベントリー、依存関係数、最も依存される/結合度の高いオブジェクト、リスクとモダナイゼーションのシグナル(OPM プログラム、動的 SQL、adopted authority、エントリーポイント、journal レコードなし physical file)、データベースルール(foreign key、cascade delete、trigger)、スキャン警告、アプリケーション外の参照ライブラリーが含まれます。 | IBM i Developer, IBM i Database |
understand_find_objects | Understand がスキャンしたオブジェクトを検索します。名前ワイルドカード、種別、ライブラリー、属性/言語、OPM/ILE、動的 SQL 使用、インバウンド依存関係なし、N 日以内未使用のフィルターを組み合わせられます。インバウンド依存関係でソートして最も重要なオブジェクトを見つけられます。名前、種別、属性、OPM/ILE、ライブラリー、インバウンド/アウトバウンド依存関係数、最終使用日、動的 SQL フラグをページングサポート付きで返します。 | IBM i Developer, IBM i Database |
understand_describe_object | IBM i オブジェクト 1 つの完全なプロファイルを 1 回の呼び出しで取得します。メタデータ(属性、OPM/ILE、ライブラリー、ソースパス、所有者、activation group、adopted authority、コンパイラー、日付、動的 SQL)、種別別インバウンド/アウトバウンド依存関係数、および種別固有のセクション(バインディング、エクスポート、インポート、列、trigger、foreign key、ジャーナリング、binding directory エントリー、コマンド定義)が含まれます。 | IBM i Developer, IBM i Database |
understand_trace_dependencies | 依存関係の種類(例: FILE_OPEN、PGM_CALL、BOUND_SRVPGM)でフィルターして、設定可能な深さまでオブジェクトのインバウンドまたはアウトバウンド依存関係をトレースします。 | IBM i Developer, IBM i Database |
understand_find_symbol | プロシージャーまたはエクスポートされたシンボルが定義されている場所と、それをインポートしているオブジェクトを検索します(IBM i 7.6+ スキャン)。 | IBM i Developer, IBM i Database |
追加の auto-approve permission
組み込みの auto-approve permission は、IBM i Developer mode と IBM i Database mode の両方で利用できます。これらの mode では、さらに次の auto-approve permission も利用できます。
- Documentation: Bob が documentation tools を使用して、許可を求めずに IBM i ドキュメントを取得できるようにします。
- Understand: Bob が Understand tools を使用して、許可を求めずにスキャン済み IBM i オブジェクトと依存関係を探索できるようにします。このパーミッショングループは Understand コンポーネントがインストールされている場合にのみ利用できます。
