云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > ABAP基础语法学习笔记

ABAP基础语法学习笔记

  • 62 次阅读
  • 3 次下载
  • 2025/6/3 17:11:10

2.使用条件式 语法:

UPDATE SET < f1>=… WHERE 根据条件式异动符合条件式的记录 Example:

UPDATE SPFLI SET NO=’34051920’

COMPANY = ‘DELTA’ WHERE TEL=’4526107’.

5.DELETE 语法

DELETE [FROM ]. 或: DELETE [WHERE ] 6. DATABASE CURSOR

Database Cursor是一个数据库暂存区, 将经SELECT指令读取的记录存放至此暂存区, 再由此暂存区放至Work Area中, 可减少数据库读取的次数. 1.开启 Database Cursor 语法:

OPEN CURSOR FOR SELECT ? WHERE Example:

TABLES SPFLI.

DATA: WA LIKE SPFLI, C1 TYPE CURSOR.

OPEN CURSOR C1 FOR SELECT * FROM SPFLI WHERE AREA =’TAIWAN’. 2.读取 Database Cursor的数据存入 Work Area

语法:

FETCH NEXT CURSOR INTO Example:

FETCH NEXT CURSOR C1 INTO WA.

读取下一笔Cursor位置的数据存入WA, 如果已无数据可读, SY-SUBRC <>0. 关闭 Database Cursor 语法:

CLOSE CURSOR Example:

CLOSE CURSOR C1. 7. COMMIT WORK & ROLLBACK WORK

要确定数据成功写入数据库,可使用COMMIT WORK指令,如: COMMIT WORK.

相反的, 如果反悔要复原, 可使用 ROLLBACK WORK, 可复原在上个COMMIT WORK指令之后的数据, 如:

ROLLBACK WORK.

§使用NATIVE SQL指令 语法格式:

EXEC SQL [PERFORMING

]. ENDEXEC. 举例一. EXEC SQL.

CREATE TABLE AVERI_CLNT (

CLIENT CHAR(3) NOT NULL, ARG1 CHAR(3) NOT NULL, ARG2 CHAR(3) NOT NULL, FUNCTION CHAR(10) NOT NULL,

PRIMARY KEY (CLIENT, ARG1, ARG2) ) ENDEXEC. 举例二.

DATA: F1(3), F2(3), F3(3). F3 = ' 1 ' EXEC SQL.

SELECT CLIENT, ARG1 INTO :F1, :F2 FROM AVERI_CLNT WHERE ARG2 = :F3 ENDEXEC

PERFORMING 的使用:

如果NATIVE SQL的SELECT命令执行结果是抓到多笔记录,我们想要逐笔记录处理时,就用PERFORMING 参数,这个FORM能被逐次调用.如果想中止调用,就用EXIT FORM SQL结束调用. 例如:

DATA: F1(3), F2(3), F3(3).

F3 = '010'

EXEC SQL PERFORMING WRITE_AVERI_CLNT.

SELECT CLIENT, ARG1 INTO :F1, :F2 FROM AVERI_CLNT WHERE ARG2 = :F3 ENDEXEC.

FORM WRITE_AVERI_CLNT. WRITE: / F1, F2. ENDFORM. 注意:

a. NATIVE SQL把TABLE中的MANDT(client)字段当作一般字段使用,所以在抓取数据时必须指定特定的Client; b. NATIVE SQL中的SELECT语句没有CHECK权限的功能; c. 在登入SAP R/3系统时,我们已经自动与Database连接,所以在执行NATIVE SQL时并不需要CONNECT语句; d. 一条NATIVE SQL语句可以以分号;结束,一般情况下是以句号.结束. e. 某些数据库系统对TABLE名字和FIELD名字有大小写区别,要正确书写. f. 在NATIVE SQL中,双引号”不表示注释.

ABAP/4 PROGRAM MODULE ABAP/4中的Module类似于其它语言中的子程序,通常是先定义后调用.主程序传给Module所需要的参数,然后Module返回主程序所需要的值.当然, ABAP/4中也有 ’传值’ 和 ’传址’ 两种参数传递方式. 一. Macro block (宏)

宏(Macro block)包括宏定义语句和宏调用语句. 宏定义的格式:

DEFINE .

. END-OF-DEFINITION. 宏调用的格式:

[ ?].

其中: [ ?].表示所使用的参数,参数之间要有一个空格. 举例:

DATA: result TYPE I. DEFINE MULTI.

result = &1 * &2.

WRITE: / ‘&1 * &2’, = result. END-OF-DEFINITION. ?

MULTI 3 7. 输出结果为: 21.

宏可以调用其它宏,但不可以调用自身.

DATA: RESULT TYPE I, N1 TYPE I VALUE 5, N2 TYPE I VALUE 6. DEFINE OPERATION. RESULT = &1 &2 &3.

OUTPUT &1 &2 &3 RESULT. END-OF-DEFINITION. DEFINE OUTPUT.

WRITE: / ’The result of &1 &2 &3 is’, &4. END-OF-DEFINITION. OPERATION 4 + 3 . OPERATION 2 ** 7. OPERATION N2 - N1.

输出结果为:

The result of 4 + 3 is 7

The result of 2 ** 7 is 128 The result of N2 - N1 is 1

二. Include 使用

格式: INCLUDE .

作用: 将某个写好的INCLUDE 程序(代码)加到原程序中,在程序编译(combine)的时候,系统会自动全部展开并且编译.

注意:

INCLUDE程序不能传送数据. 如果需要传送数据使用SUBROUTINES(FORM) 或 FUNCTION MODULES.

INCLUDE 的调用格式.

INCLUDE . 例如:

REPORT zchn4062. INCLUDE yiauth00.

.Global 变量宣告应用 语法:

DATA: BEGIN OF COMMON PART [],

END OF COMMON PART [] 此常使用在 Include 的档案中, 如 ***INCLUDE INCOMMON.

DATA: BEGIN OF COMMON PART NUMBERS, MID(8),

MNUM TYPE I,

END OF COMMON PART NUMBERS. 1.Subroutine 的宣告

FORM [].

ENDFORM. 2.调用的方法

(1).Internal Call(内部调用) 语法:

PERFORM [] Example:

NUM1 = 100. NUM2 = 200. PROFORM ADD. FORM ADD.

SUM = NUM1 + NUM2.

WRITE: / ‘NUM1 + NUM2 = ‘,SUM. ENDFORM.

执行结果: NUM1 + NUM2 = 300

搜索更多关于: ABAP基础语法学习笔记 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

2.使用条件式 语法: UPDATE SET =… WHERE 根据条件式异动符合条件式的记录 Example: UPDATE SPFLI SET NO=’34051920’ COMPANY = ‘DELTA’ WHERE TEL=’4526107’. 5.DELETE 语法 DELETE [FROM ].

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com