Frequently Asked Questions


+ What is the Manipulation SPAM module

The StockCode ProductClass Account Manipulation (SPAM) module steps through all the SYSPRO tables and any transaction that contains both the Stock Code and Product Class will be modified based on the Xref which will contain the OLD Product Class, Stock Code and NEW Product Class. On each relevant SYSPRO transaction, ONLY the OLD Product Class will be changed to the NEW Product Class.

This solution came about with our clients only needing to change the Product Class assigned to a specific Stock Code and also modify the historical transactions to reflect the NEW Product Class. Since there is no one-to-one relationship between OLD and NEW Product Class, the SPAM product does not make any changes to any table which contains ONLY the Product Class and the Product Class master is therefore not modified.

Some of our clients have then used our Product Class Account Manipulation (PCAM) to make the necessary modifications to the master tables etc after using the SPAM module to “clean up” but this is not an absolute requirement for our SPAM clients.

The Xref import file would therefore require three columns with the OLD Product Class in the first column, the Stock Code in the second column and the NEW Product Class in the third column:







+ What is the format of the MAN Comma Separated Value (.CSV) Xref import file

For all the MAN modules simply requiring the OLD Code, NEW Code and optionally the NEW description, using a product such as Microsoft Excel (as per the below image), place:
– the OLD Codes in the first column
– the associated NEW Codes in the second column
– the optional NEW descriptions in the third column
and then save the spreadsheet as a CSV (Comma delimited) (*.csv) format which will be able to be imported into the required cross reference module.













The StockCode ProductClass Account Manipulation (SPAM) module requires OLD Product Class, Stock Code  and NEW Product Class and would therefore require three columns with the OLD Product Class in the first column, the Stock Code in the second column and the NEW Product Class in the third column:











Saving this as a Comma Separated Value (.CSV) to be used by the MAN Xref import process would look like this:







+ Get message saying “Manipulation is currently being run” just after selecting to Begin Replacement

AFTER PREMATURE TERMINATION: The MAN product has been developed to explicitly prevent the same module from being run more than once at a time. By nature of this process and the possibilities of unforeseen failures, both hardware and software related, the module being run before the failure is unable to be rerun after the problems have been resolved. As an interim solution, we have a “RESET” utility program that may be used to reset that module. Using File\Run a program (Control+R) and enter MANRES before selecting OK to run. Choose the relevant module as per figure 1 below and select the Reset button.

+ Installing or upgrading multiple Source IT packages at the same time

As each of the Source IT packages shares the same configuration procedure (SITINI), each package installation and configuration needs to be handled separately.
For each package being installed, place the downloaded package executable into the SYSPRO\base\upgrade folder, login to SYSPRO as a SYSPRO Administrator and allow for server update  to take place, log back in and run the configuration program (SITINI).

NOTE: The configuration program (SITINI) will only process the last package installation file updated onto the server.

Upgrading multiple Source IT packages to a newer SYSPRO version when they originally existed in the previous SYSPRO version does not require the configuration program (SITINI) to be run and the server update may be actioned using multiple package executables simultaneously by loading all of them into the SYSPRO\base\upgrade folder on the server and logging in as a SYSPRO Administrator .

+ BTS Menu does not exist in SYSPRO menu although EFT/ BTS triggers are functioning

This is encountered in the following circumstances:

  • SYSPRO upgraded to new version
  • SYSPRO server was reloaded after hardware upgrade or failure

Irrespective of the reason for the missing menu structure, it is always a better idea to run through the BTS update and configuration process as defined in the associated BTS installation document.

Once the current BTS programs and files are loaded onto the SYSPRO server, by running the Source IT initialisation routine, SITINI, selecting the “Create or remove menu” option and selecting the “OK” button will add the BTS menu structure into the SYSPRO main menu.










+ Dealing with BulkInsert errors

SYSPRO have a utility to test the BULK INSERT routine as used by the MAN modules.

