[Home] [Help]
PACKAGE BODY: APPS.ICX_TAG
Source
1 PACKAGE BODY icx_tag as
2 /* $Header: ICXTAGB.pls 115.3 99/07/17 03:29:32 porting ship $ */
3
4 -----------------------------------------------------------
5 PROCEDURE TAG_MAINT is
6 -----------------------------------------------------------
7 v_help_url VARCHAR2(2000) := NULL;
8 v_language_code VARCHAR2(30) :=NULL;
9 v_title varchar2(45) ;
10 v_prompts icx_util.g_prompts_table;
11 v_line_table icx_util.char240_table;
12 v_tag_val varchar2(40);
13 v_new_proc varchar2(100);
14 v_new_prompt varchar2(100);
15 v_order_by varchar2(100);
16
17
18 BEGIN
19
20 IF icx_sec.validateSession THEN
21 v_language_code := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
22 v_help_url := '/OA_DOC/' || v_language_code ||'/awc' || '/icxstim.htm';
23
24 htp.htmlOpen;
25 htp.title('HTML Template Tags');
26 htp.headOpen;
27 js.scriptOpen;
28
29 /****** Assigns the help page and paints the toolbar *******/
30
31 icx_admin_sig.help_win_script('/OA_DOC/'||v_language_code||'/awc/FILL_IN_LATER.htm');
32 js.scriptClose;
33 icx_admin_sig.toolbar(language_code => v_language_code);
34
35
36 /***** Gets the title of the page *******/
37
38 icx_util.getprompts(601,'ICX_TEMPL_TAG_HDR_R',v_title,v_prompts);
39 htp.p('<b><h2>'||v_title||'</b></h2>');
40 htp.p('<TD WIDTH=2000 bgcolor=#0033FF><IMG SRC=/OA_MEDIA/'|| v_language_code || '/FNDIBLBR.gif WIDTH=890 HEIGHT=2></TD>');
41
42
43 htp.headClose;
44 js.scriptClose;
45
46 v_order_by := 'TAG_NAME';
47 /*****Prints the tags ******/
48
49 ak_query_pkg.exec_query( P_PARENT_REGION_APPL_ID => 601,
50 P_PARENT_REGION_CODE => 'ICX_TEMPL_TAG_HDR_R',
51 P_ORDER_BY_CLAUSE => v_order_by,
52 P_RESPONSIBILITY_ID => icx_sec.getID( icx_sec.PV_RESPONSIBILITY_ID ),
53 P_USER_ID => icx_sec.getID( icx_sec.PV_WEB_USER_ID ),
54 P_RETURN_PARENTS => 'T');
55
56 if ak_query_pkg.g_results_table.COUNT > 0 then
57
58
59 for i in ak_query_pkg.g_results_table.first .. ak_query_pkg.g_results_table.last loop
60
61 icx_util.transfer_row_to_column(ak_query_pkg.g_results_table(i),v_line_table);
62
63 for k in ak_query_pkg.g_items_table.first..ak_query_pkg.g_items_table.last loop
64
65 if ak_query_pkg.g_items_table(k).secured_column = 'F' and
66 ak_query_pkg.g_items_table(k).node_display_flag = 'Y' and
67 ak_query_pkg.g_items_table(k).value_id is not NULL then
68 v_tag_val := (v_line_table(ak_query_pkg.g_items_table(k).value_id));
69 htp.p('<A HREF ="icx_tag.tag_det?p_tag='||v_tag_val||'">'||v_tag_val||'</A>');
70 htp.p('<BR>');
71
72 end if;
73 end loop;
74 end loop ;
75
76 /***********Paint New Button*********/
77 v_new_proc := 'icx_tag.tag_det';
78 v_new_prompt := 'ADD NEW TAG';
79
80 htp.p('<br> <br>');
81 icx_util.DynamicButton(P_ButtonText => v_new_prompt,
82 P_ImageFileName => 'FNDBNEW',
83 P_OnMouseOverText => v_new_prompt,
84 P_HyperTextCall => v_new_proc,
85 P_LanguageCode => v_language_code,
86 P_JavaScriptFlag => FALSE);
87
88 else
89
90 htp.bodyOpen('','BGCOLOR="#CCFFCC"');
91 fnd_message.set_name('ICX','ICX_NO_RECORDS_FOUND');
92 htp.p('<H3>'||fnd_message.get||'</H3>');
93 htp.bodyClose;
94
95 end if;
96
97
98 END IF;
99 end tag_maint;
100
101
102 ----------------------------------------------------------------------
103 PROCEDURE TAG_DET (p_tag IN varchar2 default NULL,
104 p_copy varchar2 default NULL) IS
105 ----------------------------------------------------------------------
106
107
108 CURSOR c_application
109 is
110 select application_id, application_name from fnd_application_vl;
111 v_replacement_text_temp varchar2(4000) default null;
112 l_application_id number;
113 l_application_name varchar2(50) := null;
114 v_application_name varchar2(50) :=null;
115 v_help_url VARCHAR2(2000) := NULL;
116 v_language_code VARCHAR2(30) :=NULL;
117 v_title varchar2(45) ;
118 v_prompts icx_util.g_prompts_table;
119 v_where_clause varchar2(1000);
120 v_tag_name varchar2(200) default NULL;
121 v_application_id number default NULL;
122 v_tag_description varchar2(4000) default NULL;
123 v_replacement_text varchar2(4000) default NULL;
124 v_protected varchar2(1) default NULL;
125 p_copy_temp varchar2(1);
126
127 BEGIN
128
129 IF icx_sec.validateSession THEN
130 v_language_code := icx_sec.getID(icx_sec.PV_LANGUAGE_CODE);
131 v_help_url := '/OA_DOC/' || v_language_code ||'/awc' || '/icxstim.htm';
132
133 htp.htmlOpen;
134 htp.title('HTML Template Tags');
135 htp.headOpen;
136 js.scriptOpen;
137
138
139 htp.p('function submit_request() {
140 var name_msg = "Please enter values for all the fields"
141 if (document.enter_tag.p_tag_name.value == "")
142 { alert(name_msg);}
143 else if (document.enter_tag.p_tag_description.value =="")
144 { alert (name_msg); }
145 else if (document.enter_tag.p_replacement_text.value =="")
146 {alert (name_msg);}
147 else
148 {document.enter_tag.submit() }
149 }
150 ');
151
152
153 htp.p('function revert() {
154 document.enter_tag.reset() }');
155
156
157 /****** Assigns the help page and paints the toolbar *******/
158
159 icx_admin_sig.help_win_script('/OA_DOC/'||v_language_code||'/awc/FILL_IN_LATER.htm');
160 js.scriptClose;
161 icx_admin_sig.toolbar(language_code => v_language_code);
162
163 /***** Gets the title of the page *******/
164
165 icx_util.getprompts(601,'ICX_TEMPL_TAG_DTLS_R',v_title,v_prompts);
166 htp.p('<b><h2>'||v_title||'</b></h2>');
167 htp.p('<TD WIDTH=2000 bgcolor=#0033FF><IMG SRC=/OA_MEDIA/'|| v_language_code || '/FNDIBLBR.gif WIDTH=890 HEIGHT=2></TD>');
168
169
170 htp.headClose;
171 js.scriptClose;
172
173
174 htp.formOpen('icx_tag.update_tag_det','POST','','','NAME="enter_tag"');
175
176 /************Prints the page for a new or unprotected tag*******************/
177
178 IF p_tag IS NOT NULL THEN
179 select
180 tag_name,
181 application_id,
182 tag_description,
183 replacement_text,
184 protected
185 into
186 v_tag_name,
187 v_application_id,
188 v_tag_description,
189 v_replacement_text,
190 v_protected
191 from
192 icx_template_tags
193 where
194 tag_name = p_tag;
195 END IF;
196
197
198 IF v_protected = 'N' OR p_tag is null OR p_copy = 'Y' THEN
199
200 htp.tableOpen;
201 htp.tableRowOpen;
202 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(1)||'</B></TD>');
203
204 /**********Leave the name field blank if it is being copied **************/
205 IF p_copy ='Y' then
206 htp.tableData(cvalue => htf.formText(cname => 'p_tag_name', csize => '40'));
207 ELSE
208 htp.tableData(cvalue => htf.formText(cname => 'p_tag_name', csize => '40', cvalue => v_tag_name));
209 END IF;
210 htp.tableRowClose;
211
212 htp.tableRowOpen;
213 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(2)||'</B></TD>');
214 htp.p('<TD>');
215 htp.formSelectOpen ('p_application_id');
216 open c_application;
217 loop
218 fetch c_application into l_application_id, l_application_name;
219 IF c_application%notfound then exit;
220 END IF;
221 IF v_application_id = l_application_id THEN
222 htp.p('<option value = '||l_application_id||' SELECTED>'||l_application_name||'');
223 ELSIF
224 l_application_id = 178 THEN
225 htp.p('<option value = '||l_application_id||' SELECTED>'||l_application_name||'');
226 ELSE
227 htp.p('<option value = '||l_application_id||' >'||l_application_name||'');
228 END IF;
229 end loop;
230 htp.p('</select');
231 htp.p('</TD');
232 htp.tableRowClose;
233
234 htp.tableRowOpen;
235 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(3)||'</B></TD>');
236 htp.p('<td>');
237 htp.p('<TEXTAREA NAME ="p_tag_description" COLS ="60" ROWS ="5">'||v_tag_description||'</TEXTAREA>');
238 htp.p('</td>');
239 htp.tableRowClose;
240
241
242 htp.tableRowOpen;
243 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(4)||'</B></TD>');
244 htp.p('<td>');
245 v_replacement_text_temp := (''||v_replacement_text||'');
246 htp.p('<TEXTAREA NAME ="p_replacement_text" COLS ="60" ROWS ="5">'||v_replacement_text_temp||'</TEXTAREA>');
247 htp.p('</td>');
248 htp.tableRowClose;
249 htp.tableRowOpen;
250 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(5)||'</B></TD>');
251
252 htp.p('<td>');
253 htp.p('<SELECT NAME= "p_protected">');
254 htp.p('<option value="Y" >Yes');
255 htp.p('<option value="N" selected>No');
256 htp.p('</select>');
257 htp.p('</td>');
258 htp.tableClose;
259 htp.p('<BR><BR>');
260 /**********Paints the Save Button************/
261 icx_util.DynamicButton(P_ButtonText => 'SAVE',
262 P_ImageFileName => 'FNDBSAVE',
263 P_OnMouseOverText => 'SAVE',
264 P_HyperTextCall => 'javascript:submit_request()',
265 P_LanguageCode => v_language_code,
266 P_JavaScriptFlag => FALSE);
267
268 /**********Paints the Revert Button*******/
269 icx_util.DynamicButton(P_ButtonText => 'REVERT',
270 P_ImageFileName => 'FNDBCLR',
271 P_OnMouseOverText =>'REVERT',
272 P_HyperTextCall => 'javascript:revert()',
273 P_LanguageCode => v_language_code,
274 P_JavaScriptFlag => FALSE);
275
276 /**********Paints the Copy Button for existing tags*******/
277 IF p_copy IS NULL and p_tag IS NOT NULL THEN
278 p_copy_temp := 'Y';
279 icx_util.DynamicButton(P_ButtonText => 'COPY',
280 P_ImageFileName => 'FNDBNEW',
281 P_OnMouseOverText =>'COPY TAG',
282 P_HyperTextCall => 'icx_tag.tag_det?p_tag='||v_tag_name||'&p_copy='||p_copy_temp,
283 P_LanguageCode => v_language_code,
284 P_JavaScriptFlag => FALSE);
285 END IF;
286
287
288 ELSE
289 /********Prints the data as text for tags which are protected*********/
290 htp.tableOpen;
291
292 htp.tableRowOpen;
293 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(1)||'</B></TD>');
294 htp.p('<td>');
295 htp.p (v_tag_name);
296 htp.p('</td>');
297 htp.tableRowClose;
298
299 htp.tableRowOpen;
300 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(2)||'</B></TD>');
301 open c_application;
302 loop
303 fetch c_application into l_application_id, l_application_name;
304 IF c_application%notfound then
305 exit;
306 END IF;
307 IF l_application_id = v_application_id THEN
308 v_application_name := l_application_name;
309 END IF;
310 end loop;
311 htp.p('<td>');
312 htp.p (v_application_name);
313 htp.p('</td>');
314 htp.tableRowClose;
315
316
317 htp.tableRowOpen;
318 htp.p('<TD ALIGN = RIGHT ><B>'||v_prompts(3)||'</B></TD>');
319 htp.p('<td>');
320 htp.p (v_tag_description);
321 htp.p('</td>');
322 htp.tableRowClose;
323
324
325 htp.tableRowOpen;
326 htp.p('<TD ALIGN = RIGHT ><B>'||v_prompts(4)||'</B></TD>');
327 htp.p('<TD ALIGN = BOTTOM>');
328 htp.p('<xmp>');
329 htp.p (v_replacement_text);
330 htp.P('</xmp>');
331 htp.p('</TD>');
332 htp.tableRowClose;
333
334 htp.tableRowOpen;
335 htp.p('<TD ALIGN = RIGHT><B>'||v_prompts(5)||'</B></TD>');
336 htp.p('<td>');
337 htp.p ('YES');
338 htp.p('</td>');
339 htp.tableRowClose;
340 htp.tableClose;
341 htp.p('<BR> <BR>');
342
343 /**********Paints the Copy Button *******/
344 p_copy_temp := 'Y';
345 icx_util.DynamicButton(P_ButtonText => 'COPY',
346 P_ImageFileName => 'FNDBCLR',
347 P_OnMouseOverText =>'COPY TAG',
348 P_HyperTextCall => 'icx_tag.tag_det?p_tag='||v_tag_name||'&p_copy='||p_copy_temp,
349 P_LanguageCode => v_language_code,
350 P_JavaScriptFlag => FALSE);
351
352 END IF;
353 htp.formClose;
354
355 htp.htmlClose;
356
357
358 END IF;
359
360 END tag_det;
361
362 -------------------------------------------------------------------
363 PROCEDURE update_tag_det (p_tag_name varchar2 ,
364 p_application_id number := null,
365 p_tag_description varchar2 := null,
366 p_replacement_text varchar2 :=null,
367 p_protected varchar2 := null) AS
368 -------------------------------------------------------------------
369 v_tag_name_exists number;
370
371 BEGIN
372 select count(*) into v_tag_name_exists from
373 icx_template_tags
374 where tag_name = p_tag_name;
375 IF v_tag_name_exists =1 THEN
376 UPDATE ICX_TEMPLATE_TAGS SET application_id = p_application_id,
377 tag_description = p_tag_description,
378 replacement_text = p_replacement_text,
379 protected = upper(p_protected),
380 last_updated_by = -1,
381 last_update_date = sysdate
382 WHERE tag_name = p_tag_name ;
383
384 ELSE
385 insert into icx_template_tags(
386 tag_name,
387 application_id,
388 tag_description,
389 replacement_text,
390 protected,
391 last_updated_by,
392 last_update_date,
393 creation_date,
394 created_by )
395 values
396 (p_tag_name,
397 p_application_id,
398 p_tag_description,
399 p_replacement_text,
400 p_protected,
401 -1,
402 sysdate,
403 sysdate,
404 -1);
405 END IF;
406 icx_tag.tag_maint;
407 exception
408 when others then
409 htp.p(sqlerrm);
410
411
412 END update_tag_det;
413
414
415 end icx_tag;
416