이 연습문제에서는 어플리케이션에서 제공되는 값 도움말을 살펴봅니다. 또한 UI 메타데이터를 편집하여 직접 또는 비즈니스 오브젝트 동작을 조정하여 간접적으로 생성된 앱의 사용자 인터페이스를 조정합니다.
선행조건
이전 연습문제를 완료했습니다. 데이터베이스 테이블 Z##FLIGHT (## = 그룹 번호)를 생성하고 OData UI 서비스를 위한 개발 오브젝트를 생성했습니다.
태스크 1: 값 도움말 분석
오브젝트 페이지의 통화 필드에 대한 값 도움말이 제공되는지 확인합니다. 이 값 도움말이 어디에서 어떻게 정의되는지 살펴봅니다.
단계
OData UI 서비스의 미리보기를 시작합니다.
이전 연습문제에서 완료한 대로 진행합니다.
항공편의 오브젝트 페이지 를 편집 모드로 엽니다.
이전 연습문제에서 완료한 대로 진행합니다.
통화 필드에 대한 값 도움말이 있는지 확인합니다.
항공편 가격에 대해 표시되는 통화 필드의 값 도움말을 엽니다.
개발 환경으로 돌아가서 값 도움말의 정의를 살펴봅니다.
태스크 2: 동작 조정
표준 작업 생성 및 삭제를 제외하고 PlaneTypeID 필드를 읽기 전용으로 설정합니다.
노트
이러한 변경사항은 OData UI 서비스에만 적용되어야 합니다. 비즈니스 오브젝트 자체에서 항공편 생성 및 삭제와 항공기 유형 변경을 계속 지원해야 합니다.
단계
서비스의 동작 프로젝션에서 표준 작업 생성 및 삭제를 비활성화합니다.
동작 프로젝션 ZC_##FLIGHT (## = 그룹 번호)를 엽니다.
명령문 use create; 및 use delete; 앞에 주석 마커를 추가합니다.
주석 마커를 추가하려면 평소와 같이 진행합니다. 주석을 작성할 코드 행을 선택하고 Ctrl + < 를 누릅니다.
코드가 다음과 같아야 합니다.
123
// use create;
use update;
// use delete;
비즈니스 오브젝트의 동작 프로젝션에서PlaneTypeID 필드를 읽기 전용으로 설정합니다.
동작 프로젝션에 다음 코드를 추가합니다.
1
field ( readonly ) PlaneTypeID;
노트
명령문의 정확한 위치는 중요하지 않습니다. ... 문을 사용하기 전에 배치하는 것이 좋습니다.
동작 프로젝션을 활성화합니다.
동작 프로젝션을 활성화하려면 Ctrl + F3 을 누릅니다.
태스크 3: UI 메타데이터 조정
UI에서 관리 필드를 숨깁니다. CarrierID 와 ConnectionID 만 리포트 리스트 페이지에 선택 필드로 표시되어야 합니다. PlaneTypeID 가 Price 앞에 표시되도록 오브젝트 페이지 의 필드 순서를 변경합니다.
단계
프로젝션 뷰 ZC_##Flight의 메타데이터 확장을 편집합니다. LocalCreatedBy, LocalCreatedAt, LocalLastChangedBy, LocalLastChangedAt, LastChangedAt 필드의 UI 주석을 모두 제거하고 @UI.hidden: true 로 대체합니다.
메타데이터 확장 ZC_##FLIGHT (## = 그룹 번호)를 엽니다.
코드를 다음과 같이 조정합니다.
1234567891011121314
@UI.hidden: true
LocalCreatedBy;
@UI.hidden: true
LocalCreatedAt;
@UI.hidden: true
LocalLastChangedBy;
@UI.hidden: true
LocalLastChangedAt;
@UI.hidden: true
LastChangedAt;
CarrierID 및 ConnectionID 요소를 제외한 모든 요소에 대해 @UI.selectionField 주석을 제거합니다.
코드를 다음과 같이 조정합니다.
1234567891011121314151617181920212223
@UI.identification: [ {
position: 30
} ]
@UI.lineItem: [ {
position: 30
} ]
FlightDate;
@UI.identification: [ {
position: 40
} ]
@UI.lineItem: [ {
position: 40
} ]
Price;
@UI.identification: [ {
position: 50
} ]
@UI.lineItem: [ {
position: 50
} ]
PlaneTypeID;
오브젝트 페이지에서 PlaneTypeID 필드의 위치를 변경합니다. FlightDate와Price 사이에 배치합니다.
힌트
오브젝트 페이지에서의 위치는 주석 @UI.identification 으로 지정됩니다.
PlaneTypeID 요소에서 주석 @UI.identification: [ { position: } ] 의 값을 변경합니다. FlightDate 요소와 Price 요소 값 사이에 있는 값을 선택합니다.
코드를 다음과 같이 조정합니다.
1234567
@UI.identification: [ {
position: 35
} ]
@UI.lineItem: [ {
position: 50
} ]
PlaneTypeID;
메타데이터 확장을 활성화합니다.
Ctrl + F3 을 눌러 메타데이터 확장을 활성화합니다.
태스크 4: 결과 확인
OData UI 서비스의 미리보기를 재시작하고 사용자 인터페이스의 변경사항을 확인합니다.
단계
OData UI 서비스의 미리보기를 재시작합니다.
미리보기가 포함된 브라우저 윈도우 또는 브라우저 탭을 닫습니다.
ZUI_##FLIGHT_O4 서비스 바인딩을 엽니다. 오른쪽의 엔티티 세트 및 연관 관계 리스트에서 먼저 항공편 엔트리를 선택한 다음 미리보기.... 를 선택합니다.
리포트 리스트 페이지에서 생성 및 삭제 버튼이 사라졌는지 확인합니다.
이전 연습문제에서 완료한 대로 진행합니다.
보고서 목록 페이지에 더 이상 관리 필드가 표시되지 않는지 확인합니다.
이전 연습문제에서 완료한 대로 진행합니다.
편집 상태 필드 외에 리포트 리스트 페이지 상단에 두 개의 선택 필드만 표시되는지 확인합니다. 해당 기능을 테스트합니다.
힌트
선택 필드에서는 여러 값과 범위를 입력할 수 있습니다.
선택 필드 항공사 ID(예: LH)에 값을 입력하고 실행 을 선택합니다.
다른 값과 함께 반복합니다.
모든 데이터 세트에 대해 오브젝트 페이지로 이동합니다. 삭제 버튼이 사라졌는지 확인합니다.
이전 연습문제에서 완료한 대로 진행합니다.
오브젝트 페이지에 관리 필드가 더 이상 표시되지 않는지 확인합니다.
이전 연습문제에서 완료한 대로 진행합니다.
항공기 유형 필드가 항공편 일자 필드 뒤와 항공편 가격 필드 앞에 표시되는지 확인합니다.
이전 연습문제에서 완료한 대로 진행합니다.
편집 모드로 전환하고 항공기 유형 필드의 값을 변경할 수 없는지 확인합니다.
이전 연습문제에서 완료한 대로 진행합니다.