About Pro Schedule
CyberMatrix Pro Schedule is copyright (C) 2000-2006, by CyberMatrix Corporation, Inc. All rights reserved.
Anything not explicitly allowed below is prohibited.
Please note that Pro Schedule is not free software. You may freely evaluate the trial version for the period of 30 days. After that period, the program must be purchased from CyberMatrix or completely removed from your network and all your computers.
This software is provided "as is". In no event shall CyberMatrix be liable for any consequential, special, incidental or indirect damages of any kind arising out of the delivery, performance or use of this software. This software has been written with great care but CyberMatrix does not warrant that the software is entirely error free.
You may not attempt to reverse compile, modify, translate or disassemble the software in whole or in part.
You may freely distribute the trial version of Pro Schedule, provided that all the files are included and are unmodified and that no files have been added to the package. Please distribute it by copying the original distribution file. You may not ask any money for the distribution.
If you want to put this application on a CD-ROM or other software compilation, please contact CyberMatrix before doing so. This is to ensure that old or incomplete files are not included in the compilation.
Contents
The Pro Schedule Administrator is for configuring the many options of the Pro Schedule program.
Installing Pro Schedule
Configuring Pro Schedule
Security Overview
Adding Users and Changing Passwords
Color Coding Appointments
Pro Schedule Data
Preventing Database Corruption
Modifying Reports and Building your own
Command line parameters
Frequently Asked Questions
Differences between the local, client/server and web versions
Multi-Language Support
Cyber.hlpLicense Information
Purchase Information
Cyber.hlpFeedback and Technical Support
For up to date information on Pro Schedule visit the CyberMatrix web site at:
http://www.cybermatrix.com
© 1998-2006 CyberMatrix Corporation, Inc. All rights reserved.
Installing Pro Schedule
Installing Pro Schedule Standard
Installing Pro Schedule Client/Server
Installing Pro Schedule Enterprise
Installing Pro Schedule Web
Installing Pro Schedule Standard
There are three ways Pro Schedule Standard can be installed:
On a single user's machine.
On a shared network location where the program and data is accessed by all users.
On every user's machine with only the data stored on the network.
Note: if installing this software for use by multiple people, all people must have read/write access to the Data folder on the shared drive.
Installing Pro Schedule on a single user's machine
Use the setup program to make the initial install on a local drive for a single-user. When prompted for an installation type choose the first option, Standard. The data will be stored in the user Application Data\CyberMatrix\ProSchedule folder. E.g. C:\Documents and Settings\Administrator\Application Data\CyberMatrix\ProSchedule . If you want to use a data folder in another location, you should choose the Client Only option when at the installation type selection screen. Otherwise, you will have to change the Data Path setting in the configuration screen.
Installing Pro Schedule on one or more machines with network-shared data
There are two ways Pro Schedule can be installed in order to share data with multiple people: fully-shared and shared-data-only. In a fully-shared setup the program and all data are installed on a shared network location. Users will use icons to access the software. To tell the program where the shared data is located, you will need to either:
1) Enter the data path when you see the file missing message after trying to run the software on each client or
2) Copy over a ProS.ini file containing the DataPath setting to each client's C:\Documents and Settings\[UserName]\Application Data\CyberMatrix\ folder.
3) Install the shared data folder in a folder called "Data" off the shared program folder. That is, if you installed Pro Schedule into a folder called I:\Shared\ProSched, just install the data to I:\Shared\ProSched\Data.
In a shared-data-only setup, just the data resides on a shared network location. The software and other support files reside on the user's own computer. Installing Pro Schedule in this way will generally be faster since the program executable will not always be pulled down through the network. However, installation and applying updates will involve significantly more work.
To install only the data on the network and install Pro Schedule on one or machines with network-shared data do the following:
Run the setup program on a single machine.
Choose the Data Only option when at the installation type selection screen.
Install Pro Schedule on all the machines that need to use the software. If you are sharing the entire application on the network just install to this machine.
Choose the Client Only option when at the installation type selection screen.
At the Enter Network Data Location prompt screen, enter the network data folder where you installed the data previously.
Installing Pro Schedule in this way will generally be faster since the program executable will not always be pulled down through the network. However, installation and applying updates will involve significantly more work.
Setting up the User's Workstations
In a fully shared multi-user setup, the Pro Schedule program files and data will reside in a common directory on the network. You will need to manually setup icons for your users.
Installing Pro Schedule Client/Server
There are two steps involved in installing Pro Schedule Server: Installing the server
and installing the client
Installing the server
Run the setup program from your distribution. The distribution will either be a Pro Schedule CD that has been sent to you or a folder you created yourself after downloading and running the Pro Schedule download. On the second screen of the setup choose the Server and Data option and press the Next button. At the Enter Network Data Location prompt screen, enter the IP address of the machine that will host the shared data and server and continue with the rest of the setup.
The client gets the IP Address from the ProS.Ini file. If the client can't read a valid IP Address, it will not run. The ProsServer.exe server application must be running at all times. If this application is not running, the client applications will not work.
If you are using a router, you may need to know the Port number this software uses. The Port number is 9000.
Installing the client
Run the setup program from your distribution. On the second screen of the setup choose the Client Only option and press the Next button. At the Enter Network Data Location prompt screen, enter the IP address of the machine that is hosting the shared data and server and continue with the rest of the setup. If you are installing from a CD, you will need to manually copy over the ProS.Ini file (containing the server's e-mail address) over to each client install.
Installing Pro Schedule Enterprise
There are two steps involved in installing Pro Schedule Enterprise: Setting up the database server and installing the client.
Setting up the database server
The first step in setting up your back end database server is to decide which server you should use. Pro Schedule Enterprise should work with the following database servers: MySQL, Microsoft SQL Server, PostgresQL, Sybase, DB2, Oracle, Interbase and Firebird. We recommend MySQL or Microsoft SQL Server because they are both very easy to work with. When you have your database server running you will need to create the tables used in Pro Schedule Enterprise. The easiest way to do this is by running a single script. Pro Schedule Enterprise comes with database setup scripts for MySQL, Microsoft SQL Server and PostgresQL. All the script files have the .SQL extension and can be found in the Pro Schedule Program Files Folder. Eg. C:\Program Files\CyberMatrix Pro Schedule\. If you create a script for another database and have trouble getting Pro Schedule to work with it please send it to us.
Installing the client
Run the setup program from your distribution. The distribution will either be a Pro Schedule CD that has been sent to you or a folder you created yourself, after downloading and running the Pro Schedule download. At the Database Settings prompt screen, enter the database connection settings. These settings include the IP address of the machine that is hosting the database server, the type of database server you will use, the database name (usually cmps) and the database user name and password. Then continue with the rest of the setup. If you are planning to install from a CD we recommend you instead copy the installation files to a shared network folder so the above database setting do not have to be re-entered each time.
The client gets the database connection settings from the ProS.ini file. If the client can't read these settings, it will not run properly. The ProS.ini file can be found in the user Application Data\CyberMatrix folder. E.g. C:\Documents and Settings\Administrator\Application Data\CyberMatrix\ProS.Ini.
In addition, each client needs special connectivity libraries installed. If these libraries are not installed the clients will not be able to connect to the database server. These libraries are available from the vendor of the database server you are planning to use. An easy way to get these libraries is to install the database client software. This client software should be available on their install CDs or can be downloaded from the vendor's web site. For Microsoft SQL Server you can just copy the Ntwdblib.dll file to the Windows System folder (\winnt\system32 on XP). Libraries for MySQL and PostgreSQL are available on our web site at:
http://www.cybermatrix.com/psdownloads.html
Installing Pro Schedule Web
System Requirements
To run Pro Schedule Web you will need a functioning Windows-based web server that can run Windows CGI executables. A common web server is Apache or Microsoft's IIS. Pro Schedule Web should run on any Windows compatible web server. If it doesn't work with yours, let us know.
Installing Pro Schedule Web
When you have a functioning web server, you will then install the software into your web server's script folder. For example, when using IIS your scripts folder might be C:\Inetpub\Scripts. For Apache, your scripts folder will be the cgi-bin folder. Run the Setup.exe program and choose this scripts folder as the destination folder.
Running Pro Schedule Web on your clients
To launch Pro Schedule from a client browser simply enter its URL. For example, "http://127.0.0.1/scripts/ProSchedWeb.exe" or "http://localhost/scripts/ProSchedWeb.exe". Replace the "127.0.0.1/scripts" or "localhost/scripts" part with whatever your tcp-ip address, logical script library is.
Security
The default password for the Administrator login is "magic". To maintain a secure system you should change this immediately. Write down the passwords and store in a safe location.
Using Data From a Previous Version
If you have been using Pro Schedule Standard or Pro Schedule Client-Server, you may wish to use this data with Pro ScheduleWeb. To use the old data perform these steps:
1. Make a backup of your existing old data
2. Delete the Security.Dat and Security.idx files from your old data folder
3. Copy the remaining tables over to the new data folder on your server
Troubleshooting
If you are having problems running the software try entering this URL in your browser:
http://127.0.0.1
If you have an index.html or default.html file in your web server's root folder you should see it now. If not, your web server is not running.
If you see your default web page but still cannot run our software try downloading this file:
http://www.cyber-matrix.com/download/consolecgi.zip
Unzip this file into your scripts folder and run it by entering this URL in your browser:
http://www.cybermatrix.com/download/consolecgi.zip
If successful, you should see a page of system information. If not your server is not setup to run CGI executables.
If the ConsoleCGI test worked but you cannot run our software this means the Data folder containing the database tables does not have the appropriate permissions set. The most common reason is that the Internet Guest account (IUSR_machinename), which is by default part of the "Everyone" group, does not have Write permissions on the database files. To fix this problem, use the Security tab in Explorer to adjust the properties for the Data folder so that the Internet Guest account has the correct permissions.
Setting Permissions in IIS
You must give execute permissions to the CGI web folder (for IIS this is the scripts folder), this is the folder where our program executable is located. In the IIS console's "Directory Security" tab, "Execute Permissions" should be set to "Scripts and Executables" and "Read" should be set to "yes" for the Scripts folder. No IIS permissions need to be set at all for the SCRIPTS\DATA folder.
Select "Integrated Windows Authentication".
Don't set "Web Sharing", only NT Directory Permissions. For the anonymous Internet user (i.e. IUSR_xxx) account, set as following:
SCRIPTS ("All" - since anonymous cannot do anything bad via web anyway)
SCRIPTS\PSDATA ("All" - since anonymous cannot do anything bad...)
SCRIPTS\TEMP ("All" - since anonymous cannot do anything bad...)
For the Temp folder, you should make sure the Allow inheritable permissions from parent to propagate to this object is set. This is because subfolders are created when reports are run.
In the scripts folder you'll see a folder called PSFiles. This folder contains the images used in the application. You must set read access security for the Internet Guest account (IUSR_machinename) on this folder or these images will not show up in the web application. Similarly, the PSReports folder must also have read access in order to view reports.
IIS 6 Notes
The ProSchedWeb.exe file must be specifically given permission to run in IIS 6. Enabling executables in the web properties for the site is NOT enough. You have to add ProSchedWeb.exe to the Web Applications section.
Apache Server Installation
Install the CyberMatrix Pro Schedule Web software by running the pswsetup.exe program. When prompted for a folder to install the application to, choose a new directory outside of the Apache document tree. For example, use C:\CyberMatrix.
Note: You should not install the application to the Apache cgi-bin directory! It will not operate correctly if installed to this location.
Configure Apache
Open the Apache httpd.conf file in Notepad or other text editor. You can open it with Start -> All Programs -> Apache HTTP Server -> Configure Apache Server -> Edit the Apache httpd.conf Configuration File, or the default location of this file is C:\Program Files\Apache Group\Apache2\conf\httpd.conf.
Add the following section to the httpd.conf file. If you are not using a virtual hosting configuration, add these lines to the bottom of the file. Otherwise, add them to the appropriate VirtualHost section.
Alias /CyberMatrix C:/CyberMatrix
<Directory "C:/CyberMatrix">
Options +ExecCGI
AddHandler cgi-script .exe
</Directory>
<Directory "C:/CyberMatrix/ProSData">
Order Deny,Allow
Deny from all
</Directory>
The Alias line tells Apache to map all URLs that start with /CyberMatrix to the C:/CyberMatrix directory (i.e. the directory you installed the application to above. If you used a different directory, then use that directory instead of C:/CyberMatrix throughout these configuration lines.)
The next section tells Apache that files that end with .exe are to be executed as CGI applications. All other files (images, etc.) are handled using the default static content handler.
The last section protects files in the ProSData directory from being downloaded directly through client browsers.
Save your changes to the httpd.conf file.
Test Configuration
Restart the Apache Server so it will re-read the configuration file. Use the Apache Services Monitor icon on the taskbar or restart the server with Start -> All Programs -> Apache HTTP Server -> Control Apache Server -> Restart.
If the server fails to restart, you may have made an error in the configuration settings. Review the Error Log to see what the problem is and double-check the configuration file.
When the server has restarted, execute the Pro Schedule Web application by navigating to http://localhost/CyberMatrix/ProSchedWeb.exe. This URL is formed by combining the server name, the value used in the Alias directive above, and the application file name.
Configuring Pro Schedule
The Pro Schedule configuration screen consists of 11 sections: the General tab, the Schedule tab, the Date/Time tab, the Scripts tab, the Groups tab, the Data tab, the E-Mail tab, the E-mail scripts tab, the Terms tab and the Reports tab. Choose either section by clicking on the labeled tab corresponding to that section.
In the Client/Server and Enterprise editions of Pro Schedule there is an additional tab, the Network tab.
[Note that the Data tab does not show up in either the Client/Server or Enterprise editions of Pro Schedule.]
Click on the OK button to save any configuration changes and close the Configuration screen. Press the Cancel button to exit the Configuration screen without saving the changed configuration.
General options
This is what the General screen looks like.

Program options
Show client name not ID
Check this box if you want to see the client name on the client pull down lists and schedule items instead of the Client ID.
Reverse client name
Check this box if you want to see the client name on the client pull down lists and schedule items reversed.
Show splash screen
If this option is checked, the starting splash screen will be shown.
Limit to assigned clients
If checked only clients that have been assigned to a person can be selected on adding appointments.
Prompt to add new clients
If checked, a prompt is shown when adding new clients in the Add Appointment screen.
Topic pull-down
If checked the Topic field in the Add/View appointment page will use a pull-down list instead of a text field. This option is only seen on the Web version of Pro Schedule.
Show Tips on Start Up
If this option is checked helpful tips will be seen when the software first runs.
Payment features
Indicates whether you will use the advanced of simple payment features. With the simple payment features option, all you need to do is enter the cost for the appointment and check the Paid box in the Edit Appointment Screen when your customer has paid. With the advanced payment features, you are able to print invoices and set the payment date from the Edit Appointment screen.
Secondary Help File options
The secondary help file option allows Pro Schedule to use an additional help file. This file could be in Windows help format or anything else. The custom help file will show up as another option in the Pro Schedule main help menu.
Although this option was specifically designed for help files, any other kind of file could be used including HTML files. For this feature to work properly the file extension type must be associated or registered with an appropriate application on each user's machine.
Secondary Help Filename
Enter a filename in this box or click the browse button to bring up a selection dialog.
Secondary Help File Description
Enter a description of what the secondary help file is. This description will show up as another option in the Pro Schedule main help menu.
Security Options
Enable Security
If this option is checked the security system is enabled for the application. Note that when security is enabled for the first time the Administrator uses the default password of "magic". You should change this password immediately after enabling security to ensure a secure system. Write down your new password and store it in a secure location such as a safe.
When security is enabled a login dialog will popup on program start. The Administrator can login as well as any users who have been setup in the Security table. To setup the users in the Security table and to change the current passwords use the Detail tab of the Data Manager. See also: Security overview
Login to book
If checked the user must login as Administrator or as Superuser before booking appointments. This is a way to prevent ordinary users from adding appointments.
Force Login
If checked the user must login before accessing the program.
Require appointment approval
If checked, appointments made by ordinary users must be approved by an administrator or superuser before they go live.
Case insensitive login IDs
If this option is checked, the case used for loginID and password entry is ignored. That is, "administrator" is seen as identical to "Administrator".
Users see appointment details
If this option is checked, ordinary users can see appointment details on the schedule. Otherwise they only see the time that has been booked out.
Allow others viewing
If checked users are allowed to view the details of appointments others have made.
Allow superuser edits
If checked superusers are able to edit the appointments of others.
Allow user edits
If checked users are able to edit their appointments or ToDo items.
Allow user date change
If checked users can change the schedule date.
Limit bookings to self
If checked users can only add/edit appointments and ToDo items for themselves.
Schedule options
This is what the Schedule tab looks like.

Scheduler options
Make user options
If checked the schedule options will be stored on the user's machine instead of on the network. This means each user can set their own schedule settings.
Allow double booking
If checked there will no longer be conflict checking when adding appointments.
Allow double booking on holidays
If checked there will no longer be conflict checking when adding appointments on holidays.
Show topic highlight
If checked the appointment topic will appear highlighted for all appointments in the scheduler grid.
Limit people at a glance
If this option is checked the People-At-A-Glance view will only show those resources listed in the PAAG.Dat table.
Minimum column width
This specifies the minimum column width to use in the Week-At-A-Glance and People-At-A-Glance views. When there are a large number of people, this setting enables the appointment grid to scroll instead of compacting the columns.
Minimum row height
This specifies the minimum height of the grid line rows in the scheduler grid. Use a higher number to get larger rows.
Sidebar position
Indicates where on the schedule grid the time sidebar will be shown: on the left, right or both.
Booking shape
Indicates the shape of the appointment boxes as seen on the scheduler grid.
Schedule Font
The font used in the scheduler grid. Here you can change the font style color and size.
Date/Time options
This is what the DateTime tab looks like.

Time options
Show current time
If checked a colored bar will be shown across the schedule grid indicating the current time.
Show current items
If checked appointments taking place right now will be colored green.
Move to current time
If checked, the schedule will automatically scroll down to the current time.
Use Date Calendar
If this option is checked, a large calendar control will be seen on the left side of the main screen instead of a date pull-down picker.
Hint duration
The time in milliseconds that an appointment hint will stay visible. The default is 2500 milliseconds (2.5 seconds).
Auto refresh
If the Auto refresh box is checked the schedule window will automatically refresh in the time interval specified to the right.
Available Time Period options
Span to next day
Check this option if you require appointment to bleed over to the next day. I.e. if you need to book a resource from 11:00 PM to 01:00 AM the next day for example.
Appointment Start and End Times
The Start time specifies the earliest time an appointment may be booked on any given day.
The End time specifies the latest time an appointment may be booked on any given day.
Appointment Interval
This number indicates the number of appointment intervals in an hour. For example:
30 - split the hour into two intervals i.e. 8:00 - 8:30
15 - split the hour into four intervals i.e. 8:00 - 8:15
10 - split the hour into six intervals i.e. 8:00 - 8:10
Days in Week At A Glance
Indicates the days to show in the Week At A Glance view. Highlight the days you want shown using the mouse and the Ctrl and Shift keys.
Default end date
If this box is checked, the appointment end date will be the default date of 2010/01/01.
Appointment end date
This is the date that recurring events will stop. To use the default end date of 2010/01/01 make sure the Default End Date option is checked. To use a closer end date, uncheck the Default End Date option and enter a different Booking End Date. Note that after changing the Booking End Date setting, all old recurring events using the previous Booking End Date will have their end date extended to the new end date. So if you don't want these events extended you should archive the old appointments first. See also: Archiving Inactive Appointments
Script options
Schedule scripts allow you to configure what is seen for each appointment displayed in the schedule grid.

Schedule item script
This script is used for all non-monthly schedule views.
Monthly schedule item script
This script is used only for all monthly schedule views.
Scripts consist of text and special macros. The macros are enclosed in percent marks and represent special fields in the database. For example, the %Topic% macro represents the appointment topic. When text and a macro is enclosed within squiggly brackets, the text will not be shown if that macro value is blank. For example, if we wanted to show the client field with a descriptor in front of it we could place {Client: %Client%} in the script. If the client field is empty for any appointment, the Client: text will not be seen.
Here is a list of available macros:
%Topic% - appointment topic
%Client% - client name
%ClientHomePhone% - client home phone number
%ClientWorkPhone% - client home phone number
%ClientAddress% - client address
%Notes% - appointment notes
%Status% - appointment status
%Items% - appointment items
%Room% - appointment room
%StartTime% - appointment start time
%EndTime% - appointment end time
%BookedBy% - who booked the appointment
Groups options
The Groups section enables the creation and editing of groups of people. Groups are simply listings of people. When people have been added to a group, that group can be booked just like any other person.
When booking a person, appointment conflicts will be checked within the group itself, with any people within the group and with any other groups that contain any of the same people.
This is what the Groups screen looks like.

Enable Groups
If this box is checked, appointment can be made using groups.
Groups
The Groups box is a tree list showing all entered groups. Use mouse right click to add or remove groups. New groups will default to having the name "GroupX", where X is a number. To change this to something else simply ensure the group is highlighted and then click on the group once more to enter edit mode. At this point, the text may be changed to whatever you wish.
People
Lists all available people. Drag a person onto a group to add it to the group. Make sure you drag people onto the group name not another person.
Working with Groups
Creating New Groups
To create a new group right click on the Groups box. From the menu, choose New Group. A new group will be added called GroupX, where X is a number. Click on the new group once to select it and once more to enter edit mode. When in edit mode you can change the name of the new group to whatever you wish.
Adding People to Groups
To add people to a group , simply highlight the people you want in the People group and then drag these selected people onto the group where you want them. When added, the person will show as sub items of the group .
Deleting Groups
To delete a group, right click on the group and choose Delete from the menu.
Data options
The Data screen is used to change where the data files for the program reside and to setup the data backup options.
To change the data path, first make sure the Default Data Path box is not checked. Then click on the button to the right of the Data Location edit box. Use the path explorer to choose a new path. Make sure the newly chosen path has data files in it.
This is what the Data screen looks like.

Data options
Default data path
If this box is checked, the Pro Schedule data path will be the default data folder in the user Documents and Settings folder. E.g. C:\Documents and Settings\Administrator\Application Data\CyberMatrix\ProSchedule.
Data path
This is the path where the Pro Schedule data files reside. If you want to change this location, you must make sure that your data files have been moved or copied to this location.
In the Client/Server version, this path is used solely for data synchronization with the Palm conduit. It should be a mapped path to the Pro Schedule server that each client machine can access from your network.
Backup options
Auto Backup
If checked, automatic data backups are performed. Enter the automatic backup interval in the text box. For example, if you enter a 60 in the edit box the data will be automatically backed up every hour (60 minutes).
Backup Every X Minutes
This number indicates how often an automatic backup is to be performed. For example, to backup every 2 hours enter 120 (2 x 60).
E-mail options
This is what the E-mail configuration tab looks like.

Mail options
Notify Person On Change
If this option is checked, a notice will be e-mailed to the e-mail addresses listed in the CC appointment field, whenever an appointment is changed or deleted.
Notify client on change
If checked, the client an appointment is booked for will receive an e-mail notification whenever the appointment is added or changed.
Auto notify
If checked, when an appointment is changed an e-mail notification will be sent immediately without the e-mail window popping up.
Use MAPI
If checked all e-mail will be sent using your default MAPI compliant mail program, like Outlook.
Reminder options
Send e-mail reminder
If checked an e-mail reminder will be sent out a number of days before the appointment is to take place.
Remind person
The person an appointment is booked for is sent an e-mail reminder.
Remind client
The client an appointment is booked for is sent an e-mail reminder.
Range X days
The number of days before an appointment occurs that an e-mail reminder is sent. Note that hours can be entered provided they are expressed as a fraction of a day. For example, to set a reminder interval of 2 hours enter 0.08333 (2/24=0.08333).
SMTP Server options
Enable Authentication
Check this box if your mail server requires password notification before sending mail.
Authentication Login ID
Enter your SMTP authentication login id here.
Authentication Password
Enter your SMTP authentication password here.
SMTP Mail Host
This is the SMTP mail host used on your network. Usually it is mail, but enter whatever you enter for configuring other mail programs. If this option is not entered correctly, the e-mail features will not work.
Default From E-Mail Address
The e-mail address here will show by default in the from field of any e-mails sent to clients or others. If your network requires a full domain to send e-mails, enter the domain name in this field. Note that you must include the @ symbol.
Domain
The from field of e-mails sent to others will default to the login id of the person adding or editing the appointment. If your network requires a full domain to send e-mails, enter the domain name in this field. Note that you must include the @ symbol.
E-Mail Script Options
E-mail scripts allow you to configure what is seen for each e-mail that is sent out by the software.

Rejection email script
This script is used for the email sent when an appointment has been rejected by an administrator.
Deletion email script
This script is used for the email sent when an appointment has been deleted.
Request email script
This script is used for the email sent when an appointment has been requested to be booked.
Approval email script
This script is used for the email sent when an appointment has been approved by an administrator.
Changed email script
This script is used for the email sent when an appointment has been changed.
Added email script
This script is used for the email sent when an appointment has been added.
Scripts consist of text and special macros. The macros are enclosed in percent marks and represent special fields in the database. For example, the %Topic% macro represents the appointment topic.
Here is a list of available macros:
%BookingCost% - the cost to make an appointment with the person
%Topic% - appointment topic
%ConflictMessage% - any details relating to conflicts with other appointments
%Client% - client name
%ClientWorkPhone% - client's work phone number
%ClientHomePhone% - client's home phone number
%OldResource% - person's name of previously edited appointment
%Resource% - person's name
%Notes% - appointment notes
%OldStartDate% - appointment start date of previously edited appointment
%StartDate% - appointment start date
%StartTime% - appointment start time
%EndTime% - appointment end time
Terms options
The Terms screen is used to configure the terms used in the application. For example, if you use Pro Schedule for scheduling patients in a doctor's office you might want to change the Client term to Patient. In this situation, wherever the term "Client" appears, it will be replaced with the term "Patient" everywhere in the software.
This is what the Term screen looks like.

Application type
This specifies what type of people are using the application, doctors/dentists or others. If the Doctor type is selected, the person the appointment is with is referred to as a patient. If the Other type is selected the person is referred to as a client.
Report options
This is what the Report configuration tab looks like.

Print confirmation report
If checked a confirmation report is printed after every new appointment is booked.
Last Invoice Number
This is the last invoice number that has been used when printing out invoices. If you want your invoices to start at a higher number than 0 enter that number here.
Company logo path
Indicates the path of your company logo. Click the button to the right to bring up a graphic file selector dialog. Logos may be of the following graphic types: bmp, ico, emf or wmf.
Company address
This is your company's address, as it will appear on invoice report headers.
Network Options
The Network options tab is only seen in the Pro Schedule Client/Server and Pro Schedule Enterprise.
The Network options tab is used to set the IP address used by the Pro Schedule server application. To set the IP address, enter the IP address of the machine the server is running, into the IP Address field.
It is very important to set the correct IP address. If the wrong IP address is used, the client applications will not be able to connect to the server.
Pro Schedule Enterprise has four other important values on this tab.
Protocol
This is the back end SQL server database engine you wish to connect Pro Schedule to.
Port
This is the port number the back end SQL server database engine connects at. Leave it at 0 to connect at the database server's default connection port.
Database
This is the name of the database to use on the remote database server.
User Name
This is the user name required to connect to the remote database server.
Password
This is the password required to connect to the remote database server.
Security overview
By default, there is no security in place for Pro Schedule. This means that in a multi-user environment, any user will be able to view and edit any other person's appointments. To prevent this you can implement the security option (see the Options screen). When security is in place, an administrator must login in order to edit other users' appointments as well as access the security options screen.
If you wish all users to login before using the software, you must set the Force Login option. In this case, all user names and passwords must be entered into the Security table. See the Data Manager section for help in working with tables.
In the Pro Schedule program, there are three levels of security.
User
User security allows you to book resources when the Login To Book option has been set in the program.
Your Pro Schedule Administrator may have setup the application to default to allow only viewing and not booking. If this is the case and you require booking privileges, you must contact your Administrator to receive the User security level password.
If the Login To Book option has been set in the software, users must login as a user before booking resources.
If the Force login option has been set each user must login when the program starts.
Superuser
The Superuser level allows the editing of appointments booked by others provided the Allow Superuser Edits security setting has been enabled. Contact your administrator if you require this feature.
Administrator
As well as having Superuser privileges, Administrator security allows you to delete and edit any appointment whether you have booked it or not. Only Administrators can access the Pro Schedule configuration section and the Data Manager. The default Administrator password is magic. To ensure you have a secure system change the passwords immediately. Write down the new passwords and store them in a secure location such as the company safe.
Logging in to a Security Level
To log in as a User, Superuser or Administrator select File | Login from the main menu. A login box will pop up asking you to enter a login id or a password. You can enter User, Superuser, Administrator or your own login id assigned to you by your administrator.
Assigning Security Levels to Users
Security levels can be assigned to users by editing the Security table using the Data Manager. To make a user an Administrator simply enter an uppercase A in the level field for that user. To make a person a Superuser enter an S.
Adding users and changing passwords
See also: Security options
There are three security levels User, Superuser and Administrator. The Superuser level allows the editing of appointments booked by others provided the Allow Superuser Edits security setting has been enabled. The Administrator level has the same privileges as the Superuser level but with the added capability of being able to edit or delete any person's appointment regardless of which user had entered the original appointment.
To add new users use the Data Manager to edit the Security table. The security table contains all the users for the system and their corresponding passwords. Initially this table contains three default users User, Superuser and Administrator. You should never delete these users, particularly the Administrator.
Security levels can be assigned to users by editing the Security table using the Data Manager. To make a user an administrator, simply enter an uppercase A in the level field for that user. To make a person a Superuser, enter an S.
Note that when security is enabled for the first time all security levels use the default password of "magic". You should change this password immediately after enabling security to ensure a secure system. Write down your passwords and store them in a safe location such as the company safe.
Color Coding Appointments
There are many ways appointments can be color coded. You can assign a color to the appointment itself, to the appointment status, to the appointment topic, to the person the appointment is with, the client the appointment is with, the room the appointments is in or to the category of the person. If you are using the simple payment feature then all unpaid appointments will be red. If you have set the "Show current time" colored bar will be shown across the schedule grid indicating the current time. If you have set the "Show current items options" then the appointments taking place right now will be colored green.
Note that the color black is actually not used. Black is interpreted as having no color. By default everything starts as "black".
The different color options have a priority. The priority listing is as follows:
Status
Appointment
Topic
Person
Client
Room
Category
Pro Schedule data
The Pro Schedule program uses several data files. To view this data choose View | Data Manager from the main menu. The following screen should appear:
If you are using Pro Schedule Enterprise, there is no Data Manager. The data will have to be entered in the control center of your back-end database system. Alternatively, data can be entered using the forms listed on the Tools menu of the main form.

Getting to know the Data manager
Viewing and Editing Table Data
Changing Appointment Color According to Status and Topic
Pro Schedule Table Details
Viewing SQL Queries
Deleting records
Inserting Records
Re-indexing Tables
Archiving Old Appointments
Backing up data
Restoring data
Importing and Exporting CSV Data
Avoiding Database Problems
Getting to know the Data Manager
The Pro Schedule program uses several data files. The Data Manager screen allows viewing and editing of all Pro Schedule data. To bring up this screen select View | Data Manager from the main menu. Note that if security has been enabled, you must first login as Admin or as Superuser, if the Superuser data access option has been set. The following screen should appear:

See also: General Options
Note that in Pro Schedule Client/Server the Data Manager is only accessible from the Server application.
The Data Manager consists of three parts. The menu, the data navigation toolbar and the data view. The menu contains several data related functions. The data navigation toolbar is used to navigate through the different tables. The data view shows the data of a single table.
The Data navigator Bar
The bar at the top is the data navigator. The data navigator is for navigating the records of the current table. The first button |< will move to the first record of the current table. The second button < will move to the previous record. The third button > will move to the next record. The fourth button >| will move to the last record. The + button will add a new record. The - button will delete the current record. The button with the check mark will save changes made to the current record. The x button will cancel any changes made to an unsaved record. The last button refreshes the current table to show the latest changes made to it.
The Data Tabs
The data tabs show all the tables used in Pro Schedule and allow you to view and edit the data in them. See the Viewing and Editing Table Data section for more details.
Menu
The menu consists of four sections File, Search, Records and Help. See below for descriptions of the different functions found within these sections.
File
Export to CSV - Exports the current table to text (CSV) format. See also: Importing and Exporting Data in CSV Format
Import CSV File - Imports a text file in comma separated variable (CSV) format into the current table. See also: Importing and Exporting Data in CSV Format
New SQL File - Opens the Notepad text editor to allow you to create a new SQL file. See also: Viewing SQL Queries
Edit SQL File - Opens the Notepad text editor to allow you to edit an existing SQL file.
Open SQL File - Allows you to choose an existing SQL file and shows the results of that query in the detail tab data grid.
Execute SQL File - Allows you to choose an existing SQL file and execute that query. Only Administrators can execute queries.
Re-index Table - Re-index the currently selected table. See also: Re-indexing Tables
Close - Closes the Data Manager screen.
Search Section
The Search section allows you to find records when in the detail tab view. To search for a record you must first click in or tab over to the field In which you want to search. Then choose Find from the Search menu. In the dialog that pops up, enter the text you want to search for then press the Find Next button. To find the next occurrence of that text press the Find Next button again.
Records Section
The Records section contains the following functions:
Cut Record - Copies the selected record into the Windows clipboard for pasting later and then deletes the record.
Copy Record - Copies the selected record into the Windows clipboard for pasting later.
Paste Record - Pastes the record contained in the Windows clipboard into a new record.
Insert - Inserts a new record above the selected record. See also: Inserting records
Delete Selected Records - Delete all the selected records. See also: Deleting records
Delete All Records - Deletes all the records in the current table.
Archive Inactive Appointments - Deletes expired appointments from Pro Schedule and saves them in the Archive table. See also: Archiving Old Bookings
Backup Data - Makes a time-stamped backup file of all tables. See also: Backing up Data
Restore Data - Replaces your existing data with the tables from a previous data backup. See also: Restoring data
E-Mail Data Backup - Makes a time-stamped backup file of all tables and brings up the e-mail form to allow you to send your data to someone. Useful when asking for support for data-related problems.
Viewing and editing table data
There are two ways to enter table data: form view and detail view.
Entering data in form view
To enter data by form view choose the tab corresponding to the table for which you wish to enter data. A form will appear showing all the fields in that table. The screen should look like this:

To add a new record press the + button on the data navigator bar. A blank record field will appear. Enter data in the fields and press the check mark on the data navigator bar. This saves the record changes.
Entering data in detail view
To view a table's data in detail view, first choose the Detail tab. The screen should look like this:

To view the data for a table choose the table's radio button in the left box. The table's data should then appear in the grid to the right. The data may now be edited directly in the grid. After editing a record, the changes will be saved after you move off the edited record.
Currently data from SQL queries may not be edited in this way.
You can cancel any changes you made to a record by either clicking the Cancel button (the big X) on the Database Navigator at the top of the screen or by simply hitting the ESC key.
Changing Appointment Color According to Status and Topic
Pro Schedule can be configured to show appointment as different colors depending on the appointment status or topic. Both the Status and Topics tables have a field called Color. By entering a color code in this field the appointments associated with this topic or status will be displayed in this color.
Pro Schedule table details
Pro Schedule Tables
Pro Schedule has 20 tables: Archived Bookings, Bookings, Appointment Status, Appointment Topics, Categories, Clients, Deleted Appointments, Deleted Recurring Events, Holidays, Invoices, Items, Locations, People, People at a Glance, People Unavailable, Rooms, ToDo List, Waiting List, Users and Security.
Archived Appointments
This table lists all the expired appointments that have been purged from the main appointment table. Here are the field sizes and descriptions:
ID - Integer - unique
Date - Date
StartTime - TimeStamp
EndTime - TimeStamp
Person - String - 30
Room - String - 15
Description - String - 250
Freq - String - 10
LoginID - String - 30
Notes - String - 250
EndDate - Date
ClientID - String - 25
Status - String - 1
Modified - Boolean - 25
CC - String - 250
Invoice - String - 10
Color - Integer
Items - String - 250
The Person field links to the Person field in the People table. The Room field links to the Room field in the Rooms table. The ClientID field links to the ClientID field in the Clients table. The Status field links to the Status field in the Status table. The Invoice field links to the Invoice field in the Invoices table.
Bookings
This table lists all the active appointments. Here are the field sizes and descriptions:
ID - AutoInc - unique
Date - Date
StartTime - TimeStamp
EndTime - TimeStamp
Person - String - 30
Room - String - 15
Description - String - 250
Freq - String - 10
LoginID - String - 30
Notes - String - 250
EndDate - Date
ClientID - String - 25
Status - String - 1
Modified - Boolean
CC - String - 250
Invoice - String - 10
Color - Integer
Items - String - 250
SynchID - String - 48
ReferredBy - String - 20
Cost - Currency
Paid - Boolean
LastModified - TimeStamp
The Person field links to the Person field in the People table. The Room field links to the Room field in the Rooms table. The ClientID field links to the ClientID field in the Clients table. The Status field links to the Status field in the Status table. The Invoice field links to the Invoice field in the Invoices table.
The Freq field can have the following values:
s - single event.
d1 - every weekday.
d - every day.
wx - every x weeks.
mdx - every x months.
mx-y-z - the xth y of every z months. x can be first (0), second (1), third (2), fourth (3) or last (4). y corresponds to the weekday (Sunday is 1, Monday is 2...Saturday is 7).
Categories
This table lists all the appointment categories. Here are the field sizes and descriptions:
Category - String - 15 - unique
Description - String - 20
Color - Integer
Clients
This table lists all clients or patients. Here are the field sizes and descriptions:
ClientID - String - 25 - unique
FirstName - String - 20
LastName - String - 20
HomePhone - String - 20
WorkPhone - String - 20
Cell - String - 20
Address1 - String - 30
Address2 - String - 30
City - String - 20
Postal - String - 15
Notes - String - 250
E-Mail - String - 40
State - String - 10
Rate - Currency
Deposit - Currency
Person - String - 30
BirthDate - Date
Age - Integer
Gender - Boolean
Regular - Boolean
Referral - String - 30
Color - Integer
The Person field links to the Person field in the People table. Gender is 0 for Male and 1 for Female.
Deleted Appointments
This table lists all appointments that have been deleted. Here are the field sizes and descriptions:
Date - Date
StartTime - TimeStamp
EndTime - TimeStamp
Person - String - 30
Freq - String - 10
EndDate - Date
Synched - Boolean
Description - String - 250
ClientID - String - 25
Notes - String - 250
Deleted Recurring Events
This table lists all the individually deleted appointments from a recurring event. Here are the field sizes and descriptions:
ID - AutoInc
RecurDate - Date
The ID field links to the ID field of the Bookings table.
Holidays
The Holidays table lists all the statutory holidays. Holidays are used to automatically fill in holiday hours on the schedule. Here are the field sizes and descriptions:
HolidayDate - Date - unique
Holiday - Text - 30
Invoices
This table lists all invoices. Here are the field sizes and descriptions:
Invoice - String - 10 - unique
ClientID - String - 25
Paid - Boolean
InvoiceDate - Date
PayDate - Date
The ClientID field links with the ClientID field in the Clients table.
Items
This table lists all items that have been consumed during an appointment. Here are the field sizes and descriptions:
ItemID - String - 10 - unique
Description - String - 25
Cost - Currency
Duration - Integer
The duration field indicates how long using this item in an appointment will take.
Locations
This table lists all the locations or offices. Here are the field sizes and descriptions:
Location - String - 15
Description - String - 30
People
This table lists all the bookable resources. Here are the field sizes and descriptions:
Person - String - 30 - unique
Title - String - 50
Phone - String - 20
Cell - String - 20
Pager - String - 20
Address1 - String - 25
Address1 - String - 25
Notes - String - 250
EMail - String - 40
Category - String - 15
Fax - String - 20
Color - Integer
Rate - Currency
Location - String - 15
LoginID - String - 30
Duration - Integer
The Category field links to the Category field in the Categories table. The unavailable field lists all the days the person is not available. It can contain any combination of the two letter day abbreviations: Mo, Tu, We, Th ,Fr, Sa or Su.
The Location field links to the Location field in the Locations table. The LoginID field links to the LoginId field in the security table. The duration field indicates how long an appointment with this person will take. When the person is chosen from the People pull-down list in the Add Appointment screen, the end time will automatically adjust according to the duration time.
People at a Glance
This table lists all the resources that will appear when the People-At-A-Glance view is chosen. It contains only one field: Person - 30.
People Unavailable
This table lists all the days and times people are unavailable. Here are the field sizes and descriptions:
Person - String - 30
Day - Integer
TimeFrom - Time
TimeTo - Time
DateFrom - Date
DateTo - Date
The Day field indicates the day the person is not available. Sunday is 1, Monday is 2, ... and Saturday is 7. To make a person unavailable all day long just enter a value for the Day field and leave the From and To fields blank. To make a person unavailable for a time period every day, leave the Day field blank and enter values for the TimeFrom and TimeTo fields. To make a person unavailable for a range of days, leave the Day, TimeFrom and TimeTo fields blank and enter date values in the DateFrom and DateTo fields.
Rooms
This table lists all the rooms that can be used for appointments. Here are the field sizes and descriptions:
Room - String - 15 - unique
Description - String - 50
Capacity - Integer
Equipment - String - 250
Cost - Currency
Location - String - 15
Color - Integer
The Location field links to the Location field in the Locations table.
Security
This table keeps track of all the user names and passwords used for the security features. Here are the field sizes and descriptions:
LoginID - String - 30 - unique
Password - String 10
Level - String - 1
Appointment Status
This table lists appointment status codes that will show up in the appointment status pull-down list in the Add Appointment screen. Here are the field sizes and descriptions:
Status - String - 1 - unique
Description - String - 15
Color - Integer
Rate - Currency
ToDo
This table lists all the appointment To do lists. Here are the field sizes and descriptions:
ToDoID - AutoInc - unique
Description - String - 150
Appointment - Integer
Person - String - 30
Priority - String - 1
StartDate - Date
DueDate - Date
Completed - Boolean
CompleteDate - Date
The Priority field is a letter from A to Z, with A being the highest priority. The Appointment field links to the ID field of the Bookings table. The Person field links to the Person field in the People table.
Appointment Topics
This table lists all the appointment topics that will show up in the appointment topic pull-down list for the Add Appointment screen. Here are the field sizes and descriptions:
Topic - String - 250 - unique
Color - Integer
Duration - Integer
The duration field indicates how long an appointment with this topic will take. When the topic is chosen from the Topic pull-down list in the Add Appointment screen, the end time will automatically adjust according to the duration time.
Users
This table lists all the users of the software. Here are the field sizes and descriptions:
LoginID - String - 30 - unique
LastIn - TimeStamp
LastOut - TimeStamp
Waiting List
This table lists all the waiting list appointments. Here are the field sizes and descriptions:
RequestDate - Date
StartTime - TimeStamp
EndTime - TimeStamp
TimeLength - Float
Description - String - 250
ClientID - String - 25
Person - String - 30
The TimeLength field is the time in hours of the appointment. e.g. for 45 minutes you would enter 0.75 in this field. The Person field links to the Person field in the People table. The ClientID field links to the ClientID field in the Clients table.
Viewing SQL queries
It is possible to view the results of simple SQL statements stored in external text files. SQL stands for Structured Query Language; it is a way to communicate with databases using English-like commands.
To create a new SQL file either create one using any text editor or choose File | New SQL File from the menu. Save the SQL file to a folder, usually the Pro Schedule Data folder.
To open a previously saved SQL file choose File | Open SQL File from the menu. A file select dialog will pop up allowing you to choose a SQL file. After selecting a file, you should see the results of the query in the data grid.
Note that currently only simple SQL Select queries are supported. Here is an example:
SELECT [Person], [StartTime], [EndTime]
FROM Bookings
WHERE [Person] = "Dr Remoray" And [StartTime] Between "2006-03-09" And "2006-04-13"
ORDER BY StartTime
This query shows all appointments, sorted by StartTime for the person "Dr Remoray" between March 09 and April 13.
For more information on SQL, consult a good introductory database textbook. There is also some documentation on the supported SQL calls in the database engine manual. To read this manual choose Help | DB Engine Manual from the Data Manager menu.
Deleting records
To delete one or more records, select the records to delete. To select multiple records, click on the first record then hold down the [Ctrl] Key and click to select individual records or hold down the [Shift] key to select a range of records. To delete the selected records either press the [Ctrl]+[D] key combination or choose File | Delete Selected Records from the menu. To delete all the records in the current table choose File | Delete All Records from the menu.
Inserting records
To insert a record click on the record above which you wish to insert a record. Then either press the [Ctrl]+[I] key combination or choose File | Insert Record from the menu.
Re-indexing tables
Over time, one of your tables may become corrupted. This is not as bad as it sounds. When a table becomes corrupted, it just means that it requires re-indexing before it can be properly used again. See the section Avoiding Data Problems to learn more about table corruption. Usually when a table is corrupted, you will see an error message such as:
DBISAM Engine Error #9217 Error reading From Data File C:\Program Files\ProSched\data\Bookings.dat
Re-indexing the table is simple. Just select the affected table and then choose File | Re-index Table from the Data Views menu. It does no harm to re-index a non-corrupt table.
DBSys
If you are unable to open the application to do a re-index you can get the DBSys utility. DBSys is a utility from Elevate Software, the makers of the database engine used in Meeting Manager. Use this program to re-index the affected table.
Last Resort
If after trying all these solutions you still have problems, you can zip up the problem data files and e-mail them to CyberMatrix support.
Archiving inactive appointments
After a time, the Pro Schedule program will have accumulated many old appointments that are no longer useful to retain. To archive appointments choose Records | Archive Inactive Appointments from the Data Manager menu. A pop-up dialog will ask for an archive date. All appointments older than the selected date will be archived. Pressing the OK button will delete these old appointments from Pro Schedule and save them in the Archive table. Occasional archiving in this manner will help to keep the Pro Schedule program running at peak efficiency.
Backing up data
To create a backup of your data choose Records | Backup Data from the menu in the Data Views screen. Running this function will create a zip file in the Data\Backup folder. The zip file will have a name consisting of the current date and time the archive was completed. If you ever want to restore the data later you will need an unzip program such as WinZip. Alternatively you can use the restore feature. See also: Restoring Data
Restoring data
To restore previously archived data choose Records | Restore Data from the Data Views menu. A file select dialog will pop up allowing you to choose the archive you would like to restore.
Importing and exporting CSV data
Importing Data
Pro Schedule can import data in the form of comma-separated CSV files. If you have existing data from another application, this data can be imported into Pro Schedule provided it is saved in the right format. CSV files used for importing must follow the exact same format as the table into which they will be imported. That is, if you look at a table in the detail view of the Data Manager you will notice the order of the fields in the table. This is the same order that your CSV file must be in. Most spreadsheet programs like Microsoft Excel allow you to easily load in CSV file and move columns around.
See the section Pro Schedule table details for more details on field types and sizes.
To import a CSV file first select the table you want to import into from the Data Manager. Then choose File | Import From CSV from the Data Manager menu. A wizard will guide you through importing the CSV file.
Note that when running the wizard, your import time format string must be exacty the same as what is in the CSV file. Most people leave in the .zzz in the import format string when their CSV data does not have microseconds. The import is not smart enough to determine what date/time formats you are using. You have to tell it.
Exporting Data
Data can also be exported in CSV file format from Pro Schedule. This data can be imported into other applications that can handle CSV imports.
To export a CSV file first select the table to export from the Data Manager. Then choose File | Export To CSV from the menu. A file select dialog will allow you to select the CSV file to export.
Appointment reports
This dialog screen allows printing reports of all appointments of a person in a specified time period.

The Report screen consists of three parts: filters, sort method and report list.
The filters allow only specific appointments to be seen on the reports. The Person filter allows you to see only the appointments for a specific person or all people. The Category filter causes only appointments for those people that belong to the specified category to be seen on the reports. The category filter is only useful when choosing the All People item from the People filter. The From and To dates specify that only appointments that occur between these two dates will show on the reports. The Status filter causes only those appointments that have the specified status to show on the reports.
The Client filter causes only those appointments that have the specified client to show on the reports.
The sort method determines how the report will be sorted when viewing appointments for All People. If by person, the report will show all appointments grouped by person and then by date. If by Date, the report will show all appointments sorted by date.
The report list shows all the reports that exist in the Pro Scheduler reports folder. If you do not need all the reports that show up here you can delete the ones you do not need from this folder. In the Reports folder is a folder called Examples. This contains additional reports that you might want to use.
To check out the report before printing choose File | Preview from the menu. To print the report directly choose File | Print form the menu.
Invoicing
For the invoice report to work properly, rates must be assigned to people using the Data Manager.
Database Server Discrepancies
Due to certain unusual idiosyncrasies of the different database servers, certain reports will not work correctly with Pro Schedule Enterprise using different database servers. The MSSQL and PostgreSQL sub folders in the Reports folder contains reports with the special SQL that these database servers require.
Exporting Reports to Different Formats
Reports can be exported to several different formats. To export a report, first view the report in print preview mode. In the preview screen at the top is a tool bar. Click on the floppy disk icon. This will bring up a save as dialog that will allow you to choose a format in which to export the report.
Sending E-Mail to Clients with Upcoming Appointments
Clients with upcoming appointments can be sent an e-mail using the report screen. To send such an e-mail simply choose File | E-Mail Clients from the reporting screen menu. Any client e-mail addresses for the matching appointments will appear on the BCC field. Type in the subject and message body and click the Mail button to send.
Modifying reports and building your own
Pro Schedule comes with a powerful report designer feature. With the report designer you can create your own unique reports or edit existing ones.
Editing an Existing Report
The easiest way to create a new report is to edit an existing one. Pro Schedule comes with several pre-built reports. To edit one of these select Custom Reports | Edit from the Report Selector menu. A file select dialog will pop up allowing you to choose a report. After selecting a report, the report designer will appear. In the report designer you can add graphics and text to the report or even move fields around or add new ones. See the report designer help file for more details. To add new fields you will need to modify the SQL variable to include those fields. The SQL variable is explained below.
Note that if you are modifying a booking report, the SQL variable will be blank. If you need to add fields from other tables or set WHERE conditions or perform a special SORT you will need to add the following to the SQL variable: SELECT * FROM MEMORY bookingtmp. Then change the SQL as you wish.
Adding new fields to reports
To add new fields to a report all you need to do is modify the report SQL to include the two fields and then add the two field boxes to the report.
Modifying the SQL variable:
First start the report designer by selecting Custom Reports | New from the Report Selector menu. Now modify the SQL variable to include the new fields. From the menu choose Report | Variables. Click on the SQL variable. You will see the existing report SQL. Add the new fields to the end of the SELECT clause. Click OK to save the changed variable.
Now add the new fields to the report:
See the Creating Reports section below on how to add the new fields to the report.
Creating Reports
There are several steps to create your own reports.
First create the report:
Start the report designer by selecting Custom Reports | New from the Report Selector menu.
Next assign the datasets
Datasets are assigned in the Data tab to the right. Double click where it says No data available. In the selection dialog check frxDBDataset1. You will see the available data fields appear.
Now create the SQL variable:
From the menu choose Report | Variables.
Click on the New Category button (the button with a glinting yellow folder icon). This will create a new category.
Name the category something like ReportVariables.
Click the New Variable button (the glinting fx button).
Call the new variable SQL.
In the Expression box, enter your SQL query. For example: SELECT * FROM Bookings.
Click OK to save the new variable.

Note that the existing template.fr3 report has this step completed for you already.
Now add bands to the report:
Click on the Insert Band button (the button with the three squares and plus sign).
A list of band types will appear.
Click on Report Title, Page Header, Master Data (select the frxDataset1 Dataset) and Page Footer bands.
Now add fields to the report:
In the Data tab to the right select the fields of the query you want to see on your report and drag them onto the Master Detail band positioning them where you want them. The Master Detail band is the long rectangle in the middle of the report with the blue heading.
Note that the fields available may not match what you have added to the SQL variable. If that is the case you will have to save the report (if you haven't already), close the report designer and reopen it. This will update the query to use the SQL the report is based on.
Now add field labels to the report:
Click on the Text Object button (the button with the ab on it).
No click on the Page Header band where you want the first field caption to appear.
A dialog will pop up allowing you to type the text for the field label. Type the text and press the green check mark to save.
Repeat this for all other field labels.
Your report should now work. Save the report. Press the Close button to return to the Reporting Screen. Choose Custom Reports | Preview Report from the menu. Select your new report and press OK to see what your report will look like when printed.
Note that choosing File | Preview from the report designer menu may not work depending on what fields you've added to the report. To get the report to preview correctly from the report designer you will need to save the report (if you haven't already), close the report designer and the preview the report from the report selector screen. This will update the query to use the SQL the report is based on.
Other Variables
There are several other variables that you can use to make special reports. If you want to create an invoice report you must create and set the Invoice variable. These variables are created the same way the SQL variable is created. For invoice reports, you must set the Invoice variable to 'true'. For schedule reports you must set the Schedule variable to 'true'. Only by setting this variable will recurring events be broken up into the individual days. For available times reports you must set the AvailTimes variable to 'true'. The varLabHeading variable will print a heading for the report. The varAddress variable will print your address you specified in the company address option. The varDateFrom and varDateTo will print the date ranges used for the report.
Report Functions
There are several report functions that can be used to format data and output special values.
ExpandFreq() - outputs the frequency field to a more readable format.
FormatTime() - formats a time field based on your system time format.
FormatDate() - formats a date field based on your system date format.
FormatCurr() - formats decimal numbers based on your system currency format.
FormatDec() - formats decimal numbers based on your system currency format.
Here is an example as to how to use these functions in a report memo field:
[FormatDate(<frxDBDataset1."StartTime">)]
Converting Old .frf Custom Reports to the New .fr3 Format
If you have created custom reports in the old .frf format they will need to be converted to the new .fr3 format. If you still have the old version of the software you can save the frf reports to the fr3 format. To do this open the old report in the Report Designer. Choose File | Save As from the menu. In the Save as type pull-down list choose FastReport3 form (*.fr3). Alternatively you can download the report converter program. You can download the converter from:
http://www.cybermatrix.com/download/fr2x-fr3converter.zip
Unzip the file to a folder somewhere. Run the fr3convert.exe program and click on the Select Report Files tab. Click the Open Folder icon and locate the reports folder containing the .frf files. Click the button with the green arrow to convert the reports.
Each report must be tweaked manually to fully convert it. Here are some guidelines:
set designer to free bands placement - in designer choose View | Options and set the Free bands placement option
open report
assign datasets - choose Report | Data - select frxDBDataset1 and frxDBDataset2 if your report uses a sub report.
set master detail band dataset to frxDBDataset1
all fields must be preceded by the dataset and enclosed in quotes. Eg. [frxDBDataset1."WeekStart"]
fields referenced in expressions must be surrounded by <> not [] i.e. [FormatDec(<frxDBDataset1."Total">)]
set group conditions in this format Eg. frxDBDataset1."WeekStart"
for summing numbers in string fields must use StrToFloat or Int function i.e. [FormatDec(Sum(StrToFloat(<frxDBDataset1."Total">)))]
variables referenced in code must be surrounded by <> not []
any report variables will need to be recreated as they will not convert over.
Additional Help
See the UserManual-en.pdf help file for more details on report design (choose Help | Report Designer from the Reporting Screen menu).
Command line parameters
The client/server version of Pro Schedule has a command line parameter that can be used to automatically backup up the server data from a batch file. To use this feature place a line like the following in a batch file:
W:\ProsServer\ProSServer.exe /B
Avoiding data problems
Pro Schedule Standard uses a local database to store its data. Unfortunately, local databases are susceptible to corruption if the computer is shut down abnormally. Corruption occurs while the program is in the middle of writing to the database and the program is prevented from completing the write. For this reason, you should always perform proper shutdowns. You should never shut off the computer or reset it while Windows is still running. Perform a proper shutdown by choosing Shut Down and either Restart or Shutdown from the start menu. If your system starts to act abnormally, try to exit Pro Schedule first and then perform a proper shutdown.
If your system appears frozen first try hitting the Ctrl + Alt + Delete key combination. This should bring up a task list. You may be able to end the task that is no longer responding. Sometimes the system will crash so hard that you cannot even bring up the task list. If this happens reset the machine and re-index any corrupted Pro Schedule tables if necessary.
Note that it would be extremely rare for tables to become corrupted when using Pro Schedule C/S, Pro Schedule Enterprise or Pro Schedule Web.
See Also: Re-indexing Tables
Frequently Asked Questions
Cyber.hlpQuestions for users new to computers and the Internet
Cyber.hlpQuestions about CyberMatrix Software
Cyber.hlpDatabase/Multi-user questions
Common Questions about Pro Schedule