SM13 없이 놓치는 업데이트 실패 3가지 #shorts #SAP #ABAP
업데이트가 실패했는데 화면은 "성공"이라고 말하는 이유 ABAP에서 CALL FUNCTION ... IN UPDATE TASK 로 등록한 업데이트 모듈이 실행 중에 예외로 죽으면, 정작 그 트랜잭션을 실행한 사용자 화면에는 아무 일도 일어나지 않습니다. 사용자는 성공 메시지를 보고 자리
업데이트가 실패했는데 화면은 "성공"이라고 말하는 이유 ABAP에서 CALL FUNCTION ... IN UPDATE TASK 로 등록한 업데이트 모듈이 실행 중에 예외로 죽으면, 정작 그 트랜잭션을 실행한 사용자 화면에는 아무 일도 일어나지 않습니다. 사용자는 성공 메시지를 보고 자리
📖 개요: BAPI는 성공했다는데 테이블엔 데이터가 없다? ABAP 입문자가 가장 자주 겪는 미스터리 중 하나가 이것입니다. BAPI를 호출했고, RETURN에 에러도 없었고, 디버거로 보면 오더 번호까지 반환됐는데 — 정작 VBAK 테이블을 조회하면 아무것도 없습니다. 원인은 대부분
📖 개요 및 이 글에서 얻어갈 것 송장검증(MIRO)에서 구매오더 가격과 송장 가격이 다를 때, 그 차액이 어떤 조건에서 손익계정(가격차이 계정)으로 가고 어떤 조건에서 재고 계정 자체로 흡수되는지는 MM-FI 통합의 가장 자주 질문받는 지점 중 하나입니다. 이 글은 평가방식(가격결정
📖 개요 — 이 글에서 얻어갈 것 생산오더를 TECO(기술적 완료) 처리했는데 월말 결산에서 재공품(WIP)이 그대로 남아 있는 경험, 한 번쯤 있을 것입니다. 반대로 CLSD(종결) 처리를 하려다 "잔액이 남아 있다"는 오류에 막히기도 합니다. 이 글은 오더 상태가 재공품 계산과 원
이 글이 답하는 질문 출고전기까지 끝난 납품전표인데 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 핸들러로 내려야 하는가
📖 개요: 트라이얼 만료, 정말 큰일일까 SAP BTP 트라이얼 계정을 쓰다 보면 어느 날 콕핏 상단에 "트라이얼이 곧 종료됩니다"라는 배너가 뜹니다. 이때 많은 분들이 "큰일 났다, 다 날아가는 건가?"라고 당황하는데, 결론부터 말하면 미리 준비하면 큰일이 아니고, 준비 없이 만료일
📖 개요 — 이 글에서 얻어갈 것 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을 남용하
이 글이 답하는 질문 왜 어떤 WBS에는 비용을 붙일 수 있고 어떤 것은 거부되나? 계정지정 요소라는 표시가 정확히 무엇을 여는가? 상위 WBS에 붙이면 안 되는 이유가 있나? 이미 비용이 붙은 WBS의 설정을 나중에 바꿀 수 있나? 계층을 어떤 기준으로 나눠야 나중에 안 꼬이나? 이