PEXA Assignmentについて

チュートリアル

定義ファイル

各セクションの説明

実装

目次

  1. Destination概要
  2. Destinationセクション
    1. source_feedbackセクション
    2. Assignプロセス
      1. modelセクション
    3. cascade_source_cancelセクション
    4. cascade_rollbackセクション
    5. cascade_removeセクション
    6. cascade_historyセクション
    7. history_and_newセクション
    8. cascade_destination_to_sourceセクション


Destination概要

Destinationは、以下の手順で実行されます。

  1. source_dest_apply_filterによるマッチング
  2. assign_target_modelで指定されたモデルをdestination_init_mappingセクションの指定に基づき最初のAasignTaregt(Assign処理への入力モデル)を作成
  3. Assign処理プロセス(Destination)の実行
Assign処理プロセス内では
  • assign_conditionによるマッチング
  • AssignTargetからAssignを展開する際に展開元になるモデル(AssignIterator)の検索
  • Source、AssignTargetモデル等を使った処理(例:簡単な計算)
  • Assignモデルのマッピング
等を行うことができます。
また、Assignモデルのインスタンスは、Iteratorの指定がある場合は、検索されたIteratorの件数だけ生成され、Iteratorの指定がない場合は、1インスタンスになります。
生成されたAssignモデルのインスタンスは、次のAssign処理の入力(AssignTarget)モデルになったり、別のAssignment処理のSourceモデル(再帰処理)になったりします。

Destinationの展開イメージ図を以下に提示します。


Destinationセクション

全体書式 :

(destination
    assign_item_name宣言部(0|1)
    assign_item_description宣言部(0|1)
    assign_item_order_number宣言部(0|1)
    target_model_name宣言部(1)
    source_status_ptype_name宣言部(0|1)
    source_apply_status_value宣言部(0|1)
    source_previous_status_ptype_name宣言部(0|1)
    source_previous_status_value宣言部(0|1)
    source_after_status_value宣言部(0|1)
    reentrant属性(0|1)
    reentrant_filterセクション(0|1)
    sync_aet属性(0|1)
    commit属性(0|1)
    model_event_table_name宣言部(0|1)
    model_event_unsync属性(0|1)
    result_session宣言部(0|1)
    result_session_append属性(0|1)
    source_dest_apply_filterセクション(0|1)
    ignore_destination_remove属性(0|1)
    ignore_destination_rollback属性(0|1)
    ignore_destination_history属性(0|1)
    source_proxy属性(0|1)
    exist_destination_skip属性(0|1)
    exist_destination_skip_filterセクション(0|1)
    destination_init_mappingセクション(0|1)
    source_feedbackセクション(0|1)
    assignセクション(1)
    cascade_source_cancelセクション(0|1)
    cascade_rollbackセクション(0|1)
    cascade_removeセクション(0|1)
    cascade_historyセクション(0|1)
    history_and_newセクション(0|1)
    cascade_destination_to_sourceセクション(0|1)
)


記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

記述例 :

(destination
    assign_item_name           人事基本月次算定_給与月額展開
    assign_item_description    人事基本月次算定_給与月額展開
    assign_item_order_number   100000
    target_model_name          人事基本月次算定
    :
    :
    :
)

説明 :
Destinationセクションは、SourceモデルからAssignモデルを生成する処理を記述します。。
内部の各セクションの詳細については別項で解説します。

属性値 :
Destinationセクションの属性値は以下の通り。

assign_item_name宣言部

説明 :

Destinationセクションの名前を記述します。

記述例 :

assign_item_name    人事基本月次算定_給与月額展開


assign_item_description宣言部

説明 :

Destinationセクションの説明を記述します。

記述例 :

assign_item_description    人事基本月次算定_給与月額展開


assign_item_order_number宣言部

説明 :

Destinationセクションの実行順番を記述します。

記述例 :

assign_item_order_number    100000


target_model_name宣言部

説明 :

Destinationセクションで生成するモデル名を記述します。

記述例 :

target_model_name    人事基本月次算定


source_status_ptype_name宣言部

説明 :

Destinationセクションに関連したSourceのステータス項目名を指定します。

記述例 :

source_status_ptype_name    算定済区分


source_apply_status_value宣言部

説明 :

Destinationセクションに関連したSourceのステータス値を指定します。
source_status_ptype_nameとsource_apply_status_valueで指定したものは、Sourceの適用条件(source_status_ptype_name=source_apply_status_value)として追加されます。

記述例 :

source_apply_status_value    未算定


source_previous_status_ptype_name宣言部

説明 :

Destinationセクションを行う前のSourceのステータス項目名を指定します。
1つ前の保存は、ModelのTriggerを使って実装します。

記述例 :

source_previous_status_ptype_name    前算定済区分


source_previous_status_value宣言部

説明 :

Destinationセクションを行う前のSourceのステータス値を指定します。
source_previous_status_ptype_nameとsource_previous_status_valueで指定したものは、
Sourceの適用条件(source_previous_status_ptype_name=source_previous_status_value)として追加されます。

