MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 1 of 7
Software Skill Sheet
The current version of MBA provides you with advanced scheduling capability. In the following example we are scheduling three tasks. The design task schedule as displayed in Illustration 1 below. Production and delivery can be viewed just by selecting them from the drop-down list (A). The program allows you to schedule using different units of measure for each task. We created a user-defined field (Illustration 3) in which to enter the expected design time. Then we configured the calendar to use the data in this new field for scheduling the design task. We used the calculated labor units for scheduling production, and we used the expected delivery cost to schedule deliveries.
Illustration 1
Calendar Schedule
Instructions
MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 2 of 7
Software Skill Sheet
The program will automatically split a project over multiple days, when the units exceed the daily limit* that you set. In our hypothetical office we can not have two designers working on the same project at the same time, so we set the maximum hours available for design work on a given project at eight hours per day. An asterisk next to the job number indicates that the job is scheduled over multiple days. You can reschedule a project by dragging the corresponding line in the order list to a different day, but you cannot move just a portion of the project. With one exception the project must remain scheduled on consecutive days. The exception is when the next day has 0 capacity. The program will automatically carry over any remaining portion of a
* Note: This is not the same as the total daily capacity. A job or a portion of a job can be scheduled on a day that has insufficient remaining capacity. When this occurs, the bar graph merely turns red.
job to the next day that has capacity greater than 0 (up to a maximum of twenty days).
You control what information is displayed in the job list at the top right of the calendar window.
You can display different data for each task. In the example above we provide the user with information that will be helpful in scheduling the design task. In the delivery task setup you could provide the “Production Done” date in place of the “To Production” date.
You can mark a job as “completed” by right clicking on the job in the job list and then selecting “completed”. Change the width of the columns too. The data that is displayed in the job list depends on settings in the database that we will explain later in this document.
MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 3 of 7
Software Skill Sheet
You can access more information about any project in the job list. Double click on a job to open its tracking tab. From there you can open the other tabs in the project window, and add or edit data.
The best place to start, when setting up the calendar scheduler is found in the Setup Menu \ System Settings. The Scheduling Method will determine what unit of measure is stored, when trusses are imported. This value is stored in the “schunits” field in the Jobdata
table. In this example the total labor units Illustration 3 will be calculated and then stored in the schunits field.
MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 4 of 7
Software Skill Sheet
The remaining setup is done directly in the calsched table. Click the “Browse a Table” button or select “Browse” in the Tools menu. Scroll to the calsched.dbf and double click to open the table.
The default calsched table is empty. The calendar is programmed to use this table, when you create records that
define your custom calendar. To begin you must first click the “Edit” button in the bottom right corner of the window. Then click the “New” button to setup the first task. Double-click
on the word “memo” in the Fieldnames column. A window will open with Calsched.fieldnames in the title bar. (See Illustration 5). You will enter the fields to be used for scheduling a particular task in this window. We have opened the memo window in the first
record (Delivery) at the top of Illustration 5, below. In it you can see the fields that we will use for the delivery task. These fields are the basic scheduling defaults except schunits, where we have substituted a user defined field “delunits”.
The sample calendar (Illustration 1) is defined in the third record of the calsched table (Illustration 5). We have opened each memo window in this record to show how the design calendar was created. Notice that we used a different user-defined field for schedule units and for this task we also substitute the rdsgned date in place of the deldate.
What follows is a description of each field in calsched.dbf and how it affects the calendar scheduler.
MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 5 of 7
Software Skill Sheet
1. Calsched.fieldnames
must contain the following fields:
jobref – This data does not appear in the job list window. You can substitute a different value for some fields (see below), but not for this one.
jobnumber – This data appears in the left most column in the job list window. You can substitute data from a different field by using the syntax: tablename.fieldname as jobnumber. For example: jobdata.invnumber as jobnumber
schunits – This data appears in the second column of the job list and you can substitute data. In the examples above we substituted extrajob.delunits for scheduling deliveries and extrajob.dsgnhrs for
scheduling the design task. You can also substitute a calculated value. For example: total_pieces(“Order”, jobdata.jobref, ”Roof”) as schunits
the exclude field – This data does not appear in the job list. The field to be used in the “excldate” column (See item 5 below) must also be included in the field names column.
deldate – This data does not appear in the job list. This is the default key field, and is used to determine on which day the job will appear in the calendar (See item 2 below). You can substitute a different field by using the syntax: tablename.fieldname as deldate. In the design task example we substituted the “rdsgned” field* to correspond with the keydate field for that record.
jobtitle – This data appears in the third column of the job list, and you can substitute data. Use the syntax: tablename.fieldname as jobtitle. For example: modelname as jobtitle.
trantype –This data does not appear in the job list. You can not substitute for this field.
optional fields – This data appears in the fourth and subsequent columns of the job list. It is the sole purpose for including them in the fieldnames column. To provide additional data in the job list use the following syntax: tablename.fieldname AS column1. This data will actually appear in the fourth column in the job list. Data from fields that are defined as numeric or date fields must be converted to a text string. For example to display the job price in the fifth column you would type: STR(jobdata.jobprice) as column 2. Use the DTOC() function to convert a date field.
MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 6 of 7
Software Skill Sheet
2.
Calsched.keydate:
The date in this field is used to determine on which day the job will appear in the calendar. The record which defines the delivery calendar would likely use the “deldate” field (scheduled delivery date) as the keydate. In the design task example we used the “rdsgned” field. Use only the field name in this column. The field used in this column must be included in the fieldnames column as deldate.
3.
Calsched.displayby:
This is the name of the task that will in appear in the dropdown list (See “A” in Illustration 1)
4.
Calsched.lblcaption:
This is the text that will appear above the job list that precedes the date. In illustration 1 it is the heading that reads “Design Date –” and is followed by the date that is currently selected “11/19/01”. Note: As in the example record 3 in illustration 4 there must be a hyphen at the end of this string, and it must be the only hyphen in this string.
5.
Calsched.exclcap:
This is the text that will appear for the exclude option. The exclude caption for the design task is set up in the third record of illustration 4, and the results appear in illustration 1.
6.
Calsched.excldate:
Any project that has a value in this field will be excluded, when the “Exclude” box is checked. The
exclude box is found in the lower right corner of the calendar. In the examples above we used
“delivered” for the delivery task and “rchkd” for the design task.
7.
Calsched.byid:
You control what field is updated, when the user marks a job as completed (See Illustration 2 above). The user’s initials will be written to this field, and the completion date will automatically be written to the
corresponding date field. For the design task (See Illustration 4) we chose to write the user’s initials to the rchkdbyid field. The corresponding date field is rchkd. This is the logical “completed” field, because it is also used as the exclude field.
8.
Calsched.colwidths:
This field contains the column width settings. If you leave it blank the program will automatically fill in this data. Then use the interface (Illustration 2) to adjust the column widths as necessary.
MiTek Training Center
Product: MiTek Business Application Skill Sheet: Calendar Schedule Instructions.doc Last Update: 6/29/2006
Page 7 of 7
Software Skill Sheet
9.
Calsched.where:
You can exclude jobs that do not have a date in the excldate field (section 6 above), but should not appear in the calendar for other reasons. In the delivery task record (See Illustration 4) we have filtered out any jobs that have the status “Canceled” or “Void”.
10.
Calsched.maxforsplt:
If you enter a number in this field, the program will spread the job over two or more days. Enter the maximum number of units for a job that you want to be scheduled per day. This is the only way that a job can be scheduled on more than one day.
Improve the speed of your calendar
The program has to filter all of the records in the jobdata table to determine which jobs to display on the calendar. A second query sorts these jobs so that they will appear on the day that matches the date in
the field that you have chosen to be the keydate field. These date fields in the jobdata table are not index fields by default, so the queries that filter the jobs will take a while to run. This means every time you open the calendar or view a different task it will take up to several minutes depending on how many jobs are in your database. The calsched.keydate field contains the names of fields that are used to schedule each task. You should create new indexes for these fields in the extraind table. Match
the syntax in Illustration 6. The tag can be. any name that you choose, but it must be unique. In this example we created indexes for deldate, rapprvd and rdsgned, and we “tagged” them keydel, keyprod and keydsgn respectively. Browse the jobdata table to view a list of the existing tags or index names. The Sort Order list box contains all of the existing index fields (tags) for that table. Be sure that your tags do not match any of the ones that you see in this list. Note: Too many additional index fields will adversely impact the speed of the MBA in general. It is
recommended that you create no more than three new index fields.
Finally, you must reindex the jobdata table.