본문 바로가기
만능목공풀/SAP Project

SAP Clean Core Level Concept

by 만능목공풀 2026. 1. 18.
728x90
반응형

SAP Clean Core Strategy

 

SAP의 Clean Core 전략으로 인해 고객사와 컨설팅사가 모두 분주해지고 있다. 

Clean Core 로 변화하게 되면 SAP가 버전 upgrade를 할때마다 발생하는 TCO 비용이 대폭 절감된다는 게

SAP가 주장하는 핵심 포인트라고 할수 있다.  

 

SAP Clean Core Level Concept

 

SAP에서는 20258월에 기존의 3 Tier extensibility model을 하기와 같은 Level concept로 변경하였다. 

Clean Core에 대한 적용방식 및 범위가 어느 정도 현장의 적용가능성을 고려해서 수정된 것으로 판단한다.

SAP의 가이드는 Level A, Level B는 유지해야 Clean Core로 인정받을 수 있고, Level C는 조건부로 수용하겠다는 뜻이다. 

 

Level D : Standard Mofification, Obsolete BAPI 등 SAP에서 하지 말라고 하는 것들 
Level C : 기존의 Classic ABAP으로 만들어진 프로그램 대부분

Level B : Level C, Level C를 CDS View 또는 Released API 로 소스를 변경하면 Level B가 됨

Level A : Level B 를 유지하면서 UI가 Fiori로 전환 (RAP 또는 UI5로 개발)   

 

출처 https://www.sap.com/documents/2024/09/20aece06-d87e-0010-bca6-c68f7e60039b.html

 

 

Level C -> Level B 변경

 

실무적으로 Clean Core 변경 작업의 사례를 찾아 보았다.

 

Standard Table 및 Standard Field 를 CDS View 로 변경하면 된다. 

예시로 SKA1 테이블은 IFIGLACCINCOA 테이블로 변경하고, SKB1은 IFIGLACCINCCODE 로 변경된다.  

 

 

아래는 프로그램 소스코드의 일부이다.

Classic 테이블 및 필드를 CDS View로 변경하면서 AS (Alias)를 활용하고 기존 테이블은 맨우측에 붙여서 표기하면
식별이 조금 더 편해질 것이라고 생각한다.  


--------------------[ Source Code ] --------------------------------------------------------------

FORM data_select .
  CLEARgv_err.


*..Extract Data 
  CLEARgt_itabgt_itab[].
* SKA1 -> IFIGLACCINCOA, SKB1 -> IFIGLACCINCCODE
  SELECT ska1~chartofaccounts                AS ktopl,
         ska1~glaccount                      AS saknr,
         ska1~isbalancesheetaccount          AS xbilk,
         ska1~glaccountgroup                 AS ktoks,
         ska1~corporategroupaccount          AS bilkt,
         ska1~profitlossaccounttype          AS gvtyp,
         ska1~sampleglaccount                AS mustr,
         ska1~accountismarkedfordeletion     AS xloev,
         ska1~accountisblockedforcreation    AS xspea,
         ska1~accountisblockedforposting     AS xspeb,
                                  [ 중략 ]
         skb1~companycode                    AS bukrs,
         skb1~fieldstatusgroup               AS fstag,
         skb1~reconciliationaccounttype      AS mitkz,
         skb1~glaccountcurrency              AS waers,
         skb1~balancehaslocalcurrency        AS xsalh,
         skb1~taxcategory                    AS mwskz,
         skb1~taxcodeisrequired              AS xmwno,
         skb1~acctgdocitmdisplaysequencerule AS zuawa,
         skb1~isautomaticallyposted          AS xintb,
         skb1~reconciliationacctischangeable AS xmitk,
       
    FROM ifiglaccincoa AS ska1
    LEFT JOIN ifiglaccinccode AS skb1
      ON ska1~glaccount EQ skb1~glaccount
   WHERE ska1~chartofaccounts EQ @p_ktopl
     AND ska1~glaccount       IN @s_saknr
     AND ska1~glaccount       IN @s_saknr2
     AND skb1~companycode     EQ @p_bukrs
    INTO CORRESPONDING FIELDS OF TABLE @gt_itab.
ENDFORM" DATA_SELECT

 

 

--------------------------------------------------------------------------------------------------------------------

 

이 정도의 Clean Core 작업은 초반에 테이블 및 필드 Mapping만 잘 해놓으면 Level B로 올리는 건
기계적인 작업도 가능할 것으로 보인다.

이를 RAP 로 작업하면 UI가 Fiori로 바뀌기 때문에 Level A까지 올라갈 수 있다. 


RAP는 다음 기회에 배우게 되면 추가로 정리해야 할 듯 하다. 

 

 

 

 

728x90
반응형