記述例 :

source_previous_status_value    算定済


source_after_status_value宣言部

説明 :

Destinationセクション実行後に設定するSourceのステータス値を指定します。

記述例 :

source_after_status_value    算定済


reentrant属性

説明 :

Destinationセクションで生成されたAssignモデルを再評価するかどうかを指定します。
省略時は、trueが指定されます。

記述例 :

reentrant    false


reentrant_filterセクション

説明 :

Destinationセクションで生成されたAssignモデルを再評価するときの条件を指定します。

記述例 :

(reentrant_filter
    filter "A is not null"
)


sync_aet属性

説明 :

Destinationセクションで生成されたAssignモデルをAETフレームワークに渡すかどうか指定します。
省略時は、trueが指定されます。

記述例 :

sync_aet    false


commit属性

説明 :

Destinationセクションで生成されたAssignモデルをcommitするかどうか指定します。
省略時は、trueが指定されます。

記述例 :

commit    false


model_event_table_name宣言部

説明 :

Destination結果でModelEventの呼び出しを行う場合はそのtable_nameを指定します。

記述例 :

model_event_table_name    T_人事基本月次算定


model_event_unsync属性

説明 :

Destination結果でModelEventの呼び出しを行う場合にそれを同期、非同期のいずれで呼び出すかを指定します。
省略時は、UNSYNCが指定されます。

記述例 :

model_event_unsync    SYNC


result_session宣言部

説明 :

Destination結果のリスト(ASSIGN_ResultList)を設定するSessionキーを指定します。

記述例 :

result_session    ASSIGN_ResultList


result_session_append属性

説明 :

Destination結果のリスト(ASSIGN_ResultList)を設定する際にリストを追加するのか(true)、置き換えるのか(false)指定します。
省略時は、trueが指定されます。

記述例 :

result_session_append    true


source_dest_apply_filterセクション

説明 :

Sourceモデルの適用条件を記述します。

記述例 :

(source_dest_apply_filter
    filter "月次人事基本給与計算区分 = 対象"
)


ignore_destination_remove属性

説明 :

exist_destinaion_skipでのdestination存在チェックや、cascade処理において、対象のdestinationを検索する際に、RemovedFlag=NOT_REMOVEDを含めるのかどうかを指定します。
省略時は、false(RemovedFlag=NOT_REMOVED)が条件として適用されます。

記述例 :

ignore_destination_remove    true


ignore_destination_rollback属性

説明 :

exist_destinaion_skipでのdestination存在チェックや、cascade処理において、対象のdestinationを検索する際に、ASSIGN_RollbackedFlag=NOT_ROLLBACKEDを含めるのかどうかを指定します。
省略時は、false(ASSIGN_RollbackedFlag=NOT_ROLLBACKED)が条件として適用されます。

記述例 :

ignore_destination_rollback    true


ignore_destination_history属性

説明 :

exist_destinaion_skipでのdestination存在チェックや、cascade処理において、対象のdestinationを検索する際に、ASSGIN_HistoryFlag=NOT_HISTORYを含めるのかどうかを指定します。
省略時は、false(ASSGIN_HistoryFlag=NOT_HISTORY)が条件として適用されます。

記述例 :

ignore_destination_history    true


source_proxy属性

説明 :

destinationに対してsourceモデルのproxyを設定するか否か、設定する項目名を指定します。
省略時は、trueが指定されます。
source_model_nameが指定されたときのみ有効です。 source_model_nameが指定されないで指定した場合は、PEXAアサインメントフレームワーク初期化時に例外が発生します。

記述例1 : map形式でない場合

source_proxy    true

記述例2 : map形式の場合

(source_proxy
    source_proxy_ptype_name        destinationにSourceのproxyを設定する項目名を指定します
    source_proxy_meta_ptype_name   destinationにSourceのproxy名を設定する項目名を指定します
    source_proxy_value_ptype_name  destinationにSourceのproxyの値を文字列として設定する項目名を指定します
)


exist_destination_skip属性

説明 :

Assignモデルがすでに存在する場合は、生成しないで処理をスキップするかどうかを指定します。

記述例 :

exist_destination_skip    true


exist_destination_skip_filterセクション

説明 :

Assignモデルの存在チェックの適用条件を記述します。

記述例 :

(exist_destination_skip_filter
    filter "人事基本No = @ASSIGN_Source/人事基本No and 月次基準年月 = @ASSIGN_Source/月次基準年月"
)

Assignモデルの存在チェック :

exist_destination_skip_filterが存在している場合は、それでチェックします。
exist_destination_skip_filterが存在しないで、source_feedback_proxyが指定されている場合は、 その通番でかつ、ignore_destination_history、ignore_destination_history、ignore_destination_removeを加味した条件で検索します。
exist_destination_skip_filterが存在しないで、 source_proxyが指定されれている場合は、 その通番かつ、ignore_destination_history、ignore_destination_history、ignore_destination_removeを加味した条件で検索します。


