【DO!BOOK・ページリンク】
2008_migaro_techreport_001   100 / 136

BOOKをみる

10秒後にBOOKのページに移動します


98 鶴巣 博行 株式会社ミガロ RAD事業部 技術支援課 APIを利用した 出力待ち行列情報の取得方法 IBM i のプログラミングはそこそこできるが Delphi/400 はまだ使いこなせていないという人のために このレポートを通じ、出力待ち行列処理の情報を画面上に表示し 表示した情報に対して処理を実行する簡単な方法を解説する。 ●はじめに ●API とは ●コーディング方法 ●まとめ 略歴 1968 年3 月29 日 生 1990 年摂南大学 経営情報学部卒 2002 年株式会社ミガロ入社 2002 年4 月システム事業部配属 2007 年4 月RAD 事業部配属 現在の仕事内容 現場(営業グループとシステム事業 部)が活動しやすいような支援と、 ミガロおよびミガロ製品の積極的な アピール活動を志している。 はじめに  Delphi/400 をご使用のユーザー様で アプリケーションのGUI 化はできてい るが、出力待ち行列処理等の管理作業の ため、なかなか5250 エミュレータを捨 てきれないという声をよく聞く。  例えば、出力待ち行列の処理であれば、 Delphi/400 には、SPOOLLIST400 や SPOOL400 という出力待ち行列処理を 扱うための便利なコンポーネントが用意 されている。それらのコンポーネントを 駆使することで、出力待ち行列処理の制 御を行うことができる。  Delphi/400 では、IBM i 上のデータ をGUI 画面に表示させることが簡単に できる。また、GUI 画面上のデータを パラメータとし、IBM i のプログラムを 呼び出すことも、そんなに難しいことで はない。ゆえに、出力待ち行列処理の情 報をデータベース化できさえすれば、簡 単にその情報をGUI 画面上に表示する ことが可能だ。  また、出力待ち行列処理画面のオプ ションで行われる処理(例えば、3= 保 留 4= 削除 5= 表示 6= 解放)は、結 局のところ、選択されたファイルに対し てコマンドを発行(保留:HLDSPLF 削除:DLTSPLF 表示:DSPSPLF 解放:RLSSPLF)しているだけである。 なので、コマンド発行に必要な情報を付 加し、例えばCALL400 コンポーネント を使用してプログラムで処理するか、も しくはAS400 コンポーネントで直接コ マンドを発行してやれば、処理を行うこ とができる。これは、出力待ち行列処理 画面のオプションで行われる処理と同じ 処理である。 データベース化する方法  まずは、出力待ち行列処理の情報を データベース化する方法である。  コマンドで実現できないかといろいろ 調べたのだが、直接データベース化でき そうなコマンドは見つけられなかった。  そこで、コマンドとプログラムとの組 み合わせで、何とかデータベース化する 方法を思いついた。だか、やり方が強引 であることと取得できる情報量が少ない ことから、あまり実用性がないと判断し た。【図1】  IBM アンサーラインやWeb などを利 用し、他に実現方法がないか調査したと ころ、API を使用し、出力待ち行列処 理が取得できることがわかった。 APIとは  API(アプリケーション・プログラミ ング・インタフェース、Application Programming Interface) について、 IT 用語辞典(e-Words)の説明をその まま引用する。  「あるプラットフォーム(OS やミド ルウェア)向けのソフトウェアを開発す る際に使用できる命令や関数の集合のこ と。また、それらを利用するためのプロ グラム上の手続きを定めた規約の集合。  個々のソフトウェアの開発者がソフト ウェアの持つすべての機能をプログラミ ングするのは困難で無駄が多いため、多