Skip to main content
Solved

Why are translations for my last few version not visible in table transl_nav?

  • December 16, 2022
  • 5 replies
  • 155 views

Johan van Eijsden
Captain
Forum|alt.badge.img+6

We were trying to create a synchronization script for the Application Model and we noticed that it is not creating lines with “exec sync_transl_nav ...” for language other than ‘NL’. Since we do have lines with “exec sync_transl_full ...” for all our languages that are defined in Software Factory, we expected this as well for the transl_nav.

 

We thought we have already fixed everything for the newly added language based on the ticket: 

but we still see problems for the Tree Menu and Toolbar
 

 

 

What can we do to fix it?

Best answer by Mark Jongeling

Hi Johan,

The difference can be explained as the Software Factory and IAM have different model definitions. For example, IAM makes use of a table called transl whilst the SF uses transl_object_transl (2023.1).

I'm not sure what the MOD database is or what it's use is. But it seems to me there have been alterations to database objects therefor limiting the result and causing issues. 

Again, I suggest creating a ticket for this. I feel that it would be necessary to rerun all scripts from the installation package (excluding 020_upgrade.sql). This will ensure that all objects are back to its original definition.

View original
Did this topic help you find an answer to your question?
This topic has been closed for replies.

5 replies

Mark Jongeling
Administrator
Forum|alt.badge.img+23

Hi Johan,

Can you inspect the get_gui_transl_nav procedure in your IAM and SF database? Last time I check there was an exception built in to only allow NL translations to be returned.


Johan van Eijsden
Captain
Forum|alt.badge.img+6

Hi Mark,

 

Yes, Here it is and it seems correct:
 

1ALTER procedure [dbo].[get_gui_transl_nav]
2(
3 @usr_id usr_id ,
4 @gui_appl_id id ,
5 @platform platform ,
6 @appl_lang_id appl_lang_id
7)
8as
9begin
10
11 -- Do not count affected rows for performance
12 SET NOCOUNT ON
13
14
15 --control_proc_id: sf_gui_proc_get_gui_procedures
16 --template_id: declare_local
17 --prog_object_item_id: get_gui_transl_nav_declare_local
18 --template_desc:
19
20 declare @local_usr_id usr_id = @usr_id
21 declare @local_gui_appl_id id = @gui_appl_id
22 declare @local_platform platform = @platform
23 declare @local_appl_lang_id appl_lang_id = @appl_lang_id
24
25
26 --control_proc_id: sf_gui_proc_get_gui_procedures
27 --template_id: sf_proc_get_gui_procedures_select
28 --prog_object_item_id: get_gui_transl_nav_select
29 --template_desc: Control procedure for generating all get gui procedures
30
31 select
32 t1.platform,
33 t1.appl_lang_id,
34 t1.type_of_object,
35 t1.transl_object_id,
36 t1.transl_form,
37 t1.transl_grid,
38 t1.transl,
39 t1.transl_plural,
40 t1.tooltip_text,
41 t1.help_text
42 from gui_transl_nav t1
43
44
45 --control_proc_id: sf_gui_proc_get_gui_procedures
46 --template_id: sf_proc_get_gui_procedures_where
47 --prog_object_item_id: get_gui_transl_nav_where
48 --template_desc: Control procedure for generating all get gui procedures
49
50 where
51 (t1.usr_id = @local_usr_id)
52 and (t1.gui_appl_id = @local_gui_appl_id)
53 and (t1.platform = @local_platform)
54 and (t1.appl_lang_id = @local_appl_lang_id)
55
56
57 --control_proc_id: sf_gui_proc_get_gui_procedures
58 --template_id: sf_proc_get_gui_procedures_order_by
59 --prog_object_item_id: get_gui_transl_nav_order
60 --template_desc: Control procedure for generating all get gui procedures
61
62 order by
63 t1.project_id
64 ,t1.project_vrs_id
65 ,t1.platform
66 ,t1.appl_lang_id
67 ,t1.type_of_object
68 ,t1.transl_object_id
69
70
71end

 


Mark Jongeling
Administrator
Forum|alt.badge.img+23

The debugging of this will probably take some effort. Last thing I can think of that the gui_transl_nav view may be altered. Could you double check that one too?

If that also looks okay, then I suggest creating a ticket for this.


Johan van Eijsden
Captain
Forum|alt.badge.img+6

Hi, I checked the view in IAM and TSF and they both have same definition. But what I also see is that I have different definition for this view in MOD database. Let me share both below:

TSF and IAM:
 

