Client这个词语不太好翻译,直译为客户,有时翻译为集团,这二种翻译都不准确,比较接近的翻译应该为客户端。
Client是SAP系统架构的精髓之一,下文中我们对Client进行简要的介绍,具体包括如下十点内容:
这十点内容中分别介绍了Client的应用、特点,以及从产品架构层面的一些简要探讨,第10点更加直接,对项目实施有参考意义,如果你对本文介绍的内容兴趣一般,可直接查看第10点。
服务器和Client
典型Client设置
Client的特点1-共享程序但数据互相隔离
Client的特点2-可建立多个Client,不同Client可以有不同的功能(属性设置)
Client的特点3-拓展性强
Client的特点4-Client之间的数据管理(传输、复制)方便
探讨1-Client与数据库(SE16N、SQL)
探讨2-如何判断表是Client级别?
再探讨-究竟有多少表是跨Client
经验与教训-关于Client、表设置
01 服务器和Client(客户端)
如下图所示,我们在登录SAP系统时,在输入用户名和密码之前,首先要选择登录的服务器和Client。
服务器和Client之间的关系如下:
一般来说SAP项目实施会有三台服务器,分别是开发、测试、生产机
每台服务器包含一个数据库和应用服务器
每台服务器中可以有多个Client
02 典型Client设置
服务器的概念非常容易理解,Client是SAP中独有的概念,Client用三位数字来代表,具体我们通过示例来说明,下图为典型的设置
1)开发机中有四个或者更多Client
000 Client:系统默认Client,正常不会登陆该Client,该Client的数据也不允许被覆盖
100 Client: 配置环境,该环境只能进行配置,不可以创建主数据和业务数据
200 Client:沙箱和程序开发环境,该环境一般可以随意修改配置
300 Client:单元测试环境,该Client不可以配置,所有配置必须从100 Client进行传输,可以正常创建主数据和业务数据
2)测试机有二个或更多Client
500: 集成测试用,该Client不可以配置,所有配置必须从100 Client进行传输
600: UAT及最终用户培训,所有配置必须从100 Client进行传输
3)生产机有一个或更多Client
800:生产机:该Client不可以配置
不同client之间可以进行数据传输,具体逻辑下文中会介绍。
03 Client的特点-共享程序但数据互相隔离
简单来说,同一服务器不同client之间共享程序,但是各自Client有各自的数据(主数据、业务数据、配置数据),相信这一点只要用过SAP系统的人,无论是顾问还是用户都能感受到。
也就是在当前Client创建的数据(如物料主数据),只能在当前Client被使用,只能在当前Client被查询。
由于Client 之间的数据是隔离的,因此Client除了上文中通用的用法,还有着以下二种用法:
1)HR系统采用独立Client
HR系统由于涉及员工薪酬,数据非常敏感,很多项目如果实施了HR模块,则常常会在同一服务器中额外创建单独的Client, 只允许HR的关键用户访问该Client,其他人员都无权访问,连IT运维人员也没有权限访问HR系统的生产机。
如果HR系统需要与其它模块(如FI模块)进行数据交互,可通过配置ALE来进行数据传输。
2)为子公司设置独立的Client
譬如某集团公司销售额为几百亿,有不同产业板块,每个版块公司规模也不小,都是独立的上市公司,该集团公司采用共享服务器,不同板块公司在不同的Client中。这种用法很少见。这一点倒是有点像SAAS产品的概念,共享相同实例,数据隔离。