사용자 ID 전달 안 하면 큰일 — Principal Propagation #shorts #SAP #BTP
Principal Propagation이란? SAP BTP에서 외부 백엔드 시스템을 호출할 때, 현재 로그인한 사용자의 ID를 그대로 전달 하는 메커니즘입니다. 이게 없으면 기술 사용자(Technical User)로만 연결되어 감사 추적(Audit Trail)이 불가능 합니다. 왜 문제
Principal Propagation이란? SAP BTP에서 외부 백엔드 시스템을 호출할 때, 현재 로그인한 사용자의 ID를 그대로 전달 하는 메커니즘입니다. 이게 없으면 기술 사용자(Technical User)로만 연결되어 감사 추적(Audit Trail)이 불가능 합니다. 왜 문제
시니어 UI5 면접에서 자주 나오는 함정 UI5 시니어 포지션 면접에서는 단순 사용법이 아닌, 내부 동작 원리 를 묻는 질문이 핵심입니다. 합격자와 불합격자를 가르는 3가지 포인트를 정리했습니다. ① OData 바인딩 모드 — 언제 어떤 걸 쓰나요? 면접관이 "왜 Two-way 바인딩을
UI5 시니어 면접, 이 질문에서 막힌다 UI5 경력 3년 차도 막히는 시니어 면접 질문이 있습니다. 단순 API 암기가 아닌 설계 의도와 트레이드오프 를 묻는 질문들입니다. 실수 1: MVC와 MVVM 혼동 UI5는 MVC 기반이지만 데이터 바인딩 방식은 MVVM에 가깝습니다. "UI
면접에서 꼭 나오는 질문 ABAP 면접에서 가장 자주 나오는 질문 중 하나는 내부 테이블의 종류와 차이 입니다. 단순 암기가 아니라 성능 차이까지 설명할 수 있어야 합니다. STANDARD TABLE 순차 검색(O(n)). 삽입 순서 유지. 중복 허용. 소량 데이터나 순서가 중요할 때
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로 호출할 수 있게 해주는 서비스입니다. 하지만 비즈니스 앱에 통합할 때 흔히 발생하는 실
왜 destroy()가 필요한가 SAPUI5는 자체 ManagedObject 레지스트리로 모든 컨트롤을 추적합니다. 컨트롤을 DOM에서 제거하거나 부모에서 detach해도 이 레지스트리 참조는 그대로 남습니다. 이벤트 핸들러, 모델 바인딩, 프래그먼트 캐시까지 메모리에 계속 쌓입니다.
SQLScript에서 예외 처리를 빠뜨리면? HANA SQLScript로 프로시저를 작성할 때, 예외 처리를 생략하면 어떤 일이 벌어질까요? 트랜잭션 롤백 없이 데이터가 반쪽만 저장되거나, 오류 메시지 없이 프로세스가 멈추는 상황이 발생합니다. 실제 운영 환경에서는 디버깅조차 어려운 큰
OData V2 vs V4 — Service Binding 선택의 차이 ABAP RAP에서 Service Binding을 생성할 때 OData 버전을 선택해야 합니다. V2 는 오래된 Fiori 앱과 호환성이 높고, V4 는 최신 기능과 성능이 더 우수합니다. 언제 어느 버전을 선택해야
Bound Action vs Unbound Action RAP(ABAP RESTful Application Programming Model)에서 Action은 데이터를 변경하는 비표준 작업입니다. Bound Action 은 특정 엔티티 인스턴스에 종속되지만, Unbound Action
외부 서비스가 죽으면? CAP Java에서 외부 REST API를 호출할 때 해당 서비스가 응답하지 않으면 스레드가 블로킹되고, 요청이 쌓여 결국 전체 서비스가 다운 됩니다. Circuit Breaker는 이 장애 전파를 막는 패턴입니다. Resilience4j 3가지 상태 Closed
에러 처리, 매번 따로 짜고 있진 않나요? CAP for Java 프로젝트가 커지면, 서비스마다 try-catch 반복하게 됩니다. Global Exception Handler 로 한 곳에서 처리하면 코드도 줄고, 클라이언트 응답도 일관됩니다. 핵심 구조 Spring의 @Controll
ABAP 개발자도 이제 AI 코파일럿 시대 SAP의 AI 어시스턴트 Joule 이 ABAP 개발 환경에 직접 통합되었습니다. ABAP Development Tools(ADT)나 SAP Build Code에서 코드를 짜다가 막히면, Joule에게 바로 물어볼 수 있습니다. 어떤 걸 도와주
MTA(Multi-Target Application)란? SAP BTP에서 여러 모듈(백엔드, 프론트엔드, DB)을 하나의 패키지로 묶어 배포하는 표준 방식입니다. 핵심은 mta.yaml 파일 한 장입니다. mta.yaml 기본 구조 _schema-version: "3.1" ID: my
왜 Destination Service인가? CAP 프로젝트에서 외부 URL을 코드에 직접 박으면 환경마다 배포 설정을 바꿔야 하고 자격증명이 노출됩니다. BTP Destination Service를 쓰면 URL·인증 정보를 Cockpit에서 관리하고 코드는 이름만 참조합니다. mta.
이 글이 답하는 질문 BTP Service Catalog이 뭔가요? 서비스 인스턴스와 바인딩은 어떤 순서로 만드나요? CLI와 Cockpit 중 어느 쪽을 써야 하나요? Service Catalog이란? BTP Cockpit의 Service Marketplace 가 곧 Service C
이 글이 답하는 질문 RAP에서 Function과 Action은 언제 각각 사용하나요? 데이터 변경이 가능한 건 둘 중 어느 쪽인가요? OData에서 어떤 HTTP 메서드로 매핑되나요? Function — 읽기 전용 오퍼레이션 RAP Behavior Definition에서 functio
왜 S/4HANA 마이그레이션이 실패할까? S/4HANA 전환 프로젝트의 60% 이상이 예상보다 지연되거나 비용이 초과됩니다. 문제는 기술이 아니라 사전 준비 부족입니다. 마이그레이션 전 반드시 확인해야 할 3가지 체크포인트를 정리했습니다. 체크포인트 1: 커스텀 코드 분석 ECC에서
컴포넌트 간 통신, 왜 까다로울까요? UI5 앱이 커지면 부모→자식 모델 바인딩만으로는 부족합니다. 형제 뷰나 독립된 컨트롤러 간 데이터 전달 시 직접 참조를 남발하면 의존성 지옥에 빠집니다. EventBus는 이 문제를 Publish/Subscribe 패턴으로 해결합니다. 발행(Pub
Function과 Action, 뭐가 다른가? RAP(RESTful ABAP Programming) BDEF에서 function 과 action 은 둘 다 커스텀 오퍼레이션처럼 보이지만 근본적인 차이가 있다. Function은 읽기 전용 , Action은 상태 변경 이다. 이 구분을 무