View XML 없이 — 어노테이션 3가지 #shorts #SAP #Fiori
어노테이션 기반 Fiori UI란? SAP Fiori의 Annotation Driven UI 는 별도 View XML 없이 OData 메타데이터 어노테이션 한 줄로 리스트·폼·필터를 자동 렌더링합니다. Fiori Elements가 메타데이터를 해석해 UI를 생성하므로 반복 코딩이 사라집
어노테이션 기반 Fiori UI란? SAP Fiori의 Annotation Driven UI 는 별도 View XML 없이 OData 메타데이터 어노테이션 한 줄로 리스트·폼·필터를 자동 렌더링합니다. Fiori Elements가 메타데이터를 해석해 UI를 생성하므로 반복 코딩이 사라집
CAP Localized Data란 CAP for Node는 다국어 데이터를 손쉽게 처리하기 위해 localized 키워드와 @cds.localized 어노테이션을 제공합니다. 엔티티 필드에 localized 를 붙이면 CAP 런타임이 자동으로 보조 텍스트 테이블을 생성하고, OData
이 글이 답하는 질문 CAP에서 Bound Action과 Unbound Action은 어떻게 다른가? 언제 Bound를 쓰고 언제 Unbound를 써야 하나? CDS 선언과 Node.js 핸들러는 어떻게 작성하나? Bound vs Unbound — 결정적 차이 Bound Action 은
CAP Java에서 CdsService 를 직접 쓰면 문자열 쿼리 대신 타입 안전한 빌더 API로 데이터를 조회할 수 있습니다. OData 핸들러 밖에서도 CAP 엔티티를 쿼리해야 할 때 실제로 어떻게 쓰는지 코드로 확인해봅니다. 이 글이 답하는 질문 CdsService vs Entit
이 글이 답하는 질문 Released API와 Unreleased API는 어떻게 다른가? Unreleased API를 쓰면 업그레이드 시 실제로 무슨 일이 생기나? ABAP에서 Released 여부를 어떻게 확인하나? Released vs Unreleased — 결정적 차이 SAP는
TL;DR CAP for Node.js의 Draft Handling은 Fiori에서 사용자가 아직 확정하지 않은 임시 데이터를 관리하는 패턴입니다. CDS 어노테이션으로 활성화하고, SAVE/Activate 핸들러로 검증과 확정을 구현합니다. 이 글이 답하는 질문 CAP Draft Ha
TL;DR CAP for Node.js에서 before , on , after 핸들러는 실행 시점이 다릅니다. 검증은 before, 비즈니스 로직은 on, 후처리는 after에 넣는 것이 원칙입니다. 이 글이 답하는 질문 CAP Handler의 before/on/after는 언제 실행되
RAP Validation이 필요한 이유 SAP RAP(RESTful ABAP Programming)에서 Validation은 데이터 일관성을 보장하는 핵심 메커니즘입니다. 검증 로직 없이 저장하면 잘못된 데이터가 DB까지 그대로 들어가버립니다. 특히 날짜 범위, 필수값, 참조 무결성은
CAP Service란? CAP에서 Service는 OData 엔드포인트를 자동 생성하는 핵심 단위입니다. .cds 파일에 service 키워드 하나만 선언하면 CAP 런타임이 REST/OData API를 즉시 구성합니다. 기본 Service 정의 // srv/catalog-servic
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 연
CAP for Node.js 앱의 Approuter(xs-app.json) 라우트 설정 실수가 어떻게 인증을 통째로 우회시키는지 분석하고, 안전한 authenticationType·destination·csrfProtection 구성 패턴을 실전 코드로 정리합니다.
SAPUI5 i18n 다국어 지원 완전 정복 — Resource Bundle 설정부터 XML View 바인딩, Controller 동적 텍스트 처리까지
ABAP Cloud vs Standard — 뭐가 다른가? ABAP를 오래 써왔다면 한 번쯤 들었을 키워드: ABAP Cloud . 기존 Standard ABAP와 뭐가 다른지, 왜 갑자기 중요해진 건지 핵심만 정리했다. 핵심 차이: Released API만 허용 ABAP Standar
CAP에서 외부 서비스를 쓰는 방법 CAP(Cloud Application Programming Model) 애플리케이션에서 외부 REST API나 OData 서비스를 호출해야 할 때가 있습니다. 직접 HTTP 클라이언트를 설정하는 대신, CAP의 cds.connect.to() 를 사용
ABAP Unit Test에서 DB 의존 코드를 Mock Framework로 테스트하는 방법 — cl_osql_test_environment, cl_abap_testdouble 실전 가이드
왜 cds.connect.to인가? CAP 앱에서 외부 REST API나 S/4HANA 서비스를 직접 axios 로 호출하면 인증 토큰 관리, BTP Destination 연동, 에러 핸들링을 모두 직접 구현해야 합니다. cds.connect.to() 를 쓰면 이 모든 과정이 단 한 줄
수동 setItems, 지금 당장 그만 UI5에서 리스트에 아이템을 하나씩 추가하는 코드, 아직도 쓰고 있다면 Aggregation Binding으로 교체할 때입니다. 수동 방식은 모델과 뷰가 분리되지 않아 유지보수가 어렵고, 데이터 변경 시 화면 갱신을 직접 처리해야 합니다. Aggr
Two-way Binding이란? 유아이파이브의 Two-way Binding은 View와 Model이 서로 동기화되는 방식입니다. 사용자가 입력하면 Model이 업데이트되고, Model이 바뀌면 View가 자동으로 갱신됩니다. 편리하지만 잘못 쓰면 무한 루프에 빠집니다. 무한 루프 발생