ABAP 7.55 新特性 (二) ABAP SQL部分

上一篇文章ABAP 7.55 新特性 (一)介紹了ABAP 7.55中除ABAP SQL外的更新內容,本篇是剩餘的ABAP SQL更新部分。html

 

轉載請註明
 
 

1. 新聚合函數ALLOW_PRECISION_LOSS

ABAP SQL如今支持新的聚合函數ALLOW_PRECISION_LOSS,它能夠和SUM結合使用,以下降準確性爲代價,提高性能,sql

示例代碼,express

REPORT demo_allow_precision_loss.

CLASS demo DEFINITION.
  PUBLIC SECTION.
    CLASS-METHODS main.
ENDCLASS.

CLASS demo IMPLEMENTATION.
  METHOD main.

    TYPES result_type TYPE p LENGTH 6 DECIMALS 2.
    DATA: allow_precision_loss_result TYPE result_type,
          normal_sum_result           TYPE result_type.

    DELETE FROM demo_expressions.
    INSERT demo_expressions FROM TABLE @(
      VALUE #( ( id = 'X' dec2 = '2.119999' )
               ( id = 'Y' dec2 = '2.118888' )
               ( id = 'A' dec2 = '1.13999' )
               ( id = 'Z' dec2 = '2.668888' )
      ) ).

    SELECT SUM( CAST( dec2 AS DEC( 10,2 ) ) ) AS sum1
    FROM demo_expressions INTO @normal_sum_result.

    SELECT allow_precision_loss( SUM( CAST( dec2 AS DEC( 10,2 ) ) ) )
           AS sum1
    FROM demo_expressions INTO @allow_precision_loss_result.

    cl_demo_output=>write_data( allow_precision_loss_result ).
    cl_demo_output=>write_data( normal_sum_result ).
    cl_demo_output=>display( ).
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  demo=>main( ).

 

2. 窗口函數中的可選窗口幀

可選窗口幀規範容許定義窗口內行的子集,該子集稱爲幀。 幀是根據當前行肯定的,這使得它能夠在窗口內移動。json

3. 新窗口函數FIRST_VALUE和LAST_VALUE

ABAP SQL如今在窗口表達式中支持如下新窗口函數:函數

4. 新的日期/時間轉換函數

如今,ABAP SQL支持如下新的日期/時間轉換函數post

  • TSTMPL_TO_UTCLTSTMPL_FROM_UTCL
  • DATS_TO_DATNDATS_FROM_DATN
  • TIMS_TO_TIMNTIMS_FROM_TIMN

5. 新的時間戳函數

如今,ABAP SQL支持如下新的時間戳函數性能

  • UTCL_CURRENT, UTCL_ADD_SECONDSUTCL_SECONDS_BETWEEN.

6. 新的日期函數

如今,ABAP SQL支持如下新的日期函數學習

  • DATN_DAYS_BETWEEN, DATN_ADD_DAYSDATN_ADD_MONTHS.

7. ORDER BY子句後新的附加項

如今,ABAP SQL支持如下新的日期函數ORDER BY子句後新的附加項url

  • NULLS FIRSTNULLS LAST.

8. 新的聚合函數

如今,ABAP SQL支持如下新的聚合函數spa

  • MEDIAN, STDDEV, VAR, CORRCORR_SPEARMAN.

9. 新的幾何變換函數

如今,ABAP SQL支持如下新的幾何變換函數

  • as_geo_json

10. SQL條件修正

DATA cityfrom TYPE spfli-cityfrom VALUE 'Frankfurt'.
DATA cityto   TYPE spfli-cityto   VALUE 'New York'.
cl_demo_input=>new(
  )->add_field( CHANGING field = cityfrom
  )->add_field( CHANGING field = cityto
  )->request( ).
cityfrom =  to_upper( cityfrom ).
cityto   =  to_upper( cityto ).

SELECT *
       FROM spfli
       WHERE ( carrid, cityfrom, cityto )
         IN ( ( 'LH', @cityfrom, @cityto ),
              ( 'UA', @cityfrom, @cityto ) )
       INTO TABLE @DATA(itab).

cl_demo_output=>display( itab ).

 

  • SQL函數和cast表達式目前能夠用在比較運算符的右側。

11. 新的窗口函數NTILE

ABAP SQL如今在窗口表達式中支持如下新窗口函數:

12. SELECT, INTO target修改

在使用SELECT, INTO target時,宿主變量能夠內聯聲明,即使FROM子句是動態的,只要全部SELECT清單是靜態的。之前,結果集的結構,包括SELECT列表、FROM子句和任何indicator都須要是靜態的。

13. 新的類型轉換函數to_clob和to_blob

ABAP SQL如今在窗口表達式中支持新的類型轉換函數to_clobto_blob

14. 新的貨幣轉換函數currency_conversion

ABAP SQL如今支持新的貨幣轉換函數currency_conversion

示例,

DATA currency TYPE c LENGTH 5 VALUE 'USD'.

...

SELECT FROM demo_prices
       FIELDS id,
              currency_conversion(
                amount = amount,
                source_currency = currency,
                target_currency = @currency,
                exchange_rate_date = @sy-datlo,
                round = 'X',
                on_error =
                  @sql_currency_conversion=>c_on_error-fail )
                    AS amount,
                @currency AS currency
        INTO TABLE @DATA(converted_prices_asql).

 

15. 如今能夠在SQL表達式中使用streaming和locators

如今能夠在SQL表達式中使用streaming和locators,好比TO_CLOB, TO_BLOBAS_GEO_JSON.

16. 基本SQL表達式支持更多類型

基本SQL表達式如今能夠支持字典類型STRING和RAWSTRING.

17. Hierarchy載入選項

對於hierarchy生成器HIERARCHY,如今能夠經過新的附加項LOAD BULK|INCREMENTAL|load_option指定載入策略。

18. 指定類型的字面量

如今能夠在ABAP SQL中使用多種ABAP字典類型的指定類型的字面量

語法:... dtype...

例如,

SELECT *
       FROM demo_ddic_types
       WHERE int8 = int8`32984723948723`
       INTO TABLE @DATA(result).

19. 新的字符函數

ABAP SQL如今支持一些新的正則處理函數,好比REPLACE_REGEXPR, LIKE_REGEXPROCCURRENCES_REGEXPR

20. 在UPDATE FROM中指定更新列

如今能夠在UPDATE FROM子句中經過set indicators指定更新列。

21. 嚴格模式

若是用到了上面列出的ABAPSQL中的任一新特性,語法檢查會以嚴格模式運行。

 

原始文檔連接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-abap_sql.htm

相關文章
相關標籤/搜索