1/* Create view gui_transl_nav. */
2
3create view [dbo].[gui_transl_nav]
4(
5 "usr_id",
6 "project_id",
7 "project_vrs_id",
8 "gui_appl_id",
9 "platform",
10 "appl_lang_id",
11 "type_of_object",
12 "transl_object_id",
13 "transl_form",
14 "transl_grid",
15 "transl",
16 "transl_plural",
17 "tooltip_text",
18 "help_text"
19)
20as
21
22
23 --control_proc_id: sf_gui_view_get_gui_views
24 --template_id: without_rights
25 --prog_object_item_id: body_gui_transl_nav
26 --template_desc: Get-gui view without role tables to check the rights
27
28 select
29 u.usr_id
30 ,v.project_id
31 ,v.project_vrs_id
32 ,v.gui_appl_id
33 ,t2.platform
34 ,t.appl_lang_id
35 ,t.type_of_object
36 ,t.transl_object_id
37 ,t.transl_form
38 ,t.transl_grid
39 ,t.transl
40 ,t.transl_plural
41 ,t.tooltip_text
42 ,case when t2.platform = 2 then null else t.help_text end
43 from usr u cross join gui_appl v
44
45 -- model table
46 join transl_nav t
47 on t.project_id = v.project_id
48 and t.project_vrs_id = v.project_vrs_id
49 and exists (select 1
50 from usr_role ur
51 where ur.project_id = t.project_id
52 and ur.project_vrs_id = t.project_vrs_id
53 and ur.gui_appl_id = v.gui_appl_id
54 and ur.usr_id = u.usr_id)
55
56
57 --control_proc_id: sf_gui_view_get_gui_views
58 --template_id: join_platform
59 --prog_object_item_id: join_platform_gui_transl_nav
60 --template_desc: Join platform
61
62 join platform t2
63 on t2.project_id = t.project_id
64 and t2.project_vrs_id = t.project_vrs_id
65GO

MOD:
 

