建网站 找个人,wordpress建立博客,域名打不开原来的网站,网站建设合同要注意什么总学习目录请点击下面连接 
SAP ABAP开发从0到入职#xff0c;冷冬备战-CSDN博客 目录 
编辑 
1.OPEN-SQL 简单回顾 
R3体系 
OEPN-SQL 
2.OPEN-SQL 读取数据 
2.1Select 语句 
select 
1条数据 
多条数据与into 
AS别名 
2.2INTO 
结构体 
内表 
例子 
2.3FROM 
选择动态表… 
总学习目录请点击下面连接 
SAP ABAP开发从0到入职冷冬备战-CSDN博客 目录 
编辑 
1.OPEN-SQL 简单回顾 
R3体系 
OEPN-SQL 
2.OPEN-SQL 读取数据 
2.1Select 语句 
select 
1条数据 
多条数据与into 
AS别名 
2.2INTO 
结构体 
内表 
例子 
2.3FROM 
选择动态表 
JOIN 
INNER JOIN 与 OUTER JOIN 
限制查询个数 
2.4WHERE语句 
语句中常使用的运算符 
Interval条件 
字符串比较 
list value 
2.5GROUP BY 
having 
2.5Sort 
3.OPEN-SQL数据修改 
3.1INSERT 
3.2UPDATE 
3.3DELETE 
3.4MODIFY 1.OPEN-SQL 简单回顾 
R3体系 
第一节课介绍过目前SAP使用R/3结构分为三层 表示层个人用户进行操作的地方进行输入和输出 
应用层SAP所有程序都在应用层上面进行执行。 
数据库层SAP中所有的数据在这一层存储主数据事务码。 ABAP程序由代码画面函数数据库表等组成这些都存储在R/3存储器中用户在ABAP工作区中对他们进行管理这些对象。 OEPN-SQL 
OPEN SQL是 R/3 系统使用的语言有查询/修改数据库数据的功能。它与使用的数据库系统(Oracle、MSSQL、Max DB 等)无关SQL 执行结果都一样。它适用于ABAP 数据字典中创建的数据库表、视图等。 
所有的OEPN-SQL 执行成功都会返回系统变量SY-SUBRC 为0 系统变量SY-DBCNT返回数据的个数。 
open sql命令语句 下面将详细讲解 
2.OPEN-SQL 读取数据 
从数据库表中读取数据如下所示各个语句的功能的定义 2.1Select 语句 
select 
Select分为两个部分第一个部分是要查询的数量如果只查询一个使用single语句另一个是要查询的字段表。 
1条数据 
从数据库中获取一条数据时使用single因为只会取一条数据所以要正确的给出查询数据的条件。就需要在where中追加所有的key值。如果没有指出所有key值就会任意返回一条信息 
select single key1 where key2... 
多条数据与into 
如果取到多条数据结果会被保存到内部定义的内表中后面要使用into语句指定存储的内表名称 
如果保存的结果不是内表而是字段和结构体最后要加 ”ENDSELECT 语句“。相当于在loop循环中执行select 语句。 
select ... into struct1 where ... ENDSELECT 
AS别名 
利用AS给字段指定一个别的名字 
Select clo1 AS clo2 ... 2.2INTO 
指向存储select 语句结果的目的地 
结构体 
当查询一条数据使用结构体使用*可以获取所有字段的值。此时使用CORRESPONDING FLELDS OF语句会自动找到相同的字段名匹配赋值。 
内表 
当查询多条数据时网内表插入数据使用APPENDING不使用intoINTO是删除内表数据后插入数据使用的。 
在最后面使用PACKAGES SIZE 语句可以指定插入的数据的件数。因为有可能没有读完所以最后还要加ENDSELECT语句。 
例子 
DATA:gs wa TYPE sflight, 
gt_itab TYPE TABLE OF sflight. 
SELECT carrid connid 
FROM spfliINTO 
CORRESPONDING FIELDS OF TABLE gt itab 
PACKAGE SIZE 5. 
LOOP AT gt itab INTO gs_wa. 
WRITE:/gs_wa-carrid,gs_wa-connid. 
ENDLOOP. 
ENDSELECT 
2.3FROM 
用于指定要查询数据的相应的数据库表。FROM后面可以指定一个或多个数据库表的连接。 不仅可以加AS语句别名还可以动态定义SQL. 
选择动态表 
form 后面的表名一定要使用大写字母并且必须是ABAP字典中存在的名字。 
select ... from (dbtab) 
然后可以在运行程序后给这个表名进行赋值然后就可以读取对应的数据库。 
JOIN 
多表查询时进行使用。 
使用JOIN时不指定类型默认就是inner join 
TYPES: BEGIN OF t_str, 
carrid TYPE sflight-carridcarrname, 
TYPE scarr-carrname,END OF t_str. 
DATA: gs str TYPE t str. 
SELECT SINGLE a-carrid b-carrname 
INTO CORRESPONDING FIELDS OF gS_Stt 
FROM sflight AS a 
INNER JOIN scart AS b 
ON a-carrid EO b-carrid 
WHERE a-carrid AA 
WRITE : gs str-carrid,gs str-carrname. 
输出 
AA American AirLines 
JOIN 语句中的AS a中a作为数据库表FIELDS 的别名使用后面a都可以代指FIELDS如a~carrid. 
INNER JOIN 与 OUTER JOIN inner join只会显示有对应的如果只有其中一个就不会出现在结果。 
如果无论是否匹配都要有就使用outer join在这个表中使用left outer join将左边作为基准读取。 
限制查询个数 
如果不输入查询条件进行查询会查询所有的值系统负担很大所以可以指定最大的查询个数来减少负担。 
select A form B UP TO 6 ROWS 
就是从B表中查询A列只要6行数据。 
2.4WHERE语句 
用于指定查询的条件 
语句中常使用的运算符 字面意思 
Interval条件 
需要在条件中追加范围时使用 
关键字between and 
比如取得字段clo为1-10的数据 
select col between 1 and 10 form DB 
字符串比较 
比较字符串时使用like语句%可以代替任意多的任意字符 _可以代替任意一个字符。 
比如 
select ~ where clo like ‘ABC%’ 
查找任意以ABC开头的数据。 
list value 
如果想查找多种情况中的数据关键字 where in  AB 
比如居住在北京和伤害的人 
select ~ where address in 北京,上海). 
2.5GROUP BY 
根据后面的条件进行分组 
group by后面的字段一定要能查出来。 
也可以动态的指定要分组的字段用法和前面select动态一样 group by 字段 
having 
having是用group by分组查询数据时使用的条件语句类似于where 条件。 
2.5Sort 
查出来的数据可以通过 order by来指定排序顺序。 
ASCENDING是升序 
DESCENDING是降序。 
3.OPEN-SQL数据修改 
在OPEN-SQL中修改数据时使用的命令 
3.1INSERT 
基础用法 
往数据中追加一个或多个数据语句可以动态指定。 
insert into db ... 
往db中加一条数据 
insert into db ... 
动态往db中加一条数据 
一条数据 
关键字value 
insert into db value ... 
往db中加一条数据 
value后面可以跟结构体 
例子 
往存储航空公司信息的scar数据库表中追加一条数据 
DATA:gs_scarr type scarr. 
gs_scarr_carrid  CN. 
gs_scarr-carrname Air china. 
gs_scarr-url  http://www.airchina.kr/. 
INSERT INTO SCARR VALUES GS_SCARRK. 
多条数据 
往数据库表一次性插入内表的所有值插入相同主键的数据时会发生dump error为了避免发生这种错误要使用ACCEPTING DUPLICATE KEYS语句。INSERT 语句执行失败系统变量 SY-SUBRC会返回4 
例子 
往存储航空公司运行日程的数据库表spfli中追加数据 
DATA:gt_spfli TYPE TABLE OF spfli, 
gs_spfli TYPE spfli. 
gs_spfli-carrid CN. 
gs spfli-connid 0001. 
gs_spfli-cityfrom  Beijinggs 
spfli-cityto  Seoul. 
APPEND gs_spfli TO gt_spfli. 
gs_spfli-carrid CN 
gs spfli-connid0002 
gs spfli-cityfrom Beijing 
gs spfli-cityto Busan. 
APPEND gs_spfli TO gt_spfli. 
INSERT Spfli FROM TABLE gt_Spfli ACCEPTING DUPLICATE KEYS. 
3.2UPDATE 
用于修改数据库表中的一条或多条数据。 
一条数据 
update target from wa 
工作区wa要和target的结构一致 
使用前要先定义和表结构一样的结构体 
多条数据 
可以一次性将内表多体哦啊数据反应到数据库表中 
update target from table itab 
也可以使用set语句修改类似mysql的修改方法 
update target set target1 where ... 
3.3DELETE 
删除一条数据或多条数据可以动态指定 
删除一条 
delete target from wa 
工作区wa和tartget格式一样 
删除多条数据 
一次性删除所有符合where条件的书v就 
delete from target where 条件 
3.4MODIFY 
modify即有update功能也有insert功能如果数据库表中存在此数据就更新不存在就插入。 一条数据 
modify target from wa 
工作区wa和tartget格式一样 
多条数据 
modify target form table itab 
举例 
DATA:gt_spfli TYPE TABLE OF Spfi, 
gs_spfli TYPE spfli. 
gs_spfli-carridCN. 
gs_spfli-connid 0001. 
gs_spfli-cityfrom  Beijing. 
MODIFY spfli FROM gs_spfli. gs_spfli-carrid CN. 
gs_spfli-connid0001. 
gsvspfli-cityfrom  Shanghai. 
APPEND gs spfli TO gt_spfli. gs_spfli-carrid CN. 
gs_spfli-connid 0003. 
gs_spfli-cityfrom  Shanghai. 
APPEND gs_spfli TO gt_spfli. 
MODIFY spfli FROM TABLE gt_spfli. 第一次modify时候里面没有这条0001数据就采取了insert第二个modify 
之前对0001进行了修改所以这次modify即有update 0001也有insert0003 
 文章转载自: http://www.morning.saletj.com.gov.cn.saletj.com http://www.morning.cnvlog.cn.gov.cn.cnvlog.cn http://www.morning.qmncj.cn.gov.cn.qmncj.cn http://www.morning.bxch.cn.gov.cn.bxch.cn http://www.morning.sogou66.cn.gov.cn.sogou66.cn http://www.morning.xdttq.cn.gov.cn.xdttq.cn http://www.morning.dbrpl.cn.gov.cn.dbrpl.cn http://www.morning.sgpny.cn.gov.cn.sgpny.cn http://www.morning.gqjqf.cn.gov.cn.gqjqf.cn http://www.morning.dmkhd.cn.gov.cn.dmkhd.cn http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn http://www.morning.brwnd.cn.gov.cn.brwnd.cn http://www.morning.khzml.cn.gov.cn.khzml.cn http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn http://www.morning.mxdhy.cn.gov.cn.mxdhy.cn http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn http://www.morning.wxccm.cn.gov.cn.wxccm.cn http://www.morning.nshhf.cn.gov.cn.nshhf.cn http://www.morning.weitao0415.cn.gov.cn.weitao0415.cn http://www.morning.bjjrtcsl.com.gov.cn.bjjrtcsl.com http://www.morning.pluimers.cn.gov.cn.pluimers.cn http://www.morning.gybnk.cn.gov.cn.gybnk.cn http://www.morning.gcqkb.cn.gov.cn.gcqkb.cn http://www.morning.kzcfp.cn.gov.cn.kzcfp.cn http://www.morning.fjlsfs.com.gov.cn.fjlsfs.com http://www.morning.kgrwh.cn.gov.cn.kgrwh.cn http://www.morning.srgsb.cn.gov.cn.srgsb.cn http://www.morning.zbnts.cn.gov.cn.zbnts.cn http://www.morning.jfnbh.cn.gov.cn.jfnbh.cn http://www.morning.dqrpz.cn.gov.cn.dqrpz.cn http://www.morning.xqtqm.cn.gov.cn.xqtqm.cn http://www.morning.tpnxj.cn.gov.cn.tpnxj.cn http://www.morning.drtgt.cn.gov.cn.drtgt.cn http://www.morning.lcbnb.cn.gov.cn.lcbnb.cn http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn http://www.morning.jwrcz.cn.gov.cn.jwrcz.cn http://www.morning.rzbgn.cn.gov.cn.rzbgn.cn http://www.morning.ztfzm.cn.gov.cn.ztfzm.cn http://www.morning.fkyqt.cn.gov.cn.fkyqt.cn http://www.morning.snmth.cn.gov.cn.snmth.cn http://www.morning.jykzy.cn.gov.cn.jykzy.cn http://www.morning.dzrcj.cn.gov.cn.dzrcj.cn http://www.morning.jxwhr.cn.gov.cn.jxwhr.cn http://www.morning.kdxzy.cn.gov.cn.kdxzy.cn http://www.morning.fhcwm.cn.gov.cn.fhcwm.cn http://www.morning.glncb.cn.gov.cn.glncb.cn http://www.morning.xxzjb.cn.gov.cn.xxzjb.cn http://www.morning.gyfwy.cn.gov.cn.gyfwy.cn http://www.morning.mqxzh.cn.gov.cn.mqxzh.cn http://www.morning.jbztm.cn.gov.cn.jbztm.cn http://www.morning.mbmh.cn.gov.cn.mbmh.cn http://www.morning.xltdh.cn.gov.cn.xltdh.cn http://www.morning.yznsx.cn.gov.cn.yznsx.cn http://www.morning.xkbdx.cn.gov.cn.xkbdx.cn http://www.morning.lndongguan.com.gov.cn.lndongguan.com http://www.morning.kbqws.cn.gov.cn.kbqws.cn http://www.morning.whothehellami.com.gov.cn.whothehellami.com http://www.morning.fnpyk.cn.gov.cn.fnpyk.cn http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn http://www.morning.spkw.cn.gov.cn.spkw.cn http://www.morning.pamdeer.com.gov.cn.pamdeer.com http://www.morning.xsqbx.cn.gov.cn.xsqbx.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn http://www.morning.htqrh.cn.gov.cn.htqrh.cn http://www.morning.tstwx.cn.gov.cn.tstwx.cn http://www.morning.fgppj.cn.gov.cn.fgppj.cn http://www.morning.wtdyq.cn.gov.cn.wtdyq.cn http://www.morning.pdgqf.cn.gov.cn.pdgqf.cn http://www.morning.kcdts.cn.gov.cn.kcdts.cn http://www.morning.hfyll.cn.gov.cn.hfyll.cn http://www.morning.yrhpg.cn.gov.cn.yrhpg.cn http://www.morning.czlzn.cn.gov.cn.czlzn.cn http://www.morning.tzzkm.cn.gov.cn.tzzkm.cn http://www.morning.jcpq.cn.gov.cn.jcpq.cn http://www.morning.jmmz.cn.gov.cn.jmmz.cn http://www.morning.srbbh.cn.gov.cn.srbbh.cn http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn http://www.morning.wcqxj.cn.gov.cn.wcqxj.cn http://www.morning.tfrlj.cn.gov.cn.tfrlj.cn