체인지셋 하나 실패하면 전부 롤백되는 이유는? #shorts #SAP #RAP
이 글에서 다루는 내용 RAP(ABAP RESTful Application Programming Model)으로 만든 서비스에 여러 건의 변경을 한 번에 보냈는데, 딱 한 건의 검증 오류 때문에 나머지 아홉 건까지 전부 사라지는 경험을 해본 적이 있을 것입니다. 이것은 버그가 아니라 O
이 글에서 다루는 내용 RAP(ABAP RESTful Application Programming Model)으로 만든 서비스에 여러 건의 변경을 한 번에 보냈는데, 딱 한 건의 검증 오류 때문에 나머지 아홉 건까지 전부 사라지는 경험을 해본 적이 있을 것입니다. 이것은 버그가 아니라 O
개요와 목표 체크리스트 SAP Joule은 SAP 애플리케이션 전반에 내장되는 생성형 AI 코파일럿입니다. 이 글은 기존 레거시 챗봇(intent/webhook 방식)과 비교하면서, Joule Studio에서 커스텀 액션(Custom Action) 을 등록하고 SAP BTP CAP 서비
📖 개요: Draft 저장 로직, 왜 자꾸 오해가 생길까 SAP CAP(Cloud Application Programming Model) Node.js 런타임에서 Fiori Elements 앱을 만들 때 가장 자주 마주치는 기능이 바로 Draft(초안) 입니다. 어노테이션 한 줄이면
이 글이 답하는 질문 목록 화면이 건수가 늘수록 느려지는데, 쿼리는 한 번뿐인 것 같다면 어디를 봐야 하나? 필요한 필드만 고르는 것이 실제로 얼마나 차이를 만드는가? 연관 데이터를 가져올 때 확장과 개별 조회 중 무엇을 골라야 하나? 대량 저장에서 건별 처리와 묶음 처리는 어디서 갈리
📖 개요: 이 글에서 다루는 것 UI5 앱을 처음 열었을 때 흰 화면이 3~5초씩 이어진다면, 대부분은 서버 성능이 아니라 부트스트랩과 리소스 로딩 방식 의 문제입니다. 이 실전 예제에서는 SAPUI5/OpenUI5(1.120 LTS 기준) 앱의 초기 로딩 속도를 개선하는 7가지 방법
왜 Joule 커스텀 액션인가 SAP Joule은 단순한 사내 챗봇이 아니라, SAP 애플리케이션 전반에 걸쳐 동작하는 코파일럿 계층입니다. 이 글은 Joule Studio에서 커스텀 액션(스킬)을 정의하고 실제 SAP 백엔드 — RAP 액션과 CAP 서비스 — 를 호출하도록 연동하는
📖 개요 및 핵심 체크리스트 CAP Java 프로젝트가 커지면 어느 순간 이런 질문이 반복됩니다. "이 필드는 @readonly 로 막아야 하나, 아니면 핸들러에서 검사해야 하나?" "권한은 @requires 인가 @restrict 인가?" 어노테이션은 종류가 많은 데다 이름이 비슷해
📖 개요: 이 글에서 다루는 것 CAP Java 프로젝트에서 CDS 어노테이션은 단순한 메타데이터가 아니라, 런타임 동작(검증·권한·CRUD 제한)과 UI 렌더링을 실제로 바꾸는 선언적 계약입니다. 문제는 "어떤 어노테이션을 CDS에 걸고, 어떤 로직을 Java 핸들러로 내려야 하는가
개요: 왜 CDS 모델 확장을 알아야 하는가 CAP(Cloud Application Programming Model) 프로젝트가 커지면 하나의 CDS 모델을 여러 팀, 여러 앱이 공유하게 됩니다. 이때 원본 모델 파일을 직접 고치지 않고 필드·연관·어노테이션을 덧붙이는 기법이 바로 CD
📖 이 글에서 다루는 내용 전통적인 Java 엔터프라이즈 개발에서는 이벤트 리스너 하나를 붙이려면 XML 설정 파일에 bean을 선언하고 wiring을 관리해야 했습니다. CAP Java(SAP Cloud Application Programming Model)는 이 과정을 뒤집었습니다
1. 이 글에서 다루는 내용과 목표 UI5 커스텀 컨트롤을 만들 때 가장 많은 사고가 나는 곳이 바로 렌더러(renderer)입니다. 화면에는 그럭저럭 나오는데 리렌더링 시 깨지거나, 스크린리더가 읽지 못하거나, 목록에 100개만 놓아도 느려지는 문제 대부분이 렌더러 작성 습관에서 시작
📖 개요와 이 글에서 얻어갈 것 SAP BTP(Business Technology Platform)에서 애플리케이션을 배포하려는 순간 누구나 마주치는 첫 갈림길이 있습니다. Cloud Foundry 런타임 이냐, Kyma 런타임 이냐. 둘 다 "앱을 올릴 수 있는 곳"이지만 설계 철학
개요: 이 글에서 다루는 것 SAP CAP(Cloud Application Programming Model) Java 애플리케이션에서 @requires 어노테이션은 인증(Authentication)과 역할 기반 접근 제어를 선언적으로 처리하는 핵심 도구입니다. 이 글에서는 물류 창고 운
왜 CAP Node.js 인증 미들웨어를 다시 봐야 하는가 CAP(Cloud Application Programming Model) Node.js 서비스는 기본적으로 @(requires:'authenticated-user') 같은 CDS 어노테이션만으로도 인증이 걸린 것처럼 보인다. 문
📖 개요: 바인딩 없이 화면을 갱신해야 하는 순간들 UI5 개발을 하다 보면 "모든 화면 갱신은 데이터 바인딩으로"라는 원칙을 배우게 됩니다. 하지만 실무에서는 바인딩이 오히려 과한 경우가 있습니다. 일회성 상태 메시지, 초당 수십 번 갱신되는 실시간 카운터, 모델에 담을 필요가 없는
개요: 이 글에서 다루는 내용 SAP BTP에서 CAP(Cloud Application Programming Model) Node.js 프로젝트를 시작할 때 가장 먼저 마주치는 고민은 "폴더를 어떻게 나누고, 어떤 파일을 어디에 두어야 하는가"입니다. CAP는 관례 기반(conventi
📖 개요 — 이 글에서 다루는 것 CAP Java 프로젝트에서 트랜잭션은 대부분 프레임워크가 알아서 열고 닫아 주기 때문에, 격리 수준(Isolation Level)을 의식하지 않고 개발하는 경우가 많습니다. 그러다 동시 요청이 몰리는 재고 차감, 채번, 잔액 갱신 로직에서 갱신 유실
개요와 목표 체크리스트 이 글은 SAP의 생성형 AI 어시스턴트 Joule 에 나만의 업무 기능, 즉 커스텀 스킬(Custom Skill) 을 처음 붙여보는 분을 위한 단계별 실전 예제입니다. 가상의 물류팀 시나리오인 "배송 상태 확인" 스킬을 만들며 생성부터 API 연결, 배포·운영까
개요: 왜 트랜잭션 롤백을 정확히 알아야 하는가 CAP(SAP Cloud Application Programming Model) Node.js 런타임은 요청 단위로 트랜잭션을 자동 관리해 줍니다. 덕분에 대부분의 경우 개발자가 커밋과 롤백을 직접 호출할 일이 없지만, 바로 그 편리함 때
개요 및 이 글에서 다루는 것 SAP CAP(Cloud Application Programming Model) Node.js 런타임에서 Custom Handler를 작성하다 보면, 비즈니스 규칙 위반·외부 시스템 장애·데이터 정합성 문제를 어떻게 클라이언트에 전달할지 고민하게 됩니다.