ナビゲーションに戻る

テーブルセットの使い方

次の各トピックでは、テーブルセットの概要と、以下の方法について説明します。

テーブルセットを使うには、テーブルセット、セットID、テーブルセット共有の違いを理解する必要があります。

フィールドまたはコントロール

定義

テーブルセット

同じ上位レベル キーで特定されるコントロール テーブルのデータ行のセット。

セットID

データ行のセットを特定する上位レベルのキー。次の 2 つのタイプのセットID があります。

  • 物理的なセットID

    ビジネス ユニットのセットID (BUSINESS_UNIT = SETID)。物理的なセットID のデータ行は、ビジネス ユニットと 1 対 1 の関係にあります。

  • 論理的なセットID

    汎用的に使用され、ビジネス ユニット以外のビジネス ルールによって特定される論理的なセットID。論理的なセットID は、複数のビジネス ユニット間でデータ行を共有するのに使用されます。

テーブルセット共有

テーブルセットのデータ行を複数のビジネス ユニット間で共有すること、または 1 つのビジネス ユニットに制限すること。

注: テーブルセットとセットID という用語は、同じ意味で使われることもあります。ほとんどの場合は区別なく使用しても間違いではありませんが、混乱を招く可能性があります。

テーブルセットは必要に応じて定義できますが、その数が多くなるほどテーブルセット共有は複雑になります。組織によっては、1 つのテーブルセットだけで済む場合もあります。

注: PeopleSoft HCM では、テーブルセットとセットID は、少なくとも 1 つずつ作成する必要があります。

画像: セットID はテーブルのデータ行を識別し、同じセットID によってテーブルセットが構成されます

セットID はテーブルの行のセットの識別に使用するため、テーブルセットが存在する場合は、必ず同じ番号のセットID が存在することになります。たとえば、次の図は 4 つのコントロール テーブルを表しています。テーブル内のそれぞれの色はセットID を表しており、同じ色の全ての行はテーブルセットを表します。テーブル A と B はそれぞれ 3 つのテーブルセットで構成され、テーブル C と D は異なる 4 つのテーブルセットで構成されていますが、この 4 つのテーブルの中には全部で 5 つのセットID (すなわちテーブルセット) が存在します。

セットID はテーブルのデータ行を識別し、同じセットID によってテーブルセットが構成されます

セットID がキーとなっている PeopleSoft ヒューマン リソース管理のコントロール テーブルには、以下のものがあります。

  • 所在地コンポーネント

  • 部門コンポーネント

  • 給与プラン コンポーネント

  • 職務コード コンポーネント

テーブルセット共有

テーブルセット共有によって、コントロール テーブルのデータの一部または全てをビジネス ユニット間で共有できます。そのため同じデータを何度も入力する必要がなくなります。情報の共有で重要なのは、ビジネス ユニット間で共有できるデータ行、制限された特定のビジネス ユニットで共有できるデータ行、および制限をかけるデータ行を決定することです。

たとえば、国コードなどの重複する情報を、共有する 1 つのセットID を使用して集中管理し、一方、部門コードや職務コードなどの情報を複数のセットID を使用して分散管理することができます。テーブルセット共有は、データの重複を最小限にとどめ、データの整合性を維持し、システム管理タスクを削減することを目的としています。

テーブルセットは HCM システムの基本構成要素です。テーブルセットに含まれる各テーブルには、会社特有のビジネス ルールや処理オプションに従ってデータを入力します。さらに、テーブルセット コントロール コンポーネント (SETID_TABLE) でビジネス ユニットに対するテーブルセット割り当てを更新することにより、複数のテーブルセットの組み合わせや照合が可能です。

テーブルセットにある全てのテーブルを共有する必要はありません。PeopleSoft HCM では、必要に応じて、任意の数のビジネス ユニットで任意のテーブルの組み合わせを共有することができます。テーブルセット コントロール ページを使用して、各ビジネス ユニットの共有対象データとその共有方法を指定します。

画像: テーブルセットは、複数のビジネス ユニットで共有することも、1 つのビジネス ユニットで固有のものとすることもできます

