一:abap三层架构:最上面是展示层,即我们每个人使用的电脑和gui,中间是abap服务器层,最下面是数据库层。无论abap标准程序,还是abap开发人员自己编写的程序,都运行在中间服务器层,而读取和写入的数据都存储在最下面的数据层。
二:sap有很多产品,比如sap收购的hybris,后来更名为sap commerce cloud,hybris的前后台是jsp + java,更名后前台改为了angular.所以如果要学习一个产品,就要搞懂他的前后端用的都是什么。学习的是sap erp,sap hana等基于abap技术栈的产品系列的话,除了掌握abap这门编程语言,还要了解对应的业务知识,就好像武侠小说里的武功招式和内功心法。
三:repository相当于仓库,application data存储的是依赖于client的业务数据,比如销售订单,服务订单,客户订单等。customizing data存储的是影响abap应用执行流的配置数据。
四:se11建成表时,选择的A代表这是应用程序创建的数据库表,存储事物数据和主数据。C代表这是一个配置表,存放客户自己维护的配置数据。S和W就是sap系统级别的数据库表。
五:数据类型分两种:完整数据类型和非完整数据类型(C,N,P这三个类型,在定义时需要指明长度,否则会默认为1)。
六:ABAP编程语言的字面量(文本字面量和数字字面量等之类的),常量(constants定义的,定义时必须用value指定默认值)和文本符号(text-001等在程序里面定义的)。
七:引用类型(Reference Type)也是ABAP编程语言里重要的一个数据类型。
八:举个例子,online执行时上传或下载文件到本地时有个许可,这时我们选择许可就可以正常执行,但如果是background执行时,因为我们没有办法选择许可按钮,所以上传或下载文件到本地时就会报错。所以background执行时,我们只能选择上传下载文件到server。就可以避免这个问题。
九:高级语言里的命名空间相当于现实世界中的姓氏,目的都是为了避免重名。用/做分隔,比如/ui2。
十:类的public(公有)方法可以在外面被调用,但private(私有)方法只能在类的内部被调用。