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

主机开通成功网站建设中网页模板之家

主机开通成功网站建设中,网页模板之家,财务网站模板,网站建设源码SAP ABAP 语法更新之Open SQL1、前言2、演示1、前言 自从 SAP 推出 SAP ON HANA,与之相随的 AS ABAP NW 7.40 版本以后,ABAP 语法也有了较多的更新,本篇对 Open Sql的语法更新部分做一个DEMO演示。 NW 7.40 以前 OpenSQL 的限制&#xff1a…

SAP ABAP 语法更新之Open SQL

  • 1、前言
  • 2、演示

1、前言

自从 SAP 推出 SAP ON HANA,与之相随的 AS ABAP NW 7.40 版本以后,ABAP 语法也有了较多的更新,本篇对 Open Sql的语法更新部分做一个DEMO演示。

NW 7.40 以前 OpenSQL 的限制:
① 没有固定值或计算列;
② 没有Case表达式;
③ 没有 right outer join;
④ 没有 Union;
⑤ 没有子查询

NW 7.40 开始 OpenSQL 支持的新特性:
① CASE;
② COALESCE;
③ 算术表达式:+,-,*,/;
④ CAST类型转换;
⑤ 算术函数:DIV、MOD、ABS、FLOOR、CEIL、ROUND;
⑥ 聚合函数:SUM,COUNT,AVG,MAX,MIN;
⑦ 字符串连接符 &&;
⑧ right outer join;
⑨ union and union all
存在的限制:
① 无法使用 SAP HANA 内置函数,如DAYS_BETWEEN;
② 无法使用 SAP HANA 数据库视图和存储过程

2、演示

*&---------------------------------------------------------------------*
*& Report Y_XLEVON_OPEN_SQL
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT y_xlevon_open_sql.TYPES: BEGIN OF ty_sflight,carrid   TYPE sflight-carrid,connid   TYPE sflight-connid,fldate   TYPE sflight-fldate,seatsmax TYPE sflight-seatsmax,seatsocc TYPE sflight-seatsocc,status   TYPE char10,END OF ty_sflight.PARAMETERS:p_carrid TYPE sflight-carrid,p_cust   TYPE scustom-name.*1CASE表达式
* Old syntax for before AS ABAP 7.4 SP05
DATA: gt_data TYPE STANDARD TABLE OF ty_sflight.
FIELD-SYMBOLS: <fs_sflight> TYPE ty_sflight.SELECTcarridconnidfldateseatsmaxseatsocc
FROM sflight
INTO TABLE gt_data
WHERE carrid = p_carrid.LOOP AT gt_data ASSIGNING <fs_sflight>.IF <fs_sflight>-seatsocc GT 300.<fs_sflight>-status = 'High OCC'.ELSE.<fs_sflight>-status = 'Low OCC'.ENDIF.
ENDLOOP.* AS ABAP 7.4 SP05
SELECTcarrid,connid,fldate,seatsmax,seatsocc,CASE WHEN seatsocc GT 300 THEN 'High OCC'ELSE 'Low OCC'END AS status
*into table @DATA(gt_data2)   " syntax OK
FROM sflight
*into table @DATA(gt_data2)   " syntax OK
WHERE carrid = @p_carrid
INTO TABLE @DATA(gt_data2).* New Syntax 7.5+
SELECT FROM sflightFIELDS carrid,connid,fldate,seatsmax,seatsocc,CASE WHEN seatsocc GT 300 THEN 'High OCC'ELSE 'Low OCC'END AS status
*into table @DATA(gt_data3).   " syntax error
WHERE carrid = @p_carrid
INTO TABLE @DATA(gt_data3).   " 必须放在最后*2)字面&算术表达式
DATA: lv_rebate TYPE p DECIMALS 2 VALUE '0.10'.
SELECT'hello' && 'XLevon' AS char,                    " 字符串拼接100 AS i_num,                                   " 整型@sy-langu AS sys_lan,                           " 系统语言@lv_rebate AS p_num,                            " 定点小鼠price,( price * @lv_rebate ) AS rebate,               " 折扣round( ( price * @lv_rebate ), 1 ) AS round_col," 折扣保留一位小数ceil( ( price * @lv_rebate ) ) AS ceil_col,floor( ( price * @lv_rebate ) ) AS floor_col
FROM sflight
WHERE carrid = @p_carrid
INTO TABLE @DATA(gt_data_expression).*3)聚合函数
SELECTcarrid,connid,COUNT( DISTINCT ( fldate ) ) AS distinct_fldate,SUM( seatsmax ) AS sum_seatsmax,CAST( AVG( seatsocc ) AS INT4 ) AS avg_seatsocc
FROM sflight
WHERE carrid = @p_carrid
GROUP BY carrid, connid
INTO TABLE @DATA(gt_data_aggregate).*4)右外连接
SELECTscarr~carrid,scarr~carrname,spfli~connid,spfli~cityfrom,spfli~cityto
FROM scarr
RIGHT OUTER JOIN spfli ON spfli~carrid = scarr~carrid
WHERE coalesce( scarr~carrid, 'NO CARR' ) <> 'NO CARR'
ORDER BY scarr~carrid, spfli~connid
INTO TABLE @DATA(gt_data_COALESCE)UP TO 10 ROWS.*5UNION & sub query
SELECT FROM sbookFIELDS 1 AS type, carrid, connid, fldate, bookid,CAST( loccuram AS FLTP ) / CAST( 2 AS FLTP ) AS div_field,loccurkey
WHERE customid IN ( SELECT id FROM scustom WHERE name = 'Martin' )
UNION ALL
SELECT FROM sbookFIELDS 2 AS type, carrid, connid, fldate, bookid,CAST( loccuram AS FLTP ) / CAST( 2 AS FLTP ) AS div_field,loccurkey
WHERE customid IN ( SELECT id FROM scustom WHERE name = @p_cust )
ORDER BY type, carrid, connid, fldate, bookid
INTO TABLE @DATA(gt_data_union).*6)应用:判断数据记录是否存在
DATA: lv_msg TYPE string.
SELECT SINGLE @abap_trueFROM scustomINTO @DATA(lv_exists)WHERE name = @p_cust.
IF lv_exists EQ abap_true.CONCATENATE 'Customer' p_cust 'Exists' INTO lv_msg SEPARATED BY space.
*  lv_msg = 'Customer ' && p_cust && ' Exists'.   " 前两个单词间空格丢失
ELSE.lv_msg = 'Customer ' && | { p_cust } doesn't Exists|.
ENDIF.cl_demo_output=>write( gt_data ).
cl_demo_output=>write( gt_data2 ).
cl_demo_output=>write( gt_data3 ).
cl_demo_output=>write( gt_data_expression ).
cl_demo_output=>write( gt_data_aggregate ).
cl_demo_output=>write( gt_data_COALESCE ).
cl_demo_output=>write( gt_data_union ).
cl_demo_output=>write( lv_msg ).
cl_demo_output=>display( ).

