Clean Core 개발 설정

Objective

After completing this lesson, you will be able to clean Core 개발을 위한 선행조건 단계를 실행합니다.

Clean Core 개발을 효과적으로 실행하기 위한 유용한 단계

레벨 기준 개발 작업을 효과적으로 수행하려면 몇 가지 정보가 유용합니다.

  • 소프트웨어 컴포넌트를 생성하고 여기에 패키지를 지정해야 합니다.
  • 개발자 권한을 지정해야 합니다.
  • ABAP 테스트 콕피트 점검 변형을 사용해야 합니다.
  • ABAP 언어 버전이 개발 오브젝트에 지정되어야 합니다.
ABAP 클라우드 개발을 위한 개발자를 설정하기 위해 몇 가지 선행조건이 충족되어야 합니다. 소프트웨어 컴포넌트 설정, ABAP 패키지 설정, 사용자 권한 설정

레벨 기반 개발 작업을 위해 SAP S/4HANA Cloud Private Edition 시스템을 설정하려면 다음 요인을 고려합니다.​

  • 초기 설정​
  • 릴리스 상태, 릴리스 계약 및 사용 가시성 이해​
  • 개발자 권한 이해​
  • ABAP 테스트 콕피트 점검 이해

초기 설정

초기 설정은 다음과 같이 구성됩니다.​

소프트웨어 컴포넌트 설정

관리자는 2022년부터 제공되는 RSMAINTAIN_SWCOMPONENTS 리포트를 사용하여 소프트웨어 컴포넌트를 생성하고 구성할 수 있습니다. 생성된 소프트웨어 컴포넌트는 전송 가능성(전송 가능 또는 로컬)과 함께 "ABAP 클라우드" 또는 "ABAP 클래식"으로 분류됩니다.​

ABAP Cloud 유형의 소프트웨어 컴포넌트에서 생성된 모든 오브젝트는 ABAP 클라우드 개발 모델을 따라야 합니다. 이와 달리, ABAP 클래식 유형의 소프트웨어 컴포넌트 오브젝트는 어떤 유형이든 될 수 있습니다. ABAP Cloud 기반 소프트웨어 컴포넌트는 Clean Core 레벨 "A"와 ABAP Classic 기반 소프트웨어 컴포넌트가 각각 "B", "C" 및 "D" 레벨에 매핑되도록 효과적으로 매핑됩니다. ​

구조 패키지

고객 소프트웨어 프로젝트를 쉽게 구조화하려면 고객이 생성한 각 소프트웨어 컴포넌트에 대해 구조 패키지를 생성해야 합니다. ​

개발 패키지

구조 패키지 아래에는 (개별 프로젝트 요구사항에 따라) 하나 이상의 개발 패키지를 생성하여 필요한 모든 개발 아티팩트를 보관할 수 있습니다.​

권한 부여​

몇 가지 권한 오브젝트를 기록해 두어야 합니다. 먼저 소프트웨어 컴포넌트를 설정하는 관리자의 경우 권한 오브젝트 S_CTS_ADMI가 필요합니다.​

둘째, 고객이 개발자를 레벨 A 개발로만 제한하려고 하거나, 일부 개발자가 레벨 A에서 작업하는 동시에 다른 개발자가 레벨 B, C, D에서 작업할 경우 권한 오브젝트 S_ABPLNGVS를 사용하여 개발자에게 적절한 권한을 설계할 수 있습니다. 절차는 다음과 같습니다.​

  • 트랜잭션 코드 SACF를 사용하여 권한 오브젝트 S_ABPLNGVS​ 를 사용하여 권한 점검을 활성화합니다.
  • 두 개의 역할을 생성합니다. 레벨 A 개발로만 제한된 개발자에게는 하나의 역할이 지정됩니다. 다른 하나는 다른 모든 레벨(예: B, C 또는 D)에서 개발할 수 있는 개발자에게 지정됩니다(해당되는 경우). 두 역할 모두 트랜잭션 코드 PFCG 를 사용하고 역할 SAP_BC_ABAP_DEVELOPER_5 를 복사 템플릿으로 사용하여 생성할 수 있습니다. 이 역할에는 S_ABPLNGVS 권한 오브젝트​ 가 포함되어 있습니다.

  • 개별 개발자별로 권한 필드 ABP_LNG_VS 를 설정합니다. 레벨 A에서만 개발하려는 개발자의 경우 유지보수되는 값은 ABAP for Cloud Development입니다. 다른 모든 개발자의 경우 값은 모든 액티비티 (레벨 B, C 또는 D)입니다.​

ABAP 테스트 콕피트 점검 변형

ABAP 테스트 콕피트 점검 변형

