Labels not being replaced with Strings table values

Symptoms

Labels on report outputs are not correct or are not being translated correctly.

Possible solutions

  • Verify that the report is configured to use the correct Strings table. It might be that the system has been incorrectly configured and the report cannot find the correct Strings table.

    To select the correct String table record on the Sites form, use the Site Name field on the System Parameters form. Make sure that, for this site, there is a value in the Forms Database Name field of the Sites form (in some versions, labeled as the Strings Table Specification field). If the forms database is on a different server than the application database, the value for this field should also indicate the linked server name, using this format: server_name.Forms_database

    Note: In some applications, the Sites form is known as the Sites/Entities form, and the System Parameters form is known as the General Parameters form.

    TaskMan then determines the proper Strings table name by searching the specified forms database for the Strings table associated with the current session.

  • Find the Strings table value using a query.

    You can check this using the SQL Server Management Studio by running this query on the application database:

    SELECT i.intranet_name, p.site, i.tm_path , s.strings_table
    FROM parms p
         INNER JOIN site s ON s.site = p.site
         INNER JOIN intranet i ON i.intranet_name = s.intranet_name

    If this SELECT action does not return any rows, then some piece of initialization data required by TaskMan is missing.

  • Validate the Strings table name using a query.

    To test the Strings table name using the SQL Server Management Studio, run this statement on the application database to return the number of strings in the Strings table:

    DECLARE
         @StringSQL AS NVARCHAR(255),
         @FormsDB AS NVARCHAR(255),
         @OwnerPos INT
    
    SELECT @FormsDB = s.strings_table
    FROM parms p INNER JOIN site s ON s.site = p.site
    
    SELECT @OwnerPos = CHARINDEX( N'.dbo.', @FormsDb)
    IF @OwnerPos <= 0 SELECT @OwnerPos = CHARINDEX(N'..', @FormsDb)
    IF @OwnerPos > 0 SELECT @FormsDb = LEFT(@FormsDb, @OwnerPos - 1)
    
    SELECT @StringSQL = N'SELECT COUNT(*)FROM ' + @FormsDB + N'.dbo.' +
    l.StringTableName
    FROM LanguageIDs l
    WHERE l.LanguageID = 1033
    
    EXEC (@StringSQL)

    If the Strings table specification is invalid, this SQL code returns something similar to this:

    Server: Msg 208, Level 16, State 1, Line 1
    Invalid object name 'String_Table_Specification'.
  • Verify that you are using the correct version of TaskMan.

    One indicator that you might not be using the correct version of TaskMan is an error message that says "Invalid String Table Name" followed by a number.