1/* Create view gui_transl_nav. */
2
3create view [dbo].[gui_transl_nav]
4(
5 "project_id",
6 "project_vrs_id",
7 "appl_lang_id",
8 "type_of_object",
9 "transl_object_id",
10 "transl_form",
11 "transl_grid",
12 "transl",
13 "transl_plural",
14 "tooltip_text",
15 "help_text"
16)
17as
18
19
20 --control_proc_id: sf_view_get_gui_views
21 --template_id: sf_view_get_gui_views_gui_transl_nav
22 --prog_object_item_id: project_vrs_data
23 --template_desc: Control procedure die alle get_gui views maakt
24
25 select
26 t1.project_id, -- project_id,
27 t1.project_vrs_id, -- project_vrs_id,
28 t1.appl_lang_id, -- appl_lang_id,
29 t1.type_of_object, -- type_of_object,
30 t1.transl_object_id, -- transl_object_id,
31 t1.transl_form, -- transl_form,
32 t1.transl_grid, -- transl_grid,
33 t1.transl, -- transl,
34 t1.transl_plural, -- transl_plural,
35 t1.tooltip_text, -- tooltip_text,
36 t1.help_text -- help_text
37 from transl_object_transl t1
38
39
40 --control_proc_id: sf_view_get_gui_views
41 --template_id: sf_view_get_gui_views_gui_transl_nav_where
42 --prog_object_item_id: project_vrs_data_where
43 --template_desc: Control procedure die alle get_gui views maakt
44
45 where t1.type_of_object in ( 6, -- module_grp
46 12, -- list_bar
47 13, -- gui_object
48 87, -- tile_grp
49 294) -- menu
50 or t1.type_of_object = 0
51 and (
52 exists (
53 select 1
54 from list_bar_item i
55 where i.project_id = t1.project_id
56 and i.project_vrs_id = t1.project_vrs_id
57 and i.tab_id = t1.transl_object_id)
58 or exists (
59 select 1
60 from module_item i
61 where i.project_id = t1.project_id
62 and i.project_vrs_id = t1.project_vrs_id
63 and i.tab_id = t1.transl_object_id)
64 or exists (
65 select 1
66 from tile i
67 where i.project_id = t1.project_id
68 and i.project_vrs_id = t1.project_vrs_id
69 and i.tab_id = t1.transl_object_id)
70 )
71
72 or t1.type_of_object = 8
73 and (
74 exists (
75 select 1
76 from list_bar_item i
77 where i.project_id = t1.project_id
78 and i.project_vrs_id = t1.project_vrs_id
79 and i.process_id = t1.transl_object_id)
80 or exists (
81 select 1
82 from module_item i
83 where i.project_id = t1.project_id
84 and i.project_vrs_id = t1.project_vrs_id
85 and i.process_id = t1.transl_object_id)
86 or exists (
87 select 1
88 from tile i
89 where i.project_id = t1.project_id
90 and i.project_vrs_id = t1.project_vrs_id
91 and i.process_id = t1.transl_object_id)
92 )
93
94 or t1.type_of_object = 10
95 and (
96 exists (
97 select 1
98 from list_bar_item i
99 where i.project_id = t1.project_id
100 and i.project_vrs_id = t1.project_vrs_id
101 and i.report_id = t1.transl_object_id)
102 or exists (
103 select 1
104 from module_item i
105 where i.project_id = t1.project_id
106 and i.project_vrs_id = t1.project_vrs_id
107 and i.report_id = t1.transl_object_id)
108 or exists (
109 select 1
110 from tile i
111 where i.project_id = t1.project_id
112 and i.project_vrs_id = t1.project_vrs_id
113 and i.report_id = t1.transl_object_id)
114 )
115
116 or t1.type_of_object = 11
117 and (
118 exists (
119 select 1
120 from list_bar_item i
121 where i.project_id = t1.project_id
122 and i.project_vrs_id = t1.project_vrs_id
123 and i.task_id = t1.transl_object_id)
124 or exists (
125 select 1
126 from module_item i
127 where i.project_id = t1.project_id
128 and i.project_vrs_id = t1.project_vrs_id
129 and i.task_id = t1.transl_object_id)
130 or exists (
131 select 1
132 from tile i
133 where i.project_id = t1.project_id
134 and i.project_vrs_id = t1.project_vrs_id
135 and i.task_id = t1.transl_object_id)
136 )
137 or t1.type_of_object = 281
138 and (
139 exists (
140 select 1
141 from list_bar_item i
142 where i.project_id = t1.project_id
143 and i.project_vrs_id = t1.project_vrs_id
144 and i.tab_variant_id = t1.transl_object_id)
145 or exists (
146 select 1
147 from module_item i
148 where i.project_id = t1.project_id
149 and i.project_vrs_id = t1.project_vrs_id
150 and i.tab_variant_id = t1.transl_object_id)
151 or exists (
152 select 1
153 from tile i
154 where i.project_id = t1.project_id
155 and i.project_vrs_id = t1.project_vrs_id
156 and i.tab_variant_id = t1.transl_object_id)
157 )
158
159 or t1.type_of_object = 278
160 and (
161 exists (
162 select 1
163 from list_bar_item i
164 where i.project_id = t1.project_id
165 and i.project_vrs_id = t1.project_vrs_id
166 and i.report_variant_id = t1.transl_object_id)
167 or exists (
168 select 1
169 from module_item i
170 where i.project_id = t1.project_id
171 and i.project_vrs_id = t1.project_vrs_id
172 and i.report_variant_id = t1.transl_object_id)
173 or exists (
174 select 1
175 from tile i
176 where i.project_id = t1.project_id
177 and i.project_vrs_id = t1.project_vrs_id
178 and i.report_variant_id = t1.transl_object_id)
179 )
180
181 or t1.type_of_object = 291
182 and (
183 exists (
184 select 1
185 from list_bar_item i
186 where i.project_id = t1.project_id
187 and i.project_vrs_id = t1.project_vrs_id
188 and i.task_variant_id = t1.transl_object_id)
189 or exists (
190 select 1
191 from module_item i
192 where i.project_id = t1.project_id
193 and i.project_vrs_id = t1.project_vrs_id
194 and i.task_variant_id = t1.transl_object_id)
195 or exists (
196 select 1
197 from tile i
198 where i.project_id = t1.project_id
199 and i.project_vrs_id = t1.project_vrs_id
200 and i.task_variant_id = t1.transl_object_id)
201 )
202
203
204GO
205



I don’t know if it helps but another thing that I found is that when I run the below script in IAM or TSF database then I see no results but when I run it on MOD database then it gives me correct result:
 

1select * from gui_transl_nav where project_vrs_id='7.0' and transl_object_id = 'projectbeheer'

 


Mark Jongeling
Administrator
Forum|alt.badge.img+23
  • Administrator
  • 4047 replies
  • Answer
  • December 27, 2022

Hi Johan,

The difference can be explained as the Software Factory and IAM have different model definitions. For example, IAM makes use of a table called transl whilst the SF uses transl_object_transl (2023.1).

I'm not sure what the MOD database is or what it's use is. But it seems to me there have been alterations to database objects therefor limiting the result and causing issues. 

Again, I suggest creating a ticket for this. I feel that it would be necessary to rerun all scripts from the installation package (excluding 020_upgrade.sql). This will ensure that all objects are back to its original definition.


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings