DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_TERR_CHANGES_REPORT_PVT

Source


1 PACKAGE BODY JTF_TERR_CHANGES_REPORT_PVT AS
2 /* $Header: jtftrrcb.pls 120.0 2005/06/02 18:21:47 appldev ship $ */
3 
4  PROCEDURE report_wrapper
5     ( p_response IN varchar2,
6       --p_manager  in varchar2,
7       p_sd_date  IN varchar2,
8       p_sm_date  IN varchar2,
9       p_sy_date  IN varchar2,
10       p_ed_date  IN varchar2,
11       p_em_date  IN varchar2,
12       p_ey_date  IN varchar2)
13     IS
14 
15     --g_image_prefix  varchar2(250) := '/OA_MEDIA/'||icx_sec.getid(icx_sec.pv_language_code)||'/';
16     l_response      varchar2(2000);
17     l_agent         varchar2(2000);
18     p_orderby       varchar2(2000);
19     cid             INTEGER;
20     v_sql_st        varchar2(2000);
21 
22     v_date          date;
23     v_cost_center   varchar2(10);
24     v_name          varchar2(2000);
25     v_email         varchar2(2000);
26     v_count         varchar2(2000);
27      -- DBMS_
28     rows_processed  number;
29     l_from_date date;
30     l_to_date date;
31     v_temp          varchar2(2000);
32     p_select        varchar2(2000);
33     p_from          varchar2(2000);
34     p_where         varchar2(2000);
35     p_groupby       varchar2(2000);
36     p_count         number := 0;
37     l_rec_count     number;
38 
39 
40     l_display_type varchar2(100);
41     l_convert_to_id_flag varchar2(1);
42 
43 
44     -- cursor to get territory records
45     cursor cur_territory(c_from_date date, c_to_date date) is
46         select terr_id,  wf_notification.substitutespecialchars(name) name,
47                wf_notification.substitutespecialchars(terr_type_name) terr_type_name, rank,
48                trunc(creation_date) creation_date, trunc(last_update_date) last_update_date
49         from jtf_terr_overview_v
50         where last_update_date >= c_from_date  --'01-OCT-2001'
51             and last_update_date <= c_to_date;  --'11-JUN-1997'
52 /*    -- cursor to get salesreps DEVELOPMENT
53     CURSOR c_get_salesrep(ci_terr_id NUMBER) IS
54         select resource_id, resource_id || ': Rsc Name Not Available' resource_name
55         from jtf_terr_rsc where terr_id = ci_terr_id;
56 */
57     -- cursor to get salesreps DELIVERY
58     CURSOR c_get_salesrep(ci_terr_id NUMBER) IS
59         select distinct resource_id, wf_notification.substitutespecialchars(resource_name) resource_name
60         from jtf_terr_resources_v jtrv
61         where jtrv.terr_id = ci_terr_id
62         order by resource_name;
63 
64     -- cursor to get dynamic qualifiers
65     CURSOR c_get_terr_qual (p_template_terr_id NUMBER) IS
66         SELECT  distinct TERR_QUAL_ID,
67                 TERR_ID,
68                 QUAL_USG_ID,
69                 ORG_ID,
70                 wf_notification.substitutespecialchars(qualifier_name) qualifier_name
71         FROM    jtf_terr_qualifiers_v
72         WHERE   terr_id = p_template_terr_id;
73     -- cursor to get values for dynamic qualifier values
74     CURSOR c_get_terr_values (p_terr_qual_id NUMBER) IS
75         SELECT j1.TERR_VALUE_ID
76             , wf_notification.substitutespecialchars(j1.COMPARISON_OPERATOR) COMPARISON_OPERATOR
77             , wf_notification.substitutespecialchars(j1.LOW_VALUE_CHAR_DESC) LOW_VALUE_CHAR_DESC
78             , wf_notification.substitutespecialchars(j1.HIGH_VALUE_CHAR_DESC) HIGH_VALUE_CHAR_DESC
79             , j1.LOW_VALUE_NUMBER
80             , j1.HIGH_VALUE_NUMBER
81             , wf_notification.substitutespecialchars(j1.INTEREST_TYPE) INTEREST_TYPE
82             , wf_notification.substitutespecialchars(j1.PRIMARY_INTEREST_CODE) PRIMARY_INTEREST_CODE
83             , wf_notification.substitutespecialchars(j1.SECONDARY_INTEREST_CODE) SECONDARY_INTEREST_CODE
84             , wf_notification.substitutespecialchars(j1.CURRENCY_CODE) CURRENCY_CODE
85             , j1.LOW_VALUE_CHAR_ID
86             , wf_notification.substitutespecialchars(DISPLAY_TYPE) DISPLAY_TYPE
87             , wf_notification.substitutespecialchars(CONVERT_TO_ID_FLAG) CONVERT_TO_ID_FLAG
88         FROM   jtf_terr_values_desc_v j1
89         WHERE  j1.terr_qual_id = p_terr_qual_id
90         ORDER BY j1.value_set;
91 
92     BEGIN
93         fnd_client_info.set_org_context(fnd_profile.value('ORG_ID'));
94         l_response := p_response;
95 
96         select trunc(to_date(p_sd_date||'-'||p_sm_date||'-'||p_sy_date,'DD/MM/YYYY'))
97         into l_from_date
98         from dual;
99         select trunc(to_date(p_ed_date||'-'||p_em_date||'-'||p_ey_date,'DD/MM/YYYY'))
100         into l_to_date
101         from dual;
102 
103         /*
104         htp.p(l_from_date);
105         htp.br;
106         htp.p(l_to_date);
107         htp.br;
108         */
109 
110         if (icx_sec.validateSession(c_function_code => 'JTF_TERR_CHGS_RPT', c_validate_only => 'Y')) then
111             if l_response = 'Excel' then
112                   xls(l_from_date,l_to_date);
113             else
114                 --dbms_session.set_sql_trace(TRUE);
115                 l_agent := owa_util.get_cgi_env('SCRIPT_NAME');
116                 htp.htmlopen;
117                 htp.headOpen;
118                 htp.title('Territory Changes Report');
119                 htp.headClose;
120                 htp.bodyopen(cattributes=>'bgcolor="#CCCCCC"');
121                 /*htp.formOpen( curl => l_agent||'/'||'as_ofl_terr_changes_report.xls', cmethod => 'POST', cattributes => ' name="excel"');
122                 --htp.formHidden( cname => 'p_manager', cvalue => p_manager);
123                 htp.formHidden( cname => 'l_from_date', cvalue => l_from_date);
124                 htp.formHidden( cname => 'l_to_date', cvalue => l_to_date);
125                 htp.formClose;
126                 */
127                 htp.p('<CENTER>');
128                 htp.tableOpen('border="0"  ');
129                 htp.tableRowOpen( calign => 'TOP' );
130                 --htp.tableData( htf.img(curl=>g_image_prefix||'oppty.gif'));
131                 htp.tableData( '<FONT size=+1 face="times new roman">' || 'Territory Changes Report', cnowrap => 'TRUE');
132                 --htp.tabledata(htf.anchor('JavaScript:document.excel.submit();',htf.img(curl=>g_image_prefix||'up_excel.gif')),calign=>'Right',cattributes=>'width="100%"');
133                 htp.tableRowClose;
134                 htp.tableClose;
135                 htp.br;
136 
137 
138             htp.tableOpen (cattributes => 'COLS=4 border="1" width="100%"');
139             fnd_client_info.set_org_context(fnd_profile.value_wnps('ORG_ID'));
140             -- display territories
141             l_rec_count := 0;
142             FOR rec_terr in cur_territory(l_from_date, l_to_date) loop
143                 htp.tableRowOpen;
144                 htp.p('<TR NOWRAP bgcolor="#999999" >');
145                 htp.p('<th colspan="1" width="30%" align="center">');
146                 htp.p(rec_terr.name);
147                 htp.p('</th>');
148                 htp.p('<th colspan="1" width="20%" align="center">');
149                 htp.p('Rank: ' ||rec_terr.rank);
150                 htp.p('</th>');
151                 htp.p('<th colspan="1" width="20%" align="center">');
152                 htp.p('Type: ' ||rec_terr.terr_type_name);
153                 htp.p('</th>');
154                 htp.p('<th colspan="1" width="20%" align="center">');
155                 htp.p('Created: ' ||rec_terr.creation_date);
156                 htp.p('Updated: ' ||rec_terr.last_update_date);
157                 htp.p('</th>');
158                 htp.tableRowClose;
159                 l_rec_count := l_rec_count + 1;
160 
161                 -- display sales reps
162                 FOR rec_get_salesrep in c_get_salesrep(rec_terr.terr_id) loop
163                     htp.tableRowOpen;
164                     htp.p('<td colspan="2" width="50%" align="left"><bold>');
165                     htp.p(rec_get_salesrep.resource_name);
166                     htp.p('</bold></td>');
167                     --htp.p('<td colspan="2" width="50%" align="left">');
168                     --htp.p(rec_get_salesrep.resource_id);
169                     --htp.p('</td>');
170                     --htp.tableRowClose;
171                 END LOOP;
172                 -- display qualifiers
173                 FOR rec_get_terr_qual in c_get_terr_qual(rec_terr.terr_id) loop
174                     htp.tableRowOpen;
175                     htp.p('<TR NOWRAP bgcolor="#999999" >');
176                     htp.p('<td colspan="2" align="center" width="50%">');
177                     htp.p(rec_get_terr_qual.qualifier_name);
178                     htp.p('</td>');
179                     --htp.p('<td colspan="2" align="center" width="50%">');
180                     --htp.p('Terr_qual_id: ' ||rec_get_terr_qual.terr_qual_id);
181                     --htp.p('</td>');
182                     htp.tableRowClose;
183                     -- display qualifier values
184                     FOR rec_get_terr_values in c_get_terr_values(rec_get_terr_qual.terr_qual_id) loop
185                         -- output qualifier values according to display_type and convert_to_id_flag
186                         l_display_type := rec_get_terr_values.display_type;
187                         l_convert_to_id_flag := rec_get_terr_values.convert_to_id_flag;
188 
189                         If (l_display_type = 'CHAR') then
190                             If (l_convert_to_id_flag = 'Y') then
191                                 htp.tableRowOpen;
192                                 htp.p('<td align="left"><bold>');
193                                 htp.p(rec_get_terr_values.comparison_operator);
194                                 htp.p('</bold></td>');
195                                 htp.p('<td align="left"><bold>');
196                                 htp.p(rec_get_terr_values.low_value_char_desc);
197                                 htp.p('</bold></td>');
198                                 htp.p('<td align="left">');
199                                 htp.p(rec_get_terr_values.low_value_char_id);
200                                 htp.p('</td>');
201                                 htp.p('<td align="left"><bold>');
202                                 htp.p('');
203                                 htp.p('</bold></td>');
204                                 htp.tableRowClose;
205                              else -- (l_convert_to_id_flag = 'N')
206                                 htp.tableRowOpen;
207                                 htp.p('<td align="left"><bold>');
208                                     htp.p(rec_get_terr_values.comparison_operator);
209                                 htp.p('</bold></td>');
210                                 htp.p('<td align="left"><bold>');
211                                 htp.p(rec_get_terr_values.low_value_char_desc);
212                                 htp.p('</bold></td>');
213                                 htp.p('<td align="left">');
214                                 htp.p(rec_get_terr_values.high_value_char_desc);
215                                 htp.p('</td>');
216                                 htp.p('<td align="left"><bold>');
217                                 htp.p('');
218                                 htp.p('</bold></td>');
219                                 htp.tableRowClose;
220                             End if;
221                         elsif (l_display_type = 'INTEREST_TYPE') then
222                             htp.tableRowOpen;
223                             htp.p('<td align="left"><bold>');
224                             htp.p(rec_get_terr_values.comparison_operator);
225                             htp.p('</bold></td>');
226                             htp.p('<td align="left"><bold>');
227                             htp.p(rec_get_terr_values.interest_type);
228                             htp.p('</bold></td>');
229                             htp.p('<td align="left">');
230                             htp.p(rec_get_terr_values.primary_interest_code);
231                             htp.p('</td>');
232                             htp.p('<td align="left"><bold>');
233                             htp.p(rec_get_terr_values.secondary_interest_code);
234                             htp.p('</bold></td>');
235                             htp.tableRowClose;
236                         elsif (l_display_type = 'NUMBER') then
237                             htp.tableRowOpen;
238                             htp.p('<td align="left"><bold>');
239                             htp.p(rec_get_terr_values.comparison_operator);
240                             htp.p('</bold></td>');
241                             htp.p('<td align="left"><bold>');
242                             htp.p(rec_get_terr_values.low_value_number);
243                             htp.p('</bold></td>');
244                             htp.p('<td align="left">');
245                             htp.p(rec_get_terr_values.high_value_number);
246                             htp.p('</td>');
247                             htp.p('<td align="left"><bold>');
248                             htp.p('');
249                             htp.p('</bold></td>');
250                             htp.tableRowClose;
251                         elsif (l_display_type = 'CURRENCY') then
252                             htp.tableRowOpen;
253                             htp.p('<td align="left"><bold>');
254                             htp.p(rec_get_terr_values.comparison_operator);
255                             htp.p('</bold></td>');
256                             htp.p('<td align="left"><bold>');
257                             htp.p(rec_get_terr_values.low_value_number);
258                             htp.p('</bold></td>');
259                             htp.p('<td align="left">');
260                             htp.p(rec_get_terr_values.high_value_number);
261                             htp.p('</td>');
262                             htp.p('<td align="left"><bold>');
263                             htp.p(rec_get_terr_values.currency_code);
264                             htp.p('</bold></td>');
265                             htp.tableRowClose;
266                         else
267                             htp.tableRowOpen;
268                             htp.p('<td colspan="4" align="left"><bold>');
269                             htp.p('NO DATA DISPLAYED');
270                             htp.p('</bold></td>');
271                             htp.tableRowClose;
272                         end if;
273                     END LOOP;
274                 END LOOP;
275             END LOOP;
276             If l_rec_count = 0 then
277                 htp.p('No territories meet search criteria.');
278             End if;
279 
280            htp.tableClose;
281 
282                 /*
283                 htp.tableOpen (cattributes => 'border="1" width="100%"');
284                 htp.tableRowOpen;
285                 htp.p('<TR NOWRAP bgcolor="#999999" >');
286                 htp.p('<th NOWRAP align="CENTER" width="30%" valign="top">Territory Name</th>');
287                 htp.p('<th NOWRAP align="CENTER" width="15%" valign="top">SalesRep</th>');
288                 --htp.p('<th NOWRAP align="CENTER" width="10%" valign="top">Group Name</th>');
289                 htp.p('<th NOWRAP align="CENTER" width="5%" valign="top">Territory Type</th>');
290                 htp.p('<th NOWRAP align="CENTER" width="10%" valign="top">Qualifier Name</th>');
291                 htp.p('<th NOWRAP align="CENTER" width="10%" valign="top">Value1</th>');
292                 htp.p('<th NOWRAP align="CENTER" width="10%" valign="top">Value2</th>');
293                 htp.p('<th NOWRAP align="CENTER" width="10%" valign="top">Created/Updates</th>');
294                 htp.tableRowClose;
295                 -- display territories
296                 for  rec_territory in cur_territory(l_from_date, l_to_date) loop
297                     htp.tableRowOpen;
298                     htp.p('<td align="center">');
299                     htp.p(rec_territory.name||'/' ||rec_territory.terr_id || ' - ' || rec_territory.last_update_date);
300                     htp.p('</td>');
301                     htp.br;
302                     htp.tableRowClose;
303                 end loop;
304 
305                 --  DBMS_SQL.CLOSE_CURSOR(cid);
306                 htp.tableClose;
307                 */
308                 htp.Br;
309                 --  htp.p(p_count - 1||' records found');
310                 htp.bodyClose;
311                 htp.htmlClose;
312             end if;
313         else
314             htp.p('Invalid session');
315         end if;
316         -- dbms_session.set_sql_trace(FALSE);
317 
318     EXCEPTION
319       when no_data_found then
320 	   htp.print('Territory Changes Report: No Data Found!!!');
321       when others then
322 	   htp.print('report_wrapper: ' || substr(SQLERRM, 1,200));
323     END;
324 
325  ----------------------------------------------------------------------------------------------------------------------
326   PROCEDURE XLS (
327     l_from_date date,
328     l_to_date date)
329 
330     IS
331 
332     v_tab          varchar2(1);
333     v_tabrow       varchar2(32747);
334 
335     l_display_type varchar2(100);
336     l_convert_to_id_flag varchar2(1);
337     h1_divider      varchar2(100) := '****************************************';
338     h2_divider      varchar2(100) := '===================';
339     h3_divider      varchar2(100) := '-------------------';
340     l_counter       number;
341     l_counter2       number;
342     l_rec_count     number;
343 
344 
345 
346     -- cursor to get territory records
347     cursor cur_territory(c_from_date date, c_to_date date) is
348         select terr_id, wf_notification.substitutespecialchars(name) name,
349                wf_notification.substitutespecialchars(terr_type_name) terr_type_name, rank,
350                trunc(creation_date) creation_date, trunc(last_update_date) last_update_date
351         from jtf_terr_overview_v
352         where last_update_date >= c_from_date  --'01-OCT-2001'
353             and last_update_date <= c_to_date;  --'11-JUN-1997'
354 
355     -- cursor to get salesreps DELIVERY
356     CURSOR c_get_salesrep(ci_terr_id NUMBER) IS
357         select distinct resource_id, wf_notification.substitutespecialchars(resource_name) resource_name
358         from jtf_terr_resources_v jtrv
359         where jtrv.terr_id = ci_terr_id
360         order by resource_name;
361     -- cursor to get dynamic qualifiers
362     CURSOR c_get_terr_qual (p_template_terr_id NUMBER) IS
363         SELECT  distinct TERR_QUAL_ID,
364                 TERR_ID,
365                 QUAL_USG_ID,
366                 ORG_ID,
367                 wf_notification.substitutespecialchars(qualifier_name) qualifier_name
368         FROM    jtf_terr_qualifiers_v
369         WHERE   terr_id = p_template_terr_id;
370     -- cursor to get values for dynamic qualifier values
371     CURSOR c_get_terr_values (p_terr_qual_id NUMBER) IS
372         SELECT j1.TERR_VALUE_ID
373             , wf_notification.substitutespecialchars(j1.COMPARISON_OPERATOR) COMPARISON_OPERATOR
374             , wf_notification.substitutespecialchars(j1.LOW_VALUE_CHAR_DESC) LOW_VALUE_CHAR_DESC
375             , wf_notification.substitutespecialchars(j1.HIGH_VALUE_CHAR_DESC) HIGH_VALUE_CHAR_DESC
376             , j1.LOW_VALUE_NUMBER
377             , j1.HIGH_VALUE_NUMBER
378             , wf_notification.substitutespecialchars(j1.INTEREST_TYPE) INTEREST_TYPE
379             , wf_notification.substitutespecialchars(j1.PRIMARY_INTEREST_CODE) PRIMARY_INTEREST_CODE
380             , wf_notification.substitutespecialchars(j1.SECONDARY_INTEREST_CODE) SECONDARY_INTEREST_CODE
381             , wf_notification.substitutespecialchars(j1.CURRENCY_CODE) CURRENCY_CODE
382             , j1.LOW_VALUE_CHAR_ID
383             , wf_notification.substitutespecialchars(DISPLAY_TYPE) DISPLAY_TYPE
384             , wf_notification.substitutespecialchars(CONVERT_TO_ID_FLAG) CONVERT_TO_ID_FLAG
385         FROM   jtf_terr_values_desc_v j1
386         WHERE  j1.terr_qual_id = p_terr_qual_id
387         ORDER BY j1.value_set;
388 
389     BEGIN
390         owa_util.mime_header('application/excel');
391         fnd_client_info.set_org_context(fnd_profile.value('ORG_ID'));
392 
393         --  fnd_client_info.set_org_context(fnd_profile.value_wnps('ORG_ID'));
394         SELECT FND_GLOBAL.TAB
395         INTO v_tab
396         from dual;
397 
398         --htp.p(v_tabrow);
399         v_tabrow := null;
400     -- display territories
401     l_rec_count := 0;
402 
403     FOR rec_terr in cur_territory(l_from_date, l_to_date)  loop
404         /*
405         if cur_territory%rowcount > 1 then
406             v_tabrow := v_tabrow||' '||v_tab;
407             htp.p(v_tabrow);
408             htp.p(v_tabrow);
409             v_tabrow := null;
410         end if;
411         */
412         v_tabrow := null;
413         htp.p(v_tabrow); -- add a blank before each territory
414         v_tabrow := null;
415         v_tabrow := v_tabrow||rec_terr.name||v_tab;
416         v_tabrow := v_tabrow||'Rank: '||rec_terr.rank||v_tab;
417         v_tabrow := v_tabrow||'Type: '||rec_terr.terr_type_name||v_tab;
418         v_tabrow := v_tabrow||'Created: '||rec_terr.creation_date||' Updated: '||rec_terr.last_update_date||v_tab;
419         htp.p(v_tabrow);  -- print out prepared line
420         v_tabrow := null;
421         v_tabrow := v_tabrow||h1_divider||v_tab;
422         v_tabrow := v_tabrow||h1_divider||v_tab;
423         v_tabrow := v_tabrow||h1_divider||v_tab;
424         v_tabrow := v_tabrow||h1_divider||v_tab;
425         htp.p(v_tabrow);  -- divider since we dont' know how to format rows in XLS
426         -- display sales reps
427             l_counter2 := 0;
428         FOR rec_get_salesrep in c_get_salesrep(rec_terr.terr_id) loop
429             l_counter2 := l_counter2 + 1;
430             v_tabrow := null;
431             v_tabrow := v_tabrow||rec_get_salesrep.resource_name||v_tab;
432             --v_tabrow := v_tabrow||rec_get_salesrep.resource_name||'l_counter2: '||l_counter2||v_tab;
433             --v_tabrow := v_tabrow||rec_get_salesrep.resource_id||v_tab;
434             htp.p(v_tabrow);
435         END LOOP;
436             v_tabrow := null;
437             v_tabrow := v_tabrow||h2_divider||v_tab;
438             htp.p(v_tabrow);
439         -- display qualifiers
440         FOR rec_get_terr_qual in c_get_terr_qual(rec_terr.terr_id) loop
441             v_tabrow := null;
442             htp.p(v_tabrow); -- put in a CR before each qualifier
443             v_tabrow := null;
444             v_tabrow := v_tabrow||rec_get_terr_qual.qualifier_name||v_tab;
445             --v_tabrow := v_tabrow||rec_get_terr_qual.terr_qual_id||v_tab;
446             htp.p(v_tabrow);
447             v_tabrow := null;
448             v_tabrow := v_tabrow||h3_divider||v_tab;
449             htp.p(v_tabrow);
450 
451             -- display qualifier values
452             l_counter := 0;
453             FOR rec_get_terr_values in c_get_terr_values(rec_get_terr_qual.terr_qual_id) loop
454                 -- output qualifier values according to display_type and convert_to_id_flag
455                 l_display_type := rec_get_terr_values.display_type;
456                 l_convert_to_id_flag := rec_get_terr_values.convert_to_id_flag;
457                 l_counter := l_counter + 1;
458                 If (l_display_type = 'CHAR') then
459                     If (l_convert_to_id_flag = 'Y') then
460                         v_tabrow := null;
461                         v_tabrow := v_tabrow||rec_get_terr_values.comparison_operator||v_tab;
462                         v_tabrow := v_tabrow||rec_get_terr_values.low_value_char_desc||v_tab;
463                         --v_tabrow := v_tabrow||rec_get_terr_values.low_value_char_id|| 'CHAR_Y l_counter:'||l_counter|| v_tab;
464                         v_tabrow := v_tabrow||rec_get_terr_values.low_value_char_id||v_tab;
465                         htp.p(v_tabrow);
466                     else -- (l_convert_to_id_flag = 'N')
467                         v_tabrow := null;
468                         v_tabrow := v_tabrow||rec_get_terr_values.comparison_operator||v_tab;
469                         v_tabrow := v_tabrow||rec_get_terr_values.low_value_char_desc||v_tab;
470                         --v_tabrow := v_tabrow||rec_get_terr_values.high_value_char_desc|| 'CHAR_N l_counter:'||l_counter|| v_tab;
471                         v_tabrow := v_tabrow||rec_get_terr_values.high_value_char_desc||v_tab;
472                         htp.p(v_tabrow);
473                     End if;
474                 elsif (l_display_type = 'INTEREST_TYPE') then
475                     v_tabrow := null;
476                     v_tabrow := v_tabrow||rec_get_terr_values.comparison_operator||v_tab;
477                     v_tabrow := v_tabrow||rec_get_terr_values.interest_type||v_tab;
478                     v_tabrow := v_tabrow||rec_get_terr_values.primary_interest_code||v_tab;
479                     --v_tabrow := v_tabrow||rec_get_terr_values.secondary_interest_code|| 'INT_T l_counter:'||l_counter|| v_tab;
480                     v_tabrow := v_tabrow||rec_get_terr_values.secondary_interest_code||v_tab;
481                     htp.p(v_tabrow);
482                 elsif (l_display_type = 'NUMBER') then
483                     v_tabrow := null;
484                     v_tabrow := v_tabrow||rec_get_terr_values.comparison_operator||v_tab;
485                     v_tabrow := v_tabrow||rec_get_terr_values.low_value_number||v_tab;
486                     --v_tabrow := v_tabrow||rec_get_terr_values.high_value_number|| 'NUM l_counter:'||l_counter|| v_tab;
487                     v_tabrow := v_tabrow||rec_get_terr_values.high_value_number||v_tab;
488                     htp.p(v_tabrow);
489                 elsif (l_display_type = 'CURRENCY') then
490                     v_tabrow := null;
491                     v_tabrow := v_tabrow||rec_get_terr_values.comparison_operator||v_tab;
492                     v_tabrow := v_tabrow||rec_get_terr_values.low_value_number||v_tab;
493                     v_tabrow := v_tabrow||rec_get_terr_values.high_value_number||v_tab;
494                     --v_tabrow := v_tabrow||rec_get_terr_values.currency_code|| 'CUR l_counter:'||l_counter|| v_tab;
495                     v_tabrow := v_tabrow||rec_get_terr_values.currency_code||v_tab;
496                     htp.p(v_tabrow);
497                 else
498                     v_tabrow := null;
499                     v_tabrow := v_tabrow||'NO DATA DISPLAYED'||v_tab;
500                     htp.p(v_tabrow);
501                 end if;
502             END LOOP;
503         END LOOP;
504     END LOOP;
505     If l_rec_count = 0 then
506         v_tabrow := null;
507         v_tabrow := v_tabrow||'No territories meet search criteria.'||v_tab;
508         htp.p(v_tabrow);
509     End if;
510 
511 
512     exception
513     when no_data_found then
514         htp.print('Territory Changes excel: No Data Found!!!');
515 	when others then
516         htp.print('Territory Changes excel: '||substr(SQLERRM, 1,200));
517   END XLS;
518 
519 
520 END;