Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 1 Introduction to TIBCO Object Service Broker Rules : Sample Set of Rules

Sample Set of Rules
Description
The EMPLOYEES_RAISE rule assigns raises to employees based on their job title. To avoid commit limits, it calls in the REPLACE_SALARY rule shown in REPLACE_SALARY Rule to actually replace the occurrences in the EMPLOYEES table. After the REPLACE_SALARY rule is processed, control is passed back to the EMPLOYEES_RAISE rule, which then completes processing.
EMPLOYEES_RAISE Rule

 
 RULE EDITOR ===> SCROLL: P
EMPLOYEES_RAISE(JOBTITTLE, REGION);
_ LOCAL RAISE, RATE;
_ ---------------------------------------------------------------------------
_ JOBTITLE = 'SENIOR ANALYST'; | Y N N
_ JOBTITLE = 'ANALYST'; | Y N
_ ------------------------------------------------------------+---------------
_ RATE = 0.1; | 1
_ RATE = 0.05; | 1
_ RATE = 0.02; | 1
_ GET EMPLOYEES(REGION) WHERE POSITION = JOBTITLE; | 2
_ FORALL EMPLOYEES(REGION) WHERE POSITION = JOBTITLE: | 2 2 3
_ RAISE = EMPLOYEES.SALARY * RATE; |
_ EMPLOYEES.SALARY = EMPLOYEES.SALARY + RAISE; |
_ CALL REPLACE_SALARY(REGION); |
_ CALL MSGLOG(EMPLOYEES.LNAME || ' NOW EARNS ' || |
_ EMPLOYEES.SALARY); |
_ END; |
_ ----------------------------------------------------------------------------
ON GETFAIL:
CALL ENDMSG('POSITION IS INVALID');

 
REPLACE_SALARY Rule

 
RULE EDITOR ===> SCROLL: P
REPLACE_SALARY(REGION);
_
_ ---------------------------------------------------------------------------
_ -------------------------------------------------------------+-------------
_ REPLACE EMPLOYEES(REGION); | 1
_ ---------------------------------------------------------------------------
_ ON COMMITLIMIT:
_ COMMIT;

 

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved