개발자 확장성 이해

Objectives

After completing this lesson, you will be able to:
  • ABAP RESTful 어플리케이션 프로그래밍 모델 BO 확장성을 살펴봅니다.
  • BAdI 디자인을 살펴봅니다.

개발자 확장성

개발자 확장성을 통해 SAP 솔루션과 프로그래밍된 확장을 명확하게 구분할 수 있습니다.

개발자 확장은 기존의 ABAP 개발자 페르소나를 지향합니다. 개발자는 릴리스된 확장 지점을 사용하여 더 복잡한 사용 케이스를 구현할 수 있습니다. 가능한 몇 가지 방법은 다음과 같습니다.

  • 데이터에 자주 또는 복잡한 SQL 액세스가 필요한 확장
  • SAP 어플리케이션과 동일한 작업 논리 단위(LUW)에서 실행되는 확장
  • 병렬 어플리케이션을 위한 원격 어플리케이션 프로그래밍 인터페이스(API, Application Programming Interface) 역할을 하는 확장

개발자 확장은 ABAP Cloud 개발 모델을 사용하여 SAP S/4HANA Cloud, ABAP 환경(SAP S/4HANA용 ABAP 플랫폼의 일부) 내에서 구현됩니다. 모델의 모든 빌딩 블록이 사용됩니다(예: Eclipse용 ABAP 개발 툴 사용, 공개된 인터페이스 사용 등).

개발자 확장성은 고객에게 다음과 같은 두 가지 방식으로 제공됩니다.

  • ABAP RESTful 어플리케이션 프로그래밍 모델 확장성 옵션
  • 비즈니스 애드인(BAdI)

기존 확장성과 마찬가지로 SAP에서는 두 가지 가능성을 제공할지 여부와 제공 수준을 결정합니다. 현재 125개 이상의 비즈니스 오브젝트 인터페이스(ABAP RESTful 어플리케이션 프로그래밍 모델 BO의 확장 가능 부분 나열)와 800개가 넘는 비즈니스 애드인이 고객에게 제공됩니다.

신규 필드를 추가하여 확장 구현

신규 액션을 추가하여 확장 구현

신규 유효성 확인을 추가하여 확장 구현

신규 노드를 추가하여 확장 구현

SAP S/4HANA Cloud 비즈니스 애드인(BAdI)

SAP S/4HANA Cloud 비즈니스 애드인(BAdI)

SAP S/4HANA Cloud 비즈니스 애드인(BAdI)은 사용 가능한 추가 인핸스먼트 옵션입니다.

SAP S/4HANA Cloud 비즈니스 애드인(BAdI)은 사용 가능한 추가 인핸스먼트 옵션입니다. BAdI 개념은 새로운 개념이 아닙니다. SAP의 ERP 플랫폼에서 수년 동안 확장 가능성으로 제공되었습니다. BAdI는 디자인 및 구현에서 객체 지향적이며 Clean Core 개념과 일치하며 확장되고 있는 기본 SAP 오브젝트와는 별개입니다. 또한 ABAP RESTful 어플리케이션 프로그래밍 모델 확장성과 마찬가지로 SAP S/4HANA Cloud 업데이트는 BAdI 확장 구현에 영향을 주지 않으며 그 반대의 경우도 마찬가지입니다. BAdI 구현 생성 예시를 포함한 자세한 내용은 SAP Learning 웹 사이트에서 SAP S/4HANA Cloud, ABAP 환경을 사용하여 확장 개발 과정의 연습문제 주요 사용자 및 개발자 확장성을 사용하여 확장 구현 을 참조하십시오.

온스택 개발자 확장성을 위한 시스템 랜드스케이프

원래 SAP S/4HANA Cloud는 두 개의 테넌트 랜드스케이프, 즉 개발, 구성 및 테스트 액티비티에 사용된 품질 테넌트와 최종 사용자가 운영 용량으로 작업한 운영 시스템에서 고객에게 제공되었습니다. 이 설정은 주요 사용자 확장성에 충분합니다.

그러나 온스택 개발자 확장을 구현하려면 관련 ABAP 코드와 함께 ABAP 기반 툴이 필요하므로 테넌트 구성을 약간 변경해야 합니다. 기존의 온프레미스 디자인과 마찬가지로, 개발, 테스트, 생산을 위한 별도의 테넌트가 SAP S/4HANA Cloud 고객에게 제공됩니다. 주요 확장과 개발자 확장은 모두 운영 환경에서 테스트하고 사용할 전송에 지정됩니다.

SAP S/4HANA Cloud ABAP RESTful 어플리케이션 프로그래밍 모델 확장성

ABAP RESTful 어플리케이션 프로그래밍 모델의 모든 계층에서 대부분의 아티팩트를 확장할 수 있습니다.

