cds.persistence.skip 언제 써야 할까? #shorts #SAP #CAPforNode
이 글이 답하는 질문 CAP(Cloud Application Programming Model) 프로젝트를 운영하다 보면, DB 테이블로 만들면 안 되는 엔티티가 반드시 생깁니다. 외부 시스템에서 가져오는 데이터, 커스텀 핸들러로만 서빙하는 가상 엔티티가 대표적입니다. 이 글은 @cds.
이 글이 답하는 질문 CAP(Cloud Application Programming Model) 프로젝트를 운영하다 보면, DB 테이블로 만들면 안 되는 엔티티가 반드시 생깁니다. 외부 시스템에서 가져오는 데이터, 커스텀 핸들러로만 서빙하는 가상 엔티티가 대표적입니다. 이 글은 @cds.
도입 — 정산 배치가 절반만 커밋되는 사고, 어디서 시작됐을까 CAP Java로 서비스를 만들다 보면 초반에는 트랜잭션을 의식할 일이 거의 없습니다. 프레임워크가 요청 단위로 알아서 커밋과 롤백을 처리해 주기 때문입니다. 그런데 어느 순간 이런 요구사항이 들어옵니다. "정산 배치 1만
📖 개요: 프로젝트 첫 주에 결정한 것들이 1년을 좌우합니다 SAP BTP 프로젝트는 첫 2주 안에 내린 결정(리전, 서브계정 구조, 권한 모델)이 이후 운영 전체를 지배합니다. 문제는 이 결정들이 나중에 바꾸기 매우 어렵다는 점입니다. 예를 들어 서브계정의 리전은 생성 후 변경할 수
📖 개요: CAP Node.js 인증 3가지 방식, 무엇을 언제 써야 할까 SAP BTP 위에서 CAP(Cloud Application Programming Model) Node.js 서비스를 개발하다 보면, 로컬에서 잘 돌던 서비스가 배포 후 401 오류를 뿜는 순간을 반드시 만나게
📖 개요 — 이 글에서 다루는 것 기계 한 대를 1억 원에 샀는데 운반비 300만 원, 설치비 500만 원, 시운전비 200만 원이 따라붙었다면, 이 부대비용은 자산 취득가액에 얹어야 할까요, 아니면 당기비용으로 바로 털어야 할까요? 이 판단 하나가 향후 수년간의 감가상각비 흐름과 당
이 글이 답하는 질문 월말 결산 때마다 GR/IR(입고미청구) 계정에 잔액이 남아 있어서 "이거 왜 안 지워졌지?"를 반복하고 있다면, 이 글이 그 원인을 구조적으로 짚어드립니다. 입고(GR)와 송장(IR)이 짝을 이루지 못하는 순간 잔액이 생기는데, 그 패턴은 생각보다 몇 가지로 정리
개요: 왜 "그냥 HTTP로 쏘면 되지"가 실패로 끝나는가 가상의 유통사 '한빛리테일'이 물류센터 출하 정보를 SAP S/4HANA로 전송하는 프로젝트를 상상해 봅시다. 개발팀은 "IDoc도 결국 XML이니까 HTTP Adapter로 엔드포인트에 POST하면 끝"이라고 판단했고, 오픈

