Why not just use ODBC or FoxPro ?

Initially you may think the solution to creating such an interface is as simple as setting up an ODBC connection to the Rams data or accessing it through FoxPro directly. However these methods are only useful for reading Rams data. If you want to write data to Rams, you need to consider the business logic of Rams and the data integrity rules of Visual Pro Matrix (for Visual Rams). For example;

–When you add a work order to Visual Rams Pro, how do you make sure that all other connected processes are carried out within. For instance,

Creating the appropriate “Tray Items”,
Adding the work order to the service diagram
Incrementing the work order count on the customer record
Validating that the Route number specified is valid
Creating a sequence record on the route etc....

–When you enter new records to tables, how do you make sure that all the data entered is valid, and if not, how do you feed these errors back to the client application
–If you change data, how do you make sure that your additional company specific business logic related to this change is carried out

Infotoday has put all this logic into the ITRDS so all you have to do is add, edit or delete the records you want. The ITRDS looks after the rest!

Whats more, when these rules change as Rams is upgraded and modified, if you don't use the ITRDS you would have to change all your code to accomodate these changes. However if you use the ITRDS, all you need to do is install the new version with potentailly no changes at all to your code.

Here is an example of how simple it is to create a new work order using the ITRDS. ;

loITRDS = CreateObject("ITRDS.RP_CLIENT")
loITRDS.SetConnection("HTTP")
loITRDS.SetSystem("6230")
loITRDS.OWORKORDERS.New()
loITRDS.OWORKORDERS.AddFieldValue("account","2744262")
loITRDS.OWORKORDERS.AddFieldValue("wo_type","S")
loITRDS.OWORKORDERS.AddFieldValue("Level",1)
loITRDS.OWORKORDERS.AddFieldValue("Department","OPS")
goITRDS.OWORKORDERS.AddFieldValue("DAY","FR")
goITRDS.OWORKORDERS.AddFieldValue("ROUTE","1")
loITRDS.OWORKORDERS.AddFieldValue("Comment1","Created by ITRDS")
loITRDS.OWORKORDERS.Save()

OR

If you have configured a contract on the customer its as simple as this;

loITRDS = CreateObject("ITRDS.RP_CLIENT")
loITRDS.SetConnection("HTTP")
loITRDS.SetSystem("6230")
loITRDS.OWORKORDERS.CREATEFORCONTRACT("OC37348" , {01/01/2004} , "S", "1", "ITRDS JOB", "R")


Last Updated: 8/02/2005