Loading
|
@IT > 日本のきめ細かい“帳票”をノンプログラミングで分かりやすく設計できるSVFX-Designer |
帳票開発は悩ましい。なぜならば、開発プロジェクトの最後に位置して、いつも時間がないからだ。かといって、それを利用するユーザーのことを考えれば“やっつけ仕事”はできないし、開発者としてのプライドも許さない。そうした板挟みの技術者を支援するために存在するのが、ウイングアーク テクノロジーズのSVFだ。総合的な帳票ソリューションを提供するSVFの最新帳票設計ツールであるSVFX-Designerの機能を、その過去から現在にわたって見るシリーズの第2回である本稿では、ノンプログラミングで実現できる設計/デザインの機能を俯瞰する。
帳票開発は常に悩ましさに満ちている。というのも、どうしてもそのプロセスがシステム開発プロジェクトの最後に設定されてしまうからだ。システムの構成や機能が一通り落ち着かないと取りかかれないのも事実だから、仕方がないといえば仕方がないのだが、計画というのは遅れることはたびたびあっても、前倒しになることはあまりない。結果的に、押せ押せのスケジュールの中で、形あるものに仕上げていかなければならなくなる。 しかし、だからといって“やっつけ仕事”は許されない。帳票開発プロセスが後工程であることも、進ちょく管理がうまく機能しなかったことも、帳票を利用するユーザーに関係ない。ユーザーはそれを使って日々の業務を処理したり、重大な決断を下したりするのだ。プロフェッショナルである開発者が、品質の点で妥協するわけにはいかない。 最新鋭の帳票設計ツールであるウイングアーク テクノロジーズのSVFX-Designerは、そのような環境で板挟みになっている開発者を支援するため、できるかぎり工数をかけずに、ありていにいえば、「まったくプログラミングすることなし」に高品質な帳票設計が行えることを目指している。果たして、そんなことが本当に可能なのだろうか? それを実現している“すごい”機能の数々を紹介しよう。
例えば、顧客への請求書印刷を例に採ってみよう。データベースの中にある請求データを用紙に打ち出して郵送したいのだが、請求書は本社一括ではなくお客さまコード単位で発行したい。こうした要件であっても、SVFX-Designerなら“特定のキーで改ページする”という機能があり、アプリケーションプログラムに依存することなく設定できる。 しかも、マトリックスの縦軸に設計フィールド名が並び、横軸に設定項目が配置されている“アイテム一括設定”という画面で、「改頁」欄のところをダブルクリックしてチェックを入れるだけで実現できるのだ(画面1)。
また、この画面の「キー順」欄に数字を入れれば、それがデータがソートされる順番になる。例えば、「顧客番号」フィールドに「1」、「月」フィールドに「2」、「日」フィールドに「3」、「伝票番号」フィールドに「4」を設定すれば、顧客番号、月、日、伝票番号という順番で明細データが整理されて、請求書に並ぶというわけである。
同じ日に注文がたくさんあった場合、何も考えずに印刷すると、同じ月日のデータが繰り返し表示されてしまう。それを避けるのが、“グループサプレス機能”だ。これは同じデータが続く場合に、重複するデータと罫線を省略して、帳票として見やすく表示するための機能である(図1)。
これも設定は簡単で、「月」「日」のフィールドの「グループサプレス」欄に、ダブルクリックでチェックを付けるだけである。 罫線を表示したくなければ、「重複時の罫線」欄をダブルクリックして、「印刷しない」に設定する。このとき、グループサプレスした範囲で文字を中央ぞろえにしたい場合は、「重複時の印刷」で設定を行う。すごいのは、重複データが2行であっても、ちょうど2行の真ん中に印字できることだ。これをプログラミングで実現しようとすると相当大変なのだが、SVFX-Designerはこういったことを簡単に実現してしまう。
ほかにも“すごい”機能はまだまだある。“全フィールドが初期値のとき、印字しない”という項目にチェックを入れると、例えば、「この時期だけの特別価格」といった通常とは異なるデータを扱って印字できる。 さらに、“明細行が1行のときは印刷しない”という機能がある。これは、データベースでいえば、“テーブル”内の1件1件のデータである“レコード”に該当する“明細”行を合計した値を表示する、“合計”行の印字についてのチェック項目だ。明細行が1行のときは、それがそのまま合計行の役割を果たすもので、帳票設計時に何も考えずに合計行を作ると、それが重複データの表示になるのである。 一方、“サブフォームに入らない場合も、印刷する”というチェック項目は、ふつうの制御だと合計行だけがはみだし、帳票の2枚目にわたってしまうというときに役立つ機能である。合計行を1枚目にもぐりこませてくれるので、印刷が1枚で済んでしまうのだ。 たかが1行、たかが1枚と思われるかもしれないが、大規模な帳票で何万枚、何十万枚も印刷するとなると、これだけでかなりの用紙節約になるだろう。
また、明細データが何ページにもわたるとき、総合計が最後にあると、何枚も何枚も紙/ページをめくらなければ知りたいことにたどり着けず、不便に感じたことはないだろうか。その点、SVFX-Designerは、迅速に結論を伝えるべく、総合計欄を最初に設けることができる。 当然、明細データをすべて計算してからでないと実現不能な機能で、プログラミング的には結構工夫が必要なのだが、ユーザーの利便性を考えると、決しておろそかにできない機能をしっかりと備えている。
「できるかぎり外部環境に依存することなく、帳票関連の機能はすべてSVFX-Designerで完結する。それも、“ノンプログラミング”で実現する」 それは、ウイングアーク テクノロジーズのSVFで目指した設計思想である。もちろん、従来の帳票開発ツールも“ノンプログラミング”でできる機能を用意してはいた。だが、それはある範囲までのことであって、その範囲を超えたことをしようとすると、とたんに業務アプリケーション側でのプログラミングが必要になる。しかも、ベンダ側はそれを引け目に感じるどころか、「本当に業務にフィットしたものを作るなら、最後はプログラミングですよね」といった姿勢だ。 しかし、アプリケーションの中に帳票関連の機能を作りこんでしまうと、業務要件が変わるたびに手を入れなくてはならなくなり、メンテナンス性が悪くなる。さらに、プラットフォームを変更するようなことにでもなれば、まったく一から作り直しである。より低コストで、より短納期で、より品質の高いシステム開発が求められている時代、そのような非効率な開発は現実的ではない。ウイングアーク テクノロジーズは、早くからこのことを見越して、機能を作りこんできた。
計算/編集関数の設定などもそれを実現する機能の1つといえるだろう。SVFX-Designerは、フィールドの属性でさまざまな設計関数を埋め込むことができる。それ故に、帳票設計ツールでありながら、“フォームアプリケーション”とも呼ばれている。 例えば、ある時点から販売価格が値上がりになり、請求書はそれを反映して発行しなければならないとしよう。そうした場合も、単価フィールドに入ってきたデータに値上げ後の金額を計算し、結果を編集して印刷できる。もちろん、数量フィールドに入ってきたデータと単価フィールドに入ってきたデータを演算して結果を金額フィールドに印刷するなどといったことも簡単だ(画面2)。
関数の用意も豊富で、設定も容易だ。「合計」フィールドを関数で設定する場合、「合計」フィールドを右クリックして、「属性」・「フィールドの設定」から、データ型の項目を「数値型」に設定する。「計算式」欄にカーソルを入れ、「関数」ボタンをクリックすると、「関数一覧」ダイアログボックスが表示される。この関数一覧から「合計値の取得」を選択する。次に、計算式に入った「数値型フィールド名」を指定の「金額」に置き換える、といった具合だ。すべてマウスだけの操作だ(画面3)。
もう1つ、SVFX-Designer側でコントロールできることで好評を得ているものに“給紙トレイの指定機能”がある。指定帳票、法令帳票などは専用帳票を使用しなければならないため、給紙トレイを固定する必要がある。“この帳票はこのプリンタのこの給紙トレイに出してほしい”というピンポイントの要望が、業務の現場には必ずある。これをいちいちOSのプリンタドライバやプリンタで設定しなければならないとしたら、業務効率はガタ落ちだ。しかし、あらかじめSVFX-Designerでトレイを指定しておくことで、ユーザーはそのことをまったく意識することなく業務アプリケーションから帳票出力を行える(図2)。
そして、この機能はプリンタの機種にまったく依存しない。情報システムの黎明期においては、コンピュータベンダがプリンタも供給したものだが、現在はそのようなことはほとんどない。プリンタの選択は情報システムとは独立した形で行われる。そして、プリンダベンダは多士済々である。帳票業務を支えるためには、真のマルチベンダ対応が必要で、SVFはやみくもにビジネス効率やスケールメリットを追うことなく、極めて実直にこれを実現しているのである。
ここまでは、データを帳票設計の中でどう扱うかという話をしてきたが、読者の中には、データベースのデータをSVFX-Designerで取り込む部分はどうなのか、と思った方もいるかもしれない。
SVFX-Designerは帳票設計機能と同じぐらい優秀な“クエリー設計機能”を備えている。クエリーファイルというものがあり、これを使えばデータベースに直接アクセスしてデータを抽出し、帳票設計で作成した帳票フォームとのフィールドと関連付けが行える。つまり、このツールは自動的にデータベースに対応した印刷データを送ることができるのだ(画面4)。
また、このツールはドライバおよびODBCドライバを備えており、これらを選択するだけで、データベースのテーブルを見ることができ、データベーステーブル間の項目の関連付けも、GUIベースのドラッグ&ドロップで行える。帳票開発において、開発者にSQL文だって書かせないというのが、SVFX-Designerの矜持なのだ。
ウイングアーク テクノロジーズ株式会社 営業部 部長 清水俊之氏は、SVFX-Designerの今日までの歩みを次のように語る。 「システム開発を生業とするエンジニアのところへは、次から次へと案件が舞い込みます。そのたびに“このシステムは帳票をどう作ればいいのか”と悩まなければいけないようだったら、仕事になりません。どんな案件が来ても、これがあれば大丈夫というオールマイティーな道具が必要で、まさにSVFX-Designerはそういう位置付けで使ってもらえるように、絶え間なく機能拡張してきました」 「また、企業においてはホストやサーバは複数ベンダの製品をそろえても、プリンタだけは単一ベンダ環境なのが普通です。“そこにあるそのプリンタに出力しなければいけない”という命題に応えるために、外部環境に依存することなくSVFX-Designer内部で知恵を蓄えてきたのです」 ◇ 今回は、新規に帳票を設計/デザインするときに、いかに工数をかけず、ノンプログラミングで作成するか、ということを中心に見てきたが、あくまで業務開発用の定型な紙ベースの帳票の話だった。自由度の高い帳票やプリンタいらずの電子帳票を開発する際にも、SVFX-Designerは“すごい”威力を発揮する。次回は、デザイン帳票と電子/Web帳票の時代に向かうSVFを中心に紹介する予定だ。
提供:ウイングアーク テクノロジーズ 株式会社 企画:アイティメディア 営業局 制作:@IT 編集部 掲載内容有効期限:2007年9月30日 |
|