【DO!BOOK・ページリンク】
migaro_tech2012   14 / 100

BOOKをみる

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


12 減を行った。  納品書の台紙をExcel で作成し、発 行する際にDelphi で台紙のコピーに データを貼り付けて出力を行う方式とし た。  そして、この処理を自動化することに よりA4 コピー用紙での発行を可能とし た。 (2)出力枚数の調整  納品書の6 枚綴りを、業務面で調整し て3 枚綴りとし、出力枚数によるコスト 削減を行った。 2.5250 の機能維持  帳票の発行を単純にDelphi へ移すこ との中にも、いくつかの問題があった。 (1)画面の占有の問題    帳票を発行する際に、印刷指示を行っ た端末が印刷処理を行ってしまう場合、 印刷している間(発行データをプリンタ に送るまでの間)画面が硬直してしまう。 【図2】  この問題については、発行指示をする 端末側では、印刷処理を行わないことと した。    対応策  ・プリンタセッションの配置  5250 と同様にプリンタセッションを 作成する。この端末でDelphi とExcel の連携を行い印刷処理を行うこととし、 発行者の端末に発行による処理の影響を 与えないようにした。 (2)発行時間の問題   プリンタセッションは、発行処理を シーケンシャルに行うため、仮に全ての 拠点を本社の1端末で処理することは可 能であるが、印刷が集中してしまった場 合はやはり時間がかかってしまう。今回 の納品書は3枚綴りのため、3倍の出力 が必要となる。つまり1拠点が100 件 を伝票発行したら、次の発行者は300 件の伝票作成分の時間を待たないといけ なくなってしまうのである。【図3】  対応策  ・プリンタセッションの拠点配置  伝票を発行するプリンタセッションを 拠点ごとに配置し、発行元を分散させる ことにより問題を解決した。  発行指示データを作成する際に、ユー ザーのサブシステムのジョブ(IP アド レスのセグメント)を指示データ(指示 データは全社共通のファイル)に落とす ことで、どこの拠点の印刷指示かを判断 させた。これにより拠点ごとの印刷処理 を可能にした。 (3)スプール処理   5250 のスプール処理のように印刷を 一時的に保留し、発行したいときに発行 できるようにしたいとの要望が強くあっ た。実際に出力する場合、間違った操作 をすることもあり、出力対象のスプール の中身を確認してから出力するという手 順が業務として好ましかった。【図4】  対応策 @保留操作  発行指示を行っても保留状態とし、開 放を行わない限り印刷を開始しないよう にした。 A伝票単位の出力制御  絞込みにより抽出された伝票ナンバー を画面上で確認でき、スプールの開放を 行う前に伝票単位に出力を制御できる工 夫を行った。  いらない伝票を出力してしまい出力後 に捨てるという用紙の無駄を削減した。 3.拡張性(後続の開発の容易性)  納品書のリプレース後に、他のデザイ ン帳票にも同じ仕組みを適用していく計 画である。開発工数をできる限り少なく するよう、5250 では帳票単位に合った 出力指示画面を1つに統一した。  また、納品書、請求書、売買契約書な どの出力帳票に使用するワークファイル を同一のファイルで処理させ、開発の工 数を削減する工夫を行った。 システム全体の仕組み  システムの全体像は以下である。【図 5】 1.伝票出力指示画面  クライアントのメニューより呼び出す ことができる。5250 でバラバラになっ ていた帳票出力の画面を1つに統一する とともにデータの抽出条件についてもま とめた。 (1)条件設定と出力指示  出力対象の帳票を指定、絞込み条件を 入力して出力指示を行う。 (2)データ作成  IBM i 側で指示内容から出力指示デー タを作成する。 (3)開放指示  対象を画面に表示し開放指示を行う (伝票単位の出力コントロールが行え る)。 2.伝票出力制御画面  各拠点に1台設置されている5250 の プリンタセッションの端末で稼働させた (今回は、発行を必要とする5 拠点で稼 働させた)。動作としては(1)ポーリン グ処理と(2)出力処理を交互に行う。 (1)ポーリング処理  ・ タイマーイベントでデータの存在確 認を行う。  ・ 対象のデータが存在している場合に 出力処理に遷移する。ない場合は帳 票区分(納品書、請求書、売買契約 書) をローテーションさせる。 (Delphi をIBM i に接続した時、 端末はIBM i サブシステム/ジョ ブのIP アドレスで識別されている。 これを利用し、どこの拠点のデータ かを識別する方法に利用した)      (2)出力処理  出力指示データ内の帳票区分に沿った 処理を選んで処理を行う。  ・ IBM i 側で1伝票のデータを作成す る。  ・ 対象の帳票区分のExcel のテンプ レートをコピーしデータを貼り付け る。  ・Excel をプリンタに出力する。  上記の処理を指示データのキーでファ イルが読み取れなくなるまで繰り返し、 読み取れなくなった時にポーリング処理 に戻る。 評 価  月間に出力する納品書枚数は約6000 枚あり、非常に稼働の多いシステムと