데이터 집계와 관련한 주제 중 Data_source 중에서 Parameter를 사용하는 방법에 대해서 알아보도록 하겠습니다.
문법
... ( pname1 : act1, pname2 : act2, ... ) ...
효과
실제 매개변수 act1, act2, ...은 CDS View의 입력 매개변수 pname1, pname2, ... 에 전달됩니다.
매개변수로는 다음의 값을 사용할 수 있습니다.
■ 리터럴( Literals ) :: 숫자 또는 문자로 된 고정값
■ 매개변수( Parameters )
■ 세션변수( Session Variables )
전달되는 매개변수와 입력 매개변수의 데이터 유형은 정확하게 일치해야 합니다.
하지만 다음의 옵션도 가능합니다.
■ 문자형 매개변수가 바인딩 되는 경우 서로 다른 길이 가능
■ 숫자형 매개변수가 전달될 때 입력 매개변수가 더 큰 범위이면 가능
예시
다음은 Join에서 CDS View demo_cds_parameters를 사용하는 CDS View 입니다. View의 입력매개변수는 현재 View에서 제공된 실제 매개변수를 사용합니다. 프로그램 DEMO_CDS_PARAMETERS_JOIN 은 이 View를 Select 하는 프로그램 입니다.
실제 매개변수를 입력 매개변수로 제공했습니다.
@AbapCatalog.sqlViewName: 'DEMO_CDS_PARJOIN' @AccessControl.authorizationCheck: #NOT_REQUIRED define view demo_cds_parameters_join with parameters in_distance_l :s_distance, in_distance_u :s_distance, in_unit :s_distid as select from demo_cds_parameters ( p_distance_l : $parameters.in_distance_l, p_distance_u : $parameters.in_distance_u, p_unit : $parameters.in_unit ) as flights join scarr on scarr.carrid = flights.carrid { key scarr.carrname, key flights.connid, flights.cityfrom, flights.cityto, flights.distance, flights.distid }; |
Program :: DEMO_CDS_PARAMETERS_JOIN
REPORT demo_cds_parameters_join. CLASS demo DEFINITION. PUBLIC SECTION. CLASS-METHODS main. ENDCLASS. CLASS demo IMPLEMENTATION. METHOD main. DATA: from_distance TYPE s_distance VALUE 2000, to_distance TYPE s_distance VALUE 6000, unit TYPE s_distid VALUE 'MI'. cl_demo_input=>new( )->add_field( CHANGING field = from_distance )->add_field( CHANGING field = to_distance )->add_field( CHANGING field = unit )->request( ). SELECT * FROM demo_cds_parameters_join( in_distance_l = @from_distance, in_distance_u = @to_distance, in_unit = @unit ) ORDER BY carrname, connid INTO TABLE @DATA(result). cl_demo_output=>display( result ). ENDMETHOD. ENDCLASS. START-OF-SELECTION. demo=>main( ). |
■ ABAP CDS - SELECT, data_source
- ABAP CDS - SELECT, parameters
- ABAP CDS - SELECT, JOIN
■ ABAP CDS - SELECT, ASSOCIATION
- ABAP CDS - path_expr
:: ABAP CDS - path_expr, attributes
:: ABAP CDS - Joins of Associations
■ ABAP CDS - SELECT, select_list
- ABAP CDS - SELECT, element
- ABAP CDS - SELECT, element_annot
■ ABAP CDS- SELECT, clauses
- ABAP CDS - SELECT, WHERE
- ABAP CDS - SELECT, GROUP BY
- ABAP CDS - SELECT, HAVING
- ABAP CDS - SELECT, UNION
■ ABAP CDS - SELECT, Operands and Expressions
- ABAP CDS - literal
- ABAP CDS - field
- ABAP CDS - parameter
- ABAP CDS - session_variable
- ABAP CDS - arith_expr
- ABAP CDS - aggr_expr
- ABAP CDS - case_expr
- ABAP CDS - cast_expr
- ABAP CDS - cond_expr
■ ABAP CDS - SELECT, Built-In Functions
- ABAP CDS - sql_functions
- ABAP CDS - Numeric Functions
- ABAP CDS - String Functions
- ABAP CDS - coalesce
- ABAP CDS - Special Functions
- ABAP CDS - Conversion Functions
- ABAP CDS - Type Conversion Functions
- ABAP CDS - Conversion Functions for Units and Currencies
- ABAP CDS - Date Functions and Time Functions
- ABAP CDS - Date Functions
- ABAP CDS - Time Functions
- ABAP CDS - Time Stamp Functions
- ABAP CDS - Time Zone Functions
- ABAP CDS - Date/Time Conversions
'SAP Story > CDS View' 카테고리의 다른 글
DDL정의(2) View 정의 - 데이터 집계(Select)- ASSOCIATION (0) | 2022.11.24 |
---|---|
DDL정의(2) View 정의 - 데이터 집계(Select)- data_source( Join ) (0) | 2022.11.23 |
(2) View 정의 - 데이터 집계(Select)- data_source (0) | 2022.11.22 |
DDL정의(2) View 정의 - 데이터 집계(Select) (0) | 2022.11.15 |
DDL정의-(2) View 정의 - 매개변수(Parameter) (0) | 2022.11.15 |
댓글