SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

5分でわかるActiveReports帳票

5分で"もっと"わかるActiveReports帳票(2008年度版)-帳票アプリケーション設計のポイント(1)

第4回 ActiveReportsアプリケーション開発の設計手法

  • X ポスト
  • このエントリーをはてなブックマークに追加

帳票アプリケーションの特徴と設計手順

 それでは、設計方針を確認する前に、帳票アプリケーションの特徴について簡単にまとめておきましょう。

 帳票アプリケーションとは、ひとことで言うと「データソースから抽出したデータを、帳票レイアウトによって書式付けし、所定のサイズを持つ用紙に出力する」アプリケーションです。つまり、帳票アプリケーションの機能を大きく分けて動作順に並べると、以下の3つになります。

  • データソースからデータを取得する
  • 取得したデータを帳票レイアウトに当てはめる
  • 帳票レイアウトをレンダリングして、用紙に出力する

 最初の「データソースから必要なデータを取得する」部分は、RDBMSやファイルなどに含まれるデータの中から必要なものを検索して、データを帳票として出力しやすい形に整える工程です。データソース側に定義されているフィールドをそのままバインドして使うことも多いのですが、場合によっては検索条件をつけて絞り込みをかけたり、データの型や並び順を修正するなど、データ量や型、書式を加工することもあります。この工程では、「データをデータソースからどのように切り出すか」を定義します。切り出されたデータのことを、ここでは「データモデル」と呼ぶことにします。

 次の「取得したデータを帳票レイアウトに当てはめる」部分は、整形されたデータモデルの各フィールドと、レポートファイルに配置されたコントロールを対応付けるための工程です。ここでは帳票レイアウトの定義として、全体のレイアウトやセクションごとの出力構造とグループ化条件、出力項目の書式設定などについて定義します。

 最後の「帳票レイアウトをレンダリングして、用紙に出力する」は、実際にプログラムを動かして、データモデルの各項目と帳票レイアウトを結びつけて出力コンテンツを生成し、規定のサイズを持つ用紙に割り付けていく工程です。ActiveReportsを利用して帳票アプリケーションを開発する場合、レンダリングと出力に関してはActiveReportsのレポートエンジンが担当してくれるので、この部分の機能は特に設計・開発する必要はありません。

帳票アプリケーション設計の流れ
帳票アプリケーション設計の流れ

 つまり、ActiveReportsを利用した帳票アプリケーション開発において、帳票アプリケーションの設計は「データモデルの定義」と「帳票レイアウトの定義」の2つがメインになると言えます。この他にも、ユーザーの要件によっては「データの集計結果にエラーがあれば、帳票の生成を中止する」「帳票を出力した日時をデータベースに記録する」など、さまざまな機能を追加する必要があるかもしれません。

 しかし、要求されたすべての機能を帳票出力アプリケーションとして一緒に実装してしまうと、各機能を個別に動作確認させることが難しくなり、またメンテナンス性も著しく低下します。

 帳票出力そのものと関係の薄い周辺機能は、帳票アプリケーション本体とはいったん切り離して設計し、それぞれが完成してから連携する、という手順を取った方が得策です。

次のページ
まずは帳票レイアウトを定義する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
5分でわかるActiveReports帳票連載記事一覧

もっと読む

この記事の著者

宮本奈紗(ミヤモトナサ)

株式会社システムインテグレータ ERPソリューション部所属。ERPシステムの設計・開発に従事。業務でActiveReportsを使用。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

渡辺俊史(ワタナベトシフミ)

株式会社システムインテグレータ パッケージ開発部所属。ECサイト構築パッケージの設計・開発に従事。VSUG(Visual Studio User Group) データベース・データアクセスフォーラムリーダー。blog...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2781 2015/06/04 12:59

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング