Document Flow Manager
Exploring
SYSPRO's Document Flow Manager facilitates collaborative commerce by providing a means of automating document processing from within or outside the organization. These can be incoming and outgoing documents, such as sales orders, purchase orders, etc.
When using the Document Flow Manager, you are licensed to use all business objects via the DFM.
The Document Flow Manager uses two services:
-
SYSPRO 8 Document Flow Manager Folder Poller
This service monitors specified folders and uses the contract details to determine if the files in the folders should be sent to the DFM queue.
-
SYSPRO 8 Document Flow Manager Queue Poller
This service monitors and processes files in the DFM queue.
A contract defines the folders which Document Flow Manager must monitor, the type of document to look for, what to do with the document once it's located, which business object to call, and what to do with the response from the business object (e.g. transform the document using XSLT before and/or after processing by the business object).
Starting
- Microsoft SQL Server
-
You must be licensed to use Document Flow Manager.
-
The Document Flow Manager services must be running:
- SYSPRO 8 Document Flow Manager Folder Poller
- SYSPRO 8 Document Flow Manager Queue Poller
These services are installed using the SYSPRO Installer.
Solving
Synopsis
The DFM services abort with messages indicating that the Document Flow Manager executable encountered a problem and needs to close.
Cause
This is typically as a result of the SYSPRO 8 Document Flow Manager Folder Poller or SYSPRO 8 Document Flow Manager Queue Poller services starting before the SQL service has finished loading.
In a SQL server environment the SQL service must be running before the Document Flow Manager services are started.
Solution
You need to add MSSQL to the DependOnService list in the registry for all DFM services. This will force the SQL service to finish loading before the Document Flow Manager services start.
-
Open the Registry Editor (Start > Run).
- Navigate to the folder containing the local machine system services (HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services).
-
Locate the DFM service and add a new Multi-String Value to the data pane.
- Right-click the pane and select New.
- Enter DependOnService at the Value name field.
- Right-click the DependOnService entry and select Modify.
- Enter MSSQL at the Value data field.
- Select OK.
-
Exit the Registry Editor.
Synopsis
Although Document Flow Manager doesn't typically try to retrieve a file until processing is complete, it can happen that an incomplete file is retrieved and an attempt is made to process the file.
Usually, even if you placed a large file in a folder that is being polled, Document Flow Manager won't try to retrieve the file because the operating system retains a lock on the file until the writing process is finished.
However, if a large file is transmitted to a folder that is being polled using infrared (e.g. in a demonstration environment) it is possible that the first part of the file is retrieved and an attempt is made to process it before the document is completely written to the folder.
Cause
This occurs because infrared writes the file in pieces and the lock is removed from the file after writing each piece. The lock is reapplied when the next part of the document arrives. If the folder is polled during the time that the lock is released (but before the file is complete) then the file is retrieved and an attempt is made to process it.
Similarly, it is possible that a file which is being written to by a third-party application incrementally, is retrieved in a partial state if the lock is released by the application. An attempt will be made to process this partial document.
Solution
We recommend that you build the file in a folder that is not being polled by Document Flow Manager and then move the completed file to the polled folder.
Incoming and outgoing files that aren't in the required format must be transformed using XSLT.
You can define the transformation detail at the Transform XML document section of the Document Flow Manager Setup program.
You can specify the XSLT file that must be used to transform the file before it passes to the business object.
You can also specify that the outgoing file from the business object must be transformed before it is saved to the Outgoing folder.
The SYSPRO 8 Document Flow Manager Folder Poller service can be installed on any server(s) and/or machine(s).
The service communicates to the queues using the SYSPRO 8 e.net Communications Load Balancer service and business objects. Therefore, installing on various machines reduces the load on the SYSPRO application server.
In earlier versions (e.g. SYSPRO 7 Update 1) this service could only be installed on the SYSPRO Application server.
Installing multiple SYSPRO 8 Document Flow Manager Folder Poller services lets you spread the load over multiple servers, ensuring that the polling of folders runs more efficiently.
In earlier versions (e.g. SYSPRO 7 Update 1) you could only install one DFM poller service.
Although the following flags can't be maintained in the DFM Service Maintenance program, you can edit them in the SYSPRODFMQueuePoller.exe.config and SYSPRODFMFolderPoller.exe.config configuration files:
- ZeroFileSizeDeleteTime
- ConfigPollType (defaults to ss - seconds)
- FolderPollType (defaults to ss - seconds)
-
PollType (defaults to ss - seconds)
The password held against the operator used to start the services may have changed. This could occur automatically by the operating system, depending on the password policy setup.
Solution
-
Review the password settings defined against the operator who is starting the services.
-
Review the message logs within the Event Viewer.
This is most likely due to an invalid operator/password combination or the operator doesn't have sufficient permission to access the folder contents.
Solution
Review the message logs within the Event Viewer.
The following steps describe how to add SQL Server as a dependency for the SYSPRO 8 Document Flow Manager Folder Poller and SYSPRO 8 Document Flow Manager Queue Poller services.
This will force SQL Server to finish loading before the services start.
-
Open the Registry Editor (Start > Run).
- Navigate to the folder containing the local machine system services (HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services).
-
Locate the DFM service and add a new Multi-String Value to the data pane.
- Right-click the pane and select New.
- Enter DependOnService at the Value name field.
- Right-click the DependOnService entry and select Modify.
- Enter MSSQL at the Value data field.
- Select OK.
-
Exit the Registry Editor.
You can define the FileSizeDeleteTime at the File delete interval column of the DFM Service Maintenance program.
Any configuration changes made using the DFM Service Maintenance program only takes effect when next the service polls for a change in configuration information.
This interval can be specified at the Config Interval column of the DFM Service Maintenance program.
You can configure how SYSPRO processes incoming, outgoing and failed XML files using the XML Document Control program (Program List > Business-to-Business Trading).
The following configuration can be defined:
- Queue type for which you want to keep history.
- Number of days you want to retain historic documents.
- Number of days you want to retain failed documents (actioned and unactioned).
- History path for all documents.
- Destination paths where historic customer and supplier documents are stored.
- Destination path of failed documents.
The event log is created when DFM is installed. The log is output to the following folder, which you can review for diagnosing any problems you may encounter:
Control Panel > System and Security Administrative Tools > Event Viewer > Applications and Service Logs
You can open each entry in the log to view the error or warning details.
The event log is only available if you have selected Yes at the Log required option in the list view of the DFM Service Maintenance program.
Likely causes are that the document is not being picked up at all, or is being picked up but the Document Flow Manager user doesn't have permission to delete the original document from the folder.
If the document is not being processed, then there are a number of possible causes:
-
The contract is configured to poll a different folder.
Check the relative pathing from which the service is run.
If the folder is on a remote workstation, ensure that the machine is running and that the SYSPRO application server can see both the machine and the share/mapped drive.
-
The file does not match the file type defined against the contract.
-
The contract is disabled.
-
The SYSPRO 8 Document Flow Manager Folder Poller service doesn't have permission to access the folder.
-
The file is defined as read-only.
Review the properties against the file.
-
The SYSPRO 8 Document Flow Manager Folder Poller service is not running.
The SYSPRO 8 Document Flow Manager Queue Poller service is not running, or the contract is not configured to output the results from the business object.
Solution
-
Review the contract to ensure that it is configured to output the results from the business object and that the correct folder is specified.
-
Check that the operating system user who is starting the SYSPRO 8 e.net Communications Load Balancer service has been granted write-access to the folder.
-
Check that the user for the SYSPRO 8 e.net Communications Load Balancer service has been granted write-access to the Failed folder.
This typically occurs on demonstration machines and prevents you from setting folder access permissions.
Solution
-
Ensure that your operating system is supported by e.net Solutions and Document Flow Manager.
-
Review the file system type being used by the operating system.
FAT or FAT32 file systems don't allow you to set folder permissions, which could explain why the Security tab isn't visible.
-
Although you can change the file system type using the convert command line utility, this should only be done after considering the effects on other applications already running on this machine.
Error message files are written to the Failed folder in triplicate for you to establish where the error occurred.
The message file names are the same, except for the last character (e.g. 00000008e.xml, 00000008s.xml or 00000008t.xml):
- Files ending in e contain the error message.
- Files ending in s contain the original incoming document.
- Files ending in t contain the details after transformation.
This allows you to view the actual error message and compare the original incoming document to the transformed document.