Skip to content

ProfitSystem Will Not Start Help

ProfitSystem© is a operates on a large database comprised of many data tables.

Typical problems fall into two broad categories,

1) In peer to peer networks ProfitSystem issue is usually network related, i.e. network share is lost, a workstation losses it network mapping, bad network transmissions or ProfitSystem data folder is not read/write

2) Hard Drive begins to fail with bad read/writes, i.e. the drive does not stop working 100%, but gradually stops working and in doing so corrupts ProfitSystem data.

3) License file failed error ##. This ProfitSystem start-up message indicates that the ProfitSystem ProfitSystem.LIC file needs to be replaced. Retrieve this file from a backup copy and place into the ProfitSystem data folder. The computer may have to be reauthorized when the License File is replaced.

ProfitSystem© will stop functioning properly when it cannot access a table or data within a table becomes corrupt.

Any data corruption must be eliminated before ProfitSystem© can resume. BBL has created tools contained within the DATA MANAGER program utility to help correct data issues. The data must be restored from a backup when these tools fail to correct the data problem. (please backup EVERY day!!)

The ProfitSystem data manager is built within the ProfitSystem software. To access the Data Manager menu start ProfitSystem with the DM switch, i.e. TW.EXE DM. The Data Manager shortcut may be found in Windows at Start-> Program Files-> The Profit System-> Data Manager. See the TPSWINS.INI topic for more information.

This document discusses the data correction tools & how to use them.

Try these steps when ProfitSystem© is not running as it should:

  1. Reboot the server.
    Turn the server back on first, and wait for it to finish starting up. Try to run ProfitSystem® on your server only. If it works, then the problem is with your network. Consult with your network or computer technician.

  2. Peer to Peer LAN (skip this step for Terminal Server/Citrix environments)
    If ProfitSystem® works on your server, try this when you have a Peer to Peer LAN Turn on each computer in turn, and try to get into ProfitSystem®. If only certain computers can get into ProfitSystem®, then the problem is with your network. Consult with your network technician.

  3. ProfitSystem® will NOT run on your server
    a. Backup/Copy ProfitSystem© data to a safe location on your computer or to new blank backup media. This is done so that if these correction procedures make the problem worse you can still get back to where you were when you started. b. Go to your server and click Start->Programs->BBL Systems->Data Manager (or to manually start it bu using the ProfitSystem DM paramter, i.e. TW DM. This will start ProfitSystem© in Data Manager mode & present a menu of functions.

Using Data Manager

Data repair steps via Data Manager (DM)

Make sure all users are out of ProfitSystem©. Perform each step in order. If an error of Duplicate Record or Corruption in ticket file is being received, perform step D first.
Once a step is completed exit the DM and test ProfitSystem. Upon a successful ProfitSystem test, you are done and do not need to perform any more steps.

  1. DM - Repair Headers
  2. DM - Update Data
  3. An error of Duplicate Record or Corruption in ticket file, use FixTick.exe repair utility (an external program) described in # 5
  4. DM - REPAIR

Using the REPAIR program

When you run DM Repair program it will: 1. Ask for the location of the data files. 2. Make a backup of the data files into a zip file named using the current date. 3. Create a temporary directory called TEMPDATA, and make an empty set of data files. 4. Create a “def” files for each ProfitSystem data files. These are used by the Recover program we licensed and use to check data files. 5. For each file in ProfitSystem it will a) Check each file using the recover program. It will automatically fix any problems it can. b) Scan the table for records with non-character data. If it finds any it will just delete them. c) If it did find bad data and deleted records, it will also pack the table. 6. Once it’s checked all the tables it will delete all the CDX files, then rebuild them all.

There is a checkbox for “Use advanced mode” If checked, Repair will allow you to select which table(s) to process. If you don’t select any, or click Cancel it will process all the tables.

Restore from a backup

The preceding steps failed to get the ProfitSystem functioning, the last choice is to restore the data from your last backup. The information entered into the system after the last backup is LOST. It is very important to backup your ProfitSystem data folder at least once a day.

Ticket table repair via FIXTICK utility program

Utilize FIXTICK.EXE/FIXTICK9.EXE. when issues are occurring specifically with the Sales Ticket/Receipt file. ProfitSystem© will run, but operations involving tickets do not work or causes the system to crash typically it is a DUPLICATE record error.

The FIXTICK.EXE tool is semi automatic & will require some user intervention. When a duplicate record or corrupted record is found the program will stop and highlight the duplicate/corrupt record of data. Simply mark it for deletion by clicking the leftmost column (the delete flag column) which will mark the cell black.

The FixTick program may be downloaded from BBL’s website: (bblsystems.com>Downloads>Support Software Tools) or found in \program files (x86)\profitsystem\ folder.

Once FIXTICK completes, test the ticket file by opening tickets ro trying to create a Quick Sale. When ProfitSystem© works properly, you are done Exit the FIXTICK & test. If test fails RESTORE FROM BACKUP.

Using the FIXTICK program

Run FixTick.exe

  1. When you run fixtick it will ask for the location of the data files.
  2. It will then make a backup to a temporary directory, named using the current date and time.
  3. It will then validate the database, which may delete the indexes on the tickitem file. This is ok.
  4. It will then scan tickitem for non-alphanumeric records (corrupted records) and also duplicate records where the ticket and line number are the same for two records.
  5. If it finds any, it will display a browse window on the screen and take you to the first bad record.
  6. Manually correct the current record if possible, if not delete the record, by ticking the little box to the left of the row. If ROW is a duplicate of another ROW, i.e. SAME customer id, ticket, and ticket line item, just delete the duplicates, leaving one un-deleted.
  7. Press ctrl-page down to go the next bad record, ctrl-page up to go to the previous.
  8. Once all the records have been fixed press ctrl-W to exit.
  9. You can run it again to see if it finds any more problems.
  10. Finally perform an Update data structures from the Data Manager to rebuild the tickitem index.

