All messages will be constructed as follows:
<style><service>[<data>]</service></style>
<style>
· <request> Export processes
· <notify> Import processes
<service>
· name (currently only 'IGI' available)
· profile (IGI profile name)
· process:
o EPF (r & n)
o AX (r & n)
o FILE (r)
o DATA (n)
· company (ITAS trading entity - used by AX & FILE requests and DATA notify)
· filter (WHERE clause used by FILE requests where <<FILTER>> detected in IGI profile)
<data>
When data is to be streamed in through the notify method the construct will be based on the IGI profile provided but will always use this structure:
· <data><tablename><profile tag1>data</profile tag1><profile tag2>data2</profile tag2>...</tablename></data>
Return Values
Generic (File and Data):
· If error detected by ETL then prefix return message with [ETLERR] for example,
o Invalid name, IGI profile, process or company passed in as property
o Error occurred when processing database (DAL) request
· If error detected by IGI then prefix return message with [IGIERR] for example,
o Invalid date and/or format
o String provided for numeric column
Examples
1. IGI File Extract (based on phys01)
<request><service name='IGI' profile='PHYS01FILEEXP' process='FILE' company='xx' filter='WHERE phys01_condate>20130101' /></request>
This will extract phys01 records with contract date greater than 1st Jan 2013 to a file whose name and location will be identified by the profile
2. IGI Data Import (based on fut02)
<notify><service name='IGI' profile='FUT02DATAIMP' process='DATA' company='xx'><data><fut02><fut02_trdat>20130301</fut02_trdat>
<fut02_currlots>98</fut02_currlots><fut02_bs>S</fut02_bs><fut02_comod>NY11</fut02_comod><fut02_prompt>20130332</fut02_prompt>
<fut02_price>13.21</fut02_price></fut02></data></service></notify>