재조정계정 vs 대체계정 — 선급금 위치 갈리는 이유 #shorts #SAP #FI
📖 개요: 선급금이 외상매입금이 아닌 다른 계정에 잡히는 이유 SAP FI에서 벤더에게 선급금을 지급하고 나서 재무제표나 G/L 잔액을 조회하면, 분명 벤더 앞으로 전기했는데 외상매입금 계정이 아닌 전혀 다른 계정에 금액이 표시되는 것을 보게 됩니다. 처음 접하면 "전기가 잘못된 건가
📖 개요: 선급금이 외상매입금이 아닌 다른 계정에 잡히는 이유 SAP FI에서 벤더에게 선급금을 지급하고 나서 재무제표나 G/L 잔액을 조회하면, 분명 벤더 앞으로 전기했는데 외상매입금 계정이 아닌 전혀 다른 계정에 금액이 표시되는 것을 보게 됩니다. 처음 접하면 "전기가 잘못된 건가
📖 개요 — 이 글에서 확인할 것 수출 대금 청구 전표를 USD로 입력했는데, 원화(KRW) 금액과 그룹통화(EUR) 금액이 각각 다른 환율로 계산된 것처럼 보인 적이 있다면, 원인은 대부분 환산 시점과 환산 기준의 차이 에 있습니다. SAP FI는 하나의 전표에 최소 두 개, 많게는
개요: 검증 "없이" 열어둔 인터페이스가 만드는 사고 외부 시스템에서 회사코드, 플랜트, 판매조직 같은 조직 코드가 넘어오는 인터페이스를 만들 때, "호출하는 쪽이 알아서 맞는 값을 보내겠지"라고 가정하는 순간 사고의 씨앗이 심어집니다. RFC나 API로 노출된 함수는 화면 로직을 거치
📖 개요 및 이 글에서 다루는 내용 커스텀 전표 생성 배치가 밤새 돌다가 "전기기간이 마감되었습니다"로 수백 건이 실패해 있는 아침을 겪어본 적이 있다면 도움이 될 글입니다. BAPI 호출 후 실패를 수습하는 대신, 호출 전에 대상 회계기간이 열려 있는지 선검증하는 구조를 다룹니다.
이 글이 답하는 질문 SD 영역에서 "이 청구서가 어느 수주에서 시작됐는지" 또는 반대로 "이 수주가 지금 어디까지 진행됐는지"를 프로그램으로 추적해야 하는 요건은 끊임없이 나옵니다. 대부분의 개발자가 VBFA 테이블을 재귀적으로 따라가는 코드를 작성하는데, 이 방식은 운영 데이터에서
📖 개요 — 이 글에서 얻을 수 있는 것 SAP FI에서 전표를 입력하다 보면 "이 전기키로는 이 계정을 쓸 수 없습니다" 같은 메시지에 자주 부딪힙니다. 그 뿌리에는 계정유형(Account Type) S·D·K·M·A라는 다섯 글자가 있습니다. 이 글은 계정유형이 전기키(Postin
이 글에서 다루는 내용과 목표 SAP를 처음 접하는 분들이 가장 자주 혼동하는 개념이 바로 회사코드(Company Code)와 원가통제단위(Controlling Area)의 차이입니다. 둘 다 "조직 단위"라는 점은 같지만, 하나는 법적 재무회계(FI)를 위한 그릇이고 다른 하나는 내부
이 글이 답하는 질문 FI 전표를 처음 입력할 때 가장 헷갈리는 두 가지가 전표유형(Document Type)과 전기키(Posting Key)입니다. 둘 다 "계정과 관련된 무언가를 통제한다"고 배우는데, 정확히 무엇을 누가 결정하는지 경계가 모호하게 느껴집니다. 이 글에서는 실무 구매
이 글에서 얻어갈 것 — 30초 요약의 전체 지도 Fiori Elements는 어노테이션 기반으로 화면을 자동 생성하는 프레임워크지만, 실무에서는 반드시 "표준에 없는 버튼 하나, 컬럼 하나"를 추가해야 하는 순간이 옵니다. 이 글은 그때 필요한 확장 포인트를 종류별로 빠르게 정리한 실
이 글이 답하는 질문 "Joule도 결국 ChatGPT 같은 챗봇 아닌가요?"라는 질문을 현장에서 정말 자주 받습니다. 결론부터 말하면, 겉모습(채팅 UI)만 비슷할 뿐 설계 목적과 아키텍처가 근본적으로 다릅니다. 이 글에서는 그 차이를 아키텍처 관점에서 뜯어봅니다. 다 읽고 나면 아래
📖 개요 — 이 글에서 다루는 것 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를 처음 만들면 대부분 한 번은 겪는 문제가 있습니다. 화면은 잘 뜨는데 상단 검색창이 회색으로 비활성화되어 있거나, 검색어를
📖 이 글이 답하는 질문 버튼을 눌렀는데 화면이 3초간 아무 반응이 없다면, 사용자는 앱이 멈췄다고 판단하고 버튼을 다시 누릅니다. 그 결과는 중복 요청, 이중 저장, 그리고 "앱이 느리다"는 평가입니다. SAPUI5(및 OpenUI5)에는 이 문제를 한 줄로 해결하는 setBusy
📖 온프레미스 S/4HANA와 BTP, 왜 함께 쓰는가 많은 기업이 S/4HANA를 온프레미스(자사 데이터센터 또는 프라이빗 클라우드)에 운영하면서도, 확장 기능·모바일 앱·파트너 연동은 SAP BTP(Business Technology Platform) 위에 구축합니다. 핵심 배경은
📖 개요: 자연어 한 문장으로 SAP 업무를 움직이기 SAP 업무 자동화라고 하면 지금까지는 트랜잭션 코드(T-Code)를 외우고, 배치 잡을 걸고, 필요하면 ABAP 커스텀 개발까지 하는 그림이 일반적이었습니다. 이 글은 SAP의 생성형 AI 코파일럿인 Joule 을 SAP BTP
개요 — 이 글에서 얻어갈 것 Calculation View는 SAP HANA 모델링의 중심축이지만, 잘못 설계하면 수 초에서 수 분까지 응답이 느려지는 대표적인 병목 지점이기도 합니다. 이 글은 "왜 느려지는가"를 엔진 동작 원리 수준에서 짚고, PlanViz와 Explain Plan
이 글이 답하는 질문 CREATE OBJECT 와 ?= 조합, 문법상 유효한데 왜 바꾸라고 할까? NEW 는 두 줄을 한 줄로 줄이는 것 이상의 가치가 있을까? CAST 와 ?= 는 뭐가 다르고, 다운캐스트 덤프는 어떻게 막을까? 변수를 구현 클래스 대신 인터페이스 타입으로 잡으면 뭐가
이 글에서 다룰 것 Fiori Elements List Report는 코드를 거의 쓰지 않고도 목록·필터·내비게이션을 갖춘 앱을 만들어 주지만, "표준 템플릿이라 커스터마이징이 안 된다"는 오해가 여전히 많습니다. 실제로는 freestyle로 새로 짜지 않아도 Annotation, ma
📖 개요: CAP Java 트랜잭션 롤백, 왜 자꾸 어긋나는가 SAP CAP(Cloud Application Programming Model) for Java는 개발자가 트랜잭션 경계를 직접 열고 닫지 않아도 되도록 ChangeSet 컨텍스트 라는 추상화를 제공합니다. 편리하지만, 이