Tier 1 vs 2 vs 3 — 확장 레벨 선택법 #shorts #SAP #ABAP
같은 요건, 세 갈래의 길 SAP S/4HANA와 ABAP Platform 환경에서 표준 기능을 확장할 때, 어떤 방식을 고를지 망설인 경험이 한 번쯤 있을 겁니다. 같은 "판매 오더에 프로모션 코드 필드 하나 추가"라는 요건이라도 Tier 1(Key User), Tier 2(Devel
같은 요건, 세 갈래의 길 SAP S/4HANA와 ABAP Platform 환경에서 표준 기능을 확장할 때, 어떤 방식을 고를지 망설인 경험이 한 번쯤 있을 겁니다. 같은 "판매 오더에 프로모션 코드 필드 하나 추가"라는 요건이라도 Tier 1(Key User), Tier 2(Devel
SAP 확장 모델이 3계층으로 나뉜 이유 SAP S/4HANA Cloud가 등장하면서 ERP를 "건드리지 않고 어떻게 확장할 것인가"가 핵심 과제로 떠올랐습니다. 과거 ECC 시절에는 SE38에서 표준 프로그램을 그대로 수정하거나, User Exit/BAdI로 핵심 로직에 깊숙이 개입하
SAP HANA SQLScript의 EXEC 문은 강력한 기능이지만, 잘못 사용하면 SQL Injection 공격에 그대로 노출됩니다. 이 글은 실무에서 발생하는 취약 패턴을 재현하고, 안전하게 Dynamic SQL을 설계하는 방법을 단계별로 설명합니다. Dynamic SQL의 동작 원
예외 처리를 빼먹으면 진짜 큰일 납니다 HANA SQLScript로 작성한 프로시저가 운영 환경에서 갑자기 멈추고, 수천 건의 SalesOrder가 절반만 처리된 채 롤백되는 상황을 본 적이 있나요? 이 글은 SQLScript의 예외 처리(Exception Handling) 메커니즘을
이 글이 답하는 질문 UI5 ComboBox와 Select, 언제 어느 걸 써야 하나? 사용자가 새 값을 입력해야 한다면? 결정적 차이 1가지 ComboBox — 입력 가능 ComboBox는 드롭다운 목록에서 선택할 수도 있고, 리스트에 없는 값을 직접 타이핑해서 입력할 수 있습니다.
이 글이 답하는 질문 On-stack ABAP과 BTP ABAP, 실제로 어떤 코드 제약이 생기나? 클라우드 전환 시 가장 먼저 포기해야 할 것은? 진짜 차이 3가지 1. Released API만 허용 BTP ABAP(ABAP Cloud)은 SAP가 릴리즈 계약(C1/C2)을 공개한 클
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
왜 destroy()가 필요한가 SAPUI5는 자체 ManagedObject 레지스트리로 모든 컨트롤을 추적합니다. 컨트롤을 DOM에서 제거하거나 부모에서 detach해도 이 레지스트리 참조는 그대로 남습니다. 이벤트 핸들러, 모델 바인딩, 프래그먼트 캐시까지 메모리에 계속 쌓입니다.
외부 서비스가 죽으면? CAP Java에서 외부 REST API를 호출할 때 해당 서비스가 응답하지 않으면 스레드가 블로킹되고, 요청이 쌓여 결국 전체 서비스가 다운 됩니다. Circuit Breaker는 이 장애 전파를 막는 패턴입니다. Resilience4j 3가지 상태 Closed
왜 Destination Service인가? CAP 프로젝트에서 외부 URL을 코드에 직접 박으면 환경마다 배포 설정을 바꿔야 하고 자격증명이 노출됩니다. BTP Destination Service를 쓰면 URL·인증 정보를 Cockpit에서 관리하고 코드는 이름만 참조합니다. mta.
이 글이 답하는 질문 RAP에서 Function과 Action은 언제 각각 사용하나요? 데이터 변경이 가능한 건 둘 중 어느 쪽인가요? OData에서 어떤 HTTP 메서드로 매핑되나요? Function — 읽기 전용 오퍼레이션 RAP Behavior Definition에서 functio
컴포넌트 간 통신, 왜 까다로울까요? UI5 앱이 커지면 부모→자식 모델 바인딩만으로는 부족합니다. 형제 뷰나 독립된 컨트롤러 간 데이터 전달 시 직접 참조를 남발하면 의존성 지옥에 빠집니다. EventBus는 이 문제를 Publish/Subscribe 패턴으로 해결합니다. 발행(Pub
Function과 Action, 뭐가 다른가? RAP(RESTful ABAP Programming) BDEF에서 function 과 action 은 둘 다 커스텀 오퍼레이션처럼 보이지만 근본적인 차이가 있다. Function은 읽기 전용 , Action은 상태 변경 이다. 이 구분을 무
이 글이 답하는 질문 SQLScript가 일반 SQL과 뭐가 다른가? HANA Procedure를 언제 써야 하나? TABLE TYPE은 왜 별도로 정의하는가? 직접 해보기 1. Table Type 정의 CREATE TYPE tt_employee AS TABLE ( empId NVARC
Fiori에서 ARIA가 없으면 벌어지는 일 SAP Fiori 앱에 ARIA 속성을 빠뜨리면 스크린 리더 사용자는 버튼이 존재하는지조차 알 수 없습니다. 단순한 권고 사항이 아닙니다. 유럽 EAA(European Accessibility Act) 2025, 미국 Section 508 등
이 글이 답하는 질문 여러 Component로 쪼개진 UI5 앱에서, 서로를 직접 참조하지 않고 데이터를 주고받으려면 어떻게 해야 하나? EventBus의 channelId와 eventId는 어떤 단위로 설계해야 충돌 없이 운영할 수 있나? subscribe를 걸어 둔 뒤 뷰가 dest
External vs Internal Numbering RAP에서 엔티티를 생성할 때 키(Key) 값을 누가 결정하느냐에 따라 두 방식으로 나뉩니다. External Numbering 은 클라이언트(UI/API 호출자)가 키를 직접 지정하고, Internal Numbering 은 서버가
ABAP 오브젝트를 GitHub으로 관리하는 abapGit 설치부터 팀 협업까지.