본문 바로가기

NEW_SAP/SAP Public Cloud

Extensibility 구현 방법론

최초 작성일: 2024년 11월 27일

최종 작성일 : 2024년 11월 27일

목표: SAP Public Cloud 이해하기..

 

SAP S/4 HANA Cloud, Public Edition에서 확장하는 방법은 아래와 같음.

 

1) SAP S/4 HANA Cloud, Public Edition ABAP Environment - EXTENSIBILITY INTEGRATED IN SAP S/4 HANA CLOUD

1-1. Key User Extensibility

1-2. Developer Extensibility

 

2) SAP Business Technology Platform(SAP BTP)  - SIDE BY SIDE EXTENSITILITY

2-1. Low Code Side-by-Side Extensibility

2-2. Pro Code Side-by-Side Extensibility

 

구분 Extensibility Integrated in SAP S/4HANA Cloud Side-by-Side Extensibility
환경 SAP S/4 HANA Cloud, public edition
ABAP Environment
SAP Busienss Technology Platform
(SAP BTP)
기준 Key-User
Extensibility
Developer Extensibility Low Code
Side-by-Side
Extensibility
Pro Code
Side-by-Side
Extensibility
대상 사용자   개발자   고급 개발자
목적 코딩 없이 UI 및 비즈니스 프로세스 (BAdl에서 제공하는 로직) 수정 및 확장 ABAP을 사용하여 복잡한 비즈니스 로직(BAdl에서 제공하는 않는 로직) 및 API 호출 로우 코드 도구를 사용하여 외부 애플리케이션 개발 및 통합 고급 코딩을 통해 외부 애플리케이션 개발 및 복잡한 시스템 통합
코딩 여부 코딩 없음 코딩 필요 최소 코드 또는
로우 코드 사용
고급 코드 사용
주요 도구 SAP fiori, SAP GUI, Business Configuration ADT SAP Build Cloud Foundry
주요 작업 UI 수정, 필드 추가, 화면 구성, 비즈니스 규칙 설정 비즈니스 로직 개발, API 통합, 커스텀 ABAP 로직 개발 외부 시스템과의
API 통합, UI 및 앱 개발
외부 시스템과의 고급 통합, 복잡한 애플리케이션 개발
기술 수준        
사용 예시 판매 주문 화면에 필드 추가, UI 필터링 외부 시스템과 API 통합, 복잡한 로직 구현 간단한 모바일 앱 개발, 외부 시스템과 데이터 통합 외부 애플리케이션 개발, 고급 비즈니스 로직 처리
특징 비즈니스 중심, 간단한 확장 시스템 핵심 로직의 깊은 확장 비즈니스 사용자도 참여가능, 신속한 개발 복잡한 문제 해결, 고급 기술을 활용한 확장

 

Key User Extensibility: Create Custom Business Logic Using Cloud BAdl VS Debeloper Extensibility : custom business logic

 

 

 

Key User Extensibility: Create Custom Business Logic Using Cloud BAdl의 주요 특징

BAdl(Business Add-In)는 SAP의 확장 지점으로, 표준 SAP 시스템에서 제공하는 비즈니스 로직을 사용자가 추가적으로 확장할 수 있게 해주는 인터페이스임.

Cloud BAdl는 SAP S/4 HANA Cloud 환경에서 제공되며, 클라우드 환경에 맞게 비즈니스 로직을 확장할 수 있음

BAdl 활용 예시 : 판매 주문이 생성될 때, 기본 SAP 로직을 변경하지 않고, 세금 계산 방식을 수정하거나, 특정 고객에 대해 추가적인 비즈니스 규칙을 적용하는 것

도구 및 방식 :

Fiori UI : key User가 설정할 수 있는 직관적인 fiori 기반 UI를 통해 BAdl 설정

Cloud BAdl : 클라우드 환경에서 제공되는 표준 API 및 BAdl를 활용하여 비즈니스 로직 확장

 

Developer Extensibility : custom business logic

