반응형
DEFINE VIEW 에 사용하는 Parameter 에 대해서 알아보겠습니다.
문법
... WITH PARAMETERS parameter1, parameter2, ...
효과
CDS View 에 입력 매개변수 parameter1, parameter2, ... 을 정의합니다. 각각의 매개변수는 콤라(,)로 구분합니다.
pname이라는 입력 매개 변수를 구문 pname or $parameters.pname 을 사용하여 View의 SELECT 문의 다음 위치에서 피연산자로 사용할 수 있습니다.
■ Select List의 요소
■ 산술식의 피연산사
■ 대소문자 구별에서 대소문자 바로 뒤에 피연산자
■ Where 절 또는 Having절에서 조건 표현의 오른쪽 부분
■ ABAP Join 또는 Association(연관)에서 On 조건 표현의 오른쪽 부분
■ 경표 표현식의 필터조건에서 조건 표현의 오른쪽 부분
예시
다음 CDS View는 3개의 매개변수를 입력받아 Select 구문의 Where 절에 사용되었습니다.
ABAP의 Select 구문에서 실제 동작시 입력된 결과는 실행 가능한 예제를 참조합니다.
@AbapCatalog.sqlViewName: 'DEMO_CDS_PARA' @AccessControl.authorizationCheck: #NOT_REQUIRED @Metadata.allowExtensions @EndUserText.label: 'Demo für Parameter-View' define view demo_cds_parameters with parameters p_distance_l :s_distance, p_distance_u :s_distance, p_unit :s_distid as select from spfli { key carrid, key connid, cityfrom, cityto, distance, distid } where distid = :p_unit and distance between :p_distance_l and :p_distance_u; |
with parameters
p_distance_l :s_distance,
p_distance_u :s_distance,
p_unit :s_distid
3개의 Parameter를 정의하여 CDS View에 적용합니다.
[실행가능한 예제프로그램 소스]
REPORT demo_cds_parameters. 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( p_distance_l = @from_distance, p_distance_u = @to_distance, p_unit = @unit ) ORDER BY carrid, connid INTO TABLE @DATA(result). cl_demo_output=>display( result ). ENDMETHOD. ENDCLASS. START-OF-SELECTION. demo=>main( ). |
참고
CDS View 에서 정의하는 Parameter에는 Select-Option 과 같은 형태는 적용할 수 없습니다.
단순 입력값 만을 사용할 수 있고, CDS View Select 시에 필수로 입력해줘야 합니다.
Parameter 에 기본값을 지정할 수 있습니다.
반응형
'SAP Story > CDS View' 카테고리의 다른 글
(2) View 정의 - 데이터 집계(Select)- data_source (0) | 2022.11.22 |
---|---|
DDL정의(2) View 정의 - 데이터 집계(Select) (0) | 2022.11.15 |
DDL정의-(2) View 정의 - Name List (0) | 2022.11.15 |
DDL정의-(2) View 정의 - 주석(Annotation) (0) | 2022.11.15 |
DDL정의-(2) View 정의 - 개론(생성하기) (0) | 2022.11.15 |
댓글