destination_init_mappingセクション

説明 :

SourceモデルからASSIGN_Targetモデルを生成するマッピングを記述します。

記述例 :

(destination_init_mapping
    人事基本No    @ASSIGN_Source/人事基本No
    算定済区分    未算定
)



source_feedbackセクション

全体書式 :

(source_feedback
    source_feedback_proxy属性(0|1)
    source_feedback_sync_aet属性(0|1)
    source_feedback_commit属性(0|1)
    source_feedback_mappingセクション(0|1)
    model_event_table_name宣言部(0|1)
    model_event_unsync属性(0|1)
)


記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

記述例 :

(source_feedback
    source_feedback_proxy       true
    source_feedback_sync_aet    false
    source_feedback_commit      false
    (source_feedback_mapping
        sourceモデル状態区分    作成済
        .
        .
        .
    )
    .
    .
    .
)

説明 :
Destinationセクション実行後にSourceモデルにフィードバックされる内容を記述します。 source_feedbackセクションは非必須です。

属性値 :
source_feedbackセクションの属性値は以下の通り。

source_feedback_proxy属性

説明 :

destinationのproxyをsourceモデルにフィードバックするかどうかを指定します。
trueが指定された場合は、destinationのproxyと同じ名前の現象型でフィードバックします。
map形式の場合は、destinationのproxyをフィードバックする項目名を指定します。

記述例1 : map形式でない場合

source_feedback_proxy    true

記述例2 : map形式の場合

(source_feedback_proxy
    source_feedback_proxy_ptype_name    ptypeA
)


source_feedback_sync_aet属性

説明 :

Sourceモデルにフィードバックされたあと、SourceモデルをAETフレームワークに渡すかどうか指定します。
省略時は、falseが指定されます。

記述例 :

source_feedback_sync_aet    true


source_feedback_commit属性

説明 :

Sourceモデルへのフィードバック結果をコミットするかどうか指定します。
省略時は、trueが指定されます。

記述例 :

source_feedback_commit    false


source_feedback_mappingセクション

説明 :

Sourceモデルにフィードバックする内容を指定します。

記述例 :

(source_feedback_mapping
    算定済区分    算定済
)


model_event_table_name宣言部

説明 :

ASSIGN_Sourceに対してフィードバック後、ModelEventの呼び出しを行う場合はそのtable_nameを指定します。

記述例 :

source_feedback_ignore_rollback    M_人事基本マスタ


model_event_unsync属性

説明 :

ASSIGN_Sourceに対してフィードバック後、ModelEventの呼び出しを行う場合にそれを同期、非同期のいずれで呼び出すかを指定します。
指定しない場合はUNSYNCが指定されたものとしてます。

記述例 :

model_event_unsync    SYNC



Assignプロセス

全体書式 :

[assign
    assign_process_id宣言部(1)
    assign_process_name宣言部(0|1)
    before_conditionセクション(0|1)
    after_conditionセクション(0|1)
    no_duplicate属性(0|1)
    iterator_as_assign属性(0|1)
    keep_assign_target属性(0|1)
    iteratorセクション(0|1)
    assign_target_feedbackセクション(0|1)
    prepare_sessionセクション(0|1)
    iterator_sessionセクション(0|1)
    mappingセクション(1)
]


記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

記述例 :

[assign
    assign_process_id    DES_0001
    assign_process_name  人事基本月次算定展開
    .
    .
    .
]

説明 :
Destinationの生成処理を記述します。。 Assignプロセスは必須です。

属性値 :
Assignプロセスの属性値は以下の通り。

assign_process_id宣言部

説明 :

Assignプロセスを特定するためのIDを指定します。
AssignShema内でユニークであること。

記述例 :

assign_process_id    DES_0001


assign_process_name宣言部

説明 :

Assignプロセスの名前を指定します。
設定しない場合は、assign_process_idと同じになります。

記述例 :

assign_process_name    人事基本月次算定展開


before_conditionセクション

説明 :

Assignモデルへのmappingを実行する前に評価されるSession条件式を記述します。

記述例 :

(before_condition
    filter "A is not null"
    error  &Skip
)


after_conditionセクション

説明 :

Assignモデルへのmappingを実行後に評価されるSession条件式を記述します。

記述例 :

(after_condition
    filter "A is not null"
    error  &Skip
)


no_duplicate属性

説明 :

AssignTargetを処理する際に元のAssignTargetのコピーを作成するかどうかを指定します。
省略時は、falseが指定されます。
trueが指定された場合は、Assignプロセス内のマッピング処理を行う前に、AssignTargetのコピーを生成を行います。 つまり、AssignTaregtを元にしたAssignインスタンスへの展開処理となります。
falseが指定された場合、Assignプロセス処理で元のAssignTargetを複写しないで、Assignを生成します。 つまり、元のAssignTargetがAssignプロセス処理の対象になります。
このオプションは、keep_assign_target=trueと一緒に設定して展開処理ではなくAssignTargetに対する更新処理を記述するのに利用します。

