5.2. OpenRules のルール定義ファイルを作成する¶
OpenRules では、Excelファイルで条件や、条件が合致したときの処理を表で作成できます。このハンズオンでは、簡単なルールをExcelファイルに定義する手順を確認することができます。
ルールを定義するExcelファイルを作成する手順
このシナリオで作成するルールの概要¶
作成するルールの内容
入力値の年齢に基づいて、条件に合致したメッセージを返却する- 入力値:年齢
- 出力値:メッセージ
条件と返却するメッセージの組み合わせは、以下の通りです。- 0歳未満(負数)の場合、「エラー!」と返却する
- 0歳以上6歳未満の場合、「幼児」と返却する
- 6歳以上13歳未満の場合、「小学生」と返却する
- 13歳以上16歳未満の場合、「中学生」と返却する
- 16歳以上19歳未満の場合、「高校生」と返却する
- 19歳以上23歳未満の場合、「大学生」と返却する
- 23歳以上の場合、「社会人」と返却する
ルールのExcelファイルを作成する手順¶
新規にExcelファイルを作成し、 OpenRules の実行に必要な表(テーブル)を順番に作成していきます。このシナリオでは、以下の図の流れで作成していきます。
Hello! OpenRules の手順
Excelファイルにルールの表( DecisionTable )を作成する¶
最初に、ルールの実体である「 DecisionTable 」の書き方を確認しましょう。「 DecisionTable 」では、実際に実行する処理の「条件」と「条件に合致したときの処理」の組み合わせを表にします。おおまかには、以下の図のように条件と処理をExcel上にまとめます。
テーブルタイプ表の種類を表します。 条件条件は、以下の形で構成されます。1行目:列が条件・評価(結果)のどのタイプかを表すキーワード2行目:評価に利用する項目名3行目~:演算子と基準値のパターン 評価(条件に合致した時の処理・値)評価は、以下の形で構成されます。1行目:列が条件・評価(結果)のどのタイプかを表すキーワード2行目:評価に利用する項目名3行目~:演算子と評価値のパターン
ルールの表( DecisionTable )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
パソコンでExcelを起動し、新規にブックを作成します。 OpenRules では、設定を含めたすべての表の1行目に「(1) キーワード」と「(2)テーブルの名称」を半角スペースを空けて記述します。 最初に作成するのは、条件と処理をまとめた表として扱うため、キーワードは「 DecisionTable 」と設定してください。 ヘッダには以下の形式でキーワードとテーブル名を入力してください。[キーワード]+半角スペース+[テーブル名]テーブル名は、任意の名称を半角英数字で入力してください。1つのデータソース定義に設定するExcelファイル内で、テーブル名が一意となるように設定してください。Excelファイルのシート上には、以下の図の通りに入力してください。OpenRules のしくみ上、1番上と1番左端の行と列には何も入力してはいけません。(以下の図では赤色の範囲が該当します。)そのため、1つずつ行と列を空けた上でテーブルタイプとテーブル名を入力してください。 2行目には、「条件」・「処理」に該当するキーワードを入力してください。
「条件」を表すキーワードとして、左のセルに「Condition」を入力してください。
「処理」を表すキーワードとして、右のセルに「Conclusion」を入力してください。
Excelファイルのシート上には、以下のように記述してください。条件や処理には、演算子の項目、値の項目の2列で構成します。したがって、Excelファイル上では条件、処理の単位で結合セルに設定してください。【DecisionTableのサブヘッダを設定する手順】
- 「Condition」と入力したセルと隣のセルをドラッグして選択状態にしてください。
- 「セルを結合して中央揃え」をクリックしてください。
- 「Condition」「Conclusion」のそれぞれのセルを同様に結合してください。
3行目には、「条件」・「処理」の項目名(論理名)を入力してください。左のセルには、「条件の項目の論理名」として「年齢」と入力してください。右のセルには、「処理の項目の論理名」として「メッセージ」と入力してください。各項目の論理名のセルも結合セルに設定してください。 これで、ヘッダが設定できましたので、一度保存し、次の手順に進みましょう。 ファイルを保存する際には、形式を「Excel 97-2003ブック(*.xls)」としてください。xls形式以外で保存した場合、データソース定義に登録することができません。
ルールの表( DecisionTable )の条件と処理(返却する値)を設定する¶
ルールの表のヘッダができましたので、実際に評価(判断)する項目の基準値と、処理(返却する値)を設定していきましょう。
OpenRules の「 DecisionTable 」は、上から順に条件を評価(判断)し、条件に合致したらその行の処理(返却する値)を実行して終了するしくみです。以下の図は入力値から条件の判定後、値を返却するまでの一連の流れを表しています。 「条件」と「処理」には、演算子と値を入力します。 最初の条件に、「年齢が0歳未満」と設定します。Excelファイルのシート上には、以下の図の通り入力してください。 「年齢が0歳未満」の条件に合致した場合のメッセージを設定します。Excelファイルのシート上には、以下の図の通り入力してください。 次の条件と処理の「0歳以上6歳未満の場合、”幼児”を返却する」を表にするために整理します。2番目以降の条件は、「1番目(その条件より上の条件)に合致しない」かつ「2番目以降の条件」と評価(判断)されます。条件にすべき内容は以下の流れで考えることができます。Excelファイルのシート上には、以下の図の通り入力してください。 「年齢が6歳未満」の条件に合致した場合のメッセージを設定します。Excelファイルのシート上には、以下の図の通り入力してください。 以下の3番目~6番目の条件は、2番目と同様に設定できますので、2番目と同様の形で設定します。Excelファイルのシート上には、以下の図の通り入力してください。 最後の7番目の条件は、演算子を「以上」を表すものに変更し、2番目と同様の形で設定します。メッセージには、「社会人」と入力します。Excelファイルのシート上には、以下の図の通り入力してください。 これで、ヘッダ・明細とも設定できましたので、一度保存し、次の手順に進みましょう。
ルールの表( DecisionTable )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、条件と処理の列の範囲で結合する必要がありますので、4列分を結合してください。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定します。ヘッダーのセルの上で右クリックし、メニューの「セルの書式設定」から書式を設定しましょう。 「配置」タブをクリック後に、文字の配置の横位置を「左詰め(インデント)」に変更してください。 「フォント」タブをクリック後に、色を「白」に変更してください。 「塗りつぶし」タブをクリック後に、背景色を「黒」に変更してください。「OK」をクリックして変更内容を反映させてください。 2行目のセルの上で右クリックし、メニューの「セルの書式設定」から書式を設定しましょう。 「塗りつぶし」タブをクリック後に、「その他の色」をクリックしてください。 「ユーザー設定」タブをクリック後に、以下の内容の色コードを入力し、最後に「OK」をクリックしてください。 3行目の「条件」セルの上で右クリックし、メニューの「セルの書式設定」から書式を設定しましょう。 「塗りつぶし」タブをクリック後に、「その他の色」をクリックしてください。「標準」タブから中心の左上の色を選択してください。(「ユーザー設定」から設定する場合、「RGB/204,255,255」として設定してください。) 「フォント」タブをクリック後、スタイルを「ボールド」に変更し、最後に「OK」をクリックしてください。 3行目の「処理」セルの上で右クリックし、メニューの「セルの書式設定」から書式を設定しましょう。 「塗りつぶし」タブをクリック後に、「その他の色」をクリックしてください。 「ユーザー設定」タブをクリック後に、以下の内容の色コードを入力し、最後に「OK」をクリックしてください。 「フォント」タブをクリック後、スタイルを「ボールド」に変更し、最後に「OK」をクリックしてください。 ルールの表(DecisionTable)が完成しましたので、ファイルを保存します。次に実行するために必要な表を追加していきます。
Excelファイルに項目名のマッピング表( Glossary )を作成する¶
ルールの基本の表の「 DecisionTable 」では、条件や処理の項目に論理名を設定しましたが、 OpenRules を実行するためには論理名と物理名をマッピングする必要があります。続いて、項目名のマッピング表( Glossary )を作成していきましょう。
A. 論理名論理名(業務担当者向けの用語)は、以下の形で構成されます。1行目:列のタイプ(論理名/オブジェクト名/物理名)を表す名称2行目~:ルールで利用する項目の論理名 B. オブジェクト名オブジェクト名(項目をまとめるグループの単位)は、以下の形で構成されます。1行目:列のタイプ(論理名/オブジェクト名/物理名)を表す名称2行目~:ルールで利用する項目をまとめたオブジェクト名 C. 物理名物理名(プログラム向けの名前)は、以下の形で構成されます。1行目:列のタイプ(論理名/オブジェクト名/物理名)を表す名称2行目~:ルールで利用する項目の物理名
項目名のマッピング表( Glossary )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
先の手順で作成したExcelファイルを開きます。 マッピング表のキーワードは「 Glossary 」と記述します。 テーブルの名称は、「glossary」と入力します。 ヘッダには以下の形式でキーワードとテーブル名を入力してください。Excelファイルに設定する各表(テーブル)は、他のテーブルと1つ以上行・列を空ける必要があります。(以下の図では赤色の範囲には何も入力しないでください。) 2行目には、各列のラベルを設定します。OpenRules の標準では、「Variable」「Business Concept」「Attribute」に設定されています。今回はわかりやすくするために左から「論理名」「オブジェクト」「物理名」と設定してください。コラム
Glossary の列ラベル部分は、自由に名前を設定することができます。「Variable」「Business Concept」「Attribute」の並び替えはできません。Excelファイルのシート上には、このように記述します。 これで、ヘッダが設定できましたので、一度保存し、次の手順に進みましょう。
項目名のマッピング表( Glossary )の項目・グループ・属性を設定する¶
項目名のマッピング表のヘッダができましたので、項目グループと物理名のマッピング情報を設定していきましょう。
論理名の内容を入力します。上から順に「名前」「年齢」「メッセージ」と入力します。Excelファイルのシート上には、このように記述します。 続いて、項目名の内容を設定します。項目名は、半角英数字で用語に対応した名称を設定する必要があります。このシナリオでは、上から順に「Name」「Age」「message」と入力します。Excelファイルのシート上には、このように記述します。 業務用語のマッピング表(Glossary)では、実行時に初期化するためのグループで属性をまとめます。このシナリオでは、入力項目のオブジェクト、出力項目のオブジェクトでまとめます。用語に「名前」を設定した行に「InputObject」、「メッセージ」を設定した行に「OutputObject」を設定します。「InputObject」には、2つの属性が含まれているため、「InputObject」は対象の属性の行数のセルを結合してください。Excelファイルのシート上には、このように記述します。「InputObject」のセルは結合対象のセル範囲を選択後、「セルを結合して中央揃え」をクリックしてください。 これで、業務用語のマッピング表(Glossary)の各項目が設定できましたので、一度保存し、次の手順に進みましょう。
業務用語のマッピング表( Glossary )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、「論理名」「オブジェクト」「物理名」の列の範囲で結合する必要がありますので、3列分のセルを結合してください。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定します。1行目のヘッダを以下の通りに設定します。 論理名の列のヘッダ・明細を以下の手順で設定してください。 論理名の列のヘッダを以下の手順で設定してください。 オブジェクト・物理名のヘッダを以下の手順で設定してください。 最後にオブジェクトの明細の揃え方を中央揃えにしてください。 項目名のマッピング表(Glossary)が完成しましたので、ファイルを保存します。次にルールで利用する項目やデータ型の定義の表を追加していきます。
Excelファイルに項目とデータ型の定義( Datatype )を作成する¶
項目とデータ型の定義( Datatype )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
先の手順で作成したExcelファイルを開きます。 項目とデータ型の定義のキーワードは「 Datatype 」と記述します。 ヘッダには以下の形式でキーワードとテーブル名を入力してください。[キーワード]+半角スペース+[オブジェクト名]コラム
テーブルの名称は、業務用語のマッピング表( Glossary )で「Business Concept」(このハンズオンで「オブジェクト」とした列)にする必要があります。入力項目のオブジェクト「InputObject」と入力してください。この「 Datatype 」も、他の表と同様に、同じシートに作成する場合には、1つ以上行・列を空けて作成します。以下の図中の赤色部分には何も入力しないでください。 Datatype は、オブジェクト単位に表を作成する必要があります。同様の手順で出力項目のグループ(OutputObject)のヘッダも作成しましょう。ここまで設定した状態のExcelのシートは、以下の通りです。 これで、ヘッダが設定できましたので、一度保存し、次の手順に進みましょう。
項目とデータ型の定義( Datatype )のデータ型と項目名を設定する¶
項目とデータ型の定義のヘッダができましたので、項目とデータ型を設定していきましょう。
最初に入力項目のグループ(InputObject)の表を作成していきましょう。 入力項目のオブジェクトの項目「名前」を定義します。Excelファイルのシート上には、このように記述します。 次に「年齢」を定義します。Excelファイルのシート上には、このように記述します。 これで、入力項目のグループ(InputObject)の表が設定できましたので、次に出力項目のグループ(OutputObject)を作成していきましょう。 出力項目のグループの項目「メッセージ」を定義します。Excelファイルのシート上には、このように記述します。 これで、項目とデータ型の定義(Datatype)が設定できましたので、一度保存し、次の手順に進みましょう。
項目とデータ型の定義( Datatype )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、「データ型」「項目名」の列の範囲で結合する必要がありますので、2列分を結合します。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定してください。1行目のヘッダを以下の通りに設定します。 残りの明細のセルを以下の手順で設定してください。 項目とデータ型の定義(Datatype)が完成しましたので、ファイルを保存します。次に実行するために必要な表を追加していきます。
Excelファイルに項目の初期値( Data )を作成する¶
項目の初期値の表の「 Data/Variable 」で利用する処理用の項目を設定していきましょう。
項目の初期値( Data )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
先の手順で作成したExcelファイルを開きます。 項目の初期値を設定するための表のキーワードは「 Data/Variable 」のいずれかを記述します。今回のハンズオンでは、「Data」と定義して進めていきます。 キーワードに続けて、テーブルで定義するためのオブジェクトの型は、業務用語のマッピング表( Glossary )で「Business Concept」(このハンズオンで「オブジェクト」とした列)を設定してください。入力項目のグループ「InputObject」と入力します。 オブジェクト名「InputObject」に続いて、 Data/Variable のヘッダにはインスタンス名を記述します。今回のハンズオンでは、インスタンス名を「inputObj」と入力します。 「InputObject」の初期値を設定する表のヘッダには以下の形式でキーワードとオブジェクトの型、インスタンス名を入力してください。[キーワード]+半角スペース+[オブジェクト名]+半角スペース+[インスタンス名]この「 Data/Variable 」も、他の表と同様に、他のテーブルと1つ以上行・列を空けて作成する必要があります。Excelのシートの状況は以下の通りです。 同様の手順で出力項目のオブジェクト(OutputObject)のヘッダも作成しましょう。出力項目のインスタンス名は「outputObj」とします。 「OutputObject」の初期値を設定する表のヘッダも、先のInputObjectど同じように以下の形式でキーワードとオブジェクトの型、インスタンス名を入力してください。[キーワード]+半角スペース+[オブジェクト名]+半角スペース+[インスタンス名]Excelのシートの状況は以下の通りです。 これで、ヘッダが設定できましたので、一度保存し、次の手順に進みましょう。
項目の初期値( Data )のサブヘッダ部分を作成する¶
Data/Variable は、サブヘッダに各オブジェクトの項目の物理名と論理名を設定します。
最初に入力項目のオブジェクト「InputObject」のサブヘッダを設定していきましょう。以下の図中のサブヘッダの(1)に物理名、(2)に論理名を入力します。 左の列に「名前」の項目を設定しますので、(1)物理名に「Name」、(2)論理名に「名前」と入力してください。Excelのシートの状況は以下の通りです。 右の列に「年齢」の項目を設定しますので、(1)物理名に「Age」、(2)論理名に「年齢」と入力してください。Excelのシートの状況は以下の通りです。 同様に出力項目のオブジェクト「OutputObject」のサブヘッダを設定していきましょう。サブヘッダの1行目に物理名の「message」、2行目に論理名の「メッセージ」と入力してください。Excelのシートの状況は以下の通りです。コラム
Data/Variable を Glossary から便利に作成するには
Glossary を先に作ってから Data/Variable を作成する場合、以下の手順で作成すると便利です。
作成済みの Glossary から特定のオブジェクトに含まれる物理名のセルをコピーしてください。
Data/Variable を作成する場所のセルで右クリックし、「形式を選択して貼り付け」をクリックしてください。
「値」のラジオボタンをオンにし、「行列を入れ替える」チェックボックスをオンにしてから「OK」をクリックしてください。以下のように Data/Variable への設定が簡単に行えます。
項目の初期値( Data )の項目と初期値を設定する¶
項目の初期値の表のヘッダ、サブヘッダができましたので、初期値を設定していきましょう。
作成した表の明細(以下の図の白いセル(1))に項目をインスタンス化(初期化)する際の初期値を設定します。ルールの実行時に値が設定されていない場合にはエラーが発生するため、空文字以外の値を設定するようにしてください。 項目「名前」の初期値として、左の列の明細に「太郎」と入力してください。Excelのシートの状況は以下の通りです。 項目「年齢」の初期値として、右の列の明細に「0」と入力してください。Excelのシートの状況は以下の通りです。 項目「メッセージ」の初期値として、「テストメッセージ」と入力してください。Excelのシートの状況は以下の通りです。 これで、項目の初期値(Data)が設定できましたので、一度保存し、次の手順に進みましょう。
項目の初期値( Data )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、サブヘッダ・明細の列の範囲で結合する必要がありますので、2列分を結合します。出力項目のオブジェクト(OutputObject)は、1列で構成されていますので、結合する必要はありません。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定します。1行目のヘッダを以下の通りに設定します。 サブヘッダの物理名を以下の手順で設定してください。 3行目のサブヘッダの論理名も同様に以下の手順で設定してください。 最後に明細を中央揃えに設定してください。 項目の初期値(Data)が完成しましたので、ファイルを保存します。次に実行するために必要な表を追加していきます。
Excelファイルにオブジェクトのインスタンスの設定( DecisionObject )を作成する¶
項目の初期値の表の「 DecisionObject 」で利用するオブジェクトの値の入出力方法を設定していきましょう。
A. オブジェクトGlossary で定義したオブジェクトです。 B. 値の入出力方法それぞれのオブジェクトに対して、値の受け渡し方法を記述します。
オブジェクトのインスタンスの設定( DecisionObject )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
先の手順で作成したExcelファイルを開きます。 オブジェクトのインスタンスの設定の表のキーワードは「 DecisionObject 」と記述します。 テーブルの名称は、”decisionObjects”と入力します。“decisionObjects”以外の名前を設定した場合、実行時にエラーが発生します。 ヘッダには以下の形式でキーワードとテーブル名を入力してください。[キーワード]+半角スペース+decisionObjectsExcelファイルに設定する各表(テーブル)は、他のテーブルと1つ以上行・列を空ける必要があります。(以下の図では赤色の範囲には何も入力しないでください。)
オブジェクトのインスタンスの設定( DecisionObject )のサブヘッダ部分を作成する¶
DecisionObject は、サブヘッダにオブジェクトとオブジェクトにインスタンス(入出力値)を割り当てる処理を記述します。
DecisionObject では、 Glossary で定義したオブジェクトへのインスタンスの割り当て方法や値の設定方法を設定します。(1)に対象のオブジェクト、(2)に割り当てを行うための式を記述しましょう。 今回のハンズオンでは以下の図の通りに、左を「オブジェクト」、右を「値の入出力方法」とサブヘッダのラベルに設定してください。Excelのシートの状況は以下の通りです。
オブジェクトへのインスタンスの割当処理を設定する¶
内部処理・出力用のオブジェクトの定義の表のヘッダ、サブヘッダができましたので、インスタンスの割当処理を設定していきましょう。
3行目に(1)オブジェクト単位で(2)インスタンスの割当処理を設定します。 Excelのシートの状況は以下の通りです。 「InputObject」は、 IM-BIS のデータマッパーと連携して入力値を受け取るように設定します。以下の形式でインスタンスを割り当てる処理を記述してください。 Excelのシートの状況は以下の通りです。 次にオブジェクト「OutputObject」の設定をします。右に「OutputObject」と記述しましょう。この部分の記述内容は、 Datatype で定義したオブジェクトと一致させてください。Excelのシートの状況は以下の通りです。 「OutputObject」では、 OpenRules の処理結果を受け取るように設定します。処理中・処理結果を受け取るためには、以下の式を(2)に記述してください。 Data/Variable で設定したオブジェクトやインスタンス名に基づいて、 DecisionObject には以下のように(2)に記述してください。Excelのシートの状況は以下の通りです。
オブジェクトのインスタンスの設定( DecisionObject )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、「オブジェクト」「値の入出力方法」の列の範囲で結合する必要がありますので、2列分のセルを結合してください。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定します。1行目のヘッダを以下の通りに設定します。 サブヘッダを以下の手順で設定してください。
DecisionObject のヘッダのセル範囲を選択してください。
フォントから「ボールド」をクリックしてください。
配置から横方向の文字揃えの「中央揃え」をクリックしてください。
選択範囲で右クリックし、メニューから「セルの書式設定」をクリックしてください。
「塗りつぶし」タブをクリック後、「その他の色」をクリックしてください。 「ユーザー設定」から以下の色を指定してください。
- カラーモデル: RGB
- 赤(R):141
- 緑(G):180
- 青(B):226
内部処理・出力用のオブジェクトの定義(DecisionObject)が完成しましたので、ファイルを保存します。次に実行するために必要な表を追加していきます。
入出力処理やルールの実行設定( Decision )を作成する¶
ルールを実行する際に DecisionTable の実行順などをコントロールするための表の「 Decision 」を設定していきましょう。
A. 処理名処理名は、以下の形で構成されます。1行目:列のタイプを表すキーワード2行目:列の名前(ラベル)3行目~:処理名 B. 実行する処理実行する処理の列は、以下の形で構成されます。1行目:列のタイプを表すキーワード2行目:列の名前(ラベル)3行目~:処理を表す式、DecisionTable名
入出力処理やルールの実行設定( Decision )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
入出力処理やルールの実行設定( Decision )のサブヘッダ部分を作成する¶
Decision は、サブヘッダに各列のタイプとラベルを記述します。
Decision では、さまざまな列タイプを設定し、列タイプに応じて必要な内容を設定します。サブヘッダでは、(1)列タイプを指定し、ユーザにわかりやすくするための(2)列ラベルを設定していきます。 今回のハンズオンでは必須の項目のみを設定します。(その他に設定できる列タイプは、「 Decision 」の「サブヘッダに利用できるキーワード」を参照してください。)サブヘッダの1行目に、左から「ActionPrint」「ActionExecute」と記述してください。Excelのシートの状況は以下の通りです。 Decision のサブヘッダの2行目はユーザが列の意味を理解するためのラベルとして利用されます。今回は、「 ActionPrint 」の(a)ラベルに「処理名」、「 ActionExecute 」の(b)ラベルには「実行する処理内容」と設定してください。Excelのシートの状況は以下の通りです。 これで、サブヘッダが設定できましたので、一度保存し、次の手順に進みましょう。
入出力処理やルールの実行設定( Decision )の処理内容と順序を設定する¶
入出力処理やルールの実行設定( Decision )のヘッダができましたので、評価を行う DecisionTable の名前や順序を設定していきましょう。
OpenRules の「 Decision 」は、上から順に DecisionTable を実行するしくみです。左側の列に処理を表すためのラベル(名前)、右側の列に実行する DecisionTable や Method を呼び出すための式を記述します。 今回は処理の最初と最後に、値の入出力がどのように行われるかを確認できるように、入力項目のオブジェクトと出力項目のオブジェクトをコンソール上に出力するための処理を記述します。先に左側の処理のラベルに、今回実行させる処理の名前を記述してください。Excelのシートの状況は以下の通りです。 続いて、実行する処理の式を記述します。最初に、今回のハンズオンでは、どのように入出力が行われているかを確認してから処理を実行します。そのために処理の最初に入力項目のオブジェクト、最後に出力用のオブジェクトの内容を出力する式を記述してください。オブジェクトの内容をコンソールに出力するためのJavaの標準出力の式は以下の通りです。// 入力項目のオブジェクトの出力 := System.out.println(getDecisionObject("InputObject")) // 出力項目のオブジェクトの出力 := System.out.println(getDecisionObject("OutputObject"))コラム
この標準出力のコードは、 Decision での必須項目ではありませんが、 OpenRules へ値の入出力が想定通りに行われているかなどのデバッグ時に活用できます。
Excelのシートの状況は以下の通りです。 次の行に DecisionTable を実行するために、作成した DecisionTable の名前を記述しましょう。Excelのシートの状況は以下の通りです。 DecisionTable の実行(評価)結果を出力項目のオブジェクトのインスタンスに格納する処理を記述しましょう。Excelのシートの状況は以下の通りです。 最後にレイアウトを整えて完成させましょう。
入出力処理やルールの実行設定( Decision )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、サブヘッダ・明細の列の範囲で結合する必要がありますので、2列分を結合します。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定します。1行目のヘッダを以下の通りに設定します。 2行目のサブヘッダを以下の手順で設定してください。
Decision の2行目のサブヘッダのセル範囲を選択してください。
配置から横方向の文字揃えの「中央揃え」をクリックしてください。
選択範囲で右クリックし、メニューから「セルの書式設定」をクリックしてください。
「塗りつぶし」タブをクリック後、画像の場所の色をクリックしてください。(「ユーザー設定」から設定する場合、「RGB/217,217,217」として設定してください。) 3行目のサブヘッダを以下の手順で設定してください。
Decision の3行目のサブヘッダのセル範囲を選択してください。
フォントから「ボールド」をクリックしてください。
配置から横方向の文字揃えの「中央揃え」をクリックしてください。
選択範囲で右クリックし、メニューから「セルの書式設定」をクリックしてください。
「塗りつぶし」タブをクリック後、「その他の色」をクリックしてください。 「ユーザー設定」から以下の色を指定してください。
- カラーモデル: RGB
- 赤(R):141
- 緑(G):180
- 青(B):226
入出力処理やルールの実行設定( Decision )が完成しましたので、ファイルを保存します。次に環境設定の表を追加していきます。
環境設定( Environment )を作成する¶
ルールを実行する際に必要な環境設定の表の「 Environment 」を設定していきましょう。
A. include/importルールの実行時に参照するExcelファイルやJavaパッケージなどを読み込むためのキーワードです。 B. ファイル名/パッケージ名A.のキーワードに合わせたファイル名(ファイルパス)、またはパッケージ名です。IntramartTemplate.xlsIM-BISと連携するために必要な処理などが含まれるExcelファイルです。BISとの連携時には必須の設定です。
環境設定( Environment )のヘッダ部分を作成する¶
表のヘッダは、 OpenRules のキーワードや項目名をルールに従って設定する必要があります。最初にヘッダとして必要な内容を設定しましょう。
先の手順で作成したExcelファイルを開きます。 マッピング表のキーワードは「 Environment 」と記述します。テーブル名等をつける必要はありませんので、これでヘッダが完成します。この「 Environment 」も、他の表と同様に、同じシートに作成する場合には、1つ以上行・列を空けて作成します。以下の図中の赤色部分には何も入力しないでください。 これで、ヘッダが設定できましたので、一度保存し、次の手順に進みましょう。
環境設定( Environment )に IM-BIS との連携情報のファイルを設定する¶
ルールの実行時には、 IM-BIS との連携に必要な情報が定義されている「IntramartTemplate.xls」を参照する必要があります。Environment で「IntramartTemplate.xls」を参照する設定を追加しましょう。
先の手順で作成したExcelファイルを開きます。 (1)には、参照するリソースのタイプに合わせたキーワードを指定します。(2)には、参照するリソースのファイルパル・ファイル名やパッケージ名等を指定します。 今回は、 IM-BIS との連携に必要な設定を行うために、キーワードとして「include」、対象にはExcelファイル「IntramartTemplate.xls」を以下のパスで指定してください。 これで、必要な情報を設定できましたので、一度保存し、次の手順に進みましょう。
環境設定( Environment )のレイアウトを整える¶
ルールの表のヘッダ・明細に必要な値を入力しましたので、レイアウトを整えます。
OpenRules のヘッダの1行目は、サブヘッダ・明細の列の範囲で結合する必要がありますので、2列分を結合します。 各セルの境界線をわかりやすくするために罫線を引きます。罫線の対象のセルを選択し、メニューの罫線から「格子」をクリックしてください。 各セルの書式を OpenRules の標準に合わせて設定します。1行目のヘッダを以下の通りに設定します。 残りのセルを以下の手順で設定してください。
Environment のヘッダ以外のセル範囲を選択してください。
選択範囲で右クリックし、メニューから「セルの書式設定」をクリックしてください。
「塗りつぶし」タブをクリック後、「その他の色」をクリックしてください。 「標準」タブで画像の場所の色をクリックしてください。(「ユーザー設定」から設定する場合、「RGB/204,255,255」として設定してください。)
- カラーモデル: RGB
- 赤(R):204
- 緑(G):255
- 青(B):255
これで、 OpenRules のExcelの定義ファイルが作成できました。次の手順で、データソース定義に登録し、 IM-BIS との連携を設定していきましょう。