XMLModel 30초 만에 — UI5 외부 XML 데이터 바인딩 #shorts #SAP #UI5
개요 및 이 글의 목표 SAP UI5 애플리케이션을 개발하다 보면 백엔드가 항상 JSON이나 OData를 내려주지는 않습니다. 레거시 ERP 인터페이스, 외부 카탈로그 시스템, RSS/Atom 피드, SOAP 응답, 또는 ABAP에서 직접 직렬화한 XML 응답을 그대로 화면에 묶어야 할
개요 및 이 글의 목표 SAP UI5 애플리케이션을 개발하다 보면 백엔드가 항상 JSON이나 OData를 내려주지는 않습니다. 레거시 ERP 인터페이스, 외부 카탈로그 시스템, RSS/Atom 피드, SOAP 응답, 또는 ABAP에서 직접 직렬화한 XML 응답을 그대로 화면에 묶어야 할
개요 및 학습 포인트 SAPUI5 애플리케이션을 만들다 보면 모든 데이터를 OData 서비스에 의존하기보다 화면 내부에서만 잠깐 쓰는 상태값(편집 모드 플래그, 필터 조건, 장바구니 임시 데이터 등)을 관리해야 할 때가 많습니다. 이때 sap.ui.model.json.JSONModel
개요 및 핵심 포인트 SAP Fiori/UI5 애플리케이션이 복잡해질수록 화면 하나에서 발생하는 OData 호출 수가 빠르게 늘어납니다. 주문 목록, 고객 정보, 배송 상태, 첨부 파일을 각각 별도의 HTTP 요청으로 보낸다면 네트워크 왕복 비용과 서버 세션 부담이 모두 누적됩니다. 이
1. Object Page 레이아웃과 섹션의 역할 SAP Fiori Elements의 Object Page는 단일 비즈니스 엔티티(예: 판매주문 한 건, 거래처 한 곳)의 상세 정보를 표시하기 위한 표준 플로어플랜입니다. List Report에서 행을 클릭했을 때 펼쳐지는 그 페이지를
List Report가 어노테이션을 해석하는 방식 SAP Fiori Elements의 List Report는 CDS(또는 OData) 메타데이터에 선언된 @UI 어노테이션을 런타임에 해석해 UI를 자동 렌더링합니다. 개발자가 XML View를 직접 작성하지 않아도 컬럼, 필터바, 헤더
작성 중...
왜 EventBus가 필요한가 대형 SAP Fiori 애플리케이션은 보통 여러 개의 Component로 쪼개져 있습니다. 주문 목록을 보여주는 컴포넌트, 주문 상세를 띄우는 컴포넌트, 사이드 알림 패널을 다루는 컴포넌트가 서로 다른 페이지·다른 라이프사이클을 가진 상태에서 "방금 사용자
이 글이 답하는 질문 UI5 ComboBox와 Select, 언제 어느 걸 써야 하나? 사용자가 새 값을 입력해야 한다면? 결정적 차이 1가지 ComboBox — 입력 가능 ComboBox는 드롭다운 목록에서 선택할 수도 있고, 리스트에 없는 값을 직접 타이핑해서 입력할 수 있습니다.
시니어 UI5 면접에서 자주 나오는 함정 UI5 시니어 포지션 면접에서는 단순 사용법이 아닌, 내부 동작 원리 를 묻는 질문이 핵심입니다. 합격자와 불합격자를 가르는 3가지 포인트를 정리했습니다. ① OData 바인딩 모드 — 언제 어떤 걸 쓰나요? 면접관이 "왜 Two-way 바인딩을
UI5 시니어 면접, 이 질문에서 막힌다 UI5 경력 3년 차도 막히는 시니어 면접 질문이 있습니다. 단순 API 암기가 아닌 설계 의도와 트레이드오프 를 묻는 질문들입니다. 실수 1: MVC와 MVVM 혼동 UI5는 MVC 기반이지만 데이터 바인딩 방식은 MVVM에 가깝습니다. "UI
왜 destroy()가 필요한가 SAPUI5는 자체 ManagedObject 레지스트리로 모든 컨트롤을 추적합니다. 컨트롤을 DOM에서 제거하거나 부모에서 detach해도 이 레지스트리 참조는 그대로 남습니다. 이벤트 핸들러, 모델 바인딩, 프래그먼트 캐시까지 메모리에 계속 쌓입니다.
OData V2 vs V4 — Service Binding 선택의 차이 ABAP RAP에서 Service Binding을 생성할 때 OData 버전을 선택해야 합니다. V2 는 오래된 Fiori 앱과 호환성이 높고, V4 는 최신 기능과 성능이 더 우수합니다. 언제 어느 버전을 선택해야
컴포넌트 간 통신, 왜 까다로울까요? UI5 앱이 커지면 부모→자식 모델 바인딩만으로는 부족합니다. 형제 뷰나 독립된 컨트롤러 간 데이터 전달 시 직접 참조를 남발하면 의존성 지옥에 빠집니다. EventBus는 이 문제를 Publish/Subscribe 패턴으로 해결합니다. 발행(Pub
Object Page란? Fiori 상세 화면의 표준 패턴입니다. 구조는 Header Area 와 Content Area 로 나뉘고, Content Area는 Section → SubSection → Facet 계층을 따릅니다. 이 계층을 잘못 이해하면 레이아웃이 무너지거나 내용이 통째
Fiori에서 ARIA가 없으면 벌어지는 일 SAP Fiori 앱에 ARIA 속성을 빠뜨리면 스크린 리더 사용자는 버튼이 존재하는지조차 알 수 없습니다. 단순한 권고 사항이 아닙니다. 유럽 EAA(European Accessibility Act) 2025, 미국 Section 508 등
이 글이 답하는 질문 여러 Component로 쪼개진 UI5 앱에서, 서로를 직접 참조하지 않고 데이터를 주고받으려면 어떻게 해야 하나? EventBus의 channelId와 eventId는 어떤 단위로 설계해야 충돌 없이 운영할 수 있나? subscribe를 걸어 둔 뒤 뷰가 dest
Expression Binding이란? UI5의 Expression Binding은 XML View 안에서 JavaScript 표현식을 직접 실행할 수 있는 기능입니다. {= ... } 문법을 사용하며, 단순한 조건 처리나 문자열 조합을 위해 Controller에 formatter 함수
UI5 개발 시 백엔드 API 없이도 개발 가능한 Mock Server 활용법. mockdata 폴더 구성, Component.js 초기화, 프로덕션 분리까지.
이 글이 답하는 질문 SAP 개발을 VSCode에서 시작하려면 뭘 설치해야 하나요? CAP, Fiori, ABAP 각각 어떤 확장이 필요한가요? Eclipse ADT 없이 SAP 개발이 가능한가요? 직접 해보기 1. CAP 개발 — CDS Language Support # VSCode
Fiori 필수 입력 표시란? 사용자가 반드시 입력해야 하는 폼 필드에 빨간 별표(*)를 표시하는 기능입니다. UI5에서는 Label 의 required 속성 하나로 즉시 적용할 수 있어 별도 CSS 작업이 필요 없습니다. Label에 required 적용 가장 기본적인 방법입니다. L