{{ transformations:SynchronizeAction.png}}
====== SYNCHRONIZE ======
Category: Workflow / Internal \\

\\ 
=====Description=====
This action pauses the current action chain until the last action of another table is calculated.\\

\\
=====Use cases=====
This action is usually used for synchronization of access to external files and applications in order to avoid simultaneous reading/writing by independent action chains. In a typical use case, it is inserted immediately before a side-effect action (export, run program, etc.). As EasyMorph calculates independent action chains asynchronously, //Synchronize// is used to enforce a dependency and guarantee a particular execution order.

\\ 
=====Action settings=====
^Setting^Description^
|Other table|Select the other table to synchronize with (e.g., wait until that table's action chain is complete before continuing the current one).|

\\ 
=====Remarks=====
You cannot select a table that relies on (is based on) the current dataset.  Doing so will result in a "cyclical dependency error".

\\ 
=====Community examples=====
  * [[https://community.easymorph.com/t//1273/8|Split Excel spreadsheets into multiple spreadsheets]] ([[https://community.easymorph.com/uploads/short-url/klG62NjaDDRQ2VXvo1xtFZJUYjK.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Table 2//; Action position: //4//)
  * [[https://community.easymorph.com/t//1769/1|How to do recursive loops in EasyMorph]] ([[https://community.easymorph.com/uploads/short-url/qM6kmqrDRWiEDJFljIa2u6QWre1.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Loop//; Action position: //2//)
  * [[https://community.easymorph.com/t//1854/2|Product of Rows in a Column]] ([[https://community.easymorph.com/uploads/short-url/8o7F1FHzlEr0hUV2BgCLFNEMKqk.morph|Project]]; Module: //Main//; Group: //Tab 1//; Table: //Cumulative iteration//; Action position: //2//)

\\ 
=====See also=====
  * [[transformations:halt|Halt on condition]]
  * [[transformations:wait|Wait]]
  * [[http://blog.easymorph.com/2016/11/using-synchronize-transformation.html|Blog: Using Synchronize transformation]]