PEXA Assignmentについて

チュートリアル

定義ファイル

各セクションの説明

実装

目次

  1. Reflection概要
  2. Reflectionセクション
    1. assign_item_name~source_feedback_proxyまでの説明
    2. source_feedbackセクション
    3. save~reflection_is_changedまでの説明
    4. reflection_commonセクション
    5. cancel_reflectionセクション


Reflection概要

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

  1. source_reflect_apply_filterによるマッチング
  2. Assign処理プロセス(Reflection)の実行
Assign処理プロセス内では
  • Assignモデルの更新マッピング
  • SourceモデルがキャンセルされたときのAssignモデル対応
等を行うことができます。
更新されたAssignモデルのインスタンスは、別のAssignment処理のSourceモデル(再帰処理)になったりします。


Reflectionセクション

全体書式 :

(reflection
    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_reflect_apply_filterセクション(0|1)
    ignore_remove属性(0|1)
    ignore_rollback属性(0|1)
    ignore_history属性(0|1)
    ignore_Reflection_removed属性(0|1)
    ignore_Reflection_rollback属性(0|1)
    ignore_Reflection_history属性(0|1)
    source_proxy属性(0|1)
    source_feedback_proxy属性(0|1)
    source_feedbackセクション(0|1)
    saveセクション(0|1)
    save_sync_aet属性(0|1)
    prepare_sessionセクション(0|1)
    reflection_target_search_filterセクション(0|1)
    reflection_target_apply_filterセクション(0|1)
    session_filterセクション(0|1)
    iterator_sessionセクション(0|1)
    mappingセクション(1)
    reflection_is_changed属性(0|1)
    reflection_commonセクション(0|1)
    cancel_reflectionセクション(0|1)
)


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

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

記述例 :

(Reflection
    assign_item_name           人事基本月次算定ロールバック
    assign_item_description    人事基本月次算定ロールバック
    assign_item_order_number   200000
    target_model_name          人事基本月次算定
    :
    :
    :
)

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

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


assign_item_name~source_feedback_proxyまでの説明
assign_item_name宣言部

説明 :

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

記述例 :

assign_item_name    人事基本月次算定ロールバック


assign_item_description宣言部

説明 :

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

記述例 :

assign_item_description    人事基本月次算定ロールバック


assign_item_order_number宣言部

説明 :

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

記述例 :

assign_item_order_number    200000


target_model_name宣言部

説明 :

Reflectionセクションで更新するモデル名を記述します。

記述例 :

target_model_name    人事基本月次算定


source_status_ptype_name宣言部

説明 :

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

記述例 :

source_status_ptype_name    算定済区分


source_apply_status_value宣言部

説明 :

Reflectionセクションに関連した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宣言部

説明 :

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

記述例 :

source_previous_status_ptype_name    前算定済区分


source_previous_status_value宣言部

説明 :

Reflectionセクションを行う前の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宣言部

説明 :

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

記述例 :

source_after_status_value    算定済


reentrant属性

説明 :

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

記述例 :

reentrant    false


reentrant_filterセクション

説明 :

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

記述例 :

(reentrant_filter
    filter "A is not null"
)


sync_aet属性

説明 :

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

記述例 :

sync_aet    false


commit属性

説明 :

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

記述例 :

commit    false


model_event_table_name宣言部

説明 :

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

記述例 :

model_event_table_name    T_人事基本月次


model_event_unsync属性

説明 :

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

記述例 :

model_event_unsync    false


result_session宣言部

説明 :

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

記述例 :

result_session    ASSIGN_ResultList


result_session_append属性

説明 :

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

記述例 :

result_session_append    true


source_reflect_apply_filterセクション

説明 :

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

記述例 :

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


ignore_remove属性

説明 :

Sourceモデルの適用条件にRemovedFlag=NOT_REMOVEDを含めるのかどうかを指定します。
省略時は、false(RemovedFlag=NOT_REMOVED)が条件として適用されます。

記述例 :

ignore_remove    true


ignore_rollback属性

説明 :

Sourceモデルの適用条件にASSIGN_RollbackedFlag=NOT_ROLLBACKEDを含めるのかどうかを指定します。
省略時は、false(ASSIGN_RollbackedFlag=NOT_ROLLBACKED)が条件として適用されます。

記述例 :

ignore_rollback    true


ignore_history属性

説明 :

Sourceモデルの適用条件にASSIGN_HistoryFlag=NOT_HISTORYを含めるのかどうかを指定します。
省略時は、false(ASSIGN_HistoryFlag=NOT_HISTORY)が条件として適用されます。

記述例 :

ignore_history    true


ignore_reflection_removed属性

説明 :

対象のReflectionを検索する際に、RemovedFlag=NOT_REMOVEDを含めるのかどうかを指定します。
省略時は、false(RemovedFlag=NOT_REMOVED)が条件として適用されます。

記述例 :

ignore_Reflection_removed    true


ignore_reflection_rollback属性

説明 :

対象のReflectionを検索する際に、ASSIGN_RollbackedFlag=NOT_ROLLBACKEDを含めるのかどうかを指定します。
省略時は、false(ASSIGN_RollbackedFlag=NOT_ROLLBACKED)が条件として適用されます。

