BSX vs PRD — 가격차이 재고 흡수 조건 #shorts #SAP #SAP
📖 개요 및 이 글에서 얻어갈 것 송장검증(MIRO)에서 구매오더 가격과 송장 가격이 다를 때, 그 차액이 어떤 조건에서 손익계정(가격차이 계정)으로 가고 어떤 조건에서 재고 계정 자체로 흡수되는지는 MM-FI 통합의 가장 자주 질문받는 지점 중 하나입니다. 이 글은 평가방식(가격결정
📖 개요 및 이 글에서 얻어갈 것 송장검증(MIRO)에서 구매오더 가격과 송장 가격이 다를 때, 그 차액이 어떤 조건에서 손익계정(가격차이 계정)으로 가고 어떤 조건에서 재고 계정 자체로 흡수되는지는 MM-FI 통합의 가장 자주 질문받는 지점 중 하나입니다. 이 글은 평가방식(가격결정
이 글이 답하는 질문 출고전기까지 끝난 납품전표인데 VF01을 열면 "청구 대상 전표가 없습니다"가 뜬다. 창고는 물건을 보냈고 재고도 빠졌는데 매출이 안 잡히는 상황이다. 이 글에서는 그 원인의 8할을 차지하는 항목범주(Item Category)의 청구관련 지시자(Billing Rel
이 글에서 다루는 내용 RAP(ABAP RESTful Application Programming Model)으로 만든 서비스에 여러 건의 변경을 한 번에 보냈는데, 딱 한 건의 검증 오류 때문에 나머지 아홉 건까지 전부 사라지는 경험을 해본 적이 있을 것입니다. 이것은 버그가 아니라 O
📖 개요: 이 글에서 다루는 것 RAP(RESTful Application Programming Model)에서 Early Numbering 을 직접 구현하면, 사용자가 저장 버튼을 누르기 전에 이미 문서번호가 확정됩니다. 편리해 보이지만, 두 사용자가 동시에 생성 트랜잭션을 시작하는
개요 — 이 글에서 확인할 내용 RAP(ABAP RESTful Application Programming Model)에서 액션이 실패해 트랜잭션 전체가 롤백되었는데, 다음 문서를 생성하면 번호가 하나 건너뛰어 있는 현상을 본 적이 있을 것입니다. 예를 들어 판매오더 SO-1007 생성이
개요와 목표 체크리스트 SAP Joule은 SAP 애플리케이션 전반에 내장되는 생성형 AI 코파일럿입니다. 이 글은 기존 레거시 챗봇(intent/webhook 방식)과 비교하면서, Joule Studio에서 커스텀 액션(Custom Action) 을 등록하고 SAP BTP CAP 서비
📖 개요: Draft 저장 로직, 왜 자꾸 오해가 생길까 SAP CAP(Cloud Application Programming Model) Node.js 런타임에서 Fiori Elements 앱을 만들 때 가장 자주 마주치는 기능이 바로 Draft(초안) 입니다. 어노테이션 한 줄이면
이 글이 답하는 질문 목록 화면이 건수가 늘수록 느려지는데, 쿼리는 한 번뿐인 것 같다면 어디를 봐야 하나? 필요한 필드만 고르는 것이 실제로 얼마나 차이를 만드는가? 연관 데이터를 가져올 때 확장과 개별 조회 중 무엇을 골라야 하나? 대량 저장에서 건별 처리와 묶음 처리는 어디서 갈리
📖 개요 — 이 글에서 다루는 문제 RAP(ABAP RESTful Application Programming Model)에서 precheck 으로 수정 요청을 분명히 차단했는데, Fiori Elements 화면에는 사용자가 입력한 값이 그대로 남아 있는 현상을 다룹니다. 서버 로그를
왜 Joule 커스텀 액션인가 SAP Joule은 단순한 사내 챗봇이 아니라, SAP 애플리케이션 전반에 걸쳐 동작하는 코파일럿 계층입니다. 이 글은 Joule Studio에서 커스텀 액션(스킬)을 정의하고 실제 SAP 백엔드 — RAP 액션과 CAP 서비스 — 를 호출하도록 연동하는
📖 개요 및 핵심 체크리스트 CAP Java 프로젝트가 커지면 어느 순간 이런 질문이 반복됩니다. "이 필드는 @readonly 로 막아야 하나, 아니면 핸들러에서 검사해야 하나?" "권한은 @requires 인가 @restrict 인가?" 어노테이션은 종류가 많은 데다 이름이 비슷해
📖 개요: 이 글에서 다루는 것 CAP Java 프로젝트에서 CDS 어노테이션은 단순한 메타데이터가 아니라, 런타임 동작(검증·권한·CRUD 제한)과 UI 렌더링을 실제로 바꾸는 선언적 계약입니다. 문제는 "어떤 어노테이션을 CDS에 걸고, 어떤 로직을 Java 핸들러로 내려야 하는가
📖 개요 — 이 글에서 얻어갈 것 RAP(ABAP RESTful Application Programming Model)으로 트랜잭셔널 앱을 설계할 때 가장 먼저 마주치는 갈림길이 관리형(managed)과 비관리형(unmanaged)의 선택입니다. 관리형은 프레임워크가 CRUD·버퍼·저
왜 "느린 CDS 뷰"는 원인 찾기가 더 어려운가 ABAP CDS 뷰는 로직을 데이터베이스로 내려보내는 코드 푸시다운(Code Pushdown)의 핵심 도구지만, 바로 그 특성 때문에 성능 문제가 생기면 원인이 ABAP 레이어가 아닌 HANA 내부 실행 과정에 숨어버립니다. 이 글은 해
개요: 왜 CDS 모델 확장을 알아야 하는가 CAP(Cloud Application Programming Model) 프로젝트가 커지면 하나의 CDS 모델을 여러 팀, 여러 앱이 공유하게 됩니다. 이때 원본 모델 파일을 직접 고치지 않고 필드·연관·어노테이션을 덧붙이는 기법이 바로 CD
개요: Path Expression 한 줄이 조인 폭탄이 되는 순간 ABAP CDS를 처음 접하면 Association과 Path Expression은 "편리한 조인 문법" 정도로 보입니다. 그런데 실무에서는 이 둘의 구조적 차이를 이해하지 못한 채 Path Expression을 남용하
📖 이 글에서 다루는 내용 전통적인 Java 엔터프라이즈 개발에서는 이벤트 리스너 하나를 붙이려면 XML 설정 파일에 bean을 선언하고 wiring을 관리해야 했습니다. CAP Java(SAP Cloud Application Programming Model)는 이 과정을 뒤집었습니다
📖 이 글에서 다루는 내용과 목표 S/4HANA 프로젝트에서 화면 하나를 만들 때마다 반복되는 질문이 있습니다. "이건 RAP으로 갈까, 그냥 SE38 리포트로 끝낼까?" 이 글은 RAP(RESTful ABAP Programming Model)과 클래식 리포트(SE38 + ALV)의
개요: 이 글에서 다루는 것 SAP CAP(Cloud Application Programming Model) Java 애플리케이션에서 @requires 어노테이션은 인증(Authentication)과 역할 기반 접근 제어를 선언적으로 처리하는 핵심 도구입니다. 이 글에서는 물류 창고 운
왜 CAP Node.js 인증 미들웨어를 다시 봐야 하는가 CAP(Cloud Application Programming Model) Node.js 서비스는 기본적으로 @(requires:'authenticated-user') 같은 CDS 어노테이션만으로도 인증이 걸린 것처럼 보인다. 문