Event Mesh — Durable vs Direct 구독 #shorts #SAP #BTP
이 글에서 다룰 것 BTP에서 마이크로서비스를 REST 호출 체인으로만 엮으면 한 서비스의 장애가 전체로 번집니다. SAP Event Mesh는 이 결합을 끊는 Pub/Sub 계층입니다. 이 글은 토픽(topic) 구조, 큐(queue) 설정, 구독(subscription) 패턴 세 축
이 글에서 다룰 것 BTP에서 마이크로서비스를 REST 호출 체인으로만 엮으면 한 서비스의 장애가 전체로 번집니다. SAP Event Mesh는 이 결합을 끊는 Pub/Sub 계층입니다. 이 글은 토픽(topic) 구조, 큐(queue) 설정, 구독(subscription) 패턴 세 축
이 글이 답하는 질문 화면에 값을 그대로 뿌리는 경우는 거의 없습니다. 상태 코드를 한글로 바꾸고, 금액에 통화를 붙이고, 조건에 따라 색을 달리해야 합니다. 이때 선택지가 둘 있습니다. XML 뷰 안에 표현식을 직접 쓰는 방법과, 자바스크립트 함수로 빼는 방법입니다. 둘 다 되기 때문
왜 Destination 인증 방식 선택이 중요한가 SAP BTP에서 외부 시스템을 호출할 때 Destination Service는 "어디로, 어떤 자격으로" 연결할지를 정의합니다. 문제는 인증 타입을 무엇으로 고르느냐에 따라 백엔드 감사 로그에 남는 주체 가 완전히 달라진다는 점입니다
이 글에서 다루는 내용 CAP for Java 이벤트 핸들러를 작성하다 보면 "지금 들어온 요청이 어떤 엔티티를, 어떤 키로, 어떤 조건으로 조회하는가"를 알아야 하는 순간이 반드시 옵니다. 이때 cqn.toString() 결과를 문자열로 잘라 쓰는 코드는 당장은 동작해도 확장 시 반드
개요: 왜 모든 오류가 500으로 나가는가 CAP Java로 서비스를 개발하다 보면, 핸들러 안에서 발생한 예외가 아무 처리 없이 그대로 올라가 클라이언트에게 500 Internal Server Error 로 반환되는 상황을 자주 만납니다. 재고 부족처럼 명백한 "업무 오류"조차 500
📖 개요 — 정산을 안 하면 무슨 일이 생기는가 내부오더(Internal Order)는 마케팅 행사, 설비 소모성 수리, 사내 프로젝트처럼 임시로 원가를 모아두는 그릇입니다. 그런데 이 그릇은 어디까지나 중간 집계 객체 라서, 기말에는 모아둔 원가를 최종 수신자(코스트센터, 자산, G
📖 개요 RAP(ABAP RESTful Application Programming Model)에서 Behavior Pool은 BO의 두뇌 역할을 합니다. 프로젝트가 커지면 LHC_ 로컬 핸들러 클래스 하나에 FOR MODIFY, FOR READ, FOR DETERMINE, FOR VA
📖 왜 JPY 청구서가 100배로 찍혔을까 일본 법인 청구서에 12,500엔이 나가야 하는데 화면에는 125엔, IDoc에는 1,250,000엔이 찍히는 사고. ABAP 금액 처리에서 가장 자주 터지는 유형이며, 원인은 거의 항상 하나입니다. 통화별 소수 자릿수를 정의하는 TCURX
📖 개요: 왜 "그냥 12로 나누면" 안 되는가 자재를 낱개(EA)로 관리하면서 출하는 박스(KAR), 창고 적치는 팔레트(PAL)로 하는 것은 물류 현장의 일상입니다. 이때 ABAP 개발자가 가장 흔히 저지르는 실수가 lv_box = lv_ea / 12 같은 하드코딩 나눗셈입니다.
📖 개요: 선급금이 외상매입금이 아닌 다른 계정에 잡히는 이유 SAP FI에서 벤더에게 선급금을 지급하고 나서 재무제표나 G/L 잔액을 조회하면, 분명 벤더 앞으로 전기했는데 외상매입금 계정이 아닌 전혀 다른 계정에 금액이 표시되는 것을 보게 됩니다. 처음 접하면 "전기가 잘못된 건가
📖 개요 — 이 글에서 확인할 것 수출 대금 청구 전표를 USD로 입력했는데, 원화(KRW) 금액과 그룹통화(EUR) 금액이 각각 다른 환율로 계산된 것처럼 보인 적이 있다면, 원인은 대부분 환산 시점과 환산 기준의 차이 에 있습니다. SAP FI는 하나의 전표에 최소 두 개, 많게는
이 글이 답하는 질문 SD 영역에서 "이 청구서가 어느 수주에서 시작됐는지" 또는 반대로 "이 수주가 지금 어디까지 진행됐는지"를 프로그램으로 추적해야 하는 요건은 끊임없이 나옵니다. 대부분의 개발자가 VBFA 테이블을 재귀적으로 따라가는 코드를 작성하는데, 이 방식은 운영 데이터에서
이 글에서 다루는 내용과 목표 SAP를 처음 접하는 분들이 가장 자주 혼동하는 개념이 바로 회사코드(Company Code)와 원가통제단위(Controlling Area)의 차이입니다. 둘 다 "조직 단위"라는 점은 같지만, 하나는 법적 재무회계(FI)를 위한 그릇이고 다른 하나는 내부
이 글에서 얻어갈 것 — 30초 요약의 전체 지도 Fiori Elements는 어노테이션 기반으로 화면을 자동 생성하는 프레임워크지만, 실무에서는 반드시 "표준에 없는 버튼 하나, 컬럼 하나"를 추가해야 하는 순간이 옵니다. 이 글은 그때 필요한 확장 포인트를 종류별로 빠르게 정리한 실
📖 개요 — 이 글에서 다루는 것 SAP Fiori elements 기반 앱에서 사용자가 입력하다 만 데이터를 안전하게 임시 저장해 주는 Draft(초안) 패턴은, CAP Node.js에서는 어노테이션 한 줄( @odata.draft.enabled )로 켤 수 있습니다. 그런데 "한
📖 개요: 로그 없는 CAP 디버깅이 실패하는 이유 CAP(Node.js) 프로젝트에서 "핸들러가 왜 안 타지?", "이 요청이 DB에 어떤 SQL을 날렸지?"라는 질문에 console.log 를 여기저기 심어가며 답을 찾는 경우가 많습니다. 하지만 CAP 런타임은 이미 cds.log
개요 — 검색창이 아예 사라진 List Report RAP(ABAP RESTful Application Programming Model)으로 List Report를 처음 만들면 대부분 한 번은 겪는 문제가 있습니다. 화면은 잘 뜨는데 상단 검색창이 회색으로 비활성화되어 있거나, 검색어를
📖 온프레미스 S/4HANA와 BTP, 왜 함께 쓰는가 많은 기업이 S/4HANA를 온프레미스(자사 데이터센터 또는 프라이빗 클라우드)에 운영하면서도, 확장 기능·모바일 앱·파트너 연동은 SAP BTP(Business Technology Platform) 위에 구축합니다. 핵심 배경은
개요 — 이 글에서 얻어갈 것 Calculation View는 SAP HANA 모델링의 중심축이지만, 잘못 설계하면 수 초에서 수 분까지 응답이 느려지는 대표적인 병목 지점이기도 합니다. 이 글은 "왜 느려지는가"를 엔진 동작 원리 수준에서 짚고, PlanViz와 Explain Plan
이 글에서 다룰 것 Fiori Elements List Report는 코드를 거의 쓰지 않고도 목록·필터·내비게이션을 갖춘 앱을 만들어 주지만, "표준 템플릿이라 커스터마이징이 안 된다"는 오해가 여전히 많습니다. 실제로는 freestyle로 새로 짜지 않아도 Annotation, ma