cds deploy 생략 금지 — 90%가 겪는 HANA Cloud 오류 #shorts #SAP #CAP
CAP 프로젝트에서 HANA Cloud 연결이 실패하는 진짜 이유 SAP CAP(Cloud Application Programming) 프로젝트를 처음 HANA Cloud에 연결하려는 개발자들이 공통으로 겪는 상황이 있다. cds watch 로 로컬에서 잘 돌아가던 서비스가 HANA C
CAP 프로젝트에서 HANA Cloud 연결이 실패하는 진짜 이유 SAP CAP(Cloud Application Programming) 프로젝트를 처음 HANA Cloud에 연결하려는 개발자들이 공통으로 겪는 상황이 있다. cds watch 로 로컬에서 잘 돌아가던 서비스가 HANA C
이 글에서 다루는 것 S/4HANA Cloud(Public Edition) 환경에서 ABAP 개발을 시작한 개발자들이 가장 많이 부딪히는 벽은 "이 API가 왜 안 되지?"입니다. On-Premise ABAP에서 자유롭게 쓰던 CL_GUI_FRONTEND_SERVICES , SO_NEW
개요 및 이 글에서 얻어갈 것 SAPUI5에서 Dialog를 컨트롤러 내부에서 new sap.m.Dialog(...) 로 즉석 생성하는 코드를 흔히 볼 수 있습니다. 프로토타입 단계에서는 편리하지만 화면 수가 늘어나면 같은 다이얼로그 코드가 여러 파일에 흩어지고, 스타일 변경 한 번에
이 글에서 다루는 내용과 도달 지점 SAP RAP(RESTful ABAP Programming Model)로 실무 서비스를 구축하다 보면 CDS View를 왜 여러 층으로 나누는지 궁금해집니다. 특히 Interface View(I_) 와 Consumption View(C_) 는 겉보기에
이 글에서 얻어갈 것과 체크리스트 ABAP 개발자에게 Git은 오랫동안 낯선 도구였습니다. SE80/ADT의 트랜스포트 요청(TR)이 사실상의 버전 관리 역할을 해왔기 때문입니다. 하지만 클라우드 전환과 오픈소스 생태계가 확산되면서, ABAP 코드도 GitHub/GitLab에 저장하고
JSONModel과 ODataModel이란 무엇인가 SAPUI5(1.120 LTS 기준)에서 뷰(View)와 데이터를 연결할 때 가장 먼저 마주하는 갈림길이 바로 JSONModel 과 ODataModel 입니다. 두 모델 모두 sap.ui.model 네임스페이스 아래에 있으며, 뷰의 컨
개요 및 이 글에서 다루는 것 ABAP에서 구조체(Structure) 간 필드 복사는 일상적인 작업이지만, 사용하는 문법에 따라 코드 가독성·유지보수성·성능이 크게 달라집니다. 이 글에서는 오랫동안 사용되어 온 MOVE-CORRESPONDING 명령문과 ABAP 7.40 이후 등장한 C
글의 목적과 확인 포인트 이 글은 SAP S/4HANA 환경에서 판매 조직(Sales Organization) 마스터 데이터를 조회할 때 전통적인 TVKO 테이블 대신 I_SalesOrganization CDS 뷰를 사용하는 방법을 다룹니다. S/4HANA로 전환한 조직에서는 클래식 S
이 글에서 다루는 내용과 체크포인트 온프레미스 ABAP에서 잘 돌아가던 코드를 S/4HANA Cloud Public Edition이나 SAP BTP ABAP Environment(Steampunk)로 옮기려는 순간, 개발자들은 "Statement is not allowed in ABAP
이 글에서 다루는 내용과 도달 지점 RAP(RESTful ABAP Programming Model)에서 대부분의 서비스는 데이터베이스 테이블 또는 CDS View를 기반으로 만들어집니다. 그러나 실무에서는 SAP 시스템 외부의 REST API, 파일, 메시지 큐 같은 비관계형 소스를 O
이 글에서 얻어갈 것 SAPUI5에서 Dialog는 사용자와의 상호작용에서 가장 자주 등장하는 컨트롤입니다. 그런데 많은 개발자들이 여전히 컨트롤러 안에서 new sap.m.Dialog({...}) 를 직접 호출하며 코드를 길게 늘어뜨리고 있습니다. 이 방식은 화면이 하나일 때는 괜찮지
이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model) 기반으로 서비스를 노출할 때, 개발자가 반드시 마주치는 갈림길이 있습니다. 바로 Service Binding 유형 선택입니다. 같은 Service Definition을 만들었어도,
개요와 이 글에서 얻어갈 것 ABAP 7.40 이후 내부 테이블에서 부분집합을 뽑아내는 방법은 크게 세 갈래로 갈립니다. 표현식 기반의 FILTER 연산자, FOR ... IN ... WHERE ... 형태의 테이블 컴프리헨션, 그리고 전통적인 LOOP AT ... WHERE 반복문입니
UI5 Formatter가 해결하는 실무 문제 SAP UI5 애플리케이션을 개발하다 보면 OData 서비스에서 내려오는 원본 데이터와 사용자가 실제로 화면에서 보고 싶어하는 형태 사이에 큰 간극이 존재합니다. 예를 들어 백엔드는 날짜를 /Date(1717200000000)/ 형태의 Ed
개요와 이 글에서 얻어갈 것 SAPUI5 화면에서 백엔드가 내려주는 값은 대부분 "가공되지 않은 원본"입니다. OData 서비스가 DeliveryDate 를 /Date(1751846400000)/ 또는 ISO 문자열로 내려주고, NetAmount 는 1234567.89 라는 숫자로, S
RAP Mass Action이란 무엇인가 RAP(RESTful Application Programming Model)에서 Mass Action 은 List Report의 여러 행을 선택한 뒤 단일 액션 호출로 한꺼번에 처리하는 메커니즘입니다. 예를 들어 주문 목록에서 100건을 체크박스
이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)에서 Service Binding은 서비스를 실제 소비 가능한 프로토콜로 노출하는 마지막 관문입니다. 그런데 개발자들이 자주 놓치는 부분이 있습니다. 바로 Binding Type을
I_Plant가 필요한 이유 — T001W 직접 조회의 함정 SAP S/4HANA 환경에서 플랜트(Plant, 공장/사업장) 정보를 조회할 때 여전히 많은 개발자가 습관적으로 T001W 테이블을 직접 SELECT합니다. 하지만 클라우드/온프레미스 하이브리드 시대에는 이 접근이 위험 요소
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 및 ABAP CDS 기반 개발을 하다 보면 I_SalesOrder , C_SalesOrderTP 같은 접두사가 붙은 CDS View를 자주 만나게 됩니다. 이 두 종류는 이름만 다른 게 아니라 Virtual Data Model(VDM)
KNA1 직접 접근이 왜 문제인가 SAP ERP 시대에 ABAP 개발자에게 KNA1 은 고객 마스터의 대명사였습니다. 고객 코드, 이름, 국가, 도시, 계정 그룹 등 기본 속성이 이 테이블 하나에 담겨 있었기에 SELECT 문 대부분이 SELECT * FROM kna1 WHERE kun