XSUAA OAuth2 설정 실수 3가지 #shorts #SAP #BTP
SAP BTP에서 XSUAA(User Account and Authentication)는 OAuth2 기반 인증의 핵심이다. 그런데 설정 하나만 틀려도 앱 전체 인증이 멈춘다. 실무에서 반복되는 실수 3가지를 정리했다. 실수 1 — xs-security.json scope를 role t
SAP BTP에서 XSUAA(User Account and Authentication)는 OAuth2 기반 인증의 핵심이다. 그런데 설정 하나만 틀려도 앱 전체 인증이 멈춘다. 실무에서 반복되는 실수 3가지를 정리했다. 실수 1 — xs-security.json scope를 role t
External vs Internal Numbering RAP에서 엔티티를 생성할 때 키(Key) 값을 누가 결정하느냐에 따라 두 방식으로 나뉩니다. External Numbering 은 클라이언트(UI/API 호출자)가 키를 직접 지정하고, Internal Numbering 은 서버가
Expression Binding이란? UI5의 Expression Binding은 XML View 안에서 JavaScript 표현식을 직접 실행할 수 있는 기능입니다. {= ... } 문법을 사용하며, 단순한 조건 처리나 문자열 조합을 위해 Controller에 formatter 함수
ABAP 오브젝트를 GitHub으로 관리하는 abapGit 설치부터 팀 협업까지.
이 글이 답하는 질문 HANA Plan Visualizer가 Explain Plan과 뭐가 다른가? 쿼리가 느릴 때 어느 Operator부터 봐야 하나? Estimated vs Actual Row Count 차이가 크면 어떻게 하나? 직접 해보기 1. Plan Visualizer 열기
이 글이 답하는 질문 DB 컬럼을 추가하지 않고 계산된 값을 API 응답에 포함하려면? CDS virtual element와 projection 계산식, 어느 걸 써야 하나? 직접 해보기 1. CDS에서 virtual element 선언 entity에 virtual 키워드를 붙이면 DB
이 글이 답하는 질문 Fiori List Report에서 여러 행을 한 번에 수정하려면? Mass Edit Dialog를 열 때 입력 필드가 비어 있는 이유는? OData $batch 요청을 올바르게 묶는 방법은? 직접 해보기 1. Table MultiSelect 활성화 <!--
이 글이 답하는 질문 Fiori 폼에서 필수 입력 별표(*)는 어떻게 표시하나? Label required 속성만으로 충분한가, 아니면 Input도 건드려야 하나? 저장 버튼 클릭 시 빈 필수 필드를 어떻게 잡나? 직접 해보기 1. XML View — required 한 줄 추가 <
이 글이 답하는 질문 CDS View에 어노테이션만 붙이면 Fiori UI가 자동으로 생기는가? @UI.lineItem, @UI.selectionField가 하는 일은? OData 서비스 없이 Fiori 앱을 연결하려면? CDS Annotation이란 CDS View에 @ 로 시작하는
Fiori Elements vs Freestyle SAP UI5 개발에서 가장 먼저 결정해야 할 것은 Fiori Elements를 쓸지, Freestyle UI5를 쓸지입니다. 선택에 따라 개발 방식이 완전히 달라집니다. Fiori Elements OData 어노테이션 기반으로 UI를
이 글이 답하는 질문 UI5에서 V2 모델과 V4 모델, 코드가 얼마나 다른가? V2 앱을 V4로 바꿀 때 뭐가 달라지나? 언제 V4로 넘어가야 하나? 핵심 차이 한눈에 V2 V4 모델 클래스 odata.v2.ODataModel odata.v4.ODataModel CRUD model.c
어노테이션 기반 Fiori UI란? SAP Fiori의 Annotation Driven UI 는 별도 View XML 없이 OData 메타데이터 어노테이션 한 줄로 리스트·폼·필터를 자동 렌더링합니다. Fiori Elements가 메타데이터를 해석해 UI를 생성하므로 반복 코딩이 사라집
Fragment란 무엇인가 UI5에서 Fragment 는 자체 Controller를 갖지 않는 순수 UI 조각입니다. View와 동일한 XML 문법을 사용하지만, 독립적인 컨트롤러가 없기 때문에 호출하는 View의 Controller에 이벤트 핸들러를 위임합니다. Dialog, Popo
이 글이 답하는 질문 XML Fragment로 재사용 가능한 Dialog를 어떻게 만드나요? Dialog를 매번 새로 생성하면 안 되는 이유는? 직접 해보기 1. ConfirmDialog.fragment.xml <core:FragmentDefinition xmlns="sap.m"
UI5 Routing이 왜 중요한가 SAP UI5에서 화면 전환은 Router와 navTo로 처리합니다. 단순히 화면을 이동할 때 Push와 Replace 중 어떤 방식을 쓰느냐에 따라 뒤로가기 동작이 완전히 달라집니다. manifest.json Routing 설정 먼저 manifest
Formatter란? UI5 Formatter는 모델 데이터를 화면에 표시하기 전에 변환하는 함수입니다. 날짜 포맷 변경, 상태 코드 → 라벨 변환, 조건부 색상 적용 등 다양한 뷰 로직을 처리합니다. 기본 타입의 한계 sap.ui.model.type.Date 같은 빌트인 타입은 단순
Open SQL — 이식성의 대가 ABAP Open SQL은 DB 종류에 무관하게 동작한다. SAP NetWeaver가 내부적으로 DB 방언으로 변환해 Oracle, MSSQL, HANA 모두 같은 코드가 돌아간다. 대신 이 추상화 레이어가 성능 최적화 여지를 줄인다. " Open SQ
Virtual Element란 CAP에서 Virtual Element는 DB 테이블에 실제 컬럼이 없지만 OData 응답에 노출되는 가상 필드입니다. 집계, 변환, 외부 데이터 조합 같은 파생 값을 스키마에 추가할 때 마이그레이션 없이 즉시 적용할 수 있는 점이 강점입니다. CDS 모델
Value Help가 뭔가요? SAP Fiori에서 입력 필드 옆 아이콘을 클릭하면 팝업 검색창이 뜨는 기능이 Value Help(F4 Help)입니다. 사용자가 코드나 ID를 외울 필요 없이 검색해서 선택할 수 있어, UX를 크게 개선합니다. UI5에서 ValueHelpDialog 연
SAPUI5 i18n 다국어 지원 완전 정복 — Resource Bundle 설정부터 XML View 바인딩, Controller 동적 텍스트 처리까지