
Dialog 중복 금지 — Fragment 30초 분리법 #shorts #SAP #UI5
이 글에서 얻어갈 것 SAPUI5에서 Dialog는 사용자와의 상호작용에서 가장 자주 등장하는 컨트롤입니다. 그런데 많은 개발자들이 여전히 컨트롤러 안에서 new sap.m.Dialog({...}) 를 직접 호출하며 코드를 길게 늘어뜨리고 있습니다. 이 방식은 화면이 하나일 때는 괜찮지

이 글에서 얻어갈 것 SAPUI5에서 Dialog는 사용자와의 상호작용에서 가장 자주 등장하는 컨트롤입니다. 그런데 많은 개발자들이 여전히 컨트롤러 안에서 new sap.m.Dialog({...}) 를 직접 호출하며 코드를 길게 늘어뜨리고 있습니다. 이 방식은 화면이 하나일 때는 괜찮지
이 글에서 다루는 것 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 언어가 시간이 흐르면서 이 문제를

UI5 Formatter가 해결하는 실무 문제 SAP UI5 애플리케이션을 개발하다 보면 OData 서비스에서 내려오는 원본 데이터와 사용자가 실제로 화면에서 보고 싶어하는 형태 사이에 큰 간극이 존재합니다. 예를 들어 백엔드는 날짜를 /Date(1717200000000)/ 형태의 Ed

개요와 이 글에서 얻어갈 것 CAP(Cloud Application Programming Model) 프로젝트를 SAP BTP에서 운영할 때 가장 먼저 마주치는 벽 중 하나가 바로 HANA Cloud 연결입니다. 로컬 SQLite에서는 잘 돌아가던 서비스가 cf push 후에는 "no

개요와 이 글에서 얻어갈 것 SAPUI5 화면에서 백엔드가 내려주는 값은 대부분 "가공되지 않은 원본"입니다. OData 서비스가 DeliveryDate 를 /Date(1751846400000)/ 또는 ISO 문자열로 내려주고, NetAmount 는 1234567.89 라는 숫자로, S

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

I_Material이 필요해진 이유 — CDS View의 등장 배경 SAP S/4HANA에서 자재 마스터를 다뤄본 개발자라면 MARA와 MAKT를 JOIN하는 SELECT문을 수없이 작성해봤을 것입니다. 그런데 S/4HANA 1610 이후 SAP는 I_Material 이라는 표준 CDS

개요 및 학습 도달점 SAP S/4HANA로 전환한 개발 조직이 가장 먼저 마주하는 질문 중 하나는 "T007S를 계속 직접 조회해도 되는가?"입니다. 이 글에서는 세금 코드 마스터를 조회하는 새로운 표준 접근인 I_TaxCode CDS View의 구조, 동작 원리, 그리고 실무에서의

개요 및 이 글에서 다루는 것 SAP S/4HANA 환경에서 품질 관리(QM) 데이터를 분석하거나 확장 앱을 개발할 때, 검사 특성 결과(Inspection Characteristic Result)는 가장 자주 참조되는 데이터입니다. 과거 ECC 시절부터 개발자들은 QAMV, QAMR,

I_CustomerInvoice CDS 뷰 개요 — BSID와 무엇이 다른가 SAP S/4HANA에서 고객 인보이스 데이터를 조회할 때 전통적으로 개발자들은 BSID(미결 고객 항목)와 BSAD(완결 고객 항목) 테이블을 직접 액세스해 왔습니다. 그러나 S/4HANA 이후 이러한 클래식