SEWB+/REPOSITORYで業務ルールと関連づけられているデータ項目を含むレコードを,SEWB+/CONSTRUCTIONの@@interface文で指定すると,業務ルールを利用できます。業務ルールとはデータ項目に着目して,チェック条件や編集処理など,データ項目特有の処理を汎用的なルールとして業務ルール辞書に格納したものです。そのため,業務ルールを利用すると,それぞれのデータ項目に対する処理をユーザが書く手間が省けます。業務ルールをソースプログラム上に展開させたい場合は,テンプレート中に@@rule文を書きます。
なお,業務ルールの記述にテンプレート記述言語を使用できます。使用できるテンプレート記述言語の詳細は,「7.9.1 文と関数一覧」を参照してください。
テンプレート記述と業務ルール,データ定義の関係を次の図に示します。
図7-1 SEWB+/CONSTRUCTIONでの業務ルールの仕組み(データ定義を使用した場合)
![[図データ]](figure/zu070140.gif)
- データ定義種別を指定した可変記号の宣言
作成するプログラムで使用するデータ定義種別の可変記号を,@@interface文で宣言します。
- 業務ルール使用の宣言
テンプレートだけでは不足している情報は,ユーザが追加します(ユーザ処理)。ユーザ処理には,UOCを書く場合と,業務ルールを使用する場合とがあります。業務ルールを使用する場合は,テンプレートのユーザ処理の位置に@@rule文を書きます。@@rule文には「業務ルール展開名」と「抽出条件」を書きます。「抽出条件」には,業務ルールを抽出するための条件と,その条件の対象になるデータ項目が含まれているデータ定義種別の可変記号を書きます。
UOCを書く場合については,「7.9.38 @@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 辞書設計ガイド」を参照してください。
- 業務ルールの表示と選択
抽出された業務ルールは,プログラム定義の業務ルール展開設定画面に表示されます。プログラム作成者は,その中からソースプログラムに展開させたい業務ルールを選びます。
- ソースプログラムの生成
プログラム定義で選択された業務ルールが,ソースプログラム中に展開されます。