[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FOLDER_EXT
Source
1 PACKAGE BODY Oe_Oe_Folder_Ext AS
2 /* $Header: OEXFEXTB.pls 120.1.12010000.1 2008/07/25 07:47:56 appldev ship $ */
3
4 PROCEDURE Get_Customized_Buttons
5 (
6 p_folder_id IN Number
7 , x_custom_buttons_tbl OUT NOCOPY /* file.sql.39 change */ Oe_Oe_Folder_Ext.Config_Buttons_Tbl
8 , x_default_buttons_tbl OUT NOCOPY /* file.sql.39 change */ Oe_Oe_Folder_Ext.Config_Buttons_Tbl
9 )
10 IS
11 /*Commented for Bug 6829128
12 CURSOR C1(l_folder_id Number) IS
13 SELECT action_id,object,action_name,user_entered_prompt,
14 folder_id,width,access_key,DISPLAY_AS_BUTTON_FLAG
15 FROM OE_Custom_Actions
16 WHERE DISPLAY_AS_BUTTON_FLAG='Y' AND
17 folder_id=l_folder_id;*/
18
19 --Modified for Bug#6829128
20 CURSOR C1(l_folder_id Number) is
21 SELECT *
22 FROM
23 (SELECT action_id,
24 object,
25 action_name,
26 user_entered_prompt,
27 folder_id,
28 width,
29 access_key,
30 display_as_button_flag,
31 nvl(user_entered_prompt, default_prompt) PROMPT
32 FROM oe_custom_actions
33 WHERE display_as_button_flag = 'Y'
34 AND folder_id = l_folder_id
35 UNION
36 SELECT action_id,
37 object,
38 action_name,
39 NULL,
40 NULL,
41 width,
42 NULL,
43 display_as_button_flag,
44 decode(action_name, 'RITEMS', 'Related Items', 'BOOK_ORDER', 'Book Order', initcap(action_name)) PROMPT
45 FROM oe_default_actions od
46 WHERE display_as_button_flag = 'Y'
47 AND NOT EXISTS
48 (SELECT action_id
49 FROM oe_custom_actions oc
50 WHERE oc.action_id = od.action_id
51 AND folder_id = l_folder_id)
52 )
53 ORDER BY PROMPT;
54 --End of Bug#6829128
55
56 CURSOR C2(l_folder_id Number) IS
57 SELECT action_id,object,action_name,
58 width,DISPLAY_AS_BUTTON_FLAG
59 FROM OE_Default_Actions OD
60 WHERE DISPLAY_AS_BUTTON_FLAG='Y' AND
61 NOT EXISTS
62 (SELECT action_id FROM
63 OE_CUSTOM_ACTIONS OC
64 WHERE OC.action_id=OD.action_id
65 AND Folder_Id=l_folder_id);
66
67 l_count Number:=1;
68 BEGIN
69
70
71
72 FOR BUTTONS IN C1(p_folder_id)
73 LOOP
74 x_custom_buttons_tbl(l_count).Action_Id:=BUTTONS.Action_id;
75 x_custom_buttons_tbl(l_count).Action_Name:=BUTTONS.Action_Name;
76 x_custom_buttons_tbl(l_count).User_Entered_Prompt:=BUTTONS.User_Entered_Prompt;
77 x_custom_buttons_tbl(l_count).Folder_Id:=BUTTONS.Folder_Id;
78 x_custom_buttons_tbl(l_count).Width:=BUTTONS.Width;
79 x_custom_buttons_tbl(l_count).access_key:=BUTTONS.access_key;
80 x_custom_buttons_tbl(l_count).display_as_button:=
81 BUTTONS.display_as_button_flag;
82 l_count:=l_count+1;
83 END LOOP;
84
85 l_count:=1;
86 FOR BUTTONS IN C2(p_folder_id)
87 LOOP
88 x_default_buttons_tbl(l_count).Action_Id:=BUTTONS.Action_id;
89 x_default_buttons_tbl(l_count).Action_Name:=BUTTONS.Action_Name;
90 x_default_buttons_tbl(l_count).Width:=BUTTONS.Width;
91 x_default_buttons_tbl(l_count).display_as_button:=
92 BUTTONS.display_as_button_flag;
93 l_count:=l_count+1;
94 END LOOP;
95
96 EXCEPTION
97 WHEN NO_DATA_FOUND THEN
98 Null;
99 WHEN TOO_MANY_ROWS THEN
100 Null;
101 WHEN OTHERS THEN
102 Null;
103 END Get_Customized_Buttons;
104
105
106 PROCEDURE Get_Buttons_List
107 (
108 p_folder_id IN Number
109 , p_displayed_buttons IN Oe_Oe_Folder_Ext.Config_Buttons_Tbl
110 , x_buttons_tbl OUT NOCOPY /* file.sql.39 change */ Oe_Oe_Folder_Ext.Config_Buttons_Tbl
111 )
112 IS
113 CURSOR C1(l_folder_id Number) IS
114 SELECT action_id,object,action_name,user_entered_prompt,
115 folder_id,width,access_key,display_as_button_flag,default_prompt
116 FROM OE_Custom_Actions
117 WHERE folder_id=l_folder_id;
118
119 CURSOR C2(l_folder_id Number) IS
120 SELECT action_id,object,action_name,
121 width,display_as_button_flag
122 FROM OE_Default_Actions OD
123 WHERE NOT EXISTS
124 (SELECT action_id FROM
125 OE_CUSTOM_ACTIONS OC
126 WHERE OC.action_id=OD.action_id
127 AND Folder_Id=l_folder_id);
128
129
130 l_count Number:=1;
131 BEGIN
132
133
134 FOR BUTTONS IN C1(p_folder_id)
135 LOOP
136 x_buttons_tbl(l_count).Action_Id:=BUTTONS.Action_id;
137 x_buttons_tbl(l_count).Action_Name:=BUTTONS.Action_Name;
138 x_buttons_tbl(l_count).User_Entered_Prompt:=BUTTONS.User_Entered_Prompt;
139 x_buttons_tbl(l_count).access_key:=BUTTONS.access_key;
140 x_buttons_tbl(l_count).default_prompt:=BUTTONS.default_prompt;
141 x_buttons_tbl(l_count).display_as_button:=BUTTONS.display_as_button_flag;
142 x_buttons_tbl(l_count).Folder_Id:=BUTTONS.Folder_Id;
143 x_buttons_tbl(l_count).Width:=BUTTONS.Width;
144 BEGIN
145 SELECT default_prompt into
146 x_buttons_tbl(l_count).default_prompt
147 FROM oe_custom_actions
148 WHERE action_name=BUTTONS.Action_Name
149 AND default_prompt IS NOT NULL
150 AND ROWNUM=1;
151 EXCEPTION
152 WHEN NO_DATA_FOUND THEN
153 Null;
154 WHEN TOO_MANY_ROWS THEN
155 Null;
156 WHEN OTHERS THEN
157 Null;
158 END;
159 l_count:=l_count+1;
160 END LOOP;
161
162 FOR BUTTONS IN C2(p_folder_id)
163 LOOP
164 x_buttons_tbl(l_count).Action_Id:=BUTTONS.Action_id;
165 x_buttons_tbl(l_count).Action_Name:=BUTTONS.Action_Name;
166 x_buttons_tbl(l_count).Width:=BUTTONS.Width;
167 x_buttons_tbl(l_count).display_as_button:=BUTTONS.display_as_button_flag;
168 BEGIN
169 SELECT default_prompt into
170 x_buttons_tbl(l_count).default_prompt
171 FROM oe_custom_actions
172 WHERE action_name=BUTTONS.Action_Name
173 AND default_prompt IS NOT NULL
174 AND ROWNUM=1;
175 EXCEPTION
176 WHEN NO_DATA_FOUND THEN
177 Null;
178 WHEN TOO_MANY_ROWS THEN
179 Null;
180 WHEN OTHERS THEN
181 Null;
182 END;
183 l_count:=l_count+1;
184 END LOOP;
185
186 EXCEPTION
187 WHEN NO_DATA_FOUND THEN
188 Null;
189 WHEN TOO_MANY_ROWS THEN
190 Null;
191 WHEN OTHERS THEN
192 Null;
193 END Get_Buttons_List;
194
195 PROCEDURE Store_Custom_Buttons
196 (
197 p_folder_id IN Number
198 , p_config_buttons_tbl IN Oe_Oe_Folder_Ext.Config_Buttons_Tbl
199 , l_return_status OUT NOCOPY /* file.sql.39 change */ Varchar2
200 , x_custom_buttons_tbl OUT NOCOPY /* file.sql.39 change */ Oe_Oe_Folder_Ext.Config_Buttons_Tbl
201 , x_default_buttons_tbl OUT NOCOPY /* file.sql.39 change */ Oe_Oe_Folder_Ext.Config_Buttons_Tbl
202 )
203 IS PRAGMA AUTONOMOUS_TRANSACTION;
204 l_action_id Number;
205 BEGIN
206
207 IF p_config_buttons_tbl.count>0 THEN
208 FOR i in p_config_buttons_tbl.first ..p_config_buttons_tbl.last LOOP
209 BEGIN
210 SELECT ACTION_ID
211 INTO l_action_id
212 FROM OE_Custom_Actions
213 WHERE action_id=p_config_buttons_tbl(i).action_id
214 AND folder_id=p_folder_id;
215
216 UPDATE OE_Custom_Actions
217 SET action_name=p_config_buttons_tbl(i).action_name,
218 width=p_config_buttons_tbl(i).width,
219 user_entered_prompt=p_config_buttons_tbl(i).user_entered_prompt,
220 access_key=p_config_buttons_tbl(i).access_key,
221 display_as_button_flag=p_config_buttons_tbl(i).display_as_button
222 WHERE action_id=p_config_buttons_tbl(i).action_id
223 AND folder_id=p_folder_id;
224 EXCEPTION
225 WHEN NO_DATA_FOUND THEN
226
227 INSERT INTO OE_Custom_Actions
228 (
229 action_name,
230 width,
231 folder_id,
232 user_entered_prompt,
233 access_key,
234 display_as_button_flag,
235 default_prompt,
236 action_id,
237 CREATED_BY,
238 CREATION_DATE,
239 LAST_UPDATE_DATE,
240 LAST_UPDATED_BY,
241 LAST_UPDATE_LOGIN
242
243 )
244 Values(
245 p_config_buttons_tbl(i).action_name ,
246 p_config_buttons_tbl(i).width,
247 p_folder_id,
248 p_config_buttons_tbl(i).user_entered_prompt,
249 p_config_buttons_tbl(i).access_key,
250 p_config_buttons_tbl(i).display_as_button,
251 p_config_buttons_tbl(i).default_prompt,
252 p_config_buttons_tbl(i).action_id,
253 fnd_profile.value('USER_ID'),
254 sysdate,
255 sysdate,
256 fnd_profile.value('USER_ID'),
257 fnd_profile.value('USER_ID')
258 );
259 END;
260
261 END LOOP;
262 END IF;
263 COMMIT;
264 Get_Customized_Buttons
265 (
266 p_folder_id=>p_folder_id
267 , x_custom_buttons_tbl=>x_custom_buttons_tbl
268 , x_default_buttons_tbl=>x_default_buttons_tbl
269 );
270 EXCEPTION
271 WHEN NO_DATA_FOUND THEN
272 Null;
273 WHEN TOO_MANY_ROWS THEN
274 Null;
275 WHEN OTHERS THEN
276 Null;
277 END Store_Custom_Buttons;
278
279
280 PROCEDURE INSERT_FOLDER(p_folder_extension_id IN Number,
281 p_object IN Varchar2,
282 p_user_id IN Number,
283 p_folder_id IN Number,
284 p_pricing_tab IN Varchar2 Default Null,
285 p_service_tab IN Varchar2 Default Null,
286 p_others_tab IN Varchar2 Default Null,
287 p_addresses_tab IN varchar2 Default Null,
288 p_returns_tab IN Varchar2 Default Null,
289 p_shipping_tab IN Varchar2 Default Null,
290 p_headers_others_tab IN Varchar2 Default Null,
291 p_options_details IN Varchar2 Default Null,
292 p_services_details IN Varchar2 Default Null,
293 p_adjustment_details IN Varchar2 Default Null,
294 p_related_item_details IN Varchar2 Default Null,
295 p_pricing_ava_details IN Varchar2 Default Null,
296 p_default_line_region IN Varchar2 Default Null
297 )
298 IS PRAGMA AUTONOMOUS_TRANSACTION;
299 l_folder_extension_id Number;
300 BEGIN
301 SELECT FOLDER_EXTENSION_ID
302 INTO l_folder_extension_id
303 FROM oe_folder_extensions
304 WHERE folder_id=p_folder_id;
305
306 UPDATE oe_folder_extensions
307 SET DISPLAY_LINE_OTHERS=p_others_tab,
308 DISPLAY_LINE_PRICING=p_pricing_tab,
309 DISPLAY_LINE_SERVICES=p_service_tab,
310 DISPLAY_LINE_ADDRESSES=p_addresses_tab,
311 DISPLAY_LINE_RETURNS=p_returns_tab,
312 DISPLAY_LINE_SHIPPING=p_shipping_tab,
313 DEFAULT_LINE_REGION=p_default_line_region,
314 DISPLAY_ORDER_OTHERS=p_headers_others_tab,
315 DISPLAY_OPTIONS_DETAILS=p_options_details,
316 DISPLAY_SERVICES_DETAILS=p_services_details,
317 DISPLAY_ADJUSTMENT_DETAILS=p_adjustment_details,
318 DISPLAY_RELATED_ITEMS_DETAILS=p_related_item_details,
319 DISPLAY_PRICING_AVA_DETAILS= p_pricing_ava_details
320 WHERE FOLDER_ID=p_folder_id;
321 Commit;
322
323 EXCEPTION
324 WHEN NO_DATA_FOUND THEN
325 INSERT INTO oe_folder_extensions
326 (FOLDER_EXTENSION_ID,
327 OBJECT,
328 USER_ID,
329 FOLDER_ID,
330 APPLICATION_ID,
331 DISPLAY_LINE_OTHERS ,
332 DISPLAY_LINE_PRICING,
333 DISPLAY_LINE_SERVICES,
334 DISPLAY_LINE_ADDRESSES,
335 DISPLAY_LINE_RETURNS,
336 DISPLAY_LINE_SHIPPING,
337 DISPLAY_ORDER_OTHERS,
338 DISPLAY_OPTIONS_DETAILS,
339 DISPLAY_SERVICES_DETAILS,
340 DISPLAY_ADJUSTMENT_DETAILS,
341 DISPLAY_RELATED_ITEMS_DETAILS,
342 DISPLAY_PRICING_AVA_DETAILS,
343 DEFAULT_LINE_REGION,
344 CREATED_BY,
345 CREATION_DATE,
346 LAST_UPDATE_DATE,
347 LAST_UPDATED_BY,
348 LAST_UPDATE_LOGIN
349 ) VALUES
350 (
351 oe_folder_extensions_s.nextval,
352 p_object,
353 p_user_id,
354 p_folder_id,
355 fnd_profile.value('RESP_APPL_ID'),
356 p_others_tab,
357 p_pricing_tab,
358 p_service_tab,
359 p_addresses_tab,
360 p_returns_tab,
361 p_shipping_tab,
362 p_headers_others_tab,
363 p_options_details,
364 p_services_details,
365 p_adjustment_details,
366 p_related_item_details,
367 p_pricing_ava_details ,
368 p_default_line_region,
369 1,
370 sysdate,
371 sysdate,
372 1,
373 1
374 );
375 Commit;
376
377
378 WHEN TOO_MANY_ROWS THEN
379 Null;
380 WHEN OTHERS THEN
381 Null;
382
383 END INSERT_FOLDER;
384
385 PROCEDURE FOLDER_ACTIONS_INIT( x_others_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
386 x_pricing_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
387 x_addresses_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
388 x_services_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
389 x_shipping_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
390 x_returns_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
391 x_header_others_flag OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
392 x_options_details OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
393 x_services_details OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
394 x_adjustment_details OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
395 x_related_item_details OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
396 x_pricing_ava_details OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
397 x_default_line_region OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
398 x_custom_buttons_tbl OUT NOCOPY /* file.sql.39 change */
399 Oe_Oe_Folder_Ext.Config_Buttons_Tbl,
400 x_default_buttons_tbl OUT NOCOPY /* file.sql.39 change */
401 Oe_Oe_Folder_Ext.Config_Buttons_Tbl,
402 p_order_folder_object IN Varchar DEFAULT 'OE_ORDERS_TELESALES',
403 p_line_folder_object IN Varchar DEFAULT 'OE_LINE_TELESALES'
404
405 ) IS
406 l_folder_header_id Number;
407 l_folder_line_id Number;
408 l_folder_extension_id Number;
409 l_user_id Number;
410 l_responsibility_id Number;
411 l_folder_app_id Number;
412 l_lang VARCHAR2(50);
413
414 CURSOR C1 IS
415 SELECT FDF.Folder_Id
416 FROM FND_DEFAULT_FOLDERS FDF, FND_FOLDERS FF
417 WHERE
418 FDF.OBJECT=p_order_folder_object
419 AND (FDF.USER_ID=l_user_id OR (FDF.APPLICATION_ID=l_folder_app_id
420 AND FDF.USER_ID=l_responsibility_id))
421 AND FDF.FOLDER_ID=FF.FOLDER_ID
422 AND FF.LANGUAGE=l_lang
423 ORDER BY FDF.USER_ID DESC;
424
425 CURSOR C2 IS
426 SELECT FDF.Folder_Id
427 FROM FND_DEFAULT_FOLDERS FDF, FND_FOLDERS FF
428 WHERE
429 FDF.OBJECT=p_line_folder_object
430 AND (FDF.USER_ID=l_user_id OR (FDF.APPLICATION_ID=l_folder_app_id
431 AND FDF.USER_ID=l_responsibility_id))
432 AND FDF.FOLDER_ID=FF.FOLDER_ID
433 AND FF.LANGUAGE=l_lang
434 ORDER BY FDF.USER_ID DESC;
435 BEGIN
436 l_user_id:=fnd_profile.value('USER_ID');
437 l_responsibility_id := -1 * to_number(fnd_profile.value('RESP_ID'));
438 l_folder_app_id:=fnd_profile.value('RESP_APPL_ID');
439 l_lang:=userenv('LANG');
440 BEGIN
441 OPEN C1;
442 FETCH C1 INTO l_folder_header_id;
443 CLOSE C1;
444
445 SELECT FOLDER_EXTENSION_ID,
446 DISPLAY_ORDER_OTHERS
447 INTO l_folder_extension_id,
448 x_header_others_flag
449 FROM OE_FOLDER_EXTENSIONS
450 WHERE folder_id=l_folder_header_id ;
451
452 EXCEPTION
453 WHEN NO_DATA_FOUND THEN
454 Null;
455 WHEN TOO_MANY_ROWS THEN
456 Null;
457 WHEN OTHERS THEN
458 Null;
459 END ;
460
461 BEGIN
462 OPEN C2;
463 FETCH C2 INTO l_folder_line_id;
464 CLOSE C2;
465
466 SELECT FOLDER_EXTENSION_ID,
467 DISPLAY_LINE_OTHERS,
468 DISPLAY_LINE_ADDRESSES,
469 DISPLAY_LINE_PRICING,
470 DISPLAY_LINE_SERVICES,
471 DISPLAY_LINE_RETURNS,
472 DISPLAY_LINE_SHIPPING,
473 DISPLAY_OPTIONS_DETAILS,
474 DISPLAY_SERVICES_DETAILS,
475 DISPLAY_ADJUSTMENT_DETAILS,
476 DISPLAY_RELATED_ITEMS_DETAILS,
477 DISPLAY_PRICING_AVA_DETAILS,
478 DEFAULT_LINE_REGION
479 INTO l_folder_extension_id,
480 x_others_flag,
481 x_addresses_flag,
482 x_pricing_flag,
483 x_services_flag,
484 x_returns_flag,
485 x_shipping_flag,
486 x_options_details ,
487 x_services_details,
488 x_adjustment_details,
489 x_related_item_details,
490 x_pricing_ava_details ,
491 x_default_line_region
492 FROM OE_FOLDER_EXTENSIONS
493 WHERE folder_id=l_folder_line_id ;
494
495
496 EXCEPTION
497 WHEN NO_DATA_FOUND THEN
498 Null;
499 WHEN TOO_MANY_ROWS THEN
500 Null;
501 WHEN OTHERS THEN
502 Null;
503 END ;
504
505 Get_Customized_Buttons
506 (
507 p_folder_id=>l_folder_header_id
508 , x_custom_buttons_tbl=>x_custom_buttons_tbl
509 , x_default_buttons_tbl=>x_default_buttons_tbl
510 );
511
512 EXCEPTION
513 WHEN NO_DATA_FOUND THEN
514 Null;
515 WHEN TOO_MANY_ROWS THEN
516 Null;
517 WHEN OTHERS THEN
518 Null;
519 END FOLDER_Actions_Init;
520
521 PROCEDURE DELETE_FOLDER(p_folder_extension_id IN Number Default Null ,
522 p_folder_id IN Number
523 )
524 IS PRAGMA AUTONOMOUS_TRANSACTION;
525 l_folder_extension_id Number;
526 BEGIN
527
528 DELETE FROM OE_CUSTOM_ACTIONS
529 WHERE folder_id=p_folder_id;
530
531 DELETE FROM oe_folder_extensions
532 WHERE folder_id=p_folder_id;
533
534 Commit;
535
536 EXCEPTION
537 WHEN NO_DATA_FOUND THEN
538 Null;
539 WHEN TOO_MANY_ROWS THEN
540 Null;
541 WHEN OTHERS THEN
542 Null;
543 END DELETE_FOLDER;
544
545 PROCEDURE Defer_Pricing(p_mode In Varchar2)
546 IS
547
548 BEGIN
549
550 IF p_mode='Y' THEN
551 OE_GLOBALS.G_DEFER_PRICING:='Y';
552 ELSIF p_mode='N' THEN
553 OE_GLOBALS.G_DEFER_PRICING:='N';
554 END IF;
555
556 END Defer_Pricing;
557
558 END Oe_Oe_Folder_Ext;