記述例 :

no_duplicate    true


keep_assign_target属性

説明 :

AssignTargetを次のAssignプロセス処理の対象にそのまま保持するかどうかを指定します。
省略時は、falseが指定されます。
trueが指定された場合は、AssignTargetも含めて次のAssignプロセスのAssignTargetとして引き継がれます。
falseが指定された場合、AssignTargetは次のAssignプロセスに引き継がれません。
このオプションは、no_duplicate=trueと一緒に設定して展開処理ではなくAssignTargetに対する更新処理を記述するのに利用します。

記述例 :

keep_assign_target    true


iterator_as_assign属性

説明 :

iteratorセクションで指定したiteratorモデルのインスタンスをAssignプロセス処理の対象に指定します。
省略時は、falseが指定されます。

記述例 :

iterator_as_assign    true


iteratorセクション

説明 :

iteratorは、Assignプロセスにおいて、AssignTargetからAssignを展開する際にiterator(モデルまたは、パラメータ)を使って繰り返し処理を行うことを指定します。
iteratorの結果については、それがunique(1行)であることを指定するオプションや、0行の場合にどのようなアクションをするかを指定するオプション等が存在します。

記述例 :

(iterator
    (model
        model_name	 人事採用予定
        (search
            filter	"人事採用予定No=@ASSIGN_Source/人事採用予定No"
        )
        no_result_or_multiple	FATAL
        no_result_error_message		"対象の人事採用予定が登録されていません。"
    )
)

iteratorセクションの詳細はmodelセクションを参照してください。


assign_target_feedbackセクション

説明 :

AssignTargetに対するフィードバック処理(mapping)を指定します。
現象型、値には任意のSession式を指定します。
コミット処理を行うかどうかの設定は、現象型に特定の現象型を設定することで行います。 マッピングに現象型「ASSIGN_NotCommitFlag」が指定されていて、その値が「NOT_COMMIT」の場合commit処理は実行されません。
このマッピングの結果に対してAET処理の対象にするかどうかの指定は存在しないです。

記述例 :

(assign_target_feedback
    AssignTarget状態区分    生成済
    ASSIGN_NotCommitFlag    NOT_COMMIT
)


prepare_sessionセクション

説明 :

AssignTargetの各行ごとに、mapping処理の前に実行するSessionプロセスを記述します。
iteratorセクションの前かつ、iterator_sessionが指定されている場合は、iterator_sessionセクションの前で実行されます。
mappingプロセス内で何度も同じSession式の評価が発生する場合などは、評価結果を保持しておいてパフォーマンス処理を改善することが可能です。 また前後のAssignTargetの値の比較の評価などにも利用可能です。

記述例 :

(prepare_session
    ASSIGN_TEMP_通し番号    &AsInteger:{0}
)


iterator_sessionセクション

説明 :

iteratorの各行を取得後、Assignに対するマッピングを行う前に呼び出されるSessionプロセス。
mappingプロセス内で何度も同じSession式の評価が発生する場合などは、評価結果を保持しておいてパフォーマンス処理を改善することが可能です。 また前後のAssignTargetの値の比較の評価などにも利用可能です。

記述例 :

(iterator_session
    ASSIGN_TEMP_通し番号    &Inc:{@ASSIGN_TEMP_通し番号}
)


mappingセクション

説明 :

Assignモデルに対するマッピング処理を記述します。
Assignモデルの現象型名、値の両方に任意のSession式を記述可能です。

記述例 :

(mapping
    入力時CalculationTypeCode    CALC_0001
)



modelセクション

全体書式 :

(model
    plugin宣言部(0|1)
    session宣言部(0|1)
    model_name宣言部(0|1)
    ignore_remove属性(0|1)
    ignore_history属性(0|1)
    ignore_rollback属性(0|1)
    searchセクション(0|1)
    no_result_or_multiple属性(0|1)
    no_result_error_code宣言部(0|1)
    no_result_error_message宣言部(0|1)
    model_empty_mappingセクション(0|1)
    unique属性(0|1)
    iterator_filterセクション(0|1)
    session_filterセクション(0|1)
    model_feedback_commit属性(0|1)
    model_feedbackセクション(0|1)
    model_feedback_sync_aet属性(0|1)
    model_event_table_name宣言部(0|1)
    model_event_unsync属性(0|1)
    portfolioセクション(0|1)
)

記述注:
    属性        あらかじめ決められた値を選択する(true/falseなど)
    宣言部      値または、値のリストを設定する
    セクション  入れ子で他の属性、宣言部、セクションを保持する可能性がある
                (値又は、値のリストが設定される場合もある)

    (1):必須
    (0|1):オプション
    (1以上):一個以上必須
    (0以上):0個以上(オプション)

記述例 :

