S/4 Cloud ABAP 막히는 것 3가지 — 그만 #shorts #SAP #RAP
이 글에서 다루는 것 S/4HANA Cloud(Public Edition) 환경에서 ABAP 개발을 시작한 개발자들이 가장 많이 부딪히는 벽은 "이 API가 왜 안 되지?"입니다. On-Premise ABAP에서 자유롭게 쓰던 CL_GUI_FRONTEND_SERVICES , SO_NEW
이 글에서 다루는 것 S/4HANA Cloud(Public Edition) 환경에서 ABAP 개발을 시작한 개발자들이 가장 많이 부딪히는 벽은 "이 API가 왜 안 되지?"입니다. On-Premise ABAP에서 자유롭게 쓰던 CL_GUI_FRONTEND_SERVICES , SO_NEW
이 글에서 다루는 내용과 도달 지점 SAP RAP(RESTful ABAP Programming Model)로 실무 서비스를 구축하다 보면 CDS View를 왜 여러 층으로 나누는지 궁금해집니다. 특히 Interface View(I_) 와 Consumption View(C_) 는 겉보기에
개요 및 이 글에서 다루는 것 ABAP에서 구조체(Structure) 간 필드 복사는 일상적인 작업이지만, 사용하는 문법에 따라 코드 가독성·유지보수성·성능이 크게 달라집니다. 이 글에서는 오랫동안 사용되어 온 MOVE-CORRESPONDING 명령문과 ABAP 7.40 이후 등장한 C
글의 목적과 확인 포인트 이 글은 SAP S/4HANA 환경에서 판매 조직(Sales Organization) 마스터 데이터를 조회할 때 전통적인 TVKO 테이블 대신 I_SalesOrganization CDS 뷰를 사용하는 방법을 다룹니다. S/4HANA로 전환한 조직에서는 클래식 S
이 예제에서 다루는 내용과 도달 지점 CAP(Cloud Application Programming Model) 기반 Node.js 프로젝트를 만들다 보면 대부분 cds watch 로 로컬 인메모리 SQLite에서만 개발을 진행합니다. 그러다 BTP(Business Technology P
이 글에서 다루는 내용과 체크포인트 온프레미스 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
이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model) 기반으로 서비스를 노출할 때, 개발자가 반드시 마주치는 갈림길이 있습니다. 바로 Service Binding 유형 선택입니다. 같은 Service Definition을 만들었어도,
abapGit이 왜 ABAP 개발자의 필수 도구가 되었는가 ABAP 개발자라면 한 번쯤 이런 경험이 있을 것이다. 트랜스포트 요청(TR)을 잘못 릴리즈해서 코드가 뒤엉키고, 누가 언제 어떤 변경을 했는지 추적할 수 없어 밤을 새운 기억 말이다. abapGit 은 이런 고통을 해결하기 위
개요와 이 글에서 얻어갈 것 CAP(Cloud Application Programming Model) for Node.js 프로젝트를 개발할 때 대부분의 개발자는 cds watch 로 로컬 SQLite와 목업(mock) 인증만 사용합니다. 문제는 배포 후에야 "BTP의 XSUAA 인증
개요와 이 글에서 얻어갈 것 ABAP 7.40 이후 내부 테이블에서 부분집합을 뽑아내는 방법은 크게 세 갈래로 갈립니다. 표현식 기반의 FILTER 연산자, FOR ... IN ... WHERE ... 형태의 테이블 컴프리헨션, 그리고 전통적인 LOOP AT ... WHERE 반복문입니
세 가지 방법이 존재하는 이유 — ABAP 컬렉션 필터의 역사 ABAP에서 내부 테이블을 다루는 개발자라면 누구나 한 번쯤 "이 컬렉션에서 특정 조건에 맞는 행만 뽑아내려면 어떻게 하는 게 가장 좋을까?" 라는 질문을 마주칩니다. 흥미로운 점은 ABAP 언어가 시간이 흐르면서 이 문제를
개요와 이 글에서 얻어갈 것 CAP(Cloud Application Programming Model) 프로젝트를 SAP BTP에서 운영할 때 가장 먼저 마주치는 벽 중 하나가 바로 HANA Cloud 연결입니다. 로컬 SQLite에서는 잘 돌아가던 서비스가 cf push 후에는 "no
RAP Mass Action이란 무엇인가 RAP(RESTful Application Programming Model)에서 Mass Action 은 List Report의 여러 행을 선택한 뒤 단일 액션 호출로 한꺼번에 처리하는 메커니즘입니다. 예를 들어 주문 목록에서 100건을 체크박스
RAP Custom CDS Entity와 @ObjectModel.query.implementedBy를 활용해 실제 DB 테이블 없이 외부 API/Function Module 데이터를 OData 엔드포인트로 노출하는 방법을 알아봅니다. if_rap_query_provider 인터페이스를
이 글에서 다루는 것 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)
개요와 이 글에서 얻어갈 것 ABAP CDS와 RAP(RESTful ABAP Programming Model)를 다루다 보면 association to 와 composition of 두 키워드를 매일 마주치게 됩니다. 문법은 비슷해 보이지만, 두 관계는 라이프사이클(생성/수정/삭제) 관
KNA1 직접 접근이 왜 문제인가 SAP ERP 시대에 ABAP 개발자에게 KNA1 은 고객 마스터의 대명사였습니다. 고객 코드, 이름, 국가, 도시, 계정 그룹 등 기본 속성이 이 테이블 하나에 담겨 있었기에 SELECT 문 대부분이 SELECT * FROM kna1 WHERE kun