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

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

7.7.3 業務ルールの分割展開

業務ルールは必要に応じて,プログラムのコード上,連続していない複数の個所へ展開できます。業務ルールを分割して展開させるには,@@section文と@@merge文を使用します。@@section文は業務ルール中に,@@merge文はテンプレート中に書きます。なお,@@section文の詳細は,マニュアル「SEWB+/REPOSITORY 辞書設計ガイド」を参照してください。

<この項の構成>
(1) @@section文と@@merge文との関係
(2) 可変記号を指定するときの注意事項
(3) @@section文の制限事項

(1) @@section文@@merge文との関係

業務ルールの定義内容は,通常は,テンプレートで@@rule文が書かれている個所に展開されます。ただし,業務ルールの中に@@section文が書かれている場合は,その部分が,テンプレート中の@@merge文が書かれている個所に展開されます。業務ルールでの記述とテンプレートでの記述,および展開先の場所の関係を表7-2に示します。

表7-2 展開場所ごとの業務ルールの記述

業務ルールの記述 テンプレートでの記述 展開場所

  • @@section MAIN
  • 業務ルールに@@sectionを書かない
@@rule"業務ルール展開名"が書かれている @@rule文を書いた場所

  • @@section コード名
@@merge 可変記号が書かれている

@@section文のコード名と@@merge文の可変記号が一致している
@@merge文を書いた場所

注※
可変記号は先頭に「@」が付けられるので,「@コード名」となります。可変記号の先頭から「@」を削除した部分と,@@section文のコード名が同一ならば,これらは一致しているとみなされます。

表7-2に示されているような展開の仕組みを利用して,一つの業務ルールを分割して展開させることができます。次に分割展開の例を示します。

(例)
[図データ]

(凡例)
実線:@@merge文の位置に展開される場合を示しています。
@@section文には,テンプレート中に書かれた@@merge文に指定されている可変記号の,「@」以降の文字列と同じコード名を書きます。
可変記号については,「(2) 可変記号を指定するときの注意事項」を参照してください。
@@section文が展開される範囲は,別の@@section文が現れるまで有効です。
破線:@@rule文の位置に展開される場合を示しています。
@@section MAINを書くと,テンプレート中の@@rule文が書かれた位置に,@@section文の内容が展開されます。@@section文が展開される範囲は,別の@@section文が現れるまで有効です。

(2) 可変記号を指定するときの注意事項

業務ルールを分割展開させるときには,業務ルール中の「@@section文 コード名」のコード名と,テンプレート中の「@@merge文 可変記号」の先頭の「@」を除いた部分が一致していなければなりません。このため,テンプレート作成者とデータ項目辞書作成者は,どこにどのような可変記号とコード名を使うかを,あらかじめ決めておく必要があります。

(3) @@section文の制限事項

業務ルール中に@@section文を使用した場合,@@section文以降には展開制御文を使用できません。