BTP ABAP vs Embedded Steampunk — 차이가 뭔가 #shorts #SAP #ABAP
왜 Embedded Steampunk가 등장했는가 S/4HANA Cloud Private Edition과 On-Premise 시스템에서 클린코어(Clean Core) 원칙을 강제하기 위해 도입된 개발 모델이 바로 Embedded Steampunk 입니다. 기존의 Classic ABAP은
왜 Embedded Steampunk가 등장했는가 S/4HANA Cloud Private Edition과 On-Premise 시스템에서 클린코어(Clean Core) 원칙을 강제하기 위해 도입된 개발 모델이 바로 Embedded Steampunk 입니다. 기존의 Classic ABAP은
1. 개요 및 이 글의 목표 ABAP CDS(Core Data Services)는 데이터 모델링 계층을 SAP HANA 데이터베이스에 가깝게 끌어올린 핵심 기술입니다. 그런데 데이터 모델이 강력해질수록 "누가 어떤 행(row)을 볼 수 있는가"라는 질문이 더 중요해집니다. ABAP CD
개요 및 이 글에서 다루는 것 표준 SAP에서 제공하는 CDS 뷰(예: I_SalesDocument , I_PurchaseOrder )에 자사 비즈니스 요건에 맞는 필드 — 예컨대 "긴급 배송 플래그", "지역별 우선순위 코드", "사내 분류 등급" 등을 추가해야 하는 상황은 SAP S
개요 및 이 글의 목표 SAPUI5 애플리케이션을 만들 때 시각·청각·운동 제약을 가진 사용자가 동일한 기능을 사용할 수 있도록 보장하는 작업이 접근성(Accessibility, 줄여서 a11y)입니다. 화면에 보이는 픽셀만 잘 그리는 것으로는 부족합니다. 스크린 리더, 키보드 내비게이
개요 및 이 글에서 다루는 것 ABAP CDS(Core Data Services)에서 금액 필드를 다룰 때 가장 까다로운 부분은 통화(Currency) 처리입니다. 한 회사가 KRW, USD, EUR을 동시에 다룰 때 단순한 DECIMAL 필드만으로는 의미가 불완전합니다. 이 글에서는
RadioButton의 한계와 SegmentedButton이 등장한 이유 SAPUI5/OpenUI5에서 "여러 선택지 중 하나"를 제시할 때 가장 먼저 떠오르는 컨트롤은 sap.m.RadioButton이지만, 모바일 우선(Mobile First) Fiori 환경에서는 sap.m.Segm
RAP 권한 모델의 두 축 — Global과 Instance RAP(RESTful Application Programming Model)에서 권한 체크는 두 단계로 분리됩니다. Global Authorization은 사용자가 해당 BO의 특정 오퍼레이션을 "원천적으로" 수행할 수 있는지
작성 중...
SAP HANA SQLScript의 EXEC 문은 강력한 기능이지만, 잘못 사용하면 SQL Injection 공격에 그대로 노출됩니다. 이 글은 실무에서 발생하는 취약 패턴을 재현하고, 안전하게 Dynamic SQL을 설계하는 방법을 단계별로 설명합니다. Dynamic SQL의 동작 원
SAP ABAP에서 DDIC View와 CDS View의 핵심 차이와 선택 기준을 정리합니다.
Generative AI Hub란? SAP BTP의 Generative AI Hub는 OpenAI, Anthropic, Mistral 등 주요 LLM을 단일 API 엔드포인트로 통합 제공합니다. 각 모델마다 별도 계정 없이 BTP 자격증명 하나로 모든 LLM을 호출할 수 있습니다. AI
BTP Generative AI Hub LLM 통합 시 실수 TOP 3 SAP BTP Generative AI Hub는 OpenAI, Anthropic, Google 등 다양한 LLM을 단일 API로 호출할 수 있게 해주는 서비스입니다. 하지만 비즈니스 앱에 통합할 때 흔히 발생하는 실
이 글이 답하는 질문 BTP Service Catalog이 뭔가요? 서비스 인스턴스와 바인딩은 어떤 순서로 만드나요? CLI와 Cockpit 중 어느 쪽을 써야 하나요? Service Catalog이란? BTP Cockpit의 Service Marketplace 가 곧 Service C
이 글이 답하는 질문 CAP for Java에서 역할(Role) 기반 접근 제어를 어떻게 선언하나요? @AuthorizedRole과 @PreAuthorize 중 어떤 걸 써야 하나요? 로컬에서 권한 테스트는 어떻게 하나요? 직접 해보기 1. CDS에서 Role 선언 CDS 서비스 정의에
SAP BTP에서 XSUAA(User Account and Authentication)는 OAuth2 기반 인증의 핵심이다. 그런데 설정 하나만 틀려도 앱 전체 인증이 멈춘다. 실무에서 반복되는 실수 3가지를 정리했다. 실수 1 — xs-security.json scope를 role t
인증 빼먹으면 API가 그대로 노출됩니다 CAP for Java 앱을 BTP에 배포할 때 XSUAA 바인딩과 JWT 검증을 누락하면, 인증 없는 엔드포인트가 외부에 그대로 노출될 수 있습니다. 특히 @cds.requires: 'authenticated-user' 선언을 빠뜨리면 Serv
이 글이 답하는 질문 SAPGUI에서 Fiori로 언제, 어떻게 전환해야 하나? 전면 마이그레이션 vs 공존 방식 중 어느 것이 맞나? 실무에서 Fiori 마이그레이션 시 빠지기 쉬운 함정은? SAPGUI를 아직 쓰는 이유 많은 기업이 익숙함 때문에 SAPGUI를 유지한다. 하지만 S/
이 글이 답하는 질문 CAP CDS에서 @restrict를 빠뜨리면 실제로 무슨 일이 생기나? grant / to / where 는 언제 어떻게 쓰나? 인증된 사용자 vs 특정 역할 — 어떻게 구분해 제한하나? 직접 해보기 1. @restrict 없는 서비스 — 보안 구멍 // @res
SAP Joule를 BTP에 연동하면 AI 응답 품질은 높아지지만, 토큰 소비가 예상보다 빠르게 늘어납니다. 실제 프로젝트에서 Joule 호출 비용을 절반 가까이 줄인 3가지 최적화 패턴을 공유합니다. 이 글이 답하는 질문 Joule 토큰 비용이 급증하는 주요 원인은? 프롬프트 캐싱으로
TL;DR Joule 커스텀 익스텐션을 BTP에 올리면 토큰 비용이 예상보다 5~10배 크게 나오는 경우가 많다. 세 가지 전략만 적용해도 50% 이상 줄일 수 있다. 이 글이 답하는 질문 SAP AI Core에서 Joule 확장 시 토큰 비용이 폭증하는 이유는? 시스템 프롬프트 캐싱은