




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ABAPABAP课程编码:由商学院写杨晓文/产品管理部2015年02月xx日课程编码:PFO27课程名称课程目标 了解ABAP开发语言 掌握ABAP语法及内表应用 应用ABAP语法和内表进行程序开发课程编码:PFO27课程名称纲 要ONTENTS1ABAP开发平台简介2ABAP开发语言基础3ABAP内表使用方法 4SAP数据库使用 课程目录课程编码:PFO27课程名称一、ABAP开发平台简介ABAP/4是英文Advanced Business Application Programming的缩写,是SAP R/3商用系统的应用程序开发工具,也是一套完整的client/server开发环境,技术
2、平台.1.1 什么是ABAP/4课程编码:PFO27课程名称一、ABAP开发平台简介1.2 ABAP/4特点课程编码:PFO27课程名称一、ABAP开发平台简介1. 和SAP紧密结合,SAP进行二次开发的必备工具2. ABAP语言语法简单,但是开发人员要求对企业管理流程熟悉1.2 ABAP/4特点课程编码:PFO27课程名称纲 要ONTENTS1ABAP开发平台简介2ABAP开发语言基础3ABAP内表使用方法4SAP数据库使用 课程目录课程编码:PFO27课程名称二、ABAP语言开发基础2.1 基本数据类型数据类型 默 认大小有效 大小 初始值 说明C 11 65535 SPACE 文本,字符
3、D 88 00000000 日期F 88 0 浮点数I 44 0 整型N 11 - 6553500.0 数字文本P 81 - 16 0 压缩数T 66000000 时间X 11 65535 X00 十六进制数课程编码:PFO27课程名称二、ABAP语言开发基础2.2 数据定义2.2.1 TYPES语句(创建用户定义的基本数据类型和结构化数据类型) 语法 -TYPES . 例子:TYPES: SURNAME(20) TYPE C, PHONE(20) TYPE N, DATE LIKE SY-DATUM. 语法:TYPES: BEGIN OF , , . END OF . 例子:TYPES: B
4、EGIN OF ADDRESS, NAME TYPE SURNAME, CODE(10) TYPE N, TOWN(20) TYPE C, STR(30) TYPE C, END OF ADDRESS.课程编码:PFO27课程名称二、ABAP语言开发基础2.2 数据定义2.2.2 DATA语句(定义局部或全局变量;定义一个结构化的数据对象;定义一个内表) 语法 -DATA:VARLIKE DICTIONARY TYPE DATA:VARTYPE C,P,I,STRING等等 例子: DATA: S1 TYPE I, t_pspnr like prps-pspnr. DATA: GT_TABLE
5、 TYPE TABLE OF PRPS, GW_TABLE TYPE PRPS. 课程编码:PFO27课程名称二、ABAP语言开发基础2.2 数据定义2.2.3 系统定义这是由系统所定义的专有名词, 如 SPACE 空白字符串 SY-SUBRC 系统执行传回值, 0 表示成功 SY-UNAME logon 账号 SY-DATUM 系统日期 SY-UZEIT 系统时间 SY-TCODE 目前的transaction code SY-COLNO 用于当前列 SY-LINNO 用于当前行 SY-LISEL 选定行内容 SY-LISEL 主要从系统字段中检索下列信息:列表的索引 、输出窗口中列表位置和
6、光标的位置 课程编码:PFO27课程名称二、ABAP语言开发基础2.3 基本数据操作2.3.1 数据赋值 MOVE语句(作用和“=”一样)move data1 to data2.data2 = data1.注意:源变量和目标变量的类型要一样或者可以进行类型转换,要是两者不兼容也不能类型转换,则上述语句不能成功执行。ClEAR语句:把变量恢复到初始状态(空值)。 课程编码:PFO27课程名称二、ABAP语言开发基础2.3 基本数据操作2.3.2 数值运算 运算用数学表达式的语句 用关键字的语句 加法 = + . ADD TO .减 法 = - . SUBTRACT FROM .乘 法 = * .
7、 MULTIPLY BY .除 法 = / . DIVIDE BY .整 除 = DIV . -除 法余数 = MOD . -求 幂 = * . -课程编码:PFO27课程名称二、ABAP语言开发基础2.3 基本数据操作2.3.3 逻辑表达式 处理日期和时间字段,日期和时间字段数据类型不是数值型。但是可以采用类似于数值型字段的处理方法,处理日期和时间字段。例:DATA: ULTIMO TYPE D. ULTIMO = SY-DATUM. ULTIMO+6(2) = 01. ULTIMO = ULTIMO - 1. 课程编码:PFO27课程名称二、ABAP语言开发基础2.4 控制结构2.4.1
8、分支控制 IF EXPRESSION ELSE ENDIF CASE VAR WHEN VALUE1 WHEN VALUE2 ENDCASE 课程编码:PFO27课程名称二、ABAP语言开发基础2.4 控制结构2.4.1 分支控制 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
9、 is, TEXT3. WHEN OTHERS. WRITE: / String is not, TEXT1, TEXT2, TEXT3.ENDCASE. 课程编码:PFO27课程名称二、ABAP语言开发基础2.4 控制结构2.4.2 循环控制 2.4.2.1 无条件循环DO N TIMES. .ENDDO. 2.4.2.2 条件循环 WHILE .WNDWHILE. 课程编码:PFO27课程名称二、ABAP语言开发基础2.4 控制结构 2.4.2 循环控制 例:DO 4 TIMES. IF SY-INDEX = 3. EXIT. ENDIF. WRITE SY-INDEX.ENDDO.产生如
10、下输 出: 1 2 课程编码:PFO27课程名称二、ABAP语言开发基础2.5 字符处理连接字符串CONCATENATE . INTO SEPARATED BY .DATA: C1(10) VALUE Sum, C2(3) VALUE mer, C3(5) VALUE holi , C4(10) VALUE day, C5(30), SEP(3) VALUE - .CONCATENATE C1 C2 C3 C4 INTO C5.WRITE C5.CONCATENATE C1 C2 C3 C4 INTO C5 SEPARATED BY SEP.WRITE / C5.该过程的输 出如下:Summe
11、rholidaySum - mer - holi - day课程编码:PFO27课程名称二、ABAP语言开发基础2.5 字符处理除了合并字符串外,还提供如下一些字符串操作:SPLIT 拆分SEARCH 查找REPLACE 替换STRLEN 确定长度SHIFT 移动字符串内容CONDENSE 删除多余的空格OVERLAY 用一个字符串覆盖另外一个字符串课程编码:PFO27课程名称课程总结v 类型和结构定义v 控制结构v 字符串操作课程回顾课程编码:PFO27课程名称纲 要ONTENTS1ABAP开发平台简介4SAP数据库使用 课程目录3ABAP内表使用方法2ABAP语言开发基础课程编码:PFO2
12、7课程名称三、ABAP内表使用方法3.1 内表概念在sap中,内表是非常灵活的大批量数据的管理形式,用于在程序进行期间管理一组结构相同的数据。可以象关系型数据表一样进行增删改操作,然而又不同于数据库表,内表仅在程序运行期间才存在数据。程序对内表的行操作不能直接进行,必须通过一种接口来传输,这个接口就是工作区。3.2 内表分类标准表: 每一行对应一个逻辑索引SY-TABIX,填充内表的时候,可以将数据附加在现有行之后,也可 以插入到指定的位置,程序对内表行的寻址操作可通过关键字或索引进行。在对表进行插 入删除等操作时,各数据行在内存中的位置不变,系统仅重新排列各数据行的索引值。 DATA IT_
13、EKKO TYPE STANDARD TABLE OF EKKO (WITH NON-UNIQUE KEY EBELN.).排序表:排序表也有逻辑索引,不同的是排序表总是按其表关键字升序排列后再进行存储,也就是 在内存中的位置发生改变。查询时用二分法查询,且UNIQUE 或NON-UNIQUE必须制定。 DATA IT_EKPO TYPE SORT TABLE OF EKPO WITH NON-UNIQUE KEY EBELN EBELP.哈希表:哈希表没有索引,只有关键字,且表内的数值为以KEY为单位进行合计。查询时用哈希算法 进行查询,其效率非常高,且UNIQUE 必须指定。 DATA I
14、T_MAKT TYPE HASHED TABLE OF MAKT WITH UNIQUE KEY MATNR. 课程编码:PFO27课程名称三、ABAP内表使用方法3.3 内表定义3.3.1 直接定义 DATA: BEGIN OF GT_LINE OCCURS 0, COLUMN1 TYPE I, COLUMN2 TYPE I, COLUMN3 TYPE I, END OF GT_LINE.3.3.2 通过引用TYPES定义的结构来创建内表 TYPES: BEGIN OF TY_LINE, COLUMN1 TYPE I, COLUMN2 TYPE I, COLUMN3 TYPE I, END
15、OF TY_LINE. TYPES GT_TAB TYPE TY_LINE OCCURS 0. TYPES GT_TAB TYPE TABLE OF TY_LINE. DATA GT_TAB TYPE TABLE OF TY_LINE . 课程编码:PFO27课程名称三、ABAP内表使用方法3.3 内表定义3.3.3 引用INCLUDE STRUCTURE来定义 DATA BEGIN OF GT_TAB OCCURS 0. INCLUDE STRUCTURE MARA. DATA FLG TYPE C.DATA END OF GT_TAB. 或 TYPES BEGIN OF GT_TAB OC
16、CURS 0. INCLUDE STRUCTURE MARA. DATA FLG TYPE C.TYPES END OF GT_TAB. 课程编码:PFO27课程名称三、ABAP内表使用方法3.4 工作区3.4.1 工作区定义 内表是按行进行访问的。必须使用某个工作区域作为与表格互相 传输数据的接口。 课程编码:PFO27课程名称三、ABAP内表使用方法3.4 工作区3.4.1 工作区应用 工作区的应用,跟定义的内表是息息相关, 工作区针对带表头行 的内表和不带表头行的内表所用的增删改方式是不同的。 课程编码:PFO27课程名称三、ABAP内表使用方法3.5 内表操作3.5.1 插入内表行 a
17、ppend to “ 不带表头行 append “ 带表头行 或 insert into INDEX idx “ 不带表头行insert INDEX idx “ 带表头行 - 如果没有指定INDEX ,则默认插入到内表最后一行 INSERT LINES OF FROM n1 TO n2 INTO TABLE INDEX . -将内表中部分或全部的数据行整体插入另一内表(两个内表必须具有相同的行结构)3.5.2 读取内表行 read into INDEX idx read INDEX IDX 3.5.3 修改内表行 modify from INDEX idx modify INDEX idx 课
18、程编码:PFO27课程名称三、ABAP内表使用方法3.5 内表操作3.5.4 删除内表行 delete INDEX idx . DELETE FROM n1 TO n2 WHERE .3.5.5 内表行循环 Loop at into . endloop. “ 带表头行的内表循环操作 Loop at . endloop. “ 不带表头行内表操作 3.5.6 清空内表 clear . “清空不带表头行内表 clear . “清空带表头行内表 课程编码:PFO27课程名称三、ABAP内表使用方法3.5 内表操作3.5.7 内表排序 SORT ASCENDING | DESCENDING AS TEX
19、T -ASCENDING和DESCENDING指定升序还是降序排列,如果不指定,缺省排序方式是升序 -AS TEXT影响字符字段的排序方式,如果不使用该选项,系统将按字符平台相应内部编码进行排序,否则,系统根据当前语言按字母顺序排序字符字段 3.5.8 删除重复内表行 DELETE ADJACENT DUPLICATES FROM COMPARING . - 删除重复行之前须对内表进行排序 3.5.9 判断内表行数 DESCRIBE TALBE LINES . 课程编码:PFO27课程名称课程总结v 内表定义v 内表操作课程回顾课程编码:PFO27课程名称纲 要ONTENTS1ABAP开发平台
20、简介课程目录2ABAP语言开发基础4SAP数据库使用 ABAP内表使用方法3 课程编码:PFO27课程名称四、SAP数据库使用4.1 OPEN SQL 4.1.1 SELECT SELECT FROM INTO WHERE GROUP BY ORDER BY Example: select * from spfli into gt_table where COMPANY=DELTA. select single * from spfli into gw_table where COMPANY=DELTA.4.1.2 INSERT INSERT FROM TABLE ACCEPTING DUPLICATE KEY Example: insert spfli from table gt_table. insert spfli from gw_table. Or insert into spfli value gw_table. 课程编码:PFO27课程名称四、SAP数据库使用4.1 OPEN SQL 4.1.3 UPDATE/MODIFY UPDATE FROM Example: update spfli from gw_table. UPDATE SET = WHER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 井盖材料供应合同招标实施细则
- 住宅小区绿化升级工程承包合同
- 三年级英语下册 Unit 3 This is my father Lesson 13教学设计 人教精通版(三起)
- 道路危险货物运输从业人员培训课件第二篇管理知识篇
- 物流运输合同样本
- 2025建筑公司劳动合同模板
- 私人装修合同书范本 for 2025
- 二手车交易合同示范文本
- 2025年糖果买卖合同
- 电子零件加工协议书
- 小学思政教育主题班会
- “良知与悲悯”高频素材积累-2024-2025学年高一语文单元写作深度指导(统编版必修下册)
- 2024山西三支一扶真题及答案
- 技术经纪人(初级)考试试题(附答案)
- 2025年江苏省南通启东市江海产业园招聘1人历年高频重点提升(共500题)附带答案详解
- 《大型商务酒店网络规划与设计》8800字
- GB/T 45077-2024国家公园项目建设指南
- 治安 课件教学课件
- 中韩文化对比
- 乡土中国 读书分享
- 药品库房安全管理制度
评论
0/150
提交评论