CASE TYPE OF 없이 타입 분기 — 3가지 함정 #shorts #SAP #ABAP
1. CASE TYPE OF가 필요한 상황과 배경 상속 계층을 설계하다 보면 결국 마주치는 순간이 있습니다. 부모 클래스 타입의 참조 변수 하나에 여러 자식 객체가 담겨 흘러 들어오고, 그중 특정 타입일 때만 다르게 처리해야 하는 상황입니다. ABAP 7.40 이전에는 이럴 때 TRY
1. CASE TYPE OF가 필요한 상황과 배경 상속 계층을 설계하다 보면 결국 마주치는 순간이 있습니다. 부모 클래스 타입의 참조 변수 하나에 여러 자식 객체가 담겨 흘러 들어오고, 그중 특정 타입일 때만 다르게 처리해야 하는 상황입니다. ABAP 7.40 이전에는 이럴 때 TRY
📖 개요: 이 글에서 다루는 내용 SAP Fiori에서 마스터-디테일 화면을 만들 때 가장 흔한 고민은 "리스트에서 항목을 클릭하면 전체 화면이 Object Page로 넘어가 버려서 목록 맥락을 잃는다"는 점입니다. Flexible Column Layout(이하 FCL)을 적용하면 별
1. RAP에서 집계 데이터가 필요한 이유 RAP(ABAP RESTful Application Programming Model)로 만든 트랜잭션 앱은 개별 레코드의 생성·수정에는 강하지만, 실무에서는 "이번 달 영업조직별 매출 합계", "고객별 주문 건수" 같은 집계 관점 의 화면이 반
📖 개요: 이 글에서 다루는 내용 비용 센터 계층, 예산 항목 트리, 프로젝트 WBS처럼 부모-자식 관계가 재귀적으로 반복되는 데이터 는 엔터프라이즈 애플리케이션에서 가장 자주 등장하는 구조 중 하나입니다. 그런데 RAP(RESTful ABAP Programming Model)은 기본
$tmp 버퍼, RAP 트랜잭션의 숨은 주인공 RAP(ABAP RESTful Application Programming Model)으로 Managed 시나리오를 개발하다 보면, 분명 CREATE 를 실행했는데 DB 테이블을 SELECT 하면 데이터가 없는 상황을 만나게 됩니다. 원인은
1. Criticality가 없을 때 Fiori 앱이 왜 밋밋한가 RAP(ABAP RESTful Application Programming Model)으로 List Report 앱을 처음 만들어 보면 데이터는 잘 나오는데 화면이 이상하게 밋밋합니다. 판매 오더가 "지연" 상태든 "완료"
📖 개요 — 이 글에서 다루는 것 SAP ERP 시절부터 유통 채널(Distribution Channel)은 TVTW 테이블에 저장되고, 텍스트는 TVTWT 에서 별도로 조회하는 방식이 일반적이었습니다. S/4HANA(온프레미스 및 Cloud 에디션)에서는 이 방식 대신 VDM(Vir
📖 개요와 이 글에서 다루는 내용 SAP S/4HANA에서 설비 정비·현장 서비스가 끝나면 "실제로 무엇을 얼마나 수행했는가"를 기록하는 문서가 서비스 확정(Service Confirmation) 입니다. 이를 조회하는 표준 릴리스 CDS 뷰가 I_ServiceConfirmation
1. I_ServiceOrderItem이 필요한 배경 SAP ECC 시절 서비스 오더 데이터를 다루려면 개발자는 AUFK (오더 마스터), AFIH (유지보수 오더 헤더), AFKO , AFPO 같은 테이블을 직접 조인해야 했습니다. 테이블 이름 자체가 독일어 약어라 가독성이 떨어지고,
개요: 이 글에서 얻어갈 것 ABAP에서 문자열을 조합할 때 아직도 CONCATENATE 를 쓰고 있다면, 이 글이 코드 스타일을 바꾸는 계기가 될 것입니다. ABAP 7.02부터 도입된 String Template( |...{ }...| ) 문법은 문자열 조합을 한 줄로, 그리고 훨씬
개요 — 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)로 만든 Fiori Elements 앱에서 할인율을 바꿨는데 총액이 화면에 바로 반영되지 않는 경험, 한 번쯤 있으실 겁니다. 서버의 Determination은 분명히 재계
개요 — 이 글에서 다루는 것 두 명의 담당자가 같은 서비스 오더를 동시에 열어 편집하면 어떤 일이 벌어질까요? ETag가 설정되지 않은 RAP 비즈니스 오브젝트에서는 나중에 저장한 사람이 먼저 저장한 사람의 변경을 조용히 덮어씌웁니다 . 오류도, 경고도 없습니다. 이 글은 SAP BT
KEKO 테이블의 구조와 원가 견적 도메인 개요 SAP 제품 원가 계산(Product Cost Planning, CO-PC) 영역에서 KEKO 는 수십 년간 원가 견적(Cost Estimate)의 헤더 정보를 담아온 핵심 테이블입니다. 자재별 표준 원가 견적을 생성(CK11N)하고 표시
BNKA 테이블의 구조와 한계 — 왜 직접 SELECT하면 안 되는가 SAP에서 은행 관련 데이터를 다뤄본 개발자라면 BNKA (은행 마스터), T012 (하우스 뱅크), T012K (하우스 뱅크 계좌) 세 테이블을 직접 SELECT하는 코드를 한 번쯤 봤을 것입니다. BNKA는 은행
1. BNKA를 아직도 직접 조회하고 있나요? — 개요와 목표 S/4HANA 이전 시절부터 ABAP를 다뤄온 개발자라면 은행 관련 데이터를 조회할 때 습관적으로 SELECT ... FROM bnka 를 작성해 왔을 것입니다. 하지만 SAP S/4HANA 환경, 특히 클린 코어(Clean
I_WorkCenterCapacity CDS 뷰 개요 — 왜 CRHD를 버려야 하는가 SAP S/4HANA의 생산 관련 개발에서 작업장(Work Center) 능력 데이터를 다룰 때, 많은 개발자가 여전히 CRHD , CRCA , KAKO 테이블을 직접 조인하는 레거시 방식을 사용합니다
개요 — 이 글에서 얻어갈 것 SAP S/4HANA에서 구매 정보 기록(Purchasing Info Record)을 조회할 때, 여전히 EINA와 EINE 테이블을 직접 조인하는 코드를 작성하고 계신가요? 이 글은 표준 CDS View인 I_PurchasingInfo 를 활용해 테이블
개요 및 이 글에서 다룰 것 SAP UI5 애플리케이션에서 화면에 데이터를 뿌릴 때, 백엔드에서 내려온 원본 값을 그대로 노출하면 사용자 경험이 어색해집니다. 예를 들어 20260714 라는 문자열, 1500000.00 이라는 숫자, P 라는 코드 값은 각각 2026-07-14 , 1,
📖 개요 — 이 글에서 다루는 것 RAP(ABAP RESTful Application Programming Model)으로 Fiori Elements 앱을 처음 만들면 List Report까지는 잘 나오는데, Object Page를 열었더니 화면이 텅 비어 있는 경험을 하게 됩니다.
📖 개요 — ETag 없는 RAP 서비스는 "나중에 저장한 사람이 이긴다" 두 명의 담당자가 같은 정비 오더를 동시에 열어 수정한다고 가정해 봅시다. A가 우선순위를 바꿔 저장하고, 몇 초 뒤 B가 상태값을 바꿔 저장하면 — ETag가 없는 RAP 서비스에서는 B의 저장이 A의 변경을