MOVE TYPE vs CAST — ABAP 이렇게 바뀐다 #shorts #SAP #ABAP
개요 및 이 글에서 다루는 범위 ABAP에서 객체 참조(class reference) 간의 형 변환은 오랜 기간 ?= 연산자 또는 MOVE ... ?TO ... 구문으로 수행되어 왔습니다. ABAP 7.40 SP08 이후 도입된 CAST 연산자 는 인라인 선언과 다운캐스트를 한 줄로 처
개요 및 이 글에서 다루는 범위 ABAP에서 객체 참조(class reference) 간의 형 변환은 오랜 기간 ?= 연산자 또는 MOVE ... ?TO ... 구문으로 수행되어 왔습니다. ABAP 7.40 SP08 이후 도입된 CAST 연산자 는 인라인 선언과 다운캐스트를 한 줄로 처
개요 및 이 글에서 얻어갈 것 ABAP RESTful Application Programming Model(RAP)에서 Behavior Implementation 은 비즈니스 객체의 CRUD 및 액션 로직을 ABAP 클래스로 구현하는 핵심 계층입니다. 이 글에서는 BDEF(Behavio
한눈에 보는 이 글의 목적 SAPUI5/OpenUI5 애플리케이션을 만들다 보면 같은 데이터 모델인데 어떤 화면에서는 값이 공유되고, 어떤 화면에서는 따로 노는 현상을 마주합니다. 이는 모델을 어디에 setModel() 했느냐에 따른 스코프(scope) 차이 때문입니다. 이 글은 글로벌
개요와 이 글에서 다루는 범위 ABAP Test Cockpit(이하 ATC)은 ABAP 코드의 정적 분석과 품질 게이트(Quality Gate) 역할을 담당하는 SAP의 코드 검사 프레임워크입니다. 이 글에서는 ABAP Cloud(Steampunk, BTP ABAP Environment
개요 및 이 글에서 다루는 범위 SAP RAP(ABAP RESTful Application Programming Model) 기반의 Fiori Elements 앱에서 사용자가 입력 필드를 클릭하면 나타나는 F4 도움말(Value Help)을 CDS 어노테이션만으로 구현하는 실전 예제입니
이 글의 목적과 도달점 SAPUI5 화면에서 사용자에게 "지금 처리 중"이라는 신호를 주는 방법은 크게 두 갈래입니다. 하나는 화면 전체를 막아버리는 sap.m.BusyDialog , 다른 하나는 컨트롤 단위로 부분 차단을 거는 setBusy(true) 혹은 전역 sap.ui.core.
이 글의 개요와 도달 지점 ABAP RESTful Application Programming Model(RAP)에서 Bound Action은 특정 비즈니스 객체 인스턴스에 묶여 동작하는 동작 단위입니다. 단순한 토글 버튼이라면 파라미터 없이도 충분하지만, 실무에서는 "승인하되 코드와 코
이 글에서 다루는 내용 ABAP RESTful Application Programming Model(RAP)에서 Draft Activate는 사용자가 작성 중인 데이터를 임시 저장(Draft)했다가 검증을 거쳐 정식 데이터(Active)로 전환하는 핵심 시나리오입니다. Fiori Ele
이 글에서 얻어갈 것 · 동시 편집 충돌 시나리오 정리 SAP S/4HANA Cloud 또는 ABAP Cloud 기반의 RAP(ABAP RESTful Application Programming) 환경에서 여러 사용자가 동일한 비즈니스 객체를 동시에 수정하려고 할 때 발생하는 데이터 정합
RAP 권한 모델의 두 축 — Global과 Instance RAP(RESTful Application Programming Model)에서 권한 체크는 두 단계로 분리됩니다. Global Authorization은 사용자가 해당 BO의 특정 오퍼레이션을 "원천적으로" 수행할 수 있는지
RAP Draft 메커니즘과 Discard의 의미 ABAP RAP(RESTful Application Programming Model)에서 Draft는 사용자가 작업 중인 데이터를 일시적으로 보관하는 기능입니다. RAP 런타임은 활성(active) 인스턴스와 드래프트(draft) 인스턴
딥 구조체가 메모리에서 어떻게 동작하는가 ABAP 내부 테이블의 한 라인이 또 다른 내부 테이블이나 STRING을 필드로 가지는 구조를 딥 구조체(Deep Structure)라고 부릅니다. 평범하게 보이지만 메모리 관점에서는 라인마다 별도의 힙(heap) 블록을 잡기 때문에, 수만 라인
개요 및 이 글에서 다루는 내용 ABAP 7.40 SP08 이후 도입된 INTO @DATA(...) 인라인 선언은 SELECT 문 시점에 결과 변수의 타입을 자동 추론하여, 별도의 TYPES / DATA 선언 없이도 즉시 사용 가능한 변수를 만들어줍니다. 이 글은 판매 오더(SalesO
개요 및 학습 포인트 ABAP에서 내부 테이블(internal table)을 다룰 때 가장 자주 쓰는 명령 중 하나가 SORT입니다. 단일 필드 정렬은 직관적이지만, 실무에서는 "부서별로 묶고 그 안에서 금액 내림차순" 같은 다중 필드 정렬이 훨씬 흔합니다. 이때 같은 키 값을 가진 행
개요 및 무엇을 얻어갈 것인가 여러 테이블에 흩어진 결과를 하나로 합치거나, 두 결과 집합의 공통/차이만 뽑아내야 할 때 JOIN으로 풀면 조건문이 복잡해지고 가독성이 떨어집니다. ABAP SQL의 집합 연산자(UNION / INTERSECT / EXCEPT)는 이런 문제를 행 단위 집
IS BOUND vs IS INITIAL — 헷갈리는 두 연산자 ABAP 객체지향 코드를 작성하다 보면 참조 변수(reference variable)가 실제로 객체를 가리키고 있는지, 아니면 그 객체가 특정 클래스의 인스턴스인지를 자주 확인하게 됩니다. 이때 자주 등장하는 두 연산자가
이 글이 답하는 질문 레거시 ABAP 코드를 유지보수하다 보면 MOVE ?TO 나 ?= 연산자로 객체 참조를 다루는 패턴을 흔히 만납니다. 이런 코드는 ABAP 7.40 이후 도입된 CAST 연산자로 대체되어야 합니다. 단순한 문법 변경이 아니라 가독성, 표현식 기반 프로그래밍, 인라인
개요 및 핵심 포인트 ABAP 객체 지향 프로그래밍에서 참조 변수(reference variable) 간 형 변환은 일상적으로 발생합니다. 과거에는 MOVE source ?TO target 또는 MOVE source TO target TYPE 구문을 사용했지만, ABAP 7.40 SP0
1. Object Page 레이아웃과 섹션의 역할 SAP Fiori Elements의 Object Page는 단일 비즈니스 엔티티(예: 판매주문 한 건, 거래처 한 곳)의 상세 정보를 표시하기 위한 표준 플로어플랜입니다. List Report에서 행을 클릭했을 때 펼쳐지는 그 페이지를
작성 중...