Question

Real time sync rule not sending new data or after change

  • 22 June 2021
  • 6 replies
  • 231 views

Userlevel 3
Badge +7

Dear all,

we are using the following sync rule for sending some data to mobile

 

Ownership Query:

<hierarchy_select>
 <primary_table>c_task_assignment_view</primary_table>
 <from>
  <table>c_task_assignment_view</table>
 </from>
 <attrs>
  <attr>c_task_assignment_view.person_id</attr>
 </attrs>
 <where>
  <data_constraint>
   <constraint>
    <left_operand>c_task_assignment_view.task_id</left_operand>
    <operator>eq</operator>
    <right_operand>{task_id}</right_operand>
   </constraint>
  </data_constraint>
 </where>
</hierarchy_select>

 

Initial Query:

<hierarchy_select return_only_requested_attrs="true" max_rows='50000'>
 <primary_table>c_wbs_task_view</primary_table>
 <from>
  <table>c_wbs_task_view</table>
 </from>
 <attrs>
  <attr>c_wbs_task_view.*</attr>
 </attrs>
</hierarchy_select>

 

Related Query:

<hierarchy_select return_only_requested_attrs="true" max_rows='50000'>
 <primary_table>c_wbs_task_view</primary_table>
 <from>
  <table>c_wbs_task_view</table>
 </from>
 <attrs>
  <attr>c_wbs_task_view.*</attr>
 </attrs>
</hierarchy_select>

 

 

We now face the issue that when changing or adding data in table  c_wbs_task the new data / info is not synced to MC immediately. Even though the sync rule is defined as ‘Real time’.

 

Findings:

  • When the task is re-assigned the new / changed data / info gets synced
  • When defining the sync rule 'C_WBS_TASK_VIEW' as 'BATCH -Delta' and clicking on ‘sync’ the WBS gets synced

Therefore it looks like that the sync rule is working in general but is not working properly when defined with delivery method ‘real time’.

 

Do you know what causes this issue and how we can sort this out? Goal is to immediately send the new data / values to mobile.

 

Regards,

Thomas


This topic has been closed for comments

6 replies

Userlevel 5
Badge +14

Hi @Thomas Widmoser,

Do you have an extract rule set-up for the view?

The extract rule will act as an initial validation on sending the data. If it meets then it will trigger the sync rule.

 

I’m not 100% sure if the same applies to a view as opposed to a standard table, but might be worth setting up an extract rule and then triggering data to see if it sync’s to the mobile device.

 

Ady

Userlevel 4
Badge +7

Hi Thomas,

 

The problem must be with how you are calling the sync rule. If you doing changes on task screen, then it will not triggered 'C_WBS_TASK_VIEW' sync rule.
You can execute a xml like below (Add few fields based on your table or view columns) in xml poster. Then your sync rule will get triggered.

 

<update_c_wbs_task_view>
  <c_wbs_task_view>
    <task_id>348</task_id>
  </c_wbs_task_view>
</update_c_wbs_task_view>

 

If you are using 'BATCH-Delta' then the table changes will be sent to the endusers based on the frequency. But if you are working with real time sync rules, then you need to call this sync rule correct way.

 

Kind Regards,

Isuranga.

Userlevel 3
Badge +7

Hi,

thanks for your answers, your help and sorry for being that uniformed - I need to ask the following:
@AdrianEgley : I'm not sure what you exactly mean with 'extract rule'. Is it simply a business rule, which triggers an update of the C_WBS_task table when changing/adding data via task?
@Isuranga Ediriweera : How to call the sync rule correctly? Via extract rule?

 

regards,

Thomas

Userlevel 5
Badge +14

@Thomas Widmoser 

Extract Rules are in Admin » System » Extract

There will be some Extract Rules set up already from when the Mobile Application was installed. 

These validate each tables data individually, so for example if you want to sync Address data to the Mobile Server, the extract rule will be checked first (you can add constraints if you wish to send or not). If the extract rule is active and the data is valid it will then trigger the sync rule in the Ownership Query.

 

The extract and sync rules worth together. 

 

Regards

 

Ady

 

 

Userlevel 3
Badge +7

Hi @AdrianEgley ,

 

ok - extract rule is existing and ok, at least if I cross check with the information given in the reference guide.

 

Userlevel 5
Badge +14

@Thomas Widmoser 

I suppose the only other action I would take is to trigger an update to that table / view.

That should then perform the ownership query to locate which device the data should go to.

You will then be able to see the data getting sent to the device in the mm_message_out table. If the device you are sending to is signed out you’ll be able to see the message in there until it connects to synchronisation. 

 

Hope that helps, and I hope i’m not telling you stuff you know already. But these are steps I’d take to check along the way.

 

Ady