{{ 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]]