DBA Data[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