BOPF
■ BOPF 구조
BOPF 구조에 대한 설명이다. 우선, BOPF는 BO(Business Object)로 구성되어 있는 Processing Framework이다. BO에는 TM 모듈을 포함해서 여러 모듈의 BO들이 존재한다. BO 타입별로 구분을 하면 아래 그림처럼 3가지 정도로 구분할 수 있다. 첫 번째는 Business Process Objects이다. 트랜잭션 데이터 레벨의 BO이다. 두 번째는 Dependent Objects이다. 공통 BO 개념으로 Main BO에 종속 개념으로 연결되는 BO이다. 마지막으로, Master Data Objects이다. 마스터 데이터 레벨의 BO이다. 이외에도 여러 가지 종류의 BO가 존재하나, 아래 3가지 정도만 이해하면 충분하다.
다음은 BO 내부 구조에 대해 알아보자. 크게 2가지로 나눌수 있다. 첫 번째, Node Structure이다. 노드 구조를 보여 주는 부분이다. ERD라고 생각하면 된다. 각각의 노드는 프로퍼티 형태로 Structrue, Table 등의 정보를 가지고 있다. 노드를 더블클릭하면 된다. 상위 개념의 BO도 Constants에 대한 정보를 프로퍼티 형태로 가지고 있다. 두 번째로, Node Elements 부분이다. 결론적으로, 노드별 수행 Class를 각각 가지고 있다. 노드 내 데이터의 CRUD를 담당한다. 이 중에서 특히, Determination은 트리거 형태로 특정 시점에 연결된 Class가 실행된다. Action은 버튼 개념으로 이해하면 된다. Query는 데이터 조회 역할을 담당한다.
■ BO 개념
BO는 현실세계의 비즈니스 프로세스를 BO 개념을 이용하여 정리해 놓은 것이다. ERD와 비슷한 개념이다. 예를 들어서, TM의 경우에는 운송을 담당하는 모듈이기 때문에 최상위 Root 노드 아래 화물을 표시하는 Item 노드도 있고, Location을 표시하는 Stage 노드들도 있다. 이외에도 운송 관련된 다수의 노드들이 존재한다. 처음 BO를 접하면, 개념적인 부분을 잘 이해하지 못해서 매우 힘들다. 하지만, 익숙해지면 비즈니스 관점에서 데이터를 명확하게 접근할 수 있는 큰 장점을 가지고 있다.
■ 대표 Tcode
아래는 BOPF관련 대표 Tcode 이다.
BOBF - BO의 구조 및 노드 연결 Class 확인
BOBX - BO Enhancement
BOBT - BO 내 연결된 수행 Class를 통해 데이터 CRUD 수행
BOBX?
SAP에서 스탠다드와 CBO가 존재하는 것처럼, BO에서도 동일한 개념이 적용이 된다. 즉, 스탠다드 BO가 있고, CBO 개념의 ZBO도 존재한다. 이때, 사용하는 Tcode이다.