사용자 경험 개선

Objectives

After completing this lesson, you will be able to:
  • 앱에서 필드를 정렬합니다.
  • 입력 도움말을 제공합니다.

UI 조정

이 섹션에서는 동작 정의에서 필드 속성을 제어하는 방법과 메타데이터 확장에서 UI를 조정하는 방법에 대해 알아봅니다.

UI에서 필드 정렬

필드 읽기 전용 설정

필드를 읽기 전용으로 설정하면 필드를 다시 정렬하는 것이 적절하다는 것을 알 수 있습니다. 예측의 해당 필드에 주석을 추가하여 이 작업을 수행합니다. 일반적으로 메타데이터 확장에서 이 작업을 수행합니다.

메타데이터 확장은 특정 CDS 엔티티에 속한 주석이 포함된 독립 실행형 저장소 오브젝트입니다. 그 이면의 아이디어는 CDS 엔티티의 정의와 주석을 분리하여 더 쉽게 이해할 수 있도록 하는 것입니다. 그렇지 않으면 CDS 정의가 매우 길고 읽기 어려울 수 있습니다.

메타데이터 확장을 CDS 뷰와 함께 사용하려면 CDS 뷰에 주석 @Metadata.allowExtensions: true 가 있어야 합니다. 생성기는 사용자를 위해 이 작업을 처리하고 프로젝션 뷰의 메타데이터 확장과 프로젝션 뷰 자체에 해당 주석을 자동으로 생성합니다.

메타데이터 확장에서 변경해야 할 수 있는 두 가지 중요한 UI 주석이 있습니다. 첫 번째는 @UI.LineItem. 특성 위치를 설정하는 배열입니다. 앱의 리포트 리스트 페이지에서 열의 위치를 결정합니다.

두 번째 주석은 @UI.identification 입니다. 이는 특성 위치도 설정하는 배열입니다. 생성 또는 업데이트 작업 중에 표시되는 단일 오브젝트 페이지에서의 필드 위치를 결정합니다.

필드 재정렬

필드 속성 제어 방법

입력 도움말

이 섹션에서는 사용자에게 값 도움말을 제공하는 방법에 대해 알아봅니다. 자세히 알아보려면 이 비디오를 시청하십시오.

사용자 인터페이스 조정

이 연습문제에서는 어플리케이션에서 제공되는 값 도움말을 살펴봅니다. 또한 UI 메타데이터를 편집하여 직접 또는 비즈니스 오브젝트 동작을 조정하여 간접적으로 생성된 앱의 사용자 인터페이스를 조정합니다.

템플릿:

  • 없음

솔루션:

  • /LRN/S4D400_C_FLIGHT(동작 프로젝션)
  • /LRN/S4D400_C_FLIGHT(메타데이터 확장)

선행조건

이전 연습문제를 완료했습니다. 데이터베이스 테이블 Z##FLIGHT (## = 그룹 번호)를 생성하고 OData UI 서비스를 위한 개발 오브젝트를 생성했습니다.

태스크 1: 값 도움말 분석

오브젝트 페이지의 통화 필드에 대한 값 도움말이 제공되는지 확인합니다. 이 값 도움말이 어디에서 어떻게 정의되는지 살펴봅니다.

단계

  1. OData UI 서비스의 미리보기를 시작합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  2. 항공편의 오브젝트 페이지 를 편집 모드로 엽니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  3. 통화 필드에 대한 값 도움말이 있는지 확인합니다.

    1. 항공편 가격에 대해 표시되는 통화 필드의 값 도움말을 엽니다.

  4. 개발 환경으로 돌아가서 값 도움말의 정의를 살펴봅니다.

태스크 2: 동작 조정

표준 작업 생성삭제를 제외하고 PlaneTypeID 필드를 읽기 전용으로 설정합니다.

노트

이러한 변경사항은 OData UI 서비스에만 적용되어야 합니다. 비즈니스 오브젝트 자체에서 항공편 생성 및 삭제와 항공기 유형 변경을 계속 지원해야 합니다.