Developer Extensibility는 주로 개발자들이 사용하며, SAP S/4 HANA Cloud 시스템의 비즈니스 로직을 프로그램적으로 확장하거나 개발하는 것. 개발자는 ABAP을 비롯한 개발 도구를 사용하여 보다 복잡하고 세밀한 비즈니스 로직 작성 가능.

주요 특징: API 호출, 복잡한 조건에 따른 비즈니스 로직 처리(BAdl에서 제공하지 않는 로직 처리), 데이터 변환 등을 프로그램적으로 구현. 

활용 예시 : 판매 주문의 생성 시 고유의 세금 계산 로직을 작성하거나, 외부 ERP 시스템과의 데이터 연동을 위해 OData API를 통해 데이터를 처리하는 등의 심화 작업이 가능

도구 및 방식 : ADT, API Integration

 

-> key user extensibility는 BAdl에 따라 비즈니스 로직 추가 수정 가능/ BAdl에 제공하지 않거나 API 호출 등을 할때는 Developer Extensibility를 활용

 

 

= example

Key User Extensibility (Cloud BAdI) 사용 사례

Key User Extensibility비즈니스 사용자직관적인 UI를 통해 비즈니스 로직을 수정하거나 확장하는 방법입니다. 이 방법은 개발 지식이 부족한 사용자가 SAP 표준 시스템을 자신의 요구에 맞게 쉽게 조정할 수 있게 해줍니다.

사용 사례:

  1. 판매 주문 생성 시 할인가 적용:
    • 상황: 기업은 특정 고객에게 할인율을 적용하여 판매 주문을 생성할 때 자동으로 할인을 적용해야 합니다.
    • Key User Action: Key user는 Cloud BAdI를 사용하여 판매 주문 생성 프로세스에 할인율 계산 규칙을 추가할 수 있습니다.
    • 결과: 특정 고객에게 자동 할인가가 적용되며, 기존의 SAP 표준 로직을 수정하지 않고도 추가 비즈니스 요구를 반영할 수 있습니다.
  2. 세금 계산 방식 수정:
    • 상황: 특정 지역에 대한 세금 계산 규칙기존 SAP 시스템에 추가해야 합니다.
    • Key User Action: Key user는 Cloud BAdI를 사용하여 세금 계산 프로세스를 특정 조건에 맞게 수정할 수 있습니다 (예: 특정 지역, 제품에 대한 세금 규정).
    • 결과: 세금 계산 규칙을 사용자 정의하고, SAP 시스템의 핵심 로직을 변경하지 않고도 필요한 규칙을 반영할 수 있습니다.
  3. 상품 관리와 재고 상태 확장:
    • 상황: 특정 상품에 대해 추가적인 정보가 필요하고, 재고 관리 프로세스에서 이를 추적해야 합니다.
    • Key User Action: Key user는 Cloud BAdI를 통해 재고 관리 모듈새로운 필드를 추가하거나, 특정 조건에 따른 상품 분류를 정의할 수 있습니다.
    • 결과: 사용자는 재고 상태에 대한 정보를 추가적으로 추적하고 관리할 수 있습니다.
  4. 구매 요청에 대한 승인 워크플로우 추가:
    • 상황: 특정 부서에서 구매 요청을 생성할 때, 승인 절차를 따르도록 해야 합니다.
    • Key User Action: Key user는 Cloud BAdI를 사용하여 구매 요청이 생성될 때, 자동 승인 조건을 설정하거나, 특정 부서의 승인을 요구하는 워크플로우를 설정할 수 있습니다.
    • 결과: 부서별로 구매 요청 승인 절차를 간단하게 설정할 수 있으며, 비즈니스 프로세스가 자동화됩니다.

2. Developer Extensibility 사용 사례

Developer Extensibility개발자고급 기능이나 복잡한 로직직접적으로 프로그래밍하여 SAP 시스템을 확장하는 방식입니다. 주로 ABAP, API 통합전문적인 도구와 기술을 활용하여 비즈니스 로직을 깊게 변경하거나 새로운 애플리케이션을 개발합니다.

