BTP Joule 활성화 전 놓치는 설정 3가지 #shorts #SAP #Joule
시작하며: Joule을 BTP에서 켜기까지 Joule은 SAP가 자사 클라우드 제품 전반에 탑재하고 있는 생성형 AI 어시스턴트입니다. S/4HANA Cloud, SuccessFactors 같은 애플리케이션 안에서 자연어로 질문하고 트랜잭션을 실행하는 경험을 제공하지만, 그 뒤에서 이
시작하며: Joule을 BTP에서 켜기까지 Joule은 SAP가 자사 클라우드 제품 전반에 탑재하고 있는 생성형 AI 어시스턴트입니다. S/4HANA Cloud, SuccessFactors 같은 애플리케이션 안에서 자연어로 질문하고 트랜잭션을 실행하는 경험을 제공하지만, 그 뒤에서 이
📖 개요: 이 글에서 다루는 것 SAP Fiori 앱을 새로 만들 때 가장 먼저 마주치는 갈림길이 바로 Fiori Elements 와 Freestyle UI5 의 선택입니다. 같은 SAPUI5 프레임워크 위에서 동작하지만, 개발 속도·커스터마이징 자유도·유지보수 비용이 크게 달라지기
📖 개요 및 이 글에서 다루는 것 CAP Java 애플리케이션이 자기 데이터베이스만 바라보는 경우는 드뭅니다. 실무에서는 S/4HANA의 OData API나 다른 팀이 만든 마이크로서비스를 호출해 데이터를 합쳐 보여줘야 하는 상황이 훨씬 많습니다. 이 글에서는 CAP Java의 Rem
개요: 왜 CAP 쿼리 성능을 다시 봐야 하는가 SAP CAP(Cloud Application Programming Model) Node.js 런타임은 CQL(CDS Query Language)을 통해 데이터베이스 접근을 추상화합니다. 편리한 만큼, 추상화 뒤에서 어떤 SQL이 실행되는
📖 개요: Before와 After, 이름만 보고 쓰면 반드시 사고가 난다 CAP Java에서 커스텀 핸들러를 처음 작성할 때 가장 많이 겪는 사고는 문법 오류가 아니라 "코드는 정상 실행됐는데 DB에는 아무 것도 반영되지 않는" 침묵의 버그 입니다. 특히 @After 핸들러에서 엔티
개요 — 핸들러 실행 순서를 알아야 하는 이유 CAP Java(SAP Cloud Application Programming Model, Java 런타임)에서 커스텀 비즈니스 로직은 @Before , @On , @After 세 페이즈(Phase)의 이벤트 핸들러로 작성합니다. 이 세 페이
개요: 저장 버튼 없이 화면이 스스로 갱신되는 원리 Fiori Elements 앱에서 수량 필드를 바꿨는데 총액이 그대로라면, 사용자는 "이 앱이 계산을 안 하나?"라고 느낍니다. 백엔드 Determination은 이미 값을 다시 계산했지만, 브라우저가 그 사실을 모르는 것이 문제입니다
개요: 핸들러 실행 순서를 알아야 하는 이유 CAP Java(SAP Cloud Application Programming Model, Java 런타임)에서 커스텀 로직은 @Before , @On , @After 세 가지 페이즈(Phase)의 이벤트 핸들러로 작성합니다. 문제는 이 세 페
1. Joule과 SAP AI Core — 이름만 봐서는 뭐가 다른지 모른다 SAP의 AI 소식을 따라가다 보면 두 이름이 계속 등장합니다. Joule 과 SAP AI Core . 둘 다 "SAP의 생성형 AI"로 소개되다 보니, 처음 접하는 분들은 "같은 것의 다른 이름인가?" 혹은
📖 개요: Cross-App Navigation에서 파라미터가 왜 생명선인가 SAP Fiori Launchpad(FLP) 환경에서는 하나의 업무가 여러 앱을 넘나들며 완성됩니다. 판매 오더 목록 앱에서 특정 오더를 선택해 청구서 조회 앱으로 이동할 때, 오더 번호 같은 컨텍스트 파라미
📖 개요 — 왜 Intent Navigation인가 Fiori 앱을 하드코딩된 URL로 연결하면 시스템이 바뀔 때마다 링크가 깨지고, 권한 체크도 우회됩니다. Intent Navigation은 "무엇을(Semantic Object) 어떻게(Action)" 한다는 의미 기반 주소로 앱을
📖 개요와 목표 CAP Node.js 프로젝트에서 jest만 설치하고 서비스 핸들러를 테스트하면 service is undefined , no model loaded 같은 에러로 시작부터 막히는 경우가 많습니다. 이 글은 구매 주문(PurchaseOrder) 서비스를 예제로, @sap
📖 개요와 이 글의 목표 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 파
📖 개요 — SE80 경험자가 ADT 첫날 마주치는 3가지 벽 아직도 SE80에서 더블클릭으로 모든 개발을 하고 있다면, RAP(RESTful ABAP Programming Model)을 시작하는 순간 벽에 부딪히게 됩니다. CDS View Entity, Behavior Definit
📖 이 글에서 다루는 내용과 목표 온프레미스 Fiori Launchpad를 시스템마다 따로 관리하다 보면 카탈로그·역할·테마가 제각각 흩어지고, S/4HANA·SuccessFactors·커스텀 UI5 앱을 한 화면에 모으는 일이 점점 어려워집니다. SAP Build Work Zone,
Integration Suite 운영의 숨겨진 위험 SAP BTP Integration Suite(Cloud Integration 캐퍼빌리티)로 iFlow를 배포하고 나면 "연결됐으니 끝"이라고 생각하기 쉽습니다. 하지만 실제 운영 환경에서는 수신 시스템의 일시적 다운, 인증서 만료,
SOD란 무엇인가 — 직무 분리가 무너지면 벌어지는 일 SOD(Segregation of Duties, 직무 분리)는 한 사람이 하나의 비즈니스 프로세스를 처음부터 끝까지 혼자 처리하지 못하도록 권한을 나누는 내부통제 원칙입니다. 예를 들어 공급업체 마스터를 생성하는 사람 이 대금 지급