Oracle Workflow APIリファレンス リリース2.6.3.5 部品番号: B15622-01 |
![]() |
![]() |
![]() |
![]() |
![]() |
||
前へ | 次へ | 目次 | 索引 | 用語集 |
procedure Propagate_Role
(p_orig_system in varchar2,
p_orig_system_id in number,
p_attributes in wf_parameter_list_t,
p_start_date in date default null,
p_expiration_date in date default null);
説明
アプリケーション表に保存されているロールの情報とWF_LOCAL_ROLES表とを同期させ、このロールのユーザー・フラグをNに設定します。 元のシステムおよび元のシステムIDを指定することにより、ロールが識別されます。 ロールの情報が保存されているパーティションのIDは、元のシステムに応じて自動的に設定されます。
WF_LOCAL_ROLES表に保存するロール情報は、WF_PARAMETER_LIST_Tの形式で指定する必要があります。 WF_EVENT.AddParameterToList() APIを使用して、このリストに属性を追加できます。次の表は、このリストに含める必要のある属性の一覧です。これらは、WF_LOCAL_ROLESの必須の列に挿入します。 これらの属性には、標準のLDAP属性名を使用してください。
データベースの列 | 属性名 |
---|---|
NAME | [USER_NAME] |
DISPLAY_NAME | [DisplayName] |
DESCRIPTION | [description] |
NOTIFICATION_PREFERENCE | [orclWorkFlowNotificationPref] |
LANGUAGE | [preferredLanguage] |
TERRITORY | [orclNLSTerritory] |
EMAIL_ADDRESS | [mail] |
FAX | [FacsimileTelephoneNumber] |
STATUS | [orclIsEnabled] |
EXPIRATION_DATE | [ExpirationDate] |
ORIG_SYSTEM | [orclWFOrigSystem] |
ORIG_SYSTEM_ID | [orclWFOrigSystemID] |
PARENT_ORIG_SYSTEM | [orclWFParentOrigSys] |
PARENT_ORIG_SYSTEM_ ID | [orclWFParentOrigSysID] |
OWNER_TAG | [OWNER_TAG] |
LAST_UPDATED_BY | [LAST_UPDATED_BY] |
LAST_UPDATE_DATE | [LAST_UPDATE_DATE] |
LAST_UPDATE_LOGIN | [LAST_UPDATE_LOGIN] |
CREATED_BY | [CREATED_BY] |
CREATION_DATE | [CREATION_DATE] |
コードの信頼性を高めるために、Propagate_Role()をコールするときは、必ず前述の属性をすべて渡してください。 このようにすると、渡す属性を動的に決定するときに発生するエラーを回避できます。
注意: 標準の動作モードで最初にロール・レコードが作成されるとき、属性リストに表示名が指定されていない場合は、WF_LOCAL_ROLES内のロール・レコードの値を<orig_system>:<orig_system_ID>という形式で組み合せた値がデフォルト値として設定されます。 また、通知プリファレンスが指定されていない場合、ロール・レコードの通知プリファレンスはデフォルトでMAILHTMLに設定され、ステータスが指定されていない場合、ロール・レコードのステータスはデフォルトでACTIVEに設定されます。
WFSYNCH_OVERWRITEという特殊な属性を追加し、値をTRUEに指定することで、Propagate_Role()を上書きモードでコールすることもできます。上書きモードでは、次のいずれかの属性の値が渡されない場合またはNULLに設定されている場合、WF_LOCAL_ROLESでその属性に対応するフィールドの値はNULLに設定され、既存の値は削除されます。
注意: WF_LOCAL_ROLES表のDISPLAY_NAME、NOTIFICATION_PREFERENCE、STATUS、ORIG_SYSTEMおよびORIG_SYSTEM_IDの各列は、NULLに設定することはできません。したがって、これらの列では、対応する属性に値を渡さないと、上書きモードの場合でも既存の値が保持されます。
WF_LOCAL_ROLES表のNAME列もNULLに設定することはできませんが、USER_NAME属性はこのAPIに必須なので、いかなる場合も省略できません。
WFSYNCH_OVERWRITEという特殊な属性を追加し、値をTRUEに指定することで、Propagate_Role()を上書きモードでコールすることもできます。上書きモードでは、いずれかの属性の値が渡されない場合またはNULLに設定されている場合、WF_LOCAL_ROLESでその属性に対応するフィールドの値はNULLに設定され、既存の値は削除されます。したがって、上書きモードを使用する場合は、NULLに設定する属性を除き、すべての属性に値を渡す必要があります。また、WF_LOCAL_ROLES表のNAME、DISPLAY_NAME、NOTIFICATION_PREFERENCE、STATUS、ORIG_SYSTEMおよびORIG_SYSTEM_IDの各列は、NULLに設定することはできません。したがって、上書きモードを使用する場合は、これらの列に対応する属性には常に値を渡す必要があります。 そうしないと、プロシージャは失敗し、更新は行われません。
元のシステム、元のシステムID、失効日などの一部の値は、Propagate_Role() APIのパラメータとして渡すことも、属性リスト・パラメータで属性として渡すこともできます。 LDAP統合を管理するEntity Managerには、Propagate_Role()から属性リストのみが送られ、プロシージャの他のパラメータは渡されないため、これらの値は属性リストにも渡されます。
to_char(<your date variable>, WF_ENGINE.Date_Format)
Oracle Workflowには他にも2つの特殊属性が用意されており、これらを使用してロール情報の変更方法を指定できます。
注意: ただし、p_expiration_dateパラメータにも値を指定した場合は、その値がDELETE属性よりも優先されます。 また、p_expiration_dateがNULLでも、ExpirationDate属性を指定した場合は、この属性がDELETE属性よりも優先されます。このような場合、指定した失効日まで、ロールは有効でアクティブなままになります。
注意: Oracle Applicationsでは、元のシステムがPER_ROLEであるOracle Human Resources担当者ロールをPropagate_Role()を使用して伝播するとき、この担当者がOracle Applicationsユーザーにリンクされている場合は、担当者レコードのみでなく、WF_LOCAL_ROLES内の元のシステムがPERである、対応するユーザー・レコードも更新されます。
引数(入力)
p_orig_system | ロール情報の提供元になっているディレクトリ・リポジトリに割り当てるコード。 |
p_orig_system_id | このリポジトリ・システムのロールを識別する主キー。 |
p_attributes | ロールに関する情報が含まれている、属性の名前と値のペアのリスト。 |
p_start_date | ディレクトリ・サービスにおいて、ロールが有効になる日付。 |
p_expiration_ date | ディレクトリ・サービスにおいて、ロールが有効でなくなる日付。 |
前へ | 次へ | 目次 | 索引 | 用語集 |