[Home] [Help]
PACKAGE BODY: APPS.ENG_PARAMETER_ENGCYCLE
Source
1 PACKAGE BODY ENG_PARAMETER_ENGCYCLE as
2 /* $Header: engecycb.pls 120.1 2008/01/25 21:21:27 ksuleman ship $ */
3
4 /* constants */
5
6 FORM_FUNCTION constant varchar2(20) := 'BIS_ENGCYCLE';
7 RDF_FILENAME constant varchar2(20) := 'ENGCYCLE';
8 DATE_FORMAT constant varchar2(20) := 'DD-MON-YYYY';
9
10
11 /*
12 * error
13 *
14 * This creates the error message page
15 */
16
17 PROCEDURE error(P_FIELD IN VARCHAR2) IS
18 BEGIN
19 BIS_UTILITIES_PUB.Build_Report_Title(FORM_FUNCTION, RDF_FILENAME, NULL);
20 htp.p('<FONT face="arial" size=+1><BR><BR>' ||
21 fnd_message.get_string('WIP', 'INVALID_PARAM') || ': <B>' ||
22 P_FIELD || '</B></FONT>');
23 htp.p('<FONT face="arial"><BR><BR>' ||
24 fnd_message.get_string('WIP', 'INVALID_PARAM_INSTRUCTION') ||
25 '</FONT>');
26 END error;
27
28 /*===========================================================================
29 FUNCTION NAME: conv_special_url_chars
30
31 DESCRIPTION:
32 Convert all of the ASCII special characters that are
33 disallowed as a part of a URL. The encoding requires
34 that we convert the special characters to HEX for
35 any characters in a URL string that is built
36 manually outside a form get/post.
37
38 ============================================================================*/
39 FUNCTION conv_special_url_chars (p_url_token IN VARCHAR2) RETURN VARCHAR2
40 IS
41
42 BEGIN
43
44 RETURN(
45 REPLACE(
46 REPLACE(
47 REPLACE(
48 REPLACE(
49 REPLACE(
50 REPLACE(
51 REPLACE(
52 REPLACE(
53 REPLACE(
54 REPLACE(
55 REPLACE(
56 REPLACE(
57 REPLACE(
58 REPLACE(
59 REPLACE(
60 REPLACE(
61 REPLACE(
62 REPLACE(
63 REPLACE(
64 REPLACE(
65 REPLACE(
66 REPLACE(
67 REPLACE(
68 REPLACE(p_url_token,
69 '%','%25'),
70 ' ','%20'),
71 '"','%22'),
72 '>','%3E'),
73 '^','%5E'),
74 '{','%7B'),
75 '}','%7D'),
76 '<','%3C'),
77 '[','%5B'),
78 ']','%5D'),
79 '`','%60'),
80 '|','%7C'),
81 '~','%7E'),
82 '/','%2F'),
83 '#','%23'),
84 '?','%3F'),
85 '&','%26'),
86 '=','%3D'),
87 '$','%24'),
88 '(','%28'),
89 ')','%29'),
90 ':','%3A'),
91 ';','%3B'),
92 '+','%2B'));
93
94 /*
95 exception
96 when others then
97 Wf_Core.Context('wfa_html', 'conv_special_url_chars',
98 p_url_token);
99 wfa_html.Error;
100 */
101
102 END conv_special_url_chars;
103
104 /*
105 * Validate_Date
106 *
107 * This validates the From and To date parameters
108 */
109
110 FUNCTION Validate_Date(P_FROM_DATE IN VARCHAR2,
111 P_TO_DATE IN VARCHAR2)
112 RETURN BOOLEAN IS
113
114 newfromdate DATE;
115 newtodate DATE;
116
117 BEGIN
118 select to_date( P_FROM_DATE, DATE_FORMAT ),
119 to_date( P_TO_DATE, DATE_FORMAT )
120 into newfromdate, newtodate
121 from dual;
122
123 IF (newfromdate is null)
124 OR (newtodate is null)
125 OR (newfromdate > newtodate) THEN
126 error(fnd_message.get_string('BOM', 'CST_REPORTING_RANGE_LABEL'));
127 return FALSE;
128 END IF;
129
130 return TRUE;
131
132 EXCEPTION
133 WHEN OTHERS then
134 error(fnd_message.get_string('BOM', 'CST_REPORTING_RANGE_LABEL'));
135 return FALSE;
136
137 END Validate_Date;
138
139
140 /*
141 * Before_Parameter_ENGCYCLE
142 *
143 * This function is called by Parameter_FormView_ENGCYCLE
144 * to perform initial setups. It should not be invoked
145 * directly.
146 */
147
148 PROCEDURE Before_Parameter_ENGCYCLE IS
149
150 l_org_id NUMBER;
151
152 BEGIN
153 -- Initialize the report
154
155 -- WHAT DOES set_org_context DO?
156
157 l_org_id := fnd_profile.value('ORG_ID');
158 FND_CLIENT_INFO.set_org_context(l_org_id);
159
160 END Before_Parameter_ENGCYCLE;
161
162
163 /*
164 * After_Parameter_ENGCYCLE
165 *
166 * This function is called by Parameter_ActionView_ENGCYCLE
167 * to perform validations. It should not be invoked
168 * directly.
169 */
170
171 PROCEDURE After_Parameter_ENGCYCLE IS
172 BEGIN
173 NULL;
174 END After_Parameter_ENGCYCLE;
175
176 PROCEDURE Build_Parameter_Form IS
177 BEGIN
178 NULL;
179 END Build_Parameter_Form;
180
181
182 /*
183 * Parameter_ActionView_ENGCYCLE
184 *
185 * This function is invoked when the user clicks
186 * the OK button in the HTML page generated by
187 * Parameter_FormView_ENGCYCLE. It will validate
188 * the input parameters and launch the ECO Cycle Time
189 * report.
190 */
191
192 PROCEDURE Parameter_ActionView_ENGCYCLE(
193 P_ORGANIZATION_ID NUMBER,
194 P_ORGANIZATION_NAME VARCHAR2 default null,
195 P_FROM_DATE VARCHAR2,
196 P_TO_DATE VARCHAR2,
197 P_VIEW_BY NUMBER) IS
198
199 l_org_id NUMBER := P_ORGANIZATION_ID;
200 l_from_date VARCHAR2(240) := P_FROM_DATE;
201 l_to_date VARCHAR2(240) := P_TO_DATE;
202
203 BEGIN
204 --bug6677475: As advised by SNELLOLI, taking out this call as its no longer used
205 --and it caused compilation problems
206 null;
207 /*
208 IF (Validate_Date(l_from_date, l_to_date ) = FALSE ) THEN
209 return;
210 END IF;
211
212 ENG_PARAMETER_ENGCYCLE.After_Parameter_ENGCYCLE;
213
214 OracleOASIS.RunReport(
215 report => 'ENGCYCLE',
216 parameters => 'P_PARAM_FROM_DATE=' ||l_from_date || '*' ||
217 'P_PARAM_TO_DATE=' ||l_to_date || '*' ||
218 'P_PARAM_ORG_ID=' ||l_org_id || '*' ||
219 'P_PARAM_VIEW_BY=' ||P_VIEW_BY || '*',
220 -- 'paramform=NO*',
221 paramform=> 'NO');
222 */
223 END Parameter_ActionView_ENGCYCLE;
224
225
226 PROCEDURE ENGCYCLE_Parameter_PrintViewby(
227 param IN OUT NOCOPY BIS_UTILITIES_PUB.Report_Parameter_Tbl_Type,
228 i IN NUMBER) IS
229 BEGIN
230 param(i).Label := FND_MESSAGE.get_string( 'BOM', 'CST_VIEW_BY_LABEL');
231 param(i).Value := htf.formSelectopen('p_view_by');
232 param(i).Value := param(i).Value || htf.formSelectOption(
233 FND_MESSAGE.get_string( 'BOM', 'TIME_CAP'),
234 NULL, 'VALUE=1');
235 param(i).Value := param(i).Value || htf.formSelectOption(
236 FND_MESSAGE.get_string( 'WIP', 'WIP_ORGANIZATION'),
237 NULL, 'VALUE=2');
238 param(i).Value := param(i).Value || htf.formSelectclose;
239
240 END ENGCYCLE_Parameter_PrintViewby;
241
242
243 PROCEDURE ENGCYCLE_Parameter_PrintDate(param IN OUT NOCOPY BIS_UTILITIES_PUB.Report_Parameter_Tbl_Type,
244 i IN NUMBER) IS
245 from_date VARCHAR2(15);
246 to_date VARCHAR2(15);
247 BEGIN
248 SELECT to_char(add_months(sysdate, -12), DATE_FORMAT),
249 to_char(sysdate, DATE_FORMAT)
250 INTO from_date, to_date
251 FROM dual;
252
253 param(i).Label := FND_MESSAGE.get_string( 'PER', 'HR_BIS_REPORTING_DATE');
254 param(i).Value := htf.formText('p_from_date', NULL, NULL, from_date);
255 param(i).Value := param(i).Value || ' - ' ||
256 htf.formText('p_to_date', NULL, NULL, to_date);
257 END ENGCYCLE_Parameter_PrintDate;
258
259
260 /*
261 * Parameter_FormView_ENGCYCLE
262 *
263 * This function is invoked via a form function
264 * and is the entry point into this package.
265 * It creates the HTML parameter page used by
266 * the BIS ECO Cycle Time report.
267 */
268
269 PROCEDURE Parameter_FormView_ENGCYCLE IS
270 param BIS_UTILITIES_PUB.Report_Parameter_Tbl_Type;
271 retval VARCHAR2(32767);
272 j_string VARCHAR2(32767);
273 l_where_clause VARCHAR2(10000);
274 l_return_status VARCHAR2(1000);
275 l_error_tbl BIS_UTILITIES_PUB.Error_Tbl_Type;
276 i number := 1;
277 j number := 1;
278
279 BEGIN
280 if icx_sec.validateSession then
281 BIS_UTILITIES_PUB.Retrieve_Where_Clause
282 ( p_user_id => FND_GLOBAL.user_id
283 , p_region_code => 'BIS_INV_ORGANIZATIONS'
284 , x_where_clause => l_where_clause
285 , x_return_status => l_return_status
286 , x_error_Tbl => l_error_tbl
287 );
288
289 -- l_where_clause := conv_special_url_chars(l_where_clause);
290
291 Before_Parameter_ENGCYCLE;
292 htp.htmlopen;
293
294 BIS_UTILITIES_PUB.Build_Report_Title(FORM_FUNCTION, RDF_FILENAME, '');
295
296 htp.headopen;
297 js.scriptOpen;
298 icx_util.LOVScript;
299
300 htp.p( 'var OrgLOV_Where = "' || l_where_clause || '";' );
301 htp.p( ' document.param.P_ORGANIZATION_ID.value = "";' );
302 htp.p( ' document.param.P_ORGANIZATION_NAME.value = "";' );
303
304 js.scriptClose;
305 htp.headClose;
306 htp.bodyOpen;
307 htp.centerOpen;
308
309 -- Print Org
310
311 param(i).Label := FND_MESSAGE.get_string( 'WIP', 'INVENTORY_ORGANIZATION');
312 param(i).Value := htf.formHidden( 'P_ORGANIZATION_ID' ) ||
313 htf.formText( 'P_ORGANIZATION_NAME');
314 param(i).Action :=
315 '<A HREF="javascript:LOV(191,''P_ORGANIZATION_NAME'',191,''BIS_INV_ORGANIZATIONS'',''param'','''', '''', OrgLOV_Where)"' ||
316 'onMouseOver="window.status=''List of Values'';return true">' ||
317 '<IMG SRC="/OA_MEDIA/US/FNDILOV.gif" ALIGN="ABSMIDDLE" ALT="List of Values"\
318 ' ||
319 'BORDER=0></A>';
320
321 i := i + 1;
322 ENGCYCLE_Parameter_PrintViewby(param, i);
323 i := i + 1;
324 ENGCYCLE_Parameter_PrintDate(param, i);
325 i := i + 1;
326
327 BIS_UTILITIES_PUB.Build_Parameter_Form('NAME="param" ACTION="ENG_PARAMETER_ENGCYCLE.Parameter_ActionView_ENGCYCLE" METHOD="GET"', param);
328
329 htp.htmlclose;
330 end if;
331 END Parameter_FormView_ENGCYCLE;
332
333 END ENG_PARAMETER_ENGCYCLE;