SAP的三层体系结构课件

上传人:我*** 文档编号:139691402 上传时间:2020-07-23 格式:PPT 页数:40 大小:299.50KB
返回 下载 相关 举报
SAP的三层体系结构课件_第1页
第1页 / 共40页
SAP的三层体系结构课件_第2页
第2页 / 共40页
SAP的三层体系结构课件_第3页
第3页 / 共40页
SAP的三层体系结构课件_第4页
第4页 / 共40页
SAP的三层体系结构课件_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《SAP的三层体系结构课件》由会员分享,可在线阅读,更多相关《SAP的三层体系结构课件(40页珍藏版)》请在金锄头文库上搜索。

1、ABAP,l 了解ABAP l SAP的三层体系结构 l ABAP语法概述 l ABAP语言的基本元素 l ABAP的语法格式 l 结构类型和结构体 l 内表 l 数据库操作,ABAP,ABAP(Advanced business application program),是一种高级企业应用编程语言,它支持封装性和继承性,封装性是面向对象的基础,而继承性是建立在封装性基础上的重要特性。它适合生成报表,支持对数据库的操作,如:SQLserver,Oracle,DB2等主流数据库系统。,SAP三层体系结构,表现层(Presentation Layer):这是SAP用户和R/3系统交流的接口,用户在

2、这一层对SAP系统进行操作。这层将用户的命令或者操作传送给R/3系统,然后系统进行相应的处理后把数据返还给用户。 应用层(Application layer):这层包括一个或者多个应用服务器和一个消息服务器。每一个应用服务器包括一系列服务以便运行应用程序。所有的服务分置在这些应用服务器之中,其实用户需要的只是其中的一个应用服务器,多个服务器之间传递信息以决定用户到底需要的是哪个服务器的服务。 数据库层(Database layer):这里就是SAP系统的核心,存放了所有SAP系统的数据。,语法概述,ABAP基本语法特点 由各自独立的语句构成。 每个语句的第一个单词必须是ABAP关键字。 单词之

3、间至少要用一个空格分隔。 每个语句结束必须要用句号。 支持分块缩进,便于阅读。 一个语句可以跨多行,只要不遇到句号,就认为是一个延续 的语句。 可以把多个语句放在一行。,ABAP基本语法特点(持续),ABAP不区分大小写,关键字和用户操作数都一样,为了便于 阅读,一般把关键字大写,而操作数小写。 由于编程的时候随时切换大小写比较麻烦,可以在ABAP编 辑器中用“规范化打印机”按钮来自动转换。 如果连续多行的第一个关键字相同,可以使用链语句 链语句的方式 减少输入 注释: 注释行由第一列的星号(*)开头,并且必须写在第一 列,前面不能有空格。 编译器忽略注释行,不会执行。 在行末的注释用双引号(

4、”)作为前导。,ABAP语言的基本元素,数据类型 D :日期类型,格式为YYYYMMDD,长度为8 T :时间类型,格式为HHMMSS,长度为6 I :整数类型,长度为4 F :浮点类型,长度为8 STRING:变长字符串类型 XSTRING:变长字节序列类型 C :字符串类型,定义变量时指定字符个数 N :数字字符串类型,定义变量时指定数值字符个数 X :字节序列类型,定义变量时指定字节数 P :组合数值类型,定义变量时指定长度和小数点后位数,ABAP运算,数值运算(在ABAP中数学表达式可以任意多层嵌套) 算术运算 数学函数 时间日期运算 逻辑表达式 通用逻辑运算符 EQ( = ) NE(

5、 ) LT( ) GE( = ) IS操作符 IS INITIAL 检查字段是否为初始值 IS ASSIGNED 检查字段是否被分配 BETWEEN操作符 组合逻辑表达式 AND 与 OR 或 NOT 非,ABAP程序的关健字,关健字是语句的第一个词,它决定整个语句的意义,有四种不同类型的关健字 1.说明性关健字 TYPES,DATA,TABLES,这些关健字说明定义数据类型或者说明程序可以访问的数据对象 2.事件关健字 AT SELECTION SCREEN, START-OF-SELECTION AT USER-COMMAND 这些关健字在ABAP中定义处理块,处理块是当特定事件发生时进行

6、处理的语句组,ABAP程序的关健字,3.控制关健字 IF ,WHILE,CASE 4.操作关健字 WRITE,MOVE,ADD 用于处理数据,语法格式,定义数据对象 DATAname TYPE type_name 例: DATA number TYPE I. 定义了一个对象number其类型为 DATA num TYPE I value 18. 定义了一个对象num其类型为I初始值为18. TYPES:addressTYPE C. 注:TYPES语句用来创建用户定义的基本数据类型和结构化的数据类型,通过TYPE定义的类型不能直接使用,需要通过DATA进行定义其对应的变量后才可使用 如: DAT

7、A:address1 TYPE address,语句链,如果连续多行的第一个关键字相同,可以使用链语句 ,链语句的方式 减少输入 WRITE text1. WRITE text2. WRITE text3. 可以写成:WRITE: text1,text2,text3.,分支结构(IF,CASE),使用IF的条件分支 IF . ELSEIF . ELSEIF . .ELSE. ENDIF.,例子:,DATA flag TYPE c VALUE a. IF flag = a. WRITE / true. ELSE. WRITE / error. ENDIF. 产生如下输 出: true,使用CAS

