티스토리 뷰

SAP ERP에서 CBO와 커스터마이즈 된 테이블(흔히 Z 프로그램)의 차이를 정리합니다. CBO는 일반적으로 Custom Business Object로 사용자가 필요에 따라 표준 기능 이상의 비즈니스 객체를 생성하는 것을 의미합니다. Z 프로그램도 표준 기능이 부족할 경우 프로그램을 개박하는 것인데, 비슷하지만 다른 이 두 방식의 차이점 최대한 자세히 비교합니다.

 

 

CBO의 의미와 특징

 

CBO의 의미

CBO(Custom Business Object)는 SAP 표준 기능으로 사용이 부족한 경우 사용자가 새로운 비즈니스 객체를 생성할 수 있도록 지원하는 기능입니다. 이는 Key User Extensibility를 이용해서 개발자가 아니어도 일반 사용자가 직접 생성해 사용할 수 있습니다.

 

따라서 SAP GUI 기반의 기존 개발 방식인 ABAP Custom Program이 아닌 SAP Fiori 환경에서 생성하고 관리합니다. Fiori는 결국 SAP S/4 HANA에서 지원하는 기능이기 때문에 CBO는 S/4 HANA 버전에서만 사용할 수 있습니다.

 

CBO의 특징

  • SAP 표준 테이블과 연계 가능
  • Key User Extensibility 지원: 사용자 직접 생성
  • Custom Fields & Logic과 연동 가능: 사용자 정의 필드와 함께 사용, 특정 로직 추가
  • OData 서비스 자동 생성: 외부 시스템과 쉽게 연동

 

 

커스터마이즈 프로그램 의미

 

위에서 말한 SAP GUI 기반의 기존 개발 방식이 커스터마이징 된 프로그램을 의미합니다. ABAP 개발 환경에서 개발해야 하기 때문에 CBO처럼 개발하려면 아래와 방식처럼 진행해야 합니다. 이러한 개발 방식은 SAP ECC 6.0 버전까지 사용됩니다.

 

  • 커스텀 테이블(Z Table) 생성: 데이터 모델 확장
  • 커스텀 프로그램(Z 프로그램) 개발: 데이터 입력/조회, 사용자 접근 설정
  • Enhancement Framework (User Exit, BADI 등) 활용: 표준 트랜잭션 확장
  • Web Dynpro 또는 FPM을 이용한 UI 개발
  • OData 및 Gateway 서비스 개발 (SAP NetWeaver Gateway)

 

두 기능 간 차이

 

항목 CBO (Custom Business Object) Z 프로그램 (ABAP Custom Development)
사용 가능 버전 S/4HANA ECC 6.0 & S/4HANA
개발 방식 Low-Code/No-Code (Fiori UI에서 생성) ABAP 개발 (SE38, SE80)
UI Fiori 자동 생성 SAP GUI (클래식 UI)
OData 서비스 자동 생성 별도 개발 필요
확장성 Custom Fields & Logic으로 쉽게 확장 코드 수정 필요 (유지보수 부담)
트랜잭션 코드 없음 (Fiori 앱에서 관리) Z 트랜잭션 코드 필요
유지보수 비교적 쉬움 (비즈니스 사용자가 직접 수정 가능) 개발자가 직접 유지보수

 

결론적으로, ECC 6.0에서는 S/4 HANA에서 제공하는 CBO(Custom Business Object) 개념을 그대로 구현할 수 없습니다.
하지만, Z 테이블 + Z 프로그램 + Enhancement + Web Dynpro 등을 조합하면 비슷한 기능을 구현할 수 있습니다.

 

CBO는 새로운 "데이터 모델"을 확장하는 것이고, Z 프로그램은 "기능을 개발"하는 것입니다.
즉, CBO는 데이터 객체, Z 프로그램은 트랜잭션 및 프로세스를 다루는 것으로 이해하면 쉽습니다.

 

댓글