Fiori Elements 플로어플랜 그만 헷갈려 — 4종 비교 #shorts #SAP #Fiori
📖 개요와 이 글의 목표 SAPUI5로 List Report 화면을 freestyle로 직접 그리다 보면 필터바, 테이블, 변형 관리(Variant Management), 초안(Draft) 처리까지 반복 구현하게 됩니다. Fiori Elements는 이 반복을 어노테이션 기반 템플릿으
📖 개요와 이 글의 목표 SAPUI5로 List Report 화면을 freestyle로 직접 그리다 보면 필터바, 테이블, 변형 관리(Variant Management), 초안(Draft) 처리까지 반복 구현하게 됩니다. Fiori Elements는 이 반복을 어노테이션 기반 템플릿으
개요 — jest만으로는 왜 CAP 테스트가 실패하는가 SAP CAP(Cloud Application Programming Model) 프로젝트에서 jest를 설치하고 서비스 핸들러를 테스트하려다 Cannot read properties of undefined , No service d
이 글이 답하는 질문 CAP Node.js 서비스에서 수백 MB짜리 PDF·이미지·CSV를 응답할 때 Buffer로 통째로 읽어 메모리가 터진 경험이 있다면, 이 글이 해결책입니다. ReadableStream 기반 스트리밍 응답으로 메모리 사용량을 일정하게 유지하는 방법을 다룹니다. C
📖 이 글에서 다루는 내용과 목표 UI5 앱에서 버튼 라벨과 메시지를 뷰에 하드코딩하면, 영어 사용자에게도 한국어 화면이 그대로 노출되고 문구 하나를 바꿀 때마다 뷰 파일을 전부 뒤져야 합니다. 이 글은 SAPUI5의 i18n(ResourceModel) 모델과 .properties 파
📖 이 글에서 다루는 내용과 목표 온프레미스 Fiori Launchpad를 시스템마다 따로 관리하다 보면 카탈로그·역할·테마가 제각각 흩어지고, S/4HANA·SuccessFactors·커스텀 UI5 앱을 한 화면에 모으는 일이 점점 어려워집니다. SAP Build Work Zone,
Integration Suite 운영의 숨겨진 위험 SAP BTP Integration Suite(Cloud Integration 캐퍼빌리티)로 iFlow를 배포하고 나면 "연결됐으니 끝"이라고 생각하기 쉽습니다. 하지만 실제 운영 환경에서는 수신 시스템의 일시적 다운, 인증서 만료,
SOD란 무엇인가 — 직무 분리가 무너지면 벌어지는 일 SOD(Segregation of Duties, 직무 분리)는 한 사람이 하나의 비즈니스 프로세스를 처음부터 끝까지 혼자 처리하지 못하도록 권한을 나누는 내부통제 원칙입니다. 예를 들어 공급업체 마스터를 생성하는 사람 이 대금 지급
📖 개요: 인증 없는 CAP 서비스가 위험한 이유 CAP(Cloud Application Programming Model) 서비스는 어노테이션 한 줄 없이도 배포가 됩니다. 문제는 바로 그 지점입니다. @requires 가 없는 서비스는 BTP에 올라간 순간부터 OData 엔드포인트
📖 개요: MTX 없이 멀티테넌트를 만들면 벌어지는 일 SaaS 제품을 CAP(Cloud Application Programming Model)으로 만들 때 가장 먼저 부딪히는 벽이 멀티테넌시입니다. "테이블에 tenant_id 컬럼 하나 추가하면 되지 않나?"라는 접근은 초기에 빠르
📖 개요 및 이 글에서 얻어갈 것 SAP CAP(Cloud Application Programming Model)으로 백엔드를 만들고 나서, UI를 위해 SAPUI5 화면을 처음부터 코딩하고 있다면 이미 먼 길을 돌아가고 있는 것입니다. CAP은 CDS 모델에 annotation 몇
개요 — 이 글에서 다루는 것 UI5에서 OData V4 모델을 쓰면서도 생성·수정·삭제(CUD)를 여전히 fetch 나 수동 AJAX 호출로 처리하는 코드를 실무에서 자주 봅니다. OData V4 모델( sap.ui.model.odata.v4.ODataModel )은 V2와 설계 철학
📖 개요 — 이 글에서 얻을 수 있는 것 SAP CAP(Cloud Application Programming Model) for Node.js에서 커스텀 로직은 before / on / after 세 단계의 이벤트 핸들러로 구현됩니다. 세 단계는 이름만 다른 게 아니라 실행 시점, r
개요 및 학습 체크리스트 CAP(Cloud Application Programming Model) 프로젝트를 로컬 SQLite에서 개발하다가 BTP의 HANA Cloud로 처음 배포할 때 가장 흔히 겪는 실패가 "연결은 성공했는데 테이블이 없다" 또는 "Database user is m
개요 및 이 글에서 다룰 것 SAP UI5 애플리케이션에서 화면에 데이터를 뿌릴 때, 백엔드에서 내려온 원본 값을 그대로 노출하면 사용자 경험이 어색해집니다. 예를 들어 20260714 라는 문자열, 1500000.00 이라는 숫자, P 라는 코드 값은 각각 2026-07-14 , 1,
개요 및 이 글에서 얻어갈 것 Fiori 앱을 오픈하는 순간 사용자 눈에 처음 보이는 것은 로딩 스피너입니다. 초기 렌더링이 3초를 넘어가면 이탈률이 급격히 상승한다는 UX 통계가 있는데, Fiori/UI5 앱의 경우 라이브러리 파일이 워낙 방대하다 보니 최적화 전략 없이는 첫 화면(T
개요 및 이 글에서 다루는 것 SAP Cloud Application Programming Model(CAP)로 서비스를 만들다 보면 표준 CRUD로는 표현이 어려운 비즈니스 오퍼레이션이 반드시 등장합니다. 예를 들어 구매 요청 승인 , 재고 가용성 조회 , 주문 취소 같은 동작은 단순
이 글에서 다룰 것 UI5에서 다량의 비즈니스 데이터를 화면에 뿌릴 때 가장 먼저 부딪히는 고민은 "어떤 컨트롤을 써야 하지?"입니다. sap.m.Table , sap.m.List , sap.m.Tree 는 겉보기에는 비슷하지만, 데이터 구조와 사용자 시나리오에 따라 명확히 다른 선택을
개요와 이 글에서 얻게 될 것 CAP(SAP Cloud Application Programming Model) 프로젝트를 로컬에서 cds watch 로 개발하다가 BTP HANA Cloud로 전환하는 순간 대다수 개발자가 "connection refused" 혹은 "no such tab
개요 및 이 글에서 얻어갈 것 SAPUI5에서 Dialog를 컨트롤러 내부에서 new sap.m.Dialog(...) 로 즉석 생성하는 코드를 흔히 볼 수 있습니다. 프로토타입 단계에서는 편리하지만 화면 수가 늘어나면 같은 다이얼로그 코드가 여러 파일에 흩어지고, 스타일 변경 한 번에
이 예제에서 다루는 내용과 도달 지점 CAP(Cloud Application Programming Model) 기반 Node.js 프로젝트를 만들다 보면 대부분 cds watch 로 로컬 인메모리 SQLite에서만 개발을 진행합니다. 그러다 BTP(Business Technology P