当前位置: 首页 > news >正文

S4 新语法记录(如+with、select内表、range、过滤器filter、分组loop…group)

1.EXSTS

注意:where后面 添加需要判断的字段

2. +with

注意:with 后面的 +内表名 可以有多个 ,但是后面只能紧接一个sql;需要用到多次可以使用union关键字 连接

3.case…

需要as 别名

4.select内表

**注意:**内表名前 需要@, 且需要as 别名

定义或参考结构,不能是@data定义的

5.CONCAT(字符串拼接)、Substring用法(字符串截取)

字符串拼接

SELECT-OPTIONS: s_spmon FOR mcs1-spmon DEFAULT sy-datum+0(6)." 期间 SELECT kalnr_mat,bdatj,poper,lbkum,salk3,estprd,estkdm,mstprd FROM fcml_rep_ddl FOR ALL ENTRIES IN @lt_ckmlhd WHERE kalnr_mat=@lt_ckmlhd-kalnr AND categ='ZU'AND curtp='10'AND concat(bdatj ,substring(poper,2,2))IN @s_spmon INTO TABLE @DATA(lt_fcml_ddl). SORT lt_fcml_ddl BY kalnr_mat bdatj poper.

时间戳拼接

6.过滤器

1.内表定义需指定:WITH NON-UNIQUE SORTED KEY……COMPONENTS……
过滤器的条件字段都需要再COMPONENTS之后定义,不然会报错;

2.类型转换的问题
提示类型不兼容,可以使用#CONV语法强制转换;

DATA: gt_itab TYPE STANDARD TABLE OF marc WITH NON-UNIQUE SORTED KEY itab_key COMPONENTS werks matnr. DATA: gt_sort TYPE SORTED TABLE OF marc WITH NON-UNIQUE KEY matnr. DATA: lv_werks TYPE werks_d VALUE'2110'.DATA: lv_matnr TYPE matnr. START-OF-SELECTION. SELECT * INTO TABLE gt_itab FROM marc. DATA(gt_fil)=FILTER#( gt_itab USING KEY itab_key WHERE werks = lv_werks AND matnr = CONV #( 'DE10000003' ) ).gt_sort=FILTER#( gt_itab USING KEY itab_key WHERE werks = lv_werks ).DO7TIMES. ENDDO.

7.LOOP…GROUP…

基础使用

TYPES: BEGIN OF ty_test, matnr TYPE matnr, werks TYPE werks, bdmng TYPE bdmng,sumTYPE bdmng, END OF ty_test. DATA: gt_itab TYPE TABLE OF ty_test. START-OF-SELECTION. gt_itab=VALUE#((matnr='M001'werks='1000'bdmng=11)(matnr='M001'werks='1006'bdmng=7)(matnr='M003'werks='1000'bdmng=1)(matnr='M003'werks='1006'bdmng=4)(matnr='M001'werks='2000'bdmng=5)(matnr='M003'werks='2000'bdmng=6))."loop ... group ...用法 "group size:指分组总条目数; LOOP AT gt_itab INTO DATA(gs_itab)GROUP BY(werks=gs_itab-werks size=GROUP SIZE)INTO DATA(ls_key). WRITE: /'组:', ls_key-werks, ls_key-size."1.可以通过分组关键值 ls_key-werks对内表进行更新 "2. 这里的ls_key就是分组关键值得数据了 LOOP AT GROUP ls_key INTO DATA(ls_itab). WRITE: / ls_itab-matnr, ls_itab-werks, ls_itab-bdmng. ENDLOOP. ENDLOOP.

8.字符串拼接

DATA(lv_cnt)=ls_btci-fnam+17(2). lv_cnt=lv_cnt +2. fnam=|MSICHTAUSW-KZSEL({lv_cnt})|.

9.REDUCE–符合条件的计数

DATA(lv_sum)=REDUCE#(INIT count=0FOR ls_table IN gt_out2 WHERE(sel='X')NEXT count=count +1).

10.type range of

DATA: r_werks TYPE RANGE OF matdoc-werks. r_werks=VALUE#(BASE r_werks(sign='I'option='EQ'low=<fs_config>-werks)).
http://www.jsqmd.com/news/254895/

相关文章:

  • Postman接口测试极速入门指南
  • 基于深度学习的安检X光危险物检测系统(YOLOv8+YOLO数据集+UI界面+Python项目+模型)
  • 基于深度学习的水稻病害检测系统(YOLOv8+YOLO数据集+UI界面+Python项目+模型)
  • Python 中安装和导入 DBSCAN 库步骤
  • 学霸同款2026自考AI论文平台TOP10:选对工具轻松过关
  • 2025年南京邮电大学计算机考研复试机试真题(解题思路 + AC 代码)
  • 文档翻译在高校中的应用
  • FPGA系统架构设计实践11_FPGA开机 - 指南
  • C++小白训练第六天
  • 从零开始配置neovim
  • Educational Codeforces Round 186 C-F 个人题解
  • JAVA攻防-Shiro专题有key无利用链JRMP协议CC1链分析Transform执行链
  • 如何克隆Demo代码仓库
  • 2026国内最新运动瑜伽面料品牌top10推荐!广东广州等地优质面料企业权威榜单发布,功能性与品质双优助力运动服饰升级. - 品牌推荐2026
  • 用数据说话:先知AI重塑男装企业增长曲线
  • 从需求分析到精准匹配:解码专业红娘的“择偶系统设计”逻辑
  • 2026最新MinGW64官网下载安装全攻略教程(含环境变量配置避坑,适合新手小白) - xiema
  • 开源大模型中的Agent概念解析
  • 模组日志总体介绍
  • 3.手写线程池-C语言版
  • sys系统消息
  • 高效筛选20w热点数据,从MySQL 2000w中精准提取
  • LuatOS-Air脚本移植到LuatOS版本注意事项
  • AI搜索新趋势:品牌推广如何赢得DeepSeek等智能模型的青睐?
  • 一文搞定AI排名SEO的手段:从“反向提问”来优化AI排名
  • 【1 月小记】Part 5: DP 优化 - L
  • AI搜索与消费者的未来:2026年需要关注的7个SEO领域
  • 救命神器8个AI论文写作软件,专科生毕业论文救星!
  • 从抽检到全检,AI 正在如何改变工厂质量控制体系?
  • 通信原理篇---AM\DSB\SSB\VSB