체인지셋 하나 실패하면 전부 롤백되는 이유는? #shorts #SAP #RAP
이 글에서 다루는 내용 RAP(ABAP RESTful Application Programming Model)으로 만든 서비스에 여러 건의 변경을 한 번에 보냈는데, 딱 한 건의 검증 오류 때문에 나머지 아홉 건까지 전부 사라지는 경험을 해본 적이 있을 것입니다. 이것은 버그가 아니라 O
이 글에서 다루는 내용 RAP(ABAP RESTful Application Programming Model)으로 만든 서비스에 여러 건의 변경을 한 번에 보냈는데, 딱 한 건의 검증 오류 때문에 나머지 아홉 건까지 전부 사라지는 경험을 해본 적이 있을 것입니다. 이것은 버그가 아니라 O
📖 개요: 이 글에서 다루는 것 RAP(RESTful Application Programming Model)에서 Early Numbering 을 직접 구현하면, 사용자가 저장 버튼을 누르기 전에 이미 문서번호가 확정됩니다. 편리해 보이지만, 두 사용자가 동시에 생성 트랜잭션을 시작하는
개요 — 이 글에서 확인할 내용 RAP(ABAP RESTful Application Programming Model)에서 액션이 실패해 트랜잭션 전체가 롤백되었는데, 다음 문서를 생성하면 번호가 하나 건너뛰어 있는 현상을 본 적이 있을 것입니다. 예를 들어 판매오더 SO-1007 생성이
📖 개요 — 이 글에서 다루는 문제 RAP(ABAP RESTful Application Programming Model)에서 precheck 으로 수정 요청을 분명히 차단했는데, Fiori Elements 화면에는 사용자가 입력한 값이 그대로 남아 있는 현상을 다룹니다. 서버 로그를
왜 Joule 커스텀 액션인가 SAP Joule은 단순한 사내 챗봇이 아니라, SAP 애플리케이션 전반에 걸쳐 동작하는 코파일럿 계층입니다. 이 글은 Joule Studio에서 커스텀 액션(스킬)을 정의하고 실제 SAP 백엔드 — RAP 액션과 CAP 서비스 — 를 호출하도록 연동하는
📖 개요 — 이 글에서 얻어갈 것 RAP(ABAP RESTful Application Programming Model)으로 트랜잭셔널 앱을 설계할 때 가장 먼저 마주치는 갈림길이 관리형(managed)과 비관리형(unmanaged)의 선택입니다. 관리형은 프레임워크가 CRUD·버퍼·저
📖 이 글에서 다루는 내용과 목표 S/4HANA 프로젝트에서 화면 하나를 만들 때마다 반복되는 질문이 있습니다. "이건 RAP으로 갈까, 그냥 SE38 리포트로 끝낼까?" 이 글은 RAP(RESTful ABAP Programming Model)과 클래식 리포트(SE38 + ALV)의
📖 개요와 이 글에서 얻어갈 것 SAP BTP(Business Technology Platform)에서 애플리케이션을 배포하려는 순간 누구나 마주치는 첫 갈림길이 있습니다. Cloud Foundry 런타임 이냐, Kyma 런타임 이냐. 둘 다 "앱을 올릴 수 있는 곳"이지만 설계 철학
📖 개요 — 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)의 Behavior Definition을 처음 다루다 보면 가장 자주 마주치는 갈림길이 있습니다. "이 로직은 Determination으로 구현해야 하나, Valida
📖 개요: 프로젝트 첫 주에 결정한 것들이 1년을 좌우합니다 SAP BTP 프로젝트는 첫 2주 안에 내린 결정(리전, 서브계정 구조, 권한 모델)이 이후 운영 전체를 지배합니다. 문제는 이 결정들이 나중에 바꾸기 매우 어렵다는 점입니다. 예를 들어 서브계정의 리전은 생성 후 변경할 수
📖 개요: 여신 체크가 수주를 막는 순간 영업 담당자가 "수주가 갑자기 저장이 안 돼요"라고 말할 때, 원인의 상당수는 여신관리(Credit Management)입니다. 그런데 같은 여신한도 초과라도 수주 저장 시점 에 막히는 회사가 있고, 납품 생성 시점 또는 출고(PGI) 시점 에
왜 실적확인 하나 빠졌다고 원가가 무너지는가 생산오더의 원가는 크게 두 갈래로 쌓입니다. 자재 출고가 만드는 재료비, 그리고 작업실적확인(Confirmation)이 만드는 가공비입니다. 재료비는 눈에 보이는 출고 전표가 있어 누락을 알아채기 쉽지만, 가공비는 작업자가 CO11N에서 활동
📖 개요 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
📖 개요 — 이 글에서 다루는 것 SAP FI의 G/L 계정은 크게 미결 관리(Open Item Management, OIM) 계정 과 일반(잔액 관리) 계정 으로 나뉩니다. 같은 잔액이라도 두 유형은 "잔액을 어떻게 검증하고 소멸시키는가"가 완전히 다릅니다. 이 글은 SAP S/4H
개요: 검증 "없이" 열어둔 인터페이스가 만드는 사고 외부 시스템에서 회사코드, 플랜트, 판매조직 같은 조직 코드가 넘어오는 인터페이스를 만들 때, "호출하는 쪽이 알아서 맞는 값을 보내겠지"라고 가정하는 순간 사고의 씨앗이 심어집니다. RFC나 API로 노출된 함수는 화면 로직을 거치
📖 개요: 자연어 한 문장으로 SAP 업무를 움직이기 SAP 업무 자동화라고 하면 지금까지는 트랜잭션 코드(T-Code)를 외우고, 배치 잡을 걸고, 필요하면 ABAP 커스텀 개발까지 하는 그림이 일반적이었습니다. 이 글은 SAP의 생성형 AI 코파일럿인 Joule 을 SAP BTP
이 글이 답하는 질문 CREATE OBJECT 와 ?= 조합, 문법상 유효한데 왜 바꾸라고 할까? NEW 는 두 줄을 한 줄로 줄이는 것 이상의 가치가 있을까? CAST 와 ?= 는 뭐가 다르고, 다운캐스트 덤프는 어떻게 막을까? 변수를 구현 클래스 대신 인터페이스 타입으로 잡으면 뭐가
📖 개요: CAP Java 트랜잭션 롤백, 왜 자꾸 어긋나는가 SAP CAP(Cloud Application Programming Model) for Java는 개발자가 트랜잭션 경계를 직접 열고 닫지 않아도 되도록 ChangeSet 컨텍스트 라는 추상화를 제공합니다. 편리하지만, 이
📖 개요 및 핵심 체크리스트 SAP BTP(Business Technology Platform)를 처음 접하는 개발자 대부분은 "일단 무료 계정부터 만들자"로 시작합니다. 그런데 Trial과 Free Tier의 차이를 모른 채 계정을 만들면, 90일 뒤 작업물이 사라지거나, 리전을 잘