




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ABAP基础知识,ABAP/4培训教材,The R/3 Integration Model,什么是ABAP/4?,ABAP/4是英文Advanced Business Application Programming的缩写,是SAP R/3商用系统的应用程序开发工具,为什么学习ABAP/4?,ABAP/4 是一个面向对象的符合SQL标准的第四代专业 开发语言。SAP R3 的绝大多数是用ABAP/4开发的 ABAP/4是所有SAP R/3应用的基础,也是进行SAP R/3二次开发的最主要的工具,是我们对SAP R/3系统进行应用分析、二次开发的主要工具、必由之路,如何学习ABAP/4?,高级对象
2、 BAPI Module Smartform Object Orient Event Communication Interface Internet Application ,基本对象 ABAP/4 Dictionary Report Batch Input Dialog SAPScript Function Query,ABAP/4处理的对象,如何学习ABAP/4?,我们的学习目标,基础教程 认识SAP R/3 创建、维护ABAP/4 Dictionary对象 Report程序设计 Batch Input程序设计 课题 Dialog程序设计 SAPScript Layout Set和处理程
3、序设计 函数(Function)设计 BAPI程序设计 面向对象程序设计 ALV程序设计 ,ABAP程序的程序处理流程 Client-Server结构 程序执行的过程 SAP R/3客户端 ABAP/4 Workbench 知识库 工作台,这节里将介绍以下内容,ABAP基础知识,ABAP程序的程序处理流程,SAP R/3客户端,ABAP/4 Workbench,ABAP程序的程序处理流程,Client-Server结构 程序执行的过程,ABAP程序的程序处理流程,SAP R/3是一种典型的Client/Server结构的系统,ABAP程序的程序处理流程,ABAP程序执行的过程,ABAP基础知识
4、,ABAP程序的程序处理流程,SAP R/3客户端,ABAP/4 Workbench,SAP R/3客户端,SAP提供专门的客户端程序SAP Frontend给用户来连接R/3服务器,双击安装程序Setup.exe,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,双击SAP Logon的图标,SAP R/3客户端的安装,SAP R/3客户
5、端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,SAP R/3客户端的安装,双击就可以登录了,登录R/3服务器,R/3的基本界面,ABAP基础知识,ABAP程序的程序处理流程,SAP R/3客户端,ABAP/4 Workbench,ABAP 工作台,R/3知识库 ABAP工作台,R/3知识库,R/3知识库的结构,ABAP 工作台,ABAP/4 Workbench是ABAP/4的开发工作平台,包括了各种数据字典、开发、运行、测试、管理和传输的工具,ABAP工作台的核心ABAP/4数据字典,ABAP/4数据字典,ABAP/4数据字典是和ABAP/4工作
6、台密切结合在一起的一个活动组件 数据字典对象修改有效化后,将立刻影响到相关的程序和屏幕 R/3系统是一个解释执行的系统,程序或是屏幕并不直接读取源代码,而是执行内部经过“生成”的描述 对于ABAP/4字典的修改将触发内部描述的重新生成,数据字典对象,数据字典中包括: 数据库表 视图 数据类型 域 搜索帮助 锁对象 ,数据字典的基本对象,理解域和数据元素,在ABAP/4中有两种类型对象用来进行数据定义的:技术域(域)和语义域(数据元素) 域是描述一个对象属性的核心对象,它描述了一个字段的取值,格式和长度 数据元素是一个语义对象,它用来描述一个在一个字段中域的真正用途,域可以被数据元素重用,表类型
7、,表的类型有六种 Transparent Table Structure Append Structure Pooled Table Cluster Table Generated View Structure,透明表和结构,透明表和结构是我们用得最多的两种表对象,我们需要了解创接着两种表对象的方法,创建自定义透明表,创建自定义透明表属性设置,创建自定义透明表字段设置,创建自定义透明表技术设置,创建自定义透明表数量、货币字段的相关设置,创建自定义透明表,创建自定义结构,创建自定义结构,创建自定义结构,ABAP的句法规则,ABAP程序是由若干单独的语句组成的 每个语句用句点结束 语句的第一个单词
8、一般为关键字 语句中单词之间至少要用一个空格隔开 语句可以缩进 一句语句可由多行组成 在一行中可以有多个语句,ABAP/4基本语法,数据声明 控制和计算 数据库访问,ABAP/4基本语法-数据,基本数据声明 结构 内部表,ABAP/4基本语法-基本数据声明,ABAP/4基本语法-预定义类型的值域,ABAP/4基本语法-基本类型的转换规则,ABAP/4基本语法-简单的变量定义示例,DATA : W_CHAR TYPE C, “1位长度的字符变量 W_MULCHAR(20) TYPE C, “20位长度的字符变量 W_INTERGER TYPE I VALUE 10, “整型变量,并赋上了初值10
9、 W_FLOAT TYPE F VALIE 1.2E-10, “浮点数 W_DATE TYPE D VALUE 20030312, “日期 W_TIME TYPE T VALUE 123212, ”时间 W_NUMBER TYPE N, “1位数字变量 W_MULNUM(10) TYPE N, “10位数字变量 W_QUAN TYPE P, “缺省有3位小数的变量 W_CURR TYPE P DECIMAL 2. “固定2位小数的变量 DATA : W_CHAR_REF LIKE W_CHAR, “和上面定义的W_CHAR一样 W_MATNR LIKE MARA-MATNR. “和标准表MAR
10、A中字段MATNR一样,ABAP/4数据对象-结构,结构声明同样有两种方法: DATA : BEGIN OF , , , , END OF . DATA : TYPE|LIKE .,ABAP/4数据对象-结构示例,“直接声明 DATA : BEGIN OF STR_STUDENT, NAME(40) TYPE C, BIRTH_DATE TYPE D, BIRTH_TIME TYPE T, HEIGHT TYPE P, WEIGHT TYPE I, END OF STR_STUDENT.,“LIKE或TYPE DATA : STR_STUDENT_REF LIKE STR_STUDENT, S
11、TR_MARA LIKE MARA.,“特殊的用法,在自己的结构中包含别的结构 DATA : BEGIN OF STR_STUDENG2. INCLUDE STR_STUDENT. DATA : CLASS(2) TYPE N, DIRECTOR(40) TYPE C. DATA : END OF STR_STUDENT2.,ABAP/4数据对象-内部表,概念 内表是一种临时的数据表,它并不建立在Database Server上,而是建立在本地内存空间中,所以它不占用系统资源,而且存取速度快。正因为这些特性,使得内表在ABAP编程中显得相当的重要。 特征 内部表是ABAP/4中最核心的处理对象
12、 内部表是用来处理(增加、查询、修改、删除)一系列具有相同结构的数据的 内部表涵盖了在其它编程语言中数组的功能 内部表仅在ABAP/4程序运行时在内存空间里存在 内部表是自动化的对象,它自动完成相关的内存管理,ABAP/4数据对象-内表的分类,内表可以分為序表和无序表(hashtable),有序表又分为标准表和排序表。这三种表在使用中各有区别,一般我们未特别指明的情况下都是用的标准表。 标准表是以Index来进行排列的,我们可以使用Index和Key来访问它。排序表是以Key来进行排列的,同样的,我们也可以使用Index和Key来进行访问。 无序表是(hashtable)不按照任何规则进行排列
13、的,对它的访问只能按照Key来进行。,内部表的声明1,内部表的声明和结构的声明很相似,差别在于声明中有表明内部表身份的关键字OCCURS 例: DATA : BEGIN OFT_STUDENT OCCURS 0, NAME(40) TYPE C, BIRTH_DATE TYPE D, BIRTH_TIME TYPE T, HEIGHT TYPE P, WEIGHT TYPE I, END OF T_STUDENT. DATA : T_MARA LIKE MARA OCCURS 0.,内部表的声明2,语法 DATA: TYPE OF WITH UNIQUE | NON-UNIQUE KEY IN
14、ITIAL SIZE WITH HEADER LINE. 例: TYPES: BEGIN OF struct, carrid LIKE spfli-carrid, connid LIKE spfli-connid, cityfrom LIKE spfli-cityfrom, fldate LIKE sflight-fldate, seatsmax LIKE sflight-seatsmax, END OF struct. DATA: itab TYPE TALBE OF struct WITH HEADER LINE, wa_itab TYPE struct.,内部表的操作,1.APPEND
15、APPEND wa TO|INITIAL LINE TO itab.APPEND LINES OF itab1 FROM idx1 TO idx2 TO itab2.APPEND wa TO itab SORTED BY f. APPEND语句用来把表头或工作区里的内添加到 的末尾。,内部表的操作,2. INSERT INSERT wa INTO|INITIAL LINE INTO itab INDEX idx. INSERTwa INTO|INITIAL LINE INTO TABLE itab. INSERTLINES OF itab1 FROM idx1 TO idx2 INTO ita
16、b2 INDEX idx3. INSERTLINES OF itab1 FROM idx1 TO idx2 INTO TABLE itab2. INSERT语句用来把表头或工作区里的内容添加 的指定位置。 如果INDEX被指定,该语句将会将记录插入到指定置。 如果INDEX未指定,对标准表记录会被添加到末尾,对 排序表记录会自动按照Key进行排序。,内部表的操作,3.MODIFY MODIFY itab FROM wa INDEX idx TRANSPORTING f1 . fn. MODIFY TABLE itab FROM wa TRANSPORTING f1 . fn. MODIFY i
17、tab FROM wa TRANSPORTING f1 . fn WHERE cond. MODIFY语句可以根据指定的Index或Key来把表头或工作区的内容修改到中的相应记录。当然,指定Index或Key的记录首先必须在中存在。,内部表的操作,4.COLLECT COLLECT wa INTO itab. Addition: . SORTED BY f 例: TYPES: BEGIN OF COMPANY, NAME(20) TYPE C, SALESTYPE I, END OF COMPANY. DATA: COMP TYPE COMPANY, COMPTAB TYPE HASHED T
18、ABLE OF COMPANY WITH UNIQUE KEY NAME. COMP-NAME = Duck.COMP-SALES = 10. COLLECT COMP INTO COMPTAB. COMP-NAME = Tiger. COMP-SALES = 20. COLLECT COMP INTO COMPTAB. COMP-NAME = Duck.COMP-SALES = 30. COLLECT COMP INTO COMPTAB. 结果: NAME| SALES - Duck| 40 Tiger | 20,内部表的操作,5.READ READ TABLE itab FROM wa a
19、dditions. READ TABLE itab WITH TABLE KEY k1 = v1 . kn = vn additions. READ TABLE itab WITH KEY k1 = v1 . kn = vn BINARY SEARCH additions. READ TABLE itab INDEX i additions.,内部表的操作,6.LOOP LOOP AT itab. LOOP AT itab INTO wa. LOOP AT itab ASSIGNING . Additions: 1. . FROM n1 2. . TO n2 3. . WHERE logexp
20、 4. . TRANSPORTING NO FIELDS ENDLOOP.,内部表的操作,7.AT AT NEW f. AT END OF f. AT FIRST. AT LAST. ENDAT,内部表的操作,8.DELETE DELETE itab. DELETE TABLE itab WITH TABLE KEY k1 = v1 . kn = vn. DELETE TABLE itab FROM wa.DELETE itab INDEX idx.DELETE itab FROM idx1 TO idx2.DELETE itab WHERE logexp.DELETE ADJACENT DU
21、PLICATES FROM itab.,内部表的操作,9.REFRESH REFRESH itab. REFRESH itab FROM TABLE dbtab. REFRESH itab FROM SELECT-OPTIONS. REFRESH 用来清除一个内表,内部表的操作,10.DESCRIBE DESCRIBE TABLE itab. Additions: 1. . LINESn2. . OCCURS n3. . KIND k,内部表的操作,11.SORT SORT itab. . BY f1 f2 . fn . ASCENDING . DESCENDING . AS TEXT . S
22、TABLE,ABAP/4基本语法计算,赋值 数学计算 字符串操作,赋值,一般可以使用以下几种方法赋值: 等号赋值 : A = B. MOVE赋值 :MOVE B TO A. WRITE赋值 :WRITE B TO A. 复位赋值 :CLEAR A.,数学计算,ABAP/4里支持以下数学计算: “一般的加、减、乘、除 A = B + C. A = B C. A = B * C.A = B / C. “幂、取模、整除 A = B * C.A = B MOD C.A = B DIV C. “数学函数( SIN、COS 、TAN、ASIN、ACOS、ATAN、COSH、SINH、TANH、EXP、LO
23、G、LOG10、SQRT、ABS、SIGN、CEIL、FLOOR、TRANC、FRAC等等) A = SIN( B ).A = COS( B ). 计算时可以是复合表达式,计算时遵循以下优先顺序: 括号 函数 * * / DIV MOD + -,字符串操作,STRLEN 取长度 CONCATENATE 连接 REPLACE 替换 CONDENSE 压缩 SHIFT 移位 TRANSLATE 切换大小写 SEARCH 在字符串中查指定的内容 SPLIT 字符串分割 字符串片断处理,STRLEN, = STRLEN . 示例: DATA : W_CHAR(20) TYPE C VALUE AT21
24、. DATA : W_LEN TYPE N. W_LEN = STRLEN( W_CHAR ). WRITE W_CHAR. WRITE / W_LEN. 那么输出结果就为: AT21 4,CONCATENATE,CONCATENATE . INTO SEPARATED BY . 示例: DATA : W_RESULT(50) TYPE C, W_STR1(10) TYPE C VALUE 123, W_STR2(15) TYPE C VALUE ABC, W_STR3(10) TYPE C VALUE MK1, W_DELIMITER TYPE C VALUE /. CONCATENATE
25、W_STR1 W_STR2 W_STR3 INTO W_RESULT SEPARATED BY W_DELIMITER. WRITE : W_STR1, / W_STR2, / W_STR3, / W_RESULT. 输出为: 123 ABC MK1 123/ABC/MK1,REPLACE,REPLACE WITH INTO LENGTH . 示例: DATA: T(10) VALUE abcdefghij, STRING LIKE T, STR1(4) VALUE cdef, STR2(4) VALUE klmn, STR3(2) VALUE kl, STR4(6) VALUE klmnop
26、, LEN TYPE I VALUE 2. STRING = T. WRITE STRING. REPLACE STR1 WITH STR2 INTO STRING. WRITE / STRING. STRING = T. REPLACE STR1 WITH STR2 INTO STRING LENGTH LEN. WRITE / STRING. STRING = T. REPLACE STR1 WITH STR3 INTO STRING. WRITE / STRING. STRING = T. REPLACE STR1 WITH STR4 INTO STRING. WRITE / STRIN
27、G.,输出结果为: abcdefghij abklmnghij abklmnefgh abklghij abklmnopgh,CONDENSE,CONDENSE NO-GAPS. 示例: DATA: STRING(25) VALUE one two three four, LEN TYPE I. LEN = STRLEN( STRING ). WRITE: STRING,!. WRITE: / Length: , LEN. CONDENSE STRING. LEN = STRLEN( STRING ). WRITE: STRING ,!. WRITE: / Length: , LEN. CON
28、DENSE STRING NO-GAPS. LEN = STRLEN( STRING ). WRITE: STRING ,!. WRITE: / Length: , LEN.,结果输出为: one two three four ! Length: 25 one two three four ! Length: 18 onetwothreefour ! Length: 15,SHIFT,SHIFT BY PLACES . SHIFT LEFT DELETING LEADING . SHIFT RIGHT DELETING TRAILING . 示例: 输出结果为: DATA : TEMP(20)
29、 VALUE A213NALA2, A213NALA2 STRING LIKE TEMP, 3NALA2 STR(2) VALUE A2. A213NAL STRING = TEMP. 13NALA2 WRITE STRING. SHIFT STRING BY 3 PLACES LEFT. WRITE / STRING. STRING = TEMP. SHIFT STRING BY 2 PLACES RIGHT. WRITE / STRING. STRING = TEMP. SHIFT STRING LEFT DELETE LEADING STR. WRITE / STRING.,TRANSL
30、ATE,TRANSLATE TO UPPER CASE. TRANSLATE TO LOWER CASE. 示例: DATA : STR1(20) VALUE a21gFDFS123, STR2(20) VALUE a21gFDFS123. TRANSLATE STR1 TO UPPER CASE. TRANSLATE STR2 TO LOWER CASE. WRITE : STR1 , / STR2. 输出结果为: A21GFDFS123 a21gfdfs123,SEARCH,SEARCH FOR . 示例: DATA : STRING(30) VALUE This is a simple
31、sentence. SEARCH STRING FOR Thisis. WRITE SY-SUBRC SY-FDPOS. SEARCH STRING FOR SEN. WRITE SY-SUBRC SY-FDPOS. 输出结果为: 4 0 0 17,SPLIT,SPLIT AT INTO . . 示例: DATA : STR(30) VALUE Part1 * Part2 * Part3 * Part4, STR1(30),STR2(30),STR3(30), DEL(1) VALUE *. SPLIT STR AT DEL INTO STR1 STR2 STR3. WRITE : STR,/
32、 STR1,/ STR2,/ STR3. 输出结果为: Part1 * Part2 * Part3 * Part4 Part1 Part2 Part3 * Part4,处理字符类型变量的某个片断部分,字符型变量是指基本类型为C、D、T、N、X、结构 片断的表示方法为 +() 可以对片断进行单独处理 示例: DATA: STR1(10) VALUE ABCDEF, STR2(10) VALUE 123456. WRITE: STR1(4),/ STR1+3,/ STR1+4(1). STR2+1(3) = STR1+2(3). WRITE STR2. 输出结果为: ABCD DEF E 1CDE56,ABAP/4基本语法控制,条件 分支 循环,条件,IF . ELSEIF .ELSEIF . .ELSE. ENDIF.,关于逻辑表达式的运算符,基本运算符 EQ、NE、GE、= 字符串运算符 CO、CN、CA、NA、CS、NS、C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 从制造到创新-产品设计理念的变革
- 部编八年级下册历史课堂教学计划
- 小学科学实验活动推广计划
- 四年级数学实践活动计划
- 志愿者心理危机干预工作流程
- 2025-2030中国一次性杯行业市场发展趋势与前景展望战略研究报告
- 2025-2030专用车产业规划及发展研究报告
- 电子商务平台建设心得体会
- 2024年公司会计人员年终总结
- 企业级信息安全培训与文化建设研究
- 冷库维护保养合同范本
- 工业互联网基础 课件 3.1 工业互联网平台概述
- 智慧酒店智能化系统解决方案
- 2025年合肥滨湖职业技术学院单招职业技能测试题库完美版
- 《中建三局工程管理实习报告》2000字
- 胫腓骨骨折护理查房课件
- 闽教版2023版3-6年级全8册英语单词表
- 2024年浙江义乌市商城集团招聘笔试参考题库含答案解析
- 《冯谖客孟尝君》
- 形式发票格式2 INVOICE
- 全日制专业学位研究生《环境生态学》课程案例教学模式探讨
评论
0/150
提交评论