[转]很不错的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,是一个局部变量来的.
——————————–2005-09-08————————————
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 )
4,在LOOP AT…ENDLOOP内有一个 AT ,<…>,ENDAT循环. 其中的包括: FRIST, LAST, NEW , END OF.这些可以用来进行内表中按某个字段进行分组统计.
5,几条记录作一次取用:PACKAGE SIZE N eg: select * from spfli into corresponding fields of table itab package size 3.
6.接口成员只能为类的公有成员,接口没有自己的实例,一个接口可以被任意多个不同的类实现,接口中定义的成员集在各类中名称要相同.
7, 在程序中使用逻辑数据库有两种方法:通常是通过GET事件或者功能模块进行调用.如: NODES node.
8, 在程序代码中输入NEW-PAGE PRINT ON ,将生成的列表直接发送走到SPOOL系统进行打印,不在屏幕上显示.
——————————–2005-09-11————————————
1,将一组选择屏幕组合在一个区域,可以使用Begin of block…..eg:
Selection-screen begin of block blocka [with frame [title tit] ]
[no intervals]-只选单值不出现TO.
Selection-screen end of block.
2, 屏幕流逻辑分为两个最基本的处理块: PBO与PAI, 前者是在向用户显示屏幕GUI之前触发,后者是在用户进行某些屏幕行为后并回车时触发.流逻辑模块是在语句MODULE/ENDMODULE之间定义.这里的语法不属于ABAP系列.
3,屏幕中的OK字段其作用是:返回在屏幕和GUI状态中用户触发的功能代码:一般情况字段命名为:OK_CODE,数据类型与SY-UCOMM相同.
4,通过SE93可以为程序创建自定义的事务代码.
5,GUI中的交互元素包括菜单条,标准工具按扭,APPLICATION TOOLBAR,FUNCTIONKEYS共四种,在作屏幕事务设计时这些都要分配具体的功能代码与之对应.

——————————–2005-09-12————————————
1,在定义EXPORTING、IMPORTING与CHANGING的时候,前两者分别为基本输入与输出参数,而CHANGING可用于前两者功能。
2,在处理商务文档时需用到SAPSCRIPTION与SMARTFORMS工具,两者都可以进行布局设计与输出控制。企业中的PO,SO等报表都要用到此类工具。
———————2005-09-13到2005-09-17———————-
这几天香港那边来的顾问对我们几个新手进行了培训,主要是讲ABAP这方面的知识,因为那老师讲的都是白话,加上速度很快,所以这段时间笔记写的比较乱。我要花点时间整理下。
———————2005-09-13到2005-09-17———————-
这几天香港那边来的顾问对我们几个新手进行了培训,主要是讲ABAP这方面的知识,因为那老师讲的都是白话,加上速度很快,所以这段时间笔记写的比较乱。
1,ABOUT XX SAP,本公司要上的功能模块:PM,FI/CO,PP,MM,SD,BASIS。
2,实话阶段:计划前准备:项目管理-正式实话会议-议程-系统配置-企业动作架构-主业务流程。 商业蓝图:业务流程-工作物资-报表清单-批核概念。
3,项目标准:确定项目成员,LOGO制定,确定小组合作形式,帐套管理策略。。。
4,ABAP communicator service: J2EE engine module (using local tcp/ip network)
5,Payroll: ABAP dictionary containing data as well meta data.
6, Model object connot be created in a local package (only create the object after consulting sap,create the object in an sap package).
7,the lock objects deal with the problem which some users synchronize access to the same data.
8,different fields having the same technical type can be combined in domains.
呵呵上面这些偶也不知道是记了些什么东东。不过下面这些也好不到哪去。
9,Basis administrator: clients management, transports, data archiving, system monitoring, perform….
10,some useful transaction code:AL06, AL08, AL10 , AL11.
11,NEW-LINE = write: / eg: write: / xxx. The same to, new line. Write xxx.
12,在EDITOR界面的GOTO-》ATTRIBUTE-》可改TITLE的属性。
13,在Report xxx后可跟LINE-SIZE WIDTH, LINE-COUNT, PAGE LINES等属性,这些选项可以用来控制列表输出的页格式。
14,插入断点: BREAK-POINT, BREAK-USERNAME,也可以在程序激活的状态下按下STOP BUTTON。
15,用PROGRAM中的DOCUMENT可同步显示提示帮助。同时也可以在此处编辑。
16,可以用INCLUDE去包含一个数据类型 eg: include type xxx. 其中XXX为已经定义的数据类型。 这种方法在定义游标的时候会用到。
17,几个字符串操作函数:split…at…into.., shift ….right…., add-corresponding, divide-coresponding, move-corresponding, abs, concatename, condense.
18,刷新的时候对于基表用refresh, 内表用clear,free.
19,读数据集:READ DATASET DSS INTO RECORDE。
20,批处理工具,LSMW,BDC, CATT,ECATT。
21,如果要让个选择屏幕浮在SCREEN 1000的上面,则使用调用语句:
CALL SELECTION-SCREEN 100 STRATING AT 10 10 END AT 50 50。
———————2005-09-18到2005-09-20———————-
1 ,从一个正在运行的程序调用另一个可执行程序: 可用SUBMIT命令来完成.通过事务代码调用程序的语句为:LEAVE TO TRANSCATION 或 CALL TRANSCATION.
2 ,用SELECT把多行选择到内表: SELECT …..INTO/APPENDING TABLE ITAB. 如果希望不覆盖原来的内表数据,则使用APPENDING.
3 ,SAP应用服务器文件及目录可以通过事务代码:AL11进行浏览.
4 ,要显示END-OF-PAGE事件的页脚内容,需在LINE-COUNT LENGTH后加上[(FOOTER-LENGTH)], 指定预留的页脚行数,eg: line-count 12(3).
5 , 想让一个选择屏幕的条件字段自动调用一个表的字段值信息:
Select-options so-air for spfli-carrid.
6, 做一个SAP QUERY涉及到的步骤:一首先建立一个用户组,二建立一个功能组选择表数据,SQ02,SQ03.三在SQ01下建立一个如果是第一次建QUERY,则在QUERY中输入名称.
———————2005-09-21到2005-09-23———————-
1 , 如果想把一个屏幕的某字段设为必需输入的值,则可执行以下操作.
At selection-screen. 此为一个屏幕事件.
If carrid is initial.
Message e888( hints ) with ‘xxxx’.
Endif.

剩余80%内容付费后可查看

如若转载,请注明出处:https://www.gavindong.com/198.html

微信沟通