SEWB+/REPOSITORYで業務ルールと関連づけられているデータ項目を含むレコードを,SEWB+/CONSTRUCTIONの@@interface文で指定すると,業務ルールを利用できます。業務ルールとはデータ項目に着目して,チェック条件や編集処理など,データ項目特有の処理を汎用的なルールとして業務ルール辞書に格納したものです。そのため,業務ルールを利用すると,それぞれのデータ項目に対する処理をユーザが書く手間が省けます。業務ルールをソースプログラム上に展開させたい場合は,テンプレート中に@@rule文を書きます。
なお,業務ルールの記述にテンプレート記述言語を使用できます。使用できるテンプレート記述言語の詳細は,「7.9.1 文と関数一覧」を参照してください。
テンプレート記述と業務ルールの関係を図7-1と図7-2に示します。
図7-1 SEWB+/CONSTRUCTIONでの業務ルールの仕組み(データ定義を使用した場合)
- データ定義種別を指定した可変記号の宣言
作成するプログラムで使用するデータ定義種別の可変記号を,@@interface文で宣言します。
- 業務ルール使用の宣言
テンプレートだけでは不足している情報は,ユーザが追加します(ユーザ処理)。ユーザ処理には,UOCを書く場合と,業務ルールを使用する場合とがあります。業務ルールを使用する場合は,テンプレートのユーザ処理の位置に@@rule文を書きます。@@rule文には「業務ルール展開名」と「抽出条件」を書きます。「抽出条件」には,業務ルールを抽出するための条件と,その条件の対象になるデータ項目が含まれているデータ定義種別の可変記号を書きます。
UOCを書く場合については,「7.9.49 @@uoc文」を参照してください。
- データ項目と業務ルールの定義(SEWB+/REPOSITORY)
プログラムで使用するデータ項目と業務ルールが定義されています。また,これらの間の関連や,業務ルールの適用条件も定義されています。適用条件とは,ルールスクリプト※中のデータ項目がどのような条件(処理の入力,出力)であるときに,その業務ルールを適用させるかという情報です。
- 注※
- ルールスクリプトとは,業務ルールの処理内容のことです。
- データ定義
データ定義では,プログラムで使用するファイル,DBおよびクライアントとサーバ間の通信インタフェースを定義します。データ定義でレコードを使用するときは,SEWB+/REPOSITORYで定義された最上位結合項目,またはSEWB+/RECORD DEFINERで作成されたレコード定義を参照して定義されます。
- 業務ルールの抽出と絞り込み
業務ルールの抽出では, テンプレートの@@rule文に書かれている抽出条件の「IN」「OUT」が,業務ルール辞書で定義されている適用条件「入力」「出力」と照会され,条件が一致する業務ルールがSEWB+/CONSTRUCTIONのプログラム定義画面に表示されます。
このような,適用条件と抽出条件による業務ルールの抽出を,「業務ルールの絞り込み」と言います。
図7-1では,マスタファイルのレコードを構成するデータ項目(データ項目1,2)は,業務ルール1と関連づけられています。また,@@rule文の抽出条件と業務ルールの適用条件が一致しています(3.参照)。したがって,@@rule文にマスタファイル名を指定すると,抽出条件に従って,業務ルール1が抽出されます。
適用条件の詳細は,マニュアル「SEWB+/REPOSITORY 辞書設計ガイド」を参照してください。
- 業務ルールの表示と選択
抽出された業務ルールは,プログラム定義の業務ルール展開設定画面に表示されます。プログラム作成者は,その中からソースプログラムに展開させたい業務ルールを選びます。
- ソースプログラムの生成
プログラム定義で選択された業務ルールが,ソースプログラム中に展開されます。
業務ルールを抽出する条件の対象に,論理設計図に定義されているデータ項目を指定することもできます。
テンプレート記述と業務ルール,論理設計図の関係を図7-2に示します。
図7-2 SEWB+/CONSTRUCTIONでの業務ルールの仕組み(論理設計図を使用した場合)
- 論理設計図を指定した可変記号の宣言
作成するプログラムで使用する論理設計図の可変記号を,@@interface文で宣言します。
- 業務ルール使用の宣言
@@rule文には「業務ルール展開名」と「抽出条件」を書きます。「抽出条件」のREF句には,可変記号を書きます。
論理設計図のインタフェース定義情報,およびオペレーション定義情報で定義されている特定のデータ項目を選択する場合には,TYPE句を指定します。インタフェース定義情報では,「属性」のデータ項目,オペレーション定義情報では「引数」,「例外」,および「戻り値の型」のデータ項目を選択できます。
- 論理設計図
SEWB+/CS-DESIGNでオブジェクトのインタフェース情報や,オペレーション情報を定義します。業務ルールを使用する場合,SEWB+/REPOSITORYのデータ項目を使用します。
論理設計図は,ユーザ定義型のようにデータ項目を使用しないで定義することもできますが,この場合は業務ルール検索の対象とはなりません。
データ項目とユーザ定義型を混在して使用した場合は,データ項目だけが業務ルール検索の対象となります。
- 業務ルールの抽出と絞り込み
データ定義を指定した場合は,データ定義に含まれるデータ項目すべてが業務ルール検索の対象となりますが,論理設計図を指定した場合は「属性」,「引数」,「例外」,または「戻り値の型」のどれに定義されたデータ項目から業務ルールの抽出を行なうかを指定できます。
この点を除いて,論理設計図を使用した場合も,業務ルール抽出と絞り込みの仕組みは図7-1のデータ定義を使用した場合と同じです。
All Rights Reserved. Copyright (C) 2007, Hitachi, Ltd.