Category Archives: UDFs

Cascading User Defined Fields

Here’s the challenge. On a timesheet you have several user defined fields. Let’s take a simple example. We have consultants who do several things but we want them to identify what city they were in when they were doing the work this week. So, I could populate a drop-down list of 10,000 cities but scrolling through it to find Toronto would be quite tedious.

TimeControl now accomplishes this with “Cascading User Defined Fields”.

To activate this feature you’ll need to have access to the TimeControl Server and follow these steps:

  1. First, create your user defined Text Fields in the timesheet itself. You may want to hide them from others in the User Profiles until you’re ready to display them.
  2. Now, under the TC5 directory add a new folder called “CustomWork”
  3. In this folder make a file called “TimesheetUDF.ini”
    Here’s an example of what would be in the file. In this example, timesheet field 2 would depend on the value in timesheet field1, Timesheet field 3 would depend on the value in timesheet field2.

    [DEPENDENCY]
    TSD_FLD2=TSD_FLD1
    TSD_FLD3=TSD_FLD2

  4. In the fields themselves, we then use periods to distinguish the levels.

    So in TSD_FLD1 we might have:
    CANADA
    USA

    TSD_FLD2 might then have:
    CANADA.QC
    CANADA.ON
    CANADA.BC
    USA.NY
    USA.NV
    USA.FL

    TSD_FLD_3 might then include:

    CANADA.QC.MONTREAL
    CANADA.QC.QUEBEC
    CANADA.ON.TORONTO
    CANADA.ON.OTTAWA
    USA.NY.NEWYORK
    USA.NY.BUFFALO
    USA.NV.LASVEGAS
    UAS.FL.MIAMI

  5. You’ll need to restart your TimeControl Transaction Server for the new definitions to take effect.

When entering a timesheet now, if you choose “Canada” in field 1, then only QC, ON and BC will appear in field 2. If you then choose “ON” in field 2, then TimeControl would only show “TORONTO” or “OTTAWA” in field 3.

The effect is to reduce what is potentially tens of thousands of choices to a tiny handful and that can make the difference between a complicated timesheet entry and a very simple one