13 Oracle Human Resourcesとの同期
企業内の従業員データ用のプライマリ・リポジトリとしてOracle Human Resourcesを使用している場合は、Oracle Human ResourcesとOracleバックエンド・ディレクトリの間でデータを同期化する必要があることがあります。同期化には、Oracle Human Resourcesコネクタを使用します。
この章では、Oracle Human Resourcesコネクタを紹介し、そのデプロイ方法を説明します。
トピック:
-
Oracle Human ResourcesからのOracleバックエンド・ディレクトリのブートストラップ
ノート:
Oracle E-Business Suiteを含むOracle Human Resources環境と同期する場合、Oracle Directory Integration PlatformがサポートするOracle E-Business Suite統合ソリューションの使用をお薦めします。詳細は、「Oracle E-Business Suiteとのプロビジョニング・データの統合」を参照してください。
関連項目:
Oracleバックエンド・ディレクトリと同期化できるOracle Human Resourcesのリリースを確認する場合は、使用するOracleバックエンド・ディレクトリのリリース・ノートを参照してください。
13.1 Oracle Human Resourcesとの同期化の概要
Oracle Human Resourcesコネクタを使用すると、従業員データのサブセットをOracle Human ResourcesからOracleバックエンド・ディレクトリにインポートできます。これには、事前パッケージ済の統合プロファイルおよびOracleバックエンド・ディレクトリとの通信を処理するOracle Human Resourcesエージェントの両方が含まれます。Oracle Enterprise Manager Fusion Middleware Controlを使用して、デプロイの要件を満たすように、事前パッケージ済の統合プロファイルをカスタマイズできます。
Oracle Human Resourcesコネクタは、Oracle Human Resourcesシステムから増分変更を抽出するように構成することによって、いつでも実行できるようにスケジュールできます。また、Oracle Human Resourcesの列名とOracleバックエンド・ディレクトリの属性の間のマッピングを設定および変更できます。
13.2 Oracle Human Resourcesからインポートできるデータ
この項では、Oracle Human Resourcesからインポートできる属性について説明します。
表13-1は、Oracle Human Resourcesスキーマの表を示しています。選択した場合は、これらの属性のほとんどをOracle Internet Directoryにインポートできます。
表13-1 Oracle Human Resourcesスキーマの表
表名 | コネクタ構成情報フィールドで使用される別名 |
---|---|
PER_PEOPLE_F |
PER |
PER_ADDRESSES |
PA |
PER_PERIODS_OF_SERVICE |
PPS |
PER_PERSON_TYPES |
PPT |
Oracle Human Resourcesデータベースにappsアカウントでログインした場合は、これらの表はすべて参照できます。
属性は実行時に構成ファイルから追加または削除できるので、Oracle Human Resourcesコネクタは、必要な属性のみを選択して取得するSQL文を動的に作成します。
表13-2は、Oracle Human Resourcesのユーザー・インタフェースのフィールドの一部を示しています。これらのフィールドは、従業員データを追加または変更するときに表示されます。
表13-2 Oracle Human Resourcesのユーザー・インタフェースのフィールド
属性名 | 説明 | フォーム/キャンバス/フィールド名 |
---|---|---|
|
個人の姓 |
個人情報/氏名/姓 |
|
個人の名 |
個人情報/氏名/名 |
|
個人の役職 |
個人情報/氏名/タイトル |
|
サフィックス(Jr、Sr、Ph.Dなど) |
個人情報/氏名/サフィックス |
|
ミドルネーム |
個人情報/氏名/ミドルネーム |
|
性別 |
性別リスト・ボックス |
|
入社日 |
個人情報/入社日 |
|
生年月日 |
個人情報/個人情報/生年月日 |
|
婚姻区分 |
個人情報/個人情報/ステータス |
|
米国居住者用社会保障番号 |
個人情報/識別情報/社会保障 |
|
従業員番号 |
個人情報/識別情報/従業員 |
|
障害の有無のインジケータ |
個人情報/個人情報/障害の有無 |
|
電子メール・アドレス |
個人情報/個人情報/Eメール |
|
オフィス所在地 |
個人情報/オフィス所在地情報/オフィス |
|
郵便物配達先 |
個人情報/オフィス所在地情報/郵便宛先 |
|
事務所 |
個人情報/オフィス所在地情報/事業所 |
|
住所1 |
個人住所情報/住所1 |
|
住所2 |
個人住所情報/住所2 |
|
住所3 |
個人住所情報/住所3 |
|
市区町村 |
個人住所情報/市区 |
|
地域1 |
個人住所情報/郡 |
|
地域2 |
個人住所情報/都道府県 |
|
郵便番号 |
個人住所情報/郵便番号 |
|
国 |
個人住所情報/国 |
|
電話番号1 |
個人住所情報/電話番号 |
|
電話番号2 |
個人住所情報/電話番号2 |
13.3 Oracle Human ResourcesとOracleバックエンド・ディレクトリ間の同期の管理
次のステップを順序どおりに使用して、Oracle Human ResourcesとOracleバックエンド・ディレクトリの間の同期を管理します。
トピック:
13.3.1 Oracle Human Resourcesコネクタのディレクトリ統合プロファイルの構成
Oracle Human Resourcesコネクタとともにインストールされる事前パッケージ済の統合プロファイルを構成するには、「ディレクトリ同期プロファイルの管理」を参照してください。
パッケージ済統合プロファイルの一部のパラメータでは、Human Resourcesコネクタとの統合に固有の値を指定する必要があります。Human Resourcesコネクタに固有のパラメータは、表13-3を参照してください。
表13-3 Oracle Human Resourcesコネクタ統合プロファイルに固有の属性
属性 | 説明 |
---|---|
プロファイル名( |
システム内でコネクタを識別するための一意の名前で、統合プロファイルを識別する識別名のRDNコンポーネントとして使用されます。名前に含めることができるのは、英数字のみです。この属性は必須で、変更できません。デフォルトの名前は |
同期モード( |
Oracleバックエンド・ディレクトリと接続ディレクトリ間での同期の方向。
デフォルトは この属性は必須で、変更可能です。 ノート: Oracle Internet Directory 11gリリース1 (11.1.1)では、Oracle Human Resourcesに対するインポート操作のみがサポートされます。 |
実行情報 |
|
エージェントの実行コマンド( |
Directory Integration Serverがコネクタの実行に使用する、コネクタ実行可能ファイルの名前と引数のリスト。 この属性は必須で、変更可能です。 デフォルトは次の値です。 odihragent OracleHRAgent connect=hrdb \ login=%odip.profile.condiraccount \ pass=%odip.profile.condirpassword \ date=%orclODIPLastSuccessfulExecutionTime \ 引数 |
接続されたディレクトリ・アカウント( |
コネクタが同期で使用する、接続ディレクトリ内の有効なユーザー・アカウント。Human Resources Agentの場合のユーザー・アカウントは、Oracle Human Resourcesデータベース内の有効なユーザー識別子です。 関連項目: コマンド行で引数を渡す一般的な使用方法は、「Oracle Human Resourcesとの同期」を参照してください |
拡張構成情報( |
コネクタをOracleバックエンド・ディレクトリに格納する構成情報。コネクタの起動時に、Directory Integration Serverによってコネクタに渡されます。この情報は属性として格納され、Directory Integration Serverはその内容を認識しません。 この属性に格納される値は、Oracle Human Resourcesからの同期が必要な(Oracle Human Resourcesコネクタについて)すべての属性を表します。 関連項目: 「Oracleバックエンド・ディレクトリと同期化されるOracle Human Resourcesの属性について」 Oracle Human Resourcesコネクタの場合、この属性は必須です。 |
接続されたディレクトリURL( |
接続ディレクトリのホストとポートの詳細情報です。 |
インタフェース・タイプ( |
データ転送に使用するインタフェース。このインタフェースはタグ付きファイルの形式であるため、 ノート: Oracle Human Resourcesプロファイルの場合、この属性は変更しないでください。 |
マッピング情報 |
|
マッピング・ルール( |
マッピング・ルールを格納するための属性。Oracle Enterprise Manager Fusion Middleware Controlを使用して、ファイルにマッピング・ルールを格納します。Oracle Enterprise Manager Fusion Middleware Controlの使用方法は、「ディレクトリ同期プロファイルの管理」を参照してください。 Oracle Human Resourcesの場合、この属性は必須で、変更可能です。 関連項目: |
接続されたディレクトリ一致フィルタ( |
Oracle Human Resources接続には使用されません。 |
OID一致フィルタ ( |
この属性は、Oracleバックエンド・ディレクトリでのターゲット・エントリの検索に使用されるLDAPフィルタを指定します。Oracle Directory Integration Platformはこのフィルタを使用して、同期に必要なLDAP操作の種類を検出します。
これはオプションで、変更可能です。 |
ステータス情報 |
|
OID前回適用された変更番号( |
この属性は、すべてのエクスポート・プロファイルの基準で、Oracle Human Resourcesの同期には適用されません。 |
13.3.2 Oracleバックエンド・ディレクトリと同期化されるOracle Human Resourcesの属性について
デフォルトのOracle Human Resourcesプロファイルは、Oracle Human ResourcesからOracleバックエンド・ディレクトリに同期化される属性のデフォルト・リストを提供します。このリストはカスタマイズ可能で、属性を追加または削除できます。
13.3.2.1 Oracleバックエンド・ディレクトリと同期化される属性のリストの構成
デフォルトの属性リストは、統合プロファイルの一部としてorclodipAgentConfigInfo
属性に格納されます。構成情報も、$ORACLE_HOME
/ldap/odi/confディレクトリにあるoraclehragent.cfg.master
ファイルに用意されています。
ノート:
oraclehragent.cfg.master
ファイルはバックアップとして機能するため、変更できません。
表13-4に、Oracle Human Resourcesの属性のデフォルト・リストの列を示します。
表13-4 デフォルトでOracleバックエンド・ディレクトリと同期化されるOracle Human Resourcesの属性
列 | 説明 |
---|---|
ATTRNAME |
出力データ・ファイルに生成される出力タグ。 |
COLUMN_NAME |
この値の取得元になるデータベース列名。 |
TABLE_NAME |
この値の取得元になるデータベース表名。 |
FORMAT |
この属性の列データ型(ASCII、NUMBER、DATE)。 |
MAP |
この属性をOracle Human Resourcesから抽出するかどうかのインジケータ。値 |
oraclehragent.cfg.master
ファイルの内容は、次のとおりです。
ATTRNAME:COLUMN_NAME:TABLE_NAME:FORMAT:MAP PersonId:person_id:PER:NUMBER:Y PersonType:person_type_id:PER:NUMBER:Y PersonTypeName:system_person_type:PPT:ASCII:Y LastName:last_name:PER:ASCII:Y StartDate:start_date:PER:DATE:Y BirthDate:date_of_birth:PER:DATE:Y EMail:email_address:PER:ASCII:Y EmployeeNumber:employee_number:PER:NUMBER:Y FirstName:first_name:PER:ASCII:Y FullName:full_name:PER:ASCII:Y knownas:known_as:PER:ASCII:Y MaritalStatus:marital_status:PER:ASCII:Y middleName:middle_names:PER:ASCII:Y country:country:PA:ASCII:Y socialsecurity:national_identifier:PER:ASCII:Y Sex:sex:PER:ASCII:Y Title:title:PER:ASCII:Y suffix:suffix:PER:ASCII:Y street1:address_line1:PA:ASCII:Y zip:postal_code:PA:ASCII:Y Address1:address_line1:PA:ASCII:Y Address2:address_line2:PA:ASCII:Y Address3:address_line3:PA:ASCII:Y TelephoneNumber1:telephone_number_1:PA:ASCII:Y TelephoneNumber2:telephone_number_2:PA:ASCII:Y TelephoneNumber3:telephone_number_3:PA:ASCII:Y town_or_city:town_or_city:PA:ASCII:Y state:region_2:PA:ASCII:Y Start_date:effective_start_date:PER:DATE:Y End_date:effective_end_date:PER:DATE:Y per_updateTime:last_update_date:PER:DATE:Y pa_updateTime:last_update_date:PA:DATE:Y
13.3.2.3 Oracle Human Resourcesの同期化される属性の除外
現在Oracle Internet Directoryと同期化されているOracle Human Resourcesの属性を除外するには、次の手順を実行します。
13.3.2.4 構成ファイルでのSQL SELECT文の構成による複雑な選択基準のサポート
前述のサポートされている属性の構成が、Oracle Human Resourcesデータベースからデータを抽出するには不十分な場合、Oracle Human Resourcesエージェントは、構成ファイル内にある事前構成済のSQL SELECT
文を実行することもできます。構成ファイルには、このサポートを示すタグ(構成ファイル内の[SELECT]
)があります。
次の例は、Oracle Human Resourcesデータベースから情報の一部を取得するサンプルのSELECT文を示しています。SQL文を配置できるのは、[SELECT]
タグの下のみです。BINDVAR
バインド変数は、増分変更を取得するために必要です。代入値によって、この変数の値(タイムスタンプ)がOracle Human Resourcesコネクタに渡されます。
SELECT
文で取得されるすべての列式には列名を指定する必要であり、たとえば、REPLACE(ppx.email_address),'@ORACLE.COM','')
はEMAILADDRESS
として取得されます。Oracle Human Resourcesコネクタは、REPLACE(ppx.email_address),'@ORACLE.COM'''
式の結果としての属性値とともに、EMAILADDRESS
を属性名として出力ファイルに書き出します。
次に構成ファイル内のSELECT
文の例を示します。
[SELECT] SELECT REPLACE(ppx.email_address,'@ORACLE.COM','') EMAILADDRESS , UPPER(ppx.attribute26) GUID, UPPER(ppx.last_name) LASTNAME, UPPER(ppx.first_name) FIRSTNAME, UPPER(ppx.middle_names) MIDDLENAME, UPPER(ppx.known_as) NICKNAME, UPPER(SUBSTR(ppx.date_of_birth,1,6)) BIRTHDAY, UPPER(ppx.employee_number) EMPLOYEEID, UPPER(ppos.date_start) HIREDATE FROM hr_organization_units hou, per_people_x ppx, per_people_x mppx, per_periods_of_service ppos WHERE pax.supervisor_id = mppx.person_id(+) AND pax.organization_id = hou.organization_id(+) AND ppx.person_id = ppos.person_id AND ppx.person_id = pax.person_id AND ppos.actual_termination_date IS NULL AND UPPER(ppx.current_employee_flag) = 'Y' AND ppx.last_update_date >= (:BINDVAR,'YYYYMMDDHH24MISS')
13.3.3 Oracle Human Resourcesコネクタに関するマッピング・ルールについて
属性マッピング・ルールは、Oracle Directory Integration PlatformがOracle Human ResourcesとOracle Internet Directoryの間で属性を変換する方法を制御します。Oracle Directory Integration Platformが使用するマッピング・ルールはカスタマイズできます。
Oracle Human Resourcesエージェント・プロファイルにはデフォルトのマッピング・ファイルがあり、一連のマッピング・ルールはorclodipAttributeMappingRules
属性に含まれます。この情報は、$ORACLE_HOME
/ldap/odi/confディレクトリの下にあるoraclehragent.map.master
という名前のファイルにも格納されています。
ノート:
oraclehragent.map.master
ファイルは変更しないでください。これは、バックアップとして機能しているためです。
関連項目:
oraclehragent.map.masterファイルの内容およびマッピング・ルール・レコードの形式の説明は、「understanding-oracle-directory-synchronization-service.html#GUID-DC80ED44-592F-435D-8B19-D4FE32A0DE46__I122151」を参照してください
13.4 Oracle Human ResourcesとOracleバックエンド・ディレクトリ間の同期プロセスの理解
この項では、Oracle Human ResourcesとOracleバックエンド・ディレクトリ間の同期プロセスについて説明します。
Oracle Human Resourcesシステム、Oracleバックエンド・ディレクトリおよびOracle Directory Integration Platformが実行され、Oracle Human Resourcesコネクタが有効になると、Oracle Directory Integration PlatformはOracle Human ResourcesシステムからOracleバックエンド・ディレクトリへの変更の同期を自動的に開始します。そのプロセスは、次のとおりです。
-
「最終実行時間」(
orclodipLastExecutionTime
)と「スケジューリングの間隔」(orclodipschedulinginterval
)に指定されている値に従って、Oracle Directory Integration Platformは、Oracle Human Resourcesコネクタを起動します。 -
Human Resourcesエージェントは次のものを抽出します。
-
統合プロファイル内の
orclodipLastSuccessfulExecutionTime
属性に指定されている時間に基づいたOracle Human Resourcesシステムからのすべての変更 -
プロファイル内の
orclodipAgentConfigInfo
属性に指定されている属性のみ
変更は、Oracle Human Resourcesのインポート・ファイル($ORACLE_HOME
/ldap/odi/import/HR_Agent_Name.dat
)に書き込まれます。 -
-
エージェントは、実行を完了した後、次のようなデータ・ファイルを作成します。
FirstName: John LastName: Liu EmployeeNumber: 12345 Title: Mr. Sex: M MaritalStatus: Married TelephoneNumber: 123-456-7891 Mail: Jliu@my_company.com Address: 100 Jones Parkway City: MyTown
-
Oracle Directory Integration Platformは、次の動作により変更をOracleバックエンド・ディレクトリへインポートします。
-
インポート・ファイルからの各変更レコードの読取り。
-
統合プロファイルの「マッピング・ルール」(
orclodipAttributeMappingRules
)に指定されているルールに基づいた、各変更レコードのLDAP変更エントリへの変換。
-
-
すべての変更内容がOracleバックエンド・ディレクトリにインポートされると、Oracle Human Resourcesコネクタは、インポート・ファイルをアーカイブ・ディレクトリ(
$
ORACLE_HOME
/ldap/odi/import/archive
)に移動します。ステータスの属性である「最終実行時間」(orclodipLastExecutionTime
)と「最終正常実行時間」(orclodipLastSuccessfulExecutionTime
)を現在の時間に更新します。インポート操作が失敗した場合は、「最終実行時間」(
orclodipLastExecutionTime
)属性のみが更新され、コネクタは「最終正常実行時間」(orclodipLastSuccessfulExecutionTime
)属性に基づいてHuman Resourcesシステムからの変更の抽出を試行します。失敗の理由は、$ORACLE_HOME/ldap/odi/HR_Agent_Name.trcのトレース・ファイルに記録されます。
13.5 Oracle Human ResourcesからのOracleバックエンド・ディレクトリのブートストラップ
Oracle Human Resourcesコネクタまたは外部ツールを使用して、Oracle Human ResourcesからOracleバックエンド・ディレクトリをブートストラップできます。
Oracle Human ResourcesからOracleバックエンド・ディレクトリをブートストラップするには:
-
Oracle Human Resourcesコネクタを使用する。統合プロファイルで、
orclodipLastSuccessfulExecutionTime
属性をOracle Human Resourcesがインストールされた時間よりも前に設定する。 -
外部ツールを使用して、Oracle Human ResourcesからOracle Internet Directoryにデータを移行する。