【ABAP】如何理解SAP中的CLIENT (客户端)

news2024/11/27 3:44:30

在这里插入图片描述

💂作者简介: THUNDER王,阿里云社区专家博主,华为云·云享专家,腾讯云社区认证作者,CSDN SAP应用技术领域优质创作者。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。


💅文章概要: MANDT集团永远是无数SAP入门人员无法避免头痛的一个难题,很多朋友在刚刚入门SAP领域时经常被这几个概念混淆:什么是DEV? 什么是QAS? 什么是PRD? 为什么不同的服务器还要有client客户端(有时也被译作集团)?本节内容就带领大家好好认识一下MANDT系统字段,出发!


🤟每日一言: 永远年轻,永远热泪盈眶!


前言

在这里插入图片描述

企业一般会将SAP 安装在多台服务器上, 分别用于测试 、 验证和生产 。 在一台服务器上 , 可能安装了多个客户端(client),如100- 配置环境、200-测试环境、300-开发环境。各个 client 存放的主数据和交易数据是不同的(少量跨client的共通事项除外)。这就相当于在一个服务器上 ,建立了多个实例 (instance) , 各个instance互不干扰。


服务器与客户端(Client)

在这里插入图片描述

  下表为某示例企业所安装的SAP环境示例:共安装了三台服务器,配置了5个client

服务器机器编号系统标识client作用要求
开发机SaptstDEV100配置环境配置都要记录在请求中
开发机SaptstDEV200测试环境不可更改跨client的设置
开发机SaptstDEV300开发环境不可更改跨client的设置
测试机SapqasQAS500测试环境定期从生产环境复制数据
生产机SapprdPRD800生产环境不可直接更改配置

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中创建的程序,则会提示警告。
  • 但是如果我们想要在QAS测试机上同步所有我们在DEV中做的操作,那么还需要进行一步TR传输请求的操作。

总结:综上所述,让我们来小结一下使用一套标准SAP实施方案的企业的标准流程。

  • Basis顾问配置好三台服务器,分别是DEV开发机,QAS测试机,PRD生产机。
  • PRD生产机不允许进行任何操作,ABAP开发顾问和业务实施顾问在DEV开发机的不同client进行实施操作。
  • 当配置和开发完成后首先在DEV开发机中用于测试的client环境进行初步的测试,测试没问题通过TR传输到QAS保证系统进行进一步的测试。
  • QAS测试系统验证通过后再次通过TR传输到PRD生产环境中。后续定期从PRD生产机中更新数据回QAS测试机。

数据库表中的MANDT字段

在这里插入图片描述

  在前面的介绍中我们提到了下面这一点:

同一服务器中不同client环境有变化的仅仅是主数据 ,其他的操作均会同步更新到所有client中。

  那么我们应该如何理解这一点呢?不知道各位小伙伴们有没有注意到SAP系统数据库表中都拥有一个共同的字段:MANDT字段

  正是MANDT字段的存在可以使得不同的client环境可以存储不同的业务数据,当我们在DEV开发机的开发环境中创建了数据库表后,数据库表会同步到所有client中,如果我们不为数据库表设置MANDT主键字段,那么所有client中数据库表的数据将会一致,无法区分数据是在哪个client环境中创建的。

 设置了MANDT主键的数据库表

  (一)下面我们来看一下这张示例表:ZWYZTEST,它分别存在于100client500client中。它拥有两个主键MANDTZID

在这里插入图片描述

在这里插入图片描述

  (二)接下来让我们在100client环境中为这张数据库表创建4条数据,示例如下图所示:

在这里插入图片描述

  (三)在500client环境中查看相同数据库表,无对应数据显示

在这里插入图片描述

  (四)在500client环境中再次创建4条数据,查看100client环境中是否会拥有对应数据

在这里插入图片描述

在这里插入图片描述

PS: 综上所述:当我们为数据库表中加入了MANDT主键字段后,数据库表中存储的数据将无法跨客户端同步!

 未设置MANDT主键的数据库表

  (一)删除MANDT主键,【T-CODE: SE14】激活并调整数据库表

在这里插入图片描述

  (二)数据库表调整后显示如下图所示:

