cds.tx() 없이 — CAP Node 롤백 실수 3가지 #shorts #SAP #CAPforNode
개요: 왜 트랜잭션 롤백을 정확히 알아야 하는가 CAP(SAP Cloud Application Programming Model) Node.js 런타임은 요청 단위로 트랜잭션을 자동 관리해 줍니다. 덕분에 대부분의 경우 개발자가 커밋과 롤백을 직접 호출할 일이 없지만, 바로 그 편리함 때
개요: 왜 트랜잭션 롤백을 정확히 알아야 하는가 CAP(SAP Cloud Application Programming Model) Node.js 런타임은 요청 단위로 트랜잭션을 자동 관리해 줍니다. 덕분에 대부분의 경우 개발자가 커밋과 롤백을 직접 호출할 일이 없지만, 바로 그 편리함 때
📖 개요: 이 글에서 다루는 것 ABAP CDS 뷰만으로는 표현하기 어려운 복잡한 계산 로직을 만나면, CDS Table Function이 강력한 탈출구가 됩니다. 이 글은 가상의 물류 시나리오(창고 재고 회전율 분석)를 바탕으로 Table Function과 AMDP를 결합해 HANA
📖 개요 — 원가는 어디서 태어나는가 같은 제품인데 왜 표준원가가 회사마다, 심지어 플랜트마다 다를까요? 답은 두 개의 마스터 데이터에 있습니다. BOM(자재명세서)은 재료비를, 라우팅(작업순서)은 가공비를 결정 하고, 표준원가 산정(CK11N)은 이 둘을 한 장의 원가 내역으로 합쳐
개요: Joule로 ABAP 코드 리뷰를 자동화한다는 것 코드 리뷰는 ABAP 팀의 품질을 지키는 마지막 관문이지만, 리뷰어의 시간과 컨디션에 따라 품질 편차가 큰 작업이기도 합니다. SAP의 생성형 AI 코파일럿인 Joule 은 ABAP Development Tools(ADT) 안에서
📖 개요와 이 글의 목표 SAP QM(품질관리)에서 검사로트(Inspection Lot)는 "이 재고를 품질검사 대상으로 잡았다"는 문서입니다. 실무에서 가장 많이 받는 질문이 "입고했는데 왜 검사로트가 안 생기죠?"인데, 원인은 거의 항상 세 가지 조건 중 하나가 빠져 있기 때문입니
개요 — 이 글에서 얻어갈 것 SD 청구(Billing) 문서를 처음 접하면 F2, G2, L2라는 코드가 같은 화면(VF01)에서 만들어지는데도 회계에 미치는 방향이 정반대라는 점 때문에 혼란이 생깁니다. 이 글은 세 가지 표준 청구유형이 어떤 업무 트리거로 생성되는지 , 그리고 FI
왜 파티셔닝인가: 이 글에서 다루는 것 SAP HANA에서 대용량 테이블을 운영하다 보면 어느 순간 "어제까지 잘 돌던 쿼리가 갑자기 느려졌다"는 상황을 만나게 됩니다. 원인은 다양하지만, 수억 건 이상 쌓인 컬럼 스토어 테이블을 파티셔닝 없이 방치한 경우가 대표적입니다. 이 글은 초급
📖 개요: 프로젝트 첫 주에 결정한 것들이 1년을 좌우합니다 SAP BTP 프로젝트는 첫 2주 안에 내린 결정(리전, 서브계정 구조, 권한 모델)이 이후 운영 전체를 지배합니다. 문제는 이 결정들이 나중에 바꾸기 매우 어렵다는 점입니다. 예를 들어 서브계정의 리전은 생성 후 변경할 수
📖 개요: 사용자가 온프레미스로 안 넘어갈 때 어디부터 봐야 하는가 SAP BTP 앱에서 온프레미스 S/4HANA를 호출할 때 Principal Propagation(주체 전파)을 켜면, 클라우드에서 로그인한 사용자의 신원이 백엔드까지 그대로 전달되어 백엔드 권한(PFCG)으로 데이터
왜 Destination 인증 방식 선택이 중요한가 SAP BTP에서 외부 시스템을 호출할 때 Destination Service는 "어디로, 어떤 자격으로" 연결할지를 정의합니다. 문제는 인증 타입을 무엇으로 고르느냐에 따라 백엔드 감사 로그에 남는 주체 가 완전히 달라진다는 점입니다
📖 개요 — 정산을 안 하면 무슨 일이 생기는가 내부오더(Internal Order)는 마케팅 행사, 설비 소모성 수리, 사내 프로젝트처럼 임시로 원가를 모아두는 그릇입니다. 그런데 이 그릇은 어디까지나 중간 집계 객체 라서, 기말에는 모아둔 원가를 최종 수신자(코스트센터, 자산, G
📖 개요 — 마감 기간이 왜 두 개인가 월초마다 반복되는 미스터리가 있습니다. 회계팀은 분명히 전기기간을 열어놨다고 하는데, 자재 입고(MIGO)를 치면 "기간이 마감되었습니다" 메시지가 뜨는 상황입니다. 원인은 SAP ERP(ECC 6.0)와 S/4HANA가 FI 전기기간(OB52)
📖 왜 JPY 청구서가 100배로 찍혔을까 일본 법인 청구서에 12,500엔이 나가야 하는데 화면에는 125엔, IDoc에는 1,250,000엔이 찍히는 사고. ABAP 금액 처리에서 가장 자주 터지는 유형이며, 원인은 거의 항상 하나입니다. 통화별 소수 자릿수를 정의하는 TCURX
📖 개요 — 이 글에서 다루는 것 SAP FI의 G/L 계정은 크게 미결 관리(Open Item Management, OIM) 계정 과 일반(잔액 관리) 계정 으로 나뉩니다. 같은 잔액이라도 두 유형은 "잔액을 어떻게 검증하고 소멸시키는가"가 완전히 다릅니다. 이 글은 SAP S/4H
📖 개요 — 이 글에서 확인할 것 수출 대금 청구 전표를 USD로 입력했는데, 원화(KRW) 금액과 그룹통화(EUR) 금액이 각각 다른 환율로 계산된 것처럼 보인 적이 있다면, 원인은 대부분 환산 시점과 환산 기준의 차이 에 있습니다. SAP FI는 하나의 전표에 최소 두 개, 많게는
📖 개요 및 이 글에서 다루는 내용 커스텀 전표 생성 배치가 밤새 돌다가 "전기기간이 마감되었습니다"로 수백 건이 실패해 있는 아침을 겪어본 적이 있다면 도움이 될 글입니다. BAPI 호출 후 실패를 수습하는 대신, 호출 전에 대상 회계기간이 열려 있는지 선검증하는 구조를 다룹니다.
📖 개요 — 이 글에서 얻을 수 있는 것 SAP FI에서 전표를 입력하다 보면 "이 전기키로는 이 계정을 쓸 수 없습니다" 같은 메시지에 자주 부딪힙니다. 그 뿌리에는 계정유형(Account Type) S·D·K·M·A라는 다섯 글자가 있습니다. 이 글은 계정유형이 전기키(Postin
이 글에서 다루는 내용과 목표 SAP를 처음 접하는 분들이 가장 자주 혼동하는 개념이 바로 회사코드(Company Code)와 원가통제단위(Controlling Area)의 차이입니다. 둘 다 "조직 단위"라는 점은 같지만, 하나는 법적 재무회계(FI)를 위한 그릇이고 다른 하나는 내부
이 글에서 얻어갈 것 — 30초 요약의 전체 지도 Fiori Elements는 어노테이션 기반으로 화면을 자동 생성하는 프레임워크지만, 실무에서는 반드시 "표준에 없는 버튼 하나, 컬럼 하나"를 추가해야 하는 순간이 옵니다. 이 글은 그때 필요한 확장 포인트를 종류별로 빠르게 정리한 실
📖 개요 — 이 글에서 다루는 것 SAP Fiori elements 기반 앱에서 사용자가 입력하다 만 데이터를 안전하게 임시 저장해 주는 Draft(초안) 패턴은, CAP Node.js에서는 어노테이션 한 줄( @odata.draft.enabled )로 켤 수 있습니다. 그런데 "한