SEWB+/CONSTRUCTION アプリケーション開発ガイド

[目次][用語][索引][前へ][次へ]

7.7.1 テンプレート記述と業務ルール

SEWB+/REPOSITORYで業務ルールと関連づけられているデータ項目を含むレコードを,SEWB+/CONSTRUCTIONの@@interface文で指定すると,業務ルールを利用できます。業務ルールとはデータ項目に着目して,チェック条件や編集処理など,データ項目特有の処理を汎用的なルールとして業務ルール辞書に格納したものです。そのため,業務ルールを利用すると,それぞれのデータ項目に対する処理をユーザが書く手間が省けます。業務ルールをソースプログラム上に展開させたい場合は,テンプレート中に@@rule文を書きます。

なお,業務ルールの記述にテンプレート記述言語を使用できます。使用できるテンプレート記述言語の詳細は,「7.9.1 文と関数一覧」を参照してください。

テンプレート記述と業務ルールの関係を図7-1と図7-2に示します。

図7-1 SEWB+/CONSTRUCTIONでの業務ルールの仕組み(データ定義を使用した場合)

[図データ]

  1. データ定義種別を指定した可変記号の宣言
    作成するプログラムで使用するデータ定義種別の可変記号を,@@interface文で宣言します。
  2. 業務ルール使用の宣言
    テンプレートだけでは不足している情報は,ユーザが追加します(ユーザ処理)。ユーザ処理には,UOCを書く場合と,業務ルールを使用する場合とがあります。業務ルールを使用する場合は,テンプレートのユーザ処理の位置に@@rule文を書きます。@@rule文には「業務ルール展開名」と「抽出条件」を書きます。「抽出条件」には,業務ルールを抽出するための条件と,その条件の対象になるデータ項目が含まれているデータ定義種別の可変記号を書きます。
    UOCを書く場合については,「7.9.49 @@uoc文」を参照してください。
  3. データ項目と業務ルールの定義(SEWB+/REPOSITORY)
    プログラムで使用するデータ項目と業務ルールが定義されています。また,これらの間の関連や,業務ルールの適用条件も定義されています。適用条件とは,ルールスクリプト中のデータ項目がどのような条件(処理の入力,出力)であるときに,その業務ルールを適用させるかという情報です。
    注※
    ルールスクリプトとは,業務ルールの処理内容のことです。
  4. データ定義
    データ定義では,プログラムで使用するファイル,DBおよびクライアントとサーバ間の通信インタフェースを定義します。データ定義でレコードを使用するときは,SEWB+/REPOSITORYで定義された最上位結合項目,またはSEWB+/RECORD DEFINERで作成されたレコード定義を参照して定義されます。
  5. 業務ルールの抽出と絞り込み
    業務ルールの抽出では, テンプレートの@@rule文に書かれている抽出条件の「IN」「OUT」が,業務ルール辞書で定義されている適用条件「入力」「出力」と照会され,条件が一致する業務ルールがSEWB+/CONSTRUCTIONのプログラム定義画面に表示されます。
    このような,適用条件と抽出条件による業務ルールの抽出を,「業務ルールの絞り込み」と言います。
    図7-1では,マスタファイルのレコードを構成するデータ項目(データ項目1,2)は,業務ルール1と関連づけられています。また,@@rule文の抽出条件と業務ルールの適用条件が一致しています(3.参照)。したがって,@@rule文にマスタファイル名を指定すると,抽出条件に従って,業務ルール1が抽出されます。
    適用条件の詳細は,マニュアル「SEWB+/REPOSITORY 辞書設計ガイド」を参照してください。
  6. 業務ルールの表示と選択
    抽出された業務ルールは,プログラム定義の業務ルール展開設定画面に表示されます。プログラム作成者は,その中からソースプログラムに展開させたい業務ルールを選びます。
  7. ソースプログラムの生成
    プログラム定義で選択された業務ルールが,ソースプログラム中に展開されます。

業務ルールを抽出する条件の対象に,論理設計図に定義されているデータ項目を指定することもできます。

テンプレート記述と業務ルール,論理設計図の関係を図7-2に示します。

図7-2 SEWB+/CONSTRUCTIONでの業務ルールの仕組み(論理設計図を使用した場合)

[図データ]

  1. 論理設計図を指定した可変記号の宣言
    作成するプログラムで使用する論理設計図の可変記号を,@@interface文で宣言します。
  2. 業務ルール使用の宣言
    @@rule文には「業務ルール展開名」と「抽出条件」を書きます。「抽出条件」のREF句には,可変記号を書きます。
    論理設計図のインタフェース定義情報,およびオペレーション定義情報で定義されている特定のデータ項目を選択する場合には,TYPE句を指定します。インタフェース定義情報では,「属性」のデータ項目,オペレーション定義情報では「引数」,「例外」,および「戻り値の型」のデータ項目を選択できます。
  3. 論理設計図
    SEWB+/CS-DESIGNでオブジェクトのインタフェース情報や,オペレーション情報を定義します。業務ルールを使用する場合,SEWB+/REPOSITORYのデータ項目を使用します。
    論理設計図は,ユーザ定義型のようにデータ項目を使用しないで定義することもできますが,この場合は業務ルール検索の対象とはなりません。
    データ項目とユーザ定義型を混在して使用した場合は,データ項目だけが業務ルール検索の対象となります。
  4. 業務ルールの抽出と絞り込み
    データ定義を指定した場合は,データ定義に含まれるデータ項目すべてが業務ルール検索の対象となりますが,論理設計図を指定した場合は「属性」,「引数」,「例外」,または「戻り値の型」のどれに定義されたデータ項目から業務ルールの抽出を行なうかを指定できます。
    この点を除いて,論理設計図を使用した場合も,業務ルール抽出と絞り込みの仕組みは図7-1のデータ定義を使用した場合と同じです。