This may be used to resolve the following common file status’s:
37 – Invalid permissions
9-??? – Invalid folder (??? denotes any 3 character numeric value e.g. 9-009)

On the SYSPRO Main Menu:
Utilities \ SQL Server Utilities \ Diagnostic Query (or Run Program “IMPDG6”)
















Select the “Function” option in the program menu and “Test Bulk Insert command…”







Select “OK” to allow test to run. If all is well, you should receive a success message.






If the folder specified in the “Temporary folder:” is invalid, has inadequate permissions or insufficient space available, an associated message will be displayed.

















Invalid folder specified:












Inadequate permissions:












Failure message:


+ SYSPRO has detected a non-recoverable run time system error on the server and will shutdown immediately

Further information usually displayed along with this message:

Message  number : 173
Message : Called program file not found in drive/directory

This information has been output to a log on your server with the file name: settings\”username”_RTS_ERROR.TXT (“username” will show the SYSPRO user name)









This message has been encountered predominantly during the upgrading of SYSPRO versions and mostly with our triggered BTS product.

In these cases, the new version of SYSPRO has been installed in a new folder on the SYSPRO server and the original trigger BTS trigger points are addressing the BTS programs in the original folder location.

Simply manually remove all of the BTS trigger points and run the Source IT SITINI program and select to add the Trigger Points ONLY.

See HERE for more details regarding trigger configuration for BTS.

+ Bank formats catered for in BTS

The BTS product allows for the associated Banking Institutions format to be linked to the relative SYSPRO Bank.
A list screen as below allows for the correct format to be selected.














The following BTS Bank formats are available per banking institution.

ABSA Bank:

  • Focus
  • CashFocus
  • Business Integrator


  • Nedinform
  • NedExec
  • NetBank Secure
  • CPS

Standard Bank:

  • CATS
  • EFTS
  • BEFT
  • BOL
  • nBOL
  • NetPlus

First National Bank:

  • CAMS
  • PACS
  • BANKit
  • CSV
  • AiDPS Swazi


  • EFT
  • CITI Preformat

Bank Windhoek:

  • Bureau

Mercantile Bank:

  • BANK@bility

BOE Bank:

  • BOE

JP Morgan Bank:

  • Global ACH GDFF


  • SFI

Barclays Bank:

  • SFI
  • Local Payment

Standard Chartered Bank:

  • STS
  • SAB-iPAY
  • Straight2B

HSBC Bank:

  • iFILE

Kenya Commercial Bank:

  • KCB Quickpay

Commercial bank of Africa:

  • Trade Payments CSV

ABN Amro Bank:            


Fihrst Management Systems:


Banco Commercial:

  • BCI(Banco Commercial)

Australian Banks:

  • Direct Entry Payments

USA Nacha:


HSBC Bank India:

  • iFILE

+ The imported file failed the hash check validation – NetBank

This process deals with SYSPRO 7 upgrades for clients on Nedbank  NETBANK SECURE format who merely run the conversion process and do not capture anything new using the BTS Bank Maintenance programs.


The client is upgrading to SYSPRO 7.
Their bank format is Netbank Secure
They have a TEST SERVER at the moment and have installed SYSPRO 7 and BTS on this test server.
They ran the conversion process for BTS and process was successful.
The SYSPRO user who is doing the upgrade is not the user who normally runs BTS.
This process is happening on a different server to their live SYSPRO as they are testing.
This is the error encountered indicating that the SEED KEY is incorrect or missing:









The DLL will not automatically register as this is an UPGRADE and the generic conversion program just runs. Also it is pointless to register the DLL at this point as the administrator will not be running BTS in the future.

The seed key was correct and not missing from BTS however the DLL was not installed as this was a conversion that just converts the files into the SYSPRO 7 format.


The client was requested to perform the  following to register the DLL which resolved the problem and generated the encryption key into the footer record. This encryption key is generated by a DLL file that gets installed automatically onto the CLIENT machine that runs BTS.

