TYPE 선언 그만 — ABAP 컴파일러 타입 추론 완성 #shorts #SAP #ABAP
개요 및 이 글의 목표 ABAP 7.40 SP08 이후 도입된 인라인 선언(Inline Declaration)과 생성자 표현식(Constructor Expressions)은 ABAP 개발 방식을 근본적으로 바꾸어 놓았습니다. 과거에는 변수 하나를 쓰기 위해 DATA 블록에서 명시적으로
개요 및 이 글의 목표 ABAP 7.40 SP08 이후 도입된 인라인 선언(Inline Declaration)과 생성자 표현식(Constructor Expressions)은 ABAP 개발 방식을 근본적으로 바꾸어 놓았습니다. 과거에는 변수 하나를 쓰기 위해 DATA 블록에서 명시적으로
1. 개요 및 이 글에서 얻어갈 것 ABAP Unit 테스트는 단순히 cl_abap_unit_assert 를 호출하는 것만으로 끝나지 않습니다. 동일한 테스트 메서드라도 실행 순서 에 따라 결과가 달라지는 경우가 빈번하게 발생하는데, 이를 순서 의존성(Test Order Dependen
1. 개요 및 이 글에서 얻어갈 것 SAPUI5로 화면 좌우 슬라이드 전환이 필요한 UI를 만들 때, 많은 개발자들이 처음에는 setTimeout 이나 CSS transition을 직접 조합해서 애니메이션을 구현하려 시도합니다. 하지만 SAPUI5에는 이런 슬라이드 패턴을 위해 설계된
1. 개요 및 이 글에서 얻어갈 것 ABAP CDS(Core Data Services)를 처음 마주하면 보통 DEFINE VIEW 한 줄로 시작하지만, 실제 S/4HANA 표준 코드를 들여다보면 Virtual Data Model (이하 VDM)이라 부르는 거대한 뷰 계층 구조가 존재합니
1. 개요 및 이 글에서 얻어갈 것 SAPUI5 애플리케이션을 만들다 보면 화면을 좌/우 또는 상/하로 나누고, 사용자가 경계선을 드래그해서 영역 크기를 조절할 수 있게 만들어야 하는 요구사항을 자주 만나게 됩니다. 마스터-디테일 패턴, 코드 에디터와 미리보기, 트리 네비게이션과 콘텐츠
1. 개요 및 이 글에서 얻어갈 것 ABAP 7.40 SP02부터 도입된 DATA(...) 인라인 선언은 단순한 문법 설탕(syntactic sugar)이 아니라, ABAP 개발 스타일 자체를 바꾼 핵심 기능입니다. 변수를 사용하는 위치 에서 곧바로 선언함으로써 코드의 가독성이 향상되고
1. 개요 및 이 글에서 얻어갈 것 ABAP 객체지향 프로그래밍을 하다 보면 메서드를 호출하는 두 가지 스타일을 마주하게 됩니다. 하나는 전통적인 CALL METHOD 구문이고, 다른 하나는 마치 수학 공식처럼 메서드를 식(expression) 위치에 그대로 끼워 넣는 함수형 메서드 호
개요 및 핵심 포인트 ABAP에서 객체를 다룰 때 임시 변수가 화면을 가득 채우는 경험을 해본 적이 있을 것입니다. 메서드 체이닝(Method Chaining)은 동일 객체의 메서드를 점으로 이어 호출하는 패턴으로, 빌더(Builder)와 같은 Fluent Interface를 ABAP
개요 및 이 글에서 다룰 내용 SAPUI5의 sap.m.IconTabBar 는 탭 UI와 데이터 필터링을 하나의 컨트롤로 통합한 컴포지트 컴포넌트입니다. 주문 관리, 티켓 처리, 인보이스 상태 분류 등 상태별 그룹화가 빈번한 업무 화면에서 가장 자주 선택되는 패턴입니다. 이 글에서는 주
개요 및 이 글에서 다루는 범위 SAPUI5/OpenUI5의 sap.m.MultiComboBox 는 사용자가 드롭다운에서 여러 항목을 동시에 선택할 수 있게 해주는 입력 컨트롤입니다. 단일 선택만 가능한 ComboBox 와 달리, 토큰(Token) 형태로 선택된 값이 입력 필드 안에 누
개요 및 이 글에서 다루는 것 ABAP CDS 뷰에서 검색 기능을 선언적으로 노출하려면 @Search 어노테이션 패밀리를 활용해야 합니다. 단순히 OData 필터로 동등 비교를 거는 것과 달리, @Search 는 Fiori Elements의 글로벌 검색창, SADL(서비스 어댑테이션 정
개요 및 이 글에서 다루는 것 ABAP RAP(RESTful Application Programming Model)에서 비즈니스 로직을 구현할 때 가장 자주 마주치는 함정 중 하나가 바로 FAILED와 REPORTED 테이블의 오용 입니다. 두 구조는 이름이 비슷하지만 역할이 완전히 다
개요 및 이 글에서 다루는 것 ABAP 7.40 SP08 이후 도입된 CONV 연산자는 명시적 타입 변환을 한 줄로 처리하는 인라인 표현식입니다. 과거에는 임시 변수를 선언해 값을 옮기고, 그 변수를 메서드 인자로 전달하는 3단계가 필요했습니다. CONV 는 이 모든 과정을 CONV t
개요 및 이 글에서 다루는 것 ABAP에서 문자열을 조립할 때 가장 흔히 쓰던 방식은 && 연산자나 CONCATENATE 문이었습니다. 하지만 ABAP 7.02 이후 도입된 String Template (문자열 템플릿, |...| ) 은 변수와 텍스트를 자연스럽게 섞어 쓸
개요 및 이 글에서 다루는 것 SAPUI5/OpenUI5의 sap.m 라이브러리에는 비즈니스 데이터를 시각적으로 표현하기 위한 두 가지 핵심 컨트롤이 있습니다. ObjectStatus 는 항목의 상태(승인/거절/대기)를 색상과 아이콘으로 직관적으로 표현하고, ObjectIdentifie
개요 — window 전역 변수와 결별하기 UI5 화면을 처음 만들 때 가장 흔한 실수 중 하나가 window.currentSalesOrderId = 4711; 같은 코드입니다. 빠르게 동작하기 때문에 유혹적이지만, 이 한 줄은 향후 수개월간 디버깅 지옥을 예약하는 행위와 같습니다. 이
개요와 이 글에서 얻어갈 것 ABAP 개발을 하다 보면 화면이 바뀌어도 값이 살아남아야 하거나, 서브루틴/펑션 모듈로 큰 내부 테이블을 넘겨야 하는 상황이 자주 발생합니다. 이때 등장하는 두 가지 메모리 영역이 바로 SAP Memory 와 ABAP Memory 입니다. 이름이 비슷해 혼
개요 및 이 글에서 다루는 범위 ABAP에서 객체 참조(class reference) 간의 형 변환은 오랜 기간 ?= 연산자 또는 MOVE ... ?TO ... 구문으로 수행되어 왔습니다. ABAP 7.40 SP08 이후 도입된 CAST 연산자 는 인라인 선언과 다운캐스트를 한 줄로 처
개요 및 이 글의 목표 SAPUI5 애플리케이션을 만들 때 시각·청각·운동 제약을 가진 사용자가 동일한 기능을 사용할 수 있도록 보장하는 작업이 접근성(Accessibility, 줄여서 a11y)입니다. 화면에 보이는 픽셀만 잘 그리는 것으로는 부족합니다. 스크린 리더, 키보드 내비게이
개요 및 이 글에서 얻어갈 것 ABAP RESTful Application Programming Model(RAP)에서 Behavior Implementation 은 비즈니스 객체의 CRUD 및 액션 로직을 ABAP 클래스로 구현하는 핵심 계층입니다. 이 글에서는 BDEF(Behavio