An interesting problem was posed a while ago by a client who needed to migrate a significant amount of data from their custom-built promotional planning tool into the Siebel Trade Promotion Management system. Much validation and processing work was done by the web front-end on input, which meant that there was no way to transfer the data directly into the underlying database.

They had several hundred planned and running promotions which needed to be transferred into the new system and the input requirements for each promotion were substantial so this potentially represented many weeks of work – which had to be undertaken without interrupting current business.

The client had spent substantial sums of money customising the Siebel offering to their requirements, so there was no question of finding anything available off the shelf to do this. On discussion with the developers, it became clear that there was really no option but to enter the data field by field through the web front end. The question was, how to minimise both the time required and chance of human error through mis-typed inputs?

The result we came up with was to use the Windows clipboard to transfer the data item by item from the source system to the Siebel user interface. We developed a utility that essentially put the items of data required by Siebel on the clipboard one by one in the order expected by the front end. Each time an item was pasted, the system would pick up the keystroke and the next piece of data would automatically be placed on the clipboard. A little dashboard in the corner of the screen provided a constant flow of information such as what field was currently on the clipboard, which Siebel screen should be used and when to press the various buttons on the screen. This meant that a temp could essentially enter the data by a sequence of Ctrl-V and tab key strokes to paste the data and move to the next field, following the instructions on the dashboard when all the data for a screen had been copied.

Whilst no-one would pretend that this is an ideal approach to migrating data between two systems (!), under the circumstances it was far better than the alternative, which was to print out all the information and enter it laboriously by hand. The scope for user error and input time were both greatly reduced, and it meant that the whole task could be given to a workforce of temps with minimal training, rather than having to be done by people with full knowledge of both Siebel and the client’s business. The tool itself is flexible enough that it could potentially be reused under other circumstances. It is controlled by an Access database which both contains the data to be migrated (having been exported from the source system), and a set of tables controlling the order of input of records and fields, and the various other pieces of information such as which input screen each relates to.