Run the BTS Bank Maintenance program where the Netbank Secure format was selected and modify something (for example, remove the last character of the Account name and type it back in) which will invoke the SAVE key and click on SAVE.
Once SAVE has been selected it will register the DLL file. This needs to be done on ALL client machines that run BTS.
If security is high on a certain client machine it will give you an error saying it cannot register the DLL.
The BTS installation manual (see Netbank Secure Format Procedure) explains how to register this DLL manually for problematic client machines.
Once completed, re-extract the EFT  batch and the encryption key will then be present on the trailer record.

+ “HASH NOT MATCHED” error importing file into BANKIT – First National Bank

When importing a BTS file into the FNB BANKIT system, an error is returned indicating “HASH NOT MATCHED”.

This message may be encountered if the “Encryption required” option has NOT been selected in the BTS Bank Maintenance screen as per the below image.
Check this “Encryption required” option, save the change and perform an EFT Re-extraction to generate a new BTS file to import into the BANKIT software.




+ Netbank preformat setup. Import batch – error

When setting up Netbank “pre-format” and you get th “Import batch – error” message as per this image:

Using the CSV template (using beneficiary reference number) option as per the highlighted option the image below has been represented as correct.

+ What is the expected run time of the MAN modules?

The time required for each MAN module to complete is primarily based on the amount of data stored in the associated SYSPRO tables.
Other aspects such as the server processing capacity and network speeds will naturally influence run times.
Run times vary from literally seconds through to a few hours with our longest reported time at 7 hours for GLAM on a 130GB database back in 2009. Average reported run times have been between 1 and 2 hours.

The MAN modules processes each relevant table and compares the code on each transaction against the cross reference to verify if it is required to me modified.
Based on this solution, the impact of the number of cross reference entries has a minimal effect on the total run time.
If a single cross reference entry takes 2 hours to complete, using 2000 cross reference entries would add about 15 minutes onto the run time.
Aspects such as “summary audit” settings against the MAN module will also have a bearing. There is no practical reason why the “detailed audit” option would be specified but this setting would also have an implication on the run rime adding up to another 20 minutes to the total run time.

The MAN module “Monitor refresh delay period” value you have set to 1 hour does have an implication but nothing like the Tick Over. This value would have been fine at 1 minute to not have a huge implication on your volumes.

The “Tickover refreshes on reports/batches” value as defined against the SYSPRO user being used to run the MAN module must be set to at least “2 minutes” as this is CRITICAL for the optimal performance of our manipulation product.

If you are able to see values ticking over in the “Stock Code Replacement In Progress” window, the “Tickover refreshes on reports/batches” value is incorrect. This session should even indicate “Not responding” due to the 2 minute PLUS delay between refreshes. It is the primary reason we have the “Manipulation Module Status” tool to allow real time viewing of the modules progress.

To modify this “Tickover refreshes on reports/batches” value against the operator, use the SYSPRO “Operator Maintenance” program as follows:

+ SYSPRO Server Run Time System Message

Some of the legacy Bank Reconciliation System (BRS) translation programs do not make provision for “garbage” data or data that does not conform to the expected data formats.
In these cases, the translation processes will fail and the following represents the type of error encountered.

SYSPRO has detected a non-recoverable run time system error on the server and will shutdown immediately.

You may need to correct any problems before you attempt to continue.

Please contact your system administrator if this problem persists.

Details of the problem are
Message number: 153
Message: Subscript out of range
Program: C:\SYSPRO7\Programs\

This information has been output to a log on your server with the file name settings:\ADMIN_RTS_ERROR.TXT










The incorrect format of electronic bank statement is being imported for the selected BRS “Bank format”.

Use the correct format of electronic bank statement.
If you are not certain about the format of electronic bank statement file you are importing, email it through to us at and we will investigate and revert back to you.

+ Do your manipulation programs handle merging of data

All our data manipulation modules have been developed to handle merging of data within a single SYSPRO company where possible.

