z2soo's Blog

BOPF(6) - Core component & Transaction 본문

SAP/TM Module

BOPF(6) - Core component & Transaction

z2soo 2022. 2. 17. 11:29
반응형

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가 필요로 된다.

https://software-heroes.com/en/blog/abap-bopf-manager-en

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