If you still get errors after performing these steps you will have to restore from your most recent backup. You may want to contact a computer consultant for help if you are not comfortable restoring from your backup.

Technical Notes

  1. Database and tables Extensions of files used by ProfitSystem©:
  2. DBF – Data table
  3. CDX – Index file. They can be regenerated in ProfitSystem under Housekeeping–>System Maintenance–>Table Maintenance, or in Data Manager under Reindex Tables.
  4. FPT – Memo file, contains free format text fields.
  5. LIC – license file
  6. TW.DCT, TW.DBT, TW.DCX – Collectively are the Database Container. Holds the meta–data about all the tables and indexes (field types/length, key values)
  7. Data tables, indexes, memo files, and database container files all live in same directory. ProfitSystem© can be configured to look for its data in any directory, as long as all the files are together in that directory.

  8. Folders created by installation See Installing ProfitSystem topic for detailed information.

  9. Data Manager Most maintenance is performed via the Data Manager utility. The data manager is started via Start->Programs->BBL Systems->Data Manager, or by running \PROGRAM FILES (x86)\ProfitSystem\TW.EXE DM

Each Data Manager functions will prompt for the location of the data files to operate on.

ProfitSystem itself contains a complete data dictionary built into the TW.EXE program file. At startup ProfitSystem performs a quick check to make sure the data files in the data directory match it’s internal data dictionary. If they do not the user is asked if they should be updated. ProfitSystem© will not start if the user chooses not to update when asked.

Reindexing tables is usually performed on a regular basis as preventative maintenance. Tables can be individually reindexed. Under terminal server reindexing is performed weekly. All users need to be out of ProfitSystem for Reindexing.

Reindexing is performed via ProfitSystem under Housekeeping–>System Maintenance–>Table Maintenance, or in Data Manager under Reindex Tables.

During reindexing a Pack option can be selected. When records are deleted in ProfitSystem the space is marked as deleted in the table but the record data is retained. Packing actually removes deleted records from the table. Packing is only performed as-needed, for performance reasons (during an end-of-year process, for example)

The other Data Manager options are documented below. Each one will prompt for the location of the data files to operate on: * Integrity Check – Scans tables and corrects various logical inconsistencies. Does not need to be run on a regular basis. This process is automatically run as part of an Update Data process. * Backup Data – Creates a ZIP compatible backup file of the data tables. The DBF, CDX, FPT, database container, license, and contents of the USER folder are backed up. * Force Exit from ProfitSystem – Sends a shut down message to each copy of WinTPS running from the data directory selected. Only copies of WinTPS currently at the main switchboard will shut down. * Is Anyone is ProfitSystem? – Displays a message indicating if the data files are in use. * Update Data – Compares the structures of the tables and indexes in the data directory and makes sure that they match the internal data dictionary. Tables and indexes that do not match are updated. ProfitSystem checks its structures automatically at startup so this does not normally need to be run directly. However, if data corruption is suspected this can be run to insure that the data structures are correct. * Repair Headers – Re-generates the header on a data table. This would only be used if ProfitSystem is reporting a “Not a table” error. This is option will have no negative effect on a good table. * Create Blank Data – Simply creates a blank set of data files in the specified directory. * Data Utilities – A set of special-purpose utilities were created for very specific circumstances. There are only three that are generally used.

* Reset Security – Resets the security groups and settings back to their default values.
* Reset Actions – Insures that ProfitSystem is using the latest list of security actions.  Only used if you are receiving a message “No entry in transfer table for ‘XYZ’”  This will cause no problems if run when it is not needed.
* Reset Query Data Dictionary – Insures that ProfitSystem is using the latest query data dictionary.  Used if new data table fields appear to be missing from the built-in Query maker. This will cause no problems if run when it is not needed.
* Fix Corrupted Data – Obsolete.  This is now superseded by the standalone Repair program.
  1. Basic table relationships Every customer is represented by a record in the CUSTOMER table (with a unique customer ID), and every event (wedding, prom, etc.) is represented by an EVENT record.

If the customer is a member of an event (bride, bridesmaid, etc.) the CUSTOMER record is linked to the EVENT record via the EVCUSLNK table. The EVCUSLNK will have a record with the customer ID and event ID. A customer can belong to any number of events.

Tickets are broken into two tables TICKMAST and TICKITEM. The TICKMAST contains the ticket header, unique ticket ID and contains a customer ID and event ID field (among others) and TICKITEM contains the individual line items (sales, payments, etc.). TICKITEM is linked to TICKMAST via the ticket ID. Each TICKITEM record further has a sequenced line number (001, 002, etc.) that is unique to the ticket. Each TICKITEM record is unique based on the ticket number and line number.

If an item is sold and the status is special order, a record is created in POITEM with a unique item number. This item number is written back to TICKITEM as well. At this point, the POITEM record is an “un-issued PO item”

When a purchase order is issued, a POMAST record is created with a PO number. This PO number is written to each POITEM record that is a line item on the PO.

When a special order is received, a PICKINV record is created. PICKINV is the Pickup Inventory. The item number is copied from the POITEM table which links back to the TICKITEM record.

If an item is sold into Layaway, a PICKINV record is created as well.