Before starting the holidays synchronization procedure described below, make sure that the all the holidays sets of your database that need to be synchronized, are linked.

And, even more importantly, make sure that only the sets that should be linked, are linked.

Those of your Holidays Sets that are linked will appear in the TreeView of the holidays manager with an arrow, and you can verify or change to which set it is linked, or create a link, by right-clicking on it, as shown in image 1.1.

image 1.1: setting a link to another holidays set

Step 2

Start-up

To start the holidays synchronization process, click on the Synchronize button.

Step 3 is the simplest step, where you update the rules of the holidays that are both in your database and the Q++Studio Worldwide Public Holidays Database.

Select the SHOW ONLY UPDATES option of the Holidays Synchronization Options dialog (image 3.1) and click on OK.

You will be presented with one or more screens listing your linked holidays whose rule has changed in the Q++Studio Worldwide Public Holidays Database, and suggesting that each modified holiday be updated (image 3.2).

Click on the UPDATE button (image 3.3) to apply all these suggested modifications for each country until a dialog appears (image 3.4) telling you that there are no more holidays to synchronize (based on the current synchronization options, of course).

Though this first step is usually straightforward, if at one point you have a doubt about using the UPDATE button, you can always use the SKIP button to avoid making changes to the current country, or use the EXPORT button to generate a PDF of the current comparison to look at later, as shown in image 3.3.

If you choose to SKIP any screen in this step, then you should come back and complete this step fully before moving to the next step.

image 3.1

image 3.2: suggested action for modified holidays

image 3.3

image 3.4

Step 4

Deleting Obsolete Holidays

In this step, you delete all obsolete holidays. These are holidays which once existed in both your database and in the Q++Studio Worldwide Public Holidays Database, but which have now been removed from the Q++Studio Worldwide Public holidays Database, due to their having become obsolete (holidays that were one-off in past years, or which have ceased to be observed).

Select the SHOW ONLY OBSOLETES option of the Holidays Synchronization Options dialog (image 4.1) and click on OK.

Once again you will be presented with one or more screens, this time listing your linked holidays whose rule has become obsolete, and suggesting that each obsolete holiday be deleted (image 4.2).

Click on the UPDATE button, shown in image 4.3, to apply these modifications for each country until a dialog appears telling you that there are no more holidays to synchronize (image 4.4).

image 4.1

image 4.2: suggested action for obsolete holidays

image 4.3

image 4.4

Step 5

Removing Duplicate Links

In this this step we unlink duplicate link holidays. These duplicates are the holidays of your database which are linked to a holiday of the Q++Studio Worldwide Public holidays database, which already has a link from your database. This is usually the symptom of holidays having been copied and then modified to a form totally unrelated to the original holiday.

Select the SHOW ONLY DUPLICATES option of the Holidays Synchronization Options dialog (image 5.1) and click on OK.

In this step, you may, or may not, be presented with screens, listing duplicate link holidays, as shown in image 5.2 (if you do not get any, this is a good sign, and you can move to step 6).

By default, the suggested action for duplicate link holidays is to delete them. However, in this case, we do not want to accept the suggested action as we are not sure why the duplication occurred.

So we click on each suggested action and select UNLINK FROM ALL HOLIDAYSfor each duplicate holiday (image 5.3).

Each time you will be asked to confirm the unlinking, and the duplicate holiday will disappear from the list, until a message appears (image 5.4) informing you that there are no more differences in the current set (based on the current synchronization options), and once you click on the OK button, the synchronization will automatically move to the next set which needs to be synchronized.

image 5.1

image 5.2: suggested action for duplicate link holidays

image 5.3

image 5.4

Step 6

Linking Orphan Holidays

