FMS6 - Budget Import API
This functionality has previously been provided via a COM object which is old technology and is diffiicult to set up due to security improvements within the operating system. The model reverses the principle whereby FMS calls the partner's API to pull the budget in to FMS via COM to a .Net API which posts the budget to FMS.
// Get your FMS Credentials
string _serverName = ".\\sims";
string _databaseName = "EngGA_FMS";
string _userName = "sysman";
string _password = "finance";
//Load the budget file in to memory
XmlDocument budget = new XmlDocument();
string budgetFileName = @"c:\temp\budget.xml";
// Import the budget
var bp = new PartnerInterfaces.FMS.FMS_BudgetImporter(_serverName, _databaseName,
The Dll required is partnerinterfaces.dll in the FMS folder.
The budget is passed as the xml string and I was initially confused as to why the file name was needed, however the error handlers will use the file name to aid understanding.
The c:\WIndows\SIMS.INI file will define where to find the above dll.
SIMSDotNetDirectory=C:\Program Files (x86)\SIMS\SIMS .net
SIMSSQLAppsDirectory=C:\Program Files\Microsoft SQL Server\MSSQL12.SIMS\MSSQL\Binn
--- This entry
FinanceDirectory=C:\Program Files (x86)\SIMS\FMSSQL
SIMSDiscoverDirectory=C:\Program Files (x86)\SIMS\Discover Client\
FMSSQLAppsDirectory=C:\Program Files\Microsoft SQL Server\MSSQL12.SIMS\MSSQL\Binn
Integrators are not permitted to ship FMS DLLS with their products. Not only is a breach of the licence agreement, but shipping FMS dlls usually causes the integrator more problems because the dll often fails to work if they do not match the other dlls and database schema.
Please note that the import file can contain exactly one or two years of budget and errors will be thrown if this is not honoured.
The budget year names must match the financial year names in FMS.