SAP Cloud for Customer 솔루션에서 개발자에 의해 만들어진 프로그램을
CBO( Custom Business Object )라고 합니다.
CAS의 개발언어는 ABSL ( Advanced Business Script Language )이며
CBO는 테이블을 가진 일종의 DataBase인 bo와 화면의 UI를 설정하는 uicomponent,
액션 및 이벤트등을 지정하도록 Script를 작성할 수 있는 absl로 구성됩니다.
개발자에 의해 생성된 프로그램이 아닌 솔루션 자체가 가진 Standard 프로그램은
XBO( Extension Business Object )라고 합니다.
일반적으로 XBO는 개발자에 의한 수정권한이 많지 않으며 CBO에 비해 개발이 제한적입니다.
CAS에서의 테이블은 element라는 명령어를 통해 생성하며 사용되는 DATA TYPE은 다음과 같습니다.
1-1. 권장하는 문자형 데이터 타입 ( CBO )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
element CHAR_T1_Text_10 : SHORT_Name;
element CHAR_T1_Text_40 : SHORT_Description;
element CHAR_T1_Text_40 : SHORT_Note;
element CHAR_T1_Text_40 : MEDIUM_Name;
element CHAR_T1_Text_80 : MEDIUM_Description;
element CHAR_T1_Text_80 : MEDIUM_Note;
element CHAR_T1_Text_80 : LONG_Name;
element CHAR_T1_Text_255 : LONG_Description;
element CHAR_T1_Text_255 : LONG_Note;
element CHAR_T2_LanguageText_10 : LANGUAGEINDEPENDENT_SHORT_Name;
element CHAR_T2_LanguageText_40 : LANGUAGEINDEPENDENT_SHORT_Description;
element CHAR_T2_LanguageText_40 : LANGUAGEINDEPENDENT_SHORT_Note;
element CHAR_T2_LanguageText_40 : LANGUAGEINDEPENDENT_MEDIUM_Name;
element CHAR_T2_LanguageText_80 : LANGUAGEINDEPENDENT_MEDIUM_Description;
element CHAR_T2_LanguageText_80 : LANGUAGEINDEPENDENT_MEDIUM_Note;
element CHAR_T2_LanguageText_80 : LANGUAGEINDEPENDENT_LONG_Name;
element CHAR_T2_LanguageText_255 : LANGUAGEINDEPENDENT_LONG_Description;
element CHAR_T2_LanguageText_255 : LANGUAGEINDEPENDENT_LONG_Note;
element CHAR_T2_EncryptedText_100 : LANGUAGEINDEPENDENT_ENCRYPTED_SHORT_Name;
element CHAR_T2_EncryptedText_240 : LANGUAGEINDEPENDENT_ENCRYPTED_SHORT_Description;
element CHAR_T2_EncryptedText_480 : LANGUAGEINDEPENDENT_ENCRYPTED_MEDIUM_Name;
element CHAR_T2_EncryptedText_765 : LANGUAGEINDEPENDENT_ENCRYPTED_EXTENDED_Name;
|
데이터 타입은 사용자에 의해 필드에 입력되는 문자수를 고려하여 지정해야 합니다. ( 10 ~ 765 )
작성 방법은 [ element 필드명 : 데이터타입; ]입니다.
1-2. 권장하는 문자형 데이터 타입 ( XBO )
1
2
3
4
|
element CHAR_T3_Text_40 : ShortText;
element CHAR_T3_Text_80 : MediumText;
element CHAR_T3_Text_120 : LongText;
|
CBO는 개발자에 의해 모든 개발이 가능하지만
XBO는 이미 제작된 프로그램으로 Standard 범위 내의
단순한 확장 기능(필드 및 버튼의 추가 등) 정도만 수행 가능합니다.
또한 위와 같이 문자형 데이터 타입의 경우 CBO와 XBO에 사용되는 타입이 서로 다릅니다.
1-3. 권장하는 문자형 데이터 타입 ( XBO - Node)
1
2
3
4
5
6
|
element CHAR_T4_SubNode_255 : LANGUAGEINDEPENDENT_EXTENDED_Name;
element CHAR_T4_SubNode_255 : LANGUAGEINDEPENDENT_EXTENDED_Text;
element CHAR_T4_SubNode_100 : LANGUAGEINDEPENDENT_ENCRYPTED_SHORT_Name;
element CHAR_T4_SubNode_240 : LANGUAGEINDEPENDENT_ENCRYPTED_SHORT_Description;
element CHAR_T4_SubNode_240 : LANGUAGEINDEPENDENT_ENCRYPTED_MEDIUM_Name;
|
BO는 테이블 외에도 이벤트 등을 발생시키는 로직을 담는 Action
이미 생성된 bo와 상속관계를 맺는 association
BO의 Root와 1 : N 관계를 맺는 SubNode를 생성할 수 있습니다.
CBO의 SubNode는 1-1에서 서술한 데이터 유형(T1, T2)을 사용할 수 있지만
XBO의 SubNode는 1-2에서 서술한 데이터 유형(T3)을 사용하지 못합니다.
XBO의 SubNode는 위와 같이 XBO - SubNode용 데이터 타입을 사용해야 합니다.
2. 권장하는 숫자형 데이터 타입
1
2
3
4
5
6
|
element INT4_T1_Numeric : NumberValue;
element INT4_T1_Catalog : OrdinalNumberValue;
element INT4_T1_Numeric : IntegerValue;
element DEC_T1_Numeric : DecimalValue; // EX - [Decimal(3,1)] element Rate : DecimalValue;
|
- NumberValue : 10억 이하의 정수
- OrdinalNumberBalue : 10억 이하의 양수
- IntegerValue : 소수점 X / 반올림 O 정수
- DecimalValue : 소수점 O / 정수
3. 권장하는 날짜형 데이터 타입
1
2
3
4
5
6
7
8
|
element YEARMONTH : YearMonth;
element DATETIME : TIMEZONEINDEPENDENT_DateTime;
element YEAR : Year;
element DATE : Date;
element TIME : Time;
|
- YearMonth : 연도와 월
- TIMEZONEINDEPENDENT_DateTime : 날짜와 시간
- Year : 연도
- Date : 연월일
- Time : 시간
Date와 Time 데이터 유형은 Context 함수를 통해
System의 날짜 및 시간(접속자 기준)을 활용하는 용도로도 사용됩니다.
4. 권장하는 금액 및 수량 데이터 타입
1
2
3
4
5
|
element DEC_T1_Amount : Amount ;
element CHAR_T1_Amount : CurrencyCode ;
element DEC_T1_Quantity : Quantity ;
element CHAR_T1_Quantity : MeasureUnitCode ;
|
- Amount : 금액과 화폐
- CurrencyCode : 화폐
- Quantity : 수량과 단위
- MeasureUnitCode : 단위
금액 및 수량을 표현하는 수는 다양합니다. 하여 이와 관련된 데이터 타입은
금액 및 수량을 입력할 수 있는 필드와 단위를 입력할 수 있는 필드가 결합된 유형의 데이터 타입과
단위만을 보유한 타입으로 구분됩니다.
5. 기타 데이터 타입
1
2
3
4
5
6
|
element ID : ID;
element UUID : UUID;
element CHAR_T1_DocumentTypeCode : DocumentTypeCode;
element DEC_T1_Percent : Percent;
element XSDBOOLEAN_T1_Boolean : Indicator;
element Employee_T1 : EmployeeID;
|
- ID : AlternativeKey에 주로 사용되는 데이터 타입
- UUID : ID와 유사하게 유일한 데이터를 표현하는 데 사용하는 데이터 타입
- DocumentTypeCode : 문서 유형
- Percent : 퍼센트(%)
- Indicator : 체크박스(true, false)
- EmployeeID : 직원 ID
Cloud Application Studio에는 용도에 따라 수많은 데이터 타입이 존재합니다.
위에 서술한 데이터 타입은 그중 자주 사용되는 데이터 타입을 서술하였으며
다른 데이터 타입을 확인하려면 Repository Explorer를 활용하면 됩니다.
SAP CAS : https://help.sap.com/viewer/product/SAP_CLOUD_APPLICATIONS_STUDIO/2019.02/en-US
'IT > SAP C4 HANA' 카테고리의 다른 글
[SAP] Cloud Application Studio의 Event Handler 설명 (1) | 2019.11.04 |
---|---|
[SAP] Cloud Application Studio의 Screen 설명 (0) | 2019.11.04 |
[SAP] Cloud Application Studio의 ITEM 설명 (0) | 2019.11.04 |
[SAP] SAP C/4 HANA 이해하기 2 (0) | 2019.11.01 |
[SAP] SAP C/4 HANA 이해하기 1 (0) | 2019.11.01 |
댓글