次の図は、あるレコード グループ (職務コード レコード グループ) では 1 つのテーブルセットが組織の 3 つ全てのビジネス ユニットで共有され、別のレコード グループ (所在地レコード グループ) では各ビジネス ユニットがそれぞれ独自のセットID を使用している例を示しています。3 番目のレコード グループ (給与プラン グループ) では、2 つのビジネス ユニット (ABC と QRS) が 1 つのテーブルセットを共有していますが、3 つ目のビジネス ユニット (XYZ) は別のセットID に作成した値を使用しています。

テーブルセットは、複数のビジネス ユニットで共有することも、1 つのビジネス ユニットで固有のものとすることもできます

レコード グループとテーブルセット共有

テーブルセットを共有するために、コントロール テーブルはレコード グループに分割されます。レコード グループは、同じセットID のグループを同じように使用するコントロール テーブルとビューがセットになったものです。

レコード グループは次の 2 つの目的に使用されます。

  • 膨大な量のデータを重複して入力することなくテーブルセット共有を設定できるため、時間を節約できます。

  • システム内の関連するテーブルやビュー全体に一貫してテーブルセット共有が実行されることで、セーフティ ネットとしての役割を果たします。

レコード グループにはテーブルが 1 つしかない場合と、複数のテーブルとビューがある場合があります。各レコード グループに含まれるテーブルやビューは、レコード グループ コンポーネントを使って更新または修正することができます。

ビジネス ユニットとセットID

ビジネス ユニットを作成する際は、ビジネス ユニットにデフォルト セットID を割り当てる必要があります。次の 2 つの方法があります。

  • 新規のビジネス ユニットでのみ使用するコントロール テーブルのデータ行を作成する場合は、ビジネス ユニットの作成時にそのビジネス ユニットのセットID を作成します。

    ビジネス ユニットを作成するときに、[セットID] フィールドのビジネス ユニット コードを受け入れることで、セットID を作成することができます。このように操作すると、ビジネス ユニットを保存したときに、テーブルセットID コンポーネントにレコード セットID が作成されます。

    注: これは、1 つのビジネス ユニットのみを使用する場合に最適な方法です。

  • 作成するビジネス ユニットと他のビジネス ユニット間でテーブルのデータ行を共有させる (テーブルセット共有) 場合は、作成するビジネス ユニットに対して使用を許可するデータ行に関連付けられている、または関連付ける予定の既存のセットID を選択します。

いずれの方法を選択した場合も、ビジネス ユニットを保存すると、テーブルセット コントロール コンポーネントにそのビジネス ユニットのエントリが作成され、各レコード グループと、ビジネス ユニットに対して選択したデフォルト セットID が関連付けられます。テーブルセット コントロール コンポーネントのセットID の割り当ては変更できます。

画像: テーブルセット コントロールによって、ビジネス ユニットが各レコード グループに対して使用するテーブルセットが決まります

この図は、セットID とビジネス ユニットの関係を示し、システムによってテーブルセット コントロール コンポーネントに作成されるビジネス ユニットの情報を示します。テーブルセット コントロール コンポーネントでは、一部または全てのセットID の割り当てを変更できます。

テーブルセット コントロールによって、ビジネス ユニットが各レコード グループに対して使用するテーブルセットが決まります

テーブルセット共有の設定は簡単です。テーブルセット コントロールを使用して、ビジネス ユニット間で使用できるようにするデータ、または特定のビジネス ユニットに使用を制限するデータを制御します。テーブルセット コントロールを設定する前に、以下を作成します。

  • レコード グループ

  • ビジネス ユニット

  • セットID

ビジネス ユニットを作成して保存すると、ビジネス ユニットに対して、テーブルセット コントロール コンポーネントにレコードが作成され (セット コントロール値)、各レコード グループのセットID に、ビジネス ユニットに対して選択したセットID がロードされます。そのビジネス ユニットが、特定のレコード グループの他のセットID の行にアクセスできるようにする場合は、デフォルト セットID を適切なセットID に変更します。つまり、多くのテーブルセット共有の設定はバックグラウンドで行われます。

