CAP Java 트랜잭션 관리 실수 3가지 #shorts #SAP #CAPforJava
도입 — 정산 배치가 절반만 커밋되는 사고, 어디서 시작됐을까 CAP Java로 서비스를 만들다 보면 초반에는 트랜잭션을 의식할 일이 거의 없습니다. 프레임워크가 요청 단위로 알아서 커밋과 롤백을 처리해 주기 때문입니다. 그런데 어느 순간 이런 요구사항이 들어옵니다. "정산 배치 1만
도입 — 정산 배치가 절반만 커밋되는 사고, 어디서 시작됐을까 CAP Java로 서비스를 만들다 보면 초반에는 트랜잭션을 의식할 일이 거의 없습니다. 프레임워크가 요청 단위로 알아서 커밋과 롤백을 처리해 주기 때문입니다. 그런데 어느 순간 이런 요구사항이 들어옵니다. "정산 배치 1만
📖 개요 — 이 글에서 다루는 것 SAP SD에서 판매 문서의 단가가 "어디서, 어떤 규칙으로" 튀어나오는지 추적할 수 있는 사람은 의외로 적습니다. 그 비밀은 Condition Technique(조건 기법)이라는 5요소 구조에 있습니다. 이 글은 견적(Quotation)과 수주(Sa
이 글이 답하는 질문 자재를 구매하면 창고에 물건이 도착하고 입고(GR, Goods Receipt)를 전기합니다. 그런데 설비 점검, 청소 용역, IT 유지보수 같은 서비스 를 구매하면 트럭에서 내릴 실물이 없습니다. 그럼 입고는 어떻게 될까요? 이 글은 아래 질문에 답합니다. Q. 서
왜 파티셔닝인가: 이 글에서 다루는 것 SAP HANA에서 대용량 테이블을 운영하다 보면 어느 순간 "어제까지 잘 돌던 쿼리가 갑자기 느려졌다"는 상황을 만나게 됩니다. 원인은 다양하지만, 수억 건 이상 쌓인 컬럼 스토어 테이블을 파티셔닝 없이 방치한 경우가 대표적입니다. 이 글은 초급
채권 잔액은 어디에 기록되는가 — 개념 배경 SAP FI에서 고객에게 송장을 전기하면 회계 담당자는 두 곳에서 그 금액을 확인할 수 있습니다. 하나는 거래처별 상세가 남는 보조원장(Subledger) , 즉 고객 계정이고, 다른 하나는 재무제표의 원천인 총계정원장(General Ledg
📖 개요: 프로젝트 첫 주에 결정한 것들이 1년을 좌우합니다 SAP BTP 프로젝트는 첫 2주 안에 내린 결정(리전, 서브계정 구조, 권한 모델)이 이후 운영 전체를 지배합니다. 문제는 이 결정들이 나중에 바꾸기 매우 어렵다는 점입니다. 예를 들어 서브계정의 리전은 생성 후 변경할 수
📖 개요: 여신 체크가 수주를 막는 순간 영업 담당자가 "수주가 갑자기 저장이 안 돼요"라고 말할 때, 원인의 상당수는 여신관리(Credit Management)입니다. 그런데 같은 여신한도 초과라도 수주 저장 시점 에 막히는 회사가 있고, 납품 생성 시점 또는 출고(PGI) 시점 에
1. 이 글이 답하는 질문 구매송장을 전기하면 SAP는 "언제까지 갚아야 하는지"와 "일찍 갚으면 얼마를 깎아주는지"를 자동으로 계산합니다. 이 계산의 출발점이 지급조건(Payment Terms) 과 기산일(Baseline Date) 입니다. 이 글은 SAP S/4HANA(온프레미스 2
📖 개요: CAP Node.js 인증 3가지 방식, 무엇을 언제 써야 할까 SAP BTP 위에서 CAP(Cloud Application Programming Model) Node.js 서비스를 개발하다 보면, 로컬에서 잘 돌던 서비스가 배포 후 401 오류를 뿜는 순간을 반드시 만나게
📖 개요 — 이 글에서 다루는 것 기계 한 대를 1억 원에 샀는데 운반비 300만 원, 설치비 500만 원, 시운전비 200만 원이 따라붙었다면, 이 부대비용은 자산 취득가액에 얹어야 할까요, 아니면 당기비용으로 바로 털어야 할까요? 이 판단 하나가 향후 수년간의 감가상각비 흐름과 당
왜 액션 정의에서 자꾸 막히는가 Joule Studio로 커스텀 스킬을 만들 때 가장 많은 시간을 잡아먹는 구간은 화면 디자인도, 대화 흐름도 아닌 액션(Action) 정의 입니다. 액션은 Joule이 실제 백엔드 API를 호출하는 통로인데, 여기서 파라미터 스키마·매핑·인증·설명문 중
이 글이 답하는 질문 월말 결산 때마다 GR/IR(입고미청구) 계정에 잔액이 남아 있어서 "이거 왜 안 지워졌지?"를 반복하고 있다면, 이 글이 그 원인을 구조적으로 짚어드립니다. 입고(GR)와 송장(IR)이 짝을 이루지 못하는 순간 잔액이 생기는데, 그 패턴은 생각보다 몇 가지로 정리
📖 개요: 이 글에서 다루는 것 같은 데이터, 같은 결과를 내는 Calculation View인데 하나는 0.4초, 다른 하나는 4초가 걸리는 경우가 있습니다. 원인은 대부분 조인을 Star Join 노드 로 모델링했는지, 개별 Graphical Join(Join 노드) 을 쌓아 올렸
📖 개요 — 왜 이 둘을 구분해야 하는가 "우리 모바일 사업부, 이번 분기에 흑자였나요?"라는 질문에 코스트센터 리포트만으로 답하려다 막힌 경험이 있다면 이 글이 도움이 됩니다. 코스트센터(Cost Center)와 이익센터(Profit Center)는 SAP 관리회계(CO)의 대표적인
개요: 왜 "그냥 HTTP로 쏘면 되지"가 실패로 끝나는가 가상의 유통사 '한빛리테일'이 물류센터 출하 정보를 SAP S/4HANA로 전송하는 프로젝트를 상상해 봅시다. 개발팀은 "IDoc도 결국 XML이니까 HTTP Adapter로 엔드포인트에 POST하면 끝"이라고 판단했고, 오픈
이 글이 답하는 질문 SAP PM(Plant Maintenance, S/4HANA에서는 Asset Management) 모듈을 처음 운영하는 현장에서 가장 자주 발생하는 데이터 왜곡이 하나 있습니다. 정비 담당자들이 설비 통지(Maintenance Notification)는 성실하게 등
왜 실적확인 하나 빠졌다고 원가가 무너지는가 생산오더의 원가는 크게 두 갈래로 쌓입니다. 자재 출고가 만드는 재료비, 그리고 작업실적확인(Confirmation)이 만드는 가공비입니다. 재료비는 눈에 보이는 출고 전표가 있어 누락을 알아채기 쉽지만, 가공비는 작업자가 CO11N에서 활동
이 글에서 다루는 것과 도달 지점 SAPUI5/OpenUI5 앱의 초기 로딩 성능을 좌우하는 두 가지 번들, Component-preload.js 와 library-preload.js 를 빌드 최적화 관점에서 비교합니다. 두 파일이 각각 언제 생성되고 어떤 시점에 로드되는지, UI5 T
이 글이 답하는 질문 구매오더(ME21N)에서 자재와 공급업체를 입력했는데 단가 칸이 비어 있거나 0으로 뜨는 상황, MM 담당자라면 한 번쯤 겪습니다. 이 글은 "PO 단가는 대체 어디서 오는가"라는 질문에 데이터 레벨로 답합니다. 예제 기준은 SAP S/4HANA 2023 온프레미스
이 글에서 다루는 내용 SAP HANA 기반 시스템에서 복잡한 계산 로직을 데이터베이스로 내리는(Code Pushdown) 대표 수단이 CDS Table Function과 AMDP(ABAP Managed Database Procedure)입니다. 두 기술 모두 내부적으로 SQLScrip