在这里插入图片描述

在这里插入图片描述

  (三)再次查看两个不同client客户端数据库表的数据

在这里插入图片描述

在这里插入图片描述

PS: 综上所述,当数据库表没有设定MANDT主键字段进行控制时,数据库表中数据是可以跨客户端同步的!


写在最后的话

  本文花费大量时间介绍了如何理解SAP中的CLIENT客户端,希望能帮助到各位小伙伴,码文不易,还望各位大佬们多多支持哦,你们的支持是我最大的动力!

在这里插入图片描述

原创不易,还希望各位大佬支持一下 \textcolor{blue}{原创不易,还希望各位大佬支持一下} 原创不易,还希望各位大佬支持一下

👍 点赞,你的认可是我创作的动力! \textcolor{9c81c1}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{ed7976}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{98c091}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1008952.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝牙资讯|苹果新款AirPods Pro支持Vision Pro无损音频和IP54防水防尘

苹果公司宣称,USB-C 能够带来更多灵活性,现在用户可以使用手机的 USB-C 接口,为 AirPods Pro 耳机盒充电。 虽然苹果没有详细介绍这款耳机,但在今天的新闻稿中依然透露了一些不一样的地方,例如新款 AirPods Pro 2 升…

GaussDB技术解读系列:运维自动驾驶探索

近日,在第14届中国数据库技术大会(DTCC2023)的GaussDB“五高两易”核心技术,给世界一个更优选择专场,华为云数据库运维研发总监李东详细解读了GaussDB运维系统自动驾驶探索和实践。 随着企业数字化转型进入深水区&…

股票数据分析应用之可视化图表组件

股市是市场经济的必然产物,在一个国家的金融领域之中有着举足轻重的地位。在过去,人们对于市场走势的把握主要依赖于经验和直觉,往往容易受到主观因素的影响,导致决策上出现偏差。如今,通过数据可视化呈现,…

SAP MM会计凭证凭证状态为U

往成本中心发料后,SAP产生会计凭证状态为U: 会计凭证存在ACDOC 和 BKPF但是不存在BSEG 原因:物料主数据没有计划价格。

王道数据结构C语言顺序表基本操作实现

#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdbool.h> #define MaxSize 50 typedef struct {//顺序表(静态实现)int data[MaxSize];//顺序表元素int length;//顺序表当前长度 }SqList;//类型定义#define InitSize 100; typedef struct {//动态实…

智能二创文案软件-生成文案改写文案的软件

咱们都知道&#xff0c;写作是一项既耗时又考验创造力的任务。有时候&#xff0c;我们可能会陷入创意枯竭的困境&#xff0c;不知道该如何表达自己的想法。这时候&#xff0c;智能二创文案软件就出现在我们的视野中&#xff0c;它们声称可以帮助我们生成文案&#xff0c;省去了…

深度学习-全连接神经网络-详解梯度下降从BGD到ADAM - [北邮鲁鹏]

文章目录 参考文章及视频导言梯度下降的原理、过程一、什么是梯度下降&#xff1f;二、梯度下降的运行过程 批量梯度下降法(BGD)随机梯度下降法(SGD)小批量梯度下降法(MBGD)梯度算法的改进梯度下降算法存在的问题动量法(Momentum)目标改进思想为什么有效动量法还有什么效果&…

activemq学习笔记

传统的request/response 在客户端提交请求后必须等待服务端处理完毕给于反馈&#xff0c;这期间客户端完全处于空闲等待状态&#xff0c;甚至有可能超时&#xff1b; 基于消息中间件的request/response 客户端提交请求&#xff0c;不必等待服务器处理&#xff0c;客户端可以继…

《网页设计与制作-初级》

《网页设计与制作》是web前端开发技术中静态网页中的内容&#xff0c;主要包括html、css、js中的静态内容部分&#xff0c;是专业基础课程。 随着5G时代的到来&#xff0c;人工智能与物联网结合行业的飞速发展&#xff0c;更多的互联网的崛起。这肯定就比如伴随着对移动互联网…

1023. 驼峰式匹配

