SAP ABAP 学习总结

更新时间:2023-10-24 22:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

SAP ABAP 学习总结

初学入门推荐 黄佳 《SAP程序设计》

1.Object Navigator是ABAP工作平台上众中开发工具的中心入口,事务代码为:se80,其中还有几个经常会用到的T-CODE: SE38, SE24, SE37.

2.在ABAP Editor中有一个Excute with variant 按钮,代表通过变量运行(变式与选择屏幕相关).

3.Editor Pretty Printer ON/OFF的设置: 菜单项: Utilites->settings有相关项,选中Indent,Convert upper/lowercase同Keyword Uppercase. 4.ABAP有三种类型的处理块:Event blocks, Dialog Modules,Procedures只有后一种可拥有自己的局部变量,而且程序语句是内部调用,前两者处理块之间实行外部调用.

5.应用程序类型, 可执行的:以Report关键字引导,不能定义功能模块但可以调用.模块池的:以Program关键字引导,必须通过事务代码运行. 6.语句链 Write: text1, text2. 等同于: Write text1. Write text2.

7,在一个Program中,处于Form和Endform之间的是Subroutines. 该程序由Program引导,不能直接运行,需被调用,不能包含自定义的用户屏幕. 8.数据内部定义: types type(len) Type type [decimal dec] data data(len) Type type [decimal dec] [value var] Decimal 附加项只适用于指定P类型的小数位.

9.两个结构体进行赋值操作,如果 Source与Destination的组件结构不完全相同,则用

Move-corresponding, eg: move-corresponding source-data to destination-data.

10.在ABAP数据表达式中,关键字前后必须有空格,eg: Fault: (a=b+c) true:: a = b + c .

11.在用户主记录里可以设置日期的显示分隔符,小数点字符和千位分隔符,在system->userprofile->owndata 或T-code: su01.

12.内表是一种大批量数据管理形式,用于在程序运行期间存储多行结构相同的数据,程序对内表的行操作不能直接进行,必须通过一种接口来传输,这个接口就是工作区.

13.ABAP的两种动态数据对象: Field symbols 与 Data reference.

14.内表有三种形式: standard table , sorted table , hashed table后一种不能进行索引查找,只能通过关键字搜索.

15.子程序的定义和调用分别用Form/Endform和perform来实现,如果想生成子程序的代码框架,则在prefom add处双击即可.

由于这次是专门做SAP方面的工作,所以其实方面如果有问题公司还是会另派人过来解决.所以接下来的我的工作目标非常明确,就是要在顾问指导下做好相关SAP方面的工作.

几天下来对自己的工作环境有了个大概的了解,这里有一个专门的SAP实施团队,加上偶共六人,其中五个是香港那边过来的,六人中也就我一个大陆仔. 也就这个时候我才N后悔以前没把白话学好,他们虽然都会点中文,但在这样一个以讲白话为主的环境下使我一下很难融入到其中. 为了使自己尽快适应这种环境,偶不

得不开始学白话. 其实对于一个本来就不会的人学一种新语言,不管怎样还是要一个相当长的过程. 不管怎样我的重点还是在SAP上(当时还不知道有ABAP这个概念)------汗!

头几天让我先从内部的SAP网了解个大概,上面主要是介绍这家公司要实施的一些阶段性方案,如业务蓝图之类的.对SAP的概念几乎没有介绍,由于当时我的电脑又上不了网,所以几天下来对SAP一个大概念都异常模糊.这中间回了次深圳公司(客户在横岗),第一件事就是去购书中心看有没相关的SAP资料.资料的确少的可怜,不过还是看到几本,其中就有一本黄佳编的<>,当时我也是感觉会和程序设计打交道,所以就买了这本.后来发现其实这本书对我入门ABAP还是有比较大的帮助.回来后同事说我买对了书!哈当时真是感觉如获至宝,于是开始翻阅起里面的内容.这几天在笔记里我记下了这么几点.可能比较乱.呵呵大家凑合着看.前面差不多一个月的日记都是从那本书上摘录的.

1.Object Navigator是ABAP工作平台上众中开发工具的中心入口,事务代码为:se80,其中还有几个经常会用到的T-CODE: SE38, SE24, SE37.

2.在ABAP Editor中有一个Excute with variant 按钮,代表通过变量运行(变式与选择屏幕相关).

3.Editor Pretty Printer ON/OFF的设置: 菜单项: Utilites->settings有相关项,选中Indent,Convert upper/lowercase同Keyword Uppercase.

4.ABAP有三种类型的处理块:Event blocks, Dialog Modules,Procedures只有后一种可拥有自己的局部变量,而且程序语句是内部调用,前两者处理块之间实行外部调用.

