[Home] [Help]
PACKAGE BODY: APPS.XDO_DGF_REQUESTS_PKG
Source
1 PACKAGE BODY xdo_dgf_requests_pkg as
2 /* $Header: XDODGFRQB.pls 120.0 2008/01/19 00:14:00 bgkim noship $ */
3
4 g_current_runtime_level NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
5 g_level_statement CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
6 g_level_procedure CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
7 g_level_event CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
8 g_level_unexpected CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
9 g_error_buffer VARCHAR2(100);
10
11 submit_failed exception;
12
13 FUNCTION submit_request
14 ( application IN varchar2,
15 program IN varchar2,
16 params IN request_parameters_table
17 )
18 RETURN number
19 IS
20 l_request_id number;
21 l_wait_status boolean;
22
23 l_phase varchar2(1000);
24 l_status varchar2(1000);
25 l_dev_phase varchar2(1000);
26 l_dev_status varchar2(1000);
27 l_message varchar2(1000);
28 l_log_message varchar2(1000);
29
30 begin
31 l_request_id := FND_REQUEST.SUBMIT_REQUEST(
32 application,
33 program,
34 '',
35 '',
36 FALSE,
37 params(1),params(2),params(3),params(4),params(5),
38 params(6),params(7),params(8),params(9),
39 params(10),params(11),params(12),params(13),params(14),params(15),
40 params(16),params(17),params(18),params(19),params(20),params(21),
41 params(22),params(23),params(24),params(25),params(26),params(27),
42 params(28),params(29),params(30),params(31),params(32),params(33),
43 params(34),params(35),params(36),params(37),params(38),params(39),
44 params(40),params(41),params(42),params(43),params(44),params(45),
45 params(46),params(47),params(48),params(49),params(50),params(51),
46 params(52),params(53),params(54),params(55),params(56),params(57),
47 params(58),params(59),params(60),params(61),params(62),params(63),
48 params(64),params(65),params(66),params(67),params(68),params(69),
49 params(70),params(71),params(72),params(73),params(74),params(75),
50 params(76),params(77),params(78),params(79),params(80),params(81),
51 params(82),params(83),params(84),params(85),params(86),params(87),
52 params(88),params(89),params(90),params(91),params(92),params(93),
53 params(94),params(95),params(96),params(97),params(98),params(99),
54 params(100));
55
56 l_log_message := ';l_request_id='||l_request_id;
57
58 commit;
59
60 l_wait_status := fnd_concurrent.wait_for_request( l_request_id,
61 1,
62 180,
63 l_phase ,
64 l_status ,
65 l_dev_phase ,
66 l_dev_status ,
67 l_message);
68
69 if l_wait_status
70 then
71 l_log_message := l_log_message || ';l_wait_status='||'TRUE';
72 else
73 l_log_message := l_log_message || ';l_wait_status='||'FALSE';
74 end if;
75
76 l_log_message := l_log_message || ';l_phase'||l_phase;
77 l_log_message := l_log_message || ';l_status'||l_status;
78 l_log_message := l_log_message || ';l_dev_phase'||l_dev_phase;
79 l_log_message := l_log_message || ';l_dev_status'||l_dev_status;
80 l_log_message := l_log_message || ';l_message'||l_message;
81
82
83 return l_request_id;
84 end;
85
86 FUNCTION submit_request(p_report_code in varchar2,
87 p_all_parameter_list XDO_DGF_RPT_PKG.PARAM_TABLE_TYPE)
88 RETURN number
89 is
90 l_request_id number;
91 j integer := 0;
92 l_request_params request_parameters_table;
93 l_report_code varchar2(40);
94 l_report_appl_short_name varchar2(15);
95 l_separator_pos integer;
96 begin
97
98 IF (g_level_statement >= g_current_runtime_level ) THEN
99 FND_LOG.STRING(g_level_statement,
100 'xdo_dgf_request_pkg.submit_request',
101 'start');
102 END IF;
103
104 -- init l_request_params
105 for k in 1..100
106 loop
107 l_request_params(k) := '';
108 end loop;
109
110 -- find parameters for the selected report
111 for i in 1..p_all_parameter_list.count
112 loop
113 if p_all_parameter_list(i).report_code = p_report_code
114 then
115 j := j + 1;
116 l_request_params(j) := p_all_parameter_list(i).parameter_value;
117 end if;
118 end loop;
119
120 -- get report code and report application short name
121 l_separator_pos := instr(p_report_code,':');
122 l_report_code := substr(p_report_code, l_separator_pos + 1);
123 l_report_appl_short_name := substr(p_report_code, 1, l_separator_pos - 1);
124
125 -- run the selected report
126 l_request_id := xdo_dgf_requests_pkg.submit_request(l_report_appl_short_name,l_report_code, l_request_params);
127 IF (g_level_statement >= g_current_runtime_level ) THEN
128 FND_LOG.STRING(g_level_statement,
129 'xdo_dgf_request_pkg.submit_request',
130 'end: l_request_id = ' || l_request_id);
131 END IF;
132
133 return l_request_id;
134 end;
135
136 FUNCTION submit_request(p_report_code IN varchar2,
137 p_all_parameter_list XDO_DGF_PARAM_TABLE_TYPE)
138 RETURN number
139 is
140 l_request_id number;
141 j integer := 0;
142 l_request_params request_parameters_table;
143 l_report_code varchar2(40);
144 l_report_appl_short_name varchar2(15);
145 l_separator_pos integer;
146 begin
147 IF (g_level_statement >= g_current_runtime_level ) THEN
148 FND_LOG.STRING(g_level_statement,
149 'xdo_dgf_request_pkg.submit_request',
150 'start');
151 END IF;
152
153 -- init l_request_params
154 for k in 1..100
155 loop
156 l_request_params(k) := '';
157 end loop;
158
159 -- find parameters for the selected report
160 for i in 1..p_all_parameter_list.count
161 loop
162 if p_all_parameter_list(i).report_code = p_report_code
163 then
164 j := j + 1;
165 l_request_params(j) := p_all_parameter_list(i).parameter_value;
166 end if;
167 end loop;
168
169 -- get report code and report application short name
170 l_separator_pos := instr(p_report_code,':');
171 l_report_code := substr(p_report_code, l_separator_pos + 1);
172 l_report_appl_short_name := substr(p_report_code, 1, l_separator_pos - 1);
173
174 -- run the selected report
175 l_request_id := xdo_dgf_requests_pkg.submit_request(l_report_appl_short_name,l_report_code, l_request_params);
176
177 IF (g_level_statement >= g_current_runtime_level ) THEN
178 FND_LOG.STRING(g_level_statement,
179 'xdo_dgf_request_pkg.submit_request',
180 'end: l_request_id = ' || l_request_id);
181 END IF;
182 return l_request_id;
183 end;
184
185
186
187 FUNCTION submit_request
188 ( application IN varchar2,
189 program IN varchar2,
190 param1 IN varchar2,
191 param2 IN varchar2
192 )
193 RETURN number
194 is
195 params request_parameters_table;
196 begin
197 params(1) := param1;
198 params(2) := param2;
199 params(3) := '';
200 params(4) := '';
201 params(5) := '';
202 params(6) := '';
203 params(7) := '';
204 params(8) := '';
205 params(9) := '';
206 params(10) := '';
207
208 return submit_request(application,program,params);
209 end;
210
211 END xdo_dgf_requests_pkg;