ABAP 7.52 中的Open SQL新特性

2019-10-13 20:16 来源:未知

5,访谈调整

新的十分重要字WITH PRIVILEGED ACCESS能够关闭CDS的访问调控。

2,关系表达式

典型表明式现支持以下意况:

  • 能够对字符类数据类型大小相比较,并且不再限制N类型。
  • 网页测试游戏,操作符BETWEEN不再限制N类型,SQL表明式现在能够在右边手使用了。
  • 前段时间也支撑LIKE操作符。

6,子查询中的OHighlanderDE牧马人 BY和UP TO, OFFSET

在子查询中,未来得以行使OLacrosseDELacrosse BY子句和叠加项UP TO, OFFSET了。可是,不是具备数据库都帮忙在子查询中运作OLANDDE中华V BY。

在意:在子查询中,UP TO只可以用在O哈弗DE福特Explorer BY子句前面,附加项OFFSET也不得不在UP TO前边钦命。

S/4 HANA 1709 已经在多少个月前公布,随之而来的是ABAP 7.52。

8,SELECT列表中的FO福特Explorer ALL ENT奇骏IES IN和字符串

在原先的严加形式语法检查中,SELECT语句的叠合项FOR ALL ENTENVISIONIES IN不能够和SELECT列表中类型为STLacrosseING和RAWST奥迪Q3ING或许LCH福睿斯和LRAW的列一齐出现。今后那么些限制已经被移除,语法检查只会对此提醒三个警戒,实际不是八花九裂。

1,内表作为数据源

如今得以将内表钦定为查询语句的数据源。假使内表数据必要传递给数据库的话,则不得不在一些数据库上运维。

例子:

DATA itab TYPE HASHED TABLE OF scarr
          WITH UNIQUE KEY mandt carrid.

IF NOT cl_abap_dbfeatures=>use_features(
         EXPORTING
           requested_features =
             VALUE #( ( cl_abap_dbfeatures=>itabs_in_from_clause ) ) ).
  cl_demo_output=>display(
    `System does not support internal tables as data source` ).
  RETURN.
ENDIF.

itab =  VALUE #( ( carrid = 'LH' carrname = 'L.H.' )
                 ( carrid = 'UA' carrname = 'U.A.' ) ).

SELECT scarr~carrid, scarr~carrname, spfli~connid
       FROM @itab AS scarr
         INNER JOIN spfli ON scarr~carrid = spfli~carrid
       INTO TABLE @DATA(result)
       ##db_feature_mode[itabs_in_from_clause].

cl_demo_output=>display( result ).

 

正文链接:

7,LFET OUT JOIN中的Cardinality

在LFET OUTE奥迪Q5 JOIN中,能够用附加项ONE TO MANY钦定Cardinality。它能够被SAP HANA识别为一种优化表达。

一经读者是Open SQL的新手,请不要从本文看起。更合适的课程是:A complete guide to OpenSQL statements – Step-by-step tutorial with screenshots

正文翻译了翻新文书档案中有关Open SQL的一对。

11,Open SQL中的代理服务

类CL_OSQL_REPLACE能够在ABAP Unit单元测量检验少将数据库访问重定向至访谈另外数据库的Open SQL。

此类只可以在测验类中动用。

示范程序:DEMO_CL_OSQL_REPLACE

 

4,路线表明式

以下特征以后在路子表明式(path expression)中可用:

  • 在传参的空白部分、属性方括号的空域部分和斜杠前的职位,路线表明式能够划分为两个代码行。
  • 对象数据也是CDS表函数(table function)的时候,也足以应用Association了。
  • 参数能够在门路表明式association的背后传递。因此能够内定带有参数的CDS entities作为association的数据源。
  • 在路子表明式中,以后得以钦赐join表达式的cardinality和项目作为品质。
  • association的过滤条件今后得以在路线表明式中钦赐。

9,严酷形式的语法检查

一经您用到了地点列出的Open SQL中的任一新性情,语法检查会以严谨形式运营。

10,Client处理

在切换Client读取CDS entities时,附加项USING CLIENTCLIENT SPECIFIED会利用以下(更严苛的)法则:

  • CDS访谈调整不会在跨Client访问时职业。因而,附加项USING CLIENTCLIENT SPECIFIED只能在CDS entities的访谈调节被关闭的时候使用,即阐明为AccessControl.authorizationCheck.#NOT_ALLOWED,恐怕查询语句中应用了上文5中的WITH PRIVILEGED ACCESS时。
  • 路径表达式只可以在活动Client管理展开的时候利用。不得以行使CLIENT SPECIFIED,以免路径表达式中的association中的FROM子句中的指标数据是钦赐Client(Client-specific)的数据源(?),association的源数据源也不得以是内定顾客端的。

3,转变函数

新的类型调换函数BINTOHEXHEXTOBIN前几天能够在SQL表明式中把byte strings调换为character strings,这种作用在CAST表明式中是不可行的。

亲自去做程序,能够见见三种转移情势的结果是一样的:

 SELECT SINGLE id AS uuid32, hextobin( id ) AS uuid16
       FROM iwreferenc
       WHERE tcode = 'SE38'
       INTO @DATA(wa).

IF sy-subrc = 0.
  DATA uuid16 LIKE wa-uuid16.
  cl_system_uuid=>convert_uuid_c32_static(
    EXPORTING
      uuid          =     wa-uuid32
    IMPORTING
      uuid_x16      =     uuid16 ).
  ASSERT wa-uuid16 = uuid16.
ENDIF.

 

TAG标签:
版权声明:本文由澳门国际银河备用网址发布于网页测试游戏,转载请注明出处:ABAP 7.52 中的Open SQL新特性