テーブルセット コントロールの設定に基づいて、トランザクション コンポーネントでユーザーが使用できるフィールド オプションが決まります。たとえば、新規従業員の職務データ レコードの作成時に職務コード フィールドのドロップダウン リストを選択すると、以下の項目に基づいて選択できるオプションが絞り込まれます。

  1. この個人の職務データ レコードが含まれるビジネス ユニット

    USA

  2. このフィールド (職務コード) のテーブル コントロール データ

    JOBCODE_TBL

  3. 上記のテーブルが含まれるレコード グループ

    HR_02

  4. このビジネス ユニットの上記のレコード グループに割り当てられているセットID

    SHARE

  5. そのセットID をキーとするコントロール テーブル (職務コード テーブル) の行

    1. システムにより、SHARE のセットID の値を持つ職務コードのみが検索されます。

    2. セットID "SHARE" をキーとする行のみが表示されます。

画像: ビジネス ユニット テーブルセット コントロールのセットID に基づいた、有効なコントロール テーブルのフィールド値の取得

次の図は、ビジネス ユニット "USA" のテーブルセット コントロールと、そのビジネス ユニットに対して表示される職務コード値の決定方法 (前述した方法) を表しています。

ビジネス ユニット テーブルセット コントロールのセットID に基づいた、有効なコントロール テーブルのフィールド値の取得

ユーザーがアクセスしようとしたフィールドのコントロール テーブルがレコード グループ HR_01 に含まれる場合は、対応するコントロール テーブルからセットID の USA をキーとする値が表示されます。ユーザーに表示されるデータは、ユーザーがアクセスしているコントロール テーブルが含まれるレコード グループのテーブルセット コントロール コンポーネントに指定されているセットID によって決まります。

ページによっては、複数のセットID を参照する場合もあります。セットID 機能を使用する場合は、ページ プロセッサがこのような状況でどのように機能しているのかを理解することが重要です。それによって、データ レコードのデフォルト値がどのように設定されるかが理解しやすくなります。

あるセットID をキーとするテーブルに、別のセットID テーブルの検索画面が表示されるフィールドが存在する場合、PeopleSoft HCM では次の 2 つの状況が考えられます。

シナリオ 1: コントロール テーブルに複数のセットID が存在するが、それらのセットID に基づくデフォルトが存在しない場合

複数のセットID に関連付けられるコントロール テーブルの例として、部門コンポーネント (DEPARTMENT_TBL) があります。このコンポーネントの DEPT_TBL レコードには、部門と部門の所在地の 2 つのセットID があります。所在地プロンプトのセットID は、LOCATION_TBL レコードから取得されます。

画像: 部門プロファイル ページ

次の例は、部門プロファイル ページを示しています。

部門プロファイル ページ

このように、部門セットID と所在地セットID である場合は、[所在地] フィールドに次の値が表示されるようにコンポーネントを設定できます。

  • 全てのセットID から得られる全ての所在地。

  • 同じセットID を共有する所在地、および部門のセットID。

全ての所在地を表示するように設定した場合、部門のセットID にアクセスできるどのビジネス ユニットでも使用されないセットID の所在地を指定して部門を作成すると、問題が発生します。所在地セットID を 1 つのみ使用できるようにした場合、その部門のセットID にアクセス可能なビジネス ユニットが別の所在地セットID を使用したときに問題が発生することがあります。

たとえば、ある組織では、4 つのビジネス ユニットに対して、DEPT レコード グループと LOCATION レコード グループのテーブルセット コントロールを以下のように設定しています。

ビジネス ユニット

PDEV

EURO

ASIA

RUSS

レコード グループ:

DEPT

USA

EURO

USA

EURO

LOCATION

USA

EURO

ASIA

RUSS

注: テーブルセット コントロールはテーブルセット コントロール コンポーネントで設定します。

所在地セットID を部門のセットID に制限した場合、ASIA および RUSS ビジネス ユニットでは有効な所在地を指定して部門を設定することができません。全てのセットID の全ての所在地を表示するように設定した場合、ユーザーがセットID EURO の所在地を指定して、セットID USA の部門を作成してしまうというリスクがあります。

部門に対して表示する所在地を制限しながら、一方で異なるテーブル共有を可能にするには、部門セットID が USA の場合は、所在地セットID が USAASIA に、部門セットID が EURO の場合は、所在地セットID が RUSSEURO に制限されるように設定できます。

シナリオ 2: トランザクション レコード全体のデフォルト設定をコントロールするセットID が複数あるトランザクション テーブルの場合

レコード全体のデフォルト設定をコントロールするセットID が複数あるトランザクション テーブルの例として、職務データ コンポーネント (JOB_DATA) があります。