5.应用程序类型, 可执行的:以Report关键字引导,不能定义功能模块但可以调用.模块池的:以Program关键字引导,必须通过事务代码运行.

6.语句链 Write: text1, text2. 等同于: Write text1. Write text2.

7,在一个Program中,处于Form和Endform之间的是Subroutines. 该程序由Program引导,不能直接运行,需被调用,不能包含自定义的用户屏幕. 8.数据内部定义: types type(len) Type type [decimal dec] data data(len) Type type [decimal dec] [value var] Decimal 附加项只适用于指定P类型的小数位.

9.两个结构体进行赋值操作,如果 Source与Destination的组件结构不完全相同,则用

Move-corresponding, eg: move-corresponding source-data to destination-data. 10.在ABAP数据表达式中,关键字前后必须有空格,eg: Fault: (a=b+c) true:: a = b + c .

11.在用户主记录里可以设置日期的显示分隔符,小数点字符和千位分隔符,在system->userprofile->owndata 或T-code: su01.

12.内表是一种大批量数据管理形式,用于在程序运行期间存储多行结构相同的数据,程序对内表的行操作不能直接进行,必须通过一种接口来传输,这个接口就是工作区.

13.ABAP的两种动态数据对象: Field symbols 与 Data reference.

14.内表有三种形式: standard table , sorted table , hashed table后一种不能进行索引查找,只能通过关键字搜索.

15.子程序的定义和调用分别用Form/Endform和perform来实现,如果想生成子程序的代码框架,则在prefom add处双击即可. ----------------------- ----------------

1,package的命名规则: begin with A-S or U-X是SAP standard object, begin with Y or Z are customer objects, begin with T are private test package, begin with $ are local package.

2.在数据字典中,每创建一个TABLE,都将生成一个同名的结构化数据类型,其中的组件字段与实际物理数据库表完全一致.

3,在select查询中如果要指定多个数据对象,则需要将这些对象放在括号内,并用逗号隔开,eg: select * from spfli into (a, b).

4.Function Module是最为常用的复用组件,它是独立的R/3仓库对象,也是一种过程模块,在不同的系统间可以通过RFC(Remote function call)技术进行功能模块的调用.

5,几个有用的系统函数: sy-uname, sy-host, sy-datum, sy-uzedit, sy-subrc, sy-bdcnt,sy-index, sy-tabix,sy-dynnr.

6,可用于交互式报表的列表事件有: at line-selection, at user-command 前者为选择某行时触发,后者由某个GUI触发.

7,在可执行程序中,只要在程序代码中使用parametes或select-options语句,则在程序运行后就会产生用户的选择屏幕.

--------------- ----------------------------

1, LDB(逻辑库)节点在程序访问之前需用Nodes语句声明,在旧版本中则使用Tables声明. 两种中止语句 Reject与check(有条件中止).

2, 由系统自动调用的子程序称回调线程,-----call back routine,利用此程序可以实现许多高级屏幕功能.

3, 在OO设计中对象的识别和寻址是通过对象引用来实现的.

4, 在二种对象运算访问符中->与=>,对于类中的静态组件是通过类名称加=>直接对类进行操作的.eg: class=>comp.

5,对象的自身引用可使用变量ME,是一个局部变量来的.

------------------------------- ------------------------------

1, Append与Insert r的区别: append wa to itab; insert wa into table itab 前者不能用于Hashed表, 后者不能用于Sorted表的non-unique.

2.修改内表语法: modify itab from wa transporting col2 where….. 表明根据where条件来更新COL2字段值,表类型为SORTED或HASHED.

3,删除内表语法: Delete table itab: from wa, with table key col = 1. 三个标点不可少,with后的为条件关键字.如果用条件的则为: DELETE ITAB WHERE (COL > 17 AND COL < 4 )

2, 处理某事件后弹出一个信息提示窗口: call function ‘popup_to_inform’ exporting title1= ‘xx’ txt1 = ‘xxx’. 另一种不弹出的则为: MESSAGE SY-REPID TYPE ‘I’.

3, 要在一个类未定义之前引用此类: CLASS A DEFINITION DEFERRED.

4, 获取一个内表共有多少行,使用函数 LINES( ITAB ) .

5, 要想调用一个CLASS中定义为PROTECT的方法,需继承过来用PUBLIC的方法进行CALL METHOD.(其实有很多种方法)

6.参数选项在EVENT中定义为哪种类型如EXPORTING则在RAISE EVENT时如果用到参数也用 EXPORTING VALUE = ‘XXX’.

本文来源:https://www.bwwdw.com/article/9t92.html

Top