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