(model
    model_name    標準月額給与表マスタ
    ignore_remove    false
    ignore_history   true
    ignore_rollback  true
    (search
        filter "有効性区分 = 有効"
        sort   CreateDatetime
    )
    no_result_or_multiple=FATAL
    (session_filter
        [models_condition
            model_name    標準月額給与表月次
            operator    and
            exist    not_exist
            unique   not_unique
            filter "月次基準年月=@ASSIGN_Source/月次基準年月 and 給与種別No=@ASSIGN_Iterator/給与種別No and 月次給与等級=@ASSIGN_Iterator/給与等級"
        ]
    )
)

説明 :
モデルを検索してその結果のリストをIteratorにします。 Portfolioオプションにより集約化やGroup化を行い、それをIteratorにすることも可能です。

属性値 :
modelセクションの属性値は以下の通り。

plugin宣言部

説明 :

外部のHelperクラスを指定します。

記述例 :

plugin    !pexa.share.service.assign.plugin.AssignModelContainerItemForCalc


session宣言部

説明 :

Session式でのiterator取得のパスを記述します。
plugin宣言部、model_name宣言部とは排他です。

記述例 :

session    @ASSIGN_Source/人事基本月次List


model_name宣言部

説明 :

検索対象のモデル名を指定します。
plugin宣言部、session宣言部の指定がない場合は必須です。

記述例 :

model_name    人事基本マスタ


ignore_remove属性

説明 :

Iteratorモデル検索条件に「RemoedFlag=NOT_REMOVED」を自動的に設定するのかどうかを指定します。
trueが指定された場合は、条件を自動的に追加しません。
省略時は、false(RemovedFlag=NOT_REMOVED)が条件として適用されます。

記述例 :

ignore_remove    true


ignore_history属性

説明 :

Iteratorモデル検索条件に「ASSIGN_HistoryFlag=NOT_HISTORY」を自動的に設定するのかどうかを指定します。
trueが指定された場合は、条件を自動的に追加しません。
省略時は、false(ASSIGN_HistoryFlag=NOT_HISTORY)が条件として適用されます。

記述例 :

ignore_history    true


ignore_rollback属性

説明 :

Iteratorモデル検索条件に「ASSIGN_RollbackedFlag=NOT_ROLLBACK」を自動的に設定するのかどうかを指定します。
trueが指定された場合は、条件を自動的に追加しません。
省略時は、false(ASSIGN_RollbackedFlag=NOT_ROLLBACK)が条件として適用されます。

記述例 :

ignore_rollback    true


searchセクション

説明 :

モデルに対する検索条件を記述します。
記述内容はServiceのSearchプロセスに準拠しています。

記述例 :

(search
    filter "人事基本状態区分=採用 AND 人事基本給与計算区分=対象"
    sort   人事基本職員番号
)


no_result_or_multiple属性

説明 :

検索結果が0件の場合や、unique=trueを指定したにもかかわらず、複数存在した等、例外が発生した場合の取り扱いを指定します。
指定しない場合はSKIPが指定された扱いになります。
指定できるオプションは、以下の5つになります。
  • SKIP・・・何もしない
  • CONTINUE・・・AssignTargetを処理対象リストに戻して次のAssignプロセスを実行する
  • RETURN・・・Assign処理を中止する
  • FATAL・・・例外を送信してAssign処理を中止する
  • MAPPING・・・Iteratorを生成する

記述例 :

no_result_or_multiple    FATAL


no_result_error_code宣言部

説明 :

no_result_or_multiple属性で「FATAL」を指定した場合に、表示するエラー番号を指定します。
指定しない場合は、-1が返されます。

記述例 :

no_result_error_code    99


no_result_error_message宣言部

説明 :

no_result_or_multiple属性で「FATAL」を指定した場合に、表示するエラーメッセージを記述します。
エラーメッセージ内では任意のSessionキーが指定可能です。ただし、簡易実装のため、セッションキー(@XXX)の前後には必ず空白を入れるようにしてください。
指定しない場合は、「検索結果が0件でした。」が返されます。

記述例 :

no_result_error_message    "対象の人事採用予定が登録されていません。"


model_empty_mappingセクション

説明 :

no_result_or_multiple属性で「MAPPING」を指定した場合のMAPPINGを記述します。
commitするかどうか、AET処理を行うかどうかの指定も可能です。

記述例 :

(model_empty_mapping
    (mapping
        人事基本No    @ASSIGN_Source/人事基本No
        人事基本職員番号    @ASSIGN_Source/人事基本職員番号
    )
    commit    true
    sync_aet  true
)


unique属性

説明 :

iteratorの検索結果が一行であることを指定します。
trueの場合、検索結果が存在しかつ一行以上あった場合は例外を送信します。
指定しない場合は、unique=falseが指定された扱いになります。

記述例 :

unique    true


iterator_filterセクション

説明 :

