SAP-ABAP-基础编程教学内容课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《SAP-ABAP-基础编程教学内容课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SAP ABAP 基础 编程 教学内容 课件
- 资源描述:
-
1、SAP-ABAP-基础编程SAP ABAP 基本语法oABAP/4 数据元素 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SAP ABAP 基本语法o 变量声明变量声明 变量声明包含 name, type, length 和 structure四个部分, 使用 DATA 指令, 如: DATA: S1 TYPE I, SUM TYPE I.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SAP ABAP 基本语法o 常数声明常数声明 常数声明使用 CONS
2、TANTS 指令, 如声明宣告 PI 是一个小数点5位的值 3.14159, CONSTANTS PI TYPE P DECIMALS 5 VALUE 3.14159.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SAP ABAP 基本语法o TYPE语句用来指定数据型态或声明自定数据型态TYPES . TYPE |LIKE TYPES: BEGIN OF MYLIST, NAME(10) TYPE C, NUMBER1 TYPE I, NUMBER2 TYPE p DECIMALS 2, END OF MYLIST. DA
3、TA LIST TYPE MYLIST.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SAP ABAP 基本语法o LIKE语句 跟TYPE语句使用格式相同, 如 DATA TRANSCODE LIKE SY-TCODE. 不同的是 LIKE 用在已有值的数据项, 如系统变量, 而TYPE叙述则是用在指定数据型态。 TYPE对应一个已定义的type LIKE对应一个已定义的object,不能是结构,要定义好的对象Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公
4、司SAP ABAP 基本语法o DATA语句 语法: DATA : 变量名称, 最长30个字符, 不可含有 + . , : ( ) 等字符 : 数据型态及长度, 如 LINE(20) TYPE C. MYNAME LIKE SY-UNAME. : 初值 : 小数位数例: DATA: COUNTER TYPE P VALUE 1, FLAG TYPE C VALUE IS INITIAL, WEIGHT TYPE P DECIMALS 2 VALUE 1.25.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SAP ABAP 基
5、本语法o TABLES语句 用来声明Table Work Area的数据, 对映至 ABAP/4 资料文件 (Dictionary Object), 由SQL 指令加载所需数据 语法: TABLES Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司输出数据到屏幕 o ULINE AT /(). 如果没有格式规范,系统则开始新的一行,并用水平线填充该行。否则,只按指定输出水平线 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司Write语句 语法: Write
6、资料项 数据项可以是常数或变量, 如: WRITE This is sample. WRITE: COMPANY:,STFL-CARRID.o指定屏幕位置显示指定屏幕位置显示 语法: Write AT / () 资料项/ : 先往下一行 , pos : 屏幕X轴坐标 , (len): 显示资料的长度 例: WRITE First Line . WRITE / 6 Second Line. 输出结果: First Line Second LineCamelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司Write语句 显示格式参数显示格式
7、参数: LEFT-JUSTIFIED 资料靠左显示 CENTERED 资料靠中间显示 RIGHT-JUSTIFIED 资料靠右显示 UNDER 在资料项的X轴开始坐标显示 NO-GAP 紧接着显示, 不留空格 USING EDIT MASK 使用内嵌字符显示, 如 11:20:30 USING NO EDIT MASK 不使用内嵌字符 NO-ZERO 数字前面0 的部分不显示 NO-SIGN 不显示正负号 DECIMALS 显示 d 位小数字数 EXPONENT F(浮点数) exponent 的值 ROUND 四舍五入至小数位数下 r 位 CURRENCY 币别显示Camelot Infor
8、mation Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司Write语句o 产生空白列产生 n 个空白列语法: SKIP o NO STANDARD PAGE HEADINGo LINE-SIZE 175Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司Write语句Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司WRITE 练习o用WRITE语句画成下列样子Camelot Information Systems Co.,Ltd.
9、柯莱特信息系统有限公司柯莱特信息系统有限公司赋值 语法: MOVE TO 将F1的值存至变量 F2 中, 也可写成 F2 = F1o 清除变量内容 语法: CLEAR 清除变量现在内容, 恢复成初值。 例: DATA N TYPE I VALUE 100. CLEAR N. “ 变量 N 的内容变成 0 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理 o 字符串移位 语法: SHIFT BY PLACES : (1)空白, 字符串往左移一位 (2)LEFT, 字符串往左移 n 位 (3)RIGHT, 字符串往右
10、移n位 (4)CIRCULAR,字符串往左以环状方式移位 例:DATA STRING(10) TYPE C VALUE ABCDEFGHIJ. SHIFT STRING. “得到 BCDEFGHIJ SHIFT STRING BY 2 PLACES RIGHT. “得到 ABCDEFGHCamelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o 在字符串中寻找部分字符串 语法: SEARCH FOR 会存至两个变量:SY-SUBRC和SY-FDPOS, 若找到则SY-SUBRC 为 0, SY-FDPOS 存开始位迭;
11、若找不到则 SY-SUBRC为 4, SY-FDPOS为 0。Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o 取代字符串内容 语法: REPLACE WITH INTO 将字符串 中的 以 来取代例: DATA: STRING(10) TYPE C VALUE ABCDEFGHI, STR1(3) TYPE C VALUE DEF, STR2(3) TYPE C VALUE 123. REPLACE STR1 WITH STR2 INTO STRING. WRITE / STRING. “得到 ABC123G
12、HICamelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o 大小写的转换 语法: TRANSLATE TO UPPER CASE. “转成大写 TRANSLATE TO LOWER CASE. “转成小写Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o 字符串长度 语法: STRLEN() 例: INT = STRLEN(XYZABC). “得到 6 INT = STRLEN(ABC ). “得到 3 o 字符串长度 语法: STRL
13、EN() 例: INT = STRLEN(XYZABC). “得到 6 INT = STRLEN(ABC ). “得到 3 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o 取部分字符串 语法: + 例: DATA T(10) TYPE C VALUE ABCDEFGHIJ. WRITE / T+2(4). “得到 CDEFCamelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o合并字符串 语法: CONCATENATE . INTO
14、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. “SummerholidayCONCATENATE C1 C2 C3 C4 INTO C5 SEPARATED BY SEP.WRITE / C5. “Sum - mer - holi - dayCamelot Information Systems Co.,Ltd.柯莱特信息
15、系统有限公司柯莱特信息系统有限公司字符串数据处理o分割字符串 语法:SPLIT AT INTO . . 例: DATA: STRING(60), P1(20), P2(20), P3(20), P4(20), DEL(3) VALUE *.STRING = Part 1 * Part 2 * Part 3 * Part 4 * Part 5.WRITE STRING. “Part 1 * Part 2 * Part 3 * Part 4 * Part 5SPLIT STRING AT DEL INTO P1 P2 P3 P4.WRITE / P1. “Part 1WRITE / P2. “Pa
16、rt 2WRITE / P3. “Part 3WRITE / P4. “Part 4 * Part5Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串数据处理o 去前置空格 语法: CONDENSE (F) NO-GAPS. 其中: NO-GAPS 去所有空格Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司字符串练习o字符串: a*b*c*d*f*g1.用分裂语句将其他内容分裂.2.将分裂后的值转换成大写.3.将这些值合并.输出4.只输出第三个.第五个字段
17、.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司流控制 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司= 或 =ANDORNOTEQNELTLEGTGE等于不等于小于小于等于大于大于等于并且或非比较符号比较符号 条件语句 o IF语句 语法: IF . ELSEIF . ELSEIF . . ELSE. ENDIF.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司条件语句o CASE 语句
18、 语法: CASE . WHEN . WHEN . . WHEN OTHERS. ENDCASE.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司循环语句 o 计数循环语句 语法: DO n TIMES VARYING FROM TO . ENDDO.例1: DO 2 TIMES. 执行结果: WRITE / X. X ENDDO. XCamelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司循环语句o 条件循环语法: WHILE . ENDWHILE例: I = 1.
19、 S=0. WHILE I = 10. S = S + I. I = I + 1. ENDWHILE. WRITE: / 1+2+3+10=,S. 执行结果为: 1+2+3+10=55Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司循环控制语句 o CONTINUE: 跳至循环的下一次 例: DO 3 TIMES. IF SY-INDEX = 2. CONTINUE. WRITE / SY-INDEX. ENDDO. 执行结果: 1 3Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公
20、司柯莱特信息系统有限公司循环控制语句oCHECK CHECK 之后条件成立才继续往下执行循环。 例: DO 5 TIMES. CHECK SY-INDEX BETWEEN 2 AND 4. WRITE / SY-INDEX. ENDDO. 执行结果: 2 3 4Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司循环控制语句o 跳离循环语句语法: EXIT 例: DO 10 TIMES. 执行结果: IF SY-INDEX = 4. 1 EXIT. 2 ENDIF 3 WRITE / SY-INDEX. ENDDO. Camelo
21、t Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司注释结构 可以在程序的任意处插入注释行。在程序中有两种方法表明注释:如果要将整行变为注释,则在行开始处输入星号(*) 。如果要将某行的一部分变为注释,则在注释之前输入双引号() 。例:PROGRAM SAPMTEST.* The following line contains a WRITE statementWRITE First Program. Output on ListCamelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公
22、司循环练习1.字符串: a*b*c*d*f*g将*换成+输出Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 内表的声明内表的声明使用 TYPE 语句 语法:TYPES: BEGIN OF T_TAB , COL1 TYPE CHAR10, COL2 TYPE CHAR10, END OF T_TAB.DATA: IT_TAB TYPE STANDARD TABLE OF T_TAB, WITH
23、HEADER LINE WA_TAB TYPE T_TAB.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内表的声明o常见的几种方式TYPES: BEGIN OF LINE, COL1 TYPE I, COL2 TYPE I, COL3 TYPE I, END OF LINE. data ITAB TYPE LINE OCCURS 10.声明一个内部表 ITAB, 总共有10个元素, 其WORK AREA 名称为 LINEo直接声明直接声明, 不使用作业領域不使用作业領域语法:DATA: BEGIN OF OCCURS ,
24、END OF .Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 根据定义方式区分语法1: DATA TYPE |LIKE OCCURS 0 WITH HEADER LINE. 语法2: DATA TYPE|LIKE OF WITH INITIAL SIZE WITH HEADER LINE(表的三种类型Standard表,Sorted表,Hashed表。其中Standard表,Sorted 表是Index表)例:DATAITAB TYPE HASHED TABLE OF SPFLI WITH UNIQUE KEY C
25、ARRID CONNID.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 加入另一内部表的元素 语法:APPEND LINES OF FROM TO TO 例: APPEND WA_TAB TO IT_TAB.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 插入行插入元素在指定的内部表位置之前 语法1|:INSERT INTO INITIAL LINE INTO Table INDEX Initial Line To 为增加一预设初值的元素
展开阅读全文