IBMiでよく使うコマンドを集めてみました
IBMiを使用する際、たまにしか実施せず忘れてしまうこともあると思います。
また知っているけど、使い方が難しいコマンドなどをまとめてみました![]()
- 1:ライブラリーやオブジェクトの保管・復元
- 2:データファイルの入力変更削除
- 3:データの確認
- 4:データベースファイルのレイアウトの確認
- 5:活動状態ジョブの確認
- 6:システム状況の確認
- 7:デバッグの方法
●ライブラリーやオブジェクトの保管・復元
忘れがちなセーフファイルの保管・復元方法です。
使用コマンド:SAVLIB・SAVOBJ・RSTLIB・RSTOBJ
コマンドプロンプトを使用してFTP転送を行う際の手順です。
1.SAVFの作成
IBMiで以下のコマンドを実行し、ライブラリーやオブジェクトを格納するSAVFを作ります。
CRTSAVF FILE ((任意の作業用LIB名)/(任意のSAVF名称※1))
STRPDMコマンドを実行し、1.ライブラリーの処理を選択して保存したいライブラリー名を指定します。
保存対象のライブラリーのOPT欄に9を入力し、F4でプロンプトを表示します。
装置欄に *SAVF を入力後、実行キーを打鍵すると
保管ファイル・ライブラリーの項目が表示されますので
保管ファイル欄に※1(保管対象のライブラリーと同名称)を指定
ライブラリー欄に1で指定した任意の作業用LIB名を指定し、実行します。
2.SAVFをIBMiからPCフォルダへ取得
コマンドプロンプトを起動し、SAVFをPCフォルダへFTP転送を行います。
1)C:\直下にフォルダ【送付用】を用意します
2)コマンドプロンプトを起動します
3)コマンドプロンプトで以下コマンドを順に実行します
① FTP
② OPEN 999.999.999.999(接続先IBMiのIPアドレス)
③ サインオンUSER名
④ サインオンパスワード(パスワードは入力内容が表示されません)
⑤ BIN
⑥ GET (任意の作業用LIB名)/(任意のSAVF名称) C:\送付用\(SAVF名).SAVF
メッセージが表示され、【~バイトが送付されました】のメッセージが表示されると指定したフォルダに
SAVFが格納されます。
⑦ QUIT
3.SAVFをPCからIBMiへ転送
コマンドプロンプトを使用して、PCフォルダからIBMiへSAVFを転送する方法です。
事前に、IBMiに受け取るSAVFを空で作成します。【1.SAVFの作成】を参照してください。
1)C:\送付用フォルダに、転送するSAVFを設置します。(SAVF2とします)
2)コマンドプロンプトを起動します
3)コマンドプロンプトで以下コマンドを順に実行してください
1】 FTP
2】 OPEN 999.999.999.999(接続先IBMiのIPアドレス)
3】 USER名
4】 (パスワードは入力内容が表示されません)
5】 BIN
6】 PUT C:\送付用\(SAVF2名).SAVF (任意の作業用LIB名)/(任意のSAVF名称)
メッセージが表示され、【~バイトが送付されました】のメッセージが表示されると
IBMiに作成したSAVFにデータが転送されます。
7】 QUIT
PCからIBMiに転送する際は【6】を PUT (PCフォルダ)(IBMi側) の順で指定します。
IBMiからPCに取得する際は GET (IBMi側)(PCフォルダ) を指定します。
転送処理後、SAVFにデータが格納されているか確認する際は以下コマンドを実行します。
DSPSAVF FILE((※SAVFを設置したLIB名)/(※SAVF名))
【保管されたオブジェクトの表示】が行われます。
4.ライブラリーの復元
SAVFからライブラリーを復元する場合は以下コマンドを実行します。
RSTLIB SAVLIB((※保管されているLIB名)) DEV(*SAVF) SAVF((※SAVFを保管しているLIB名)/(※SAVF名))
これまではSAVLIBコマンドを使用し、ライブラリー全体の保管・復元を説明しましたが
オブジェクト単位での保管・復元も可能です。
その場合は保管時のコマンドをSAVOBJ、復元時のコマンドをRSTOBJと置き換えて
実行が可能です。
●データファイルの入力・変更・削除
データを数件だけ入力する、変更する、削除するといった際プログラムを作るには手間がかかります。
そういった際に使用するコマンドがUPDDTAコマンドです。
UPDDTA FILE((作業LIB)/(対象のDB名))
新規でデータ入力する場合は、F10キー
削除を行う場合は変更モードでキーを入力後、データが表示された状態でF23キー
を打鍵します。
V7.6ではDFUサポート終了となりますが、一時プログラムを使用したデータの更新は使用可能です。
また、エミュレータのホストへファイルを送信・ホストからファイルを受信の機能を使用して、データの一括変更も可能です。
セッション端末のタブに【アクション】欄がありますので、クリックします。
ホストからファイルを受信をクリックすると、転送のポップアップが表示されます。