Due to the nature of differing rules associated to merging from business to business, it may be necessary to clarify these rules and even run conversions using live test data to confirm acceptance of merging rules.

If the table being altered has the Old Code as a key and the NEW code already exists in SYSPRO, the program will merge the records with the data of the existing master transaction along with quantities, balances, budgets etc. may need to be added together.

Code merging – When replacing a FROM code with a TO code that already exists in SYSPRO, the static information of the FROM record will be lost and this same information of the TO code will remain in SYSPRO. Examples of these are: Dates, Addresses, Names, Rates, Prices, Credit Limits etc. Other than this static information, where at all possible, the information from both records will be merged. It is therefore assumed that when a merge manipulation occurs, the two records being merged have the same unit of measure, rate, price, currency, etc.

+ Trigger Programs for Accounts Payable Supplier Maintenance and/or Cashbook Beneficiary Maintenance are not working

If you are on SYSPRO 6.0 SP2 onwards and you were using BTS on a prior version of SYSPRO,  the program names for AP and CB supplier maintenance have changed and that is the reason the triggers are not working. The SITINI program will add the new program names to your system then you need to do the following:

Manually remove all 7 BTS trigger entries:

BTSAPTriggers BTSEFTTriggers

-Run Source IT setup program (SITINI) again and select “Setup trigger points(Current company)” and “OK” to setup the trigger points correctly.

NOTE: This process needs to be repeated in each separate SYSPRO company that uses BTS.


+ When saving an EFT supplier or trying to do an EFT extract the following message is displayed “Program not found(or program corrupted” – Program name”

This error means that the trigger program BTTSVL or BTTCAL could not be found in the directory specified in the trigger process. Usually this error occurs if you have changed the directory for the SYSPRO installation and have not maintained the triggers for this directory change. You need to maintain the triggers within SYSPRO and deactivate the relevant ones by un-ticking them. The following triggers need to be removed:
A/P Supplier Maintenance – All 3 of them
EFT Beneficiary Maintenance – All 3 of them
EFT Payment Extract



Run Source IT setup program (SITINI) again and select “Setup trigger points(Current company)” and “OK” to setup the trigger points correctly.

NOTE: This process needs to be repeated in each separate SYSPRO company that uses BTS.


+ During the conversion, I get a ‘Duplicate key’ error message, even though no duplicates exist on the table

This is caused by certain record types being non-duplicate in SQL, but having duplicates when being copied across to ISAM e.g. INVMOV – EntryDate contains both the date and time, but TrnTime contains a zero.  When this table is copied across to ISAM for conversion, if the key is duplicated (same stock code, warehouse, transaction year, transaction month and entry date), ISAM will only copy the date part of EntryDate across, and not the time (this is how the file is defined), which will result in a duplicate.  Data created in SYSPRO would have the time stored in the TrnTime field, and not as part of the EntryDate field, which usually means this data has been generated from elsewhere.  The integrity of the data is a problem and needs to be fixed!

Example of error message:
SYSPRO File Message
Message:  Duplicate key
Access:  Attempting to write a record
File name:  this will vary
Status:  22

+ Data or index file missing, Attempting to open a file. …\GENCTL.DAT 9-043 IMPSQM – SQL Copy Functions …

When starting the manipulation process, the following message is shown as per figure 11.1:
“Data or index file missing”
“Attempting to open a file”
“IMPSQM – SQL Copy Functions …”

This is then followed by the following message:
“Due to failure with SYSPRO Bulk Copy SQL to ISAM, Program will terminate…”

We wrote a “test” routine to check these settings which is why you received the message at the end about the failure and that no data was modified.

What we have done is to test a number of things up front when doing a conversion:
• check sql login information i.e. check system admin login (SQL server setup)
• check the temporary folder has been set up for the bulk copy (SQL server setup)
• a test is done to ensure that we can connect to the datasource
• a test is done to build the path and open GENCTL (pathing will be done in ISAM or SQL depending on your company setup), and then to read the table to make sure there is a record in it
• a test is done to make sure that GENCTL can be copied from SQL to ISAM (using the bulk copy process in IMPSQM)
• a test is done to make sure that GENCTL can then be copied from ISAM back to SQL (using the bulk copy process in IMPSQM)

After running ‘SDKSQM’,copy the GENCTL to see if original error appears:
“Due to failure with SYSPRO Bulk Copy SQL to ISAM, Program will terminate…”

Solution consideration:

The temporary folder has not been configured in the company setup – SQL Server Tab . This is for the BULK INSERT and is only used when copying from ISAM to SQL. This directory is NOT on the client computer as it must be available from SQL Server. It must exist, have adequate permissions and have sufficient space available for copying of files from SQL to ISAM, as this folder is used by SYSPRO’S IMPSQM process as a temporary storage area. It must also be accessible to both the APPLICATION SERVER and SEQUEL SEVER

+ When trying to import the Xref file, I get the following error: Import file path – There are old codes that do not appear in SYSPRO

In the control/preferences program, if the ‘Validate old X-ref code’ is set to “Yes”, and the file imported contains “OLD” codes which do not exist in SYSPRO, the error message above will be generated.
Change this “Validate old X-ref code” setting to “No” to ignore the validation.

+ Operating system problem, Attempting to open a .BCP file, Status: 9-199

This typically occurs on a multi-tier environment where SYSPRO and SQL are running on separate server.

To correct, change the “Bulk insert temp folder” to address a temporary folder on the SQL Server itself and ensure that this folder has adequate permissions and sufficient free space available.


+ BTS output bank file (.IMP / .CSV / .TXT) is not created OR cannot be found

a) Triggers are not set up and need to be set up for each company, unlike the first 3 options of the SITINI process which is recognized by all companies when run. In this scenario, run SITINI and tick option 5 only for the company that is not creating the bank file.

