z2soo's Blog

BOPF(8) - Determination 본문

SAP/TM Module

BOPF(8) - Determination

z2soo 2022. 2. 17. 16:31
반응형

1. Introduction to Determination

Business object instance의 lifecycle 동안 연쇄적인 반응이 필요한 이벤트가 있을 수 있다.
예를 들어 특정 노드 정보가 생성, 저장, 수정 되었을 때, 관련된 노드에서 마찬가지로 정보의 업데이트가 필요할 수 있다. 즉, 특정 노드의 정보 변경에 대해 reaction을 제공하는 것이다.

 

2. Determination configuration

TOR business object의 determination을 클릭하여 determination의 설정에 대해 보도록 하자.

 

 

  • Determination category
    determination이 persistent 인지 혹 transient 인지 설정
  • Change mode
    Persistenr => Exclusive Write Transient => Onlt Read
  • Clss/Interface
    determinaton implementation을 위한 class

아래의 체크박스는 해당 class에 어떤 method를 가지고 있는지를 나타낸다.

 

 

Request, Read & write nodes 부분은 언제 determination이 호출되는지를 설정한다.
참고로 create, updated … 마지막 determin의 경우 사용되는 것을 본 적이 없다.

 

 

  • Request nodes
    determination을 trigger 하는 node
  • Read nodes
    determination이 실행되기 전에 buffer에 load 되어야 하는 node
  • Write nodes
    After Loading Determination의 경우에만 사용
  • Modeled Only
    체크표시되면 해당 행의 전체 configuration이 runtime effect을 가지지 않음

Node category assignment는 정확히 어느 시점에 determination이 trigger 되는지 설정한다.

 

기술적으로는 하나의 determination을 여러 event에서 사용하는 것이 가능하다.
하지만 최적은 1개 determination을 1개의 event에 사용하는 것이고, 1개의 event에 대해서도 여러 determination을 가지는 것을 권장하지 않는다. 만약, after modify 에 대해 서로 다르게 행동하는 여러 determination을 가지게 된다고 가정하면, BOPF가 각 determination을 trigger 할지 말지 판단하면서 느려지게 된다.

Determination dependency는 determination의 순서를 정의한다.

 

 

 

  • Necessary Determination
    해당 determination 이전에 발생하는 determination
  • Dependent Determination
    해당 determination의 변경사항으로 인해 발생하는 determination

3. Determination implementation

Determination은 /BOBF/IF_FRW_DETERMINATION interface를 implement 하고, 3가지 method를 제공한다.

  • CHECK_DELTA
    reduce set of changed node instance
  • CHECK
    reduce the amount of node instance
  • EXECUTE
    catains the main determination business logic
반응형

'SAP > TM Module' 카테고리의 다른 글

BOPF(10) - Validation  (0) 2022.02.17
BOPF(9) - Action  (0) 2022.02.17
BOPF(7) - BOPF Test tool  (0) 2022.02.17
BOPF(6) - Core component & Transaction  (0) 2022.02.17
BOPF(5) - BOPF Configuration Tool  (0) 2022.02.17
Comments