HCM における PeopleSoft ディレクトリ インターフェイスの使い方
次の各トピックでは、以下の作業方法について説明します。
サンプル マッピングと付属のサービス オペレーションへのアクセス
サンプル マッピングの使い方
付属のサービス オペレーションの確認
HCM 用の PeopleSoft ディレクトリ インターフェイスのライセンスがある場合は、HCM 用にサンプルのマッピングとサービス オペレーションが用意されています。
付属のサンプル マッピングを使用するには、ディレクトリ ID をディレクトリ設定コンポーネント (PSDSSETUP) に登録し、ディレクトリ ID をマッピングに追加します。サンプル マッピングでは、標準の Novell eDirectory のスキーマ オブジェクトを使用しています。
画像: サンプル ディレクトリ インターフェイス ツリー
サンプルマッピングは、以下に示すようなツリー構造 (HR_PERSON は HR_DEPARTMENT の管轄下で、この部門は HR_LOCATION に関連付けられていて、HR_LOCATION は会社レベルの HR_COMPANY の管轄下) を使用していることを前提に開発されています。

注: サンプル マッピングとして HR_LOCATION、HR_DEPARTMENT および HR_PERSON が標準で用意されています。
以降の各トピックでは、付属のサンプル サービス オペレーションと、ディレクトリ マッピングに関係のある PeopleCode 関数について説明します。
ディレクトリ インターフェイス サービス オペレーション
PeopleSoft ディレクトリ インターフェイスには、PeopleSoft データをディレクトリにマッピングするための以下のサンプル メッセージが同梱されています。
サービス オペレーション名 |
ディレクトリ エントリ |
---|---|
DSLOCATION_SYNC |
勤務地エントリ (レコード全体の同期) |
DSLOCATION_SYNC_EFF |
勤務地エントリ (現在行の同期) |
DSDEPT_SYNC |
部門エントリ (レコード全体の同期) |
DSDEPT_SYNC_EFF |
部門エントリ (現在行の同期) |
DSWORKFORCE_SYNC |
職務エントリ (レコード全体の同期) |
DSWORKFORCE_SYNC_EFF |
職務エントリ (現在行の同期) |
DSPERSON_BASIC_SYNC |
個人データ エントリ (レコード全体の同期) |
DSPERSON_BASIC_SYNC_EFF |
個人データ エントリ (現在行の同期) |
注: ディレクトリ インターフェイス エンジンでは、メッセージ レベル HCDI_SERVICES:HCDIUtilities.runPOIandIdentifictn を使用して、ディレクトリ インターフェイス マップの作成に使用可能な HCM 値を DSIDENTIFICTN テーブルにロードします。たとえば、共通する固有 ID 文字列を作成して DSIDENTIFICTN.DSUUID に保存し、デフォルトの固有 ID の識別子を DSIDENTIFICTN.DSUID に保存します。固有 ID は、デフォルトで現在の個人の電子メールアドレスに設定され、このアドレスが空白の場合は名 + 姓に設定されます。
UID フィールドには最大 50 文字まで入力できます。従業員名が 50 文字を超える場合、超過した部分は切り捨てられます。
『PeopleTools PeopleSoft Integration Broker』を参照してください。
DSMAPINPUT メッセージ
DSMAPINPUT サービス オペレーションはディレクトリ入力に対応するもので、個人の職務データと個人データを 1 つにまとめたサービス オペレーションのサンプルです。DSWORKFORCE_SYNC サービス オペレーションは、個人の職務情報をパブリッシュします。DSPERSON_BASIC_SYNC サービス オペレーションは、個人情報をパブリッシュします。
DSWROKFORCE_SYNC および DSPERSON_BASIC_SYNC のサブスクリプションでは、サービス オペレーションが入力として BuildMappingMessage に渡されます。BuildMappingMessage によって、DSMAPINPUT サービス オペレーションに従業員の職務データと個人データがロードされます。そのため、1 つのサービス オペレーションの職務データと個人データを 1 つのディレクトリ エントリにマッピングできます。
BuildMappingMessage の構文
BuildMappingMessage 関数は、別のサービス オペレーションに保存されているデータおよびローカル データベースのデータをサービス オペレーションにロードします。データを 2 つのデータ ソースからサービス オペレーションにロードした後、マッピング関数をコールします。ディレクトリ マッピングに必要なデータの全てが、パブリッシュされた元のサービス オペレーションにない場合、BuildMappingMessage はマッピング関数を直接コールする代わりにこの関数を使用します。
BuildMappingMessage (input message, output message, on-line flag, [, map name])
この関数では、次のタスクが実行されます。
入力サービス オペレーションから出力サービス オペレーションへ同じレコードのデータをコピーする。
出力サービス オペレーション内の空レコードを検索する。
空レコードのキー値の有無について、サービス オペレーション内のデータを調べる。
空レコードのキー値が見つかった場合は、データベースの現在行を取得して出力サービス オペレーション内の空レコードにロードする。
マップ名が指定されている場合は、指定された名前のマッピング関数をコールする。指定されていない場合は、出力サービス オペレーションを参照するマップごとにマッピング関数をコールする。
BuildMappingMessage は、_EFF サービス オペレーションのハンドラに関連付けられているアプリケーション パッケージおよびアプリケーション クラスにあります。たとえば、DSLOCATION_SYNC_EFF サービス オペレーションの BuildMappingMessage は、DSLOCATION_SYNC_EFF アプリケーション パッケージに属している DSMappingSub アプリケーション クラスにあります。BuildMappingMessage コードは FUNCLIB_EO_DS ディライブド レコード、DSMAPMESSAGE フィールドの FieldFormula イベントにあります。
パラメータ
名前 |
タイプ |
説明 |
---|---|---|
input service operation (入力サービス オペレーション) |
メッセージ |
パブリッシュされた元のデータを含むメッセージを渡します。 |
output service operation (出力サービス オペレーション) |
文字列 |
作成、ロードされ、マッピング関数に渡されるメッセージの名前を指定します。 |
online flag (オンライン フラグ) |
ブール演算子 |
メッセージのオンライン パブリッシュが行われた後に関数がコールされる場合は、true を設定します。このフラグは BuildMappingMessage 関数では使用されませんが、マッピング関数に渡されます。 |
map name (マップ名) |
文字列 |
関数が出力メッセージに関連付けられているマップ全てをコールする必要がない場合に使用されるマップ名を指定します。 |
例:
Local Message &MsgIn;
BuildMappingMessage(&MsgIn, "DSMAPINPUT", True, "PERSON_NDS");