有哪些ABAP关键字和语法,到了ABAP云环境上就没办法用了?(二)

简介: SAP BTP ABAP 环境是用于 ABAP 开发的 SAP 平台即服务 (PaaS) 产品,使开发人员能够利用其传统的本地 ABAP 专业知识,在 SAP 业务技术平台中开发和运行 ABAP 应用程序,或者作为 SAP 软件的扩展或作为独立应用程序。

不是所有的SYST结构字段都能直接访问

结构体SYST里包含了很多系统字段,能让ABAP开发人员方便地获得一个ABAP应用执行时的各种维度的信息。

image.png

在ABAP云环境上,使用这些字段需要特别小心,以免遇到形如Access to the field “SY-DATUM” is not permitted in the restricted language scope这种语法错误:

image.png

正确的方式,应该用CL_ABAP_CONTEXT_INFO=>GET_SYSTEM_DATE这种工具类提供的方法。

image.png

下面是一些其他例子。

image.png

幸运的是,因为我们是在ABAP Development Tool这个IDE里编程,所以不用硬记这些On-Premises到ABAP Cloud上的语法转换规则。大多数时候,依靠IDE的语法报错或者Quick Fix功能都不难找到修复语法错误的线索。

41.png

42.png

image.png

当然如果嫌这种一条条修复的方式速度较慢,或者想象这样一个场景:您的ABAP On-Premises系统上有一个开发包,里面包含了很多ABAP二次开发代码,在将这些代码从On-Premises系统迁移到云上之前,我们可能会期望做一次统一的“Cloud Readiness”检查,一次性把所有上云的隐患都列出来。


传统的ATC检查(ABAP Test Cockpit, 一种ABAP代码检查工具)此时再次有了用武之地。按照这篇SAP社区博客How to check your custom ABAP code for SAP Cloud Platform ABAP Environment提到的note去做,在一个ATC中央检查系统上安装包含了新的ATC检查选项的实现note:

43.png

这个新的ATC检查选项名称为SAP_CP_READINESS_REMOTE,能帮助我们早在ABAP代码迁移到云环境之前,在On-Premises环境里就能够找出所有阻止当前被检查的ABAP代码上云的障碍。

image.png

image.png

当然这种检查反方向执行也是可以的,即在SAP Cloud Platform ABAP环境里,触发连接的ABAP On-Premises环境里的ATC检查。由于是云环境访问On-Premises环境,所以需要SAP Cloud Connector完成内外网穿越:

image.png

从Fiori Launchpad里进入Custom Code Migration这个应用,创建一个新的迁移项目:

image.png

迁移目标当然是SAP Cloud Platform ABAP环境,而迁移的源头是ABAP On-Premises环境,所以需要维护一个指向后者的Destination,这个Destination在SAP云平台上创建。

image.png

此时我们就可以在Fiori UI上触发ABAP On-Premises系统上的ATC检查,并监控其进度。

image.png

检查完毕后,可以根据提示返回On-Premises环境进行代码调整。

image.png

总结

本文首先对 SAP 云平台 ABAP 编程环境做了概要介绍,阐述了 SAP 云平台引入 ABAP 编程环境的动机以及客户从中能够获取的收益。接着从 ABAP 二次开发这个领域里,所有 ABAP 开发人员都关心的 ABAP 语法兼容问题出发,列绝了典型的无法在 ABAP 云端编程环境下继续工作的 ABAP 关键字,并且给出了替代方案。



43.png

目录
相关文章
|
6月前
|
数据处理 开发者
ABAP AT NEW 关键字的用法
ABAP AT NEW 关键字的用法
|
6月前
|
Java C#
ABAP 7.40 新语法介绍系列之三 - ABAP Value 操作符试读版
ABAP 7.40 新语法介绍系列之三 - ABAP Value 操作符试读版
|
6月前
|
存储 自然语言处理 BI
ABAP 关键字 READ TEXTPOOL 的用法介绍
ABAP 关键字 READ TEXTPOOL 的用法介绍
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
SAP ABAP OData 服务里需要指定 guid 类型的请求参数时,正确语法是什么?
|
6月前
|
开发工具 Web App开发 IDE
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
如何对 SAPGUI 里的 ABAP 代码语法检查功能进行自定义增强配套代码
|
6月前
|
Java SQL 数据库
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
ABAP 7.40 新语法介绍系列之五 - 增强的 ABAP OPEN SQL 语法介绍试读版
ABAP 7.40 新语法介绍系列之二 - ABAP 类型转换操作符 CONV试读版
ABAP 7.40 新语法介绍系列之二 - ABAP 类型转换操作符 CONV试读版
ABAP 7.40 新语法介绍系列之二 - ABAP 类型转换操作符 CONV试读版
|
6月前
|
SQL Java 数据库
ABAP 7.40 新语法介绍系列之四 - ABAP Table Expression 内表表达式的用法试读版
ABAP 7.40 新语法介绍系列之四 - ABAP Table Expression 内表表达式的用法试读版
ABAP 7.40 新语法介绍系列之一 - ABAP 变量内联声明(Inline Declaration)试读版
ABAP 7.40 新语法介绍系列之一 - ABAP 变量内联声明(Inline Declaration)试读版
|
XML 存储 中间件
根据指定关键字搜索指定时间范围内的 SAP CRM 中间件 BDOC 的 ABAP 小工具分享
根据指定关键字搜索指定时间范围内的 SAP CRM 中间件 BDOC 的 ABAP 小工具分享

热门文章

最新文章