ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

用 Node.js 复刻 SE38 之后,ABAP 代码能不能像真正 NetWeaver 一样执行

用 Node.js 复刻 SE38 之后,ABAP 代码能不能像真正 NetWeaver 一样执行 现在正在做的这件事很有意思。界面层已经用Node.js + HTML把 SAP GUI 里的SE38复刻出来,编辑器、程序名、执行按钮、输出区域这些东西,从 Web 技术角度并不困难。真正跨过一道技术分界线的地方,是点击类似F8的执行按钮以后,编辑器里的 ABAP 源代码到底由谁来编译,又由谁来执行。这个问题的答案可以先定下来。技术上可以做到,而且可以做到非常接近真正的SE38。但如果要求 ABAP 代码具有真正 SAP NetWeaver 或 SAP S/4HANA 系统里的执行语义,那么最终执行代码的地方仍然应该是真正的AS ABAP。单独依靠Node.js,目前可以实现 ABAP 的解析、静态检查、转译和一部分运行时模拟,却无法完整复制 SAP 的 ABAP Runtime Environment。这里其实存在两条完全不同的技术路线。一条路线,是把Node.js + HTML做成一个自己的 ABAP IDE,浏览器里的界面负责编辑,真正的 ABAP 编译和执行交给后面的 SAP 系统。另一条路线,是彻底不要 SAP 系统,在Node.js里自己实现 ABAP Compiler 和 ABAP Runtime,或者把 ABAP 转成 JavaScript 再执行。前一条路线可以做到真正的 SAP ABAP 执行效果。后一条路线也已经有非常有意思的开源实现,但它更像 ABAP Compatible
返回列表