iteratorの検索結果の各行毎に対する適用条件と適用条件に合わないiteratorがあった場合のアクションを記述します。
unmatch属性で指定されるオプションは以下の3つです。 指定しない場合はCONTINUEが指定された扱いになります。
  • CONTINUE・・・次のIterator処理に移る
  • BREAK・・・その時点での処理結果(Assignのリスト)を返して、Assign処理を終える
  • FATAL・・・例外を送信してAssign処理を中止する
unmatch_error_codeは、unmatch=FATALが指定された場合のエラーコードを整数値で指定します。 指定しなかった場合は、「-909」が返されます。
unmatch_error_messageは、unmatch=FATALが指定された場合のエラーメッセージを指定します。 指定しなかった場合は、「Iteratorの除外条件が検出されました。」が返されます。

記述例 :

(iterator_filter
    filter "有効性区分=有効"
    unmatch    FATAL
    unmatch_error_code    999
    unmatch_error_message "Iteratorの検索結果は、有効なものではありません。"
)


session_filterセクション

説明 :

iteratorの検索結果の各行毎に対する適用条件と適用条件に合わないiteratorがあった場合のアクションを記述します。
unmatch属性で指定されるオプションは以下の3つです。 指定しない場合はCONTINUEが指定された扱いになります。
  • CONTINUE・・・次のIterator処理に移る
  • BREAK・・・その時点での処理結果(Assignのリスト)を返して、Assign処理を終える
  • FATAL・・・例外を送信してAssign処理を中止する
unmatch_error_codeは、unmatch=FATALが指定された場合のエラーコードを整数値で指定します。 指定しなかった場合は、「-909」が返されます。
unmatch_error_messageは、unmatch=FATALが指定された場合のエラーメッセージを指定します。 指定しなかった場合は、「Iteratorの除外条件が検出されました。」が返されます。

記述例 :

(session_filter
    [models_condition
        model_name    標準月額給与表月次
        operator    and
        exist    not_exist
        unique   not_unique
        filter "月次基準年月=@ASSIGN_Source/月次基準年月 and 給与種別No=@ASSIGN_Iterator/給与種別No and 月次給与等級=@ASSIGN_Iterator/給与等級"
    ]
    unmatch    FATAL
    unmatch_error_code    999
    unmatch_error_message "Iteratorの検索結果は、有効なものではありません。"
)


model_feedbackセクション

説明 :

iteratorモデルへのフィードバック(更新)のマッピングを記述します。
マッピング処理は、Assignインスタンスに対する処理が行われた後に実行されます。
つまり、AssignTargetからAssignを生成する際には、フィードバック前のiteratorが利用可能ということです。

記述例 :

(model_feedback
    算定済区分    算定済
)


model_feedback_commit属性

説明 :

iteratorモデルへのフィードバック内容をコミットするかどうか指定します。
指定しない場合は、trueが指定された扱いになります。

記述例 :

model_feedback_commit    false


model_feedback_sync_aet属性

説明 :

iteratorモデルへのフィードバック内容をAET処理するかどうか指定します。
指定しない場合は、falseが指定された扱いになります。

記述例 :

model_feedback_sync_aet    true


model_event_table_name宣言部

説明 :

iteratorモデルへのフィードバック内容をModelEventFrameworkに渡す場合、そのtable_nameを指定します。
ModelEventFrameworkを使用しない場合は特に設定不要です。

記述例 :

model_event_table_name    計算項目マスタ


model_event_unsync属性

説明 :

iteratorモデルへのフィードバック内容をModelEventFrameworkに渡す場合、同期、非同期いずれで行うのかを指定します。
指定しない場合は、UNSYNCが指定された扱いになります。

記述例 :

model_event_unsync    UNSYNC


portfolioセクション

説明 :

iteratorの検索結果をPortfolioとして扱うようにします。
Portfolio指定がされた場合、Assignプロセス実行時に以下のSessionキーが設定されます。
  • ASSIGN_ModelPortfolio
Group指定がされた場合、Assignプロセス実行時に以下のSessionキーが設定されます。
  • ASSIGN_ModelPortfolioGroup
Group指定がされた場合、Iteratorのリストには、GroupKeyのリストが設定されます。Sessionに対応するGroupKeyは、以下のSessionキーに設定されます。
  • ASSIGN_PortfolioGroupValue
groupセクションでは、グループ化する現象型名のリスト(group_key)やグループに追加する際のフィルタ条件(group_key_filter)を記述します。
iterator属性で指定されるオプションは以下の3つです。 指定しない場合はMODELが指定された扱いになります。
  • MODEL・・・Portfolioの構成要素
  • PORTFOLIO・・・Portfolioを設定する
  • GROUP・・・Portfolioのグループキーを指定する
prefetch_cache宣言部は、Portfolioを生成する際にPortfolioの構成要素のモデルインスタンスが追加されるごとに前もって評価する項目のリストを指定します。
procedureセクションは、Procedureを設定する現象型名とProcedureのクラスまたは、Service名の指定します。

記述例 :