AI 업계 데일리 브리핑 — 2026년 8월 14일 오늘 AI 업계는 '모델 그 자체'보다 모델을 둘러싼 생태계와 인프라 전쟁 이 전면에 드러난 하루였습니다. Anthropic의 Claude는 커넥터 디렉토리를 축으로 외부 콘텐츠·데이터 기업들을 빠르게 흡수하고 있고, 딥시크는 가격 인
들어가며: 이 글에서 다루는 것 CAP(Cloud Application Programming Model) Node.js 런타임에서 에러 핸들링은 겉보기엔 단순합니다. req.error() 와 req.reject() 두 API만 알면 될 것 같지만, 실제 프로젝트에서는 "에러를 던졌는데
개요: 왜 Joule에게 같은 질문을 해도 결과가 다를까 SAP Joule은 S/4HANA Cloud, SuccessFactors, SAP Build 등 SAP 애플리케이션 전반에 탑재되는 AI 코파일럿입니다. 그런데 실무에서 Joule을 도입한 팀들이 공통적으로 겪는 문제가 있습니다.
이 글에서 다룰 것 BTP에서 마이크로서비스를 REST 호출 체인으로만 엮으면 한 서비스의 장애가 전체로 번집니다. SAP Event Mesh는 이 결합을 끊는 Pub/Sub 계층입니다. 이 글은 토픽(topic) 구조, 큐(queue) 설정, 구독(subscription) 패턴 세 축
📖 개요: 사용자가 온프레미스로 안 넘어갈 때 어디부터 봐야 하는가 SAP BTP 앱에서 온프레미스 S/4HANA를 호출할 때 Principal Propagation(주체 전파)을 켜면, 클라우드에서 로그인한 사용자의 신원이 백엔드까지 그대로 전달되어 백엔드 권한(PFCG)으로 데이터
왜 Destination 인증 방식 선택이 중요한가 SAP BTP에서 외부 시스템을 호출할 때 Destination Service는 "어디로, 어떤 자격으로" 연결할지를 정의합니다. 문제는 인증 타입을 무엇으로 고르느냐에 따라 백엔드 감사 로그에 남는 주체 가 완전히 달라진다는 점입니다
이 글에서 다루는 내용 CAP for Java 이벤트 핸들러를 작성하다 보면 "지금 들어온 요청이 어떤 엔티티를, 어떤 키로, 어떤 조건으로 조회하는가"를 알아야 하는 순간이 반드시 옵니다. 이때 cqn.toString() 결과를 문자열로 잘라 쓰는 코드는 당장은 동작해도 확장 시 반드
개요: 왜 모든 오류가 500으로 나가는가 CAP Java로 서비스를 개발하다 보면, 핸들러 안에서 발생한 예외가 아무 처리 없이 그대로 올라가 클라이언트에게 500 Internal Server Error 로 반환되는 상황을 자주 만납니다. 재고 부족처럼 명백한 "업무 오류"조차 500
이 글이 답하는 질문 FI 전표를 처음 입력할 때 가장 헷갈리는 두 가지가 전표유형(Document Type)과 전기키(Posting Key)입니다. 둘 다 "계정과 관련된 무언가를 통제한다"고 배우는데, 정확히 무엇을 누가 결정하는지 경계가 모호하게 느껴집니다. 이 글에서는 실무 구매
이 글에서 얻어갈 것 — 30초 요약의 전체 지도 Fiori Elements는 어노테이션 기반으로 화면을 자동 생성하는 프레임워크지만, 실무에서는 반드시 "표준에 없는 버튼 하나, 컬럼 하나"를 추가해야 하는 순간이 옵니다. 이 글은 그때 필요한 확장 포인트를 종류별로 빠르게 정리한 실
이 글이 답하는 질문 "Joule도 결국 ChatGPT 같은 챗봇 아닌가요?"라는 질문을 현장에서 정말 자주 받습니다. 결론부터 말하면, 겉모습(채팅 UI)만 비슷할 뿐 설계 목적과 아키텍처가 근본적으로 다릅니다. 이 글에서는 그 차이를 아키텍처 관점에서 뜯어봅니다. 다 읽고 나면 아래
📖 개요 — 이 글에서 다루는 것 SAP Fiori elements 기반 앱에서 사용자가 입력하다 만 데이터를 안전하게 임시 저장해 주는 Draft(초안) 패턴은, CAP Node.js에서는 어노테이션 한 줄( @odata.draft.enabled )로 켤 수 있습니다. 그런데 "한
📖 개요: 로그 없는 CAP 디버깅이 실패하는 이유 CAP(Node.js) 프로젝트에서 "핸들러가 왜 안 타지?", "이 요청이 DB에 어떤 SQL을 날렸지?"라는 질문에 console.log 를 여기저기 심어가며 답을 찾는 경우가 많습니다. 하지만 CAP 런타임은 이미 cds.log