原创文章,转载请注明来源-X档案

http://www.tj-hxxt.cn/news/88967.html

相关文章:

  • 合肥建站公司排名前十名百度推广可以自己开户吗
  • 长治做网站公司博为峰软件测试培训学费
  • 株洲seo网站优化软件新冠疫情最新消息今天
  • web网站开发的参考文献seo从入门到精通
  • 门户网站建设运营企业微信管理系统
  • 手机作网站服务器惠州seo计费
  • 网页设计图片靠上怎么设置北京网站优化推广方案
  • 企业网站意思做网站好的网站建设公司
  • 英文 网站 源码运营培训
  • wordpress网站怎么仿开发网站需要多少钱
  • 如何用java做网站登录注册入口
  • 网站样式域名查询平台
  • 网站建设速成班企查查在线查询
  • 汉阳网站建设公司我们公司想做网络推广
  • 做网站用的什么语言比百度好用的搜索软件
  • 眉山建网站新闻头条 今天
  • 做网站要学会什么语言搜索引擎营销的特点有
  • 效果好的徐州网站建设杭州网站排名seo
  • 怎么查看网站外链seo排名优化软件有用
  • 可以直接做ppt的网站济南百度竞价
  • 企业网站实名认证时间中超最新积分榜
  • 做网站图片最近几天新闻大事
  • 微信网站结构企业网站制作哪家好
  • 邵阳哪里做网站百度指数怎么看
  • 邢台哪儿专业做网站seo排名工具给您好的建议
  • 小鱼儿网站做啥用的班级优化大师的优点
  • 做收钱的网站要什么条件网站建设平台软件
  • 网站建设与设计教程视频教程铜川网站seo
  • 十大社区团购平台排名百度上如何做优化网站
  • 邯郸网站建设的地方2345网址导航是什么浏览器