(portfolio
    (group
        group_key    計算項目規定項目区分
    )
    iterator    GROUP
)



cascade_source_cancelセクション

説明 :

Sourceがキャンセル(状態が前の状態に戻った)場合に、destinationに対するcascade処理を記述します。
Sourceにキャンセルが発生したかどうかを判断するために、source_status_ptype_nameと、 source_previous_status_valueが指定されている必要があります。
省略された場合は、cascade処理を行いません。
source_previous_status_ptype_name、 source_apply_status_valueが指定されている場合は、前の状態がapply_status_valueであったかどうかも適用条件に設定されます。
source_feedback_proxyが指定されている場合、それがnot nullであることもsource適用条件に追加されます。 またignore_rollback,ignore_remove,ignore_historyの設定内容に基づき各状態に対するsource適用条件が追加、または、除外されます。
source_cancel_apply_filterが指定された場合は、上記の適用条件に加えて、ここで指定された条件をsource適用条件として追加されます。
cascade_cancel_to_destinationで、destinationに行うcascade内容を指定します。 指令できる項目は、remove,rollback,historyの3種類です。 省略された場合は、removeが指定されます。
source_cancel_feedback_mappingが存在する場合、sourceに対してその内容でフィードバック処理を行います。 また、 source_cancel_feedback_mappingが指定されていなくても、 source_feedback_proxyが指定されている場合、このproxyを削除するsourceフィードバック処理が自動的に追加されます。
destination検索時は、ignore_destination_history, ignore_destination_rollback,ignore_destination_removeの 設定内容に基づき各状態に対する条件がdestination検索条件に自動的に追加または、除外されます。

記述例1 : map形式でない場合

cascade_source_cancel    true

記述例2 : map形式の場合

(cascade_source_cancel
    cascade_cancel_to_destination    rollback
    (source_cancel_apply_filter
        filter ""
    )
    (source_cancel_feedback_mapping
        
    )
)


cascade_rollbackセクション

説明 :

Sourceモデルがrollbackされた状態(ASSIGN_RollbackedFlag=ROLLBACKED)になった場合に、destinationに対してrollbackのcascade処理を行うかどうかを指定します。
Source適用条件にはignore_rollback,ignore_remove,ignore_historyの設定内容に基づき各状態に対するsource適用条件が追加、または、除外されます。
また、source_feedback_proxyが指定されている場合は、それがnot nullであるという条件も自動的に追加されます。

記述例1 : map形式でない場合

cascade_rollback    true

記述例2 : map形式の場合

(cascade_rollback
    ignore_source_status           false
    ignore_done_flag               false
    cascade_source_apply_filter    NULL
    destination_search_filter      "算定済区分=算定済"
)

属性値 :
cascade_rollbackセクションをmap形式で記述した場合の属性値は以下の通り。

ignore_source_status

説明 :

Sourceの状態をsource適用条件から除外します。
省略時は、falseが指定されます。

記述例 :

ignore_source_status    false


ignore_done_flag

説明 :

内部で設定しているdest_removeと、destination_cascade_removeとの間でループを排除するためのフラグを評価しないように設定します。
省略時は、falseが指定されます。

記述例 :

ignore_done_flag    false


cascade_source_apply_filter

説明 :

source_dest_apply_filterに差し替えて、追加のsource適用条件を記述します。
また、文字列”NULL”を設定すると、 source_dest_apply_filterの条件を無効にすることができます。

記述例 :

source_dest_apply_filter    NULL


destination_search_filter

説明 :

Destinationの検索条件をsource_feedback_proxyを利用しないで記述します。

記述例 :

destination_search_filter    ""算定済区分=算定済""



cascade_removeセクション

説明 :

Sourceモデルがremoveされた状態(RemovedFlag=REMOVED)になった場合に、destinationに対してremoveのcascade処理を行うかどうかを指定します。
Source適用条件にはignore_rollback,ignore_remove,ignore_historyの設定内容に基づき各状態に対するsource適用条件が追加、または、除外されます。
また、source_feedback_proxyが指定されている場合は、それがnot nullであるという条件も自動的に追加されます。

記述例1 : map形式でない場合

cascade_remove    true

記述例2 : map形式の場合

(cascade_remove
    ignore_history                 false
    ignore_rollback                false
    ignore_source_status           false
    ignore_done_flag               false
    cascade_source_apply_filter    NULL
    destination_search_filter      "算定済区分=算定済"
)

属性値 :
cascade_removeセクションをmap形式で記述した場合の属性値は以下の通り。

ignore_history

説明 :

削除処理に関して、HISTORYのものを(ASSIGN_HistoryFlag=HISTORY)除外するかどうか指定します。
HISTORYのものを除外する場合にfalseを指定します。
省略時は、trueが指定されます。

記述例 :

ignore_history    false


ignore_rollback

説明 :

削除処理に関して、ROLLBACKのものを(ASSIGN_RollbackFlag=ROLLBACK)除外するかどうか指定します。
ROLLBACKのものを除外する場合にfalseを指定します。
省略時は、trueが指定されます。

