Fiori Elements 컬럼 추가 — 코드 없이 어노테이션 3줄 #shorts #SAP #Fiori
📖 개요: 확장 코드 없이 컬럼을 추가한다는 것 SAP Fiori Elements List Report에서 컬럼 하나를 추가해야 할 때, 많은 개발자가 습관적으로 Adaptation Project나 컨트롤러 확장부터 떠올립니다. 하지만 RAP(ABAP RESTful Applicatio
📖 개요: 확장 코드 없이 컬럼을 추가한다는 것 SAP Fiori Elements List Report에서 컬럼 하나를 추가해야 할 때, 많은 개발자가 습관적으로 Adaptation Project나 컨트롤러 확장부터 떠올립니다. 하지만 RAP(ABAP RESTful Applicatio
개요: 표준을 건드리지 않고 확장한다는 것 S/4HANA 프로젝트에서 가장 자주 받는 요구사항 중 하나는 "표준 CDS 뷰에 우리 회사 필드 하나만 추가해 달라"입니다. 표준 뷰 소스를 직접 수정하면 당장은 동작하지만, 업그레이드 시점에 변경분이 덮어써지거나 충돌이 발생합니다. ABAP
이 글에서 다루는 내용 월요일 아침, 급여 마감 담당자가 "로그인이 안 돼요"라고 외치는 순간 Basis 담당자의 하루가 시작됩니다. SU01은 SAP NetWeaver AS ABAP의 사용자 계정을 생성·수정·잠금 해제하는 핵심 트랜잭션이며, 계정 잠금 대응 속도가 곧 업무 연속성입니
개요 및 이 글에서 다룰 것 SAP UI5 애플리케이션에서 화면에 데이터를 뿌릴 때, 백엔드에서 내려온 원본 값을 그대로 노출하면 사용자 경험이 어색해집니다. 예를 들어 20260714 라는 문자열, 1500000.00 이라는 숫자, P 라는 코드 값은 각각 2026-07-14 , 1,
개요 및 목표 SAP S/4HANA Cloud와 On-Premise 환경에서 표준으로 제공되는 Business Object(BO)를 확장할 때, 과거처럼 APPEND 나 소스 수정으로 접근하면 다음 릴리스에서 필드 충돌·활성화 실패·업그레이드 롤백이라는 값비싼 대가를 치릅니다. RAP(
개요 및 이 글에서 다룰 것 ABAP RESTful Application Programming Model(RAP)에서 비즈니스 오브젝트(BO)에 파일 첨부 기능을 얹는 작업은 겉으로 보면 단순해 보이지만, Stream 어노테이션과 content type 처리를 놓치면 Fiori Elem
왜 SM19를 지금 다시 이야기해야 하는가 SAP 시스템을 운영하면서 "누가, 언제, 어떤 계정으로, 어떤 트랜잭션을 실행했는가"라는 질문에 답할 수 없다면 감사·규제 대응은 물론이고 침해 사고 발생 시 원인 추적이 사실상 불가능합니다. 이 글은 SAP NetWeaver AS ABAP
이 글에서 다루는 것 S/4HANA Cloud(Public Edition) 환경에서 ABAP 개발을 시작한 개발자들이 가장 많이 부딪히는 벽은 "이 API가 왜 안 되지?"입니다. On-Premise ABAP에서 자유롭게 쓰던 CL_GUI_FRONTEND_SERVICES , SO_NEW
이 글에서 얻어갈 것과 체크리스트 ABAP 개발자에게 Git은 오랫동안 낯선 도구였습니다. SE80/ADT의 트랜스포트 요청(TR)이 사실상의 버전 관리 역할을 해왔기 때문입니다. 하지만 클라우드 전환과 오픈소스 생태계가 확산되면서, ABAP 코드도 GitHub/GitLab에 저장하고
abapGit이 왜 ABAP 개발자의 필수 도구가 되었는가 ABAP 개발자라면 한 번쯤 이런 경험이 있을 것이다. 트랜스포트 요청(TR)을 잘못 릴리즈해서 코드가 뒤엉키고, 누가 언제 어떤 변경을 했는지 추적할 수 없어 밤을 새운 기억 말이다. abapGit 은 이런 고통을 해결하기 위
이 글에서 다루는 문제와 도달점 S/4HANA 환경에서 생산 오퍼레이션 데이터를 조회할 때 여전히 많은 개발자가 AFVC 테이블을 직접 SELECT 합니다. 이 방식은 클래식 ECC 시절의 관성이지만, S/4HANA에서는 표준 CDS 뷰 I_ProductionOrderOperation
개요 및 이 글에서 다루는 범위 S/4HANA 환경에서 배치(Batch) 관리 자재의 재고 조회는 오랫동안 MCHB , MCHA , MCH1 같은 클래식 테이블 직접 SELECT에 의존해 왔습니다. 그러나 SAP S/4HANA 1809 이후 배치별 재고 스냅샷은 MATDOC 기반의 CD
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 배송(Outbound Delivery) 데이터를 조회할 때, 여전히 관행처럼 LIPS(배송 아이템)와 LIKP(배송 헤더) 물리 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 몇 년 전까지는 사실상 표준이었지만,
이 글에서 다루는 것과 도달 지점 S/4HANA 환경에서 공급사 인보이스(Supplier Invoice, MIRO/MIR7로 등록된 문서)를 조회할 때 여전히 RBKP·RSEG 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 R/3 시대의 유산이며, S/4HANA 이후에는 릴
개요 및 실습 목표 SAP S/4HANA 도입 이후에도 여전히 많은 개발자가 구매 오더 정보를 조회할 때 EKKO (구매 오더 헤더)와 EKPO (구매 오더 아이템) 테이블을 직접 SELECT 하는 관행을 유지하고 있습니다. 이 방식은 익숙하지만 S/4HANA의 Virtual Data
개요 및 이 글에서 다루는 것 S/4HANA 전환 이후 판매 오더 라인 아이템 조회의 표준 접근 방식은 더 이상 VBAP 직접 SELECT가 아닙니다. SAP는 Virtual Data Model(VDM) 계층에서 I_SalesOrderItem 이라는 CDS 뷰를 제공하며, 이를 통해 필
개요와 이 글에서 얻어갈 것 ABAP CDS 뷰는 SAP S/4HANA 개발의 심장부에 해당합니다. 하지만 CDS 뷰에 담긴 조인 조건, 필드 계산식, 어소시에이션, Access Control 로직이 복잡해질수록 "실제 DB 데이터로만 검증할 수밖에 없다"는 관성이 생깁니다. 그 결과
이 글에서 다루는 내용과 도달 지점 Fiori Elements 앱에서 사용자가 입력 필드 옆의 돋보기 아이콘(F4)을 눌렀을 때 뜨는 값 도움말(Value Help)은 UX 품질을 좌우하는 핵심 요소입니다. 이 글은 ABAP CDS View에 @Consumption.ValueHelpDe
개요 및 이 글에서 얻어갈 것 CDS(Core Data Services) 뷰를 여러 화면과 리포트에서 재사용하다 보면, 같은 로직인데 필터 값만 다른 뷰를 여러 개 복제하게 되는 상황이 반복됩니다. 예를 들어 "특정 회사코드의 판매오더"를 조회하는 뷰와 "특정 통화의 판매오더"를 조회하
1. CDS Table Function이 필요한 이유 일반 CDS View는 선언형 SQL 기반의 데이터 뷰라는 강점이 있지만, 실제 프로젝트에서 벽에 부딪히는 순간이 있습니다. 예를 들어 매출 데이터를 지역별로 집계하되, 특정 월에만 환율을 재계산해서 반영 하고 싶다거나, 고객별 주문