ABAP S4 新语法 sql with 的用法demo

复制代码
REPORT demo_cte.

CLASS demo DEFINITION.
  PUBLIC SECTION.
    TYPES: BEGIN OF struct,
             carrname TYPE scarr-carrname,
             connid   TYPE spfli-connid,
             cityfrom TYPE spfli-cityfrom,
             cityto   TYPE spfli-cityto,
             cnt      TYPE int8,
           END OF struct.
    CLASS-DATA itab TYPE TABLE OF struct WITH EMPTY KEY.
    CLASS-METHODS main.
ENDCLASS.

CLASS demo IMPLEMENTATION.
  METHOD main.
    DATA carrid TYPE spfli-carrid VALUE 'LH'.
    cl_demo_input=>request( CHANGING field = carrid ).
    carrid = to_upper( carrid ).

    WITH
      +conns AS (
        SELECT carrname, connid, cityfrom, cityto
              FROM spfli
                JOIN scarr ON spfli~carrid = scarr~carrid
              WHERE spfli~carrid = @carrid ),
      +cnts AS (
        SELECT COUNT(*) AS cnt
               FROM +conns )
      SELECT *
             FROM +cnts
               CROSS JOIN +conns
             ORDER BY carrname, connid
             INTO CORRESPONDING FIELDS of TABLE @itab.

    cl_demo_output=>display( itab ).
  ENDMETHOD.
ENDCLASS.

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

上图代码输出结果:

看到结果输出很容易理解代码需要实现的效果了。

相关推荐
ABAP_小欧4 天前
SAP 取工单无抬头料号取计划成本 COSP COSS
sap·abap
goyeer4 天前
11.[SAP ABAP] Package
sap·abap
goyeer5 天前
10.[SAP ABAP] 字符串
sap·abap
SAP Hua8 天前
ABAP内表汇总数据的方法汇总
abap
goyeer8 天前
08.[SAP ABAP] 循环结构
sap·abap
goyeer8 天前
09.[SAP ABAP] 终止循环
sap·abap
goyeer11 天前
07. [SAP ABAP] CASE控制语句
sap·abap
山茶花开时。12 天前
[SAP ABAP] CONVERSION_EXIT_ALPHA_INPUT
sap·abap
EasyStudios14 天前
金色传说:SAP-ABAP-Excel数据导入工具函数示例
sap·abap·excel导入
EasyStudios15 天前
金色传说:SAP-ABAP-交货单创建及过账工具类示例
sap·abap·工具类·se24·交货单bapi