転送先欄の’拡張(A)…'をクリックすると、PCファイル・タイプが選択でき、ASCIIなど条件に合わせた出力が可能です。

Excelでデータを出力し、変更したデータを再度一括で取込を行う場合は
【アクション】欄のホストへファイルを送信をクリックします。

受信と同様、転送先欄の’拡張(A)…'をクリックすると、
転送するデータを新しいメンバー、既存メンバーの置き換えとするかなど選択が可能です。
用途に合わせて指定を変更してください。
上記イメージはパーソナルコミュニケーションズを使用した例ですので、
ACSの場合、指定内容が異なります。
また、転送定義を保管した際の拡張子が異なりますので、併用はできません。
ご注意ください。
●データの確認
該当のファイルのデータを確認する際は、以下コマンドを入力します。
RUNQRY QRYFILE(( (作業LIB)/(対象のDB名) ))
F4を打鍵し、プロンプト画面でレコード選択を*YESに指定すると
条件を指定してのデータ検索が可能です。
WRKQRYコマンドでQUERY定義を作成しておけば、
都度ファイル名やライブラリー名を指定せずに定義した条件での検索が可能になります。
●データベースファイルのレイアウトの確認
※Toolboxの使用がある前提です。
ToolboxコマンドのDSPFMTを使用すると、レコード設計が確認できます。
DSPFMT FILE((LIB名)/(ファイル名)) OUTPUT(*) KEYFLD(*YES) SELFLD(*YES)
項目名・桁数・属性などの他にも、オプションを指定することで
キーフィールドの表示や出力形式の選択が可能です。
●活動状態ジョブの確認
ジョブの確認に関するコマンドを比べてみます。
WRKACTJOB・WRKJOB・WRKUSRJOBの3点を比較してみます。
WRKACTJOB
このコマンドは活動ジョブの処理が表示されます。

・反応が遅い原因のジョブを特定する。
・問題が起きているジョブを即座に操作して、終了や停止の処理を行う。
このような際に有効です。
WRKJOB
このコマンドはジョブの処理が表示されます。

指定したジョブの詳細情報を表示します。
・ジョブログの確認を行う。
・ジョブの属性(ユーザーやキューなど)の確認、履歴や実行状況の確認をする。
このような際に有効です。
WRKUSRJOB
このコマンドはユーザー・ジョブの処理が表示されます。

サインオンユーザーが起動したジョブを一覧表示します。
・特定ユーザーが起動したジョブを一覧で表示する。
このような際に有効です。
●システム状況の確認
システム状況を確認する際に実行するコマンドです。
WRKSYSSTS
定期的に確認をすることが多い項目として、中間と拡張で表示されている
【システムASP使用率%】があります。
この項目が70%を上回るとシステムへの影響が起こり得ます。
~70% 通常 安定稼働
70~80% 注意 ディスク容量が減少、パフォーマンス低下のおそれ
85~90% 警告 一部ジョブの遅延、新規ジョブへの制限がかかる可能性あり
90%以上 危険 ジョブの受付停止、CPA5305:MSGCPAエラーが発生
95%以上 臨界 システム停止の可能性
定期的に使用率の確認を行い、安定稼働を意識しましょう。
●デバッグの方法
プログラム開発を行う際、必ず行われるデバッグの方法です。
デバッグを開始するコマンドはSTRDBG・STRISDBの2点があります。
ここでは対話型ソースデバッグを紹介します。
STRISDB PGM((LIB名)/(PGMID)) UPDPROD(*YES)
このコマンドを実行すると、次のような画面が表示されます。

STRISDB(Start Interactive Source Debugger)は
CL、COBOL、RPGプログラムのデバッグを支援します。
停止したいレコード上で、F6キーを打鍵すると停止点として指定ができ
F17キーを打鍵すると対話型プログラムを実行しながら停止点の情報を得ることができます。
停止点のデータを確認する際は、F23キーを打鍵するとその項目のデータの状況が確認できます。
●最後に
ふとした時に確認したいコマンドたちや、指定する際のポイントなどをこの場で参照頂けると嬉しいです。
IBMiを学び始めた方にもヒントとして有効に使っていただけるかと思います。
ぜひ参照してください。
● 当記事の著作権はIBMに帰属します。詳細はこちらを参照ください。