단계

  1. 서비스의 동작 프로젝션에서 표준 작업 생성삭제를 비활성화합니다.

    1. 동작 프로젝션 ZC_##FLIGHT (## = 그룹 번호)를 엽니다.

    2. 명령문 use create;use delete; 앞에 주석 마커를 추가합니다.

      주석 마커를 추가하려면 평소와 같이 진행합니다. 주석을 작성할 코드 행을 선택하고 Ctrl + < 를 누릅니다.

      코드가 다음과 같아야 합니다.

      Code Snippet
      123
      // use create; use update; // use delete;

  2. 비즈니스 오브젝트의 동작 프로젝션에서PlaneTypeID 필드를 읽기 전용으로 설정합니다.

    1. 동작 프로젝션에 다음 코드를 추가합니다.

      Code Snippet
      1
      field ( readonly ) PlaneTypeID;

      노트

      명령문의 정확한 위치는 중요하지 않습니다. ... 문을 사용하기 전에 배치하는 것이 좋습니다.
  3. 동작 프로젝션을 활성화합니다.

    1. 동작 프로젝션을 활성화하려면 Ctrl + F3 을 누릅니다.

태스크 3: UI 메타데이터 조정

UI에서 관리 필드를 숨깁니다. CarrierIDConnectionID 만 리포트 리스트 페이지에 선택 필드로 표시되어야 합니다. PlaneTypeIDPrice 앞에 표시되도록 오브젝트 페이지 의 필드 순서를 변경합니다.

단계

  1. 프로젝션 뷰 ZC_##Flight의 메타데이터 확장을 편집합니다. LocalCreatedBy, LocalCreatedAt, LocalLastChangedBy, LocalLastChangedAt, LastChangedAt 필드의 UI 주석을 모두 제거하고 @UI.hidden: true 로 대체합니다.

    1. 메타데이터 확장 ZC_##FLIGHT (## = 그룹 번호)를 엽니다.

    2. 코드를 다음과 같이 조정합니다.

      Code Snippet
      1234567891011121314
      @UI.hidden: true LocalCreatedBy; @UI.hidden: true LocalCreatedAt; @UI.hidden: true LocalLastChangedBy; @UI.hidden: true LocalLastChangedAt; @UI.hidden: true LastChangedAt;
  2. CarrierIDConnectionID 요소를 제외한 모든 요소에 대해 @UI.selectionField 주석을 제거합니다.

    1. 코드를 다음과 같이 조정합니다.

      Code Snippet
      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;
  3. 오브젝트 페이지에서 PlaneTypeID 필드의 위치를 변경합니다. FlightDate와Price 사이에 배치합니다.

    힌트

    오브젝트 페이지에서의 위치는 주석 @UI.identification 으로 지정됩니다.
    1. PlaneTypeID 요소에서 주석 @UI.identification: [ { position: } ] 의 값을 변경합니다. FlightDate 요소와 Price 요소 값 사이에 있는 값을 선택합니다.

    2. 코드를 다음과 같이 조정합니다.

      Code Snippet
      1234567
      @UI.identification: [ { position: 35 } ] @UI.lineItem: [ { position: 50 } ] PlaneTypeID;
  4. 메타데이터 확장을 활성화합니다.

    1. Ctrl + F3 을 눌러 메타데이터 확장을 활성화합니다.

태스크 4: 결과 확인

OData UI 서비스의 미리보기를 재시작하고 사용자 인터페이스의 변경사항을 확인합니다.

단계

  1. OData UI 서비스의 미리보기를 재시작합니다.

    1. 미리보기가 포함된 브라우저 윈도우 또는 브라우저 탭을 닫습니다.

    2. ZUI_##FLIGHT_O4 서비스 바인딩을 엽니다. 오른쪽의 엔티티 세트 및 연관 관계 리스트에서 먼저 항공편 엔트리를 선택한 다음 미리보기.... 를 선택합니다.

  2. 리포트 리스트 페이지에서 생성삭제 버튼이 사라졌는지 확인합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  3. 보고서 목록 페이지에 더 이상 관리 필드가 표시되지 않는지 확인합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  4. 편집 상태 필드 외에 리포트 리스트 페이지 상단에 두 개의 선택 필드만 표시되는지 확인합니다. 해당 기능을 테스트합니다.

    힌트

    선택 필드에서는 여러 값과 범위를 입력할 수 있습니다.
    1. 선택 필드 항공사 ID(예: LH)에 값을 입력하고 실행 을 선택합니다.

    2. 다른 값과 함께 반복합니다.

  5. 모든 데이터 세트에 대해 오브젝트 페이지로 이동합니다. 삭제 버튼이 사라졌는지 확인합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  6. 오브젝트 페이지에 관리 필드가 더 이상 표시되지 않는지 확인합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  7. 항공기 유형 필드가 항공편 일자 필드 뒤와 항공편 가격 필드 앞에 표시되는지 확인합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.

  8. 편집 모드로 전환하고 항공기 유형 필드의 값을 변경할 수 없는지 확인합니다.

    1. 이전 연습문제에서 완료한 대로 진행합니다.