Use resolve in DB Lookup UI for New SSP Timesheet

In New SSP Timesheet, the Work Detail Time Code DB Lookup supports the resolve parameter. You can display Time Codes on the timesheet even when those codes are not selectable in the lookup, for example, when pay rules assign overtime or other restricted codes.

Without this configuration, users may see a blank Time Code when:
  • A pay rule sets a Time Code that is intentionally excluded from the DB Lookup source query.
  • The Time Code is not otherwise available in the lookup results.

Use resolve (with useResolve='true') when:

  • Your DB Lookup source query intentionally hides some Time Codes from the selectable list
  • Pay rules or other logic can still assign those hidden Time Codes to work details that appear in SSP Timesheet.

In this scenario, resolve is used to look up and display the Time Code on existing rows, while the source query continues to control which codes users can search for and select.

Required configuration

  1. To enable this behavior in the DB Lookup configuration, add a resolve SQL and resolveType that can return all Time Codes you need to display.
  2. Add the new flag useResolve='true' so SSP uses the resolve query when loading existing values.
  3. Keep your restriction logic in the source query so that hidden Time Codes are visible when present but not selectable in the lookup.

Sample configuration:

resolveType='SQL'
resolve='SELECT TCODE_ID,TCODE_NAME, TCODE_LOC_NAME, TCODE_LOC_DESC FROM VL_TIME_CODE'
useResolve='true'

sourceType='SQL'
source='SELECT * FROM (SELECT TCODE_ID, TCODE_NAME, TCODE_LOC_NAME, TCODE_LOC_DESC,
                       TCODE_HIDE_FROM_EMPLOYEE, ? CUR_EMP_ID
                       FROM VL_TIME_CODE
                       WHERE TCODE_LOC_NAME NOT LIKE ''UAT%''
                         AND TCODE_HIDE_FROM_EVERYONE = ''N'') A
       WHERE (CUR_EMP_ID IN (?) AND TCODE_HIDE_FROM_EMPLOYEE = ''N'')
          OR CUR_EMP_ID NOT IN (?)
       ORDER BY TCODE_LOC_NAME'

sourceParams='INTEGER==#page.property.employeeId#~|~INTLIST==#control.EMP_ID#~|~INTLIST==#control.EMP_ID#'
sourceKeyField='TCODE_NAME'
sourceLabelField='TCODE_LOC_NAME'
sourceDisplayFields='TCODE_LOC_NAME'

Behavior

  • Loading existing values: When SSP loads the timesheet or applies a default value, it uses:
    • resolve if useResolve='true' and resolveType/resolve are configured, otherwise
    • source to resolve and display the Time Code value.
  • Searching / selecting in the lookup: When a user opens the DB Lookup or types to search, SSP still uses only the source query. Time Codes excluded from source:
    • Do not appear in the selectable list.
    • Can still be displayed on existing rows if they are returned by the resolve query.
  • Defaults: If you configure a default Time Code for the field, ensure that the default value is valid and resolvable by your configuration. The system does not validate that the default is present in source. Administrators are responsible for choosing a valid default.