BDEF 순서 무시 그만 — RAP Activate 체크리스트 #shorts #SAP #RAP
📖 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)으로 첫 앱을 만들면 대부분 코드 문법보다 활성화(Activate) 순서 에서 먼저 넘어집니다. CDS View는 멀쩡한데 Behavior Definition(BDEF)이 활성
📖 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)으로 첫 앱을 만들면 대부분 코드 문법보다 활성화(Activate) 순서 에서 먼저 넘어집니다. CDS View는 멀쩡한데 Behavior Definition(BDEF)이 활성
📖 개요 및 이 글에서 다루는 것 CAP Java 애플리케이션이 자기 데이터베이스만 바라보는 경우는 드뭅니다. 실무에서는 S/4HANA의 OData API나 다른 팀이 만든 마이크로서비스를 호출해 데이터를 합쳐 보여줘야 하는 상황이 훨씬 많습니다. 이 글에서는 CAP Java의 Rem
BAPI와 OData, 무엇이 다른가 — 패러다임 비교 BAPI는 함수 모듈 기반의 RFC 프로토콜 위에서 동작합니다. 호출자는 SAP GUI 프로토콜 계층을 이해하는 커넥터(JCo, NCo 등)를 갖춰야 하고, 파라미터 구조는 ABAP 딕셔너리 타입에 강하게 결합됩니다. 반면 ODat
개요: 왜 CAP 쿼리 성능을 다시 봐야 하는가 SAP CAP(Cloud Application Programming Model) Node.js 런타임은 CQL(CDS Query Language)을 통해 데이터베이스 접근을 추상화합니다. 편리한 만큼, 추상화 뒤에서 어떤 SQL이 실행되는
개요 — 핸들러 실행 순서를 알아야 하는 이유 CAP Java(SAP Cloud Application Programming Model, Java 런타임)에서 커스텀 비즈니스 로직은 @Before , @On , @After 세 페이즈(Phase)의 이벤트 핸들러로 작성합니다. 이 세 페이
개요: 핸들러 실행 순서를 알아야 하는 이유 CAP Java(SAP Cloud Application Programming Model, Java 런타임)에서 커스텀 로직은 @Before , @On , @After 세 가지 페이즈(Phase)의 이벤트 핸들러로 작성합니다. 문제는 이 세 페
📖 개요와 이 글의 목표 SAPUI5로 List Report 화면을 freestyle로 직접 그리다 보면 필터바, 테이블, 변형 관리(Variant Management), 초안(Draft) 처리까지 반복 구현하게 됩니다. Fiori Elements는 이 반복을 어노테이션 기반 템플릿으
왜 Fiori Elements인가 — 프리스타일 개발의 함정 SAPUI5로 List Report 화면을 처음부터 직접 만들어 본 적이 있다면 공감할 것이다. 필터바를 붙이고, 테이블을 바인딩하고, 변형 관리(Variant Management)를 연결하고, 내보내기 버튼을 달고, 접근성과
📖 개요: 이 글에서 다루는 것 SAP UI5 초급 개발자가 가장 자주 저지르는 실수 중 하나는 addPage() 나 to() 호출로 화면을 직접 밀어 넣는 방식입니다. 이렇게 만들면 브라우저 뒤로 가기 버튼이 동작하지 않고, URL을 복사해 공유해도 항상 첫 화면만 열립니다. 이 글
1. Window 함수가 필요한 순간 — 서브쿼리 지옥에서 벗어나기 SAP HANA에서 "카테고리별 매출 상위 3개 제품"을 뽑아야 할 때, Window 함수를 모르면 보통 상관 서브쿼리(correlated subquery)나 셀프 조인으로 해결하게 됩니다. 문제는 이 방식이 행마다 서
1. RAP에서 집계 데이터가 필요한 이유 RAP(ABAP RESTful Application Programming Model)로 만든 트랜잭션 앱은 개별 레코드의 생성·수정에는 강하지만, 실무에서는 "이번 달 영업조직별 매출 합계", "고객별 주문 건수" 같은 집계 관점 의 화면이 반
📖 개요: 이 글에서 다루는 내용 비용 센터 계층, 예산 항목 트리, 프로젝트 WBS처럼 부모-자식 관계가 재귀적으로 반복되는 데이터 는 엔터프라이즈 애플리케이션에서 가장 자주 등장하는 구조 중 하나입니다. 그런데 RAP(RESTful ABAP Programming Model)은 기본
1. Criticality가 없을 때 Fiori 앱이 왜 밋밋한가 RAP(ABAP RESTful Application Programming Model)으로 List Report 앱을 처음 만들어 보면 데이터는 잘 나오는데 화면이 이상하게 밋밋합니다. 판매 오더가 "지연" 상태든 "완료"
📖 개요 및 이 글에서 얻어갈 것 SAP CAP(Cloud Application Programming Model)으로 백엔드를 만들고 나서, UI를 위해 SAPUI5 화면을 처음부터 코딩하고 있다면 이미 먼 길을 돌아가고 있는 것입니다. CAP은 CDS 모델에 annotation 몇
KEKO 테이블의 구조와 원가 견적 도메인 개요 SAP 제품 원가 계산(Product Cost Planning, CO-PC) 영역에서 KEKO 는 수십 년간 원가 견적(Cost Estimate)의 헤더 정보를 담아온 핵심 테이블입니다. 자재별 표준 원가 견적을 생성(CK11N)하고 표시
📖 개요 — 이 글에서 얻을 수 있는 것 SAP CAP(Cloud Application Programming Model) for Node.js에서 커스텀 로직은 before / on / after 세 단계의 이벤트 핸들러로 구현됩니다. 세 단계는 이름만 다른 게 아니라 실행 시점, r
1. I_PurchaseContractItem이 해결하는 문제 구매 계약(Purchasing Contract)은 특정 자재나 서비스를 정해진 기간·조건에 반복 조달하기 위한 아웃라인 협약(Outline Agreement)입니다. SAP ERP 시절에는 EKKO(헤더)/EKPO(아이템)
개요와 이 글에서 얻어갈 것 OData 서비스를 개발하면서 헤더와 아이템을 두 번씩 나눠 호출하고 있다면, 이는 네트워크 왕복(round-trip)을 두 배로 소비하는 안티패턴입니다. 실제로 판매 주문 500건을 화면에 뿌리려고 헤더 GET → 아이템 GET을 순차 호출하면 500 +
개요 및 이 글에서 다루는 것 SAP Fiori 앱을 데스크톱에서만 테스트하고 배포한 뒤 "모바일에서 표가 잘려 보인다"는 컴플레인을 받아본 개발자가 많을 것입니다. Fiori 디자인 가이드라인은 세 가지 폼팩터(Phone/Tablet/Desktop)를 동시에 지원해야 한다고 명시하지만
개요 및 이 글에서 얻어갈 것 Fiori Launchpad에 앱을 배포했는데 사용자들이 "타일만 봐서는 지금 처리할 일이 있는지 없는지 모르겠다"고 불평한 경험이 있다면, 이 글이 정확히 그 문제를 해결합니다. Static Tile(정적 타일)만 나열된 홈 화면은 사용자에게 매번 앱을