ABAP 新语法 OPENSQLPart3

作者:ABAP猿 约 5 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, 开发, 数据工程
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

Small deeds done are better than great deeds planned.

已经完成的小事胜过计划完成的大事。

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

1

程序效果

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

2

源码分享

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

*&\----------------------------------------------------------------------

*& 15\. Open Sql Part 3

*&\----------------------------------------------------------------------

TYPES

BEGIN OF gty_student ,

id ( 3 ) TYPE n , "学生ID

name ( 10 ) TYPE c , "姓名

gender TYPE c , "性别

age TYPE i , "年龄

class ( 10 ) TYPE c , "班级

score TYPE p DECIMALS 1 , "成绩

date TYPE d , "入学日期

END OF gty_student ,

gty_t_student TYPE TABLE OF gty_student WITH EMPTY KEY .

DATA ( gt_student ) = VALUE gty_t_student ( LET pre = 'Student'

random = cl_abap_random_int => create ( seed = CONV # ( sy \- timlo

) min = 0 max = 100 ) IN

FOR n = 1 UNTIL n > 10

( id = n

name = |{ pre } { n }|

gender = COND # ( WHEN n MOD 2 = 0 THEN '男' ELSE '女' )

age = 10 \+ n

class = |{ n }班|

score = random -> get_next ( )

date = sy \- datum + n ) ).

*------------------------------------------------------------------------------*

SELECT id ,

name ,

gender ,

'->' AS sep1 ,

*&****字符类型(连接、截取、替换、填充、移除、转换、属性、查找)

"连接

concat ( id , name ) AS concat ,

concat_with_space ( id , name , 2 ) AS concat_with_space ,

name && '&&' && gender AS connection_symbol ,

"截取

left ( date , 4 ) AS left ,

substring ( date , 5 , 2 ) AS substring ,

right ( date , 2 ) AS right ,

"替换

replace ( gender , '男' , 'Man' ) AS replace ,

"填充

lpad ( id , 5 , '0' ) AS lpad ,

rpad ( id , 5 , 'X' ) AS rpad ,

"移除

ltrim ( id , '0' ) AS ltrim ,

rtrim ( name , '3' ) AS rtrim ,

"转换

upper ( name ) AS upper ,

lower ( name ) AS lower ,

"属性

length ( date ) AS length ,

"查找

instr ( date , '4' ) AS instr ,

'-->' AS sep2

FROM @gt_student AS stu_info

WHERE id < @ ( VALUE # ( gt_student[ 6 ] \- id OPTIONAL ) )

INTO TABLE @DATA ( lt_sql ).

3

AI解释

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

仅供参考

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

** Open SQL 用法解释 - Part 3 **

**概述:** 在 Open SQL 的第三部分示例代码中,介绍了 SELECT 语句中对字符类型字段进行操作的多种函数的使用。以下是核心点的描述。

**代码核心点:** ** 1\. 定义 ** ** 表类型 ** :使用 TYPES 关键字定义了一个名为

gty_t_student的表类型,表示学生信息。

**2\. 生成测试数据** :使用 VALUE 关键字和 FOR 循环生成了一个包含 10 条学生信息的内表 gt_student。

**3\. Open SQL 查询** :使用 SELECT 关键字查询 数据库表(示例为内表) 。在 SELECT

语句中,对字符类型的字段进行了多种函数操作,包括连接、截取、替换、填充、移除、转换、属性、查找等。

**4\. 字符类型函数操作** :在 SELECT 语句的字段列表中,引入了多个字符类型的函数,实现了对字符类型字段的各种操作。

**5\. 条件过滤** :与之前相同,使用 WHERE 子句指定了查询条件,仅选择 id 小于内表中第 6 条学生记录的学生信息。

**6\. 查询结果存储** :使用 INTO TABLE @lt_sql 将查询结果存储到内表 lt_sql 中。

**示例解释:** \- 查询学生表中的部分字段,对字符类型字段进行了连接、截取、替换、填充、移除、转换、属性、查找等多种操作。 \- 通过 WHERE

子句过滤条件,仅选择 id 小于内表中第 6 条学生记录的学生信息。

**示例输出:** 查询结果将包含选定的字段,以及对字符类型字段应用各种函数后的结果,存储在内表 lt_sql 中。

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

以上是今日分享,希望对你有所帮助~~~

欢迎点赞、留言、分享

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

往期推荐

[ ABAP 新语法-OPEN SQL Part 1

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247496110&idx=1&sn=84fbd1501ed367a8d873ec0134bb83d3&chksm=cf0a2540f87dac568fa398805e317dee522c3aa45dbc0a881b5507546db02eca58f3364e61a7&scene=21#wechat_redirect)

[ ABAP 新语法-OPEN SQL Part 2

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247496219&idx=1&sn=5d031cf86fb2f76e8262dccd5bbd99bf&chksm=cf0a26f5f87dafe336db169dc88530ed0a76b67f5482cd79ac739c856a957a92a5c52e8046f1&scene=21#wechat_redirect)

[ ABAP 新语法-SEGMENT

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247496036&idx=1&sn=6cb4832ed1cdf53e5a2173b7d951f390&chksm=cf0a258af87dac9c1538da63ca42aab3b09e461a588746412052022e11e0734fe15fcad1ec65&scene=21#wechat_redirect)

[ ABAP 新语法-GROUP BY

](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495701&idx=1&sn=8b5959e457fdbd665598bf30b6e441a5&chksm=cf0a24fbf87daded579245ffa24099fcbe71400810fe25a02b632aca320bf095372eb2505d1e&scene=21#wechat_redirect)

ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图
ABAP 新语法 OPENSQLPart3 - 封面图

点个 在看 你最好看

ABAP猿

关于作者:ABAP猿

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「ABAP新语法OPENSQLPart3.md」整理生成,仅用于内部技术分享与学习交流。