P(ersonnel) Links for FMS and SIMS Finance
The purpose of P(ersonnel) Links is to enable the import of personnel data and MIS data in to the finance system for reasons of budget planning, recordings of actuals, equipment register and other needs.
Available Imports
Request Type |
FMS
Only
|
Call Params |
Example |
XSD |
Comment |
Licence |
X |
/c:"@P7Request" /o: |
Sample |
XSD |
Return T! |
Salary Details Request |
|
/c: "@SalaryDetailsRequest" /o: |
Sample |
XSD |
Actual Figures |
Salary Detail Update
Check Request |
X |
/c:"@SalaryDetailUpdateCheckRequest" /o: |
Sample
|
XSD |
Row Version |
Budget Planner Request |
X |
/c:"@BudgetPlannerRequest" /o: |
Sample |
XSD |
Age Count |
Equipment Reg Request |
X |
/c:"@EquipmentRegRequest" /o: |
Sample |
XSD |
Rooms |
Data Types Master |
|
|
|
XSD |
|
FMS
A windows application needs to be provided by the MIS supplier for local installation. Within FMS, the name of the application (and location) plus a user name and a password can be configured.
The application is called by FMS and expects an XML document in the format described in the links above corresponding request parameters.
The XML returned then needs to be posted to STD Out as below.
// Get the XML Required from the supplying application
string outputData = GetXmlData(commandXml);
// Open standard out
Console.OpenStandardOutput();
// Write the required data to standard out
// NB: Partners are responsible for making sure that large data exchanges
// work and for error handling...
Console.WriteLine(outputData);
It is for the vendor application to define how it gets the data from the alternative MIS for each request.
SIMS Finance
ESS will provide a mechanism to obtain credentials to a 'write only blob store' and a document of exactly the same format as above would be posted to the blob store.
- Extract the XML from SIMS 7
- Add a header into the XML as the first element inside the <P7_Import> tag:
<Header>
<DateGenerated>{DateTime.UtcNow:yyyy-MM-dd_HHmmss}</DateGenerated>
<Rowversion><ROW VERSION></Rowversion>
<School><LEA NUMBER> <SCHOOL NUMBER> <SCHOOL NAME></School>
</Header>
- Encrypt the file contents:
- Generate an AES encryption key (Key Size = 256, Block Size = 128)
- Encrypt the xml contents using the generated key
- Encrypt the AES key using the public RSA key (provided through SIMS Finance UI)
- Add the encrypted AES key to the start of the file, followed by a newline, then the encrypted contents:
$"{encryptedAeskey}{Environment.NewLine}{encryptetXmlContent}"
- Upload the encrypted file to blob storage using the following folder naming structure:
$"{TenantId}/{SchoolId}/Upload_{DateTime.UtcNow:yyyy-MM-dd_HHmmss}_{(IsUpdated ? "Data" : "Empty")}"
Tenant Id and School Id are provided in the SIMS Finance UI
Work in progress. We need to provide a mechanism to TIs to provide credentials and location of the blob store. Credentials expire annually. Phase #1 is to generate the files and the files themselves are the same for SIMS Finance and FMS.