是否有类似于现代ABAP的标准库(甚至可能是OO-Abap)?例如,一个精选的对象列表,可以解决一些最常见的编程任务,例如:
-
高级数据结构(不仅仅是普通的内部表)
-
使用文件路径和目录
-
使用文件(阅读,保存,......)
-
使用不同的文件类型(text,csv,xml,...)
-
正则表达式
-
使用环境(客户端,应用程序服务器)
-
......
我目前的工作流程是偶然发现一个问题,比如从文件名中获取文件的扩展名(或类似且简单的东西) . 然后我有三个选择:
-
在SDN上挖掘大量(主要是旧的和缺少的)帖子,直到我找到解决问题的指针
-
劈开并创建一个问题的一次性解决方案
-
花点时间,实施一个记录良好且记录良好的解决方案
很多次我觉得有点失落 . 许多可用信息是旧的,坏的或两者兼而有之 . 是否有更加结构化的方法来解决在ABAP世界中找到合适抽象的问题?
2 回答
回答第一个问题,不像C,C#,Java,不需要包含库,因为所有函数总是可用的,所以在这方面它可能更简单 . 你问的是一个很好的问题,我相信你可能会在SDN中看到大量的查询“是否有功能模块?”等等
没有一个简单的答案,但在SAP ABAP中,我认为最简单的方法可能是通过查看包来找到它 . 类似于库,通过查看包的功能类型,您可能会找到它 . 例如,如果我正在寻找处理文件,我可能会寻找控制框架包,在那里我可以看到与前端控件/文件处理等相关的所有可用函数/类/方法/ BAPI等,并且可能能够找到我要找的东西 . 注意它并不完美,因为使用包的方式已经不时改变,所以它实际上更好地找到与例如购买或销售等相关的功能,但它是我们使用的一种方式 .
像其他语言一样,我们仍然需要知道链接到哪个库以获得所需的功能,在ABAP中你只需要找到相关的包 . 希望它有所帮助,我知道它并不完美 . Example package for front end controls
对于使用环境:
如果您有权访问SAP,则会有一个名为BAPI的事务代码
在这里,您可以找到SAP中所有主要对象的分层列表(即材料,采购订单等)
在此列表中,您可以找到文档,用于对象的功能模块(即créate/ get detail / update等)
挖掘功能模块可以查看结构,接收参数等
其他问题有点复杂,我不知道任何全面的清单,但通常很容易找到解决最常见的事情,如处理文件等的SCN
在正则表达式的特定情况下,SAP本机语言ABAP具有用于处理它们的关键字,但是您在SAP中也有一个名为CL_JAVA_SCRIPT的类,您可以使用它以“JavaScript方式”进行操作
例如,我过去使用这个类来评估一个字符串中提供的简单公式(即3 2 * 5)
这是一个在ABAP中非常复杂的操作,但在JS中很容易做到 .
希望能帮助到你