記述例 :

ignore_Reflection_rollback    true


ignore_reflection_history属性

説明 :

対象のReflectionを検索する際に、ASSGIN_HistoryFlag=NOT_HISTORYを含めるのかどうかを指定します。
省略時は、false(ASSGIN_HistoryFlag=NOT_HISTORY)が条件として適用されます。

記述例 :

ignore_Reflection_history    true


source_proxy属性

説明 :

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

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

source_proxy    true

記述例2 : map形式の場合

(source_proxy
    source_proxy_ptype_name        Reflection先でourceのproxyを設定している項目名を指定します
)


source_feedback_proxy属性

説明 :

SourceモデルがReflection先のProxyをもっているかどうか指定します。
省略時は、trueが指定されます。

記述例 :

source_feedback_proxy    false



source_feedbackセクション

全体書式 :

(source_feedback
    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_sync_aet    false
    source_feedback_commit      false
    (source_feedback_mapping
        sourceモデル状態区分    作成済
        .
        .
        .
    )
    .
    .
    .
)

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

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

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の呼び出しを行う場合にそれを同期、非同期のいずれで呼び出すかを指定します。
指定しない場合はtrueが指定されたものとしてます。

記述例 :

model_event_unsync    false



save~reflection_is_changedまでの説明
saveセクション

説明 :

Reflection更新前をSourceモデルに保存する際のマッピングを記述します。

記述例 :

(save
    ASSCOMPreviousSampleTargetName       ASSCOMSampleTargetName
    ASSCOMPreviousSampleTargetBirthday   ASSCOMSampleTargetBirthday
    ASSCOMPreviousSampleTargetAge        ASSCOMSampleTargetAge
    ASSCOMPreviousSampleTargetSexFlag    ASSCOMSampleTargetSexFlag
    ASSCOMSampleTargetPreviousScore      ASSCOMSampleScore
)


save_sync_aet属性

説明 :

Reflection更新前をSourceモデルに保存した際にAETフレームワークに渡すかどうかを指定します。
指定しない場合はfalseが指定されたものとしてます。

記述例 :

save_sync_aet    true


prepare_sessionセクション

説明 :

Sourceモデルから任意のsession値を設定したい場合に記述します。
iterator_sessionが指定されている場合は、iterator_sessionセクションの前で実行されます。
mappingプロセス内で何度も同じSession式の評価が発生する場合などは、評価結果を保持しておいてパフォーマンス処理を改善することが可能です。

記述例 :

(prepare_session
    ASSIGN_TEMP_通し番号    @ASSIGN_Source/通し番号
)


reflection_target_search_filterセクション

説明 :

Reflection先の検索条件を指定します。
省略された場合は、source_feedback_proxyまたは、source_proxyの指定内容を使ってReflection先を検索します。

記述例 :

(reflection_target_search_filter
    filter "人事基本No=@ASSIGN_SOurce/人事基本No"
)


reflection_target_apply_filterセクション

説明 :

Reflection先に対してマッピングする際、マッピングできる条件を記述します。

記述例 :

(reflection_target_apply_filter
    filter "反映済区分=未反映"
)


session_filterセクション

説明 :

Reflection先の各行毎にチェックするModelsCondition条件を記述します。

記述例 :

