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