Best Practice: Copying a Live SYSPRO Company

The process of copying of an existing live company in SYSPRO is a high-risk activity, as you can accidentally change or transact against your original live company if you get the process wrong. However, as the need for this does arise from time to time, this article provides you with important information related to the process of copying a live company to a test company within your current SYSPRO 8 environment.

PDF version

Overview

Document Objectives and Audience

This document is targeted at personnel and partners working in a SYSPRO 8 support environment. The aim is to provide the SYSPRO community with guidelines on how to handle the copying of an existing SYSPRO company in SYSPRO 8, considering related information that may be relevant and helping to reduce the risk.

Possible Scenarios

Some scenarios that might require the copying of an existing live company in SYSPRO 8 include, but are not limited to:

  • Using the copied company for training purposes

  • Creating a TEST version of your live company to view possible ramifications of a proposed change

  • Creating an archive or repository of the live company as of the date it was copied

Disclaimer

This article provides guidelines and good practices when copying a SYSPRO company. However, your processes, hardware, software, networking, integration, configuration, and other related issues may require additional processes or management over-and-above the items mentioned here.

Additional considerations:

  • The content relates to the copying of a company in SYSPRO 8 only and doesn't cover earlier SYSPRO versions.

  • This topic doesn't cover how to copy or move an entire environment (i.e. system and company databases).

  • The steps, and SQL script, within this topic only cover the copying of a self-contained SYSPRO company database.

    A self-contained SYSPRO company is one that doesn't use another company(s) database for Inventory and General Ledger.

Process: Copying a Live Company

As mentioned already, the process to copy a live SYSPRO company carries with it a level of risk. Therefore, the following process covers the steps required for the successful copy of an existing company in SYSPRO 8:

1. Live Company Database Back up

Its important that you backup your company, system-wide and any other relevant databases prior to making any changes or following the guidelines in this article. Therfore, use your normal full backup processes and verify that the backup is successful, as some of these processes will be performed against your live SQL Server Instance using a SQL user with high authority, and any mistakes could have serious consequences.

Use the following steps to backup the live company database, which will be restored later:

  1. Open Microsoft SQL Server Management Studio, logging in with user credentials that permit database backup and restore functionality.

  2. Navigate to and select the applicable company database of the live company that you want to copy.

  3. Right-click the database and select the Back Up option from the Tasks menu.

  4. Use the Add function to indicate the back up destination.

  5. Select OK to perform the back up.

A system message is displayed once the back up has completed successfully.

2. New Company Database Restore

After the database has been backed up, restore this as the new company database:

  1. Within Microsoft SQL Server Management Studio, navigate to and select the Databases group folder.

  2. Right-click the folder and select the Restore Database option.

  3. Proceed as follows within the General tab of the Restore Database screen:

    1. Select the Device radio button to indicate this as the Source.

    2. At the Source > Database field, search for and select the backup file that you created previously (e.g. Syspro8CompanyEdu1.bak).

      The Destination section is then automatically populated based on your selection.

    3. Change the Database name in the Destination section to that of the new company database that you want to create (e.g. Syspro8CompanyTest).

  4. Select OK to perform the database restore.

A system message is displayed once the restore has completed and the new database then appears within the list of databases.

3. New Company Database Configuration

The newly created database requires some additional configuration before it is ready for use:

4. Update System Company Database with New Company

The next step is to add the new company to the SysproAdmin table:

  1. Open Microsoft SQL Server Management Studio.

  2. Within the Object Explorer, locate the SYSPRO 8 system-wide database (e.g. Syspro8db).

    View the SQLDBN= entry in your IMPACT.INI file to confirm the correct database name.

  3. Expand this database, followed by it's Tables folder.

  4. Right-click the SysproAdmin entry (i.e. the last table in the list) and select the Edit Top 200 Rows function from the displayed menu.

    This should already contain an entry for the live company that you are copying from, as well as any other companies configured on your system.

  5. Add a new entry row for the new test company and enter the applicable names within the Company and DatabaseName columns.

    For example:

    Company DatabaseName CollationName TimeStamp

    EDU1

    Syspro8CompanyEdu1

    Latin1_General_BIN <Binary data>

    EDU2

    Syspro8CompanyTest

    Latin1_General_BIN <Binary data>

    NULL

    NULL

    NULL NULL
  6. Move off this entry so that the system records it.

  7. Exit Microsoft SQL Server Management Studio.

Your new test company is now included within the system company database.

5. New Company License Verification

  1. Open SYSPRO 8 and enter the relevant operator code in the User name field.

  2. Browse on the Company field.

    The company that you are copying from, and the company that you are copying to, should both be present. The Reference for the new company is brought through from the original company.

  3. Select the new company, followed by the Change function.

  4. Update your license for the new company:

    This step is dependent on which Release of SYSPRO 8 you are using:

    SYSPRO 8 2019 R2 and Prior:

    1. From the Registration tab, select the Import License button to re-import the license using the wizard.

    2. Once the license has been imported, select the Save function.

    SYSPRO 8 2020 R1 onwards:

    1. On the Registration tab, place the cursor on the Registration number and tab off the field to validate your license number.

    2. Select the Save function.

  5. Back on the Companies screen, highlight and select the new company.

  6. Select the Login button to proceed.

6. New Company's SYSPRO Configuration

  1. Once logged into SYSPRO, open the Setup Options program (SYSPRO Ribbon bar > Setup).

  2. Navigate to the Company Address section (Setup Options > Company > Address):

    1. Update the Reference field to an entry that indicates this is your test company (e.g. This is my test company).

  3. Navigate to the Company Options section (Setup Options > Company > Options):

    1. Within the Shared companies section, ensure that the Ledger file company and Inventory file company fields reflect the company ID of the new test company (as these would have been updated by the script run previously).

  4. Save your changes.

  5. Exit SYSPRO.

Your test company is now ready for use.

If you browse on your companies when logging into SYSPRO, you can now easily identify which company is which.

Considerations

Please be aware of the following when copying a live SYSPRO company:

  • Certain functionality (such as Electronic Signatures and Search Configurations) can be set up at different levels in SYSPRO (i.e. System, Company, Role, Operator).

    If they are configured at Company level then these are NOT copied.

    However, if these are defined at System level, then they will be applied in the new test company.

    It is important to be aware of this as you may not want some of this functionality in your test environment.

    For example, Electronic Signatures that are triggered during transaction processing could send an email inappropriately.