ABAP/4学习

工作过程:
处理各个独立的R/3应用程序的对话步骤.包括屏幕处理器,ABAP处理器,和一个数据库接口.屏幕处理器负责处理屏幕流逻辑,并根据显示服务器输入的数据及用户行为,告知ABAP处理器那个处理块将被处理,ABAP处理器负责执行ABAP程序内部逻辑并和数据库接口进行通信.
程序运行
对选择屏幕和列表处理屏幕,系统自身包含流逻辑处理,系统自动将事件直接传递给ABAP程序,调用事件块.
对普通屏幕的来说,只能将事件传送给PBO/PAI等流逻辑模块,由程序员来定义屏幕及这些模块的ABAP代码,并通过调用模块来执行代码.

屏幕类型:普通/标准屏幕,子屏幕,方式对话框,选择屏幕,列表输出屏幕.后两种屏幕是ABAP语句实现的.

生存期与可见性
过程中的DATA类型数据对象,在每次调用过程的时候被初始化.而静态数据对象STATICS则不被初始化.
源代码复用
包含程序:I类型程序.被程序调用,作为被调用程序的一部分.
宏:DEFINE/END-OF-DEFINITON构成.包括最多九个占位符(&1,&2...&9)
定义部分:
DEDINE MACRO.
.
END-OF-DEFINITION.
MACRO [P1 P2...P9]
DEFINE MACRO.
RESULT = &1 &2 &3.
OUTPUT &1 &2 &3 RESULT.
END-OF-DEFINITION.
DEFINE OUTPUT.
WRITE: /'THE RESULT &1 &2 &3 IS ',$4.
END-OF-DEFINITION.
MACRO 1+2.
消息处理
类型I(上下文相关),弹出信息对话框,需要用户来确认或者关闭对话框.在对话程序中调用I型消息,与S型消息一样,不弹出对话框.
类型E(上下文相关)和类型W都用户的错误输入或行为进行警告,主要应用在PAI处理中,在其他情况下应用将造成程序的中止.
类型E消息无论在PBO或PAI中,都造成程序中止.在PBO中,处理中止,等待用户再次输入,再次触发PAI事件.在PAI中,不能返回第一画面,也不转向后续屏幕,报红色消息,停在空白屏幕处.
类型W消息,报黄色消息,按回车后程序继续执行.出现在PBO中效果如S型.
类型A消息,异常中止,消息以对话框形式出现,用户确认后,程序中止,回到调用点.
类型X消息,不显示,以SHORT DUMP运行时错误中止.不能在实际系统应用程序中出现.
捕捉异常
在功能模块或方法中,可以通过RAISING附加项开代替RAISE语句来触发运行过程中的异常.
MESSAGE ...[RAISING exc]
如果异常没有被列入CALL FUNCTION 语句的EXCEPTION列表,对没有RAISING选项的消息将产生下列影响:
1.不对S,I,W型消息做任何处理,如果是在后台运行,将相关消息写入系统日志.
2.对E或A型消息,将触发ERROR_MESSAGE异常.
3.对X型消息,中止程序并产生运行时的错误.
类和对象
类分全局类和局部类.全局类是在CLASS BULIDER SE24里面创建的,保存在系统类库程序(CLASS POOL)中,供所有程序使用.局部类是在程序内部创建的,是ABAP对象的定义部分.
CLASS class DEFINITION.
PUBLIC SECTION.
...
PROTECTED SECTION.
...
PRIVATE SECTION.
...
ENDCLASS.
类声名部分包括类成员:属性,方法,事件等.
CLASS class IMPLEMENTATION.
METHOD ... ENDMETHOD.
ENDCLASS.
类实现部分,类方法的实现代码.
可见性:
1.共有部分PUBLIC SECTION:类成员,类方法及派生类中的方法可以被所有对象使用.构成了类与外界的接口.
2.保护部分PROTECTD SECTION:类成员等这些组件,构成了类和派生类对象之间的接口.
3.私有部分PRIVATE SECTION:类成员只能被本身类方法使用.
类方法的声明与实现.
声明部分METHODS与CLASS-METHODS
METHODS meth
IMPORTING ...
EXPORTING ...
CHANGING ...
EXCEPTIONS ...
实现部分METHOD
METHOD med.
...
...
ENDMETHOD.
程序中的引用.
DATA: <> TYPE REF TO .
START-OF-SELECTION.
CREAT OBJECT <>.
CALL METHOD <>->...
其中的OPTIONAL指定该参数可选,该参数类型的初始值进行传递或者使用DEFAULT指定的默认值.
函数方法:在调用时使用'='来替代过程调用语句
构造与析构方法:类构造方法属于静态方法,只在程序中调用一次,即第一次使用该类是调用,在共有部分声明,起名称必须为CLASS_CONSTRUCTOR.
构析方法,该方法在对象删除的过程中被调用,ABAP尚未提供该方法的实现形式.
继承:
CLASS C1 DEFINITON INHERTING FROM ....
...
ENDCLASS.
CLASS C1 INPLEMENTATION.
...
ENDCLASS.
CLASS C2 DEFINITON INHERTING FROM C1.
...
ENDCLASS.
CLASS C2 INPLEMENTATION.
...
ENDCLASS.
关于SAPSCRIPT的格式上传和下载
用SE38运行程序RSTXSCRP进行整体上传下载.还可通过SE78来上传图片.
数据库表维护
技术设定:定义表中所存储数据的类型
APPL0较少需要被修改的系统数据表
APPL1需要经常修改的数据表
APPL2系统定制数据表,系统安装后很少需要修改
数据库操作提取数据
SELECT语句
选取单行数据
SELECT SINGLE into FROM
选择多行数据
1.循环选择SELECT/ENDSELECT
SELECT [DISTINCT] ...
ENDSELECT.
DISTINCT用于自动去掉结果重复的行
2.选择至内表
SELECT ... INTO /APPENDING [CORRESPONDING FIELDS OF] TABLE ITAB.
3.指定选择包大小
SELECT *... INTO TABLE itab PACKAGE SIZE n...
endselect.
多表结合查询
1.SELECT语句嵌套
SELECT...
SELECT...
ENDSELECT.
ENDSELECT.
2.FOR ALL ENTRIES选项
选出已存在内表中所有满足条件的数据值
3.使用视图
可以成倍地提高多表结合选择效率
4.结合查询
结合查询包括Inner join和Left Outer join.区别在于:Left Outer join中,对于主选择表中的数据,即使WHERE结合条件不满足,也将数据行选出.
CATT概述(SCAT)
用于SAP事务的测试(computer aided test pool),即计算机辅助测试工具.使用于传输少量测试用数据,并非SAP的数据传输平台.
使用CATT录制事务并传输数据步骤如下:
1.录制需要使用的事务,并创建测试用例
2.为测试模块指定输入参数字段
3.准备数据文件
4.运行测试用例并传输数据
[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/190059/viewspace-1018361/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/190059/viewspace-1018361/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值