CDS vs EKPO — 구매 계약 조회 차이 #shorts #SAP #ABAP
1. I_PurchaseContractItem이 해결하는 문제 구매 계약(Purchasing Contract)은 특정 자재나 서비스를 정해진 기간·조건에 반복 조달하기 위한 아웃라인 협약(Outline Agreement)입니다. SAP ERP 시절에는 EKKO(헤더)/EKPO(아이템)
1. I_PurchaseContractItem이 해결하는 문제 구매 계약(Purchasing Contract)은 특정 자재나 서비스를 정해진 기간·조건에 반복 조달하기 위한 아웃라인 협약(Outline Agreement)입니다. SAP ERP 시절에는 EKKO(헤더)/EKPO(아이템)
개요 및 이 글에서 다루는 것 ABAP 개발자라면 CALL FUNCTION 뒤에 무의식적으로 IF sy-subrc <> 0 를 붙이는 습관이 있을 것이다. 하지만 sy-subrc = 4 가 의미하는 바가 "레코드 없음"인지 "권한 오류"인지 "락 실패"인지는 매뉴얼을 뒤져야
S/4HANA 전환에서 Open Items가 프로젝트 성패를 가르는 이유 SAP ECC에서 S/4HANA로 넘어가는 Finance 전환 프로젝트에서 가장 많은 프로젝트가 무너지는 지점은 놀랍게도 마스터 데이터도, 조직구조도 아닌 Open Items(미결 항목) 입니다. Open Item
개요 및 이 글에서 배우는 것 SAP S/4HANA 환경에서 재무 회계 문서를 조회할 때, 많은 ABAP 개발자들이 여전히 BKPF(회계 문서 헤더)와 BSEG(회계 문서 항목)를 직접 JOIN하는 방식을 사용합니다. 그러나 S/4HANA에서는 이러한 접근이 성능 저하, 유지보수 어려움
개요 및 목표 SAP S/4HANA Cloud와 On-Premise 환경에서 표준으로 제공되는 Business Object(BO)를 확장할 때, 과거처럼 APPEND 나 소스 수정으로 접근하면 다음 릴리스에서 필드 충돌·활성화 실패·업그레이드 롤백이라는 값비싼 대가를 치릅니다. RAP(
개요 및 이 글에서 다루는 내용 SAP RAP(RESTful ABAP Programming Model)에서 Action은 비즈니스 오브젝트에 상태 변경 로직을 담는 핵심 구성 요소입니다. 하지만 실무에서 Action을 구현할 때 RESULT 파라미터를 제대로 채우지 않아 Fiori El
VBAK 직접 조회의 문제점과 한계 SAP ERP 시절부터 SD 모듈을 다뤄본 개발자라면 VBAK 테이블에 익숙할 것입니다. 견적(Quotation), 수주(Sales Order), 계약(Contract) 등 모든 판매 문서의 헤더가 이 하나의 테이블에 저장되기 때문에, VA21로 생성
개요와 이 글에서 다루는 것 ABAP 7.40 이후 도입된 인라인 선언( DATA(...) , FINAL(...) )과 표현식 기반 연산자( VALUE , CORRESPONDING , FILTER , REDUCE , FOR )는 코드를 극적으로 짧게 만들어 줍니다. 그러나 실제 프로젝트
이 글에서 다루는 것 RAP(RESTful ABAP Programming Model)로 구축한 비즈니스 오브젝트는 기본적으로 모든 사용자에게 열려 있는 문 과 같습니다. BDEF(Behavior Definition)에 authorization 절을 명시하지 않으면 CREATE·UPDAT
1. 개요 및 이 글에서 다루는 범위 ABAP 개발 현장에서 "테스트는 나중에", "DB에 값 넣고 눈으로 확인하면 되지"라는 관성은 여전히 강합니다. 그러나 S/4HANA 전환과 Clean Core 원칙이 확산되면서, DB 의존 없는 단위 테스트가 품질 게이트의 표준으로 자리잡고 있습
1. RAP 디버깅이 왜 유독 까다로운가 ABAP RESTful Application Programming Model(RAP)은 CDS 뷰, Behavior Definition(BDEF), Behavior Implementation(BIL) 클래스, Service Definition,
1. CONCATENATE 시대의 종말: 왜 문자열 템플릿인가 ABAP으로 오래 개발해 본 사람이라면 CONCATENATE 구문에 얽힌 크고 작은 상처가 하나쯤 있을 것이다. 변수 5개를 이어 붙이는데 공백이 사라져서 결과가 뭉치거나, SEPARATED BY space 를 깜빡해서 로그
placeholder
COEP의 시대가 끝났다 — S/4HANA 비용 아키텍처 전환 ECC 시절 원가회계 담당자에게 COEP는 성전(聖典)이었다. 실적 라인 아이템은 여기 있었고, 배부·정산·재분배 결과도 모두 여기로 흘러들었다. 그러나 S/4HANA로 넘어오면서 회계 데이터 모델은 Universal Jou
이 글에서 다루는 내용과 확인 체크리스트 RAP(RESTful ABAP Programming Model)로 Business Object를 개발할 때 가장 흔하게 놓치는 부분이 바로 Behavior Implementation Class에 대한 단위 테스트 입니다. UI만 눈으로 확인하고
이 글에서 다루는 것 S/4HANA Cloud(Public Edition) 환경에서 ABAP 개발을 시작한 개발자들이 가장 많이 부딪히는 벽은 "이 API가 왜 안 되지?"입니다. On-Premise ABAP에서 자유롭게 쓰던 CL_GUI_FRONTEND_SERVICES , SO_NEW
이 글에서 얻어갈 것과 체크리스트 ABAP 개발자에게 Git은 오랫동안 낯선 도구였습니다. SE80/ADT의 트랜스포트 요청(TR)이 사실상의 버전 관리 역할을 해왔기 때문입니다. 하지만 클라우드 전환과 오픈소스 생태계가 확산되면서, ABAP 코드도 GitHub/GitLab에 저장하고
글의 목적과 확인 포인트 이 글은 SAP S/4HANA 환경에서 판매 조직(Sales Organization) 마스터 데이터를 조회할 때 전통적인 TVKO 테이블 대신 I_SalesOrganization CDS 뷰를 사용하는 방법을 다룹니다. S/4HANA로 전환한 조직에서는 클래식 S
이 글에서 다루는 내용과 도달 지점 RAP(RESTful ABAP Programming Model)에서 대부분의 서비스는 데이터베이스 테이블 또는 CDS View를 기반으로 만들어집니다. 그러나 실무에서는 SAP 시스템 외부의 REST API, 파일, 메시지 큐 같은 비관계형 소스를 O
이 글에서 얻어갈 것 SAPUI5에서 Dialog는 사용자와의 상호작용에서 가장 자주 등장하는 컨트롤입니다. 그런데 많은 개발자들이 여전히 컨트롤러 안에서 new sap.m.Dialog({...}) 를 직접 호출하며 코드를 길게 늘어뜨리고 있습니다. 이 방식은 화면이 하나일 때는 괜찮지