반응형
Introduction
정해진 업무의 규칙에 따라서 처리를 하게 할 수 있습니다.
Creating and Using New Business Rules
Adding Business Rules Activity
QuoteEntered(Measurement)와 IS Business Practices Review required?(XOR) 사이에 Business Rule 액티브티를 추가합니다.
Name: Determine Approvals
Adding Data Object to hold rules results
Business Object 를 추가합니다.
Name: ApprovalFlow
Destination Module: Data
Based on External Schema 체크 후 찾기 버튼 클릭.
Quote.xsd - ApprovalFlow 선택.
OK 버튼을 클릭합니다.
RequestQuoteLab BPM 편집 화면의 구조 패널에서 Process Data Object 를 추가합니다.
Name: approvalFlow
Type: <Component>
찾기(돋보기) 버튼을 클릭합니다.
ApprovalFlow 선택.
OK 버튼을 클릭합니다.
Creating new Rules Dictionary 1
DeterMine Approvals(Business Rule)를 더블클릭하여 편집 합니다.
Implementation 탭으로 이동 후 Business Rule 을 추가합니다. (녹색 + 버튼)
Name: ApprovalRules
Input Data Object 를 추가합니다.
RequestQuoteLab - quote 를 추가합니다.
방향(Direction)을 출력(Output)으로 변경 후 approvalFlow 를 추가합니다.
OK 버튼을 클릭하면 Business Ruels Dictionary 이 만들어집니다.
Bind Business Rules Activity to Implementation
Use Associations 체크 후 편집(연필) 버튼을 클릭합니다.
입력에는 quote, 출력에는 approvalFlow 를 넣어줍니다.
Globals 탭으로 이동합니다.
추가 버튼을 클릭합니다.
Name: preApprovedDiscount
Type: double
Value 오른쪽의 Expression builder 버튼을 클릭합니다.
0.3 을 입력합니다.
Final 체크 후 OK 버튼을 클릭합니다.
같은 방법으로 추가합니다.
Name: tier2Approvers-base
Type: String
Value: "wfaulk" // 쌍따옴표(") 포함!
Name: tier2Approvers-high
Type: String
Value: "wfaulk,jlondon"
총 3개의 글로벌 변수(인듯?)가 추가되었습니다.
Bucketsets 탭으로 이동합니다.
추가 버튼 클릭 - List of Ranges 클릭.
Bucketset3 이 추가되었습니다. 선택 후 편집 버튼을 클릭합니다.
2개의 Bucketset 을 추가하였습니다.
Ruleset1 탭으로 이동합니다.
DecisionTable1 이라고 되어 있는 이름을 ApprovalMatrix 로 변경합니다.
조건(condition)을 추가합니다.
<edit condition> 부분을 더블클릭 후 수식편집(Expression Builder) 버튼을 클릭합니다.
Variables 탭에서 QuoteSummaryType - effectiveDiscount 를 선택 후 Insert Into Expression 버튼을 클릭합니다.
뒤에 <= 를 입력하고 Constants 탭에서 preApprovedDiscount 를 수식에 추가합니다.
수식이 완성되었습니다. OK 버튼을 클릭합니다.
조건을 하나 추가 후 <edit condition> 더블 클릭 후 effectiveDiscount 를 선택합니다.
조건 추가 후 totalNetRevenue 를 선택합니다.
아래와 같이 3개의 조건이 추가 되었습니다.
세번째 조건(QuoteSummaryType.totalnetRevenue)은 RevenueBuckets 를 선택합니다.
Assert New 액션을 추가합니다.
assert new 부분을 더블클릭 합니다.
Facts: ApprovalFlowType
Properties 에 나오는 모든 Parameterized 를 체크합니다.
아래와 같이 액션이 만들어졌습니다.
R1 아래 첫번째 라인(C1)의 ? 를 클릭 후 true 를 체크합니다.
Rule 을 추가합니다.
새로 추가된 룰(R1)에 첫번째 라인(C1) ? 를 클릭 후 false 를 선택합니다.
그러면 false 로 선택한 Rule 이 두번째로 이동 했습니다. (햇갈리지 마세용!)
R2 의 두번째 라인(C2) ? 를 클릭 후 <0.3 과 (0.3, 0.6) 을 체크합니다.
이런식으로 R4 까지 완성 합니다.
나머지 설정 안한 ? 부분은 해당 셀에서 오른쪽 버튼 클릭 후 Don't Care 를 클릭합니다.
? 표시가 - 표시로 바뀌었습니다.
Action 쪽도 아래 그림처럼 완성해줍니다.
R4 의 Confilict 셀(R3)을 더블클릭합니다.
Resolution 칼럼의 콤보를 Override 로 변경합니다.
비지니스 룰(Business Rule)이 완성되었습니다.
아래의 흐름(Flow)을 수정합니다.
아래와 같이 조건을 변경합니다.
비지니스 룰을 거쳐서 나온 결과를 비교합니다.
비지니스 룰을 거쳐 갔습니다.
출력 데이터를 확인 해봅시다.
이 부분에 대해서는 9장에서 자세히 다루겠습니다.
9장 후다닥하느라 8장까지 완료한 소스를 따로 안 빼놨네요 -_-;;;
정해진 업무의 규칙에 따라서 처리를 하게 할 수 있습니다.
Creating and Using New Business Rules
Adding Business Rules Activity
QuoteEntered(Measurement)와 IS Business Practices Review required?(XOR) 사이에 Business Rule 액티브티를 추가합니다.
Name: Determine Approvals
Adding Data Object to hold rules results
Business Object 를 추가합니다.
Name: ApprovalFlow
Destination Module: Data
Based on External Schema 체크 후 찾기 버튼 클릭.
Quote.xsd - ApprovalFlow 선택.
OK 버튼을 클릭합니다.
RequestQuoteLab BPM 편집 화면의 구조 패널에서 Process Data Object 를 추가합니다.
Name: approvalFlow
Type: <Component>
찾기(돋보기) 버튼을 클릭합니다.
ApprovalFlow 선택.
OK 버튼을 클릭합니다.
Creating new Rules Dictionary 1
DeterMine Approvals(Business Rule)를 더블클릭하여 편집 합니다.
Implementation 탭으로 이동 후 Business Rule 을 추가합니다. (녹색 + 버튼)
Name: ApprovalRules
Input Data Object 를 추가합니다.
RequestQuoteLab - quote 를 추가합니다.
방향(Direction)을 출력(Output)으로 변경 후 approvalFlow 를 추가합니다.
OK 버튼을 클릭하면 Business Ruels Dictionary 이 만들어집니다.
Bind Business Rules Activity to Implementation
Use Associations 체크 후 편집(연필) 버튼을 클릭합니다.
입력에는 quote, 출력에는 approvalFlow 를 넣어줍니다.
Defining Rules
Now it's time to define the rule within the dictionary you just created.
Adding Decision Table Rules
ApprovalRules.rules 를 열어서 편집합니다.
Globals 탭으로 이동합니다.
추가 버튼을 클릭합니다.
Name: preApprovedDiscount
Type: double
Value 오른쪽의 Expression builder 버튼을 클릭합니다.
0.3 을 입력합니다.
Final 체크 후 OK 버튼을 클릭합니다.
같은 방법으로 추가합니다.
Name: tier2Approvers-base
Type: String
Value: "wfaulk" // 쌍따옴표(") 포함!
Name: tier2Approvers-high
Type: String
Value: "wfaulk,jlondon"
총 3개의 글로벌 변수(인듯?)가 추가되었습니다.
Bucketsets 탭으로 이동합니다.
추가 버튼 클릭 - List of Ranges 클릭.
Bucketset3 이 추가되었습니다. 선택 후 편집 버튼을 클릭합니다.
Name: DiscountBuckets
아래와 같이 4개의 Range Bucket Values 를 설정합니다.
또 하나의 Bucketset 을 추가합니다.
Name: RevenueBuckets
아래와 같이 Range Bucket Values 를 추가합니다.
2개의 Bucketset 을 추가하였습니다.
Ruleset1 탭으로 이동합니다.
DecisionTable1 이라고 되어 있는 이름을 ApprovalMatrix 로 변경합니다.
조건(condition)을 추가합니다.
<edit condition> 부분을 더블클릭 후 수식편집(Expression Builder) 버튼을 클릭합니다.
Variables 탭에서 QuoteSummaryType - effectiveDiscount 를 선택 후 Insert Into Expression 버튼을 클릭합니다.
뒤에 <= 를 입력하고 Constants 탭에서 preApprovedDiscount 를 수식에 추가합니다.
수식이 완성되었습니다. OK 버튼을 클릭합니다.
조건을 하나 추가 후 <edit condition> 더블 클릭 후 effectiveDiscount 를 선택합니다.
조건 추가 후 totalNetRevenue 를 선택합니다.
아래와 같이 3개의 조건이 추가 되었습니다.
두번째 조건(QuoteSummary.effectiveDiscount) 선택 후 Local List of Ranges 콥보 클릭 후 DiscountBuckets 선택.
세번째 조건(QuoteSummaryType.totalnetRevenue)은 RevenueBuckets 를 선택합니다.
Assert New 액션을 추가합니다.
assert new 부분을 더블클릭 합니다.
Facts: ApprovalFlowType
Properties 에 나오는 모든 Parameterized 를 체크합니다.
아래와 같이 액션이 만들어졌습니다.
R1 아래 첫번째 라인(C1)의 ? 를 클릭 후 true 를 체크합니다.
Rule 을 추가합니다.
새로 추가된 룰(R1)에 첫번째 라인(C1) ? 를 클릭 후 false 를 선택합니다.
그러면 false 로 선택한 Rule 이 두번째로 이동 했습니다. (햇갈리지 마세용!)
R2 의 두번째 라인(C2) ? 를 클릭 후 <0.3 과 (0.3, 0.6) 을 체크합니다.
이런식으로 R4 까지 완성 합니다.
나머지 설정 안한 ? 부분은 해당 셀에서 오른쪽 버튼 클릭 후 Don't Care 를 클릭합니다.
? 표시가 - 표시로 바뀌었습니다.
Action 쪽도 아래 그림처럼 완성해줍니다.
R4 의 Confilict 셀(R3)을 더블클릭합니다.
Resolution 칼럼의 콤보를 Override 로 변경합니다.
비지니스 룰(Business Rule)이 완성되었습니다.
아래의 흐름(Flow)을 수정합니다.
아래와 같이 조건을 변경합니다.
비지니스 룰을 거쳐서 나온 결과를 비교합니다.
Testing
인스턴스 생성 후 EM에서 확인해봅시다.
비지니스 룰을 거쳐 갔습니다.
출력 데이터를 확인 해봅시다.
이 부분에 대해서는 9장에서 자세히 다루겠습니다.
9장 후다닥하느라 8장까지 완료한 소스를 따로 안 빼놨네요 -_-;;;
- (컴퓨터의) 사전[딕셔너리] [본문으로]
반응형
'Oracle Solution > BPM 11g Foundation Training' 카테고리의 다른 글
Chapter 10 - Workflow UI width ADF (0) | 2011.06.01 |
---|---|
Chapter 9 - Human Workflow (0) | 2011.05.27 |
Chapter 7 - Process Customization (0) | 2011.05.26 |
Chapter 6 - Monitoring with Oracle BAM (0) | 2011.05.26 |
Chapter 5 - Process Analytics (0) | 2011.05.11 |
Chapter 4 - Running The Process (0) | 2011.05.11 |
Chapter 3 - Implementation (0) | 2011.05.06 |
Chapter 2 - Process Simulation (0) | 2011.04.29 |
Chapter 1 - Process Modeling (0) | 2011.04.29 |
Chapter 0 - Sales Quote Demo Setup (0) | 2011.04.26 |