Now, this one is required when you want to refresh the batch pipeline data for each new product and deal created. However, most of this can be found in the BRM official documentation, but the deal synchronization is little tricky and is not specified anywhere.
You need to do some configurations and some customizations for the synchronization to work for you. We will start with the configurations of the processes.
1). Configuring CM(connection manager) for synchronization
Edit the following parameters for synchronization in CM's pin.conf
You need to do some configurations and some customizations for the synchronization to work for you. We will start with the configurations of the processes.
1). Configuring CM(connection manager) for synchronization
Edit the following parameters for synchronization in CM's pin.conf
Parameter Name | Recommended value and Comment |
Enable_publish | - fm_publish enable_pulish 1 |
Em_pointer | - cm em_pointer ip <hostname> <eai_js pointer> |
Em_group | - cm em_group publish PCM_OP_ PUBLISH_GEN_PAYLOAD |
Log_price_change_event | - fm_price log_price_change_event 1 |
Dm_pointer(for dm_eai) | - cm dm_pointer 0.0.9.1 ip <hostname> <dm_eai port> |
Dm_pointer(for dm_aq) | - cm dm_pointer 0.0.9.7 ip <hostname> <dm_aq port> |
Dm_pointer (for dm_ifw_sync) | - cm dm_pointer 0.0.9.9 ip <hostname> <dm_ifw_sync port> |
2). Configuring DM_EAI for synchronization
Edit the following parameters for synchronization in DM_EAI's pin.conf
Parameter Name | Recommended value and Comment |
Plugin_name | - dm plugin_name ./plugin_xml${LIBRARYEXTENSION} |
Dm_db_no | - dm dm_db_no 0.0.9.1 0 |
Dm_port | - dm dm_port <port> |
3). Configuring EAI_JS for synchronization
Edit the following parameters for synchronization in the Infranet.properties/Infranet_eai.properties of EAI_JS
Parameter Name | Recommended value and Comment |
server.portNr(both files) | <port no> |
infranet.opcode.handler(both files) | infranet.opcode.handler.PUBLISH_GEN_PAYLOAD= com.portal.eai.PublishHandler |
configFile(infranet.properties file) | infranet.eai.configFile = <xml file> |
configFile(infranet_eai.properties file) | infranet.eai.configFile = <xml file> |
4). Configuring DM_AQ for synchronization
Edit the following parameters for synchronization in the pin.conf properties file of DM_AQ
Parameter Name | Recommended value and Comment |
Plugin_name | - dm plugin_name ./${LIBRARYPREFIX}plugin_aq10g${LIBRARYEXTENSION} |
queue_map_file | - dm_aq queue_map_file ./aq_queuenames |
Dm_port | - dm dm_port <port> |
4). Configuring DM_AQ for synchronization
Edit the following parameters for synchronization in the pin.conf properties file of DM_AQ
Parameter Name | Recommended value and Comment |
Plugin_name | - dm plugin_name ./${LIBRARYPREFIX}plugin_aq10g${LIBRARYEXTENSION} |
queue_map_file | - dm_aq queue_map_file ./aq_queuenames |
Dm_port | - dm dm_port <port> |
In addition to editing pin.conf properties file of DM_AQ, you need to edit aq_queuenames. This step is optional and required only for synchronizing deals.
Parameter Name | Recommended value and Comment |
Adding business event under AQ_QUEUE | AQ_QUEUE{ DealCreateorModify } |
Following steps are optional and are required only for synchronizing deals
5). Configuring event notification
- Edit the pin_notify file and add the following property :
Parameter Name | Recommended value and Comment |
Add an entry to the pin_notify latest | 1301 0 /event/audit/price/deal |
- Load pin_notify
6). Configuring business event (payloadconfig_crm_sync.xml)
To publish business events for create or modify deal, include below given definitions under <EventDefs> in the payloadconfig_crm_sync.xml configuration file :
<DealCreateorModify Source="/deal" PinFld="PIN_FLD_EVENT_AUDIT" Tag="DealCreateorModify" StartEvent='/event/audit/price/deal">
<Attribute Tag="InstanceId" Value="Portal"/>
<Attribute Tag="xmlns" Value="http://www.portal.com/schemas/CRMSync"/>
<Attribute Tag="xmlns:xsi " Value="http://www.w3.org/2001/XMLSchema-instance"/>
<Attribute Tag="xsi:schemaLocation" Value="http://www.portal.com/schemas/CRMSync/DealCreateorModify.xsd"/>
<Search SearchFld="PIN_FLD_POID" SearchVal="PIN_FLD_OBJECT" SearchValFrom="PIN_FLD_EVENT_AUDIT"/>
<Field PinFld="PIN_FLD_POID" Tag="DealPoid"/>
<Field PinFld="PIN_FLD_NAME " Tag="Name"/>
<Field PinFld="PIN_FLD_DESCR" Tag="Description"/>
<Field PinFld="PIN_FLD_PERMITTED" Tag="ServiceType"/>
<Field PinFld="PIN_FLD_START_T" Tag="DealStartDate"/>
<Field PinFld="PIN_FLD_END_T" Tag="DealEndDate"/>
</DealCreateorModify>
7). Creating XSD for Business event defined above
Create DealCreateorModify.xsd under <PIN_HOME>/sys/eai_js/xsd
<?xml version="1.0"?>
<xs:schema elementFormDefault="qualified" targetNameSpace="http://www.portal.com/schemas/CRMSync"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.portal.com/schemas/CRMSync">
<xs:element name="DealCreateorModify">
<xs:complexType>
<xs:sequence>
<xs:element ref="DealPoid"/>
<xs:element ref="DealName"/>
<xs:element ref="DealDescr"/>
<xs:element ref="ServiceType"/>
<xs:element ref="DealStartDate"/>
<xs:element ref="DealEndDate"/>
</xs:sequence>
<xs:attribute ref="InstanceId" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="DealPoid" type="xs:string"/>
<xs:element name="DealName" type="xs:string"/>
<xs:element name="DealDescr" type="xs:string"/>
<xs:element name="ServiceType" type="xs:string"/>
<xs:element name="DealStartDate" type="xs:string"/>
<xs:element name=" DealStartDate" type="xs:string"/>
<xs:attribute name="InstanceId" type="xs:string"/>
</xs:schema>
8). Configuring Oracle AQ - Registering for Notification
1. Execute PL/SQL block to create an agent "aq_queue_subscriber"
begin
dbms_aqadm.add_subscriber('AQ_QUEUE',SYS.AQ$AGENT('aq_queue_subscribe,NULL,NULL));
end;
/
BEGIN
dbms_aqadm.stop_queue('AQ_QUEUE');
dbms_aqadm.drop_queue('AQ_QUEUE');
dbms_aqadm.drop_queue_table('AQ_SYNC');
END;
/
BEGIN
DBMS_AQADM.CREATE_QUEUE_TABLE(queue_table=>'AQ_SYNC',
compatible=>'8.1',
storage_clause=>'tablespace pin00 initrans 5 storage(initial 200k next 200k maxextents unlimited pctincrease 0)',
queue_payload_type=>'pin_event_ty',
sort_list=>'priority,enq_time',
multiple_consumers=>'TRUE');
END;
/
BEGIN
DBMS_AQADM.CREATE_QUEUE(queue_name=>'AQ_QUEUE',
retention_time=>0,
retry_delay=>6,
queue_table=>'AQ_SYNC');
END;
/
BEGIN
dbms_aqadm.start_queue('AQ_QUEUE');
END;
/
3. Skip this step if step 1 was successful, else after completing step 2 successfully execute step 1 to create an agent
4. Register an URL, which will invoke an http url when a queue gets enqueued. Execute the PL/SQL block below :
Declare
reginfo sys.aq$_reg_info;
reg_list sys.aq$_reg_info_list;
Begin
reginfo :=
sys.aq$_reg_info('AQ_QUEUE:aq_queue_subscriber', DBMS_AQ.NAMESPACE_AQ,'http://10.18.19.80:8001/productsync/index', HEXTORAW('FF'));
reg_list :=
sys.aq$_reg_info_list(reginfo);
DBMS_AQ.REGISTER(reg_list,1);
commit;
END;
/
9). Restart BRM services
thank you for your interesting infomation. https://roachexpert.com/best-mouse-trap-reviews/
ReplyDeleteWe have sell some products of different custom boxes.it is very useful and very low price please visits this site thanks and please share this post with your friends. Camera BF Deals
ReplyDeleteThank you very much for this great post. TV BF Deals
ReplyDeleteI found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here! keep up the good work... top 10 reviews
ReplyDeleteI think that thanks for the valuabe information and insights you have so provided here. Foxbeast
ReplyDeleteIf you are looking for more information about flat rate locksmith Las Vegas check that right away. top dailyguide
ReplyDeleteYour articles are inventive. I am looking forward to reading the plethora of articles that you have linked here. Thumbs up! bestcheapro
ReplyDeleteI recently came across your blog and have been reading along. I thought I would leave my first comment. I don’t know what to say except that I have enjoyed reading. product reviews
ReplyDeletei read a lot of stuff and i found that the way of writing to clearifing that exactly want to say was very good so i am impressed and ilike to come again in future.. Cannabis Edibles
ReplyDeletePositive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. https://reeviewlysis.com/
ReplyDeleteYes i am totally agreed with this article and i just want say that this article is very nice and very informative article.I will make sure to be reading your blog more. You made a good point but I can't help but wonder, what about the other side? !!!!!!Thanks silicone bibs
ReplyDeleteThanks for picking out the time to discuss this, I feel great about it and love studying more on this topic. It is extremely helpful for me. Thanks for such a valuable help again. خصم اي هيرب
ReplyDeleteThanks for an interesting blog. What else may I get that sort of info written in such a perfect approach? I have an undertaking that I am just now operating on, and I have been on the lookout for such info. 15mm silicone beads
ReplyDeletePositive site, where did u come up with the information on this posting? I'm pleased I discovered it though, ill be checking back soon to find out what additional posts you include. nike running shoe reviews
ReplyDeleteI think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. infrared heating panels
ReplyDeleteI needed to thank you for this phenomenal read!! I unquestionably adored each and every piece of it. I have you bookmarked your site to look at the new stuff you post. kitchen tapware
ReplyDeleteThis is my first time visit here. From the tons of comments on your articles,I guess I am not only one having all the enjoyment right here! weed for sale
ReplyDeleteI wanted to thank you for this excellent read!! I definitely loved every little bit of it. I have you bookmarked your site to check out the new stuff you post. nonwoven wipes
ReplyDelete