FILE TRANSFER MODULE

Home Forums Knowledge Base Legacy Applications FILE TRANSFER MODULE

  • This topic has 0 replies, 1 voice, and was last updated 19 years ago by Rob.
Viewing 1 post (of 1 total)
  • Author
    Posts
  • #1645
    Rob
    Member

    FILE TRANSFER MODULE
    SXLMenu 1.16
    SXLHost 1.04

    Last edited: December 15, 2003 08:18 AM

    The scope of this document is to explain and present all facets of the file transfer module. The topics covered are:

      1. Note to Windows98 users
      2. INSTALLATION/System Requirements
      3. CONFIGURATION
      4. TROUBLE SHOOTING
      5. FILE PLACEMENT AND USE
      6. SXLMENU/Transfer.JOB REVISIONS
      7. SXLHOST REVISIONS
      8. Common SXL errors

    Note to Windows 98 users

    Co-Session decided discontinue development on the SXL scripting language a few years ago.  Touch Menus has continued to use the product to provide backward compatibility with existing Co-Session HOST installs.  We’ve had success using the product on both DOS and Windows 95 platforms.  Unfortunately, it was recently discovered that SXL’s driver (SDRIVER) is incompatible with Windows 98.  We are working to develop a 32-bit solution to file transfers.
    INSTALLATION/System Requirements

    The installation procedure requires action on two PCs. One PC is referred to as the “Store” PC and the other PC is referred to as the “Office” PC. The installation also requires the following software:

      1. Co-Session HOST (DOS version 6.x) OR Co-Session REMOTE (DOS version 7.x)
      2. Co-Session SXL (DOS version 6.x)
      3. Touch Menus SXLMENU
      4. Touch Menus SXLHOST

    Please note that the Co-Session products SXL and HOST are not included in the price of the File Transfer package.  They must be purchased separately

    “Store” PC installation steps:

      1. Install Co-Session HOST in a directory named HOST off the root directory on the same drive as the Touchnet Application directory.
          OR
          Install Co-Session REMOTE DOS product in a directory named INSYNCCSWDOS off the root directory on the same drive as the Touchnet Application directory.
      2. Configure Co-Session HOST/REMOTE with the proper modem/COM port settings.
      3. Install Touch Menus SXLHOST in the Co-Session directory. The files necessary for SXLHOST are:
            1. SXLHOST.EXE
            2. SXLHOST.RES
      4. Create two directories off the Touchnet Application directory. One called Send and one called Recv.
      5. Create a method of launching SXL. There are many options which are controlled by command line switches. There is only one required command line switch. Listed below are each of the switches and their explanation:
              * /APPDIR= – specifies the application directory name. This directory must be a child of the TouchNET directory.
              * /HOST – will make SXLHOST use Co-Session HOST version 6.xx. This switch is not necessary, as Co-Session v6.xx is the default.
              * /RMHOST – will make SXLHOST use Co-Session HOST version 7.xx.
              * /CALL – will make SXLHOST call the phone number defined in Co-Session’s HOST DEFAULT phone book entry. The default is to wait for a call.
              * /TIME= – format: HHMM or keyword NOW. Specifies the time to call if you wish to bypass the start up screen.
              * /? – will show help screen.

          Here are two examples of launching SXLHOST:
              * In Windows95 – create a shortcut with the following properties:

                PROPERTY TAB
                    o Cmd line: C:HOSTSXLHOST.EXE /APPDIR=BLWA0010 /CALL
                    o Working: C:HOST
                    o Close on exit – turned on.
                    o All other default setting will be OK.

                OR

                PROPERTY TAB
                    o Cmd line: C:INSYNCCSWDOSSXLHOST.EXE /RMHOST /APPDIR=BLWA0010 /TIME=NOW
                    o Working: C:INSYNCCSWDOS
                    o Close on exit – turned on.
                    o All other default setting will be OK.
              * In the CHOOSE menu – create a menu item with the following properties:
                    o Drive: C
                    o Directory: HOST
                    o Filename: SXLHOST
                    o Command Line: /APPDIR=BLWA0010 /CALL

                OR
                    o Drive: C
                    o Directory: INSYNCCSWDOS
                    o Filename: SXLHOST
                    o Command Line: /RMHOST /APPDIR=BLWA0010

          NOTE: the drive specified in the above examples may not be the drive where you installed SXL. Use the drive letter which corresponds to the correct location.

    “Office” PC installation steps:

      1. Install Co-Session SXL in a directory named SXL off the root directory on the same drive as the Touchnet Application directory.
      2. Install Touch Menus SXLMENU in the SXL directory.
      3. Create two subdirectories off SXL. One called Data and one called Reports.
      4. Create a file called Modem.CFG in the SXLData directory using DOS’s EDIT or a similar text editor. This file is used to contain the default modem/COM port settings to be used when performing Call ID database maintenance. This file will contain 4 lines as follows:
            1. Line #1 – modem number (a number corresponding to a modem found in SXL’s SCALLID program)
            2. Line #2 – port number (a number corresponding to the COM port being used)
            3. Line #3 – baud rate
            4. Line #4 – dial type (0 – tone, 1 – pulse)
            5. Example file indicating modem #44, using COM2, at 9600 baud, using tone dialing:
                44
                2
                9600
                0
            6. NOTE: You will have to run SCALLID from the SXL directory to see a list of available modems. You will have to count the modems listed to figure out the correct modem number to use.
      5. Create two directories off each Touchnet Application directory. One called Send and one called Recv.
      6. Create a method of launching SXL. Here are two examples:
              * In Windows95 – create a shortcut with the following properties:

                PROPERTY TAB
                    o Cmd line: C:SXLSXL.EXE -L2 TRANSFER.JOB
                    o Working: C:SXL
                    o Close on exit – turned on.
                    o All other default setting will be OK.
              * In the CHOOSE menu – create a menu item with the following properties:
                    o Drive: C
                    o Directory: SXL
                    o Filename: SXL
                    o Command Line: -L2 TRANSFER.JOB

          NOTE: the drive specified in the above examples may not be the drive where you installed SXL. Use the drive letter which corresponds to the correct location.

          NOTE: the -L2 command line option tells SXL to keep a complete log of the events, you must use -L2 or the job will not run

    Back to the Top
    CONFIGURATION

    The installation steps dealt with the two PC’s “Store” and “Office”. The configuration steps only deal with the “Office” PC as the “Store” PC requires no further setup.

    “Office” PC Configuration steps:

      1. Launch the SXL program using the method created in installation step #5. This should load SXL and launch the SXLMENU interface.
      2. Setup the Call ID database. This is a list of the stores you will be calling. You can Add, Modify or Delete entries from this database. You must define a Store ID for each Touchnet Application directory you will be doing file transfers for. Each entry consists of two fields:
            1. Call ID: This should correspond to an application directory name. It is not case sensitive.
            2. Phone Number: This should be the phone number for the Call ID. The field is a text field so that you can type in special characters like commas if you need to.
      3. Setup the Unattended Time. This is the time to wait for when using the Unattended All File Transfer function.
      4. Setup the File Criteria. NOTE: This criteria is global and not applied to one specific Touchnet Application.
      5. Setup the Reports Options Path. This module, like all others, respects the report options as defined in Touchnet/TouchPRO Manager programs. Since this module is not running from a Touchnet/TouchPRO application directory, you must tell it where to get it’s report options. Define the application directory only, it will know to look in the Data directory. e.g. TOUCHNETSAMPDATA

    Back to the Top
    TROUBLE SHOOTING

    To begin to understand how to trouble shoot this module you must first know the sequence of events and which piece of software is responsible for what tasks.

    SXLHOST (“Store” PC)

    The SXLHOST prepares files for transfer, launches HOST (to wait for a call), monitors the progress, unloads HOST when file transfer is complete and sets successfully transferred files as archived. Here are the steps taken to accomplish the above tasks:

      1. Load the Touchnet Application directory name from the command line.
      2. Check for the existence of the required subdirectories off the defined Touchnet Application directory name. These subdirectories are Send and Recv.
      3. Builds a batch file used to load HOST/RMHOST, launch itself and unload HOST/RMHOST.
      4. Asks for the time to initiate file transfers. This is the time when it will load HOST/RMHOST. While it is waiting for the time to initiate file transfers, it is possible to abort by pressing the ESC key. At this point no activity has taken place yet.
      5. When it is time to initiate file transfers , SXLHOST prepares the files for transfer to the “Office” PC. It does this by creating lists of un-archived files in the main subdirectories off the Touchnet Application directory. It makes one list file for each directory. These files are placed in the Send subdirectory and then SXLHOST waits for confirmation of connection/file transfer completion. The directories included in the file preparation and their corresponding list files are:
            1. Reports – Reports.FIL
            2. Data (excluding customer database files) – Data.FIL
            3. CashMgmt – Cash.FIL
            4. A_R – A_R.FIL
            5. Inv – Inv.FIL
            6. InvData – InvData.FIL
            7. InvRecipe – InvRecp.FIL
            8. Application – App.FIL
            9. Customer Database – Cus.FIL
            10. Bread – Bread.FIL
            11. BreadRecipe – BrdRecp.FIL
      6. When SXLHOST sees the file Connect.DAT, it deletes it and displays a connection message on the screen. At this point SXLHOST is waiting for the existence of Success.DAT file. While connected it is possible to abort the transfer by pressing ESC. This will break the connection and not set any file attributes, but it will leave the success files where they are if any have been received.
      7. When SXLHOST sees the file Success.DAT, it deletes it and starts reading the success files for the files to set as archived. The success files are named the same as the list files with the extension “.SCS” These files can be in the Send or the Recv subdirectories depending on the action taken on the individual directory.

    After setting all successfully transferred files as archived, SXLHOST ends, returning control to the batch file which unloads HOST and returns to the calling program.

    SXLMENU “Office” PC and Transfer.JOB

    The SXLMENU program maintains the Call ID database, prepares files for transferring, sets successfully transferred files as archived and works in conjunction with the SXL job (“Transfer.JOB”). This program is launched by the SXL job, not by itself.

    Lets start by explaining an SXL .JOB file. This file contains the source code for an SXL module. SXL is a communications program that has a limited scripting language built in. Transfer.JOB is the SXL module used for the File Transfer Module. This module controls what happens at the “Office” PC. The steps are listed below:

      1. Launch Transfer.JOB by running SXL -L2 Transfer.JOB as described in the installation steps.
      2. Transfer.JOB loads the SXL communications driver.
      3. Transfer.JOB executes the SXLMENU interface and waits for further instructions in the form of files written by SXLMENU. These files are CallID.DAT and IDStack.DAT.
          CallID.DAT is the file used to tell Transfer.JOB what store to call, it may contain one of the following values:
            1. ALL – call all stores in the Call ID database.
            2. UNATTENDED – wait for the specified call time and then call all stores in the Call ID database.
            3. A CALL ID – call the specified store. This value is used when you have selected the Call One Store in SXLMENU.
            4. EXIT – exit the .JOB and unload SXL communications driver.

                IDStack.DAT is the file used to tell Transfer.JOB what actions to take on the Call ID Database. These actions are ADD, CHANGE and DELETE. The file contains the exact order of actions performed on the Store ID database while in SXLMENU.
      4. SXLMENU unloads by either selecting one of the File Transfer functions or by selecting Exit. Upon unloading, if one of the File Transfer functions was selected, SXLMENU prepares the files for transfer. It does this by looking at the file criteria you have set up. This information is stored in Criteria.DAT.
          The file criteria has 3 values for each included directory – No Action, Send or Receive. The included directories are: Reports, Data (excluding the customer database files), CashMgmt, A_R, Inv, InvData, InvRecipe, Application, Customer Database files alone. Each directory can be Sent, Received or No Action Taken.
          To prepare files SXLMENU reads Criteria.DAT and if a directory is set to Send then SXLMENU creates files with the extension .FIL in the Send subdirectory of each Touch Net Application. These files are named corresponding to the specific directories. These files contain lists of the un-archived files found in the directories set to Send. Transfer.JOB reads these files to know what files to transfer.
          If a directory is set to Receive SXLMENU creates files with 0 bytes in the Recv subdirectory of each Touch Net Application with the extension .FIL. These files are also named corresponding to the specific directories. These files serve as flags for Transfer.JOB. If found it will download the corresponding file from the store (which will be a list of the un-archived files in a specific directory).
      5. Transfer.JOB looks for IDStack.DAT and if found executes any actions needed. Transfer.JOB then deletes this file.
      6. Transfer.JOB looks for CallID.DAT and if found either calls all stores, waits for the specified call time, calls one store or exits.
          Whether Transfer.JOB calls one store or many, the actions performed are the same.
          It first performs all upload functions, which is to send files from the “Office” PC to the “Store” PC. To accomplish this it looks in the current Touch Net Application subdirectory Send for the list files. If any are found, it starts reading them and transferring files. Each specific directory is handled by itself.
          For example, suppose Transfer.JOB finds the file Reports.FIL in the Touch Net Application Send subdirectory.
          #1 It will open this file and read the first entry.
          #2 It will verify that the file exists in the Reports subdirectory of the Touch Net Application and that it is not 0 bytes.
          #3 It will then copy that file from the “Office” PC to the “Store” PC (in the same directory)
          #4 It will verify that the file was transferred successfully. If so, it will add an entry to the success file named Reports.SCS in the same directory as the list file (Reports.FIL).
          #5 It will read the next entry and repeat steps 2 – 5 until the end of the file.
          #6 When the end of the file is reached the success file is copied to the “Store” PC to the Touch Net Application Recv subdirectory for use by SXLHOST to set the successfully transferred files as archived. The success file is also used on the “Office” PC by SXLMENU to accomplish the same.

          These are the steps used for any directory when uploading a file.

          Next all download functions are performed, which is to receive files from the “Store” PC to the “Office” PC. To accomplish this, it looks in the current Touch Net Application subdirectory Recv for the flag files. If one is found, it downloads the corresponding list file from the “Store” PC and begins the file transfer as described above, substituting Send for Recv.

    Back to the Top
    FILE PLACEMENT AND USE

    The file placement and use information is contained in a Micosoft® Publisher file. You can download this file and view or print it if you have Micosoft® Publisher. Click HERE to download.

    Back to the Top
    Common Errors

    Here are some of the most common SXL errors and possible solutions:
    Error: 1 CALL_ID parameter file update error
    EXPLAIN:
          Error occurred writing to the file SESSION.RMP which contains the phone book call ID entries.
    CAUSE: The file SESSION.RMP may not exist, cannot be created or cannot be appended to
    Error: 2 Specified CALL_ID not found in the directory file
    EXPLAIN: The phone book call ID or entry does not exist.
    CAUSE: A command specified a phone book entry that does not exist in the file SESSION.RMP.
    Error: 6 Currently no connection with remote computer
    EXPLAIN: Session/XL is currently disconnected.
    CAUSE: An attempt was made to execute a command that requires a connection.
    Error: 9 Already connected to a remote computer
    EXPLAIN: Session/XL is connected to another computer.
    CAUSE: An attempt was made to execute a CALL command when a connection already exists.
    Error: 10 Currently waiting login
    EXPLAIN: Session/XL is in the process of receiving a call.
    CAUSE: An attempt was made to execute a CALL or ANSWER when Session/XL is in the process of receiving an incoming call.
    Error: 12 Problem initializing the communication port
    EXPLAIN: Session/XL cannot setup the communication port.
    CAUSE: The COM port specified may not exist.
    Error: 13 Unsuccessful connection attempt to specified CALL_ID
    EXPLAIN: A CALL did not succeed.
    CAUSE: The line may be busy or there was no answer.
    Error: 21 Problem setting up modem to auto-answer
    EXPLAIN: An ANSWER command failed to set the modem to auto-answer.
    CAUSE: The wrong COM port, baud rate or modem type may be specified in the Call ID is being used. The modem may not be turned on.
    Error: 22 Specified CALL_ID already exist
    EXPLAIN and CAUSE: An attempt has been made to ADD a new Call ID to the phone book with a name that already exists.
    Error: 24 No connection with remote so no remote access
    EXPLAIN: An attempt has been made to access a file on a remote computer and no connection exists.
    CAUSE: A file command, like COPY, has tried to access a file on the remote computer and no connection exists.
    Error: 31 File copy error
    EXPLAIN: A file copy has failed.
    CAUSE: There is not enough disk space for the destination file; the line disconnected; too many errors occurred during the transfer.
    Error: 58 DRIVER not loaded
    EXPLAIN and CAUSE: An attempt was made to execute a command that requires SDRIVER to be loaded into memory. All of the file, communication and remote functions require SDRIVER to be loaded.
    Error: 65 Error loading DRIVER
    EXPLAIN: SDRIVER cannot be loaded into memory.
    CAUSE: Co/Session or SDRIVER is already loaded or there is not enough memory to load SDRIVER.
    SXLMENU/TRANSFER.JOB REVISIONS

    9/20/96 Version 1.00

      1. Initial Release

    9/25/95 Version 1.01

      1. Fixed bug related to loading Unattended Call Time. Had moved CallTime.DAT to Data directory in SXLMENU and not updated this JOB.
      2. Enhanced file error reporting to the Call Log.
      3. Fixed bug related to saving unattended call time. Was saving 8:10 am as 08:10 instead of _8:10 where _ is a leading space. This is the format required by the SXL JOB (Transfer.JOB) to compare the unattended time and the actual time.

    10/02/96 Version 1.02

      1. Changed handling of unattended call all stores. Used to update screen with time, but can not because of the size of the log file it creates. No longer show time passing on screen.
      2. Changed handling of checking for existence of Send and Recv application subdirectories. Used to check at load time, now will not allow creation of a store id unless the directories already exist.

    10/04/96 Version 1.03

      1. Fixed bug related to loading Modem defaults. Changed directory where it was stored earlier and did not update Transfer.JOB.
      2. Fixed bug related to saving store id phone numbers. Was allowing user to input 18 characters, but only saving 14.

    10/07/96 Version 1.04

      1. Fixed bug related to reading store names on unattended file transfer mode. Was closing the store name file early by using the wrong file handle to open it.

    11/12/96 Version 1.05

      1. Added Bread and BreadRecipe directory to file transfer capability. This was done to support Blimpie and other users of Bread Manager.
      2. Added ability to wait for calls.

    11/12/96 Version 1.06

      1. Fixed bug related to uploading Reports directory.
      2. Changed viewing call log to max 1000 lines from 500.

    11/20/96 Version 1.07

      1. Added ability to wait for calls to work with this new ability in SXLMENU.
      2.

          Fixed bug related to editing a store name. When you changed the name it would not update in SCALLID because I did not pass out the old name. This is addressed by not allowing editing of a name once it is created, you will still be able to edit the phone number however. To edit the name, you must delete the incorrect entry and re-enter the desired information.

    12/10/96 Version 1.08

      1. Fixed some minor bugs.

            * Was not updating call log with the line “Connected to xxxxxxx” on connect when performing an answer.
            * Was not updating call log with error message on all file errors. Greatly enhanced instances of checking.

    02/03/97 Version 1.10

      1. Fixed a bug related to calling all stores in “Unattended” mode.
      2. Added more error checking.
      3. Added explanation of common SXL errors in on-line help.

    02/12/97 Version 1.11

      1. Added HASP copy protection to SXLMENU. (Program #18)

    06/06/97 Version 1.12

      1. Fixed a bug in Transfer.JOB that would cause the file transfer sequence to abort prematurely when a connection error was detected.This error would only show itself when a connection error was detected and there were still stores to call or answer.

    09/16/97 Version 1.13

      1. Fixed a bug that would not save the current call log into the historical call log journal until another file transfer transaction took place (either answer or call).  Now will save at appropriate times.
      2. Fixed a bug that would show both transfer modes on even though they weren’t.

    10/06/97 Version 1.14

      1. Fixed a bug caused by #1 above. When launched SXLMENU would generate an error #53.

    02/26/98 Version 1.15

      1. Fixed a bug in error handling logic.
      2. Re-wrote call/answer code, more efficient and stable!
      3. Y2K compliant.

    02/19/99 Version 1.16 rw

      1. Changed Transfer job file to erase file handles when files were closed. This corrected a problem where the wrong file would get closed, generating a Bad File Handle error. When this occurred while transferring data from the first store on a list of stores, SXLMenu would not poll the remaining stores.

    Back to the Top
    SXLHOST REVISIONS

    11/20/96 Version 1.01

      1.

          Added Bread and BreadRecipe directories to file transfer capability.
      2.

          Added command line switch capability to specify version of HOST.

              Switches:
              /HOST for CoSession HOST v6.0
              /RMHOST for CoSession REMOTE v7.0 (DOS product only!)

              The switch is NOT necessary, if not specified this product will
              attempt to use CoSession HOST v6.0.

      3.

          Added command line switch capability to call instead of wait for call.

              /CALL – will call using the default modem/com port/phone settings.

      4.

          Added command line switch to define application directory instead of having to create the AppDir.DAT file.

              /APPDIR= to specify the Touch Menus application directory.
              e.g. -> /APPDIR=blwa0010

      5.

          Added command line switch to specify the time for bypassing startup screen.

              /TIME=hhmm (military time)
              OR
              /TIME=NOW

    12/10/96 Version 1.02

      1.

          Added 2 second delay on killing Success.DAT received from office side. Was getting error 57 because still locked by SHARE.
      2.

          Changed when SXLHOST prepared the files for transfer. Used to do this upon executing the HOST batch file. Now does this before.

    06/10/97 Version 1.03

      1.

          Fixed bug that would cause an error 9 when preparing files to transfer. Bumped maximum number of files allowed in a directory to 1500 from 730.

    07/24/97 Version 1.04

      1.

          Fixed bug related to calling. Would incorrectly read command line for application directory.
      2.

          Added ability to support the Co-Session command line “-o2048” which means “keep timer alive”. The purpose for this command line switch is to eliminate disconnects due to line noise.

    Back to the Top

Viewing 1 post (of 1 total)
  • You must be logged in to reply to this topic.