[Home] [Help]
PACKAGE BODY: APPS.XNP_WSGJSL
Source
1 package body XNP_wsgjsl as
2 /* $Header: XNPWSJSB.pls 120.0 2005/05/30 11:46:54 appldev noship $ */
3
4
5 ---------------------
6 function OpenScript return varchar2 is
7 begin
8 return '<SCRIPT>
9 <!-- Hide from old browsers';
10 end;
11 ---------------------
12 function CloseScript return varchar2 is
13 begin
14 return '//-->
15 </SCRIPT>';
16 end;
17 ---------------------
18 function OpenEvent(p_alias in varchar2, p_event in varchar2) return varchar2 is
19 begin
20 return 'function '||p_alias||'_'||p_event||'(ctl) {';
21 end;
22 ---------------------
23 function CloseEvent return varchar2 is
24 begin
25 return ' return true;
26 }';
27 end;
28 ---------------------
29 function CallEvent(p_alias in varchar2, p_event in varchar2) return varchar2 is
30 begin
31 return ' if (!'||p_alias||'_'||p_event||'(document.forms[0].P_'||p_alias||')) { return false; }';
32 end;
33 ---------------------
34 function CallValidate(p_alias in varchar2) return varchar2 is
35 begin
36 return ' if (!'||p_alias||'_Validate()) { return false; }';
37 end;
38 ---------------------
39 function RtnNotNull return varchar2 is
40 begin
41 return 'function JSLNotNull(pctl, pmsg){
42 if (pctl.value == "") { alert(pmsg); pctl.focus(); return false; }
43 return true;
44 }';
45 end;
46 ---------------------
47 function RtnCheckRange return varchar2 is
48 begin
49 return 'function JSLCheckRange(pctl, pval, pstyle, plowval, phival, pmsg) {
50 var lval = "" + pval;
51 if (lval <> "") {
52 var ctlval = parseInt(lval);
53 if (pstyle == 1) { // full range
54 if ( (ctlval < plowval) || (ctlval > phival)) { alert(pmsg); pctl.focus(); return false; }
55 }
56 if (pstyle == 2) { // check low value
57 if (ctlval < plowval) { alert(pmsg); pctl.focus(); return false; }
58 }
59 if (pstyle == 3) { // check high value
60 if (ctlval > phival) { alert(pmsg); pctl.focus(); return false; }
61 }
62 }
63 return true;
64 }';
65 end;
66 ---------------------
67 function RtnChkMaxLength return varchar2 is
68 begin
69 return 'function JSLChkMaxLength(pctl, plen, pmsg) {
70 if (pctl.value.length > plen) {
71 alert(pmsg);
72 pctl.focus();
73 return false;
74 }
75 return true;
76 }';
77 end;
78 ---------------------
79 function RtnChkNumScale return varchar2 is
80 begin
81 return 'function JSLChkNumScale (pctl, pval, pscale, pmsg) {
82 if (pval <> "") {
83 var PointPos = pval.indexOf(".");
84 if (PointPos <> -1) {
85 var Scale = pval.length - PointPos - 1;
86 if (Scale > pscale) {
87 alert(pmsg);
88 pctl.focus();
89 return false;
90 }
91 }
92 }
93 return true;
94 }';
95 end;
96 ---------------------
97 function RtnChkNumPrecision return varchar2 is
98 begin
99 return 'function JSLChkNumPrecision(pctl, pval, pprecision, pmsg) {
100 if (pval <> "") {
101 var Prec = 0;
102 var PointPos = pval.indexOf(".");
103 // If a decimal point was not found
104 // validate the number of digits in the whole string
105 if (PointPos == -1) {
106 Prec = pval.length;
107 }
108 else { // Validate the number of digits before the decimal point
109 Prec = PointPos;
110 }
111
112 if (Prec > pprecision) { alert(pmsg); pctl.focus(); return false; }
113 }
114 return true;
115 }';
116 end;
117 ---------------------
118 function RtnStripMask return varchar2 is
119
120 L_DECIMAL varchar2(10) := substr(to_char(1.0, '9D9'), 3, 1);
121 L_GROUP_SEP varchar2(10) := substr(to_char(1000, '9G999'), 3, 1);
122 L_ISO_CURR varchar2(10) := rtrim(ltrim(to_char(1, 'C9999')),'1');
123 L_LOCAL_CURR varchar2(10) := rtrim(ltrim(to_char(1, 'L9999')),'1');
124 L_RETURN_STRING varchar2(2000) := null;
125
126 begin
127
128 if L_DECIMAL = '\' then
129 L_DECIMAL := '\\';
130 end if;
131 if L_GROUP_SEP = '\' then
132 L_GROUP_SEP := '\\';
133 end if;
134 if L_ISO_CURR = '\' then
135 L_ISO_CURR := '\\';
136 end if;
137 if L_LOCAL_CURR = '\' then
138 L_LOCAL_CURR := '\\';
139 end if;
140
141 L_RETURN_STRING := 'function JSLStripMask(p_val) {
142 if (p_val == "") { return ""; }
143 var str = p_val;
144 str = JSLReplace(str, " ");';
145
146 if L_GROUP_SEP <> ',' then
147 L_RETURN_STRING := L_RETURN_STRING || '
148 str = JSLReplace(str, "'||L_GROUP_SEP||'");';
149 end if;
150
151 if L_LOCAL_CURR <> '$' then
152 L_RETURN_STRING := L_RETURN_STRING || '
153 str = JSLReplace(str, "'||L_LOCAL_CURR||'");';
154 end if;
155
156 -- BUG 566078 9-JAN-98 Moved Decimal handling to after group separator and currency handling
157
158 if L_DECIMAL <> '.' then
159 L_RETURN_STRING := L_RETURN_STRING || '
160 str = JSLReplace(str, "'||L_DECIMAL||'", ".");';
161 end if;
162
163 -- end BUG 566078 9-JAN-98
164
165 L_RETURN_STRING := L_RETURN_STRING || '
166 str = JSLReplace(str, ",");
167 str = JSLReplace(str, "$");
168 str = JSLReplace(str, "'||L_ISO_CURR||'");
169
170 if ((str.substring(0, 1) == "<") && (str.substring(str.length -1, str.length) == ">")) {
171 str = "-" + str.substring(1, str.length - 1);
172 }
173 if (str.substring(str.length -1, str.length) == "-") {
174 str = "-" + str.substring(0, str.length - 1);
175 }
176 if (str.substring(str.length -1, str.length) == "+") {
177 str = str.substring(0, str.length - 1);
178 }
179 return str;
180 }';
181
182 return L_RETURN_STRING;
183
184 end;
185 ---------------------
186 function RtnToNumber return varchar2 is
187 begin
188 return 'function JSLToNumber(p_val) {
189 var lval = JSLStripMask(p_val);
190 if (lval == "") { return ""; }
191 else { return parseFloat(lval); }
192 }';
193 end;
194 ---------------------
195 function RtnMakeUpper return varchar2 is
196 begin
197 return 'function JSLMakeUpper(pctl) {
198 pctl.value = pctl.value.toUpperCase();
199 }';
200 end;
201 ---------------------
202 function RtnChkConstraint return varchar2 is
203 begin
204 return 'function JSLChkConstraint(pconstraint, pmsg) {
205 if (!(pconstraint)) { alert(pmsg); return false; }
206 return true;
207 }';
208 end;
209 ---------------------
210 function RtnRadioValue return varchar2 is
211 begin
212 return 'function JSLRadioValue(pctl) {
213 var i;
214 for (i=0;i<pctl.length;i++) {
215 if (pctl[i].checked) {
216 return pctl[i].value;
217 }
218 }
219 return "";
220 }';
221 end;
222 ---------------------
223 function RtnGetValue return varchar2 is
224 begin
225 return 'function JSLGetValue(pctl, ptype, pfalse) {
226 var i = 0;
227 if (ptype == null) { return pctl.value; }
228 if (ptype == "CHECK") {
229 if (pctl.checked) { return pctl.value; }
230 else { return pfalse; }
231 }
232 if (ptype == "RADIO") {
233 for (i=0;i<pctl.length;i++) {
234 if (pctl[i].checked) { return pctl[i].value; }
235 }
236 return "";
237 }
238 if (ptype == "LIST") {
239 if (pctl.selectedIndex >= 0) {
240 if (pctl.options[pctl.selectedIndex].value <> "") {
241 return pctl.options[pctl.selectedIndex].value;
242 }
243 else { return pctl.options[pctl.selectedIndex].text; }
244 }
245 else { return ""; }
246 }
247 }';
248 end;
249 ---------------------
250 function RtnConcat return varchar2 is
251 begin
252 return 'function JSLConcat(pstr1, pstr2) {
253 if (pstr1 == null) { return ""; }
254 if (pstr2 == null) { return pstr1; }
255 return (pstr1 + pstr2);
256 }';
257 end;
258 ---------------------
259 function RtnInitCap return varchar2 is
260 begin
261 return 'function JSLInitCap(pstr) {
262 if (pstr == null) {
263 return "";
264 }
265 var count = 0;
266 var str = "";
267 var prevchar = "";
268 var curchar = "";
269 while (count < pstr.length) {
270 curchar = pstr.substring(count, count + 1);
271 if (count == 0 || prevchar == " ") {
272 curchar = curchar.toUpperCase();
273 }
274 str = str + curchar;
275 prevchar = curchar;
276 count++;
277 }
278 return str;
279 }';
280 end;
281 ---------------------
282 function RtnInstr return varchar2 is
283 begin
284 return 'function JSLInstr(pstr, pfind, pstart, pnth) {
285 if (pstr == null || pfind == "") { return null; }
286 if (pstart <> null) {
287 var index = 0;
288 var count = 0;
289 var start = pstart - 1;
290 if (pnth <> null) {
291 while (index <> -1) {
292 index = pstr.indexOf(pfind, start);
293 if (index == "") { return 0; }
294 start = index + 1;
295 count++;
296 if (count == pnth) {
297 return (index + 1);
298 }
299 }
300 }
301 else {
302 index = pstr.indexOf(pfind, start);
303 if (index == "") { return 0; }
304 }
305 return (index + 1);
306 }
307 else {
308 return (pstr.indexOf(pfind) + 1);
309 }
310 return 0;
311 }';
312 end;
313 ---------------------
314 function RtnLength return varchar2 is
315 begin
316 return 'function JSLLength(pstr) {
317 return pstr.length;
318 }';
319 end;
320 ---------------------
321 function RtnLower return varchar2 is
322 begin
323 return 'function JSLLower(pstr) {
324 return pstr.toLowerCase();
325 }';
326 end;
327 ---------------------
328 function RtnLPad return varchar2 is
329 begin
330 return 'function JSLLPad(pstr1, pLen, pstr2) {
331 var str = "";
332 var pos = 0;
333 if (pstr1 == null || pLen == null) { return ""; }
334 var count = pLen - pstr1.length;
335 if (count > 0) {
336 while (count > 0) {
337 if (pstr2 <> null) {
338 if (pos == pstr2.length) {
339 pos = 0;
340 }
341 str = str + pstr2.substring(pos, pos + 1);
342 pos++;
343 }
344 else {
345 str = str + " ";
346 }
347 count--;
348 }
349 str = str + pstr1;
350 }
351 else {
352 str = pstr1.substring(0, pLen);
353 }
354 return str;
355 }';
356 end;
357 ---------------------
358 function RtnLTrim return varchar2 is
359 begin
360 return 'function JSLLTrim(pstr1, pstr2) {
361 var str = "";
362 var curchar = "";
363 var pos = 0;
364 var len = pstr1.length;
365 while (pos < len) {
366 curchar = pstr1.substring(pos, pos + 1);
367 if (pstr2 <> null) {
368 if (pstr2.indexOf(curchar) == -1) {
369 return (pstr1.substring(pos, pstr1.length - pos));
370 }
371 }
372 else {
373 if (curchar <> " ") {
374 return (pstr1.substring(pos, pstr1.length - pos));
375 }
376 }
377 pos++;
378 }
379 return "";
380 }';
381 end;
382 ---------------------
383 function RtnNVL1 return varchar2 is
384 begin
385 return 'function JSLNVLStr(pval1, pval2) {
386 if (pval1 + "" == "") { return pval2; } else { return pval1; }
387 }';
388 end;
389 ---------------------
390 function RtnNVL2 return varchar2 is
391 begin
392 return 'function JSLNVLNum(pval1, pval2) {
393 if (pval1 + "" == "") { return parseFloat(pval2); } else { return parseFloat(pval1); }
394 }';
395 end;
396 ---------------------
397 function RtnReplace return varchar2 is
398 begin
399 return 'function JSLReplace(pstr1, pstr2, pstr3) {
400 if (pstr1 <> "") {
401 var rtnstr = "";
402 var searchstr = pstr1;
403 var addlen = pstr2.length;
404 var index = pstr1.indexOf(pstr2);
405 while ((index <> -1) && (searchstr <> "")) {
406 rtnstr = rtnstr + searchstr.substring(0, index);
407 if (pstr3 <> null) {
408 rtnstr = rtnstr + pstr3;
409 }
410 searchstr = searchstr.substring(index + addlen, searchstr.length);
411 if (searchstr <> "") {
412 index = searchstr.indexOf(pstr2);
413 }
414 else { index = -1; }
415 }
416 return (rtnstr + searchstr);
417 }
418 else {
419 return "";
420 }
421 }';
422 end;
423 ---------------------
424 function RtnRound return varchar2 is
425 begin
426 return 'function JSLRound(pval1, pval2) {
427 return Math.round(pval1);
428 }';
429 end;
430 ---------------------
431 function RtnRPad return varchar2 is
432 begin
433 return 'function JSLRPad(pstr1, plen, pstr2) {
434 if (pstr1 == null || plen == null) {
435 return "";
436 }
437 var str = "";
438 var pos = 0;
439 var count = plen - pstr1.length;
440 if (count > 0) {
441 str = pstr1;
442 if (pstr2 <> null) {
443 while (count > 0) {
444 if (pos == pstr2.length) {
445 pos = 0;
446 }
447 str = str + pstr2.substring(pos, pos + 1);
448 pos++;
449 count--;
450 }
451 }
452 else {
453 while (count < plen) {
454 str = str + " ";
455 count++;
456 }
457 }
458 }
459 else {
460 str = pstr1.substring(0, plen);
461 }
462 return str;
463 }';
464 end;
465 ---------------------
466 function RtnRTrim return varchar2 is
467 begin
468 return 'function JSLRTrim(pstr1, pstr2) {
469 var str = "";
470 var curchar = "";
471 var len = pstr1.length;
472 var pos = len - 1;
473 while (pos >= 0) {
474 curchar = pstr1.substring(pos, pos + 1);
475 if (pstr2 <> null) {
476 if (pstr2.indexOf(curchar) == -1) {
477 return (pstr1.substring(0, pos + 1));
478 }
479 }
480 else {
481 if (curchar <> " ") {
482 return (pstr1.substring(0, pos + 1));
483 }
484 }
485 pos--;
486 }
487 return "";
488 }';
489 end;
490 ---------------------
491 function RtnSign return varchar2 is
492 begin
493 return 'function JSLSign(pval) {
494 if (pval > 0) {
495 return 1;
496 }
497 else if (pval < 0) {
498 return -1;
499 }
503 ---------------------
500 return pval;
501 }';
502 end;
504 function RtnSubstr return varchar2 is
505 begin
506 return 'function JSLSubstr(pstr, pstart, plen) {
507 if (plen <> null) {
508 if (Math.round(plen) < 1) {
509 return null;
510 }
511 return (pstr.substring(Math.round(pstart) - 1, Math.round(plen) + pstart - 1));
512 }
513 else {
514 return (pstr.substring(Math.round(pstart) - 1, pstr.length));
515 }
516 }';
517 end;
518 ---------------------
519 function RtnTrunc return varchar2 is
520 begin
521 return 'function JSLTrunc(pstr, pdigits) {
522 var str = "" + pstr;
523 var idigits = 0;
524 var retval = 0.0;
525 var scale = 0;
526 if (str == "") {
527 return "";
528 }
529 else {
530 if (pdigits <> null) {
531 idigits = parseInt(pdigits,10);
532 }
533 retval = parseFloat(pstr);
534 scale = Math.pow(10,idigits);
535 retval = Math.floor(retval*scale)/scale;
536 return "" + retval;
537 }
538 }';
539 end;
540 ---------------------
541 function RtnUpper return varchar2 is
542 begin
543 return 'function JSLUpper(pstr) {
544 return pstr.toUpperCase();
545 }';
546 end;
547 ---------------------
548 function CallCheckRange(p_ctl in varchar2, p_val in varchar2, p_lowval in number, p_hival in number, p_msg in varchar2) return varchar2 is
549 begin
550 if p_lowval is null then
551 return ' if (!JSLCheckRange('||p_ctl||', '||p_val||', 3, 0, '||to_char(p_hival)||', "'||p_msg||'")) { return false }';
552 elsif p_hival is null then
553 return ' if (!JSLCheckRange('||p_ctl||', '||p_val||', 2, '||to_char(p_lowval)||', 0, "'||p_msg||'")) { return false }';
554 else
555 return ' if (!JSLCheckRange('||p_ctl||', '||p_val||', 1, '||to_char(p_lowval)||', '||to_char(p_hival)||', "'||p_msg||'")) { return false }';
556 end if;
557 end;
558 ---------------------
559 function CallChkMaxLength(p_ctl in varchar2, p_length in number, p_msg in varchar2) return varchar2 is
560 begin
561 return ' if (!JSLChkMaxLength('||p_ctl||', '||to_char(p_length)||', "'||p_msg||'")) { return false }';
562 end;
563 ---------------------
564 function CallChkNumPrecision(p_ctl in varchar2, p_val in varchar2, p_precision in number, p_msg in varchar2) return varchar2 is
565 begin
566 return ' if (!JSLChkNumPrecision('||p_ctl||', '||p_val||', '||to_char(p_precision)||', "'||p_msg||'")) { return false }';
567 end;
568 ---------------------
569 function CallChkNumScale(p_ctl in varchar2, p_val in varchar2, p_scale in number, p_msg in varchar2) return varchar2 is
570 begin
571 return ' if (!JSLChkNumScale('||p_ctl||', '||p_val||', '||to_char(p_scale)||', "'||p_msg||'")) { return false }';
572 end;
573 ---------------------
574 function CallChkConstraint(p_constraint in varchar, p_msg in varchar, p_indent in boolean) return varchar2 is
575 begin
576 if p_indent then
577 return ' if (!JSLChkConstraint('||p_constraint||', "'||p_msg||'")) { return false }';
578 else
579 return ' if (!JSLChkConstraint('||p_constraint||', "'||p_msg||'")) { return false }';
580 end if;
581 end;
582 ---------------------
583 function CallMakeUpper(p_ctl in varchar2) return varchar2 is
584 begin
585 return ' JSLMakeUpper('||p_ctl||');';
586 end;
587 ---------------------
588 function CallNotNull(p_ctl in varchar2, p_msg in varchar2) return varchar2 is
589 begin
590 return ' if (!JSLNotNull('||p_ctl||', "'||p_msg||'")) { return false }';
591 end;
592 ---------------------
593 function StandardSubmit (set_Z_ACTION boolean default true) return varchar2 is
594 begin
595
596 if set_Z_ACTION
597 then
598
599 return ' document.forms[0].Z_ACTION.value = ctl.value; document.forms[0].submit();';
600
601 else
602
603 return ' document.forms[0].submit();';
604
605 end if;
606
607 end;
608 ---------------------
609 function VerifyDelete(p_msg in varchar2) return varchar2 is
610 begin
611 return ' if (!confirm("'||p_msg||'")) { return false }
612 document.forms[0].Z_ACTION.value = "VerifiedDelete";
613 document.forms[0].submit();';
614 end;
615 ---------------------
616 function DerivationField(p_name in varchar2,
617 p_size in varchar2,
618 p_value in varchar2) return varchar2 is
619 begin
620 return '
621 <SCRIPT><!--
622 //--> '||p_value||' <!--
623 document.write(''<input type=text name="'||p_name||'" value="'||p_value||'" size="'||p_size||'" onFocus="this.blur()">'')
624 //-->
625 </SCRIPT>
626 ';
627 end;
628 ---------------------
629 function AddCode(p_expr in varchar2) return varchar2 is
630 begin
631 return p_expr;
632 end;
633 ---------------------
634 function LOVButton(p_alias in varchar2, p_lovbut in varchar2) return varchar2 is
635 begin
636 return '
637 ' || OpenScript || '
638 document.write(''<a href="javascript:'||p_alias||'_LOV(document.forms[0].P_'||p_alias||')">'||p_lovbut||'</a>'');
639 '|| CloseScript;
640 end;
641 end;