#私藏项目实操分享# 对于 basis 管理员来说,ABAP Platform 意味着什么
Posted JerryWang汪子熙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#私藏项目实操分享# 对于 basis 管理员来说,ABAP Platform 意味着什么相关的知识,希望对你有一定的参考价值。
根据 note 2620910 - SAP S/4HANA 1511, 1610, 1709, 1809 and SAP BW/4HANA 1.0, 2.0: Recommended and released Application Server Platforms:
从内核 773(ABAP 平台 1809 + HANA 2.0)开始,ABAP Platform 删除了对某些操作系统的支持。
这些放弃支持的操作系统列表:
根据客户的反馈,我们看到大多数客户选择 Linux x86_64 作为他们运行 SAP 系统的首选平台,尽管 Windows 和 AIX 仍然受支持并且是完全有效的选项。
清除过时的 SAP Profile 参数
如果您作为 SAP 基础管理员工作了一段时间,您可能知道 SAP 不断地引入、更改或删除配置文件参数。由于各种 SAP 产品和版本使用相同的 SAP 内核,因此参数中的这些频繁更改必须尽可能兼容,以避免产生不希望的附带影响。
但是 SAP ABAP Platform 1809/Kernel 7.7x 不同,它打破了与旧内核和 SAP Netweaver 版本的向下兼容性。这是 SAP 清理所有这些已存在多年的历史和过时参数的绝佳机会。
有 2 个主要区域已被清理和/或优化:
- ABAP VMC
- ICM 和 SAP Web Dispatcher
虚拟机容器(简称 VM 容器或 VMC)是集成到 SAP Web AS ABAP 中的一个组件,它使符合 Java 标准 J2SE 1.4 的 Java 功能能够在 AS ABAP 中执行。
根据SAP Note 2560708 的说明,S/4 HANA 的内核自 1809 年起不支持 VMC。因此,有很多 VMC 和 JVM 参数不再受支持,必须从 SAP 实例配置文件中手动删除。
ICM 和 SAP Web Dispatcher 参数也有重要变化,许多已贬值和过时的参数也已被删除。您可以在SAP Note 2593926 – Incompatible ICM / SAP Web Dispatcher Parameter Changes in 773 – Deprecated, Obsolete and Changed Parameters 中找到所有详细信息。
目标再次是删除过时的参数并简化 ICM/Web Dispatcher 组件的管理,这些组件现在与 FIORI 一起成为 SAP 系统的关键组件。
新的维护模型和运行级别
在我看来,这是为 SAP S/4HANA Cloud 引入的一项有趣功能,但也可用于 SAP S/4HANA“Any-premise”版本,因为这些 SAP S/4HANA 产品共享相同的代码。
有两个新概念:运行级别和维护期。
事务 SMAINTENANCE 允许您定义维护期:
- 普通用户将无法登录,只有具有特殊安全配置文件的系统管理员才能连接(事务 SECPOL)
- 只会执行管理批处理作业(所有其他作业将被搁置)
有不同的运行级别,从运行级别 0(系统在正常操作中运行)到运行级别 100(系统处于维护中),允许以更灵活的方式定义 SAP 系统的状态以及根据运行级别允许或不允许哪些操作:
在 SAP S/4HANA 内部部署系统上激活维护模式后,只有 SAP 系统管理员(具有正确的安全配置文件)才能连接:
新的客户端复制工具
经过多年没有重大变化,终于有了新版本的工具来创建、删除和管理 SAP 客户端。
主要的变化可以概括为:
- 由于工具使用 SAP HANA 优化,速度提高了 10 倍。
- 远程客户端复制速度提高 5 倍
- 无需用户 SAP* 即可进行客户端复制,无需重新启动系统
- 在隔离环境中运行,失败的退出和存储在日志中的表
- 基于表格的 UI,具有附加信息和更好的持久性;日志不同部分的多个选项卡
下表摘自 SAP 官方帮助,描述了 ABAP 平台中可用的新事务和任务列表:
例如,现在您可以估计一个 SAP 客户端的大小,并使用新的 SCC_CLIENT_SIZE 事务替换旧报告,详细了解哪些表占用更多空间:
内存配额和内存消耗的软转储
当一个进程消耗了他所有的内存配额(扩展内存 + HEAP 内存)时,会生成一个 ABAP 短转储(例如 TSV__NEW_PAGE_ALLOC_FAILED)并取消该进程作为一种保护机制,以避免整个系统崩溃。
到目前为止,当进程消耗过多内存时,不可能得到“早期警告”。唯一可用的选项是主动监控,检查哪些进程消耗了更多内存并尝试在为时已晚之前做出反应。
从内核 7.77 开始,当进程消耗的内存配额超过用户定义的百分比时,可以生成软转储:
- ABAP 处理器写入“coreinfo”文件
- 有一个进程会定期读取这些核心信息并将转储信息保存在 ST22 中。
- 转储 SESSIONMEM_QUOTA_WARNING 信息在 ST22 中可见
经典的 ABAP 短转储和新的软转储之间的主要区别在于进程不会被取消,但系统管理员可以对警告做出反应并决定什么是正确的操作:
正如您在前面的示例中看到的,尽管内存配额约为 6GB,但会话内存警告配置为 3.6GB
我确信对系统管理员非常有用的另一个有趣功能是允许更灵活地配置内存配额的选项。
默认内存配额适用于所有用户,默认情况下没有人可以消耗更多内存。但是,通过配额扩展,我们可以授予特定用户(必须在事务 SMEM_USEREX 中注册)不同的配额,允许他们消费更多或更少)
可以使用以下参数控制配额扩展和配额警告:
系统管理员必须通过事务 SMEM_USEREX 注册用户才能允许他们使用新的配额豁免机制:
ABAP 推送通道(ABAP push channel)和 WebSockets
另一个重大改进属于 ABAP 连接领域,是 RFC 的互联网支持。新的 WebSocket RFC 允许通过 HTTP/WebSocket 进行 RFC 调用,并且始终通过 SSL 传输以确保安全性。跨业务网络的 RFC 连接不再需要 VPN 隧道。
WebSocket RFC 使用标准的 HTTP 基础设施、反向代理、HTTP 路由器等,而不是专有的 SAP 路由器。
大多数 ABAP 应用程序使用轮询技术来实现事件驱动的通信。为了将事件从 ABAP 后端推送到基于浏览器的用户代理(如 SAPUI5、Web Dynpro、Business Server Pages (BSP) 或 WebGUI),经常使用以多秒为间隔的轮询。这是一种相当消耗系统资源的技术。在 SAPGUI 中,定时器控件通常用于检测 ABAP 后端系统中的事件。ABAP Channels 技术的目标是通过基于发布-订阅基础设施和 ABAP 中的 WebSockets 的推送通知来取代这种基于轮询技术的低效事件。
ABAP 通道基础架构随 SAP NetWeaver AS ABAP 7.40 支持包 2 (SP2) 一起提供,用于简单的测试和原型设计,并随 7.40 支持包 5 (SP5) 一起发布。
ABAP 通道的基本思想是对基于事件驱动架构的交互和协作场景的原生支持。ABAP 通道的范围包括以下通信通道:
借助 WebSocket RFC,RFC 最终与现代云和互联网架构兼容:
- 使用标准的 HTTP 基础设施:反向代理、HTTP 路由器等……不再是 SAPRouter。
- 跨业务网络的 RFC 连接不再需要 VPN 隧道
- 支持标准的 HTTP 身份验证机制,如 SAML 不记名令牌、Oauth 等……
- 兼容经典RFC(使用相同的ABAP语句CALL FUNCTION)
限制:
RFC 回调和调用功能模块,可打开基于 SAP GUI 的用户界面。
用户管理——技术用户与商业用户
到目前为止,“技术用户”(例如系统管理员、接口和批处理作业的用户等)和“业务用户”(在 SAP 内部执行业务流程的人)的定义方式完全相同,通过事务 SU01 和它们的主要区别在于 SAP 授权和登录详细信息。
从 SAP S/4HANA 1909 开始,为业务用户提供了一种新的身份模型。
业务用户是在系统中由业务伙伴和用户链接代表的自然人。该业务用户将在业务流程(采购员、销售代表等)的上下文中与软件进行交互
所以现在,在事务 SU01 中,技术用户和业务用户之间有明显的区别:
技术用户:没有关联的 BP,也没有 SU01 中的“地址”选项卡。
业务用户:用户id与对应的BP关联,部分细节无法通过SU01更改
对于业务用户,部分业务用户数据已集成在BP中,无法再在SU01中编辑:
- 个人数据来源于相应的业务合作伙伴
- 工作中心数据来源于相应业务伙伴的工作地址
- SU01 中的通讯数据来源于对应业务伙伴的工作地址
- SU01中的ORGANIZATION_NAME和LOCATION来源于对应BP的公司地址
更多Jerry的原创文章,尽在:"汪子熙":
以上是关于#私藏项目实操分享# 对于 basis 管理员来说,ABAP Platform 意味着什么的主要内容,如果未能解决你的问题,请参考以下文章
#私藏项目实操分享#iOS开发:实现点击常用控件弹出地区选择框(万能方法)