한 줄로 끝내는 Calculated Field — DB 불필요 #shorts #SAP #CAP
Virtual Element란 CAP에서 Virtual Element는 DB 테이블에 실제 컬럼이 없지만 OData 응답에 노출되는 가상 필드입니다. 집계, 변환, 외부 데이터 조합 같은 파생 값을 스키마에 추가할 때 마이그레이션 없이 즉시 적용할 수 있는 점이 강점입니다. CDS 모델
Virtual Element란 CAP에서 Virtual Element는 DB 테이블에 실제 컬럼이 없지만 OData 응답에 노출되는 가상 필드입니다. 집계, 변환, 외부 데이터 조합 같은 파생 값을 스키마에 추가할 때 마이그레이션 없이 즉시 적용할 수 있는 점이 강점입니다. CDS 모델
Value Help가 뭔가요? SAP Fiori에서 입력 필드 옆 아이콘을 클릭하면 팝업 검색창이 뜨는 기능이 Value Help(F4 Help)입니다. 사용자가 코드나 ID를 외울 필요 없이 검색해서 선택할 수 있어, UX를 크게 개선합니다. UI5에서 ValueHelpDialog 연
CAP for Node.js 앱의 Approuter(xs-app.json) 라우트 설정 실수가 어떻게 인증을 통째로 우회시키는지 분석하고, 안전한 authenticationType·destination·csrfProtection 구성 패턴을 실전 코드로 정리합니다.
SAPUI5 i18n 다국어 지원 완전 정복 — Resource Bundle 설정부터 XML View 바인딩, Controller 동적 텍스트 처리까지
ABAP Cloud vs Standard — 뭐가 다른가? ABAP를 오래 써왔다면 한 번쯤 들었을 키워드: ABAP Cloud . 기존 Standard ABAP와 뭐가 다른지, 왜 갑자기 중요해진 건지 핵심만 정리했다. 핵심 차이: Released API만 허용 ABAP Standar
CAP에서 외부 서비스를 쓰는 방법 CAP(Cloud Application Programming Model) 애플리케이션에서 외부 REST API나 OData 서비스를 호출해야 할 때가 있습니다. 직접 HTTP 클라이언트를 설정하는 대신, CAP의 cds.connect.to() 를 사용
ABAP Unit Test에서 DB 의존 코드를 Mock Framework로 테스트하는 방법 — cl_osql_test_environment, cl_abap_testdouble 실전 가이드
왜 cds.connect.to인가? CAP 앱에서 외부 REST API나 S/4HANA 서비스를 직접 axios 로 호출하면 인증 토큰 관리, BTP Destination 연동, 에러 핸들링을 모두 직접 구현해야 합니다. cds.connect.to() 를 쓰면 이 모든 과정이 단 한 줄
수동 setItems, 지금 당장 그만 UI5에서 리스트에 아이템을 하나씩 추가하는 코드, 아직도 쓰고 있다면 Aggregation Binding으로 교체할 때입니다. 수동 방식은 모델과 뷰가 분리되지 않아 유지보수가 어렵고, 데이터 변경 시 화면 갱신을 직접 처리해야 합니다. Aggr
Two-way Binding이란? 유아이파이브의 Two-way Binding은 View와 Model이 서로 동기화되는 방식입니다. 사용자가 입력하면 Model이 업데이트되고, Model이 바뀌면 View가 자동으로 갱신됩니다. 편리하지만 잘못 쓰면 무한 루프에 빠집니다. 무한 루프 발생
RAP Action이란? RAP(RESTful Application Programming) 모델에서 Action은 CRUD 외 커스텀 비즈니스 로직을 실행하는 오퍼레이션입니다. OData V4로 노출되며 Fiori Elements 버튼에 자동 연결됩니다. Bound vs Unbound
AMDP란? ABAP Managed Database Procedure의 약자입니다. 복잡한 집계나 분석 계산을 ABAP 레이어 대신 HANA DB 안에서 직접 실행하도록 위임하는 방법입니다. 대용량 데이터 처리 시 네트워크 트래픽을 줄이고 DB 엔진의 성능을 최대로 활용할 수 있습니다.
RAP Determination이란? RAP에서 Determination은 사용자가 특정 필드를 입력했을 때 다른 필드를 자동으로 계산하거나 채워주는 메커니즘입니다. Validation이 값을 검증한다면, Determination은 값을 생성합니다. 언제 쓰나요? 주문 생성 시 총액 자
전통 LOOP AT의 문제 ABAP의 고전적인 LOOP AT 구문은 내부 테이블을 순회하면서 새 테이블을 만들 때 코드가 장황해집니다. 워크 에리어 선언, APPEND, ENDLOOP까지 최소 5~6줄이 필요합니다. DATA lt_result TYPE TABLE OF zs_result.
CDS Scalar Function이란? CDS View 내부에서 호출할 수 있는 재사용 가능한 계산 로직입니다. 동일한 계산식을 여러 CDS View에 반복 작성하는 대신, 한 번 정의한 함수를 어디서든 참조할 수 있습니다. 구성 요소 Scalar Function은 두 부분으로 이루어
데이터 일관성 없이 저장하면? RAP에서 Validation을 구현하지 않으면 잘못된 금액, 빈 필드, 논리 오류가 그대로 DB에 저장됩니다. 저장 전 체크 없이는 데이터 정합성을 보장할 방법이 없습니다. Behavior Definition 선언 Behavior Definition에서
RAP Managed란? ABAP RAP(RESTful Application Programming Model)에서 managed 키워드 하나면 Create, Read, Update, Delete — 모든 CRUD 로직을 SAP 프레임워크가 자동 처리합니다. 직접 코드를 짤 필요가 없습니
CREATE OBJECT vs NEW — 무엇이 다른가 ABAP 7.40부터 NEW 키워드로 객체를 한 줄에 생성할 수 있습니다. 기존 CREATE OBJECT 와 비교하면 코드가 확연히 간결해집니다. 기존 방식 — CREATE OBJECT DATA: lo_flight TYPE REF
CTE란 무엇인가 CTE(Common Table Expression)는 ABAP SQL에서 WITH 절을 사용해 임시 결과 집합을 정의하는 기능입니다. 복잡한 중첩 서브쿼리를 평탄화해 가독성을 높이고, 동일 서브쿼리의 반복 작성을 줄여줍니다. ABAP 7.50 이상에서 지원되며, Ope
전통 방식: LOOP로 합계 구하기 ABAP 개발자라면 내부 테이블의 합계를 구할 때 아래 패턴을 자주 씁니다. DATA lv_total TYPE p DECIMALS 2. LOOP AT lt_orders INTO DATA(ls_order). lv_total = lv_total + ls_