b) When suppliers details are incorrect i.e: incorrect banking details an error message appears: ‘Bank file will not be created as suppliers with invalid banking details were found. Please rectify as per the report and re-extract’ . In this scenario please read the validation report that will pinpoint the invalid suppliers and rectify the problems before trying to re-extract the batch again.

NOTE: The bank file will be named as per option selected by the user in the BTS configuration and will be placed in the directory that has been set up in the EFT Bank control program for that bank. If no directory has been set up, a validation error will be displayed and no bank file will be created. The user will need to set up the relevant directory and re-extract the batch. Every time a new batch is extracted or an existing batch is re-extracted a bank file will be created. The re-extract may be used if the supplier/beneficiary bank details were incorrect. The user may correct them in the relevant maintenance program and re-extract that particular batch. (Refer user manual : EFT Batch extract/re-extract process)

+ The bank is rejecting the import file

Make sure that you are uploading the BTS file and NOT the EFT XML file. If the extension of the file you are uploading is .XML then that is the wrong file. The BTS files generally have a .IMP extension with an exception of a few that could have a .CSV or .TXT extension.

+ Subsequent to a SYSPRO EFT extract, multiple Source IT BTS output files are created for the same extract

BTS has been  loaded twice and the associated triggers have been setup more than once.

Either simply maintain the triggers within SYSPRO and deactivate the relevant ones by un-ticking them. The following triggers need to be removed:

A/P Supplier Maintenance – All 3 of them
EFT Beneficiary Maintenance – All 3 of them
EFT Payment Extract










Or alternatively modify each trigger point and remove the duplicate program entry.


+ When installing a Source IT product and you get a message, ‘SITCUS.IMP’ cannot be found please copy into CUSPROG folder

When running SITINI, do not tick the 4th block: “ Create or remove entries in CUSTOM.IMP”

+ BTS Validation screen appears notifying ‘The BTSNEDHash.dll object could not be registered on this machine!’