1023. 驼峰式匹配 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;参考代码&#xff1a; 原题链接&#xff1a; 1023. 驼峰式匹配 https://leetcode.cn/problems/camelcase-matching/description/ 完成情况&#xff1a; 解题思路&#xff1a; /**题目理解&am…

【TA 方法积累】贴图快速无缝化处理

参考&#xff1a; SDC4D 最好用的无缝贴图制作方法【C4D教程】_哔哩哔哩_bilibili 方法1&#xff1a;Tiling 3D Materials, Quickly &#xff0c;pixplant 方法2&#xff1a;SD修改&#xff08;推荐&#xff09; 核心就是SD里的这个节点&#xff0c;Make It Tile Patch Col…

冠达管理:打新股的风险有多大?

在股市中&#xff0c;打新股是一种常见的出资方式&#xff0c;也是出资者追求高回报的途径之一。但是&#xff0c;打新股也伴随着必定的危险。本文将从多个视点分析打新股的危险&#xff0c;并对其进行评估。 首要&#xff0c;商场危险是打新股面对的主要危险之一。在我国&…

线性回归方程

性回归是利用数理统计中的回归分析来确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法&#xff0c;是变量间的相关关系中最重要的一部分&#xff0c;主要考查概率与统计知识&#xff0c;考察学生的阅读能力、数据处理能力及运算能力&#xff0c;题目难度中等&…

07 目标检测-YOLO的基本原理详解

一、YOLO的背景及分类模型 1、YOLO的背景 上图中是手机中的一个app&#xff0c;在任何场景下(工业场景&#xff0c;生活场景等等)都可以试试这个app和这个算法&#xff0c;这个app中间还有一个button&#xff0c;来调节app使用的模型的大小&#xff0c;更大的模型实时性差但精…

计算机竞赛 机器学习股票大数据量化分析与预测系统 - python 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果UI界面设计web预测界面RSRS选股界面 3 软件架构4 工具介绍Flask框架MySQL数据库LSTM 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器学习股票大数据量化分析与预测系统 该项目较为新颖&am…

佳节发好文,详细解读HTTP错误状态码产生原因及解决办法

文章目录 HTTP的错误状态码同样适用于HTTPS网页客户端HTTP报错代码服务端原因HTTP错误状态码访问成功状态码访问错误状态码 客户端和服务器端都共同有的报错代码推荐阅读 HTTP&#xff08;Hypertext Transfer Protocol&#xff09;是用于在客户端和服务器之间传输数据的协议。当…

【校招VIP】测试算法考点之智力分析

考点介绍&#xff1a; 智力题(逻辑分析题&#xff09;准备校招的同学们好好准备下,测试笔试中经常遇到。 测试算法考点之智力分析-相关题目及解析内容可点击文章末尾链接查看&#xff01; 一、考点试题 1.5个囚犯在装有100颗豆子的袋子里摸,他们谁的存活几率大? 5个囚犯,分…

竞赛 基于机器视觉的二维码识别检测 - opencv 二维码 识别检测 机器视觉

文章目录 0 简介1 二维码检测2 算法实现流程3 特征提取4 特征分类5 后处理6 代码实现5 最后 0 简介 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于机器学习的二维码识别检测 - opencv 二维码 识别检测 机器视觉 该项目较为新颖&#xff0c;适合作为竞赛课…

实时显示当前文件夹下的文件大小,shell脚本实现

图片来源于网络&#xff0c;如果侵权请联系博主删除&#xff01; 需求&#xff1a; 写一个shell终端命令&#xff0c;实时显示当前文件夹下的文件大小 实现&#xff1a; 您可以使用以下的Shell脚本命令来实时显示当前文件夹下的文件大小&#xff1a; while true; docleardu …

【网络教程】超越平凡:一文揭示SSH-keygen的神秘世界

SSH(Secure Shell)是一种网络协议,用于安全地连接到远程计算机。SSH-keygen 是 SSH 协议的一部分,用于生成、管理和转换身份验证密钥对。 SSH-keygen 命令的基本语法如下: ssh-keygen [选项]以下是 ssh-keygen 命令的一些常用选项和参数: -t:指定要生成的密钥类型。例如…