Banner - Use BEP on the user-defined tables
BEP, Banner Events Publisher, can be used to capture the data change on the specific tables, like ODI
There are a lot of pre-defined events for the Ellucian delivered tables
Today, I will show you how to use BEP for the user-defined tables.
First, lets create a test table, two columns {TABLE_NAME}_VPDI_CODE and {TABLE_NAME}_GUID are mandatory, because the trigger the BEP generated uses these two columns. We don’t have to fill them.
create table baninst1.bep_test_1( id number, name varchar2(30), gender char(1), comments varchar2(3000), bep_test_1_VPDI_CODE varchar2(6), bep_test_1_guid varchar2(36), constraint pk_bep_test_1 primary key (id) )
Then, go to the BEP console, create a new event.
I use USER. as the prefix of the event name. The prefix is used by RabbitMQ to route data to the different queues.

Go to Capture Data tab to add this table into the event.
I am using ID as the reference column.
In BEP, the reference column can only be one column, we can use GUID if it is meaningful.

Go to Triggers table to make sure the trigger was created. If not, click Activate and then Refresh

To the RabbitMQ:
http://emb1.pprd.odu.edu:15672/
Create a queue named user_defined_queue, with a binding

Then, we can insert a data into baninst1.bep_test_1
insert into baninst1.bep_test_1 values(8,'bbb','F','ccc','dasda','dasdasdsadasd'); commit;
Then, monitor table baninst1.bep_test_1 to wait until the message is consumed
select * from cdcadmin.BEP_MULTI_CONSUMER_TABLE
Go to the page of the queue user_defined_queue
We can check the message in RabbitMQ here

The format of the message in “DEFAULT” integration type:
Message 1
The server reported 2 messages remaining.
Exchange
bep_events_topic
Routing Key
USER.BEP_TEST_1
Redelivered
Properties
app_id:
BEP
priority:
0
delivery_mode:
2
headers:
event:
USER.BEP_TEST_1
content_type:
application/json
Payload
624 bytes
Encoding: string
{
"businessEvent": "USER.BEP_TEST_1",
"messageId": "161572425917",
"timeStamp": "2020-06-03T15:53:22.897-04:00",
"sourceOfChange": "Banner",
"key": "8",
"entity": "BEP_TEST_1",
"changeType": "INSERT",
"changeData": [
{
"name": "ID",
"new": "8"
},
{
"name": "NAME",
"new": "bbb"
},
{
"name": "GENDER",
"new": "F"
},
{
"name": "COMMENTS",
"new": "ccc"
},
{
"name": "BEP_TEST_1_VPDI_CODE",
"new": "dasda"
},
{
"name": "BEP_TEST_1_GUID",
"new": "dasdasdsadasd"
}
],
"additionalData": []
}
Message 2
The server reported 1 messages remaining.
Exchange
bep_events_topic
Routing Key
USER.BEP_TEST_1
Redelivered
Properties
app_id:
BEP
priority:
0
delivery_mode:
2
headers:
event:
USER.BEP_TEST_1
content_type:
application/json
Payload
624 bytes
Encoding: string
{
"businessEvent": "USER.BEP_TEST_1",
"messageId": "161572451091",
"timeStamp": "2020-06-03T16:00:26.028-04:00",
"sourceOfChange": "Banner",
"key": "8",
"entity": "BEP_TEST_1",
"changeType": "DELETE",
"changeData": [
{
"name": "ID",
"old": "8"
},
{
"name": "NAME",
"old": "bbb"
},
{
"name": "GENDER",
"old": "F"
},
{
"name": "COMMENTS",
"old": "ccc"
},
{
"name": "BEP_TEST_1_VPDI_CODE",
"old": "dasda"
},
{
"name": "BEP_TEST_1_GUID",
"old": "dasdasdsadasd"
}
],
"additionalData": []
}
Message 3
The server reported 0 messages remaining.
Exchange
bep_events_topic
Routing Key
USER.BEP_TEST_1
Redelivered
Properties
app_id:
BEP
priority:
0
delivery_mode:
2
headers:
event:
USER.BEP_TEST_1
content_type:
application/json
Payload
752 bytes
Encoding: string
{
"businessEvent": "USER.BEP_TEST_1",
"messageId": "161572557570",
"timeStamp": "2020-06-03T16:30:32.796-04:00",
"sourceOfChange": "Banner",
"key": "7",
"entity": "BEP_TEST_1",
"changeType": "UPDATE",
"changeData": [
{
"name": "ID",
"old": "7",
"new": "7"
},
{
"name": "NAME",
"old": "bbb",
"new": "bbb"
},
{
"name": "GENDER",
"old": "M",
"new": "F"
},
{
"name": "COMMENTS",
"old": "ccc",
"new": "ccc"
},
{
"name": "BEP_TEST_1_VPDI_CODE",
"old": "dasda",
"new": "dasda"
},
{
"name": "BEP_TEST_1_GUID",
"old": "dasdasdsadasd",
"new": "dasdasdsadasd"
}
],
"additionalData": []
}