Time goes on and on, never to an end but crossings.
时间一直走,没有尽头,只有路口。
1
程序效果
2
源码分享
*&\----------------------------------------------------------------------
*& 15\. Open Sql Part 1
*&\----------------------------------------------------------------------
BEGIN OF gty_student ,
id ( 10 ) TYPE n , "学生ID
name ( 10 ) TYPE c , "姓名
gender TYPE c , "性别
age TYPE i , "年龄
class ( 10 ) TYPE c , "班级
score TYPE p DECIMALS 1 , "成绩
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 ( ) ) ).
*------------------------------------------------------------------------------*
DATA lv_score TYPE i VALUE '80.5' .
SELECT id ,name ,
score ,
'->' AS sep1 ,
*&****使用常量,变量,表达式
'XUWENPAN' AS constant ,
@lv_score AS variable ,
@ ( COND # ( WHEN lv_score >= 90 THEN '优秀'
WHEN lv_score >= 80 AND lv_score < 90 THEN '良好'
WHEN lv_score >= 70 AND lv_score < 80 THEN '中等'
WHEN lv_score >= 60 AND lv_score < 70 THEN '及格'ELSE '不及格' ) ) AS expression ,
'-->' AS sep2
FROM @gt_student AS stu_info
WHERE id < @ ( VALUE # ( gt_student[ 6 ] \- id OPTIONAL ) )
INTO TABLE @DATA ( lt_sql ).
3
AI解释
仅供参考
** Open SQL 用法解释 - Part 1 **
**概述:** Open SQL 是用于在 ABAP 中访问数据库的语言。以下是针对查询数据库表的 Open SQL 示例代码解释。
**代码核心点:** ** 1\. 定义 ** ** 表类型 ** :使用 TYPES 关键字定义了一个名为
gty_t_student的表类型,表示学生信息。
**2\. 生成测试数据** :使用 VALUE 关键字和 FOR 循环生成了一个包含 10 条学生信息的内表 gt_student。
**3\. Open SQL 查询** :使用 SELECT 关键字查询 数据库表(示例为内表) 。在 SELECT 语句中,通过 FROM
@gt_student AS stu_info 指定了要查询的内表,命名为 stu_info。
**4\. 查询字段及计算列** :使用 SELECT 语句中的字段列表,包括数据库表字段、常量、变量、表达式等。其中,@ 符号用于引用 ABAP
数据,AS 用于为查询结果定义别名。
**5\. 条件过滤** :使用 WHERE 子句指定了查询条件,仅选择 id 小于内表中第 6 条学生记录的学生信息。
**6\. 查询结果存储** :使用 INTO TABLE @lt_sql 将查询结果存储到内表 lt_sql 中。
**示例解释:** \- 查询学生表中的学生信息,包括 id、name、score 字段,以及添加了别名的常量、变量和表达式字段。 \- 通过 WHERE
子句过滤条件,仅选择 id 小于内表中第 6 条学生记录的学生信息。
**示例输出:** 查询结果将包含选定的字段,以及计算的常量、变量和表达式字段,存储在内表 lt_sql 中。
以上是今日分享,希望对你有所帮助~~~
欢迎点赞、留言、分享
往期推荐
[ ABAP 新语法-REDUCE
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495646&idx=1&sn=370e6863e1c40e7adfd42df62b799993&chksm=cf0a3b30f87db226babd5181e59cc61d9aebb6e759093c1c408fb22f24e5680fca2027db1b59&scene=21#wechat_redirect)
[ ABAP 新语法-FILTER
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247495693&idx=1&sn=505aee012a4e71e200af681d14994f44&chksm=cf0a24e3f87dadf5039dd84f5f62184326d7b59cb803140bf4ce4067bfbb0bc9dd6018d4efb2&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 新语法-SEGMENT
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247496036&idx=1&sn=6cb4832ed1cdf53e5a2173b7d951f390&chksm=cf0a258af87dac9c1538da63ca42aab3b09e461a588746412052022e11e0734fe15fcad1ec65&scene=21#wechat_redirect)
点个 在看 你最好看