In this step we look for pairs of holidays, one from your database and one from the Worldwide Holidays Database, which should be linked, but are not (usually because your database's rule was created manually, rather than being copied from the Worldwide Holidays Database).

In the Holidays Synchronization Options dialog, leave all options, except the default ones, unchecked (image 6.1) and click on OK.

In each synchronization screen, look for pairs of holidays that are not linked, but which should be, as they are the same holiday, based on their rule, as shown in the example on the right for Easter Monday (image 6.2).

For each such pair (assuming you find some, which will not always be the case):

•click on the DELETE SPURIOUS HOLIDAY suggested action, and select the action LINK TO ANOTHER HOLIDAY, as shown in image 6.3.

•Once you have selected the action LINK TO ANOTHER HOLIDAY, a dialog comes up letting you select to which holiday of the Worldwide Holidays Database you wish to link the currently selected holiday of your database (image 6.4).

Extremely important: in step 6, you should re-link all the pairs of holidays that you find should be linked, but only those (recall that you may, in most cases, not encounter any such pair, and that this is normal). Regardless of whether you have found and linked a pair of holidays, or not, in each screen, you should move to the next screen using the SKIP button as can be seen in image 6.5 (do not use the UPDATE button anywhere in step 6).

image 6.1

image 6.2: An example of an orphaned holiday pair

image 6.3

image 6.4

image 6.5: in step 6, always use the SKIP button to move to the next screen

Step 7

Handling Spurious Holidays

Once you have handled the more obvious cases of obsolete, duplicate and orphan holidays in steps 4-5-6, above, you are left to deal with spurious holidays, whose handling requires you to make case-by-case decisions.

Select the SHOW ONLY DELETES option of the Holidays Synchronization Options dialog (image 7.1) and click on OK.

Each of the one or more screens that subsequently appear will list spurious holidays, with the suggestion to DELETE SPURIOUS HOLIDAY (as shown in image 7.2).

The 3 most common ways to handle spurious holidays are shown in image 7.3. All the possible actions, their significance and consequences, are discussed in details here. Make sure you understand each possible action before proceeding.

If you choose the DO NOTHING option for any holiday in this step, you should come back and complete this step fully (without any DO NOTHING selections) before moving to the next step.

Once you have selected all the actions to apply to the spurious holidays of a given synchronization window, make sure to click the UPDATE button, as shown in image 7.4 for these actions to be applied.

image 7.1

image 7.2

image 7.3

image 7.4

Step 8

New or Missing Holidays

(done in 2 passes)

The final stage of Holidays Synchronization is to handle new or missing holidays. these are holidays that are in the Worldwide Holidays Database, but are not in your holidays database.

In most cases, you will want to handle new/missing holidays that are full/nationwide differently than those that are partial/regional/tentative holidays (with a non-blank OBSERVANCE column).

To first handle nationwide new/missing holidays, select the HIDE ALL PARTIALS option of the Holidays Synchronization Options dialog (image 8.1) and click on OK.

Each of the one or more screens that subsequently appear will list new or missing holidays, with the suggestion to ADD MISSING HOLIDAY (as shown in image 8.2). Generally the choice is between IGNORE MISSING HOLIDAY (usually for partial or regional or tentative holidays) and ADD MISSING HOLIDAY (for nationwide holidays), as shown in image 8.3. All possible actions, their significance and consequences, are discussed in details here.

Once you have selected all the actions to apply to the new/missing holidays of a given synchronization window, make sure to click the UPDATE button, as shown in image 8.4 for these actions to be applied.

Second pass

After you have addressed the nationwide new/missing holidays, starting with the settings of image 8.1, go back to the beginning of step 8 and repeat the process, but leave the HIDE ALL PARTIALS box unchecked in image 8.5.

image 8.1

image 8.2

image 8.3

image 8.4

image 8.5

step 9

Adapting New Holidays Text

By default, the Holidays Synchronization does not affect the text of existing holidays that may have been updated in step 3.

However, in step 8, some new holidays were added and the final step of Holidays Synchronization is to adapt any new text coming from Holidays Synchronization to what you want it to be.

To do this, close the Holidays Synchronization dialog, open the Holidays Manager (from the DATA menu) and search throughout your holidays database for the text ((NEW)), using the pop-up menus or corresponding keyboard shortcuts, as shown in image 9.1.

The text ((NEW)) was placed by Q++Studio placed in any new holiday name it added in step 8, or any new holiday variation it may have created when updating holidays in step 3, and the keyboard shortcuts of image 9.1 will take you directly to each set which contains any such amended holiday, either as shown in image 9.2. for new holidays added in step 8, of as shown in image 9.3 for new holiday name variations added in the course of updating a holiday in step 3.

Make sure that you search and modify these new textual elements until they are all gone.