Rob's TIMSS Blog

My discoveries and ramblings of TIMSS/Personify.

Monday, January 29, 2007

TIMSS 6: Meeting Planning for Rooms & Requirements

For our conferences, the meeting planning staff enters rooms, configurations, and requirements for each meeting session/product as well as the responsible vendor and or staff person in TIMSS. A Crystal report is linked to the MTG001 screen to display all this information sorted by time or sorted by room.


The report shows the session name, time, room, configuration, capacity, and requirements. Requirements are setup under system types and codes. Each type (ie. AV or F and B) have sub codes under each.

When these are entered for a session on MTG001, quantity and any comments can be added that also show on the report.

Applies to: TIMSS6

Monday, January 22, 2007

TIMSS 6: Relations to non-customers

In TIMSS 6 you can create a relatioinship to someone who isn't a customer. Usually you would want to create a relationship to a customer, but in some cases you might not. For example if you wanted to store the names of family members, but not enter the family as customers.

You will notice that on CUS005, the customer ID is not required, only the name of the relation is required.

When you enter them, the name is stored in the CUS_RELATIONSHIP.RELATED_NAME field of the database.

The begin date could be used to store brithdates or anniversaries for these relationships.


Applies to: TIMSS6

Monday, January 15, 2007

Process Tracking with Contact Tracking

We have a couple process that have several steps: a foundation compliance process and a publication award process. We use contact tracking to handle both of them.

I've created and overall topic for the process. Each step in the process has a different subject under that topic which are entered as follow-ups, or child records.

Theses processes are for the companies, but the person contacted is the person we contact in reference to this process. The person contacted on the follow-ups can be used for judges or reviewers.

We then have reports that pull all this data together in a readable format along with other pertinent data about the customer: class, status, size.

One of the processes was previously done in an access database, but the data was not in sync with TIMSS and thus mistakes were made with eligibility and other criteria. They tell me it's now much easier and the data is better.

Applies to: TIMSS5 & TIMSS6

Monday, January 08, 2007

TIMSS 6: Ad-Hoc/Search Results Order

When using the Ad-Hoc Query or Search screens, you can not only control how you search (see TIMSS 6: Searching for other fields) you can also control how they are displayed when they are returned.

Highlighting one of the Fields To Display and using the up and down arrows will allow you to choose the order in which the resulting columns are displayed in the Search Results pane.

Results are sorted by the column that is displayed first.

Applies to: TIMSS6

Monday, January 01, 2007

end_date>=getdate()

There are several pieces of data that have begin and end dates in TIMSS. Writing queries to see when that is valid is usually written:

begin_date<=getdate() and end_date is null or end_date>=getdate()

Customer relationships are this type of data. With a query where the end date is greater than or equal to, it implies that if the end date is today, we still want the relationship to be valid. Unfortunately, this will not be the case because time is included with the getdate() function.

The end date is stored in TIMSS without time: 2006-12-31 00:00:00.000, whereas getdate() is returned with time: 2006-12-31 06:48:06.710. When the comparison is done, the time portion makes them never equal, unless the getdate() function was called exactly at midnight.

In my MS SQL database I have a function called TRUNCDATE written by TMAR (there is a similar base function in Oracle). Using this you can remove the time portion of the date so that when the date portion in the comparison is equal, the relationship is still valid.

begin_date<=getdate() and end_date is null or end_date>=dbo.TRUNCDATE(getdate())

If you don't have this function in MS SQL, it's below:

CREATE Function TRUNCDATE(@PDTDATETIME AS DATETIME)
RETURNS DATETIME
AS
BEGIN
RETURN CONVERT(DATETIME,(CONVERT(VARCHAR(50),@PDTDATETIME,101)),101)
END

Applies to TIMSS5 & TIMSS6