最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

12.5.Q.AS/400を使用しているユーザー&ジョブを検索して処理する方法は?

[ Previous ] [ HOME ] [ Upper ] [ Next ]


方法は2つ。

  • 一つは、WRKACTJOB *PRINTのスプールを読み込んで、処理。
  • 一つは、APIを使います。

WRKACTJOB *PRINTのスプールを読み込んで、処理。

OVRPRTF QPDSPAJB HOLD(*YES)...ホールドしないと、印刷されてしまうかも。           
WRKACTJOB *PRINT            
CRTPF QTEMP/A RCDLEN(200) IGCDTA(*YES)           
CPYSPLF...SPLNBR(*LAST) TOFILE(QTEMP/A) CTLCHAR(*NONE)          
DLTOVR QPDSPAJB           

これを、コマンド入力画面から、一個一個やってみてください。CLPでなくてもいいのです。

すると、QTEMPのファイル A に、スプールデータが入っています。DSPPFM QTEMP/Aで確認してください。

あとは、この、200バイトのフィールドを処理する、RPGを内部記述で作成します。

実は、RPGで使う印刷装置ファイルQPRINTと同じ名前のQPRINTという物理ファイルを作成して、*LIBLの先頭に入れて、そのRPGをCALLすると、その物理ファイルにデータが書き込まれます。でも、これを使うのは、やめたほうがいいです。実は昔、テストで、そのQPRINTを作成して、消すのを忘れたら、リストがでない、でないと大騒ぎ。何騒いでるんだ、と思ったら、その物理ファイルのレコード件数が何万件にもなっていて、そう、そこにスプールがはいってしまって、印刷されなかったのです。

APIを使う場合

API(APPLICATION PROGRAM INTERFACE)で、コマンドの出力内容を、フィールド単位に取り込みたい時に使えるものです。コマンドの中には、物理ファイルにデータを作成してくれるものもあるのですが、中には、(WRKACTJOBのように)、スプールしか出さないものもあるのです。上の例で分かるように、スプールイメージをフィールドとして、読み込むのは、結構面倒ですよね。

こんな時、このAPIは便利です。最初は面食らうはずですが、サンプルがあるので、結構、分かりやすいと思います。APIコーナーを見てみてください。結構、一人よがりの説明かもしれませんが。

APIの紙のマニュアルは結構ぶ厚いです。電話帳くらい。CD-ROMは軽くて便利だけど、じっくり読むのが、私には苦手です。また、CD-ROMが何枚かあったら、最新の枝版(V3R1だったら、LK88-8019-05以降に、APIが出ています。LK-88....-04にはありません。)を見てください。CD-ROMの検索で、WRKACTJOBとすると、ヒットします。そのAPIを使ったサンプルがあります。

尚、APIはCLPでもRPGでも使用できます。外部サブルーチンの一種と思えば、間違いありません。どちらを使用するかは、最終的に、どのような形でAPIを生かすのか、という点で決まります。

RPG...APIのデータを、サブファイルとかスプールに出したり、ファイルに書き出したい場合。

CLP...APIのデータを、CLコマンドで利用したい。たとえば、スプールの削除や、メッセージの送信など。(もちろん、RPGでQCMDEXCで実行できますが、RTVxxxxはQCMDEXCでは実質利用不可能です。)

以上


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送