8、E的条件分支,基本语法: CASE . WHEN . WHEN . WHEN . WHEN . . WHEN OTHERS. ENDCASE.,例子:,DATA: TEXT1 VALUE X, TEXT2 VALUE Y, TEXT3 VALUE Z, STRING VALUE A. CASE STRING. WHEN TEXT1. WRITE: / String is, TEXT1. WHEN TEXT2. WRITE: / String is, TEXT2. WHEN TEXT3. WRITE: / String is, TEXT3.WHEN OTHERS. WRITE: / String

9、 is not, TEXT1, TEXT2, TEXT3.ENDCASE. 产生如下输出: String is not X Y Z 这里,执行WHEN OTHERS后面的语句块,因为 STRING 的内容“A” 不等于“X” 、“Y”或 “Z”,。,循环结构(DO,WHILE),使用DO的无条件循环 DO TIMES VARYING FROM NEXT . ENDDO. TIMES 循环次数, VARYING选项在每次循环中给变量重新赋值 可以是文字或变量。如果是0或负数,系统不执行该循环 使用 DO 语句时要避免死循环。 如果不使用 TIMES 选项,则在语句块中至少应包含一个 EXIT、

10、STOP 或 REJECT 语句,以便系统能够退出循环。,例子:,DO. WRITE SY-INDEX. IF SY-INDEX = 3. EXIT. ENDIF. ENDDO. 产生如下输出: 1 2 3 这里,处理 3 次循环,然后在 EXIT 语句后退出循环。 SY-INDEX代表循环次数,使用WHILE的条件循环 语法: WHILE VARY FROM NEXT . ENDWHILE. 循环终止(CONTINUE,CHECK,EXIT) 无条件终止循环:CONTINUE DO 4 TIMES. IF SY-INDEX = 2. CONTINUE. ENDIF. WRITE SY-IND

11、EX. ENDDO. 输出结果: 1 3 4,有条件终止循环:CHECK DO 4 TIMES. CHECK SY-INDEX BETWEEN 2 and 3. WRITE SY-INDEX. ENDDO. 输出结果: 2 3,完全终止循环:EXIT DO 4 TIMES. IF SY-INDEX = 3. EXIT. ENDIF. WRITE SY-INDEX. ENDDO. 输出结果: 1 2,结构类型和结构体,结构类型由多个数据元素作为组件构成 参照结构类型生成的数据对象称为结构体 定义方式 TYPES|DATA: BEGIN OF structure, k1 TYPE type | L

12、IKE dobj , k2 TYPE type | LIKE dobj , kn TYPE type | LIKE dobj , END OF structure. 或TYPES|DATA structure TYPE str_type|LIKE str_dob. 或TYPES|DATA structure TYPE dbtab . 组件通过取组件运算符” - ”进行访问 structure-comp,例子:,TYPES: BEGIN OF address, name TYPE string, street(30) TYPE C, city TYPE String, END OF addres

13、s. DATA my_add TYPE address. my_add-name = lili . my_add-street = zhang jiang . my_add-city = shanghai . write: my_add-name , my_add-street , my_add-city.,内表,什么是内表 内表是一个数据对象,在运行时内表可保存多个相同结构的数据行数是动态的,系统可实时增加内表的大小。,内表的属性 几种数据表的访问:分为索引访问,键访问 三种表的类型: 标准表,排序表,哈希表 内表的定义 TYPES|DATA itab TYPE|LIKE tabkind O

14、F linetype|lineobj WITH key INITIAL SIZE n . tabkind 内表种类 linetype 行类型 key 表关键字 n 初始内存大小,内表类型(一),标准表 STANDARD TABLE 具有逻辑索引 寻址操作通过关键字或者索引 排序表 SORTED TABLE 具有逻辑索引 寻址操作通过关键字或者索引 按表关键字升序后存储 哈希表 HASHED TABLE 没有逻辑索引 寻址操作只通过关键字,内表类型(二),行类型 基本类型 结构体 内表 表关键字 行结构为结构体 WITH UNIQUE|NON-UNIQUE KEY comp1 compn 行结构

15、为基本类型 WITH UNIQUE|NON-UNIQUE KEY TABLE LINE 不指定关键字 WITH UNIQUE|NON-UNIQUE DEFAULT KEY 初始内存大小 INITIAL SIZE n,TYPES: BEGIN OF address, street(20) TYPE C, city(20) TYPE C, END OF address. DATA: BEGIN OF company, name(20) TYPE C, address TYPE address, END OF company. DATA itab_company LIKE HASHED TABLE

16、OF company WITH UNIQUE KEY name.,创建一个内表,内表操作(一),操作内表行 插入行 INSERT语句 插入单行 INSERT line INTO itab INDEX idx . 插入多行 INSERT LINES OF itab1 FROM n1 TO n2 INTO TABLE itab2 INDEX idx.,内表(二),附加行 APPEND语句 附加单行 APPEND line TO itab . 附加多行 APPEND LINES OF itab1FROM n1 TO n2 TO itab . 读取行 READ语句 利用索引读取 READ itab INTO

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号