💂作者简介: THUNDER王,阿里云社区专家博主,华为云·云享专家,腾讯云社区认证作者,CSDN SAP应用技术领域优质创作者。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。
企业一般会将SAP 安装在多台服务器上, 分别用于测试 、 验证和生产 。 在一台服务器上 , 可能安装了多个客户端(client),如100- 配置环境、200-测试环境、300-开发环境。各个 client 存放的主数据和交易数据是不同的(少量跨client的共通事项除外)。这就相当于在一个服务器上 ,建立了多个实例 (instance) , 各个instance互不干扰。
下表为某示例企业所安装的SAP环境示例:共安装了三台服务器
,配置了5个client
:
服务器 | 机器编号 | 系统标识 | client | 作用 | 要求 |
---|---|---|---|---|---|
开发机 | Saptst | DEV | 100 | 配置环境 | 配置都要记录在请求中 |
开发机 | Saptst | DEV | 200 | 测试环境 | 不可更改跨client的设置 |
开发机 | Saptst | DEV | 300 | 开发环境 | 不可更改跨client的设置 |
测试机 | Sapqas | QAS | 500 | 测试环境 | 定期从生产环境复制数据 |
生产机 | Sapprd | PRD | 800 | 生产环境 | 不可直接更改配置 |
PS: 关于SAP三系统(服务器) 蓝图数据传输的详细过程可以参考笔者这篇博客:【ABAP】SAP包(二)「CTS | 传输请求」;本节内容主要讲解的是各个系统内client的作用,上述内容不再作过多赘述。
一般来说企业会在每台服务器中设置不同的client
,以便用于不同的操作。严格来讲,PRD生产机、生产环境是不允许直接做二次开发和做任何配置操作,所有二次开发和配置都需要在DEV
开发机中进行完成并且进行TR
传输到PRD
生产机中,这样可以保证所有内容和配置的一致性
。所以企业一般会在DEV开发机中设置不同的client,如上图示例:在100client中只允许进行配置操作,所有二次开发的操作均在300client中进行操作,完成开发后,可以先在200client进行初步的测试。
需要区别的是:同一服务器中不同client环境有变化的仅仅是主数据
,其他的操作均会同步更新到所有client中。
DEV
开发机,当我们在300client
开发完程序后,我们进入到100client中,开发完的程序是可以直接看到的,这是因为虽然它们属于不同的client,但是所有的client是属于同一个DEV服务器
的。不过如果我们想要在100client
中更改300client
中创建的程序,则会提示警告。总结:综上所述,让我们来小结一下使用一套标准SAP实施方案的企业的标准流程。
在前面的介绍中我们提到了下面这一点:
同一服务器中不同client环境有变化的仅仅是
主数据
,其他的操作均会同步更新到所有client中。
那么我们应该如何理解这一点呢?不知道各位小伙伴们有没有注意到SAP系统数据库表中都拥有一个共同的字段:MANDT
字段
正是MANDT
字段的存在可以使得不同的client环境可以存储不同的业务数据,当我们在DEV开发机的开发环境中创建了数据库表后,数据库表会同步到所有client
中,如果我们不为数据库表设置MANDT主键字段
,那么所有client中
数据库表的数据将会一致
,无法区分数据是在哪个client
环境中创建的。
(一)下面我们来看一下这张示例表:**ZWYZTEST
**,它分别存在于**100client
**和**500client
**中。它拥有两个主键**MANDT
**和**ZID
**。
(二)接下来让我们在**100client
**环境中为这张数据库表创建**4条数据
**,示例如下图所示:
(三)在**500client
**环境中查看相同数据库表,无对应数据显示
(四)在**500client
**环境中再次创建4条数据,查看**100client
**环境中是否会拥有对应数据
PS: 综上所述:当我们为数据库表中加入了MANDT主键字段后,数据库表中存储的数据将无法跨客户端同步!
(一)删除**MANDT
**主键,**【T-CODE: SE14】
**激活并调整数据库表
(二)数据库表调整后显示如下图所示:
(三)再次查看两个不同client客户端数据库表的数据
PS: 综上所述,当数据库表没有设定MANDT主键字段进行控制时,数据库表中数据是可以跨客户端同步的!
本文花费大量时间介绍了如何理解SAP中的CLIENT客户端
,希望能帮助到各位小伙伴,码文不易,还望各位大佬们多多支持哦,你们的支持是我最大的动力!