ヘッダーをスキップ

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

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

Propagate_User

構文

procedure Propagate_User


     (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表とを同期させ、このレコードが個々のユーザーであることを示すためにユーザー・フラグをYに設定します。 元のシステムおよび元のシステムIDを指定することにより、ユーザーが識別されます。 ユーザーの情報が保存されているパーティションのIDは、元のシステムに応じて自動的に設定されます。

注意: Oracle Applicationsでは、Propagate_User()を使用して、FND_USER表に保存されているOracle Applicationsユーザー、Oracle Trading Community Architecture (TCA)個人パーティ、およびTCA担当者(関連パーティ)のみを同期させるようにしてください。 Oracle Applicationsの他のモジュールで情報を同期させる場合は、Propagate_Role()を使用します。

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]
PERSON_PARTY_ID [PERSON_PARTY_ID]
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_User()プロシージャは、WHERE条件にこの値を使用するため、USER_NAMEが指定されていないと失敗します。 また、ユーザー・レコードがまだ存在していない場合は、使用する既存の値がないため、前述の属性をすべて渡す必要があります。

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

注意: 標準の動作モードで最初にユーザー・レコードが作成されるとき、属性リストに表示名が指定されていない場合は、WF_LOCAL_ROLES内のユーザー・レコードの値を<orig_system>:<orig_system_ID>という形式で組み合せた値がデフォルト値として設定されます。 また、通知プリファレンスが指定されていない場合、ユーザー・レコードの通知プリファレンスはデフォルトでMAILHTMLに設定され、ステータスが指定されていない場合、ユーザー・レコードのステータスはデフォルトでACTIVEに設定されます。 TCA個人パーティIDが指定されていない場合、Oracle Workflowでは、元のシステムおよび元のシステムIDからなる値を個人パーティIDとして使用します。

WFSYNCH_OVERWRITEという特殊な属性を追加し、値をTRUEに指定することで、Propagate_User()を上書きモードでコールすることもできます。上書きモードでは、次のいずれかの属性の値が渡されない場合または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に必須なので、いかなる場合も省略できません。

元のシステム、元のシステムID、失効日などの一部の値は、Propagate_User() APIのパラメータとして渡すことも、属性リスト・パラメータで属性として渡すこともできます。 LDAP統合を管理するEntity Managerには、Propagate_User()から属性リストのみが送られ、プロシージャの他のパラメータは渡されないため、これらの値は属性リストにも渡されます。


                to_char(<your date variable>, WF_ENGINE.Date_Format)

Oracle Workflowには他にも2つの特殊属性が用意されており、これらを使用してユーザー情報の変更方法を指定できます。

注意: ただし、p_expiration_dateパラメータにも値を指定した場合は、その値がDELETE属性よりも優先されます。 また、p_expiration_dateパラメータがNULLでも、ExpirationDate属性を指定した場合は、この属性がDELETE属性よりも優先されます。このような場合、指定した失効日まで、ユーザーは有効でアクティブなままになります。

引数(入力)

p_orig_system ユーザー情報の提供元になっているディレクトリ・リポジトリに割り当てるコード。
p_orig_system_id このリポジトリ・システムのユーザーを識別する主キー。
p_attributes ユーザーに関する情報が含まれている、属性の名前と値のペアのリスト。
p_start_date ディレクトリ・サービスにおいて、ユーザーが有効になる日付。
p_expiration_ date ディレクトリ・サービスにおいて、ユーザーが有効でなくなる日付。

関連項目

AddParameterToList


          前へ   次へ           目次   索引   用語集



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