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