일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- module
- 알고리즘
- 자바 클래스
- BOBF
- tm
- BOPF
- ui5
- Deep Learning
- python
- mac
- java
- Eclipse
- Fiori
- html
- S/4HANA
- 자바
- 이클립스
- 개발
- 백준 알고리즘
- SAP 번역
- 맥북
- ABAP
- sap
- FPM
- Algorithm
- 파이썬
- visual studio code
- udemy
- BTP
- 클래스
Archives
- Today
- Total
z2soo's Blog
BOPF(6) - Core component & Transaction 본문
반응형
1. Core BOPF components
BOPF에는 다음의 다양한 components가 있다. 상세한 내용은 뒤에서 개별 문서로 다루도록 한다.
- Node
- Business object의 데이터를 모델링하기 위해 사용
- 계층구조를 이룸
- 다양한 노드 타입이 있지만, persistent node 를 주로 사용
- 각 노드는 노드 내에 저장되는 데이터의 타입을 정의하는 1개 이상의 속성으로 구성됨
- Determination
- 이벤트 및 이벤트 핸들러
- BO 인스턴스 변경에 의해 야기되는 내부적 이벤트 (나비효과로 BO 인스턴스 변경)
- Action
- 노드에서 수행하는 일반적인 서비스
- 사용자에 의해 명시적으로 발생하는 BO 인스턴스 변경
- Assosication
- 노드 간 관계
- 두 노드에 존재하는 인스턴스 연결
- Query
- 데이터 접근
- 특정 조회 기준을 만족하는 BO 조회
- Validation
- 노드에 대한 유효성 및 액션 체크
- BO 인스턴스에 대한 어떤 변경도 발생 X
2. Transaction in BOPF
Transaction은 BOPF 모델에서 수행할 모든 작업과 변경사항을 포함한다. 개별 작업들이 진행되는 흐름으로 보면 된다. 그리고 이를 위해 manager가 필요로 된다.
Transaction manager
- 변경된 데이터를 데이터 베이스에 반영
/BOBF/IF_TRA_TRANSACTION_MGR 는 transactional change에 대한 부분을 담당한다. BOPF 모델에 대한 모든 변경 사항을 모니터링 및 수집하고 LUW를 형성하여 데이터의 일관성을 유지한다. manager는 전체 transaction의 전반적 life cycle을 담당하며, 하나의 transaction에 대해 하나의 transaction manager가 있다. 예를 들어, 변경 사항이 일관적이지 않은 경우의 rollback 기능을 수행하는 것 등이 있다. 중요한 부분은 바로 TM에서는 이러한 Rollback, Save 등의 transaction을 transaction manager를 사용해서 해야한다는 것이다.
Service manager
- 데이터를 변경
/BOBF/IF_TRA_SERVICE_MANAGER 는 노드에 대한 접근 및 컴포넌트에 대한 컨트롤을 위한 메소드를 제공한다. 하나의 BO에는 하나의 service manager가 있다. 일종의 transaction manager를 돕는 역할을 하며, 다음의 주요 메소드를 제공한다.
QUERY | BO query를 찾고 실행함 |
RETRIEVE | 주어진 노드 인스턴스 키를 가지고 데이터를 읽음 |
RETRIEVE_BY_ASSICIATION | association을 가지고 데이터를 읽음 |
DO_ACTION | BO 노드의 주어진 action을 실행함 |
CONVERT_ALTERN_KEY | alternative key를 technical key로 변환함 |
MODIFY | BO 노드 인스턴스를 생성, 수정, 삭제함 |
반응형
'SAP > TM Module' 카테고리의 다른 글
BOPF(8) - Determination (0) | 2022.02.17 |
---|---|
BOPF(7) - BOPF Test tool (0) | 2022.02.17 |
BOPF(5) - BOPF Configuration Tool (0) | 2022.02.17 |
BOPF(4) - Transaction Code BOPF (0) | 2022.02.17 |
BOPF(3) - BOPF와 Transportation Management Module (0) | 2022.02.17 |
Comments