단원 3 소단원 2, ABAP 클라우드 개발 모델(ABAP Cloud) 살펴보기 에서 ABAP RESTful 어플리케이션 프로그래밍 모델 BO와 서비스 정의와 같은 다양한 ABAP RESTful 어플리케이션 프로그래밍 모델 아티팩트와 ABAP Cloud 개발에서 ABAP RESTful 어플리케이션 프로그래밍 모델을 사용하는 방법을 조사했습니다. 따라서 ABAP RESTful 어플리케이션 프로그래밍 모델 확장성은 SAP S/4HANA Cloud에서 개발자 확장성을 달성하는 방법 중 하나가 됩니다. ABAP RESTful 어플리케이션 프로그래밍 모델 확장성은 고객이 ABAP RESTful 어플리케이션 프로그래밍 모델 스택의 각 계층에서 ABAP RESTful 어플리케이션 프로그래밍 모델 BO에 대한 업그레이드 및 수명 주기 고정 확장을 생성할 수 있는 기능을 제공합니다. 원래 ABAP RESTful 어플리케이션 프로그래밍 모델 BO는 SAP에서 개발하며, 각 계층에서 SAP는 확장성을 활성화하고 허용되는 특정 확장 유형도 지정할 수 있습니다. 일반적으로 ABAP RESTful 어플리케이션 프로그래밍 모델 스택에서 사용 가능한 확장 유형은 다음과 같습니다.

  • 데이터 모델 확장
  • 필드 동작 및 동작 확장
  • 노드 및 서비스 정의 확장
  • 데이터 모델 확장

    이러한 확장은 데이터베이스 테이블 확장과 CDS 뷰 확장의 두 가지 형태로 제공됩니다. 데이터베이스 테이블에 새로운 필드를 추가하는 개념은 ABAP 개발자에게 친숙한 개념입니다. 개발자 확장성을 통해, SAP에서 생성한 테이블은 주석을 통해 확장 가능한 것으로 명시적으로 릴리스됩니다. 또한 SAP는 ABAP 개발자가 새로운 필드를 배치할 수 있도록 확장 구조(확장 가능으로 명시적으로 릴리스됨)를 제공합니다. 이 구조는 테이블에서 명시적으로 참조됩니다. CDS 뷰의 경우, ABAP 개발자가 새로운 필드로 데이터베이스 테이블을 확장하면 해당 테이블에 종속된 CDS 엔티티도 확장됩니다. 데이터베이스 레벨과 마찬가지로, SAP에서 생성한 CDS 뷰와 연결된 익스텐션 Include 뷰(모두 확장 가능으로 명시적으로 릴리스됨)가 사용됩니다. 이렇게 하면 CDS 뷰가 인식되고 생성된 신규 필드를 선택할 수 있습니다. 신규 필드 외에 신규 연관 관계의 모델링도 허용됩니다.

  • 필드 동작 및 동작 확장

    ABAP 개발자는 이러한 확장 유형을 사용하여 새로운 동작을 통해 ABAP RESTful 어플리케이션 프로그래밍 모델 BO를 확장할 수 있습니다. 다음은 고객이 사용할 수 있는 확장 기능 중 일부입니다.

    • 원래 ABAP RESTful 어플리케이션 프로그래밍 모델 BO 모델에 새로운 필드를 추가하고 추가 필드 매핑에 사용할 수 있습니다.
    • 원래 ABAP RESTful 어플리케이션 프로그래밍 모델 BO에서 새로운 액션, 결정 및 유효성 확인이 가능합니다.
    • 추가 저장을 정의하고 구현할 수 있습니다.
    • 드래프트 지원 ABAP RESTful 어플리케이션 프로그래밍 모델 BO의 경우, 새로운 결정 액션을 추가할 수 있으며 제공된 ABAP RESTful 어플리케이션 프로그래밍 모델 프레임워크에 따라 액션 준비 가 확장될 수 있습니다.
  • 노드 및 서비스 정의 확장

    필드 및 필드 동작 확장과 관련하여 노드 확장성을 사용하면 ABAP RESTful 어플리케이션 프로그래밍 모델 BO 엔티티를 기존 ABAP RESTful 어플리케이션 프로그래밍 모델 BO에 추가할 수 있습니다. 예를 들어, 제공된 SAP ABAP RESTful 어플리케이션 프로그래밍 모델 BO에 표시되지 않은 고객 고유 테이블은 새로운 ABAP RESTful 어플리케이션 프로그래밍 모델 BO 확장 엔티티로 통합할 수 있습니다. 이전 섹션에 설명된 필드 및 필드 동작 확장을 사용하여 신규 BO 엔티티에 대해 구현된 적절한 비즈니스 로직을 보장하기 위해 이전 섹션에 설명된 필드 및 필드 동작 확장을 사용할 수 있습니다. 마지막으로, 새로운 노드가 서비스를 사용할 수 있도록 서비스 정의를 확장하여 새로운 ABAP RESTful 어플리케이션 프로그래밍 모델 BO 엔티티를 포함할 수 있습니다.

확장성 지원과 확장성 프로비저닝 비교

확장을 이해하는 데 있어 혼란을 최소화하기 위해서는 용어가 중요합니다. 기존 확장성과 마찬가지로 확장성 허용 여부는 SAP에서 결정하므로 "확장성 지원"이라는 용어가 사용됩니다. 확장의 실제 사용, 즉 "확장"은 고객이 수행하며 "확장성 프로비저닝"이라는 용어는 참조 용어로 사용됩니다.

릴리스된 BAdI 구현