RESULT 빠뜨리면 큰일 #shorts #SAP #RAP
개요 및 이 글에서 다루는 내용 SAP RAP(RESTful ABAP Programming Model)에서 Action은 비즈니스 오브젝트에 상태 변경 로직을 담는 핵심 구성 요소입니다. 하지만 실무에서 Action을 구현할 때 RESULT 파라미터를 제대로 채우지 않아 Fiori El
개요 및 이 글에서 다루는 내용 SAP RAP(RESTful ABAP Programming Model)에서 Action은 비즈니스 오브젝트에 상태 변경 로직을 담는 핵심 구성 요소입니다. 하지만 실무에서 Action을 구현할 때 RESULT 파라미터를 제대로 채우지 않아 Fiori El
개요 및 이 글에서 다룰 것 ABAP RESTful Application Programming Model(RAP)에서 비즈니스 오브젝트(BO)에 파일 첨부 기능을 얹는 작업은 겉으로 보면 단순해 보이지만, Stream 어노테이션과 content type 처리를 놓치면 Fiori Elem
VBAK 직접 조회의 문제점과 한계 SAP ERP 시절부터 SD 모듈을 다뤄본 개발자라면 VBAK 테이블에 익숙할 것입니다. 견적(Quotation), 수주(Sales Order), 계약(Contract) 등 모든 판매 문서의 헤더가 이 하나의 테이블에 저장되기 때문에, VA21로 생성
구매 오더 삭제 시 라인/스케줄이 남는 문제 파헤치기 ERP 실무에서 가장 흔히 만나는 문제 중 하나가 PurchaseOrder(구매 오더) 를 삭제했는데 PurchaseOrderItem(라인 아이템) 이나 PurchaseOrderItemSchedule(납기 일정) 이 데이터베이스에 그
개요 및 이 글에서 다루는 것 오래된 ABAP 코드는 대부분 7.02 이전 문법으로 작성되어 있어, 변수 선언이 상단에 몰려 있거나 내부 테이블 처리에 LOOP...MODIFY 패턴이 반복됩니다. ABAP 7.4부터 도입된 New Syntax 는 이러한 코드를 절반 이하 라인으로 줄이면
개요와 이 글에서 다루는 것 ABAP 7.40 이후 도입된 인라인 선언( DATA(...) , FINAL(...) )과 표현식 기반 연산자( VALUE , CORRESPONDING , FILTER , REDUCE , FOR )는 코드를 극적으로 짧게 만들어 줍니다. 그러나 실제 프로젝트
개요 및 이 글의 목표 SAP Fiori 앱을 열었을 때 "권한이 없다"는 메시지 대신 빈 화면이나 일부 데이터만 노출되는 경험을 한 적이 있을 것입니다. 이는 Fiori 아키텍처가 여러 계층(Launchpad → ICF → OData → CDS → DB)에서 각각 다른 권한 체크를 수
이 글에서 다루는 것 RAP(RESTful ABAP Programming Model)로 구축한 비즈니스 오브젝트는 기본적으로 모든 사용자에게 열려 있는 문 과 같습니다. BDEF(Behavior Definition)에 authorization 절을 명시하지 않으면 CREATE·UPDAT
개요 및 이 글에서 다루는 것 SAP Cloud Application Programming Model(CAP)로 서비스를 만들다 보면 표준 CRUD로는 표현이 어려운 비즈니스 오퍼레이션이 반드시 등장합니다. 예를 들어 구매 요청 승인 , 재고 가용성 조회 , 주문 취소 같은 동작은 단순
이 글에서 다룰 것 UI5에서 다량의 비즈니스 데이터를 화면에 뿌릴 때 가장 먼저 부딪히는 고민은 "어떤 컨트롤을 써야 하지?"입니다. sap.m.Table , sap.m.List , sap.m.Tree 는 겉보기에는 비슷하지만, 데이터 구조와 사용자 시나리오에 따라 명확히 다른 선택을
1. 개요 및 이 글에서 다루는 범위 ABAP 개발 현장에서 "테스트는 나중에", "DB에 값 넣고 눈으로 확인하면 되지"라는 관성은 여전히 강합니다. 그러나 S/4HANA 전환과 Clean Core 원칙이 확산되면서, DB 의존 없는 단위 테스트가 품질 게이트의 표준으로 자리잡고 있습
1. RAP 디버깅이 왜 유독 까다로운가 ABAP RESTful Application Programming Model(RAP)은 CDS 뷰, Behavior Definition(BDEF), Behavior Implementation(BIL) 클래스, Service Definition,
개요 및 핵심 포인트 RAP(RESTful Application Programming Model) 기반 서비스에서 대량 데이터를 다룰 때 가장 흔히 발생하는 문제 중 하나가 바로 "필터링 누락으로 인한 전체 스캔"입니다. 프론트엔드에서 $filter , $top , $skip 쿼리를 던
이 글의 목적과 도달점 SAP RAP(ABAP RESTful Application Programming Model)로 Fiori Elements 앱을 개발하다 보면, 개발 초기에는 @UI 어노테이션을 CDS 뷰 안에 직접 넣는 경우가 많습니다. 처음에는 편리해 보이지만, 필드가 30개를
placeholder
COEP의 시대가 끝났다 — S/4HANA 비용 아키텍처 전환 ECC 시절 원가회계 담당자에게 COEP는 성전(聖典)이었다. 실적 라인 아이템은 여기 있었고, 배부·정산·재분배 결과도 모두 여기로 흘러들었다. 그러나 S/4HANA로 넘어오면서 회계 데이터 모델은 Universal Jou
STRING_AGG가 필요한 이유 — 여러 행을 한 줄로 관계형 데이터베이스에서 자주 마주치는 상황이 있습니다. 하나의 고객이 여러 개의 주문을 갖고, 하나의 주문이 여러 개의 상품 라인을 갖습니다. 이 데이터를 화면이나 리포트에 표시할 때 "고객 A: 노트북, 마우스, 키보드" 같은
왜 SM19를 지금 다시 이야기해야 하는가 SAP 시스템을 운영하면서 "누가, 언제, 어떤 계정으로, 어떤 트랜잭션을 실행했는가"라는 질문에 답할 수 없다면 감사·규제 대응은 물론이고 침해 사고 발생 시 원인 추적이 사실상 불가능합니다. 이 글은 SAP NetWeaver AS ABAP
CAP 프로젝트에서 HANA Cloud 연결이 실패하는 진짜 이유 SAP CAP(Cloud Application Programming) 프로젝트를 처음 HANA Cloud에 연결하려는 개발자들이 공통으로 겪는 상황이 있다. cds watch 로 로컬에서 잘 돌아가던 서비스가 HANA C
개요와 이 글에서 얻게 될 것 CAP(SAP Cloud Application Programming Model) 프로젝트를 로컬에서 cds watch 로 개발하다가 BTP HANA Cloud로 전환하는 순간 대다수 개발자가 "connection refused" 혹은 "no such tab