

💂作者简介: 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客户端,希望能帮助到各位小伙伴,码文不易,还望各位大佬们多多支持哦,你们的支持是我最大的动力!