关于peoplesoft的Table、Business Unit、SetID

 

 

Table

PeopleSoft的基于表的,PeopleSoft的Demo数据库中一共有大概3万张表。这些表分为三类,Control Table、Transaction Table和Prompt Table。Control Table就是用来处理和验证用户操作和流程运转的,比如客户信息、组织结构信息、供应商信息等,Control Table一般存储的是相对比较静态的数据。Transaction Table顾名思义,是指日常事务、交易信息。Prompt Table用来存储一些提示信息,例如用户点某个按钮的信息提示、校验提示等。

 

Business Unit

在PeopleSoft里面,最少必须要有一个Business Unit,可以设置多个Business Unit。例如银行每个城市的分行作为一个Business Unit,或者一个公司按照销售、研发、行政来分不同的Business Unit,或者按照欧洲、亚太、北美等区域来分不同的Business Unit。

数据可以在不同的Business Unit之间共享,每个Business Unit也可以有自己独有的数据。比如每个Business Unit可以共享相同的办公地点的数据,但是各自有各自的职位和薪酬体系。

新建Business Unit的界面如下,在创建Business Unit的时候必须要创建一个SetID或者选择一个已有的SetID。

image

 

TableSet

TableSet的作用是为了方便数据在不同的Business Unit中共享。一个TableSet就是一个Control Table中用同一个SetID所标示的所有记录的集合。也就是说,一个TableSet的记录,有同样的SetID。TableSet可以在不同的Business Unit之间共享,在数据库中,这些数据只需要保存一份。

例如下面的一个City表,他就分为三个不同的TableSet,分别对应到BU1、BU2、BU3这三个SetID。所有在中国的分公司作为可以共享BU1这个SetID对应的City数据。

image

 

SetID

上面已经提到了SetID,一个Business Unit必须对应到一个SetID,创建一个Business Unit的同时,可以自动为Business Unit创建一个SetID,也可以为Business Unit选择一个已有的SetID,下面是创建SetID和Business Unit的界面:

image

image

 

Record Group

之前提到了数据可以在不同的Business Unit之间共享,但是我们在Business Unit之间共享的数据可能不仅仅只是一个表的数据,而是多个表的数据,也就说一次我们要共享一组信息。例如,我们可以把Job、Location、Salary Plan作为一个Record Group整体进行共享。

下面是一个Record Group的例子,这个Record Group中包含了十个不同的Table和View对象。表格中的第一列就是表或者视图的名字,我们可以对Record Group进行添加和修改。

image

注意这里有一个"Force Use of Default SetID"的选项,这个会对后面的TableSet Control有影响,在说TableSet Control的时候再说这个。

 

TableSet Control

在创建Business Unit的时候,系统会给Business Unit创建一个TableSet Control,在这个TableSet Control中会把所有的Record Group添加进来。这里的JB1这个Business Unit的TableSet Control的信息:

image

看其中的Default SetID,如果Record Group的"Force Use of Default SetID"选项是选中的,那么在Business Unit的TableSet Control里面,Record Group就会使用TableSet Control所指定的这个Default SetID值,并且这个Record Group的SetID不允许被修改。上面图中的BUDGET这个Record Group就是这个情况。

如果Record Group的"Force Use of Default SetID"选项没有选中,那么在TableSet Control里面Record Group的SetID值是可以修改的,并且SetID的值默认设置为TableSet Control的Business Unit所对应的SetID值。

 

例子:

前面说的都是概念性的东西,下面通过一个例子把它们联系起来一下,这个例子是PeopleBook里面的一个例子:

image

在页面上有一个下拉框,要选出USA这个Business Unit下的所有Job Code的信息,过程如下:

首先Job Code对应的Control Table是JOBCODE_TBL这个表,然后查找一下,这个表在哪个Record Group里面,查找后发现在HR_02这个Record Group里面。然后因为是在USA这个Business Unit下查找信息,所以去USA这Business Unit所对应的TableSet Control信息下,看HR_02这个Control Group对应的是哪个SetID。得到这个SetID后再去JOBCODE_TBL表里面找对应的TableSet,也就是说SHARE这个SetID所对应的所有数据。

 

总结

PeopleSoft是一个基于表(Table)结构的系统,Table被分为一个或者多个TableSet,一个TableSet由不同的SetID进行标示。每一个Business Unit对应到一个SetID,SetID可以单独创建或者在创建Business Unit的时候一起创建。在创建一个Business Unit的同时,系统会为这个Business Unit创建一个TableSet Control,这个TableSet Control里面包含了系统中所有的Record Group,在TableSet Control里面,我们可以个给各个Record Group指定SetID值,如果Record Group自己设置了"Force Use of Default SetID"选项,那么这个SetID值固定为所在Business Unit对应的SetID。不能手动在TableSet Control里面添加或者删除Record Group,每个Business Unit的TableSet Control都包含了系统全部的Record Group,当创建、删除Record Group时,系统会自动在所有的Business Unit的TableSet Control更新新的Record Group信息。每一个Table只能存在于一个Record Group中,一般来说一个Record Group中都是一些相关联的某一类表。

 

PS:现在对peoplesoft也不是太熟悉,慢慢来吧,先借鉴,积累下来,然后转变成自己的。

 

 

 

你可能感兴趣的:(table)