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

BOOKをみる

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


62 メイン機能の実装 .データ抽出処理  アプリケーションの基本部分が完成し たら、いよいよメインの照会機能のプロ グラミングに取りかかろう。  Delphi/400 を利用したIBM i のファ イル参照は、大きく分けて2 種類の方法 がある。 @ SQL でデータを取得する方法 Aファイル単位で取得する方法  今回は、すでにIBM i 側に、RPG プ ログラムで作成された照会システムがあ ることを前提とする。CL プログラムや RPG プログラムとの連携で実現するA の手法を使って、開発を行い、IBM i 資 産を利用する方法について紹介しよう。 既存プログラムの利用  すでにIBM i にある照会機能のGUI 化をDelphi/400 で行う場合、特に工数 の削減が見込めるのが、既存プログラム を利用するという方法である。  図8 を見てほしい。既存プログラムに ついて抽出結果をサブファイルに出力す る代わりに、ワークファイルに出力する ようにメンテナンスするだけで、既存の RPG/CL プログラムを流用することが できる。  その際、ワークファイルのフィールド 名を画面ファイルの項目と同じにするこ とで、変更を最小限に抑えることが可能 である。  さらに、Delphi/400 プログラムから IBM i のプログラムを呼び出すために、 CL プログラムを経由するというポイン トも押さえていただきたい。CL におい て「MONMSG」を使用することで、呼 び出すRPG プログラムのMSGW を回 避することができるのである。  また、CL プログラムに、抽出条件の パラメータ以外にエラー区分のパラメー タを持たせることで、対象データがない 場合などのエラー発生を、Delphi/400 側に返すことが可能となる。【図8-1】  今回は、図8-2 のように、画面起動時 にQTEMP 上にワークファイルを作る CL プログラムを実行し、条件入力後に 検索ボタンを押下することで、メインの 抽出処理RPG プログラムを呼び出す CL プログラムを実行することとする。 【図8-2】【表】【ソース3】【ソース4】【ソー ス5】 【使用するコンポーネント】 ● frmReference(フォームを新規作成 しメニューから呼び出す) ・ TMaskEdit:ツールパレット (Additional)  入力された文字を指定した表示形式で 検証し、表示する。 ・ TCall400:ツールパレット(SCD400 System)   IBM i 上のプログラムを呼び出す。パ ラメータはプログラムからセットする ことも、実行後に返された値を参照す ることも可能。 ・TTable:ツールパレット(BDE)   データベース上のファイルを保持・操 作するデータセット。 ・ TDataSource:ツールパレット(Data Access)   データセットコンポーネントと、画面 上にあるデータベース対応コンポーネ ントをつなぐ役割。 ・ TDBGrid:ツールパレット (Data Controls)   対象のデータセットより、レコードを 表形式で表示し、操作する。  なお、照会画面はメニューを参照でき るようユニット参照を行い、また、プロ ジェクトオプションで、自動作成の対象 より除外すること。その他の、既出のコ ンポーネントについては割愛した。 プロパティ  プロパティは、図9-1 と図9-2 を参照 してほしい。【図9-1】【図9-2】  ここでのポイントは、Call400 コン ポーネントで、IBM i のCL プログラム へパラメータを渡すので、同数のパラ メータ定義および各値の桁数と属性を指 定する必要があるということだ。(ただ し、属性については、プログラミング上 は、全て文字型(String)でセットする 点に注意)。【ソース5】  ここで定義したパラメータに、プログ ラムから動的に値をセットし、CL プロ グラムを呼ぶのである。また、テーブル コンポーネントには、参照対象となる ファイル名を設定する。そして、いずれ のコンポーネントのAS400 プロパティ にも、メニューに配置したAS400 コン ポーネントを指定することをあわせて確 認しておこう。 CLプログラム  さて、各コンポーネントの準備ができ たので、プログラミングを行っていこう。  と、いっても、Delphi/400 からCL プログラムを実行し、対象データが更新 されたワークファイルを参照するという のは、いたってシンプルなプログラミン グで済む。  Call400 コンポーネントに設定した各 パラメータに、ただ画面入力値をセット し、実行した後に、プロパティが正しく セットされたテーブルコンポーネントを 開くだけで、画面に表示できるのである。 【図10】【ソース6】  これで全てのプログラムが完成した。 Delphi のメニューより[プロジェクト] [SampleProject をコンパイル]を選択 し、エラーがないことを確認した後に、 実行ファイルSampleProject.exe を実 行してみよう。そして、ぜひともIBM i 上にあるファイルを参照できていること を、ご自身の目で確かめていただきたい。 さいごに  以上で、照会機能を想定し、Delphi/ 400 を使用する一連のアプリケーション 開発についての説明は終わりである。冒 頭で述べたように「はじめてのDelphi/ 400」と題したが、IBM i への接続、既 存資産の利用方法が把握できていると、 GUI 化は思うがままなのである。  とはいえ、アプリケーションからの SQL 実行により、ファイルの操作を簡 単に行うことも可能である。もちろん Delphi/400 を使用した接続なので、早 いレスポンスが期待できる。  この「はじめてのDelphi/400」が、 Delphi/400 ユーザーである開発者の増 加の一助になれば幸いである。 M