사용 사례:

  1. 판매 주문 처리 후 외부 ERP 시스템 연동:
    • 상황: SAP S/4HANA판매 주문 데이터가 생성되면, 이를 외부 ERP 시스템(예: CRM 시스템)과 연동하여 고객 정보를 동기화해야 합니다.
    • Developer Action: 개발자는 OData APIREST API를 사용하여 외부 시스템판매 주문 데이터를 자동으로 전송하는 로직을 ABAP으로 개발합니다.
    • 결과: 외부 ERP 시스템자동으로 업데이트되며, 양 시스템 간 데이터 동기화가 이루어집니다.
  2. 복잡한 세금 계산 엔진 개발:
    • 상황: 기존 SAP 시스템에서 제공하는 세금 계산 방식이 기업의 특정 세금 정책을 처리하는 데 부족합니다.
    • Developer Action: 개발자는 ABAP을 사용하여 복잡한 세금 계산 로직새롭게 개발하거나, 클라우드 API를 통해 외부 세금 엔진을 통합하여 세금 계산을 수행합니다.
    • 결과: 세금 계산 엔진맞춤화되어, 기업의 요구에 맞는 정밀한 세금 계산을 제공합니다.
  3. 고급 데이터 변환 및 처리 로직:
    • 상황: 기존 SAP 시스템의 데이터 처리 로직이 특정 요구사항에 맞지 않거나, 다양한 데이터 소스에서 데이터를 받아와야 하는 경우.
    • Developer Action: 개발자는 ABAP 또는 SAP Cloud Platform Integration을 사용하여 데이터 변환처리 로직을 프로그래밍합니다. 예를 들어, 외부 API로부터 받은 데이터를 SAP 데이터 모델에 맞게 변환하여 저장하는 기능을 개발할 수 있습니다.
    • 결과: 외부 시스템의 데이터SAP 시스템 내에 통합되고, 비즈니스 규칙에 맞게 정확히 처리됩니다.
  4. 사용자 정의 보고서 및 대시보드 개발:
    • 상황: 특정 비즈니스 요구에 맞는 사용자 정의 보고서실시간 대시보드를 SAP 시스템 내에서 제공해야 합니다.
    • Developer Action: 개발자는 ABAP 또는 SAP Fiori를 사용하여 복잡한 보고서를 개발하거나, 실시간 대시보드를 개발하여 데이터를 시각화합니다. Fiori 앱을 통해 사용자가 사용자 정의 대시보드를 확인할 수 있습니다.
    • 결과: 비즈니스 사용자는 실시간 데이터를 기반으로 결정적인 의사결정을 내릴 수 있는 도구를 받게 됩니다.
  5. 외부 서비스와의 고급 통합:
    • 상황: 외부 서비스(예: CRM, 물류 시스템, 결제 게이트웨이)와의 상호작용이 필요한 경우.
    • Developer Action: 개발자는 SAP Cloud Platform Integration 또는 API Management를 사용하여 외부 서비스와의 연결을 관리하고, 데이터를 전송하는 로직을 개발합니다.
    • 결과: 외부 시스템과의 자동 연동이 이루어지며, 실시간 데이터 전송이 가능해집니다.

결론:

  • Key User Extensibility비즈니스 사용자직관적인 도구를 사용하여 간단한 비즈니스 로직 확장을 할 수 있도록 돕고, 주로 BAdIFiori UI를 통해 비즈니스 규칙을 추가하거나 변경하는 데 사용됩니다.
  • Developer Extensibility개발자고급 기능프로그램적으로 확장하여 복잡한 비즈니스 로직, API 통합, 사용자 정의 보고서 및 애플리케이션 등을 개발하는 데 사용됩니다. ABAP을 비롯한 전문적인 개발 도구를 사용하여 SAP 시스템을 깊게 커스터마이징할 수 있습니다.
 

*API 통합 : 서로 다른 시스템 간에 데이터와 기능을 교환하거나 연동하는 과정

(API를 사용하여 상호작용)