CCMT 없이 S/4HANA 이관하면 큰일 나는 이유 #shorts #SAP #S4HANA
S/4HANA 이관에서 커스텀 코드가 가장 큰 위험인 이유 S/4HANA 전환 프로젝트에서 예산 초과와 일정 지연의 가장 흔한 원인은 표준 기능이 아니라 수십 년간 쌓인 커스텀 ABAP 코드 입니다. ECC 시절 작성된 Z 프로그램은 S/4HANA에서 사라진 테이블(KONV, VBUK
S/4HANA 이관에서 커스텀 코드가 가장 큰 위험인 이유 S/4HANA 전환 프로젝트에서 예산 초과와 일정 지연의 가장 흔한 원인은 표준 기능이 아니라 수십 년간 쌓인 커스텀 ABAP 코드 입니다. ECC 시절 작성된 Z 프로그램은 S/4HANA에서 사라진 테이블(KONV, VBUK
SAP GRC Access Control과 액세스 거버넌스가 필요한 이유 SOX(사베인스-옥슬리법)나 내부회계관리제도 감사에서 가장 자주 지적되는 항목이 바로 권한 부여 프로세스의 통제 부재 입니다. "누가, 언제, 어떤 근거로, 누구의 승인을 받아 이 권한을 받았는가"에 답하지 못하면
📖 개요 및 핵심 체크포인트 ECC 시절에 만든 Classic BAdI와 CMOD/SMOD 기반 확장 코드를 그대로 S/4HANA로 가져오면, 컴파일은 통과해도 런타임에서 조용히 무너지는 경우가 많습니다. S/4HANA(예: S/4HANA 2023 On-Premise)에서는 커널 기반
📖 개요: Cross-App Navigation에서 파라미터가 왜 생명선인가 SAP Fiori Launchpad(FLP) 환경에서는 하나의 업무가 여러 앱을 넘나들며 완성됩니다. 판매 오더 목록 앱에서 특정 오더를 선택해 청구서 조회 앱으로 이동할 때, 오더 번호 같은 컨텍스트 파라미
📖 개요 — 왜 Intent Navigation인가 Fiori 앱을 하드코딩된 URL로 연결하면 시스템이 바뀔 때마다 링크가 깨지고, 권한 체크도 우회됩니다. Intent Navigation은 "무엇을(Semantic Object) 어떻게(Action)" 한다는 의미 기반 주소로 앱을
버튼이 화면에 아예 나타나지 않는 이유 — 흔한 실패 시나리오 RAP(ABAP RESTful Application Programming Model)으로 List Report를 만들다 보면 "테이블 위쪽 툴바에 커스텀 버튼 하나만 추가하고 싶은데 아무리 해도 안 보인다"는 상황을 자주 만
📖 개요와 이 글의 목표 SAPUI5로 List Report 화면을 freestyle로 직접 그리다 보면 필터바, 테이블, 변형 관리(Variant Management), 초안(Draft) 처리까지 반복 구현하게 됩니다. Fiori Elements는 이 반복을 어노테이션 기반 템플릿으
📖 개요: 왜 Cloud의 권한은 "다르게" 설계되었나 ECC나 온프레미스 S/4HANA에서 PFCG로 권한을 관리해 온 실무자가 S/4HANA Cloud Public Edition을 처음 만나면 가장 먼저 당황하는 지점이 바로 권한 체계입니다. SU01도, PFCG 프로파일 생성도,
RAP BO를 테스트하지 않으면 생기는 일 — 이 글의 목표 RAP(ABAP RESTful Application Programming Model)으로 Business Object를 만들다 보면 Validation, Determination, Action 로직이 Behavior Imple
RAP BO를 테스트하지 않으면 생기는 일 — 이 글의 목표 RAP(ABAP RESTful Application Programming Model)으로 Business Object를 만들다 보면 Validation, Determination, Action 로직이 Behavior Imple
왜 Fiori Elements인가 — 프리스타일 개발의 함정 SAPUI5로 List Report 화면을 처음부터 직접 만들어 본 적이 있다면 공감할 것이다. 필터바를 붙이고, 테이블을 바인딩하고, 변형 관리(Variant Management)를 연결하고, 내보내기 버튼을 달고, 접근성과
1. Dead Letter Channel 패턴이 왜 필요한가 SAP BTP Integration Suite로 S/4HANA와 외부 시스템을 연동하다 보면 반드시 마주치는 질문이 있습니다. "수신 시스템이 죽어 있을 때 그 메시지는 어디로 가는가?" 에러 처리를 설계하지 않은 iFlow에
📖 개요 — SE80 경험자가 ADT 첫날 마주치는 3가지 벽 아직도 SE80에서 더블클릭으로 모든 개발을 하고 있다면, RAP(RESTful ABAP Programming Model)을 시작하는 순간 벽에 부딪히게 됩니다. CDS View Entity, Behavior Definit
📖 개요: 이 글에서 다루는 내용 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 하면 데이터가 없는 상황을 만나게 됩니다. 원인은
📖 개요와 이 글의 목표 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