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 为增加一预设初值的元素
26、, 不带headline。 语法2|:INSERT “带headline。 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o汇总行在加入新元素时将有相同standard key(非数值字段)的数值字段汇总 语法: COLLECT INTO 例: DATA: BEGIN OF ITAB OCCURS 3, COL1(3) TYPE C, COL2 TYPE I, END OF ITAB. ITAB-COL1 = ABC. ITAB COL2 = 10. COLLECT ITAB. ITAB-COL1 = XYZ. ITA
27、B-COL2 = 20. COLLECT ITAB. ITAB-COL1 = ABC. ITAB-COL2 = 30. COLLECT ITAB. “汇总COL2 至 COL1=ABC 的元素上 LOOP AT ITAB. WRITE: / ITAB-COL1,ITAB-COL2. ENDLOOP. 执行结果: ABC 40 XYZ 20 Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表例: DATA: BEGIN OF LINE, COL1 TYPE I, COL2 TYPE I, END OF LINE.DATA I
28、TAB LIKE LINE OCCURS 10. DO 3 TIMES. LINE-COL1 = SY-INDEX *10. LINE-COL2 = SY-INDEX *20. APPEND LINE TO ITAB. ENDDO. LINE-COL1=100. LINE-COL2=200. INSERT LINE INTO ITAB INDEX 2. “插入在位置2”Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表 LOOP AT ITAB INTO LINE. WRITE: / SY-TABIX,LINE-COL1,
29、LINE-COL2. “SY-TABIX为表位置 ENDLOOP. 执行结果: 1 10 20 2 100 200 “插入的元素 3 20 40 4 30 60Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 读取内部表指定位置的元素语法: READ Table INTO INDEX 自指定位置 读取元素数据 例1: READ Table IT_ITAB INTO WA_LINE INDEX 5 读取 IT_ITAB的第5个元素数据, 放入 WA_LINE的字段中 IT_ITAB为不带HEADLINE的内部表语法: R
30、EAD Table INTO WITH KEY = 值例: READ TABLE IT_TAB INTO WA_TAB WITH KEY COL1 = 1 COL2 = 2.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 内部表的循环语法: LOOP AT INTO FROM TO WHERE ENDLOOP.例: LOOP AT IT_TAB INTO WA_TAB. COL1 = 1. COL2 = 2. ENDLOOP.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公
31、司柯莱特信息系统有限公司内部表o 修改元素内容 语法:MODIFY FROM INDEX TRANSPORTING WHERE MODIFY IT_TAB FROM WA_TAB INDEX SY-TABIX TRANSPORTING COL1 COL2 WHERE KEY1 = AND KEY2 = .Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 删除内部表的元素 语法1: DELETE INDEX 语法2: DELETE FROM TO WHERE 例2: DELETE ITAB FROM 3 TO 10. 删
32、除第3至第10个元素,ITAB带HEADLINE 例3: DELETE IT_TC WHERE CHECKED = C_CHECKED. “ IT_TC带HEADLINE 例4: DELETE ITAB FROM WA_TC. “ ITAB不带HEADLINE Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 内部表排序 语法: SORT ASCENDING |DESCENDING BY . DESCENDING为降序,ASCENDING为升序, 省略时为升序。 :为指定的字段 SORT ITAB BY ZXHINME
33、I WERKS.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 计算数值字段总和 语法: SUM 计算得总和存在work area 中, 但只能存在 LOOP 语句中。例: LOOP AT ITAB INTO LINE. SUM. ENDLOOP. WRITE: / LINE-COL1,LINE-COL2. “LINE-COL1 和 LINE-COL2 存放数值总和Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 初始化表 语法: REFRE
34、SH 使用在没有HEADER LINE 的内部表中, 清除所有元素 例: REFRESH ITABo 清除表 语法: CLEAR 使用在有HEADER LINE 的内部表中, 清除所有元素 例: CLEAR ITAB .Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表o 释放内存空间 语法: FREE 释放(Release) 内部 表所占的内存空间, 用在REFRESH和CLEAR指令之后例: FREE ITAB. Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系
35、统有限公司内部表o 取得表行数语法1:DESCRIBE 表 LINES OCCURS KIND .例: DESCRIBE TABLE IT_TAB LINES L_COUNT.o 取得字段长度例: DESCRIBE FIELD COL1 LINES L_COUNT.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内表练习Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表事件o AT FIRST.o AT BEGIN OF.o AT END OF.o AT
36、LAST.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表事件o AT FIRST语法: 第一条记录 LOOP AT IT_TAB INTO WA_TAB. AT FIRST ENDAT. ENDLOOP.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表事件o AT BEGIN OF语法: 只在该字段值第一次出现 LOOP AT IT_TAB INTO WA_TAB. AT BEGIN OF COL1. ENDAT. ENDLOOP.Camelot
37、 Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表事件o AT END OF语法: 只在该字段值最后一次出现 LOOP AT IT_TAB INTO WA_TAB. AT END OF COL1. ENDAT. ENDLOOP.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表事件o AT LAST语法: 最后一条记录 LOOP AT IT_TAB INTO WA_TAB. AT LAST. ENDAT. ENDLOOP.Camelot Information Sy
38、stems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表事件o 例 TYPES: BEGIN OF T_C, T1(4) TYPE C, T2 TYPE I, END OF T_C. DATA IT TYPE TABLE OF T_C WITH HEADER LINE.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司内部表练习Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令 o SELECT指令语法: SELECT FROM
39、INTO WHERE GROUP BY ORDER BY Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o 以循环方式读取所有记录 语法: SELECT DISTINCT * . ENDSELECT. 加上DISTINCT会自动去除重复的记录例: TableS SPFLI. SELECT * FROM SPFLI WHERE COMPANY=DELTA. WRITE: / PLANT,TEL. ENDSELECT. 以循环的方式打印出符合条件的记录。Camelot Information Systems Co.,
40、Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o 读取单笔记录 语法1: SELECT SINGLE * INTO FROM WHERE 语法2: SELECT * UP TO 1 ROWS INTO FROM WHERE Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o 将读取的数据写入 Internal Table 中 语法1: SELECT . INTO Table 例1: TableS SPFLI. DATA ITAB LIKE SPFLI OCCURS 10 WITH HEADER L
41、INE. SELECT * FROM SPFLI INTO ITAB. 一次读10笔(Initial Table的长度)记录存入 ITAB 中Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o 将读取的记录存放至 Work Area 语法: SELECT . INTO 例: TableS SPFLI. DATA WA LIKE TableS. SELECT * FROM SPFLI INTO WA. WRITE: / WA-COMPANY,WA-PLANT. ENDSELECT. 逐笔写入WA 工作区中Camelo
42、t Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o 条件语句 语法:: WHERE oBETWEEN AND o LIKE 表示条件包含的字符串 _:表示一个字符 % : 表示一个字符串oIN (.) 包含在 的条件例: .WHERE PLANT IN (TAOYUAN,CHUNGLI,LIUTU). 条件为 PLANT 是 TAOYUAN,CHUNGLI或LIUTU的记录Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o ORDER BY 语句
43、指定排序的字段或顺序oORDER BY PRIMARY KEY. 根据 PRIMARY KEY 递增排序 oORDER BY DESCENDING DESCENDING Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o INSERT指令 语法:INSERT INTO VALUES 自 Work Area 工作区 例: INSERT SPFLI VALUES WA语法:INSERT FROM Table ACCEPTING DUPLICATE KEY 自内部表 例: INSERT SPFLI FROM Table
44、ITAB ACCEPTING DUPLICATE KEY. Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o UPDATE指令 语法1: UPDATE FROM 例: UPDATE SPFLI FROM WA语法2: UPDATE SET = WHERE Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o MODIFY指令要在数据库 表中插入一 行,而不考虑该行的主码是否已经存在,请使用 MODIFY 语句。根据 Primary Ke
45、y 寻找数据文件中符合的记录, 若找到则更新修改(与UPDATE 的操作相同), 若找不到则新增记录(与若找不到则新增记录(与INSERT 的操作相同)的操作相同)。语法: MODIFY FROM Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o DELETE指令语法1: DELETE FROM 语法2: DELETE FROM WHERE Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o COMMIT AND ROLLBACK (
46、提交和回滚)当你在修改数据库的时候,语句执行完之后,并没有真正地提交到了数据库进行修改.而是放到了缓存里,此时我们要用COMMIT WORK.去提交.当我们因为种种原因修改没有成功的时候,我们要用ROLLBACK去回滚,也就是,撤消那些对数据库的操作.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o 锁表Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司SQL 指令o SELECT INNER JOINo FOR ALL ENTRIES INCam
47、elot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司事件oINITIALIZATION -在显示选择屏幕之前的点 oAT SELECTION-SCREEN -选择屏幕仍然活动时,处理用户在选择屏幕上输入之后的点 oSTART-OF-SELECTION -处理选择屏幕之后的点 oEND-OF-SELECTION -处理完逻辑数据库提供的所有行之后的点 oTOP-OF-PAGE -启动新页时,列表处理中的点 oEND-OF-PAGE -结束页时,列表处理中的点 Camelot Information Systems Co.,Ltd.柯莱特信
48、息系统有限公司柯莱特信息系统有限公司屏幕输入命令 o PARAMETER o SELECTION-OPTIONS Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司屏幕输入命令o PARAMETER语法:PARAMETERS DEFAULT LOWER CASE OBLIGATORY NO-DISPLAY AS CHECKBOX RADIOBUTTON GROUP Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司屏幕输入命令o CHECKBOX语法: PARAM
49、ETERS . AS CHECKBOX . 参数 按长度为1的类型C创建 例:PARAMETERS: TAX AS CHECKBOX DEFAULT X, NTD AS CHECKBOX. 执行结果: Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司屏幕输入命令o RADIOBUTTON 语法:PARAMETERS . RADIOBUTTON GROUP . 参数 按类型C,长度1创建,并分配到组。字符串 的最大长度是4。 必须为每个 组分配至少两个参数。每个组中只有一个参数可以用 DEFAULT选项分配的缺省值。该值必须是
50、X。例: PARAMETERS: BOY RADIOBUTTON GROUP SEX DEFAULT X, GIRL RADIOBUTTON GROUP SEX.Camelot Information Systems Co.,Ltd.柯莱特信息系统有限公司柯莱特信息系统有限公司屏幕输入命令o SELECT-OPTIONS 条件筛选检查条件输入画面指令, 输入条件后可配合SELECT指令自TABLE读取符合条件的数据, 直接执行或放入 Internal Table中, 条件有四个参数: SIGN: I: 表筛选条件符合的资料 E: 表筛选条件不符合的资料 OPTION: 比较的条件符号 EQ(等
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。