HOS File Pass-Through to ERP
From EnablerWiki
Created: 21 September 2011. Last Reviewed: 21 September 2011
To support legacy ERP implementations that already process Enabler HOS data from a file system directory structure, typically without extended HOS record headers as produced by Enabler when integrated with EEE, a modification has been implemented in Data Loader to support passing the raw HOS files through to a separate file system location for consumption by such ERP.
As a rarely used feature, configuration must be performed directly in the registry in:
HKEY_LOCAL_MACHINE\SOFTWARE\ISL Australia Pty Ltd\Data Loader\Settingsn
Or, for x64 systems in:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ISL Australia Pty Ltd\Data Loader\Settingsn
The following string values should be created:
ErpCopyToErp Set to 1 to enable pass-through, else set to 0 ErpFlatDirectoryStructure Set to 1 to use the flattened directory structure described below. ErpIncludeResendFiles Set to 1 to enabler pass-through of resend files, else set to 0. Typically this would be 0. ErpStripExtendedHeaders Set to 1 to strip extended headers (and replace with standard headers). ErpRootPath Set to the root path to write files for ERP. UNC path name is supported.
Note that after editing Data Loader settings in the registry, the Data Loader service must be restarted to apply the changes. If the ErpFlatDirectoryStrucuture option is off (0) files will be written in a subdirectory for each branch (and till if individual tills created HOS files) beneath the ErpRootPath. Subdirectory names will be the lowest-level directory name from the original .IMP file location – typically this is the store’s four digit logical address. If tills are generating the HOS files then the two lowest-level directory names are used. So the ERP directory structure would become:
\\ERP-Server\Import-Folder\0201\ \\ERP-Server\Import-Folder\0202\ \\ERP-Server\Import-Folder\0203\
… and so on… or
\\ERP-Server\Import-Folder\0201\01 \\ERP-Server\Import-Folder\0202\01 \\ERP-Server\Import-Folder\0202\02 \\ERP-Server\Import-Folder\0203\
etc if tills are creating the HOS files.
If ErpFlatDirectoryStrucuture option is on (1) files will all be written in the ErpRootPath folder. Each file name will be prefixed with the store’s four digit logical address from the lowest-level directory name or, if HOS files are generated by tills, the filename is prefixed with the branch code and till number from the lower two directories. So the file structure would become:
\\ERP-Server\Import-Folder\0202_09211300.hos \\ERP-Server\Import-Folder\0202_09211305.hos \\ERP-Server\Import-Folder\0202_09211310.hos
… and so on… or
\\ERP-Server\Import-Folder\0202_01_09211300.hos \\ERP-Server\Import-Folder\0202_01_09211305.hos \\ERP-Server\Import-Folder\0202_01_09211310.hos \\ERP-Server\Import-Folder\0202_02_09211300.hos \\ERP-Server\Import-Folder\0202_02_09211305.hos \\ERP-Server\Import-Folder\0202_02_09211310.hos
etc if tills are creating the HOS files.
Data Loader will create the ERP root folder if possible and the store (and till) sub-folders if necessary. The Data Loader service account, commonly “EEEServices”, will need read/write/delete (or “full control”) permissions on the folder/directory targeted by the ErpRootPath setting. If this is a network path then the network share will also need to permit read/write by the Data Loader service account. Only uncompressed files will be copied to the ERP path – Data Loader will decompress ZIP files and copy the uncompressed contents to the ERP. Files copied to the ERP will retain their original file names from inside the ZIP archive (usually Month-Day-Hour-Minute [mmddhhnn]) with a .HOS extension.
If Data Loader is unable to copy a file to the ERP path (e.g. if the ErpRootPath share is temporarily unavailable) EEE will store files for the ERP in the EEE <import> path (original location of the HOS/ZIP files processed by Data Loader). Such files with have a .ToERP_Ready file extension. When Data Loader next processes a file from the same store, any accumulated .ToERP_Ready files will be copied to the ErpRootPath if it is writable.