Writing Communication Scripts

Although we have developed scripts for most major VAN's (e.g. Ordernet, IBM/Advantis, Geis, Harbinger) and for some of the auto makers (e.g. Ford, Chrysler, GM) you might be using another VAN who we do not currently support. We would be glad to develop the script for you or you may develop your own. Feel free to use ours along with these guidelines for creating scripts and templates.

Make sure that the appropriate file permissions are set on the communications script to use (i.e. the script must be executable) and that the communications script to use is on your operating system's search path.

If a VAN has a dedicated program to handle communications, see if that program can be used to handle the file transfer procedures to and from the VAN. Many VAN's offer dedicated communications programs at little or no cost.  If the file transfer program to use runs on another operating system (e.g., the MXP system is running under UNIX, and the VAN's transfer program runs under MS-DOS), the communications script can simply transfer the file to the other operating system, after which, the VAN's file transfer program will be used to perform the file transfer process.

Use the scripting language of the communications package you are using to create the script. Your communications script should support at a minimum, the XMODEM protocol. Other protocols, such as ZMODEM, Kermit, Bisync, and FTP should be supported either as internal or external protocols to your communications package, depending on the file transfer requirements of your trading partner or VAN.

If you are creating your own communications script, the script should do the following:

Automatically dial the trading partner's host computer or VAN.

Enter the appropriate user name and password, if applicable.

Check to see if an output file exists.

If the output file exists, then make sure that the output directory is not locked. This can be done by checking for a file called "lock" in the output directory for the file location being processed.

If the file exists, this means that the output directory is in use (i.e. someone is generating EDI data or acknowledgements), in which case, the output file should not be transferred. Otherwise, create a file called "lock" in the output directory used for the file location being processed. Doing this will ensure that the Generate EDI Data and Regenerate EDI Acknowledgements functions will not add lines to the output file while you are transferring it. As well, remember that on UNIX-based systems, file names are case-sensitive.

If the output file exists, and output directory is not in use, position yourself on the appropriate menu on the trading partner's host computer or VAN, or enter the appropriate command, and invoke the file transfer process to send a file. Transfer the file using the appropriate file transfer protocol.

When the output file is transferred, make a backup copy of the output file into the backup directory of the file location being processed. If  the scripting language you are using cannot handle this, then set the "Backup output files" option to "yes" for this file location, in which case, the system will back up the output file for you.

Unlock the output directory by removing the "lock" file from the output directory, so that new EDI data can be generated.

Check to see if there are any incoming transaction sets to be picked up by positioning yourself on the appropriate menu and/or executing the appropriate command.

If there are transaction sets to be picked up, position yourself on the appropriate menu on the trading partner's host computer or VAN, or enter the appropriate command, and invoke the file transfer process to receive a file. Transfer the file to a temporary file on your computer using the appropriate file transfer protocol. If you were not able to transfer the file successfully, you may want to have your script try again.

Log off of the trading partner's host computer or VAN.

If there were transaction sets to be picked up and they were  transferred successfully to your system, then do the following:

The communications script you created should be designed for UNATTENDED operation. In other words, the user should not be prompted for file names or other information. The EDI Data File Transfer function is NOT designed to handle INTERACTIVE communications scripts. Communications session information should either echoed to the screen or appended to log files.

Last updated October 20, 2006