ヘッダーをスキップ

Oracle Workflow APIリファレンス
リリース2.6.3.5

部品番号: B15622-01
前へ 次へ       目次 索引 用語集
         前へ  次へ          目次  索引  用語集

Propagate_Role

構文

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]

標準の動作モードでは、これらの属性のいずれか(USER_NAMEは除く)が属性リストに渡されない場合またはNULLに設定されている場合、WF_LOCAL_ROLESでその属性に対応するフィールドの既存の値は変更されません。たとえば、電子メール・アドレスが渡されない場合は、ロールの既存の電子メール・アドレスが保持されます。 ただし、USER_NAME属性は常に渡す必要があります。Propagate_Role()プロシージャは、WHERE条件にこの値を使用するため、USER_NAMEが指定されていないと失敗します。 また、ユーザー・レコードがまだ存在していない場合は、使用する既存の値がないため、前述の属性をすべて渡す必要があります。

コードの信頼性を高めるために、Propagate_Role()をコールするときは、必ず前述の属性をすべて渡してください。 このようにすると、渡す属性を動的に決定するときに発生するエラーを回避できます。

注意: 標準の動作モードで最初にロール・レコードが作成されるとき、属性リストに表示名が指定されていない場合は、WF_LOCAL_ROLES内のロール・レコードの値を<orig_system>:<orig_system_ID>という形式で組み合せた値がデフォルト値として設定されます。 また、通知プリファレンスが指定されていない場合、ロール・レコードの通知プリファレンスはデフォルトでMAILHTMLに設定され、ステータスが指定されていない場合、ロール・レコードのステータスはデフォルトでACTIVEに設定されます。

WFSYNCH_OVERWRITEという特殊な属性を追加し、値をTRUEに指定することで、Propagate_Role()を上書きモードでコールすることもできます。上書きモードでは、次のいずれかの属性の値が渡されない場合またはNULLに設定されている場合、WF_LOCAL_ROLESでその属性に対応するフィールドの値はNULLに設定され、既存の値は削除されます。

したがって、上書きモードを使用する場合は、NULLに設定する属性を除き、すべての属性に値を渡す必要があります。また、USER_NAME属性は常に指定する必要があります。

注意: 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 ディレクトリ・サービスにおいて、ロールが有効でなくなる日付。

関連項目

AddParameterToList


          前へ   次へ           目次   索引   用語集



Oracleロゴ
Copyright © 2003, 2004, Oracle. All rights reserved.