The download process does the following:

1. Clears the local FDC database of any database entities (tables, views, indexes, etc.)

2. Asks the main system for a copy of its database schema.

3. FDC creates a local database using the information from #2.

4. FDC disables foreign keys and triggers on the local database.

5. FDC asks the main system to resolve the FDC Type and use it to determine which bits of data to bring down.

6. FDC transfers the data from #5 down to itself.

7. FDC enables foreign keys and triggers.

8. FDC_SCRIPTS are executed.

9. The Temporality feature is enabled.

When performing a new download and you see a message pop up stating "your last upload is not completed", it is because the user has uploaded data from the FDC GUI application successfully and that transaction has not been approved/applied to the main system (i.e. those proposed changes have not been persisted to the store), and the user attempts to use the FDC GUI application to upload again.  In order to resolve this message, you can either approve/apply the Offline Transaction or Revert the transaction. These actions can be found in the right-click options in the Offline Transactions window.