Sage 50 UK Troubleshooting
Failed to connect to Sage 50 UK: Username is already in use
Zynk is failing to connect to Sage, because the Sage user is already logged in.
- This may be another user, if Zynk is using a shared Sage user account like 'manager'
- This may be another instance of Zynk, if Zynk runs on a schedule, and the scheduled workflow run was interrupted before Zynk logged out.
To resolve this issue, log the user out of Sage (e.g. open Sage, login, then log off and close Sage)
Sage 50 2018 (v24 onwards) - Running reporting tasks results in 'The field xxxx does not exist' error
When Exporting/Generating Reports from Sage 50 2018 (v24 onwards) via Zynk, you might see an error like the following:
The field 'SALES_ORDER.ORDER_NUMBER' does not exist.
at Sage.Reporting.Engine.ExecutionEngine.ExecuteReportInternal(IReportRenderer renderer, SubReportExecution subReportContext)
at Sage.Reporting.Engine.ExecutionEngine.ExecuteReport(IReportRenderer renderer, SubReportExecution subReportContext, Boolean withProgress)
at Sage.Reporting.Engine.Integration.ExportService.RunEngineForSingleReport(ExportFlags flags, IReportRenderer oRenderer, ExecutionEngine oEngine, IDataSerializer oDataSource, Boolean withProgress)
at Sage.Reporting.Engine.Integration.ExportService.RunSingle(ExportBatchItem item, Type rendererType, String filename, ExportFlags flags, Boolean enableNotifications, Boolean withProgress)
at Sage.Reporting.Engine.Integration.ExportService.Sage.Reporting.Engine.Integration.IExportService.Run(ExportType type, String filename, ExportFlags flags)
at Zynk.Sage.Reporting.Sage50.ExportReportBase.RunInternal(IProgress progress, ILog log, ZynkObject input)
To resolve this issue you will need to update the Zynk.exe.config file which resides in the Zynk install directory to include an assembly binding to the correct version of the Sage 50 Reporting DLLs.
The following snippet will need to be added to configuration/runtime/assemblyBinding
within the config file:
<dependentAssembly>
<assemblyIdentity
name="Sage.Reporting.Engine.Integration"
publicKeyToken="0a4a2ad97614f98d"
culture="neutral" />
<bindingRedirect
oldVersion="0.0.0.0-3.2.0.0"
newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity
name="Sage.Reporting.Engine"
publicKeyToken="0a4a2ad97614f98d"
culture="neutral" />
<bindingRedirect
oldVersion="0.0.0.0-3.2.0.0"
newVersion="4.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity
name="Sage.Reporting.Model"
publicKeyToken="0a4a2ad97614f98d"
culture="neutral" />
<bindingRedirect
oldVersion="0.0.0.0-3.2.0.0"
newVersion="4.0.0.0" />
</dependentAssembly>
What does the Exclusive Mode error mean
If you receive the below error in Zynk it generally means that a Sage back up is taking place at the time of the workflow run:
Program is in exclusive mode. Log on cannot proceed
at System.RuntimeType.ForwardCallToInvokeMember(String memberName,
BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData&
msgData) at SageDataObject120.IWorkSpace.Connect(String Path, String Usr,
String Psw, String Unique) at Zynk.Sage.Sage50.Sage50Base.Connect()
Please wait for the back up to complete before trying to run Zynk again.
What do I do if my Sage 50 information changes
If you have changed the location, version or login information (username or password) of your Sage 50 data you will have to update these settings in your Workflow. The process to update your connection details varies depending on the version of Zynk you are using. You can find the version number in the application under Help > About.
Zynk V2.1+
Zynk will automatically detect the version of Sage you have installed, so you only need to update the connection if your username, password or data location has changed. Refer to the instructions for Zynk v2.0 - 2.0.3 for how to do this.
Zynk V2.0 - 2.0.3
- Click the 'Connection Manager' button on the main toolbar.
- Double click on the Sage 50 connection you need to update.
- Follow the instructions on Connecting to Sage 50 UK to update your Sage 50 details.
Zynk V1.X
Click the 'Workflow Properties' tab and then click the button next to the 'Variables' to edit the list of 'Workflow Variables', select the following variable names from your Workflow's Variables and press the 'Delete' key on your keyboard for each one :
- SAGE50_BUGFIX
- SAGE50_DATAPATH
- SAGE50_MAJOR
- SAGE50_MINOR
- SAGE50_NAME
- SAGE50_USERNAME
- SAGE50_PASSWORD
Once you have deleted all of the above variables, if you Save your workflow and then select 'Run Workflow' you will be prompted to re enter your Sage login information once the Workflow reaches the first Sage 50 task.
Using ODBC driver with Microsoft Office applications
More information on linking the ODBC driver to Microsoft Office applications can be found on Ask Sage