CASE TYPE OF 없이 타입 분기 — 3가지 함정 #shorts #SAP #ABAP
1. CASE TYPE OF가 필요한 상황과 배경 상속 계층을 설계하다 보면 결국 마주치는 순간이 있습니다. 부모 클래스 타입의 참조 변수 하나에 여러 자식 객체가 담겨 흘러 들어오고, 그중 특정 타입일 때만 다르게 처리해야 하는 상황입니다. ABAP 7.40 이전에는 이럴 때 TRY
1. CASE TYPE OF가 필요한 상황과 배경 상속 계층을 설계하다 보면 결국 마주치는 순간이 있습니다. 부모 클래스 타입의 참조 변수 하나에 여러 자식 객체가 담겨 흘러 들어오고, 그중 특정 타입일 때만 다르게 처리해야 하는 상황입니다. ABAP 7.40 이전에는 이럴 때 TRY
이 글에서 다루는 내용 월요일 아침, 급여 마감 담당자가 "로그인이 안 돼요"라고 외치는 순간 Basis 담당자의 하루가 시작됩니다. SU01은 SAP NetWeaver AS ABAP의 사용자 계정을 생성·수정·잠금 해제하는 핵심 트랜잭션이며, 계정 잠금 대응 속도가 곧 업무 연속성입니
📖 개요 — 이 글에서 다루는 내용 ABAP 시스템에서 외부 REST API를 호출해야 하는 순간은 반드시 옵니다. 환율 조회, 배송 추적, 사내 미들웨어 연동까지, 온프레미스 SAP ECC / S/4HANA(온프레미스) 환경에서는 CL_HTTP_CLIENT 가 사실상 표준 진입점입니
📖 개요: 이 글에서 다루는 내용 SAP Fiori에서 마스터-디테일 화면을 만들 때 가장 흔한 고민은 "리스트에서 항목을 클릭하면 전체 화면이 Object Page로 넘어가 버려서 목록 맥락을 잃는다"는 점입니다. Flexible Column Layout(이하 FCL)을 적용하면 별
1. RAP에서 집계 데이터가 필요한 이유 RAP(ABAP RESTful Application Programming Model)로 만든 트랜잭션 앱은 개별 레코드의 생성·수정에는 강하지만, 실무에서는 "이번 달 영업조직별 매출 합계", "고객별 주문 건수" 같은 집계 관점 의 화면이 반
📖 개요: 이 글에서 다루는 내용 비용 센터 계층, 예산 항목 트리, 프로젝트 WBS처럼 부모-자식 관계가 재귀적으로 반복되는 데이터 는 엔터프라이즈 애플리케이션에서 가장 자주 등장하는 구조 중 하나입니다. 그런데 RAP(RESTful ABAP Programming Model)은 기본
📖 이 글에서 다루는 것 SAP 권한 설계의 중심에는 PFCG(Profile Generator) 트랜잭션이 있습니다. 같은 PFCG 안에서도 Single Role, Composite Role, Derived Role은 내부 동작과 적용 시점이 완전히 다르며, 이 선택을 잘못하면 권한
$tmp 버퍼, RAP 트랜잭션의 숨은 주인공 RAP(ABAP RESTful Application Programming Model)으로 Managed 시나리오를 개발하다 보면, 분명 CREATE 를 실행했는데 DB 테이블을 SELECT 하면 데이터가 없는 상황을 만나게 됩니다. 원인은
📖 개요와 이 글의 목표 RAP(ABAP RESTful Application Programming Model)로 앱을 만들 때 가장 조용히, 그러나 가장 크게 사고가 나는 지점이 날짜/시간 필드입니다. 한국 서버에서 잘 돌던 앱이 독일 사용자에게는 "어제 생성된 주문"으로 보이는 문제
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 같은 테이블을 직접 조인해야 했습니다. 테이블 이름 자체가 독일어 약어라 가독성이 떨어지고,
RAP Validation — on MODIFY vs on SAVE, 언제 실행되는지 혼동 끝내기 SAP RAP(RESTful Application Programming)에서 비즈니스 데이터의 무결성을 지키는 핵심 메커니즘이 바로 Validation입니다. 그런데 수많은 RAP 개발자들
개요: 이 글에서 얻어갈 것 ABAP에서 문자열을 조합할 때 아직도 CONCATENATE 를 쓰고 있다면, 이 글이 코드 스타일을 바꾸는 계기가 될 것입니다. ABAP 7.02부터 도입된 String Template( |...{ }...| ) 문법은 문자열 조합을 한 줄로, 그리고 훨씬
1. List Report에서 정렬 기본값이 왜 중요한가 RAP(ABAP RESTful Application Programming Model)으로 List Report 앱을 처음 만들어 실행하면, 데이터가 키 필드 순서 그대로(사실상 무작위처럼 보이는 순서로) 표시됩니다. 판매 오더 목
개요 — 이 글에서 다루는 것 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는 은행