DBA Data[Home] [Help]

PACKAGE BODY: APPS.XNP_NUMBER_SPLITS$NUMBER_SPLIT

Source


1 package body xnp_number_splits$number_split as
2 /* $Header: XNPNUM2B.pls 120.1 2005/06/21 04:10:54 appldev ship $ */
3 
4 
5    procedure FormView(Z_FORM_STATUS in number);
6    function BuildSQL(
7             P_L_NRE_OBJECT_REFERENCE in varchar2 default null,
8             P_L_NRE2_OBJECT_REFERENCE in varchar2 default null,
9             P_PERMISSIVE_DIAL_START_DATE in varchar2 default null,
10             U_PERMISSIVE_DIAL_START_DATE in varchar2 default null,
11             P_PERMISSIVE_DIAL_END_DATE in varchar2 default null,
12             U_PERMISSIVE_DIAL_END_DATE in varchar2 default null,
13             P_L_NRE_STARTING_NUMBER in varchar2 default null,
14             P_L_NRE_ENDING_NUMBER in varchar2 default null,
15             P_L_NRE2_STARTING_NUMBER in varchar2 default null,
16             P_L_NRE2_ENDING_NUMBER in varchar2 default null) return boolean;
17    function PreQuery(
18             P_L_NRE_OBJECT_REFERENCE in varchar2 default null,
19             P_L_NRE2_OBJECT_REFERENCE in varchar2 default null,
20             P_PERMISSIVE_DIAL_START_DATE in varchar2 default null,
21             U_PERMISSIVE_DIAL_START_DATE in varchar2 default null,
22             P_PERMISSIVE_DIAL_END_DATE in varchar2 default null,
23             U_PERMISSIVE_DIAL_END_DATE in varchar2 default null,
24             P_L_NRE_STARTING_NUMBER in varchar2 default null,
25             P_L_NRE_ENDING_NUMBER in varchar2 default null,
26             P_L_NRE2_STARTING_NUMBER in varchar2 default null,
27             P_L_NRE2_ENDING_NUMBER in varchar2 default null) return boolean;
28    function PostQuery(Z_POST_DML in boolean) return boolean;
29    procedure CreateQueryJavaScript;
30    procedure CreateListJavaScript;
31    function NEW_NUMBER_RANGE_ID_TranslateF(
32             P_L_NRE2_OBJECT_REFERENCE in varchar2 default null,
33             P_L_NRE2_STARTING_NUMBER in varchar2 default null,
34             P_L_NRE2_ENDING_NUMBER in varchar2 default null,
35             Z_MODE in varchar2 default 'D') return boolean;
36    function OLD_NUMBER_RANGE_ID_TranslateF(
37             P_L_NRE_OBJECT_REFERENCE in varchar2 default null,
38             P_L_NRE_STARTING_NUMBER in varchar2 default null,
39             P_L_NRE_ENDING_NUMBER in varchar2 default null,
40             Z_MODE in varchar2 default 'D') return boolean;
41 
42    QF_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
43    QF_QUERY_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_FIND_BUTTON'));
44    QF_CLEAR_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_CLEAR_BUTTON'));
45    QF_QUERY_BUT_ACTION    constant varchar2(10)  := 'QUERY';
46    QF_CLEAR_BUT_ACTION    constant varchar2(10)  := 'CLEAR';
47    QF_NUMBER_OF_COLUMNS   constant number(4)	 := 2;
48    VF_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
49    VF_UPDATE_BUT_CAPTION  constant varchar2(100) := XNP_WSGL.MsgGetText(6,XNP_WSGLM.CAP006_VF_UPDATE);
50    VF_CLEAR_BUT_CAPTION   constant varchar2(100) := XNP_WSGL.MsgGetText(8,XNP_WSGLM.CAP008_VF_REVERT);
51    VF_DELETE_BUT_CAPTION  constant varchar2(100) := XNP_WSGL.MsgGetText(7,XNP_WSGLM.CAP007_VF_DELETE);
52    VF_UPDATE_BUT_ACTION   constant varchar2(10)  := 'UPDATE';
53    VF_CLEAR_BUT_ACTION    constant varchar2(10)  := 'CLEAR';
54    VF_DELETE_BUT_ACTION   constant varchar2(10)  := 'DELETE';
55    VF_VERIFIED_DELETE     constant varchar2(100) := 'VerifiedDelete';
56    VF_NUMBER_OF_COLUMNS   constant number(4)	 := 2;
57    RL_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
58    RL_NEXT_BUT_CAPTION    constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_NEXT_BUTTON'));
59    RL_PREV_BUT_CAPTION    constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_PREVIOUS_BUTTON'));
60    RL_FIRST_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_FIRST_BUTTON'));
61    RL_LAST_BUT_CAPTION    constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_LAST_BUTTON'));
62    RL_COUNT_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_COUNT_BUTTON'));
63    RL_REQUERY_BUT_CAPTION constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_REFRESH_BUTTON'));
64    RL_QUERY_BUT_CAPTION  constant varchar2(100)  := htf.escape_sc(fnd_message.get_string('XNP','WEB_SEARCH_BUTTON'));
65    RL_QUERY_BUT_ACTION    constant varchar2(10)  := 'QUERY';
66    RL_NEXT_BUT_ACTION     constant varchar2(10)  := 'NEXT';
67    RL_PREV_BUT_ACTION     constant varchar2(10)  := 'PREV';
68    RL_FIRST_BUT_ACTION    constant varchar2(10)  := 'FIRST';
69    RL_LAST_BUT_ACTION     constant varchar2(10)  := 'LAST';
70    RL_COUNT_BUT_ACTION    constant varchar2(10)  := 'COUNT';
71    RL_REQUERY_BUT_ACTION  constant varchar2(10)  := 'REQUERY';
72    RL_RECORD_SET_SIZE     constant number(4)     := 10;
73    RL_TOTAL_COUNT_REQD    constant boolean       := TRUE;
74    RL_NUMBER_OF_COLUMNS   constant number(4)     := 1;
75    LOV_BODY_ATTRIBUTES    constant varchar2(500) := 'BGCOLOR="CCCCCC"';
76    LOV_FIND_BUT_CAPTION   constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_FIND_BUTTON'));
77    LOV_CLOSE_BUT_CAPTION  constant varchar2(100) := htf.escape_sc(fnd_message.get_string('XNP','WEB_CLOSE_BUTTON'));
78    LOV_FIND_BUT_ACTION    constant  varchar2(10) := 'FIND';
79    LOV_CLOSE_BUT_ACTION   constant varchar2(10)  := 'CLOSE';
80    LOV_BUTTON_TEXT        constant varchar2(100) := htf.italic(fnd_message.get_string('XNP','LIST_OF_VALUES'));
81    LOV_FRAME              constant varchar2(20)  := null;
82    TF_BODY_ATTRIBUTES     constant varchar2(500) := 'BGCOLOR="CCCCCC"';
83    DEF_BODY_ATTRIBUTES    constant varchar2(500) := 'BGCOLOR="CCCCCC"';
84 
85    CURR_VAL XNP_NUMBER_SPLITS%ROWTYPE;
86 
87    TYPE FORM_REC IS RECORD
88         (NUMBER_SPLIT_ID     VARCHAR2(8)
89         ,NEW_NUMBER_RANGE_ID VARCHAR2(8)
90         ,OLD_NUMBER_RANGE_ID VARCHAR2(8)
91         ,L_NRE_OBJECT_REFERENCE VARCHAR2(80)
92         ,L_NRE2_OBJECT_REFERENCE VARCHAR2(80)
93         ,PERMISSIVE_DIAL_START_DATE VARCHAR2(20)
94         ,PERMISSIVE_DIAL_END_DATE VARCHAR2(20)
95         ,L_NRE_STARTING_NUMBER VARCHAR2(20)
96         ,L_NRE_ENDING_NUMBER VARCHAR2(20)
97         ,L_NRE2_STARTING_NUMBER VARCHAR2(20)
98         ,L_NRE2_ENDING_NUMBER VARCHAR2(20)
99         ,CONVERSION_PROCEDURE VARCHAR2(2000)
100         );
101    FORM_VAL   FORM_REC;
102 
103    TYPE NBT_REC IS RECORD
104         (L_NRE_OBJECT_REFERENCE XNP_NUMBER_RANGES.OBJECT_REFERENCE%TYPE
105         ,L_NRE2_OBJECT_REFERENCE XNP_NUMBER_RANGES.OBJECT_REFERENCE%TYPE
106         ,L_NRE_STARTING_NUMBER XNP_NUMBER_RANGES.STARTING_NUMBER%TYPE
107         ,L_NRE_ENDING_NUMBER XNP_NUMBER_RANGES.ENDING_NUMBER%TYPE
108         ,L_NRE2_STARTING_NUMBER XNP_NUMBER_RANGES.STARTING_NUMBER%TYPE
109         ,L_NRE2_ENDING_NUMBER XNP_NUMBER_RANGES.ENDING_NUMBER%TYPE
110         );
111    NBT_VAL    NBT_REC;
112 
113    ZONE_SQL   VARCHAR2(3300) := null;
114 
115 --------------------------------------------------------------------------------
116 -- Name:        xnp_number_splits$number_split.NEW_NUMBER_RANGE_ID_TranslateF
117 --
118 -- Description:
119 --
120 -- Parameters:
121 --
122 --------------------------------------------------------------------------------
123    function NEW_NUMBER_RANGE_ID_TranslateF(
124             P_L_NRE2_OBJECT_REFERENCE in varchar2,
125             P_L_NRE2_STARTING_NUMBER in varchar2,
126             P_L_NRE2_ENDING_NUMBER in varchar2,
127             Z_MODE in varchar2) return boolean is
128    begin
129       select L_NRE2.NUMBER_RANGE_ID
130       into   CURR_VAL.NEW_NUMBER_RANGE_ID
131       from   XNP_NUMBER_RANGES L_NRE2
132       where  rownum = 1
133       and   ( L_NRE2.OBJECT_REFERENCE = P_L_NRE2_OBJECT_REFERENCE )
134       and   ( L_NRE2.STARTING_NUMBER = P_L_NRE2_STARTING_NUMBER )
135       and   ( L_NRE2.ENDING_NUMBER = P_L_NRE2_ENDING_NUMBER );
136       return TRUE;
137    exception
138          when no_data_found then
139             XNP_cg$errors.push('New Range, New Range Starting Number, New Range Ending Number: '||
140                            XNP_WSGL.MsgGetText(226,XNP_WSGLM.MSG226_INVALID_FK),
141                            'E', 'WSG', SQLCODE, 'xnp_number_splits$number_split.NEW_NUMBER_RANGE_ID_TranslateF');
142             return FALSE;
143          when too_many_rows then
144             XNP_cg$errors.push('New Range, New Range Starting Number, New Range Ending Number: '||
145                            XNP_WSGL.MsgGetText(227,XNP_WSGLM.MSG227_TOO_MANY_FKS),
146                            'E', 'WSG', SQLCODE, 'xnp_number_splits$number_split.NEW_NUMBER_RANGE_ID_TranslateF');
147             return FALSE;
148          when others then
149             XNP_cg$errors.push('New Range, New Range Starting Number, New Range Ending Number: '||SQLERRM,
150                            'E', 'WSG', SQLCODE, 'xnp_number_splits$number_split.NEW_NUMBER_RANGE_ID_TranslateF');
151             return FALSE;
152    end;
153 --------------------------------------------------------------------------------
154 -- Name:        xnp_number_splits$number_split.OLD_NUMBER_RANGE_ID_TranslateF
155 --
156 -- Description:
157 --
158 -- Parameters:
159 --
160 --------------------------------------------------------------------------------
161    function OLD_NUMBER_RANGE_ID_TranslateF(
162             P_L_NRE_OBJECT_REFERENCE in varchar2,
163             P_L_NRE_STARTING_NUMBER in varchar2,
164             P_L_NRE_ENDING_NUMBER in varchar2,
165             Z_MODE in varchar2) return boolean is
166    begin
167       select L_NRE.NUMBER_RANGE_ID
168       into   CURR_VAL.OLD_NUMBER_RANGE_ID
169       from   XNP_NUMBER_RANGES L_NRE
170       where  rownum = 1
171       and   ( L_NRE.OBJECT_REFERENCE = P_L_NRE_OBJECT_REFERENCE )
172       and   ( L_NRE.STARTING_NUMBER = P_L_NRE_STARTING_NUMBER )
173       and   ( L_NRE.ENDING_NUMBER = P_L_NRE_ENDING_NUMBER );
174       return TRUE;
175    exception
176          when no_data_found then
177             XNP_cg$errors.push('Initial Range, Initial Range Starting Number, Initial Range Ending Number: '||
178                            XNP_WSGL.MsgGetText(226,XNP_WSGLM.MSG226_INVALID_FK),
179                            'E', 'WSG', SQLCODE, 'xnp_number_splits$number_split.OLD_NUMBER_RANGE_ID_TranslateF');
180             return FALSE;
181          when too_many_rows then
182             XNP_cg$errors.push('Initial Range, Initial Range Starting Number, Initial Range Ending Number: '||
183                            XNP_WSGL.MsgGetText(227,XNP_WSGLM.MSG227_TOO_MANY_FKS),
184                            'E', 'WSG', SQLCODE, 'xnp_number_splits$number_split.OLD_NUMBER_RANGE_ID_TranslateF');
185             return FALSE;
186          when others then
187             XNP_cg$errors.push('Initial Range, Initial Range Starting Number, Initial Range Ending Number: '||SQLERRM,
188                            'E', 'WSG', SQLCODE, 'xnp_number_splits$number_split.OLD_NUMBER_RANGE_ID_TranslateF');
189             return FALSE;
190    end;
191 --------------------------------------------------------------------------------
192 -- Name:        xnp_number_splits$number_split.l_nre2_object_reference_listof
193 --
194 -- Description:
195 --
196 -- Parameters:
197 --
198 --------------------------------------------------------------------------------
199    procedure l_nre2_object_reference_listof(
200              Z_FILTER in varchar2,
201              Z_MODE in varchar2,
202              Z_CALLER_URL in varchar2,
203              Z_ISSUE_WAIT in varchar2) is
204       L_SEARCH_STRING varchar2(1000);
205       L_ABORT boolean := FALSE;
206       L_INVALID_DEPEDANT boolean := FALSE;
207       L_ANY boolean := FALSE;
208       L_BODY_ATTRIBUTES VarChar2 (1000) := LOV_BODY_ATTRIBUTES;
209    begin
210 
211       XNP_WSGL.RegisterURL('xnp_number_splits$number_split.l_nre2_object_reference_listof');
212       XNP_WSGL.AddURLParam('Z_FILTER', Z_FILTER);
213       XNP_WSGL.AddURLParam('Z_MODE', Z_MODE);
214       XNP_WSGL.AddURLParam('Z_CALLER_URL', Z_CALLER_URL);
215       if XNP_WSGL.NotLowerCase then
216          return;
217       end if;
218 
219 
220       XNP_WSGL.OpenPageHead(XNP_WSGL.MsgGetText(123,XNP_WSGLM.DSP123_LOV_CAPTION,
221                         'New Range, New Range Starting Number, New Range Ending Number'));
222 
223       if Z_ISSUE_WAIT is not null then
224 
225          htp.p ('<SCRIPT>
226 function RefreshMe()
227 {
228   location.href = location.href.substring (0, location.href.length - 1);
229 };
230 </SCRIPT>');
231 
232          L_BODY_ATTRIBUTES := L_BODY_ATTRIBUTES || ' OnLoad="RefreshMe()"';
233 
234       else
235          htp.p('<SCRIPT>
236 function PassBack(P_L_NRE2_OBJECT_REFERENCE,P_L_NRE2_STARTING_NUMBER,P_L_NRE2_ENDING_NUMBER) {
237    if (opener.location.href != document.forms[0].Z_CALLER_URL.value) {
238       alert("'||XNP_WSGL.MsgGetText(228,XNP_WSGLM.MSG228_LOV_NOT_IN_CONTEXT)||'");
239       return;
240    }
241    opener.document.forms[0].P_L_NRE2_OBJECT_REFERENCE.value = P_L_NRE2_OBJECT_REFERENCE;
242    opener.document.forms[0].P_L_NRE2_STARTING_NUMBER.value = P_L_NRE2_STARTING_NUMBER;
243    opener.document.forms[0].P_L_NRE2_ENDING_NUMBER.value = P_L_NRE2_ENDING_NUMBER;
244    opener.document.forms[0].P_L_NRE2_OBJECT_REFERENCE.focus();
245    close();
246 }
247 function Find_OnClick() {
248    document.forms[0].submit();
249 }');
250          if LOV_FRAME is null then
251             htp.p('function Close_OnClick() {
252       close();
253 }');
254          end if;
255          htp.p('</SCRIPT>');
256       end if;
257 
258       xnp_number_splits$.TemplateHeader(TRUE,0);
259 
260       XNP_WSGL.ClosePageHead;
261 
262       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>L_BODY_ATTRIBUTES);
263 
264       htp.header(2, htf.italic(XNP_WSGL.MsgGetText(123,XNP_WSGLM.DSP123_LOV_CAPTION,'New Range, New Range Starting Number, New Range Ending Number')));
265 
266       if Z_ISSUE_WAIT is not null then
267          htp.p(XNP_WSGL.MsgGetText(127,XNP_WSGLM.DSP127_LOV_PLEASE_WAIT));
268          XNP_WSGL.ClosePageBody;
269          return;
270       else
271          htp.formOpen('xnp_number_splits$number_split.l_nre2_object_reference_listof');
272          XNP_WSGL.HiddenField('Z_CALLER_URL', Z_CALLER_URL);
273          XNP_WSGL.HiddenField('Z_MODE', Z_MODE);
274       end if;
275 
276       L_SEARCH_STRING := rtrim(Z_FILTER);
277       if L_SEARCH_STRING is not null then
278          if ((instr(Z_FILTER,'%') = 0) and (instr(Z_FILTER,'_') = 0)) then
279             L_SEARCH_STRING := L_SEARCH_STRING || '%';
280          end if;
281       else
282          L_SEARCH_STRING := '%';
283       end if;
284 
285       htp.para;
286       htp.p(XNP_WSGL.MsgGetText(19,XNP_WSGLM.CAP019_LOV_FILTER_CAPTION,'New Range'));
287       htp.para;
288       htp.formText('Z_FILTER', cvalue=>L_SEARCH_STRING);
289       htp.p('<input type="button" value="'||LOV_FIND_BUT_CAPTION||'" onclick="Find_OnClick()">');
290       if LOV_FRAME is null then
291          htp.p('<input type="button" value="'||LOV_CLOSE_BUT_CAPTION||'" onclick="Close_OnClick()">');
292       end if;
293       htp.formClose;
294 
295 
296       if not L_ABORT then
297 
298          XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, TRUE);
299 
300          XNP_WSGL.LayoutRowStart;
301          XNP_WSGL.LayoutHeader(1, 'LEFT', 'New Range');
302          XNP_WSGL.LayoutHeader(1, 'LEFT', 'New Range Starting Number');
303          XNP_WSGL.LayoutHeader(1, 'LEFT', 'New Range Ending Number');
304          XNP_WSGL.LayoutRowEnd;
305 
306          declare
307             cursor c1(zmode varchar2,srch varchar2) is
308                select L_NRE2.NUMBER_RANGE_ID NEW_NUMBER_RANGE_ID
309                ,      L_NRE2.OBJECT_REFERENCE L_NRE2_OBJECT_REFERENCE
310                ,      L_NRE2.STARTING_NUMBER L_NRE2_STARTING_NUMBER
311                ,      L_NRE2.ENDING_NUMBER L_NRE2_ENDING_NUMBER
312                from   XNP_NUMBER_RANGES L_NRE2
313                where  L_NRE2.OBJECT_REFERENCE like upper(srch)
314                order by L_NRE2.OBJECT_REFERENCE;
315          begin
316             for c1rec in c1(Z_MODE,L_SEARCH_STRING) loop
317                NBT_VAL.L_NRE2_OBJECT_REFERENCE := c1rec.L_NRE2_OBJECT_REFERENCE;
318                NBT_VAL.L_NRE2_STARTING_NUMBER := c1rec.L_NRE2_STARTING_NUMBER;
319                NBT_VAL.L_NRE2_ENDING_NUMBER := c1rec.L_NRE2_ENDING_NUMBER;
320                XNP_WSGL.LayoutRowStart('TOP');
321                XNP_WSGL.LayoutData('<a href="javascript:PassBack('''||
322                                replace(replace(c1rec.L_NRE2_OBJECT_REFERENCE,'"','"'),'''','\''')||''','''||
326                XNP_WSGL.LayoutData(replace(NBT_VAL.L_NRE2_ENDING_NUMBER,'"','"'));
323                                replace(replace(c1rec.L_NRE2_STARTING_NUMBER,'"','"'),'''','\''')||''','''||
324                                replace(replace(c1rec.L_NRE2_ENDING_NUMBER,'"','"'),'''','\''')||''')">'||NBT_VAL.L_NRE2_OBJECT_REFERENCE||'</a>');
325                XNP_WSGL.LayoutData(replace(NBT_VAL.L_NRE2_STARTING_NUMBER,'"','"'));
327                XNP_WSGL.LayoutRowEnd;
328                l_any := true;
329             end loop;
330             XNP_WSGL.LayoutClose;
331             if not l_any then
332                htp.p(XNP_WSGL.MsgGetText(224,XNP_WSGLM.MSG224_LOV_NO_ROWS));
333             end if;
334          end;
335       end if;
336 
337       htp.p('<SCRIPT>document.forms[0].Z_FILTER.focus()</SCRIPT>');
338 
339       XNP_WSGL.ClosePageBody;
340 
341    exception
342       when others then
343          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits',
344                              LOV_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.l_nre2_object_reference_listof');
345    end;
346 
347 --------------------------------------------------------------------------------
348 -- Name:        xnp_number_splits$number_split.l_nre_object_reference_listofv
349 --
350 -- Description:
351 --
352 -- Parameters:
353 --
354 --------------------------------------------------------------------------------
355    procedure l_nre_object_reference_listofv(
356              Z_FILTER in varchar2,
357              Z_MODE in varchar2,
358              Z_CALLER_URL in varchar2,
359              Z_ISSUE_WAIT in varchar2) is
360       L_SEARCH_STRING varchar2(1000);
361       L_ABORT boolean := FALSE;
362       L_INVALID_DEPEDANT boolean := FALSE;
363       L_ANY boolean := FALSE;
364       L_BODY_ATTRIBUTES VarChar2 (1000) := LOV_BODY_ATTRIBUTES;
365    begin
366 
367       XNP_WSGL.RegisterURL('xnp_number_splits$number_split.l_nre_object_reference_listofv');
368       XNP_WSGL.AddURLParam('Z_FILTER', Z_FILTER);
369       XNP_WSGL.AddURLParam('Z_MODE', Z_MODE);
370       XNP_WSGL.AddURLParam('Z_CALLER_URL', Z_CALLER_URL);
371       if XNP_WSGL.NotLowerCase then
372          return;
373       end if;
374 
375 
376       XNP_WSGL.OpenPageHead(XNP_WSGL.MsgGetText(123,XNP_WSGLM.DSP123_LOV_CAPTION,
377                         'Initial Range, Initial Range Starting Number, Initial Range Ending Number'));
378 
379       if Z_ISSUE_WAIT is not null then
380 
381          htp.p ('<SCRIPT>
382 function RefreshMe()
383 {
384   location.href = location.href.substring (0, location.href.length - 1);
385 };
386 </SCRIPT>');
387 
388          L_BODY_ATTRIBUTES := L_BODY_ATTRIBUTES || ' OnLoad="RefreshMe()"';
389 
390       else
391          htp.p('<SCRIPT>
392 function PassBack(P_L_NRE_OBJECT_REFERENCE,P_L_NRE_STARTING_NUMBER,P_L_NRE_ENDING_NUMBER) {
393    if (opener.location.href != document.forms[0].Z_CALLER_URL.value) {
394       alert("'||XNP_WSGL.MsgGetText(228,XNP_WSGLM.MSG228_LOV_NOT_IN_CONTEXT)||'");
395       return;
396    }
397    opener.document.forms[0].P_L_NRE_OBJECT_REFERENCE.value = P_L_NRE_OBJECT_REFERENCE;
398    opener.document.forms[0].P_L_NRE_STARTING_NUMBER.value = P_L_NRE_STARTING_NUMBER;
399    opener.document.forms[0].P_L_NRE_ENDING_NUMBER.value = P_L_NRE_ENDING_NUMBER;
400    opener.document.forms[0].P_L_NRE_OBJECT_REFERENCE.focus();
401    close();
402 }
403 function Find_OnClick() {
404    document.forms[0].submit();
405 }');
406          if LOV_FRAME is null then
407             htp.p('function Close_OnClick() {
408       close();
409 }');
410          end if;
411          htp.p('</SCRIPT>');
412       end if;
413 
414       xnp_number_splits$.TemplateHeader(TRUE,0);
415 
416       XNP_WSGL.ClosePageHead;
417 
418       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>L_BODY_ATTRIBUTES);
419 
420       htp.header(2, htf.italic(XNP_WSGL.MsgGetText(123,XNP_WSGLM.DSP123_LOV_CAPTION,'Initial Range, Initial Range Starting Number, Initial Range Ending Number')));
421 
422       if Z_ISSUE_WAIT is not null then
423          htp.p(XNP_WSGL.MsgGetText(127,XNP_WSGLM.DSP127_LOV_PLEASE_WAIT));
424          XNP_WSGL.ClosePageBody;
425          return;
426       else
427          htp.formOpen('xnp_number_splits$number_split.l_nre_object_reference_listofv');
428          XNP_WSGL.HiddenField('Z_CALLER_URL', Z_CALLER_URL);
429          XNP_WSGL.HiddenField('Z_MODE', Z_MODE);
430       end if;
431 
432       L_SEARCH_STRING := rtrim(Z_FILTER);
433       if L_SEARCH_STRING is not null then
434          if ((instr(Z_FILTER,'%') = 0) and (instr(Z_FILTER,'_') = 0)) then
435             L_SEARCH_STRING := L_SEARCH_STRING || '%';
436          end if;
437       else
438          L_SEARCH_STRING := '%';
439       end if;
440 
441       htp.para;
442       htp.p(XNP_WSGL.MsgGetText(19,XNP_WSGLM.CAP019_LOV_FILTER_CAPTION,'Initial Range'));
443       htp.para;
444       htp.formText('Z_FILTER', cvalue=>L_SEARCH_STRING);
445       htp.p('<input type="button" value="'||LOV_FIND_BUT_CAPTION||'" onclick="Find_OnClick()">');
446       if LOV_FRAME is null then
447          htp.p('<input type="button" value="'||LOV_CLOSE_BUT_CAPTION||'" onclick="Close_OnClick()">');
448       end if;
449       htp.formClose;
450 
451 
452       if not L_ABORT then
453 
457          XNP_WSGL.LayoutHeader(1, 'LEFT', 'Initial Range');
454          XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, TRUE);
455 
456          XNP_WSGL.LayoutRowStart;
458          XNP_WSGL.LayoutHeader(1, 'LEFT', 'Initial Range Starting Number');
459          XNP_WSGL.LayoutHeader(1, 'LEFT', 'Initial Range Ending Number');
460          XNP_WSGL.LayoutRowEnd;
461 
462          declare
463             cursor c1(zmode varchar2,srch varchar2) is
464                select L_NRE.NUMBER_RANGE_ID OLD_NUMBER_RANGE_ID
465                ,      L_NRE.OBJECT_REFERENCE L_NRE_OBJECT_REFERENCE
466                ,      L_NRE.STARTING_NUMBER L_NRE_STARTING_NUMBER
467                ,      L_NRE.ENDING_NUMBER L_NRE_ENDING_NUMBER
468                from   XNP_NUMBER_RANGES L_NRE
469                where  L_NRE.OBJECT_REFERENCE like upper(srch)
470                order by L_NRE.OBJECT_REFERENCE;
471          begin
472             for c1rec in c1(Z_MODE,L_SEARCH_STRING) loop
473                NBT_VAL.L_NRE_OBJECT_REFERENCE := c1rec.L_NRE_OBJECT_REFERENCE;
474                NBT_VAL.L_NRE_STARTING_NUMBER := c1rec.L_NRE_STARTING_NUMBER;
475                NBT_VAL.L_NRE_ENDING_NUMBER := c1rec.L_NRE_ENDING_NUMBER;
476                XNP_WSGL.LayoutRowStart('TOP');
477                XNP_WSGL.LayoutData('<a href="javascript:PassBack('''||
478                                replace(replace(c1rec.L_NRE_OBJECT_REFERENCE,'"','"'),'''','\''')||''','''||
479                                replace(replace(c1rec.L_NRE_STARTING_NUMBER,'"','"'),'''','\''')||''','''||
480                                replace(replace(c1rec.L_NRE_ENDING_NUMBER,'"','"'),'''','\''')||''')">'||NBT_VAL.L_NRE_OBJECT_REFERENCE||'</a>');
481                XNP_WSGL.LayoutData(replace(NBT_VAL.L_NRE_STARTING_NUMBER,'"','"'));
482                XNP_WSGL.LayoutData(replace(NBT_VAL.L_NRE_ENDING_NUMBER,'"','"'));
483                XNP_WSGL.LayoutRowEnd;
484                l_any := true;
485             end loop;
486             XNP_WSGL.LayoutClose;
487             if not l_any then
488                htp.p(XNP_WSGL.MsgGetText(224,XNP_WSGLM.MSG224_LOV_NO_ROWS));
489             end if;
490          end;
491       end if;
492 
493       htp.p('<SCRIPT>document.forms[0].Z_FILTER.focus()</SCRIPT>');
494 
495       XNP_WSGL.ClosePageBody;
496 
497    exception
498       when others then
499          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits',
500                              LOV_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.l_nre_object_reference_listofv');
501    end;
502 
503 --------------------------------------------------------------------------------
504 -- Name:        xnp_number_splits$number_split.Startup
505 --
506 -- Description: Entry point for the 'NUMBER_SPLITS' module
507 --              component  (Number Split Details).
508 --
509 -- Parameters:
510 --
511 --------------------------------------------------------------------------------
512    procedure Startup(
513              Z_DIRECT_CALL in boolean,
514              Z_CHK in varchar2) is
515    begin
516 
517       XNP_WSGL.RegisterURL('xnp_number_splits$number_split.startup');
518       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
519 
520       if not Z_DIRECT_CALL then
521          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
522             return;
523          end if;
524       end if;
525 
526       XNP_WSGL.StoreURLLink(1, 'Number Split Details');
527 
528 
529       FormQuery(
530       Z_DIRECT_CALL=>TRUE);
531 
532    exception
533       when others then
534          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
535                              DEF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.Startup');
536    end;
537 
538 --------------------------------------------------------------------------------
539 -- Name:        xnp_number_splits$number_split.ActionQuery
540 --
541 -- Description: Called when a Query form is subitted to action the query request.
542 --
543 -- Parameters:
544 --
545 --------------------------------------------------------------------------------
546    procedure ActionQuery(
547              P_L_NRE_OBJECT_REFERENCE in varchar2,
548              P_L_NRE2_OBJECT_REFERENCE in varchar2,
549              P_PERMISSIVE_DIAL_START_DATE in varchar2,
550              U_PERMISSIVE_DIAL_START_DATE in varchar2,
551              P_PERMISSIVE_DIAL_END_DATE in varchar2,
552              U_PERMISSIVE_DIAL_END_DATE in varchar2,
553              P_L_NRE_STARTING_NUMBER in varchar2,
554              P_L_NRE_ENDING_NUMBER in varchar2,
555              P_L_NRE2_STARTING_NUMBER in varchar2,
556              P_L_NRE2_ENDING_NUMBER in varchar2,
557        	     Z_DIRECT_CALL in boolean default false,
558              Z_ACTION in varchar2,
559              Z_CHK in varchar2) is
560 
561      I_PARAM_LIST varchar2(2000) := '?';
562      L_QRY_FIRST_ACTION varchar2(12) := 'INSERTIFNONE';
563      L_QRY_LIST_ACTION varchar2(10) := null;
564      L_CHK varchar2(10) := Z_CHK;
565      L_BUTCHK varchar2(100):= null;
566    begin
567 
568     if Z_DIRECT_CALL then
569       L_CHK := to_char(XNP_WSGL.Checksum(''));
570     else
571       if not XNP_WSGL.ValidateChecksum('', L_CHK) then
572          return;
573       end if;
574     end if;
575 
576       if P_L_NRE_OBJECT_REFERENCE is not null then
580       if P_L_NRE2_OBJECT_REFERENCE is not null then
577          I_PARAM_LIST := I_PARAM_LIST || 'P_L_NRE_OBJECT_REFERENCE=' || XNP_WSGL.EscapeURLParam(P_L_NRE_OBJECT_REFERENCE) || '&';
578          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
579       end if;
581          I_PARAM_LIST := I_PARAM_LIST || 'P_L_NRE2_OBJECT_REFERENCE=' || XNP_WSGL.EscapeURLParam(P_L_NRE2_OBJECT_REFERENCE) || '&';
582          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
583       end if;
584       if P_PERMISSIVE_DIAL_START_DATE is not null then
585          I_PARAM_LIST := I_PARAM_LIST || 'P_PERMISSIVE_DIAL_START_DATE=' || XNP_WSGL.EscapeURLParam(P_PERMISSIVE_DIAL_START_DATE) || '&';
586          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
587       end if;
588       if U_PERMISSIVE_DIAL_START_DATE is not null then
589          I_PARAM_LIST := I_PARAM_LIST || 'U_PERMISSIVE_DIAL_START_DATE=' || XNP_WSGL.EscapeURLParam(U_PERMISSIVE_DIAL_START_DATE) || '&';
590          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
591       end if;
592       if P_PERMISSIVE_DIAL_END_DATE is not null then
593          I_PARAM_LIST := I_PARAM_LIST || 'P_PERMISSIVE_DIAL_END_DATE=' || XNP_WSGL.EscapeURLParam(P_PERMISSIVE_DIAL_END_DATE) || '&';
594          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
595       end if;
596       if U_PERMISSIVE_DIAL_END_DATE is not null then
597          I_PARAM_LIST := I_PARAM_LIST || 'U_PERMISSIVE_DIAL_END_DATE=' || XNP_WSGL.EscapeURLParam(U_PERMISSIVE_DIAL_END_DATE) || '&';
598          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
599       end if;
600       if P_L_NRE_STARTING_NUMBER is not null then
601          I_PARAM_LIST := I_PARAM_LIST || 'P_L_NRE_STARTING_NUMBER=' || XNP_WSGL.EscapeURLParam(P_L_NRE_STARTING_NUMBER) || '&';
602          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
603       end if;
604       if P_L_NRE_ENDING_NUMBER is not null then
605          I_PARAM_LIST := I_PARAM_LIST || 'P_L_NRE_ENDING_NUMBER=' || XNP_WSGL.EscapeURLParam(P_L_NRE_ENDING_NUMBER) || '&';
606          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
607       end if;
608       if P_L_NRE2_STARTING_NUMBER is not null then
609          I_PARAM_LIST := I_PARAM_LIST || 'P_L_NRE2_STARTING_NUMBER=' || XNP_WSGL.EscapeURLParam(P_L_NRE2_STARTING_NUMBER) || '&';
610          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
611       end if;
612       if P_L_NRE2_ENDING_NUMBER is not null then
613          I_PARAM_LIST := I_PARAM_LIST || 'P_L_NRE2_ENDING_NUMBER=' || XNP_WSGL.EscapeURLParam(P_L_NRE2_ENDING_NUMBER) || '&';
614          L_QRY_FIRST_ACTION := 'BLANKIFNONE';
615       end if;
616       I_PARAM_LIST := I_PARAM_LIST || 'Z_CHK=' || XNP_WSGL.EscapeURLParam(L_CHK) || '&';
617       I_PARAM_LIST := I_PARAM_LIST||'Z_ACTION=';
618 
619       htp.p('<HTML>
620 <TITLE>View Number Splits : Number Split Details</TITLE>
621 <FRAMESET ROWS="100,*,50">
622 ');
623       htp.noframesOpen;
624       XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_INFORMATION, XNP_WSGL.MsgGetText(229,XNP_WSGLM.MSG229_NO_FRAME_SUPPORT),
625                           'View Number Splits'||' : '||'Number Split Details', DEF_BODY_ATTRIBUTES);
626       htp.noframesClose;
627       htp.p('<FRAME NAME="fraTOP" SRC="xnp_number_splits$number_split.textframe?Z_HEADER=Y&Z_TEXT=Y">
628 <FRAMESET COLS="40%,60%">
629 <FRAME NAME="fraRL" SRC="xnp_number_splits$number_split.querylist'||I_PARAM_LIST||L_QRY_LIST_ACTION||'">
630 <FRAME NAME="fraVF" SRC="xnp_number_splits$number_split.queryfirst'||I_PARAM_LIST||L_QRY_FIRST_ACTION||'">
631 </FRAMESET>
632 <FRAME NAME="fraBOTTOM" SRC="xnp_number_splits$number_split.textframe?Z_FOOTER=Y">
633 </FRAMESET>
634 </HTML>
635 ');
636 --if on the query form and insert is allowed
637 
638    exception
639       when others then
640          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
641                              DEF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.ActionQuery');
642    end;
643 
644 --------------------------------------------------------------------------------
645 -- Name:        xnp_number_splits$number_split.TextFrame
646 --
647 -- Description:
648 --
649 -- Parameters:
650 --
651 --------------------------------------------------------------------------------
652    procedure TextFrame(Z_HEADER in varchar2,
653                        Z_FIRST  in varchar2,
654                        Z_TEXT   in varchar2,
655                        Z_FOOTER in varchar2) is
656       L_TEXT_TYPES number := 0;
657       L_ONLY_THING_IN_FRAME boolean := FALSE;
658    begin
659 
660       if Z_HEADER is not null then
661          L_TEXT_TYPES := L_TEXT_TYPES + 1;
662       end if;
663       if Z_FIRST is not null then
664          L_TEXT_TYPES := L_TEXT_TYPES + 1;
665       end if;
666       if Z_TEXT is not null then
667          L_TEXT_TYPES := L_TEXT_TYPES + 1;
668       end if;
669       if Z_FOOTER is not null then
670          L_TEXT_TYPES := L_TEXT_TYPES + 1;
671       end if;
672 
673       L_ONLY_THING_IN_FRAME := (L_TEXT_TYPES = 1);
674 
675       XNP_WSGL.OpenPageHead('View Number Splits'||' : '||'Number Split Details',
676                         L_ONLY_THING_IN_FRAME);
677       xnp_number_splits$.TemplateHeader(TRUE,0);
678       XNP_WSGL.ClosePageHead;
679 
680       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>TF_BODY_ATTRIBUTES);
681 
682       if Z_HEADER is not null then
683          htp.p(htf.bold(fnd_message.get_string('XNP','WEB_TITLE')));
684       end if;
685 
686       if Z_FIRST is not null then
687          xnp_number_splits$.FirstPage(TRUE);
691          htp.p(htf.header(1,fnd_message.get_string('XNP','WEB_XNPNUMSP_DETAILS_TITLE')));
688       end if;
689 
690       if Z_TEXT is not null then
692       end if;
693 
694       if Z_FOOTER is not null then
695          htp.p(htf.img('/OA_MEDIA/FNDLOGOS.gif'));
696       end if;
697 
698       XNP_WSGL.ClosePageBody;
699 
700    exception
701       when others then
702          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
703                              TF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.TextFrame');
704          XNP_WSGL.ClosePageBody;
705    end;
706 --------------------------------------------------------------------------------
707 -- Name:        xnp_number_splits$number_split.QueryHits
708 --
709 -- Description: Returns the number or rows which matches the given search
710 --              criteria (if any).
711 --
712 -- Parameters:
713 --
714 --------------------------------------------------------------------------------
715    function QueryHits(
716             P_L_NRE_OBJECT_REFERENCE in varchar2,
717             P_L_NRE2_OBJECT_REFERENCE in varchar2,
718             P_PERMISSIVE_DIAL_START_DATE in varchar2,
719             U_PERMISSIVE_DIAL_START_DATE in varchar2,
720             P_PERMISSIVE_DIAL_END_DATE in varchar2,
721             U_PERMISSIVE_DIAL_END_DATE in varchar2,
722             P_L_NRE_STARTING_NUMBER in varchar2,
723             P_L_NRE_ENDING_NUMBER in varchar2,
724             P_L_NRE2_STARTING_NUMBER in varchar2,
725             P_L_NRE2_ENDING_NUMBER in varchar2) return number is
726       I_QUERY     varchar2(2000) := '';
727       I_CURSOR    integer;
728       I_VOID      integer;
729       I_FROM_POS  integer := 0;
730       I_COUNT     number(10);
731    begin
732 
733       if not BuildSQL(P_L_NRE_OBJECT_REFERENCE,
734                       P_L_NRE2_OBJECT_REFERENCE,
735                       P_PERMISSIVE_DIAL_START_DATE,
736                       U_PERMISSIVE_DIAL_START_DATE,
737                       P_PERMISSIVE_DIAL_END_DATE,
738                       U_PERMISSIVE_DIAL_END_DATE,
739                       P_L_NRE_STARTING_NUMBER,
740                       P_L_NRE_ENDING_NUMBER,
741                       P_L_NRE2_STARTING_NUMBER,
742                       P_L_NRE2_ENDING_NUMBER) then
743          return -1;
744       end if;
745 
746       if not PreQuery(P_L_NRE_OBJECT_REFERENCE,
747                       P_L_NRE2_OBJECT_REFERENCE,
748                       P_PERMISSIVE_DIAL_START_DATE,
749                       U_PERMISSIVE_DIAL_START_DATE,
750                       P_PERMISSIVE_DIAL_END_DATE,
751                       U_PERMISSIVE_DIAL_END_DATE,
752                       P_L_NRE_STARTING_NUMBER,
753                       P_L_NRE_ENDING_NUMBER,
754                       P_L_NRE2_STARTING_NUMBER,
755                       P_L_NRE2_ENDING_NUMBER) then
756          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
757                              'View Number Splits'||' : '||'Number Split Details', DEF_BODY_ATTRIBUTES);
758          return -1;
759       end if;
760 
761       I_FROM_POS := instr(upper(ZONE_SQL), ' FROM ');
762 
763       if I_FROM_POS = 0 then
764          return -1;
765       end if;
766 
767       I_QUERY := 'SELECT count(*)' ||
768                  substr(ZONE_SQL, I_FROM_POS);
769 
770       I_CURSOR := dbms_sql.open_cursor;
771       dbms_sql.parse(I_CURSOR, I_QUERY, dbms_sql.v7);
772       dbms_sql.define_column(I_CURSOR, 1, I_COUNT);
773       I_VOID := dbms_sql.execute(I_CURSOR);
774       I_VOID := dbms_sql.fetch_rows(I_CURSOR);
775       dbms_sql.column_value(I_CURSOR, 1, I_COUNT);
776       dbms_sql.close_cursor(I_CURSOR);
777 
778       return I_COUNT;
779 
780    exception
781       when others then
782          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
783                              DEF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.QueryHits');
784          return -1;
785    end;--------------------------------------------------------------------------------
786 -- Name:        xnp_number_splits$number_split.BuildSQL
787 --
788 -- Description: Builds the SQL for the 'NUMBER_SPLITS' module component (Number Split Details).
789 --              This incorporates all query criteria and Foreign key columns.
790 --
791 -- Parameters:
792 --
793 --------------------------------------------------------------------------------
794    function BuildSQL(
795             P_L_NRE_OBJECT_REFERENCE in varchar2,
796             P_L_NRE2_OBJECT_REFERENCE in varchar2,
797             P_PERMISSIVE_DIAL_START_DATE in varchar2,
798             U_PERMISSIVE_DIAL_START_DATE in varchar2,
799             P_PERMISSIVE_DIAL_END_DATE in varchar2,
800             U_PERMISSIVE_DIAL_END_DATE in varchar2,
801             P_L_NRE_STARTING_NUMBER in varchar2,
802             P_L_NRE_ENDING_NUMBER in varchar2,
803             P_L_NRE2_STARTING_NUMBER in varchar2,
804             P_L_NRE2_ENDING_NUMBER in varchar2) return boolean is
805 
806       I_WHERE varchar2(2000);
807    begin
808 
809 
810       -- Build up the Where clause
811       I_WHERE := I_WHERE || ' where L_NRE.NUMBER_RANGE_ID = NST.OLD_NUMBER_RANGE_ID';
812       I_WHERE := I_WHERE || ' and L_NRE2.NUMBER_RANGE_ID = NST.NEW_NUMBER_RANGE_ID';
816       begin
813 
814       XNP_WSGL.BuildWhere(P_L_NRE_OBJECT_REFERENCE, 'L_NRE.OBJECT_REFERENCE', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
815       XNP_WSGL.BuildWhere(P_L_NRE2_OBJECT_REFERENCE, 'L_NRE2.OBJECT_REFERENCE', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
817          XNP_WSGL.BuildWhere(P_PERMISSIVE_DIAL_START_DATE, U_PERMISSIVE_DIAL_START_DATE, 'NST.PERMISSIVE_DIAL_START_DATE', XNP_WSGL.TYPE_DATE, I_WHERE, 'DD-MON-RRRR');
818       exception
819          when others then
820             XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR_QRY, SQLERRM,
821                                 'View Number Splits'||' : '||'Number Split Details', DEF_BODY_ATTRIBUTES, NULL,
822                                 XNP_WSGL.MsgGetText(210,XNP_WSGLM.MSG210_INVALID_QRY,'Permissive Dialing Start Date'),
823                                 XNP_WSGL.MsgGetText(211,XNP_WSGLM.MSG211_EXAMPLE_TODAY,to_char(sysdate, 'DD-MON-RRRR')));
824             return false;
825       end;
826       begin
827          XNP_WSGL.BuildWhere(P_PERMISSIVE_DIAL_END_DATE, U_PERMISSIVE_DIAL_END_DATE, 'NST.PERMISSIVE_DIAL_END_DATE', XNP_WSGL.TYPE_DATE, I_WHERE, 'DD-MON-RRRR');
828       exception
829          when others then
830             XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR_QRY, SQLERRM,
831                                 'View Number Splits'||' : '||'Number Split Details', DEF_BODY_ATTRIBUTES, NULL,
832                                 XNP_WSGL.MsgGetText(210,XNP_WSGLM.MSG210_INVALID_QRY,'Permissive Dialing End Date'),
833                                 XNP_WSGL.MsgGetText(211,XNP_WSGLM.MSG211_EXAMPLE_TODAY,to_char(sysdate, 'DD-MON-RRRR')));
834             return false;
835       end;
836       XNP_WSGL.BuildWhere(P_L_NRE_STARTING_NUMBER, 'L_NRE.STARTING_NUMBER', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
837       XNP_WSGL.BuildWhere(P_L_NRE_ENDING_NUMBER, 'L_NRE.ENDING_NUMBER', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
838       XNP_WSGL.BuildWhere(P_L_NRE2_STARTING_NUMBER, 'L_NRE2.STARTING_NUMBER', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
839       XNP_WSGL.BuildWhere(P_L_NRE2_ENDING_NUMBER, 'L_NRE2.ENDING_NUMBER', XNP_WSGL.TYPE_CHAR_UPPER, I_WHERE);
840 
841       ZONE_SQL := 'SELECT NST.NUMBER_SPLIT_ID,
842                          L_NRE.OBJECT_REFERENCE,
843                          L_NRE2.OBJECT_REFERENCE,
844                          NST.PERMISSIVE_DIAL_START_DATE,
845                          NST.PERMISSIVE_DIAL_END_DATE
846                   FROM   XNP_NUMBER_SPLITS NST,
847                          XNP_NUMBER_RANGES L_NRE,
848                          XNP_NUMBER_RANGES L_NRE2';
849 
850       ZONE_SQL := ZONE_SQL || I_WHERE;
851       ZONE_SQL := ZONE_SQL || ' ORDER BY NST.OLD_NUMBER_RANGE_ID,
852                                        L_NRE.OBJECT_REFERENCE,
853                                        L_NRE2.OBJECT_REFERENCE,
854                                        NST.PERMISSIVE_DIAL_START_DATE Desc ,
855                                        NST.PERMISSIVE_DIAL_END_DATE Desc ,
856                                        L_NRE.STARTING_NUMBER,
857                                        NST.NEW_NUMBER_RANGE_ID,
858                                        L_NRE2.STARTING_NUMBER,
859                                        L_NRE2.ENDING_NUMBER,
860                                        L_NRE.ENDING_NUMBER';
861       return true;
862 
863    exception
864       when others then
865          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
866                              DEF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.BuildSQL');
867          return false;
868    end;
869 
870 
871 --------------------------------------------------------------------------------
872 -- Name:        xnp_number_splits$number_split.FormQuery
873 --
874 -- Description: This procedure builds an HTML form for entry of query criteria.
875 --              The criteria entered are to restrict the query of the 'NUMBER_SPLITS'
876 --              module component (Number Split Details).
877 --
878 -- Parameters:
879 --
880 --------------------------------------------------------------------------------
881    procedure FormQuery(
882              Z_DIRECT_CALL in boolean,
883              Z_CHK in varchar2) is
884    begin
885 
886       if not Z_DIRECT_CALL then
887          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
888             return;
889          end if;
890       end if;
891 
892       XNP_WSGL.OpenPageHead('View Number Splits'||' : '||'Number Split Details');
893       CreateQueryJavaScript;
894 	  -- Added for iHelp
895 	  htp.p('<SCRIPT> ');
896 	  icx_admin_sig.help_win_script('xnpDiag_config', null, 'XNP');
897 	  htp.p('</SCRIPT>');
898 	  -- <<
899       xnp_number_splits$.TemplateHeader(TRUE,0);
900       XNP_WSGL.ClosePageHead;
901 
902 	  -- Added for iHelp
903 	  htp.p('<A HREF="javascript:help_window()"');
904 	  htp.p('onMouseOver="window.status='||''''||'Help'||''''||';return true">');
905 	  htp.p(htf.img('/OA_MEDIA/afhelp.gif'));
906 	  htp.p('</A>');
907 	  htp.p(htf.nl);
908 	  -- <<
909 
910       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>QF_BODY_ATTRIBUTES);
911 
912       htp.p(htf.bold(fnd_message.get_string('XNP','WEB_TITLE')));
913       xnp_number_splits$.FirstPage(TRUE);
914       htp.p(htf.header(1,fnd_message.get_string('XNP','WEB_XNPNUMSP_DETAILS_TITLE')));
915       htp.para;
916       htp.p(XNP_WSGL.MsgGetText(116,XNP_WSGLM.DSP116_ENTER_QRY_CAPTION,'Number Split Details'));
917       htp.para;
918 
919       htp.formOpen(curl => 'xnp_number_splits$number_split.actionquery', cattributes => 'NAME="frmZero"');
920 
924       for i in 1..QF_NUMBER_OF_COLUMNS loop
921       XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE);
922 
923       XNP_WSGL.LayoutRowStart;
925 	  XNP_WSGL.LayoutHeader(30, 'LEFT', NULL);
926 	  XNP_WSGL.LayoutHeader(20, 'LEFT', NULL);
927       end loop;
928       XNP_WSGL.LayoutRowEnd;
929 
930       XNP_WSGL.LayoutRowStart('TOP');
931       XNP_WSGL.LayoutData(htf.bold('Initial Range:'));
932       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('L_NRE_OBJECT_REFERENCE', '20', FALSE) || ' ' ||
933                       XNP_WSGJSL.LOVButton('L_NRE_OBJECT_REFERENCE',LOV_BUTTON_TEXT));
934       XNP_WSGL.LayoutRowEnd;
935       XNP_WSGL.LayoutRowStart('TOP');
936       XNP_WSGL.LayoutData(htf.bold('New Range:'));
937       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('L_NRE2_OBJECT_REFERENCE', '20', FALSE) || ' ' ||
938                       XNP_WSGJSL.LOVButton('L_NRE2_OBJECT_REFERENCE',LOV_BUTTON_TEXT));
939       XNP_WSGL.LayoutRowEnd;
940       XNP_WSGL.LayoutRowStart('TOP');
941       XNP_WSGL.LayoutData(htf.bold('Permissive Dialing Start Date:'));
942       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('PERMISSIVE_DIAL_START_DATE', '20', TRUE));
943       XNP_WSGL.LayoutRowEnd;
944       XNP_WSGL.LayoutRowStart('TOP');
945       XNP_WSGL.LayoutData(htf.bold('Permissive Dialing End Date:'));
946       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('PERMISSIVE_DIAL_END_DATE', '20', TRUE));
947       XNP_WSGL.LayoutRowEnd;
948       XNP_WSGL.LayoutRowStart('TOP');
949       XNP_WSGL.LayoutData(htf.bold('Initial Range Starting Number:'));
950       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('L_NRE_STARTING_NUMBER', '20', FALSE));
951       XNP_WSGL.LayoutRowEnd;
952       XNP_WSGL.LayoutRowStart('TOP');
953       XNP_WSGL.LayoutData(htf.bold('Initial Range Ending Number:'));
954       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('L_NRE_ENDING_NUMBER', '20', FALSE));
955       XNP_WSGL.LayoutRowEnd;
956       XNP_WSGL.LayoutRowStart('TOP');
957       XNP_WSGL.LayoutData(htf.bold('New Range Starting Number:'));
958       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('L_NRE2_STARTING_NUMBER', '20', FALSE));
959       XNP_WSGL.LayoutRowEnd;
960       XNP_WSGL.LayoutRowStart('TOP');
961       XNP_WSGL.LayoutData(htf.bold('New Range Ending Number:'));
962       XNP_WSGL.LayoutData(XNP_WSGL.BuildQueryControl('L_NRE2_ENDING_NUMBER', '20', FALSE));
963       XNP_WSGL.LayoutRowEnd;
964 
965       XNP_WSGL.LayoutClose;
966 
967       htp.p ('<SCRIPT><!--');
968       htp.p ('document.write (''<input type=hidden name="Z_ACTION">'')');
969       htp.p ('//-->');
970       htp.p ('</SCRIPT>');
971       htp.p ('<SCRIPT><!--');
972       htp.p ('document.write (''' || htf.formSubmit('', htf.escape_sc(QF_QUERY_BUT_CAPTION), 'onClick="this.form.Z_ACTION.value=\''' || QF_QUERY_BUT_ACTION || '\''"') || ''')');
973       htp.p ('//-->');
974       htp.p ('</SCRIPT>');
975 
976       if XNP_WSGL.IsSupported ('NOSCRIPT')
977       then
978 
979         htp.p ('<NOSCRIPT>');
980         htp.formSubmit('Z_ACTION', htf.escape_sc(QF_QUERY_BUT_CAPTION));
981         htp.p ('</NOSCRIPT>');
982 
983       end if;
984       htp.formReset(htf.escape_sc(QF_CLEAR_BUT_CAPTION));
985 
986       XNP_WSGL.HiddenField('Z_CHK',
987                      to_char(XNP_WSGL.Checksum('')));
988       htp.formClose;
989 
990       htp.p(htf.img('/OA_MEDIA/FNDLOGOS.gif'));
991 
992       XNP_WSGL.ClosePageBody;
993 
994    exception
995       when others then
996          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
997                              QF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.FormQuery');
998          XNP_WSGL.ClosePageBody;
999    end;
1000 
1001 --------------------------------------------------------------------------------
1002 -- Name:        xnp_number_splits$number_split.FormView
1003 --
1004 -- Description: This procedure builds an HTML form for view/update of fields in
1005 --              the 'NUMBER_SPLITS' module component (Number Split Details).
1006 --
1007 -- Parameters:  Z_FORM_STATUS  Status of the form
1008 --
1009 --------------------------------------------------------------------------------
1010    procedure FormView(Z_FORM_STATUS in number) is
1011 
1012 
1013     begin
1014 
1015       XNP_WSGL.OpenPageHead('View Number Splits'||' : '||'Number Split Details');
1016       xnp_number_splits$.TemplateHeader(TRUE,0);
1017       XNP_WSGL.ClosePageHead;
1018 
1019       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>VF_BODY_ATTRIBUTES);
1020 
1021 
1022 
1023 
1024       FORM_VAL.NUMBER_SPLIT_ID := CURR_VAL.NUMBER_SPLIT_ID;
1025       FORM_VAL.NEW_NUMBER_RANGE_ID := CURR_VAL.NEW_NUMBER_RANGE_ID;
1026       FORM_VAL.OLD_NUMBER_RANGE_ID := CURR_VAL.OLD_NUMBER_RANGE_ID;
1027       FORM_VAL.L_NRE_OBJECT_REFERENCE := NBT_VAL.L_NRE_OBJECT_REFERENCE;
1028       FORM_VAL.L_NRE2_OBJECT_REFERENCE := NBT_VAL.L_NRE2_OBJECT_REFERENCE;
1029       FORM_VAL.PERMISSIVE_DIAL_START_DATE := ltrim(to_char(CURR_VAL.PERMISSIVE_DIAL_START_DATE, 'DD-MON-RRRR'));
1030       FORM_VAL.PERMISSIVE_DIAL_END_DATE := ltrim(to_char(CURR_VAL.PERMISSIVE_DIAL_END_DATE, 'DD-MON-RRRR'));
1031       FORM_VAL.L_NRE_STARTING_NUMBER := NBT_VAL.L_NRE_STARTING_NUMBER;
1032       FORM_VAL.L_NRE_ENDING_NUMBER := NBT_VAL.L_NRE_ENDING_NUMBER;
1033       FORM_VAL.L_NRE2_STARTING_NUMBER := NBT_VAL.L_NRE2_STARTING_NUMBER;
1034       FORM_VAL.L_NRE2_ENDING_NUMBER := NBT_VAL.L_NRE2_ENDING_NUMBER;
1035       FORM_VAL.CONVERSION_PROCEDURE := CURR_VAL.CONVERSION_PROCEDURE;
1036 
1040       elsif Z_FORM_STATUS = XNP_WSGL.FORM_STATUS_UPD then
1037       if Z_FORM_STATUS = XNP_WSGL.FORM_STATUS_ERROR then
1038          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
1039                              'View Number Splits'||' : '||'Number Split Details', VF_BODY_ATTRIBUTES);
1041          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_SUCCESS, XNP_WSGL.MsgGetText(207, XNP_WSGLM.MSG207_ROW_UPDATED),
1042                              'View Number Splits'||' : '||'Number Split Details', VF_BODY_ATTRIBUTES);
1043       elsif Z_FORM_STATUS = XNP_WSGL.FORM_STATUS_INS then
1044          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_SUCCESS, XNP_WSGL.MsgGetText(208, XNP_WSGLM.MSG208_ROW_INSERTED),
1045                              'View Number Splits'||' : '||'Number Split Details', VF_BODY_ATTRIBUTES);
1046       end if;
1047 
1048 
1049       XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, P_BORDER=>TRUE);
1050 
1051       XNP_WSGL.LayoutRowStart;
1052       for i in 1..VF_NUMBER_OF_COLUMNS loop
1053          XNP_WSGL.LayoutHeader(30, 'LEFT', NULL);
1054          XNP_WSGL.LayoutHeader(40, 'LEFT', NULL);
1055       end loop;
1056       XNP_WSGL.LayoutRowEnd;
1057 
1058       XNP_WSGL.LayoutRowStart('TOP');
1059       XNP_WSGL.LayoutData(htf.bold('Initial Range:'));
1060       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.L_NRE_OBJECT_REFERENCE));
1061       XNP_WSGL.LayoutRowEnd;
1062       XNP_WSGL.LayoutRowStart('TOP');
1063       XNP_WSGL.LayoutData(htf.bold('New Range:'));
1064       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.L_NRE2_OBJECT_REFERENCE));
1065       XNP_WSGL.LayoutRowEnd;
1066       XNP_WSGL.LayoutRowStart('TOP');
1067       XNP_WSGL.LayoutData(htf.bold('Permissive Dialing Start Date:'));
1068       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.PERMISSIVE_DIAL_START_DATE));
1069       XNP_WSGL.LayoutRowEnd;
1070       XNP_WSGL.LayoutRowStart('TOP');
1071       XNP_WSGL.LayoutData(htf.bold('Permissive Dialing End Date:'));
1072       XNP_WSGL.LayoutData(htf.bold(FORM_VAL.PERMISSIVE_DIAL_END_DATE));
1073       XNP_WSGL.LayoutRowEnd;
1074       XNP_WSGL.LayoutRowStart('TOP');
1075       XNP_WSGL.LayoutData(htf.bold('Initial Range Starting Number:'));
1076       XNP_WSGL.LayoutData(FORM_VAL.L_NRE_STARTING_NUMBER);
1077       XNP_WSGL.LayoutRowEnd;
1078       XNP_WSGL.LayoutRowStart('TOP');
1079       XNP_WSGL.LayoutData(htf.bold('Initial Range Ending Number:'));
1080       XNP_WSGL.LayoutData(FORM_VAL.L_NRE_ENDING_NUMBER);
1081       XNP_WSGL.LayoutRowEnd;
1082       XNP_WSGL.LayoutRowStart('TOP');
1083       XNP_WSGL.LayoutData(htf.bold('New Range Starting Number:'));
1084       XNP_WSGL.LayoutData(FORM_VAL.L_NRE2_STARTING_NUMBER);
1085       XNP_WSGL.LayoutRowEnd;
1086       XNP_WSGL.LayoutRowStart('TOP');
1087       XNP_WSGL.LayoutData(htf.bold('New Range Ending Number:'));
1088       XNP_WSGL.LayoutData(FORM_VAL.L_NRE2_ENDING_NUMBER);
1089       XNP_WSGL.LayoutRowEnd;
1090       XNP_WSGL.LayoutRowStart('TOP');
1091       XNP_WSGL.LayoutData(htf.bold('Conversion Procedure:'));
1092       XNP_WSGL.LayoutData(replace(FORM_VAL.CONVERSION_PROCEDURE, '
1093 ', '<BR>
1094 '));
1095       XNP_WSGL.LayoutRowEnd;
1096 
1097       XNP_WSGL.LayoutClose;
1098 
1099 
1100 
1101 
1102 
1103 
1104 
1105 
1106       XNP_WSGL.ClosePageBody;
1107 
1108    exception
1109       when others then
1110          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1111                              VF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.FormView');
1112          XNP_WSGL.ClosePageBody;
1113    end;
1114 
1115 --------------------------------------------------------------------------------
1116 -- Name:        xnp_number_splits$number_split.QueryView
1117 --
1118 -- Description: Queries the details of a single row in preparation for display.
1119 --
1120 -- Parameters:
1121 --
1122 --------------------------------------------------------------------------------
1123    procedure QueryView(
1124              P_NUMBER_SPLIT_ID in varchar2,
1125              Z_POST_DML in boolean,
1126              Z_FORM_STATUS in number,
1127              Z_DIRECT_CALL in boolean,
1128              Z_CHK in varchar2) is
1129    begin
1130 
1131       XNP_WSGL.RegisterURL('xnp_number_splits$number_split.queryview');
1132       XNP_WSGL.AddURLParam('P_NUMBER_SPLIT_ID', P_NUMBER_SPLIT_ID);
1133       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
1134       if not Z_DIRECT_CALL then
1135          if not XNP_WSGL.ValidateChecksum('' ||
1136                                       P_NUMBER_SPLIT_ID, Z_CHK) then
1137             return;
1138          end if;
1139       end if;
1140 
1141 
1142       if P_NUMBER_SPLIT_ID is not null then
1143          CURR_VAL.NUMBER_SPLIT_ID := P_NUMBER_SPLIT_ID;
1144       end if;
1145       if Z_POST_DML then
1146 
1147          SELECT L_NRE.OBJECT_REFERENCE,
1148                 L_NRE2.OBJECT_REFERENCE,
1149                 L_NRE.STARTING_NUMBER,
1150                 L_NRE.ENDING_NUMBER,
1151                 L_NRE2.STARTING_NUMBER,
1152                 L_NRE2.ENDING_NUMBER
1153          INTO   NBT_VAL.L_NRE_OBJECT_REFERENCE,
1154                 NBT_VAL.L_NRE2_OBJECT_REFERENCE,
1155                 NBT_VAL.L_NRE_STARTING_NUMBER,
1156                 NBT_VAL.L_NRE_ENDING_NUMBER,
1157                 NBT_VAL.L_NRE2_STARTING_NUMBER,
1158                 NBT_VAL.L_NRE2_ENDING_NUMBER
1159          FROM   XNP_NUMBER_SPLITS NST,
1160                 XNP_NUMBER_RANGES L_NRE,
1164          AND    L_NRE2.NUMBER_RANGE_ID = NST.NEW_NUMBER_RANGE_ID
1161                 XNP_NUMBER_RANGES L_NRE2
1162          WHERE  NST.NUMBER_SPLIT_ID = CURR_VAL.NUMBER_SPLIT_ID
1163          AND    L_NRE.NUMBER_RANGE_ID = NST.OLD_NUMBER_RANGE_ID
1165          ;
1166 
1167       else
1168 
1169          SELECT NST.NUMBER_SPLIT_ID,
1170                 NST.NEW_NUMBER_RANGE_ID,
1171                 NST.OLD_NUMBER_RANGE_ID,
1172                 L_NRE.OBJECT_REFERENCE,
1173                 L_NRE2.OBJECT_REFERENCE,
1174                 NST.PERMISSIVE_DIAL_START_DATE,
1175                 NST.PERMISSIVE_DIAL_END_DATE,
1176                 L_NRE.STARTING_NUMBER,
1177                 L_NRE.ENDING_NUMBER,
1178                 L_NRE2.STARTING_NUMBER,
1179                 L_NRE2.ENDING_NUMBER,
1180                 NST.CONVERSION_PROCEDURE
1181          INTO   CURR_VAL.NUMBER_SPLIT_ID,
1182                 CURR_VAL.NEW_NUMBER_RANGE_ID,
1183                 CURR_VAL.OLD_NUMBER_RANGE_ID,
1184                 NBT_VAL.L_NRE_OBJECT_REFERENCE,
1185                 NBT_VAL.L_NRE2_OBJECT_REFERENCE,
1186                 CURR_VAL.PERMISSIVE_DIAL_START_DATE,
1187                 CURR_VAL.PERMISSIVE_DIAL_END_DATE,
1188                 NBT_VAL.L_NRE_STARTING_NUMBER,
1189                 NBT_VAL.L_NRE_ENDING_NUMBER,
1190                 NBT_VAL.L_NRE2_STARTING_NUMBER,
1191                 NBT_VAL.L_NRE2_ENDING_NUMBER,
1192                 CURR_VAL.CONVERSION_PROCEDURE
1193          FROM   XNP_NUMBER_SPLITS NST,
1194                 XNP_NUMBER_RANGES L_NRE,
1195                 XNP_NUMBER_RANGES L_NRE2
1196          WHERE  NST.NUMBER_SPLIT_ID = CURR_VAL.NUMBER_SPLIT_ID
1197          AND    L_NRE.NUMBER_RANGE_ID = NST.OLD_NUMBER_RANGE_ID
1198          AND    L_NRE2.NUMBER_RANGE_ID = NST.NEW_NUMBER_RANGE_ID
1199          ;
1200 
1201       end if;
1202 
1203       if not PostQuery(Z_POST_DML) then
1204          FormView(XNP_WSGL.FORM_STATUS_ERROR);
1205       else
1206          FormView(Z_FORM_STATUS);
1207       end if;
1208 
1209    exception
1210       when NO_DATA_FOUND then
1211          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_WSGL.MsgGetText(204, XNP_WSGLM.MSG204_ROW_DELETED),
1212                              'View Number Splits'||' : '||'Number Split Details', VF_BODY_ATTRIBUTES);
1213       when others then
1214          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1215                              VF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.QueryView');
1216    end;
1217 --------------------------------------------------------------------------------
1218 -- Name:        xnp_number_splits$number_split.QueryList
1219 --
1220 -- Description: This procedure builds the Record list for the 'NUMBER_SPLITS'
1221 --              module component (Number Split Details).
1222 --
1223 --              The Record List displays context information for records which
1224 --              match the specified query criteria.
1225 --              Sets of records are displayed (10 records at a time)
1226 --              with Next/Previous buttons to get other record sets.
1227 --
1228 --              The first context column will be created as a link to the
1229 --              xnp_number_splits$number_split.FormView procedure for display of more details
1230 --              of that particular row.
1231 --
1232 -- Parameters:  P_L_NRE_OBJECT_REFERENCE - Initial Range
1233 --              P_L_NRE2_OBJECT_REFERENCE - New Range
1234 --              P_PERMISSIVE_DIAL_START_DATE - Permissive Dialing Start Date
1235 --              U_PERMISSIVE_DIAL_START_DATE - Permissive Dialing Start Date (upper bound)
1236 --              P_PERMISSIVE_DIAL_END_DATE - Permissive Dialing End Date
1237 --              U_PERMISSIVE_DIAL_END_DATE - Permissive Dialing End Date (upper bound)
1238 --              P_L_NRE_STARTING_NUMBER - Initial Range Starting Number
1239 --              P_L_NRE_ENDING_NUMBER - Initial Range Ending Number
1240 --              P_L_NRE2_STARTING_NUMBER - New Range Starting Number
1241 --              P_L_NRE2_ENDING_NUMBER - New Range Ending Number
1242 --              Z_START - First record to display
1243 --              Z_ACTION - Next or Previous set
1244 --
1245 --------------------------------------------------------------------------------
1246    procedure QueryList(
1247              P_L_NRE_OBJECT_REFERENCE in varchar2,
1248              P_L_NRE2_OBJECT_REFERENCE in varchar2,
1249              P_PERMISSIVE_DIAL_START_DATE in varchar2,
1250              U_PERMISSIVE_DIAL_START_DATE in varchar2,
1251              P_PERMISSIVE_DIAL_END_DATE in varchar2,
1252              U_PERMISSIVE_DIAL_END_DATE in varchar2,
1253              P_L_NRE_STARTING_NUMBER in varchar2,
1254              P_L_NRE_ENDING_NUMBER in varchar2,
1255              P_L_NRE2_STARTING_NUMBER in varchar2,
1256              P_L_NRE2_ENDING_NUMBER in varchar2,
1257              Z_START in varchar2,
1258              Z_ACTION in varchar2,
1259              Z_DIRECT_CALL in boolean,
1260              Z_CHK in varchar2) is
1261 
1262       L_VF_FRAME          varchar2(20) := 'fraVF';
1263       I_WHERE             varchar2(2000) := '';
1264       I_CURSOR            integer;
1265       I_VOID              integer;
1266       I_ROWS_FETCHED      integer := 0;
1267       I_TOTAL_ROWS        integer := 0;
1268       I_START             number(6) := to_number(Z_START);
1269       I_COUNT             number(10) := 0;
1270       I_OF_TOTAL_TEXT     varchar2(200) := '';
1271       I_NEXT_BUT          boolean;
1272       I_PREV_BUT          boolean;
1276 
1273       L_CHECKSUM          varchar2(10);
1274 
1275    begin
1277       XNP_WSGL.RegisterURL('xnp_number_splits$number_split.querylist');
1278       XNP_WSGL.AddURLParam('P_L_NRE_OBJECT_REFERENCE', P_L_NRE_OBJECT_REFERENCE);
1279       XNP_WSGL.AddURLParam('P_L_NRE2_OBJECT_REFERENCE', P_L_NRE2_OBJECT_REFERENCE);
1280       XNP_WSGL.AddURLParam('P_PERMISSIVE_DIAL_START_DATE', P_PERMISSIVE_DIAL_START_DATE);
1281       XNP_WSGL.AddURLParam('U_PERMISSIVE_DIAL_START_DATE', U_PERMISSIVE_DIAL_START_DATE);
1282       XNP_WSGL.AddURLParam('P_PERMISSIVE_DIAL_END_DATE', P_PERMISSIVE_DIAL_END_DATE);
1283       XNP_WSGL.AddURLParam('U_PERMISSIVE_DIAL_END_DATE', U_PERMISSIVE_DIAL_END_DATE);
1284       XNP_WSGL.AddURLParam('P_L_NRE_STARTING_NUMBER', P_L_NRE_STARTING_NUMBER);
1285       XNP_WSGL.AddURLParam('P_L_NRE_ENDING_NUMBER', P_L_NRE_ENDING_NUMBER);
1286       XNP_WSGL.AddURLParam('P_L_NRE2_STARTING_NUMBER', P_L_NRE2_STARTING_NUMBER);
1287       XNP_WSGL.AddURLParam('P_L_NRE2_ENDING_NUMBER', P_L_NRE2_ENDING_NUMBER);
1288       XNP_WSGL.AddURLParam('Z_START', Z_START);
1289       XNP_WSGL.AddURLParam('Z_ACTION', Z_ACTION);
1290       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
1291       if not Z_DIRECT_CALL then
1292          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
1293             return;
1294          end if;
1295       end if;
1296 
1297       if (Z_ACTION = RL_QUERY_BUT_ACTION) or (Z_ACTION = RL_QUERY_BUT_CAPTION) then
1298          FormQuery(
1299          Z_DIRECT_CALL=>TRUE);
1300          return;
1301       end if;
1302 
1303       XNP_WSGL.OpenPageHead('View Number Splits'||' : '||'Number Split Details');
1304       CreateListJavaScript;
1305       xnp_number_splits$.TemplateHeader(TRUE,0);
1306       XNP_WSGL.ClosePageHead;
1307 
1308       XNP_WSGL.OpenPageBody(FALSE, p_attributes=>RL_BODY_ATTRIBUTES);
1309 
1310       if (Z_ACTION = RL_LAST_BUT_ACTION) or (Z_ACTION = RL_LAST_BUT_CAPTION) or
1311          (Z_ACTION = RL_COUNT_BUT_ACTION) or (Z_ACTION = RL_COUNT_BUT_CAPTION) or
1312          (RL_TOTAL_COUNT_REQD)
1313       then
1314 
1315          I_COUNT := QueryHits(
1316                     P_L_NRE_OBJECT_REFERENCE,
1317                     P_L_NRE2_OBJECT_REFERENCE,
1318                     P_PERMISSIVE_DIAL_START_DATE,
1319                     U_PERMISSIVE_DIAL_START_DATE,
1320                     P_PERMISSIVE_DIAL_END_DATE,
1321                     U_PERMISSIVE_DIAL_END_DATE,
1322                     P_L_NRE_STARTING_NUMBER,
1323                     P_L_NRE_ENDING_NUMBER,
1324                     P_L_NRE2_STARTING_NUMBER,
1325                     P_L_NRE2_ENDING_NUMBER);
1326          if I_COUNT = -1 then
1327             XNP_WSGL.ClosePageBody;
1328             return;
1329          end if;
1330       end if;
1331 
1332       if (Z_ACTION = RL_COUNT_BUT_ACTION) or (Z_ACTION = RL_COUNT_BUT_CAPTION) or
1333          RL_TOTAL_COUNT_REQD then
1334          I_OF_TOTAL_TEXT := ' '||XNP_WSGL.MsgGetText(111,XNP_WSGLM.DSP111_OF_TOTAL, to_char(I_COUNT));
1335       end if;
1336 
1337       if Z_START IS NULL or (Z_ACTION = RL_FIRST_BUT_ACTION) or (Z_ACTION = RL_FIRST_BUT_CAPTION) then
1338          I_START := 1;
1339       elsif (Z_ACTION = RL_NEXT_BUT_ACTION) or (Z_ACTION = RL_NEXT_BUT_CAPTION) then
1340          I_START := I_START + RL_RECORD_SET_SIZE;
1341       elsif (Z_ACTION = RL_PREV_BUT_ACTION) or (Z_ACTION = RL_PREV_BUT_CAPTION) then
1342          I_START := I_START - RL_RECORD_SET_SIZE;
1343       elsif (Z_ACTION = RL_LAST_BUT_ACTION) or (Z_ACTION = RL_LAST_BUT_CAPTION) then
1344          I_START := 1 + (floor((I_COUNT-1)/RL_RECORD_SET_SIZE)*RL_RECORD_SET_SIZE);
1345       elsif Z_ACTION is null and I_START = 1 then
1346 	 null;
1347       elsif Z_ACTION IS NULL then
1348          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_WSGL.MsgGetText(215,XNP_WSGLM.MSG215_NO_MULTIPLE_SUBMITS),
1349                              'View Number Splits'||' : '||'Number Split Details', RL_BODY_ATTRIBUTES);
1350          XNP_WSGL.ClosePageBody;
1351          return;
1352       end if;
1353 
1354       if I_START < 1 then
1355           I_START := 1;
1356       end if;
1357 
1358       I_PREV_BUT := TRUE;
1359       I_NEXT_BUT := FALSE;
1360       if I_START = 1 or Z_ACTION IS NULL then
1361          I_PREV_BUT := FALSE;
1362       end if;
1363 
1364       if nvl(Z_ACTION, 'X') <> 'DONTQUERY' then
1365 
1366          if ZONE_SQL IS NULL then
1367             if not BuildSQL(
1368                        P_L_NRE_OBJECT_REFERENCE,
1369                        P_L_NRE2_OBJECT_REFERENCE,
1370                        P_PERMISSIVE_DIAL_START_DATE,
1371                        U_PERMISSIVE_DIAL_START_DATE,
1372                        P_PERMISSIVE_DIAL_END_DATE,
1373                        U_PERMISSIVE_DIAL_END_DATE,
1374                        P_L_NRE_STARTING_NUMBER,
1375                        P_L_NRE_ENDING_NUMBER,
1376                        P_L_NRE2_STARTING_NUMBER,
1377                        P_L_NRE2_ENDING_NUMBER) then
1378                XNP_WSGL.ClosePageBody;
1379                return;
1380             end if;
1381          end if;
1382 
1383          if not PreQuery(
1384                        P_L_NRE_OBJECT_REFERENCE,
1385                        P_L_NRE2_OBJECT_REFERENCE,
1386                        P_PERMISSIVE_DIAL_START_DATE,
1387                        U_PERMISSIVE_DIAL_START_DATE,
1388                        P_PERMISSIVE_DIAL_END_DATE,
1389                        U_PERMISSIVE_DIAL_END_DATE,
1390                        P_L_NRE_STARTING_NUMBER,
1394             XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
1391                        P_L_NRE_ENDING_NUMBER,
1392                        P_L_NRE2_STARTING_NUMBER,
1393                        P_L_NRE2_ENDING_NUMBER) then
1395                                 'View Number Splits'||' : '||'Number Split Details', RL_BODY_ATTRIBUTES);
1396          return;
1397          end if;
1398 
1399 
1400 
1401          I_CURSOR := dbms_sql.open_cursor;
1402          dbms_sql.parse(I_CURSOR, ZONE_SQL, dbms_sql.v7);
1403          dbms_sql.define_column(I_CURSOR, 1, CURR_VAL.NUMBER_SPLIT_ID);
1404          dbms_sql.define_column(I_CURSOR, 2, NBT_VAL.L_NRE_OBJECT_REFERENCE, 80);
1405          dbms_sql.define_column(I_CURSOR, 3, NBT_VAL.L_NRE2_OBJECT_REFERENCE, 80);
1406          dbms_sql.define_column(I_CURSOR, 4, CURR_VAL.PERMISSIVE_DIAL_START_DATE);
1407          dbms_sql.define_column(I_CURSOR, 5, CURR_VAL.PERMISSIVE_DIAL_END_DATE);
1408 
1409          I_VOID := dbms_sql.execute(I_CURSOR);
1410          I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1411       else
1412          I_ROWS_FETCHED := 0;
1413       end if;
1414       I_TOTAL_ROWS := I_ROWS_FETCHED;
1415 
1416       if I_ROWS_FETCHED <> 0 then
1417 
1418          XNP_WSGL.LayoutOpen(XNP_WSGL.LAYOUT_TABLE, P_BORDER=>TRUE);
1419 
1420          XNP_WSGL.LayoutRowStart;
1421          for i in 1..RL_NUMBER_OF_COLUMNS loop
1422       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Initial Range');
1423       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'New Range');
1424       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Permissive Dialing Start Date');
1425       	    XNP_WSGL.LayoutHeader(20, 'LEFT', 'Permissive Dialing End Date');
1426          end loop;
1427          XNP_WSGL.LayoutRowEnd;
1428 
1429          while I_ROWS_FETCHED <> 0 loop
1430 
1431             if I_TOTAL_ROWS >= I_START then
1432                dbms_sql.column_value(I_CURSOR, 1, CURR_VAL.NUMBER_SPLIT_ID);
1433                dbms_sql.column_value(I_CURSOR, 2, NBT_VAL.L_NRE_OBJECT_REFERENCE);
1434                dbms_sql.column_value(I_CURSOR, 3, NBT_VAL.L_NRE2_OBJECT_REFERENCE);
1435                dbms_sql.column_value(I_CURSOR, 4, CURR_VAL.PERMISSIVE_DIAL_START_DATE);
1436                dbms_sql.column_value(I_CURSOR, 5, CURR_VAL.PERMISSIVE_DIAL_END_DATE);
1437                L_CHECKSUM := to_char(XNP_WSGL.Checksum(''||CURR_VAL.NUMBER_SPLIT_ID));
1438 
1439 
1440                XNP_WSGL.LayoutRowStart('TOP');
1441                XNP_WSGL.LayoutData(htf.anchor2('xnp_number_splits$number_split.queryview?P_NUMBER_SPLIT_ID='||CURR_VAL.NUMBER_SPLIT_ID||'&Z_CHK='||L_CHECKSUM, NBT_VAL.L_NRE_OBJECT_REFERENCE, ctarget=>L_VF_FRAME));
1442                XNP_WSGL.LayoutData(NBT_VAL.L_NRE2_OBJECT_REFERENCE);
1443                XNP_WSGL.LayoutData(ltrim(to_char(CURR_VAL.PERMISSIVE_DIAL_START_DATE, 'DD-MON-RRRR')));
1444                XNP_WSGL.LayoutData(ltrim(to_char(CURR_VAL.PERMISSIVE_DIAL_END_DATE, 'DD-MON-RRRR')));
1445                XNP_WSGL.LayoutRowEnd;
1446 
1447                I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1448                if I_TOTAL_ROWS = I_START + RL_RECORD_SET_SIZE - 1 then
1449                   if I_ROWS_FETCHED <> 0 then
1450                      I_NEXT_BUT := TRUE;
1451                   end if;
1452                   exit;
1453                end if;
1454             else
1455                I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1456             end if;
1457 
1458             I_TOTAL_ROWS := I_TOTAL_ROWS + I_ROWS_FETCHED;
1459 
1460          end loop;
1461 
1462          XNP_WSGL.LayoutClose;
1463 
1464          if I_START = I_TOTAL_ROWS then
1465             htp.p(XNP_WSGL.MsgGetText(109,XNP_WSGLM.DSP109_RECORD, to_char(I_TOTAL_ROWS))||I_OF_TOTAL_TEXT);
1466          else
1467             htp.p(XNP_WSGL.MsgGetText(110,XNP_WSGLM.DSP110_RECORDS_N_M,
1468                                   to_char(I_START), to_char(I_TOTAL_ROWS))||
1469                   I_OF_TOTAL_TEXT);
1470          end if;
1471          htp.para;
1472       else
1473          htp.p(XNP_WSGL.MsgGetText(112,XNP_WSGLM.DSP112_NO_RECORDS));
1474       end if;
1475 
1476       if nvl(Z_ACTION, 'X') <> 'DONTQUERY' then
1477          dbms_sql.close_cursor(I_CURSOR);
1478       end if;
1479 
1480       htp.formOpen(curl => 'xnp_number_splits$number_split.querylist', cattributes => 'NAME="frmZero"');
1481       XNP_WSGL.HiddenField('P_L_NRE_OBJECT_REFERENCE', P_L_NRE_OBJECT_REFERENCE);
1482       XNP_WSGL.HiddenField('P_L_NRE2_OBJECT_REFERENCE', P_L_NRE2_OBJECT_REFERENCE);
1483       XNP_WSGL.HiddenField('P_PERMISSIVE_DIAL_START_DATE', P_PERMISSIVE_DIAL_START_DATE);
1484       XNP_WSGL.HiddenField('U_PERMISSIVE_DIAL_START_DATE', U_PERMISSIVE_DIAL_START_DATE);
1485       XNP_WSGL.HiddenField('P_PERMISSIVE_DIAL_END_DATE', P_PERMISSIVE_DIAL_END_DATE);
1486       XNP_WSGL.HiddenField('U_PERMISSIVE_DIAL_END_DATE', U_PERMISSIVE_DIAL_END_DATE);
1487       XNP_WSGL.HiddenField('P_L_NRE_STARTING_NUMBER', P_L_NRE_STARTING_NUMBER);
1488       XNP_WSGL.HiddenField('P_L_NRE_ENDING_NUMBER', P_L_NRE_ENDING_NUMBER);
1489       XNP_WSGL.HiddenField('P_L_NRE2_STARTING_NUMBER', P_L_NRE2_STARTING_NUMBER);
1490       XNP_WSGL.HiddenField('P_L_NRE2_ENDING_NUMBER', P_L_NRE2_ENDING_NUMBER);
1491       XNP_WSGL.HiddenField('Z_START', to_char(I_START));
1492       htp.p ('<SCRIPT><!--');
1493       htp.p ('document.write (''<input type=hidden name="Z_ACTION">'')');
1494       htp.p ('//-->');
1495       htp.p ('</SCRIPT>');
1496 
1500                             'onClick="this.form.Z_ACTION.value=\''' || RL_PREV_BUT_ACTION || '\''"');
1497       XNP_WSGL.RecordListButton(I_PREV_BUT, 'Z_ACTION', htf.escape_sc(RL_FIRST_BUT_CAPTION),                            XNP_WSGL.MsgGetText(213,XNP_WSGLM.MSG213_AT_FIRST),			    FALSE,
1498                             'onClick="this.form.Z_ACTION.value=\''' || RL_FIRST_BUT_ACTION || '\''"');
1499       XNP_WSGL.RecordListButton(I_PREV_BUT, 'Z_ACTION', htf.escape_sc(RL_PREV_BUT_CAPTION),                            XNP_WSGL.MsgGetText(213,XNP_WSGLM.MSG213_AT_FIRST),			    FALSE,
1501       XNP_WSGL.RecordListButton(I_NEXT_BUT,'Z_ACTION', htf.escape_sc(RL_NEXT_BUT_CAPTION),                            XNP_WSGL.MsgGetText(214,XNP_WSGLM.MSG214_AT_LAST),			    FALSE,
1502                             'onClick="this.form.Z_ACTION.value=\''' || RL_NEXT_BUT_ACTION || '\''"');
1503       XNP_WSGL.RecordListButton(I_NEXT_BUT,'Z_ACTION', htf.escape_sc(RL_LAST_BUT_CAPTION),                            XNP_WSGL.MsgGetText(214,XNP_WSGLM.MSG214_AT_LAST),			    FALSE,
1504                             'onClick="this.form.Z_ACTION.value=\''' || RL_LAST_BUT_ACTION || '\''"');
1505 
1506       XNP_WSGL.RecordListButton(TRUE, 'Z_ACTION', htf.escape_sc(RL_REQUERY_BUT_CAPTION),p_dojs=>FALSE,
1507                             buttonJS => 'onClick="this.form.Z_ACTION.value=\''' || RL_REQUERY_BUT_ACTION || '\''"');
1508       XNP_WSGL.HiddenField('Z_CHK',
1509                      to_char(XNP_WSGL.Checksum('')));
1510       htp.formClose;
1511 
1512       htp.formOpen(curl => 'xnp_number_splits$number_split.querylist', ctarget=>'_top', cattributes => 'NAME="frmOne"');
1513       htp.p ('<SCRIPT><!--');
1514       htp.p ('document.write (''<input type=hidden name="Z_ACTION">'')');
1515       htp.p ('//-->');
1516       htp.p ('</SCRIPT>');
1517       htp.p ('<SCRIPT><!--');
1518       htp.p ('document.write (''' || htf.formSubmit('', htf.escape_sc(RL_QUERY_BUT_CAPTION), 'onClick="this.form.Z_ACTION.value=\''' || RL_QUERY_BUT_ACTION || '\''"') || ''')');
1519       htp.p ('//-->');
1520       htp.p ('</SCRIPT>');
1521 
1522       if XNP_WSGL.IsSupported ('NOSCRIPT')
1523       then
1524 
1525         htp.p ('<NOSCRIPT>');
1526         htp.formSubmit('Z_ACTION', htf.escape_sc(RL_QUERY_BUT_CAPTION));
1527         htp.p ('</NOSCRIPT>');
1528 
1529       end if;
1530       XNP_WSGL.HiddenField('Z_CHK',
1531                      to_char(XNP_WSGL.Checksum('')));
1532       htp.formClose;
1533 
1534       XNP_WSGL.ClosePageBody;
1535 
1536    exception
1537       when others then
1538          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1539                              RL_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.QueryList');
1540          XNP_WSGL.ClosePageBody;
1541    end;
1542 
1543 --------------------------------------------------------------------------------
1544 -- Name:        xnp_number_splits$number_split.QueryFirst
1545 --
1546 -- Description: Finds the first row which matches the given search criteria
1547 --              (if any), and calls QueryView for that row
1548 --
1549 -- Parameters:
1550 --
1551 --------------------------------------------------------------------------------
1552    procedure QueryFirst(
1553              P_L_NRE_OBJECT_REFERENCE in varchar2,
1554              P_L_NRE2_OBJECT_REFERENCE in varchar2,
1555              P_PERMISSIVE_DIAL_START_DATE in varchar2,
1556              U_PERMISSIVE_DIAL_START_DATE in varchar2,
1557              P_PERMISSIVE_DIAL_END_DATE in varchar2,
1558              U_PERMISSIVE_DIAL_END_DATE in varchar2,
1559              P_L_NRE_STARTING_NUMBER in varchar2,
1560              P_L_NRE_ENDING_NUMBER in varchar2,
1561              P_L_NRE2_STARTING_NUMBER in varchar2,
1562              P_L_NRE2_ENDING_NUMBER in varchar2,
1563              Z_ACTION in varchar2,
1564              Z_DIRECT_CALL in boolean,
1565              Z_CHK in varchar2) is
1566 
1567       I_CURSOR            integer;
1568       I_VOID              integer;
1569       I_ROWS_FETCHED      integer := 0;
1570 
1571    begin
1572 
1573       XNP_WSGL.RegisterURL('xnp_number_splits$number_split.queryfirst');
1574       XNP_WSGL.AddURLParam('P_L_NRE_OBJECT_REFERENCE', P_L_NRE_OBJECT_REFERENCE);
1575       XNP_WSGL.AddURLParam('P_L_NRE2_OBJECT_REFERENCE', P_L_NRE2_OBJECT_REFERENCE);
1576       XNP_WSGL.AddURLParam('P_PERMISSIVE_DIAL_START_DATE', P_PERMISSIVE_DIAL_START_DATE);
1577       XNP_WSGL.AddURLParam('U_PERMISSIVE_DIAL_START_DATE', U_PERMISSIVE_DIAL_START_DATE);
1578       XNP_WSGL.AddURLParam('P_PERMISSIVE_DIAL_END_DATE', P_PERMISSIVE_DIAL_END_DATE);
1579       XNP_WSGL.AddURLParam('U_PERMISSIVE_DIAL_END_DATE', U_PERMISSIVE_DIAL_END_DATE);
1580       XNP_WSGL.AddURLParam('P_L_NRE_STARTING_NUMBER', P_L_NRE_STARTING_NUMBER);
1581       XNP_WSGL.AddURLParam('P_L_NRE_ENDING_NUMBER', P_L_NRE_ENDING_NUMBER);
1582       XNP_WSGL.AddURLParam('P_L_NRE2_STARTING_NUMBER', P_L_NRE2_STARTING_NUMBER);
1583       XNP_WSGL.AddURLParam('P_L_NRE2_ENDING_NUMBER', P_L_NRE2_ENDING_NUMBER);
1584       XNP_WSGL.AddURLParam('Z_ACTION', Z_ACTION);
1585       XNP_WSGL.AddURLParam('Z_CHK', Z_CHK);
1586       if not Z_DIRECT_CALL then
1587          if not XNP_WSGL.ValidateChecksum('', Z_CHK) then
1588             return;
1589          end if;
1590       end if;
1591 
1592       if Z_ACTION = 'BLANK' then
1593          XNP_WSGL.EmptyPage(VF_BODY_ATTRIBUTES);
1594          return;
1595       end if;
1596 
1597 
1598       if not BuildSQL(
1599                     P_L_NRE_OBJECT_REFERENCE,
1600                     P_L_NRE2_OBJECT_REFERENCE,
1604                     U_PERMISSIVE_DIAL_END_DATE,
1601                     P_PERMISSIVE_DIAL_START_DATE,
1602                     U_PERMISSIVE_DIAL_START_DATE,
1603                     P_PERMISSIVE_DIAL_END_DATE,
1605                     P_L_NRE_STARTING_NUMBER,
1606                     P_L_NRE_ENDING_NUMBER,
1607                     P_L_NRE2_STARTING_NUMBER,
1608                     P_L_NRE2_ENDING_NUMBER) then
1609          return;
1610       end if;
1611 
1612       if not PreQuery(
1613                     P_L_NRE_OBJECT_REFERENCE,
1614                     P_L_NRE2_OBJECT_REFERENCE,
1615                     P_PERMISSIVE_DIAL_START_DATE,
1616                     U_PERMISSIVE_DIAL_START_DATE,
1617                     P_PERMISSIVE_DIAL_END_DATE,
1618                     U_PERMISSIVE_DIAL_END_DATE,
1619                     P_L_NRE_STARTING_NUMBER,
1620                     P_L_NRE_ENDING_NUMBER,
1621                     P_L_NRE2_STARTING_NUMBER,
1622                     P_L_NRE2_ENDING_NUMBER) then
1623          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_ERROR, XNP_cg$errors.GetErrors,
1624                              'View Number Splits'||' : '||'Number Split Details', VF_BODY_ATTRIBUTES);
1625          return;
1626       end if;
1627 
1628       I_CURSOR := dbms_sql.open_cursor;
1629       dbms_sql.parse(I_CURSOR, ZONE_SQL, dbms_sql.v7);
1630       dbms_sql.define_column(I_CURSOR, 1, CURR_VAL.NUMBER_SPLIT_ID);
1631       dbms_sql.define_column(I_CURSOR, 2, NBT_VAL.L_NRE_OBJECT_REFERENCE, 80);
1632       dbms_sql.define_column(I_CURSOR, 3, NBT_VAL.L_NRE2_OBJECT_REFERENCE, 80);
1633       dbms_sql.define_column(I_CURSOR, 4, CURR_VAL.PERMISSIVE_DIAL_START_DATE);
1634       dbms_sql.define_column(I_CURSOR, 5, CURR_VAL.PERMISSIVE_DIAL_END_DATE);
1635 
1636       I_VOID := dbms_sql.execute(I_CURSOR);
1637 
1638       I_ROWS_FETCHED := dbms_sql.fetch_rows(I_CURSOR);
1639 
1640       if I_ROWS_FETCHED = 0 then
1641          XNP_WSGL.EmptyPage(VF_BODY_ATTRIBUTES);
1642       else
1643          dbms_sql.column_value(I_CURSOR, 1, CURR_VAL.NUMBER_SPLIT_ID);
1644          dbms_sql.column_value(I_CURSOR, 2, NBT_VAL.L_NRE_OBJECT_REFERENCE);
1645          dbms_sql.column_value(I_CURSOR, 3, NBT_VAL.L_NRE2_OBJECT_REFERENCE);
1646          dbms_sql.column_value(I_CURSOR, 4, CURR_VAL.PERMISSIVE_DIAL_START_DATE);
1647          dbms_sql.column_value(I_CURSOR, 5, CURR_VAL.PERMISSIVE_DIAL_END_DATE);
1648          xnp_number_splits$number_split.QueryView(Z_DIRECT_CALL=>TRUE);
1649       end if;
1650 
1651       dbms_sql.close_cursor(I_CURSOR);
1652 
1653    exception
1654       when others then
1655          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1656                              VF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.QueryFirst');
1657          XNP_WSGL.ClosePageBody;
1658    end;
1659 
1660 --------------------------------------------------------------------------------
1661 -- Name:        xnp_number_splits$number_split.PreQuery
1662 --
1663 -- Description: Provides place holder for code to be run prior to a query
1664 --              for the 'NUMBER_SPLITS' module component  (Number Split Details).
1665 --
1666 -- Parameters:  None
1667 --
1668 -- Returns:     True           If success
1669 --              False          Otherwise
1670 --
1671 --------------------------------------------------------------------------------
1672    function PreQuery(
1673             P_L_NRE_OBJECT_REFERENCE in varchar2,
1674             P_L_NRE2_OBJECT_REFERENCE in varchar2,
1675             P_PERMISSIVE_DIAL_START_DATE in varchar2,
1676             U_PERMISSIVE_DIAL_START_DATE in varchar2,
1677             P_PERMISSIVE_DIAL_END_DATE in varchar2,
1678             U_PERMISSIVE_DIAL_END_DATE in varchar2,
1679             P_L_NRE_STARTING_NUMBER in varchar2,
1680             P_L_NRE_ENDING_NUMBER in varchar2,
1681             P_L_NRE2_STARTING_NUMBER in varchar2,
1682             P_L_NRE2_ENDING_NUMBER in varchar2) return boolean is
1683       L_RET_VAL boolean := TRUE;
1684    begin
1685       return L_RET_VAL;
1686    exception
1687       when others then
1688          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1689                              DEF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.PreQuery');
1690          return FALSE;
1691    end;
1692 
1693 --------------------------------------------------------------------------------
1694 -- Name:        xnp_number_splits$number_split.PostQuery
1695 --
1696 -- Description: Provides place holder for code to be run after a query
1697 --              for the 'NUMBER_SPLITS' module component  (Number Split Details).
1698 --
1699 -- Parameters:  Z_POST_DML  Flag indicating if Query after insert or update
1700 --
1701 -- Returns:     True           If success
1702 --              False          Otherwise
1703 --
1704 --------------------------------------------------------------------------------
1705    function PostQuery(Z_POST_DML in boolean) return boolean is
1706       L_RET_VAL boolean := TRUE;
1707    begin
1708        return L_RET_VAL;
1709    exception
1710       when others then
1711          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1712                              DEF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.PostQuery');
1713           return FALSE;
1714    end;
1715 
1716 --------------------------------------------------------------------------------
1717 -- Name:        xnp_number_splits$number_split.CreateQueryJavaScript
1718 --
1719 -- Description:
1720 --
1721 -- Parameters:
1722 --
1723 --------------------------------------------------------------------------------
1724    procedure CreateQueryJavaScript is
1725    begin
1726       htp.p(XNP_WSGJSL.OpenScript);
1727       htp.p('var FormType = "Query";');
1728 
1729       htp.p(
1730 'function L_NRE_OBJECT_REFERENCE_LOV() {
1731    var filter = "";
1732    var the_pathname = location.pathname;
1733    var i            = the_pathname.indexOf (''/:'');
1734    var j            = the_pathname.indexOf (''/'', ++i);
1735 
1736    if (i != -1)
1737    {
1738 
1739      // Syntactically incorrect url so it needs to be corrected
1740 
1741      the_pathname = the_pathname.substring (j, the_pathname.length);
1742 
1743    }; // (i != -1)
1744 
1745    frmLOV = open("xnp_number_splits$number_split.l_nre_object_reference_listofv" +
1746                  "?Z_FILTER=" + escape(filter) + "&Z_MODE=Q" +
1747                  "&Z_CALLER_URL=" + escape(location.protocol + ''//'' + location.host + the_pathname + location.search) +
1748                  "&Z_ISSUE_WAIT=Y",');
1749       if LOV_FRAME is not null then
1750          htp.p('                 "'||LOV_FRAME||'");');
1751       else
1752          htp.p('                 "winLOV", "scrollbars=yes,resizable=yes,width=400,height=400");');
1753       end if;
1754       htp.p('   if (frmLOV.opener == null) {
1755       frmLOV.opener = self;
1756    }
1757 }
1758 ');
1759 
1760       htp.p(
1761 'function L_NRE2_OBJECT_REFERENCE_LOV() {
1762    var filter = "";
1763    var the_pathname = location.pathname;
1764    var i            = the_pathname.indexOf (''/:'');
1765    var j            = the_pathname.indexOf (''/'', ++i);
1766 
1767    if (i != -1)
1768    {
1769 
1770      // Syntactically incorrect url so it needs to be corrected
1771 
1772      the_pathname = the_pathname.substring (j, the_pathname.length);
1773 
1774    }; // (i != -1)
1775 
1776    frmLOV = open("xnp_number_splits$number_split.l_nre2_object_reference_listof" +
1777                  "?Z_FILTER=" + escape(filter) + "&Z_MODE=Q" +
1778                  "&Z_CALLER_URL=" + escape(location.protocol + ''//'' + location.host + the_pathname + location.search) +
1779                  "&Z_ISSUE_WAIT=Y",');
1780       if LOV_FRAME is not null then
1781          htp.p('                 "'||LOV_FRAME||'");');
1782       else
1783          htp.p('                 "winLOV", "scrollbars=yes,resizable=yes,width=400,height=400");');
1784       end if;
1785       htp.p('   if (frmLOV.opener == null) {
1786       frmLOV.opener = self;
1787    }
1788 }
1789 ');
1790 
1791       htp.p(XNP_WSGJSL.CloseScript);
1792    exception
1793       when others then
1794          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1795                              QF_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.CreateQueryJavaScript');
1796    end;
1797 
1798 --------------------------------------------------------------------------------
1799 -- Name:        xnp_number_splits$number_split.CreateListJavaScript
1800 --
1801 -- Description:
1802 --
1803 -- Parameters:
1804 --
1805 --------------------------------------------------------------------------------
1806    procedure CreateListJavaScript is
1807    begin
1808       htp.p(XNP_WSGJSL.OpenScript);
1809       htp.p('var FormType = "List";');
1810       htp.p(XNP_WSGJSL.CloseScript);
1811    exception
1812       when others then
1813          XNP_WSGL.DisplayMessage(XNP_WSGL.MESS_EXCEPTION, SQLERRM, 'View Number Splits'||' : '||'Number Split Details',
1814                              RL_BODY_ATTRIBUTES, 'xnp_number_splits$number_split.CreateListJavaScript');
1815    end;
1816 end;