Troubleshooting: 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 the following:
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.