sap原因代码配置路径_使用Visual Studio Code编写和激活ABAP代码 (上)

猪年春节后的第一篇,Jerry祝各位猪年大吉!

2019年的六分之一马上就快过完了,不知道大家在新的一年是否给自己定了新的小目标呢?这里Jerry先预祝大家到2019年年底的时候,大家年初的小目标都能实现。

2018年4月之前,Jerry一半时间为SAP S4CRM工作,剩下的一半为SAP C4C工作,所以那段时间大家能发现,Jerry公众号文档主要是围绕着这两个SAP产品来写的。4月之后,Jerry换组,到了新的部门,工作内容也发生了变化,不再围绕着特定的SAP产品,而是项目需要我熟悉什么产品,我就得熟悉什么产品,所以之后我的公众号文章,主题也逐渐多种多样起来。

去年九月我的儿子上小学之后,我的业余时间很大一部分被功课辅导和兴趣班占据了,剩下的时间花在让自己尽快熟悉项目中会使用到的,对Jerry来说还非常陌生的产品。

言归正传,Jerry之前的文章 那些年我用过的SAP IDE 曾经 介绍过除了SAPGUI之外的其他ABAP开发工具或者ABAP代码浏览工具。

得益于Netweaver职责清晰的三层架构,提供了ABAP开发环境和运行环境的应用服务器层(下图中间的Application server layer)作为ABAP应用的核心, 其上可以灵活适配不同的展现层(Presentation layer), 比如WebIDE, Eclipse,和今天要介绍的Visual Studio Code。

8db9a047e875f3b30fe56cdbcdd6cffd.png

架构图中从应用服务器层的底层是数据库服务器层,Netweaver也支持多种主流数据库提供商的服务。例如下图是Jerry使用的一个Netweaver系统,支持包括SAP HANA在内的十种数据库管理系统(DBMS)。

b60ea6aa2c4079f9ca73511f2ad737e4.png

我们简单回顾下之前Jerry介绍过的不同的ABAP开发工具。

首先是ABAP Development Tool(简称ADT), 对ABAP程序提供增删查改和激活操作的函数,通过位于路径sap/bc/下面的SICF服务节点adt暴露给外部消费者。

ABAP Development Tool的Java端实现就是Eclipse平台的一个扩展,使用JCO(Java Connector)连接ABAP后台的adt服务,实现对ABAP程序的操作。

48da79860b4cb944ca7ac33059252ab1.png

关于ABAP Development Tool的细节,Jerry以前已经做过详细介绍,这里不再赘述,可以参考我这些文章。

不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧

Jerry在SAP Community上写给老外看的文章:https://blogs.sap.com/2014/08/12/an-example-to-help-you-understand-how-does-adt-work/

36afcc74408022f9857dde957238e689.png

而在浏览器里编写ABAP,即通常意义上的ABAP WebIDE,实现方式有两种。一种是通过传统的ITS(Internet Trasaction Server),这种方式显示的ABAP代码缺乏语法高亮:

37f2c6697e880632db0bdfb832d422c4.png

Jerry写过的相关博客:

Open your SAP GUI transaction in Fiori launchpad

https://blogs.sap.com/2016/12/21/open-your-sap-gui-transaction-in-fiori-launchpad/

How is old SAP GUI transaction embedded into Fiori launchpad

https://blogs.sap.com/2016/12/21/how-is-old-sap-gui-transaction-embedded-into-fiori-launchpad/

另一种技术就是S/4HANA某些应用,比如Custom Logic采用的,支持语法高亮。

b0d3a88d060970ba1d986c103fdebdfb.png

当然这个语法高亮的支持不是天上掉下来的,详细实现参考我的博客:

How ABAP syntax highlight is implemented in WebIDE launched via browser

https://blogs.sap.com/2018/03/09/how-abap-syntax-highlight-is-implemented-in-webide-launched-via-browser/

再回到今天聊的Visual Studio Code。SAP成都研究院很多前端开发的同事都向我推荐过这个IDE。Jerry试用过之后,印象最深的就是它那超快的启动速度,一流的扩展性和繁荣的生态圈。其扩展应用的丰富程度不亚于Sublime Text和Eclipse这些老牌开发工具。

和SAP自研的ABAP Development Tool思路一样,本文介绍的Visual Studio Code扩展应用,ABAP Remote File System也是通过另一种编程语言TypeScript去远程消费ABAP后台程序的增删查改服务。

该扩展应用的作者叫Marcello,一位居住在伦敦的程序猿(Jerry想起了皇家马德里昔日的队宠)。

257773db7d9dab6d814f72912cd92d5f.png

这个Visual Studio Code的扩展是开源的,github仓库地址:

https://github.com/marcellourbani/vscode_abap_remote_fs

安装和配置在仓库的readme里有详细说明,最简单的方式就是在Visual Studio Code里直接用abap作为关键字搜索Market place,然后点Install安装。

8db0ef3ede2ea5c0501d536bd58df6eb.png

这个扩展的配置settings.json可以参考下图:

407a52849835e432cb7c357180ca6a2b.png

配置完成后,在Visual Studio Code的命令栏里能看到连接ABAP系统的指令和settings.json里配置的两条记录,任选一个后登入系统,显示该系统下的ABAP代码。操作方式和基于Eclipse的ABAP Development Tool大同小异。

8c19727d654d4a9e3b61ac85905e4715.png

当然也有一些归功于Visual Studio Code的特色功能,比如这种类Google的即时搜索。

05c63af84078f18476cb6fb3c43211a4.png

这个扩展是不提供ABAP代码语法高亮的,需要安装另一个来自Lars Hvam贡献的语法高亮扩展。

9691b078559ed15843c3eb6b24094367.png

安装完毕后,ABAP的语法高亮也能顺利在Visual Studio Code里工作。

4d42e5728f49ed17e228958f37e17775.png

下面这张动图来自Marcello,演示了通过Visual Studio Code的这个扩展实现ABAP代码的基本编辑。

作者在他的readme也明确注明,这个扩展还处于Beta测试阶段,使用者需自己承担风险。

b631276aaef03442147f202f522a5026.png

在Jerry看来,Visual Studio Code的这个扩展,如果用来做ABAP开发的话功能还比较局限,但是如果对SAPGUI或者ABAP Development Tool产生了审美疲劳,想换一种工具来阅读ABAP源代码,那么它和下图的Sublime Text一样,都是不错的选择。

266823262319002a9ebbf6ddcca83249.png

将来如果Jerry有空,会在这篇文章的下半部分简单介绍下这个扩展的TypeScript实现细节。感谢阅读。

更多阅读

  • 动手使用ABAP Channel开发一些小工具,提升日常工作效率
  • 聊聊C语言和ABAP
  • ABAP vs Java, 蛙泳 vs 自由泳
  • 300行ABAP代码实现一个最简单的区块链原型
  • Jerry的ABAP原创技术文章合集
  • ABAP开发人员未来应该学些什么
  • Jerry的ABAP, Java和JavaScript乱炖
  • 我用ABAP做过的那些无聊的事情
  • 不喜欢SAP GUI?那试试用Eclipse进行ABAP开发吧
  • 那些年我用过的SAP IDE
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值