(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_sessionセクション

説明 :

Reflection先へのMappingの前にsession処理を追加したい場合に記述します。

記述例 :

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


mappingセクション

説明 :

Reflectionで設定する内容を記述します。

記述例 :

(mapping
    ASSCOMSampleTargetName          @ASSIGN_Source/ASSCOMSampleName
    ASSCOMSampleTargetBirthday      @ASSIGN_Source/ASSCOMSampleBirthday
    ASSCOMSampleTargetAge           @ASSIGN_Source/ASSCOMSampleAge
    ASSCOMSampleTargetSexFlag       @ASSIGN_Source/ASSCOMSampleSexFlag
    ASSCOMSampleScore               @ASSIGN_Source/ASSCOMSampleScore
)


reflection_is_changed属性

説明 :

Reflection先がsourceモデルと設定値について違いがない場合はスキップするかどうかを指定します。
省略時はtrueが指定されます。

記述例 :

reflection_is_changed    false



reflection_commonセクション

全体書式 :

(reflection_common
    reflection_apply_date宣言部(0|1)
    reflection_apply_datetime宣言部(0|1)
    reflection_check_value属性(0|1)
    reflection_unmatch_fatal属性(0|1)
    reflection_unmatch_error_code宣言部(0|1)
    reflection_unmatch_error_message宣言部(0|1)
)


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

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

記述例 :

(reflection_common
    reflection_apply_date       2013/04/01
    reflection_apply_datetime   false
    reflection_check_value      true
    reflection_unmatch_fatal    false
    reflection_unmatch_error_code     -999
    reflection_unmatch_error_message  "reflection先が一致しません"
)

説明 :
Reflection処理をSourceモデルからAssignモデルに対して直接行う代わりに、CommonReflectionモデルを経由して行う仕組みです。 これにより、即時にReflection処理を行うのではなく、決められた日または日時にReflection処理を行うことができます。 また、即時反映した場合でも、変更前の値の記録(操作歴)が残ります。
reflection_commonセクションは非必須です。

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

reflection_apply_date宣言部

説明 :

Reflectionの反映日を指定します。
reflection_apply_date、reflection_apply_datetimeの双方が設定されていない場合は、即時反映になります。

記述例 :

reflection_apply_date    2013/04/01


reflection_apply_datetime宣言部

説明 :

Reflectionの反映日時を指定します。
reflection_apply_date、reflection_apply_datetimeの双方が設定されていない場合は、即時反映になります。

記述例 :

reflection_apply_datetime    2013/04/01 00:00:00


reflection_check_value属性

説明 :

Reflection時に値が変わっているかどうかをチェックするかのかどうかを指定します。
省略時は、trueが指定されます。

記述例 :

reflection_check_value    false


reflection_unmatch_fatal属性

説明 :

Reflection先でアンマッチが起こった場合に例外を発生されるかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

reflection_unmatch_fatal    true


reflection_unmatch_error_code宣言部

説明 :

reflection_unmatch_error_codeは、reflection_unmatch_fatal=trueが指定された場合のエラーコードを整数値で指定します。

記述例 :

reflection_unmatch_error_code     -999


reflection_unmatch_error_message宣言部

説明 :

reflection_unmatch_error_messageは、reflection_unmatch_fatal=trueが指定された場合のエラーメッセージを指定します。

記述例 :

reflection_unmatch_error_message     "reflection先が一致しません"



cancel_reflectionセクション

全体書式 :

(cancel_reflection
    force_cancel属性(0|1)
    previous_status_as_cancel属性(0|1)
    remove_as_cancel属性(0|1)
    history_as_cancel属性(0|1)
    rollback_as_cancel属性(0|1)
    ignore_source_status属性(0|1)
    source_cancel_apply_filterセクション(0|1)
    reflection_target_search_filterセクション(0|1)
    save_value_unmatch属性(0|1)
    save_value_unmatch_error_code宣言部(0|1)
    save_value_unmatch_error_message宣言部(0|1)
    cancel_source_proxy属性(0|1)
    cancel_source_proxy_feedback属性(0|1)
)


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

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

記述例 :

(cancel_reflection
    force_cancel    false
    previous_status_as_cancel    true
    remove_as_cancel     true
    history_as_cancel    true
    rollback_as_cancel   true
    save_value_unmatch   fatal
    save_value_unmatch_error_code       901
    save_value_unmatch_error_message    "Reflection unmatch"
    cancel_source_proxy_feedback        true
)

説明 : Reflectionキャンセル処理を記述します。
cancel_reflectionセクションは非必須です。

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

force_cancel属性

説明 :

設定値と違っていても前の値に戻すかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

force_cancel    true


previous_status_as_cancel属性

説明 :

Sourceが前の状態に戻ったらキャンセルを行うかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

previous_status_as_cancel    true


remove_as_cancel属性

説明 :

Sourceが削除されたらキャンセルを行うかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

remove_as_cancel    true


history_as_cancel属性

説明 :

Sourceが履歴化されたらキャンセルを行うかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

history_as_cancel    true


rollback_as_cancel属性

説明 :

SourceがRollbackされたらキャンセルを行うかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

rollback_as_cancel     true


ignore_source_status属性

説明 :

sourceのapply statusをキャンセル条件からはずすかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

ignore_source_status     true


source_cancel_apply_filterセクション

説明 :

sourceモデルに対する追加のcancel適用条件を記述します。

記述例 :

(source_cancel_apply_filter
    filter "@A is not null"
)


reflection_target_search_filterセクション

説明 :

キャンセルするAssignモデルの検索条件を記述します。

記述例 :

(reflection_target_search_filter
    filter "@A is not null"
)


save_value_unmatch属性

説明 :

設定値と違っていたら例外を出すかどうかを指定します。
save_value_unmatch属性で指定されるオプションは以下の2つです。
省略時は、continueが指定されます。
  • continue・・・次のAssign処理に移る
  • fatal・・・例外を送信してAssign処理を中止する

記述例 :

save_value_unmatch    fatal


save_value_unmatch_error_code宣言部

説明 :

save_value_unmatch_error_codeは、save_value_unmatch=fatalが指定された場合のエラーコードを整数値で指定します。

記述例 :

save_value_unmatch_error_code    901


save_value_unmatch_error_message宣言部

説明 :

save_value_unmatch_error_messageは、save_value_unmatch=fatalが指定された場合のエラーメッセージを指定します。

記述例 :

save_value_unmatch_error_message    "Reflection unmatch"


cancel_source_proxy属性

説明 :

キャンセル時にAssignモデルが持っているsourceモデルのProxyをクリアするかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

cancel_source_proxy     true


cancel_source_proxy_feedback属性

説明 :

キャンセル時にsourceモデルが持っているAssignモデルのProxyをクリアするかどうかを指定します。
省略時は、falseが指定されます。

記述例 :

cancel_source_proxy_feedback     true



更新情報

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



Copyright © 2006, Atrris Corporation