Normally this error is permissions on the client computer. The program does the following:
1. It copies the BTSNEDHash.dll file from the SERVER SYSPRO60\BASE directory to the CLIENT SYSPRO60\BASE directory (so they need permissions on the client BASE for a copy)
2. It then creates a directory called BTSNED on the CLIENT within the BASE directory (so they need permissions to create a directory)
3. It then copies BTSNEDHash.dll from the CLIENT SYSPRO60\BASE to CLIENT SYSPRO60\BASE\BTSNED (so they need permissions for that copy)
4. It then runs a process to REGISTER the DLL file into the registry (so they need permissions for that as well)

We are not certain of the specifics pertaining to each site to correctly configure the permissions but an administrator of the network needs to check that all is in order.

Alternatively, there is a manual way to do this process. Refer to BTS installation manual, page 22. You need to:
• create a directory called BTSNED within the BASE directory on the clientc
• Copy BTSNEDHash.dll to both BASE and BASE\BTSNED on the client machine from the SERVER BASE.
• run a DOS SESSION on the CLIENT MACHINE and follow the steps as defined in the BTS Installation Manual.

NB. Command prompt, even though you logged in as an administrator, needs to be ‘Run as administrator’, So right click on Command Prompt (under your accessories list) and select ‘Run as administrator ’ The DOS SESSION must be ‘Run as administrator ’

+ When server is lost and BTS is being re-installed and the BTS validation screen appears notifying ‘The file path in EFTCTL does not exist or you may not have permissions to this directory’

You are missing the path in the EFT module that you would want the SYSPRO XML file to be output to. Our BTS module uses this path to create the bank import file. It is mentioned in our BTS user manual

+ Error copying message received: “There was a problem copying SITMEN.IMP from the programs directory to the customs program directory.Please check the relevant permissions and try again”

When you run the Source IT initialisation setup program (SITINI) process to setup menus etc. the routine attempts to copy the SITMEN.IMP file (and other .IMP files) into the folder you specified in the Custom programs folder

This usually relates to 1 of 2 problems:

  1. The SITMEN.IMP file is not in the program folder (put installation executable in SYSPRO60\base\upgrade folder and allow update)
  2. The folder specified in the system setup as per the screen image below has an issue (incorrect naming, permissions etc)


+ Error message received when trying to import using Standard Bank – Business Online: “Batch Import unsuccessful. Debits not allowed in Payments”


In the Bank Code Maintenance the Bank output file that should be ticked  is ‘Unique file name’. And EFTS details in bank parameters should be changed to CREDIT (not DEBIT)


+ Running SYSPRO 6.1 SP1 and encounters “random characters” in the Source IT License “System:” field and a message “License Code is Invalid” are displayed when trying to license

This particular license issue (random characters in “System:” code field) relates to the fact that for SYSPRO 6.1 SP1, we needed to make licensing modifications to our products to accommodate the SYSPRO APP Store licensing. Please FIRST DOWNLOAD the latest version of BTS (make reference to BTS installation manual) and ensure that client is on minimum PORT 007 of SYSPRO 6.1 SP1, ALSO ensure the BTS triggers are pointing to the current version of the trigger programs and that the SYSPRO 6.1 SP1 installation has been installed in a new folder location (BTS triggers MUST NOT point to the old version of the trigger programs on SYSPRO 6.1 that client was running). To automatically correct trigger entries, manually remove the associated triggers and run SITINI program to setup triggers correctly.

Usually encountered when the customer is using one of the MAN products which has the new license solution.


+ When upgrading from SYSPRO 6.1 SP1 and encounters “no characters” in the Source IT License “System:” field and a message “License Code is Invalid” is displayed when trying to license when relicensing directly from SYSPRO menu

On attempt to relicense BTS, SYSPRO will advise that an upgrade is required, proceed with the upgrade as the process has picked up that the latest version of files for BTS is required and this takes place by a ‘self-healing’ upgrade process where the old files are replaced with newer files as required and the triggers for BTS is also created correctly.


1. Always ensure that the latest BTS product has been installed
2. Do not run the “SIT001” program directly but rather run the BTS re-license program “BTPLIC”