将 Java 应用部署到 SAP 云平台 neo 环境的两种方式

方法 1 - 使用 Eclipse
Eclipse 里新建一个服务器:

服务器类型选择 SAP Cloud Platform:


点 Finish,成功创建了一个 Server:

Eclipse 里选择要部署的项目,右键->Run as Server, 选择上一步创建的 Server 即完成部署。
方法 2 - 使用 SAP 云平台 Cockpit

选择本地打包好的 war 文件,点击 Deploy 按钮:

部署成功:

SAP help里提供了 CloudFoundry 和 Neo 环境下可用的 Region 和 API endpoint:


当我们期望用 SAP Cloud Connector 连接某个 SAP 云平台 Region 时,一般是从 F4 value help 里选择:

如果 drop down list 里没有我们希望使用的 region 怎么办?

解决方案
点击 Configuration:


手动添加一个即可:

然后在 drop down list 里就可以选择这个自定义 region 了:

Netweaver
以需要为一个用户上下文(User Context)能够在 SAP extended memory 区域中分配内存尺寸创建 quota 为例。
对于 Dialog 工作进程,使用事务码修改参数 ztta/roll_extension_dia.

对于非 Dialog 工作进程,quota 参数为 ztta/roll_extension_nondia.可以用关键字 quota 搜索更多 RZ11 参数。
CloudFoundry
Quota 不够会怎样?当我试图部署一个应用到 SAP 云平台的 neo 环境时,可能会遇到如下错误消息。

在 neo 环境下,需要管理员使用 SAP 帮助文档里提到的 set-quota 命令给 subaccount 手动分配 quota,之后才能使用应用。
解决方案
完整命令行:
分配成功:

分配成功的计算单元在 Cockpit 里的显示:

环境:SAP CRM WebClient UI
需求:在 WebClient UI 里不通过用户手动点击,而是使用 JavaScript 代码自动触发 ABAP 后台的代码。
解决方案:
1. 定义一个 hidden button, 其 onClick 事件处理函数(event handler)设置成 SAP ABAP 后台的 event Refresh:

2. 通过 document.getElementByID 拿到该 button 的实例,再调用其方法 click()触发 ABAP backend 事件:

打开 page,发现 backend event 成功被触发:


要获取更多 Jerry 的原创技术文章,请关注公众号"汪子熙"。
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/131966f9fe28c5b74d5d98883】。文章转载请联系作者。
评论