개발자에게 익숙해야 하는 ABAP 테스트 콕피트 점검 변형이 몇 가지 있습니다. 특히 중요한 두 가지는 다음과 같습니다.

  • ABAP_CLOUD_DEVELOPMENT_DEFAULT

    이 변형을 사용하여 ABAP 코드가 클라우드와 호환되는지 확인할 수 있습니다. 이 점검 변형을 사용하면 기본 ABAP 클라우드 규칙을 적용할 수 있습니다.

  • ABAP_CLOUD_READINESS

    이 변형은 코드를 점검하여 "ABAP Cloud 준비"인지 확인할 때 유용할 수 있습니다. ABAP Cloud에서 사용할 수 있는 오브젝트 유형만 개발되고, ABAP Cloud 언어 문만 사용되며, 릴리스된 SAP API만 호출되는지 확인합니다. 이 변형이 사용되면 ATC 검사 결과의 작업 리스트가 표시되며 수정이 필요한 이슈를 자세히 설명합니다. 이슈에 따라 "Quick Fix" 기능을 사용하여 코드를 즉시 조정할 수 있습니다.

  • Clean Core 점검을 위한 ATC 점검 변형 설정

    위에 언급된 두 가지 변형 외에도 고객은 해당 가이드라인에 따라 SAP 표준 오브젝트의 사용을 확인하는 새로운 Clean Core 레벨 가이드라인(예: 릴리스된 API, 클래식 API 등)에 맞는 사용자 정의 변형을 생성할 수 있습니다. ATC 결과를 사용하면 다음이 표시됩니다.

    • 릴리스된 API: 레벨 A: ATC에 결과가 없습니다.
    • 클래식 API: 레벨 B: 우선순위 3(정보 메시지)
    • 내부 오브젝트: 레벨 C: 우선순위 2(경고 메시지)
    • 권장되지 않음: 레벨 D: 우선순위 1(오류 메시지)

    이 사용자 정의 변형을 생성하는 것은 간단합니다. 다음 단계를 수행하십시오.

    • 위에 나열된 ABAP_CLOUD_DEVELOPMENT_DEFAULT 변형을 새로 명명된 변형에 복사합니다.
    • 이름이 새로 지정된 변형에 다음 ATC 점검을 추가합니다.
      • 허용된 SAP 인핸스먼트 기술
      • API 사용
      • 중요 문
      • 고객 수정 검색
      • Code Vulnerability Analyzer(CVA)(CVA가 이에 따라 라이센스되는 경우)

    Eclipse의 ABAP 개발 툴이 Clean Core를 통해 개발 태스크를 지원하는 다양한 기능을 제공하는 방법에 대한 자세한 내용은 Clean Core ABAP 개발 거버넌스를 위한 ABAP 테스트 콕피트(ATC) 권장사항 블로그를 참조하십시오.

릴리스 상태, 릴리스 계약 및 사용 표시

Clean Core 레벨 A 규제 준수를 위해 릴리스된 API 세부사항

이 과정에서 릴리스된 API의 중요성에 대해 자주 언급했습니다. Clean Core 레벨 규제 준수는 릴리스된 API만 사용해야 합니다. 앞서 논의한 바와 같이, 클라우드 소프트웨어를 통한 소프트웨어 업데이트는 정기적으로 수행되며 레벨 A에서 설계 및 구현된 확장은 업그레이드 시 고객에게 어떠한 중단도 겪지 않을 것입니다.

안정성과 투명성을 높이기 위해 확장 개발과 함께 사용할 개발 오브젝트가 명시적으로 릴리스되고 릴리스 계약 및 사용 가시성을 통해 유지보수됩니다. 세 가지 옵션은 모두 동일한 화면에서 동시에 관리됩니다.

다음과 같은 옵션을 설정해야 합니다.

  • 릴리스 상태

    이 매개변수는 개발 오브젝트가 "릴리스됨"(즉, 사용 가능)임을 나타냅니다.

  • 계약 릴리스
    • 확장(C0)

      확장성을 위해 활성화된 개발 오브젝트에는 릴리스 계약 확장(C0)이 지정되어 있습니다. 해당 오브젝트 유형에 따라 확장 지점을 정의하기 전에 추가 선행조건이 있을 수 있습니다.

    • 시스템 내부 사용(C1)

      이 지정은 사용에 사용되는 개발 오브젝트용입니다. clean core 레벨 A가 목표인 경우 확장 구현에 사용되는 개발 오브젝트에는 C1 지정이 필요합니다.

    • 사용 표시

      사용 표시를 위해 다음 두 가지 옵션을 설정할 수 있습니다.

      • '주요 사용자 앱에서 사용'은 주요 사용자 확장성 툴에서 사용할 수 있도록 릴리스된 오브젝트에 사용됩니다.
      • 클라우드 개발에서 사용 은 온스택 개발자 확장성에서 사용할 수 있도록 릴리스된 오브젝트에 사용됩니다.

Eclipse의 ABAP 개발 툴이 ABAP Cloud를 통해 개발 태스크를 지원하는 다양한 기능을 제공하는 방법에 대한 자세한 내용은 블로그 Eclipse용 ABAP 개발 툴(ADT)에서 ABAP Cloud 지원 활용 블로그를 참조하십시오.

ABAP Cloud 및 ABAP Classic Development에 대한 개발자 권한 설정

개발 오브젝트에 ABAP 언어 버전 지정