記述例 :

ignore_rollback    false


ignore_source_status

説明 :

Sourceの状態をsource適用条件から除外します。
省略時は、falseが指定されます。

記述例 :

ignore_source_status    false


ignore_done_flag

説明 :

内部で設定しているdest_removeと、destination_cascade_removeとの間でループを排除するためのフラグを評価しないように設定します。
省略時は、falseが指定されます。

記述例 :

ignore_done_flag    false


cascade_source_apply_filter

説明 :

source_dest_apply_filterに差し替えて、追加のsource適用条件を記述します。
また、文字列”NULL”を設定すると、 source_dest_apply_filterの条件を無効にすることができます。

記述例 :

source_dest_apply_filter    NULL


destination_search_filter

説明 :

Destinationの検索条件をsource_feedback_proxyを利用しないで記述します。

記述例 :

destination_search_filter    ""算定済区分=算定済""



cascade_historyセクション

説明 :

Sourceモデルがhisotryされた状態(ASSIGN_HistoryFlag=HISTORY)になった場合に、destinationに対してhisotryのcascade処理を行うかどうかを指定します。
Source適用条件にはignore_rollback,ignore_remove,ignore_historyの設定内容に基づき各状態に対するsource適用条件が追加、または、除外されます。
また、source_feedback_proxyが指定されている場合は、それがnot nullであるという条件も自動的に追加されます。

記述例1 : map形式でない場合

cascade_history    true

記述例2 : map形式の場合

(cascade_history
    ignore_source_status           false
    ignore_done_flag               false
    cascade_source_apply_filter    NULL
    destination_search_filter      "算定済区分=算定済"
)

属性値 :
cascade_historyセクションをmap形式で記述した場合の属性値は以下の通り。

ignore_source_status

説明 :

Sourceの状態をsource適用条件から除外します。
省略時は、falseが指定されます。

記述例 :

ignore_source_status    false


ignore_done_flag

説明 :

内部で設定しているdest_removeと、destination_cascade_removeとの間でループを排除するためのフラグを評価しないように設定します。
省略時は、falseが指定されます。

記述例 :

ignore_done_flag    false


cascade_source_apply_filter

説明 :

source_dest_apply_filterに差し替えて、追加のsource適用条件を記述します。
また、文字列”NULL”を設定すると、 source_dest_apply_filterの条件を無効にすることができます。

記述例 :

source_dest_apply_filter    NULL


destination_search_filter

説明 :

Destinationの検索条件をsource_feedback_proxyを利用しないで記述します。

記述例 :

destination_search_filter    ""算定済区分=算定済""



history_and_newセクション

説明 :

Sourceに紐づいているdestinationを履歴化するとき、historyのcascade処理を行うかどうかを指定します。
Source適用条件にはignore_rollback,ignore_remove,ignore_historyの設定内容に基づき各状態に対するsource適用条件が追加、または、除外されます。
また、source_feedback_proxyが指定されている場合は、それがnot nullであるという条件も自動的に追加されます。

記述例1 : map形式でない場合

history_and_new    true

記述例2 : map形式の場合

(history_and_new
    ignore_source_status           false
    cascade_source_apply_filter    NULL
    destination_search_filter      "算定済区分=算定済"
)

属性値 :
history_and_newセクションをmap形式で記述した場合の属性値は以下の通り。

ignore_source_status

説明 :

Sourceの状態をsource適用条件から除外します。
省略時は、falseが指定されます。

記述例 :

ignore_source_status    false


cascade_source_apply_filter

説明 :

source_dest_apply_filterに差し替えて、追加のsource適用条件を記述します。
また、文字列”NULL”を設定すると、 source_dest_apply_filterの条件を無効にすることができます。

記述例 :

source_dest_apply_filter    NULL


destination_search_filter

説明 :

Destinationの検索条件をsource_feedback_proxyを利用しないで記述します。

記述例 :

destination_search_filter    ""算定済区分=算定済""



cascade_destination_to_sourceセクション

説明 :

Sourceに紐づいているdestinationを履歴化するとき、historyのcascade処理を行うかどうかを指定します。
Source適用条件にはignore_rollback,ignore_remove,ignore_historyの設定内容に基づき各状態に対するsource適用条件が追加、または、除外されます。
また、source_feedback_proxyが指定されている場合は、それがnot nullであるという条件も自動的に追加されます。

記述例 :

(cascade_destination_to_source
    source_status_operator_ptype_name
    source_status_timestamp_ptype_name
    destination_search_filter      "算定済区分=算定済"
)

属性値 :
cascade_destination_to_sourceセクションの属性値は以下の通り。

ignore_source_status

説明 :


記述例 :

ignore_source_status    false



更新情報

  • 最終更新者 : $Author: $
  • 最終更新日時 : $Date:: $
  • バージョン : $Revision: $



Copyright © 2006, Atrris Corporation