QUnit async 테스트 그만 헤매세요 — done() 패턴 #shorts #SAP #UI5
UI5 QUnit 비동기 테스트 — done() callback 패턴
UI5 QUnit 비동기 테스트 — done() callback 패턴
UI5 모듈 API 설계 — public vs private 분리 패턴
1. 개요 및 핵심 포인트 SAPUI5 / OpenUI5 애플리케이션의 부트스트랩 단계는 사용자가 화면을 보기까지 걸리는 첫 번째 병목입니다. 동기(synchronous) manifest 로드 방식은 코드가 단순하지만 브라우저 메인 스레드를 차단하고, 점차 deprecated 처리되어
개요 SAPUI5/OpenUI5 애플리케이션의 규모가 커지면 manifest.json 의 routing 섹션도 빠르게 비대해집니다. 특히 모듈별로 /products/list , /products/detail/{id} , /products/edit/{id} 처럼 동일한 URL 접두어를 공
개요 및 달성 목표 SAPUI5에서 Subroutes는 하나의 URL 패턴이 여러 개의 View를 동시에 활성화시키는 중첩 라우팅 메커니즘입니다. 주문 목록과 상세 화면을 한 화면에 나란히 보여주는 Master-Detail 패턴, 또는 좌측 카테고리 트리와 우측 콘텐츠를 동시에 유지하는
개요 및 다룰 내용 SAP UI5 SPA(Single Page Application)에서 URL 하나가 곧 화면의 상태이자 진입점이 됩니다. 주문 상세, 상품 조회, 고객 카드 등 수십~수백 종의 화면을 정적으로 라우팅 테이블에 나열하는 것은 비현실적이기 때문에, sap.m.routin
왜 Hash Router가 SPA의 심장인가 SAPUI5 애플리케이션은 단일 페이지 애플리케이션(SPA)이다. 브라우저는 한 번 index.html을 받은 뒤 더 이상 서버에 페이지를 요청하지 않는다. 그렇다면 "목록 화면에서 상세 화면으로 이동"이라는 행위는 도대체 어떻게 일어나는 것
개요 및 운영 가시성 확보 체크포인트 SAP Cloud ALM은 SAP BTP 및 RISE with SAP 환경에서 운영 단계의 가시성을 한 곳으로 모으는 클라우드 네이티브 관리 도구입니다. 온프레미스 시대의 Solution Manager가 담당하던 모니터링·이벤트 관리·작업 추적을 재
왜 UploadCollection이 필요한가 SAP UI5 기반 비즈니스 애플리케이션에서 파일 업로드는 단순한 첨부 기능을 넘어, 송장 스캔본, 계약서 PDF, 제품 이미지, 품질 검사 사진 등 핵심 트랜잭션의 일부로 다뤄지는 경우가 많습니다. sap.m.upload.UploadColl
들어가며 — 왜 CDS 성능 힌트가 중요한가 HANA 기반 ABAP 개발에서 CDS 뷰는 단순한 SELECT 래퍼가 아닙니다. ABAP RAP, Fiori Elements, OData 서비스의 모든 데이터 흐름이 CDS를 통과하기 때문에, 뷰 한 개의 실행 계획이 어긋나면 화면 로딩이
왜 Embedded Steampunk가 등장했는가 S/4HANA Cloud Private Edition과 On-Premise 시스템에서 클린코어(Clean Core) 원칙을 강제하기 위해 도입된 개발 모델이 바로 Embedded Steampunk 입니다. 기존의 Classic ABAP은
이 글에서 다룰 것 sap.m.MultiInput 은 사용자가 여러 값을 토큰(Token) 형태로 입력하고 시각적으로 관리할 수 있는 컨트롤입니다. 검색 필터, 태그 입력, 수신자 목록처럼 "값을 하나씩 추가/제거하면서 전체 목록을 유지"해야 하는 UI에서 표준처럼 사용됩니다. 본문에서
1. 개요 및 이 글의 목표 ABAP CDS(Core Data Services)는 데이터 모델링 계층을 SAP HANA 데이터베이스에 가깝게 끌어올린 핵심 기술입니다. 그런데 데이터 모델이 강력해질수록 "누가 어떤 행(row)을 볼 수 있는가"라는 질문이 더 중요해집니다. ABAP CD
1. 개요 및 이 글에서 얻어갈 것 SAPUI5로 화면 좌우 슬라이드 전환이 필요한 UI를 만들 때, 많은 개발자들이 처음에는 setTimeout 이나 CSS transition을 직접 조합해서 애니메이션을 구현하려 시도합니다. 하지만 SAPUI5에는 이런 슬라이드 패턴을 위해 설계된
1. 개요 및 이 글에서 얻어갈 것 ABAP CDS(Core Data Services)를 처음 마주하면 보통 DEFINE VIEW 한 줄로 시작하지만, 실제 S/4HANA 표준 코드를 들여다보면 Virtual Data Model (이하 VDM)이라 부르는 거대한 뷰 계층 구조가 존재합니
1. 개요 및 이 글에서 얻어갈 것 SAPUI5 애플리케이션을 만들다 보면 화면을 좌/우 또는 상/하로 나누고, 사용자가 경계선을 드래그해서 영역 크기를 조절할 수 있게 만들어야 하는 요구사항을 자주 만나게 됩니다. 마스터-디테일 패턴, 코드 에디터와 미리보기, 트리 네비게이션과 콘텐츠
1. 개요 및 이 글에서 얻어갈 것 SAPUI5에서 대시보드나 카드 기반 화면을 만들 때 가장 자주 마주치는 고민이 있습니다. HBox 와 VBox 로 끝없이 중첩시키다 보면 반응형이 깨지고, Grid ( sap.ui.layout.Grid )는 12-컬럼 float 기반이라 카드 크기를
개요와 이 글에서 얻어갈 것 SAP 표준 CDS 뷰는 SAP가 소유한 자산이라 직접 수정하면 업그레이드 시 충돌이 발생합니다. 그렇다고 같은 데이터에 컬럼 한두 개를 더 붙이려고 새 뷰를 통째로 복제하면 유지보수가 악몽이 됩니다. 이 글에서는 원본을 건드리지 않고 필드와 행을 확장하는
개요 및 이 글에서 다룰 내용 SAPUI5의 sap.m.IconTabBar 는 탭 UI와 데이터 필터링을 하나의 컨트롤로 통합한 컴포지트 컴포넌트입니다. 주문 관리, 티켓 처리, 인보이스 상태 분류 등 상태별 그룹화가 빈번한 업무 화면에서 가장 자주 선택되는 패턴입니다. 이 글에서는 주
개요 및 이 글에서 다루는 것 ABAP CDS 뷰에서 검색 기능을 선언적으로 노출하려면 @Search 어노테이션 패밀리를 활용해야 합니다. 단순히 OData 필터로 동등 비교를 거는 것과 달리, @Search 는 Fiori Elements의 글로벌 검색창, SADL(서비스 어댑테이션 정