従業員の職務データ レコードを作成する際は、勤務地ページ (JOB_DATA1) でビジネス ユニットを選択します。ビジネス ユニットのテーブルセット コントロールによって、コンポーネントに含まれるその他のフィールドに表示される値や、設定されたデフォルトが使用されるタイミングが決まります。

所在地がビジネス ユニットの有効なセットID に含まれる場合のみ、ビジネス ユニットで選択されたセットID に含まれる部門が表示され、部門の所在地にデフォルトが設定されます。所在地には関連付けられた給与プランがあり、ビジネス ユニットに対して有効なセットID にその給与プランが含まれている場合のみ所在地の給与プランがデフォルトで設定されます。デフォルト値が、選択されたビジネス ユニットの有効なセットID に含まれない場合は、フィールドは空白のままとなり、ユーザーは有効なセットID に含まれるオプションの中から値を選択します。

画像: ビジネス ユニットを選択すると、コンポーネントの多くのフィールドについて有効なセットID が特定されます

たとえば、次の図に示すように、職務データ コンポーネントで ビジネス ユニット (たとえば PDEV) を選択します。そのビジネス ユニットのテーブルセット コントロールが参照され、コンポーネントに含まれる多数の他のフィールド (部門、所在地給与プランなど) に対して有効なセットID が特定されます。

ビジネス ユニットを選択すると、コンポーネントの多くのフィールドについて有効なセットID が特定されます

画像: このビジネス ユニットに対する該当フィールドのプロンプト テーブル用に設定された、指定のセットID をキーとする値のみが表示されます

職務データ コンポーネントで [部門] 検索ボタンを選択すると、テーブルセット コントロール テーブルが参照され、このビジネス ユニットで表示される部門セットID を判別するレコード グループ行が検索されます。USA が部門レコードに指定されたセットID であることから、検索リストには、USA のセットID を持つ部門のみが表示されます。次の図の場合、これは USA-00001 と USA-00002 の部門になります。

このビジネス ユニットに対する該当フィールドのプロンプト テーブル用に設定された、指定のセットID をキーとする値のみが表示されます

また、部門に関連付けられた所在地のセットID がこのビジネス ユニットに対して有効であるかがシステムによってチェックされます。

画像: デフォルトの所在地が個人のビジネス ユニットの有効なセットID に含まれる場合は、その値のみ部門テーブルから入力されます

この例では、セットID が USA の所在地のみ、PDEV のビジネス ユニットに対して有効です。部門に関連付けられた所在地が USA のセットID を使用している場合 (たとえば、部門 USA-00001 のように、所在地 USA-NY に関連付けられている場合)、[所在地] フィールドにデフォルトの所在地が入力されます。もし部門 USA-00002 (この部門に関連付けられた所在地のセットID は ASIA) を選択した場合、[所在地] フィールドにデフォルトは設定されません。[所在地] フィールドは空白になります。

デフォルトの所在地が個人のビジネス ユニットの有効なセットID に含まれる場合は、その値のみ部門テーブルから入力されます

画像: 値のセットID がビジネス ユニットに対して有効でない場合、デフォルト値は入力されません

所在地に給与プランが関連付けられている場合は、ビジネス ユニットのテーブルセット コントロール レコード (この例では PDEV) がチェックされて、その所在地に関連付けられた給与プランのセットID が該当のビジネス ユニットで有効であるかどうかが確認されます。このビジネス ユニットで有効な値は USA のセットID に関連付けられている必要があり、USA-NY の所在地に関連付けられた給与プランでは給与プランのセットID に SHARE を使用しているため、従業員のレコードにデフォルトで給与プランは入力されません。

値のセットID がビジネス ユニットに対して有効でない場合、デフォルト値は入力されません

画像: そのフィールドに対して定義された有効なセットID を持つ値のみ表示したり選択することができます

給与プランを選択した場合は、ビジネス ユニット PDEV のテーブルセット コントロールに定義されているように、給与プラン テーブルからセットID が USA で始まる該当の行のみが取得されます。

そのフィールドに対して定義された有効なセットID を持つ値のみ表示したり選択することができます

注: セットID を使用するコントロール テーブルの多くでは、選択したセットID に対してアクセス権を持つビジネス ユニットを確認できます。これにより、コントロール値の設定時に、適切なビジネス ユニットでそれらの値が使用可能となるかを確認できます。