[Home] [Help]
Skip to content
PACKAGE BODY: APPS.FA_RX_LOV_PKG
Source
1 PACKAGE BODY FA_RX_LOV_PKG as
2 /* $Header: faxrxlvb.pls 120.6 2012/02/05 22:06:20 glchen ship $ */
3
4 procedure unparse_lov_select (
5 X_lovid number,
6 X_params fa_rx_lov_pkg.param_array,
7 X_param_types fa_rx_lov_pkg.param_array,
8 X_num_params number,
9 X_select out nocopy clob,
10 X_missing_param out nocopy number) is
11
12 h_sqlstmt clob;
13 ii integer;
14
15 h_date_str varchar2(25);
16 h_date_format varchar2(25);
17
18 begin
19
20 select select_statement
21 into h_sqlstmt
22 from fa_rx_lov
23 where lov_id = X_lovid;
24
25 ii := X_num_params;
26
27 loop
28 if X_params(ii) is not null then
29
30 if X_param_types(ii) = 'VARCHAR2' then
31
32 h_sqlstmt := replace(h_sqlstmt, ':P'||to_char(ii),
33 ''''||X_params(ii)||'''');
34
35 else if X_param_types(ii) = 'NUMBER' then
36 h_sqlstmt := replace(h_sqlstmt, ':P'||to_char(ii),X_params(ii));
37
38 else -- DATE
39
40 h_date_str := X_params(ii);
41 h_date_format := 'DD/MM/YYYY';
42
43 h_sqlstmt := replace(h_sqlstmt, ':P'||to_char(ii),
44 'to_date('||''''||h_date_str||''''||','||
45 ''''||h_date_format||''''||')');
46
47 end if;
48 end if;
49
50 else -- param is null; check if it's needed.
51 -- If so, then exit right away, indicating missing param #.
52
53 if instr(h_sqlstmt,':P'||to_char(ii)) <> 0 then
54 X_missing_param := ii;
55 return;
56 end if;
57
58 end if;
59 ii := ii - 1;
60 exit when ii < 1;
61 end loop;
62
63 X_missing_param := 0;
64 X_select := h_sqlstmt;
65
66 end unparse_lov_select;
67 end FA_RX_LOV_PKG;