58:
59:
60: BEGIN
61: FND_MSG_PUB.Initialize;
62: x_return_status := FND_API.G_RET_STS_SUCCESS;
63:
64:
65: IF(p_level_vals_list IS NOT NULL AND p_tab_id IS NOT NULL
66: AND p_dim_level_id IS NOT NULL) THEN
64:
65: IF(p_level_vals_list IS NOT NULL AND p_tab_id IS NOT NULL
66: AND p_dim_level_id IS NOT NULL) THEN
67: FOR cd IN c_security LOOP
68: l_found := FND_API.G_FALSE;
69: l_level_vals_list := p_level_vals_list;
70:
71: IF(cd.dim_level_id =p_dim_level_id ) THEN
72: WHILE (BSC_UTILITY.is_more
75: )
76: ) LOOP
77: l_level_value := TO_NUMBER(RTRIM(LTRIM(l_level_val)));
78: IF (l_level_value = cd.dim_level_value) THEN
79: l_found := FND_API.G_TRUE;
80: END IF;
81: END LOOP;
82: IF(l_found=FND_API.G_FALSE)THEN
83: l_dim_val := BSC_DEFAULT_KEY_ITEM_PUB.get_table_column_value(cd.level_view_name, 'NAME', 'CODE=' || cd.dim_level_value);
78: IF (l_level_value = cd.dim_level_value) THEN
79: l_found := FND_API.G_TRUE;
80: END IF;
81: END LOOP;
82: IF(l_found=FND_API.G_FALSE)THEN
83: l_dim_val := BSC_DEFAULT_KEY_ITEM_PUB.get_table_column_value(cd.level_view_name, 'NAME', 'CODE=' || cd.dim_level_value);
84: FND_MESSAGE.SET_NAME('BSC','BSC_LIST_SECURITY_ERROR');
85: FND_MESSAGE.SET_TOKEN('FIELD_NAME',l_dim_val, TRUE);
86: FND_MSG_PUB.ADD;
83: l_dim_val := BSC_DEFAULT_KEY_ITEM_PUB.get_table_column_value(cd.level_view_name, 'NAME', 'CODE=' || cd.dim_level_value);
84: FND_MESSAGE.SET_NAME('BSC','BSC_LIST_SECURITY_ERROR');
85: FND_MESSAGE.SET_TOKEN('FIELD_NAME',l_dim_val, TRUE);
86: FND_MSG_PUB.ADD;
87: RAISE FND_API.G_EXC_ERROR;
88: END IF;
89: END IF;
90: END LOOP;
91: END IF;
90: END LOOP;
91: END IF;
92:
93: EXCEPTION
94: WHEN FND_API.G_EXC_ERROR THEN
95: IF (x_msg_data IS NULL) THEN
96: FND_MSG_PUB.Count_And_Get
97: ( p_encoded => FND_API.G_FALSE
98: , p_count => x_msg_count
93: EXCEPTION
94: WHEN FND_API.G_EXC_ERROR THEN
95: IF (x_msg_data IS NULL) THEN
96: FND_MSG_PUB.Count_And_Get
97: ( p_encoded => FND_API.G_FALSE
98: , p_count => x_msg_count
99: , p_data => x_msg_data
100: );
101: END IF;
98: , p_count => x_msg_count
99: , p_data => x_msg_data
100: );
101: END IF;
102: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
103: x_return_status := FND_API.G_RET_STS_ERROR;
104:
105: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
106:
99: , p_data => x_msg_data
100: );
101: END IF;
102: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
103: x_return_status := FND_API.G_RET_STS_ERROR;
104:
105: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
106:
107: IF (x_msg_data IS NULL) THEN
101: END IF;
102: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_ERROR '||x_msg_data);
103: x_return_status := FND_API.G_RET_STS_ERROR;
104:
105: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
106:
107: IF (x_msg_data IS NULL) THEN
108: FND_MSG_PUB.Count_And_Get
109: ( p_encoded => FND_API.G_FALSE
105: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
106:
107: IF (x_msg_data IS NULL) THEN
108: FND_MSG_PUB.Count_And_Get
109: ( p_encoded => FND_API.G_FALSE
110: , p_count => x_msg_count
111: , p_data => x_msg_data
112: );
113: END IF;
110: , p_count => x_msg_count
111: , p_data => x_msg_data
112: );
113: END IF;
114: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
115: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
116:
117: WHEN NO_DATA_FOUND THEN
118:
111: , p_data => x_msg_data
112: );
113: END IF;
114: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
115: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
116:
117: WHEN NO_DATA_FOUND THEN
118:
119: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
115: --DBMS_OUTPUT.PUT_LINE('EXCEPTION FND_API.G_EXC_UNEXPECTED_ERROR '||x_msg_data);
116:
117: WHEN NO_DATA_FOUND THEN
118:
119: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
120: IF (x_msg_data IS NOT NULL) THEN
121: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.Validate_List_Button_Security ';
122: ELSE
123: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.Validate_List_Button_Security ';
125: --DBMS_OUTPUT.PUT_LINE('EXCEPTION NO_DATA_FOUND '||x_msg_data);
126:
127: WHEN OTHERS THEN
128:
129: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
130: IF (x_msg_data IS NOT NULL) THEN
131: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.Validate_List_Button_Security ';
132: ELSE
133: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.Validate_List_Button_Security ';
148: (p_tab_id IN NUMBER
149: ,p_dim_level_id IN NUMBER
150: ,p_level_vals_list IN OUT NOCOPY VARCHAR2
151: ,p_mismatch_keyitems OUT NOCOPY VARCHAR2
152: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
153: ,x_return_status OUT NOCOPY VARCHAR2
154: ,x_msg_count OUT NOCOPY NUMBER
155: ,x_msg_data OUT NOCOPY VARCHAR2
156: ) IS
169:
170: BEGIN
171: SAVEPOINT bscpfdlb_savepoint_save_filter;
172: FND_MSG_PUB.Initialize;
173: x_return_status := FND_API.G_RET_STS_SUCCESS;
174:
175:
176: IF (p_dim_level_id is null OR p_tab_id IS NULL) THEN
177: RETURN;
190: ,x_msg_count => x_msg_count
191: ,x_msg_data => x_msg_data
192: );
193:
194: IF(x_return_status IS NOT NULL AND x_return_status <> FND_API.G_RET_STS_SUCCESS)THEN
195: RETURN;
196: END IF;
197:
198: -- BSC_DIM_LEVEL_FILTERS_PUB.check_key_values(
212: --Delete filter values already existing before inserting new values
213: BSC_DIM_LEVEL_FILTERS_PVT.delete_filters(
214: p_tab_id => p_tab_id
215: ,p_dim_level_id => p_dim_level_id
216: ,p_commit => FND_API.G_FALSE
217: ,x_return_status => x_return_status
218: ,x_msg_count => x_msg_count
219: ,x_msg_data => x_msg_data
220: );
227: p_source_type => 1
228: ,p_source_code => p_tab_id
229: ,p_dim_level_id => p_dim_level_id
230: ,p_dim_level_value => l_level_value
231: ,p_commit => FND_API.G_FALSE
232: ,x_return_status => x_return_status
233: ,x_msg_count => x_msg_count
234: ,x_msg_data => x_msg_data
235: );
241: p_source_type => 1
242: ,p_source_code => p_tab_id
243: ,p_dim_level_id => p_dim_level_id
244: ,p_dim_level_value => 0
245: ,p_commit => FND_API.G_FALSE
246: ,x_return_status => x_return_status
247: ,x_msg_count => x_msg_count
248: ,x_msg_data => x_msg_data
249: );
264: ,x_msg_count => x_msg_count
265: ,x_msg_data => x_msg_data
266: );
267:
268: IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
269: BSC_DIM_LEVEL_FILTERS_PUB.update_tab_who_columns(
270: p_tab_id => p_tab_id
271: ,x_return_status => x_return_status
272: ,x_msg_count => x_msg_count
274: );
275: END IF;
276: -- BSC_DIM_FILTERS_PUB.validate_key_item_filter
277: EXCEPTION
278: WHEN FND_API.G_EXC_ERROR THEN
279: ROLLBACK TO bscpfdlb_savepoint_save_filter;
280: FND_MSG_PUB.Count_And_Get
281: ( p_encoded => FND_API.G_FALSE
282: , p_count => x_msg_count
277: EXCEPTION
278: WHEN FND_API.G_EXC_ERROR THEN
279: ROLLBACK TO bscpfdlb_savepoint_save_filter;
280: FND_MSG_PUB.Count_And_Get
281: ( p_encoded => FND_API.G_FALSE
282: , p_count => x_msg_count
283: , p_data => x_msg_data
284: );
285: x_return_status := FND_API.G_RET_STS_ERROR;
281: ( p_encoded => FND_API.G_FALSE
282: , p_count => x_msg_count
283: , p_data => x_msg_data
284: );
285: x_return_status := FND_API.G_RET_STS_ERROR;
286: RAISE;
287:
288: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
289: ROLLBACK TO bscpfdlb_savepoint_save_filter;
284: );
285: x_return_status := FND_API.G_RET_STS_ERROR;
286: RAISE;
287:
288: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
289: ROLLBACK TO bscpfdlb_savepoint_save_filter;
290: FND_MSG_PUB.Count_And_Get
291: ( p_encoded => FND_API.G_FALSE
292: , p_count => x_msg_count
287:
288: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
289: ROLLBACK TO bscpfdlb_savepoint_save_filter;
290: FND_MSG_PUB.Count_And_Get
291: ( p_encoded => FND_API.G_FALSE
292: , p_count => x_msg_count
293: , p_data => x_msg_data
294: );
295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
291: ( p_encoded => FND_API.G_FALSE
292: , p_count => x_msg_count
293: , p_data => x_msg_data
294: );
295: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
296:
297: RAISE;
298:
299: WHEN NO_DATA_FOUND THEN
297: RAISE;
298:
299: WHEN NO_DATA_FOUND THEN
300: ROLLBACK TO bscpfdlb_savepoint_save_filter;
301: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
302: IF (x_msg_data IS NOT NULL) THEN
303: x_msg_data := x_msg_data||' -> BSC_DIM_FILTERS_PUB.save_filter ';
304: ELSE
305: x_msg_data := SQLERRM||' at BSC_DIM_FILTERS_PUB.save_filter ';
308: RAISE;
309:
310: WHEN OTHERS THEN
311: ROLLBACK TO bscpfdlb_savepoint_save_filter;
312: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
313: IF (x_msg_data IS NOT NULL) THEN
314: x_msg_data := x_msg_data||' -> BSC_DIM_FILTERS_PUB.save_filter ';
315: ELSE
316: x_msg_data := SQLERRM||' at BSC_DIM_FILTERS_PUB.save_filter ';
328: PROCEDURE process_filter_view
329: (
330: p_tab_id IN NUMBER
331: ,p_dim_level_id IN NUMBER
332: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
333: ,x_return_status OUT NOCOPY VARCHAR2
334: ,x_msg_count OUT NOCOPY NUMBER
335: ,x_msg_data OUT NOCOPY VARCHAR2
336: ) IS
422: --DELETE entry from bsc_sys_filters_views
423: BSC_DIM_LEVEL_FILTERS_PVT.delete_filters_view (
424: p_tab_id => p_tab_id
425: ,p_dim_level_id => p_dim_level_id
426: ,p_commit => FND_API.G_FALSE
427: ,x_return_status => x_return_status
428: ,x_msg_count => x_msg_count
429: ,x_msg_data => x_msg_data
430: );
433: --DELTER entry from bsc_sys_filters
434: BSC_DIM_LEVEL_FILTERS_PVT.delete_filters (
435: p_tab_id => p_tab_id
436: ,p_dim_level_id => p_dim_level_id
437: ,p_commit => FND_API.G_FALSE
438: ,x_return_status => x_return_status
439: ,x_msg_count => x_msg_count
440: ,x_msg_data => x_msg_data
441: );
492: END LOOP;
493:
494: EXCEPTION
495:
496: WHEN FND_API.G_EXC_ERROR THEN
497:
498: FND_MSG_PUB.Count_And_Get
499: ( p_encoded => FND_API.G_FALSE
500: , p_count => x_msg_count
495:
496: WHEN FND_API.G_EXC_ERROR THEN
497:
498: FND_MSG_PUB.Count_And_Get
499: ( p_encoded => FND_API.G_FALSE
500: , p_count => x_msg_count
501: , p_data => x_msg_data
502: );
503: x_return_status := FND_API.G_RET_STS_ERROR;
499: ( p_encoded => FND_API.G_FALSE
500: , p_count => x_msg_count
501: , p_data => x_msg_data
502: );
503: x_return_status := FND_API.G_RET_STS_ERROR;
504: RAISE;
505:
506: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
507:
502: );
503: x_return_status := FND_API.G_RET_STS_ERROR;
504: RAISE;
505:
506: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
507:
508: FND_MSG_PUB.Count_And_Get
509: ( p_encoded => FND_API.G_FALSE
510: , p_count => x_msg_count
505:
506: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
507:
508: FND_MSG_PUB.Count_And_Get
509: ( p_encoded => FND_API.G_FALSE
510: , p_count => x_msg_count
511: , p_data => x_msg_data
512: );
513: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
509: ( p_encoded => FND_API.G_FALSE
510: , p_count => x_msg_count
511: , p_data => x_msg_data
512: );
513: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
514: RAISE;
515:
516: WHEN NO_DATA_FOUND THEN
517:
514: RAISE;
515:
516: WHEN NO_DATA_FOUND THEN
517:
518: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
519: IF (x_msg_data IS NOT NULL) THEN
520: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.process_filter_view ';
521: ELSE
522: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.process_filter_view ';
525: RAISE;
526:
527: WHEN OTHERS THEN
528:
529: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
530: IF (x_msg_data IS NOT NULL) THEN
531: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.process_filter_view ';
532: ELSE
533: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.process_filter_view ';
544: PROCEDURE create_filter_view
545: (
546: p_tab_id IN NUMBER
547: , p_dim_level_id IN NUMBER
548: , p_commit IN VARCHAR2 := FND_API.G_FALSE
549: , x_return_status OUT NOCOPY VARCHAR2
550: , x_msg_count OUT NOCOPY NUMBER
551: , x_msg_data OUT NOCOPY VARCHAR2
552: ) IS
615: ,p_source_code => p_tab_id
616: ,p_dim_level_id => p_dim_level_id
617: ,p_level_table_name => l_table
618: ,p_level_view_name => l_view
619: ,p_commit => FND_API.G_FALSE
620: ,x_return_status => x_return_status
621: ,x_msg_count => x_msg_count
622: ,x_msg_data => x_msg_data
623: );
672: l_sql := 'CREATE VIEW ' || l_view || ' AS (SELECT d.* FROM ' || l_sql_tables || ' WHERE ' || l_sql_where_cond || ')';
673: EXECUTE IMMEDIATE l_sql;
674:
675: EXCEPTION
676: WHEN FND_API.G_EXC_ERROR THEN
677:
678:
679: FND_MSG_PUB.Count_And_Get
680: ( p_encoded => FND_API.G_FALSE
676: WHEN FND_API.G_EXC_ERROR THEN
677:
678:
679: FND_MSG_PUB.Count_And_Get
680: ( p_encoded => FND_API.G_FALSE
681: , p_count => x_msg_count
682: , p_data => x_msg_data
683: );
684: x_return_status := FND_API.G_RET_STS_ERROR;
680: ( p_encoded => FND_API.G_FALSE
681: , p_count => x_msg_count
682: , p_data => x_msg_data
683: );
684: x_return_status := FND_API.G_RET_STS_ERROR;
685: RAISE;
686:
687: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
688: FND_MSG_PUB.Count_And_Get
683: );
684: x_return_status := FND_API.G_RET_STS_ERROR;
685: RAISE;
686:
687: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
688: FND_MSG_PUB.Count_And_Get
689: ( p_encoded => FND_API.G_FALSE
690: , p_count => x_msg_count
691: , p_data => x_msg_data
685: RAISE;
686:
687: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
688: FND_MSG_PUB.Count_And_Get
689: ( p_encoded => FND_API.G_FALSE
690: , p_count => x_msg_count
691: , p_data => x_msg_data
692: );
693: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
689: ( p_encoded => FND_API.G_FALSE
690: , p_count => x_msg_count
691: , p_data => x_msg_data
692: );
693: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
694: RAISE;
695:
696: WHEN NO_DATA_FOUND THEN
697: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
693: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
694: RAISE;
695:
696: WHEN NO_DATA_FOUND THEN
697: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
698: IF (x_msg_data IS NOT NULL) THEN
699: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.create_filter_view ';
700: ELSE
701: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.create_filter_view ';
703:
704: RAISE;
705:
706: WHEN OTHERS THEN
707: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
708: IF (x_msg_data IS NOT NULL) THEN
709: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.create_filter_view ';
710: ELSE
711: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.create_filter_view ';
763:
764: RETURN l_result;
765:
766: EXCEPTION
767: WHEN FND_API.G_EXC_ERROR THEN
768:
769: FND_MSG_PUB.Count_And_Get
770: ( p_encoded => FND_API.G_FALSE
771: , p_count => x_msg_count
766: EXCEPTION
767: WHEN FND_API.G_EXC_ERROR THEN
768:
769: FND_MSG_PUB.Count_And_Get
770: ( p_encoded => FND_API.G_FALSE
771: , p_count => x_msg_count
772: , p_data => x_msg_data
773: );
774: x_return_status := FND_API.G_RET_STS_ERROR;
770: ( p_encoded => FND_API.G_FALSE
771: , p_count => x_msg_count
772: , p_data => x_msg_data
773: );
774: x_return_status := FND_API.G_RET_STS_ERROR;
775: RAISE;
776:
777: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
778:
773: );
774: x_return_status := FND_API.G_RET_STS_ERROR;
775: RAISE;
776:
777: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
778:
779: FND_MSG_PUB.Count_And_Get
780: ( p_encoded => FND_API.G_FALSE
781: , p_count => x_msg_count
776:
777: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
778:
779: FND_MSG_PUB.Count_And_Get
780: ( p_encoded => FND_API.G_FALSE
781: , p_count => x_msg_count
782: , p_data => x_msg_data
783: );
784: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
780: ( p_encoded => FND_API.G_FALSE
781: , p_count => x_msg_count
782: , p_data => x_msg_data
783: );
784: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
785: RAISE;
786:
787: WHEN NO_DATA_FOUND THEN
788:
785: RAISE;
786:
787: WHEN NO_DATA_FOUND THEN
788:
789: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
790: IF (x_msg_data IS NOT NULL) THEN
791: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.get_new_filter_view_name ';
792: ELSE
793: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.get_new_filter_view_name ';
796: RAISE;
797:
798: WHEN OTHERS THEN
799:
800: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
801: IF (x_msg_data IS NOT NULL) THEN
802: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.get_new_filter_view_name ';
803: ELSE
804: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.get_new_filter_view_name ';
816: PROCEDURE get_filter_dimension_SQL
817: ( p_tab_id IN NUMBER
818: , p_dim_level_id IN NUMBER
819: , x_sql OUT NOCOPY VARCHAR2
820: , p_commit IN VARCHAR2 := FND_API.G_FALSE
821: , x_return_status OUT NOCOPY VARCHAR2
822: , x_msg_count OUT NOCOPY NUMBER
823: , x_msg_data OUT NOCOPY VARCHAR2
824: )
854: l_sql_tables := cd.level_view_name;
855: END LOOP;
856:
857: IF (l_sql_tables IS NOT NULL) THEN
858: x_return_status := FND_API.G_RET_STS_SUCCESS;
859:
860: l_sql_tables := l_sql_tables || ' d ';
861: l_sql_where_cond := ' d.code <> 0';
862: l_index := 0;
887: END IF;
888: END IF;
889: EXCEPTION
890:
891: WHEN FND_API.G_EXC_ERROR THEN
892:
893: FND_MSG_PUB.Count_And_Get
894: ( p_encoded => FND_API.G_FALSE
895: , p_count => x_msg_count
890:
891: WHEN FND_API.G_EXC_ERROR THEN
892:
893: FND_MSG_PUB.Count_And_Get
894: ( p_encoded => FND_API.G_FALSE
895: , p_count => x_msg_count
896: , p_data => x_msg_data
897: );
898: x_return_status := FND_API.G_RET_STS_ERROR;
894: ( p_encoded => FND_API.G_FALSE
895: , p_count => x_msg_count
896: , p_data => x_msg_data
897: );
898: x_return_status := FND_API.G_RET_STS_ERROR;
899: x_sql := NULL;
900: RAISE;
901:
902: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
898: x_return_status := FND_API.G_RET_STS_ERROR;
899: x_sql := NULL;
900: RAISE;
901:
902: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
903:
904: FND_MSG_PUB.Count_And_Get
905: ( p_encoded => FND_API.G_FALSE
906: , p_count => x_msg_count
901:
902: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
903:
904: FND_MSG_PUB.Count_And_Get
905: ( p_encoded => FND_API.G_FALSE
906: , p_count => x_msg_count
907: , p_data => x_msg_data
908: );
909: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
905: ( p_encoded => FND_API.G_FALSE
906: , p_count => x_msg_count
907: , p_data => x_msg_data
908: );
909: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
910: x_sql := NULL;
911: RAISE;
912:
913: WHEN NO_DATA_FOUND THEN
911: RAISE;
912:
913: WHEN NO_DATA_FOUND THEN
914:
915: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
916: IF (x_msg_data IS NOT NULL) THEN
917: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.get_filter_dimension_SQL ';
918: ELSE
919: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.get_filter_dimension_SQL ';
922: RAISE;
923:
924: WHEN OTHERS THEN
925:
926: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
927: IF (x_msg_data IS NOT NULL) THEN
928: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.get_filter_dimension_SQL ';
929: ELSE
930: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.get_filter_dimension_SQL ';
941: PROCEDURE get_filtered_dim_values_SQL
942: ( p_tab_id IN NUMBER
943: , p_dim_level_id IN NUMBER
944: , x_sql OUT NOCOPY VARCHAR2
945: , p_commit IN VARCHAR2 := FND_API.G_FALSE
946: , x_return_status OUT NOCOPY VARCHAR2
947: , x_msg_count OUT NOCOPY NUMBER
948: , x_msg_data OUT NOCOPY VARCHAR2
949: )
965:
966: BEGIN
967:
968: FND_MSG_PUB.Initialize;
969: x_return_status := FND_API.G_RET_STS_SUCCESS;
970:
971:
972: -- The following is a dummy SQL that returns no rows.
973: l_dummy_sql := 'SELECT NULL ID, NULL VALUE FROM DUAL WHERE ROWNUM<1';
1007:
1008: EXECUTE IMMEDIATE x_sql;
1009:
1010: EXCEPTION
1011: WHEN FND_API.G_EXC_ERROR THEN
1012:
1013: FND_MSG_PUB.Count_And_Get
1014: ( p_encoded => FND_API.G_FALSE
1015: , p_count => x_msg_count
1010: EXCEPTION
1011: WHEN FND_API.G_EXC_ERROR THEN
1012:
1013: FND_MSG_PUB.Count_And_Get
1014: ( p_encoded => FND_API.G_FALSE
1015: , p_count => x_msg_count
1016: , p_data => x_msg_data
1017: );
1018: x_return_status := FND_API.G_RET_STS_ERROR;
1014: ( p_encoded => FND_API.G_FALSE
1015: , p_count => x_msg_count
1016: , p_data => x_msg_data
1017: );
1018: x_return_status := FND_API.G_RET_STS_ERROR;
1019: x_sql := l_dummy_sql;
1020: RAISE;
1021:
1022: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1018: x_return_status := FND_API.G_RET_STS_ERROR;
1019: x_sql := l_dummy_sql;
1020: RAISE;
1021:
1022: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1023:
1024: FND_MSG_PUB.Count_And_Get
1025: ( p_encoded => FND_API.G_FALSE
1026: , p_count => x_msg_count
1021:
1022: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1023:
1024: FND_MSG_PUB.Count_And_Get
1025: ( p_encoded => FND_API.G_FALSE
1026: , p_count => x_msg_count
1027: , p_data => x_msg_data
1028: );
1029: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1025: ( p_encoded => FND_API.G_FALSE
1026: , p_count => x_msg_count
1027: , p_data => x_msg_data
1028: );
1029: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1030: x_sql := l_dummy_sql;
1031: RAISE;
1032:
1033: WHEN NO_DATA_FOUND THEN
1031: RAISE;
1032:
1033: WHEN NO_DATA_FOUND THEN
1034:
1035: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1036: IF (x_msg_data IS NOT NULL) THEN
1037: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.get_filtered_dim_values_SQL ';
1038: ELSE
1039: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.get_filtered_dim_values_SQL ';
1042: RAISE;
1043:
1044: WHEN OTHERS THEN
1045:
1046: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1047: IF (x_msg_data IS NOT NULL) THEN
1048: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.get_filtered_dim_values_SQL ';
1049: ELSE
1050: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.get_filtered_dim_values_SQL ';
1068: PROCEDURE del_filters_not_applicable(
1069: p_tab_id IN NUMBER
1070: ,p_ch_level_id IN NUMBER
1071: ,p_pa_level_id IN NUMBER
1072: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1073: ,x_return_status OUT NOCOPY VARCHAR2
1074: ,x_msg_count OUT NOCOPY NUMBER
1075: ,x_msg_data OUT NOCOPY VARCHAR2
1076: ) IS
1207: END IF;
1208: END IF;
1209:
1210: EXCEPTION
1211: WHEN FND_API.G_EXC_ERROR THEN
1212:
1213: FND_MSG_PUB.Count_And_Get
1214: ( p_encoded => FND_API.G_FALSE
1215: , p_count => x_msg_count
1210: EXCEPTION
1211: WHEN FND_API.G_EXC_ERROR THEN
1212:
1213: FND_MSG_PUB.Count_And_Get
1214: ( p_encoded => FND_API.G_FALSE
1215: , p_count => x_msg_count
1216: , p_data => x_msg_data
1217: );
1218: x_return_status := FND_API.G_RET_STS_ERROR;
1214: ( p_encoded => FND_API.G_FALSE
1215: , p_count => x_msg_count
1216: , p_data => x_msg_data
1217: );
1218: x_return_status := FND_API.G_RET_STS_ERROR;
1219:
1220: IF (ref_cur%ISOPEN) THEN
1221: CLOSE ref_cur;
1222: END IF;
1222: END IF;
1223:
1224: RAISE;
1225:
1226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1227:
1228: FND_MSG_PUB.Count_And_Get
1229: ( p_encoded => FND_API.G_FALSE
1230: , p_count => x_msg_count
1225:
1226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1227:
1228: FND_MSG_PUB.Count_And_Get
1229: ( p_encoded => FND_API.G_FALSE
1230: , p_count => x_msg_count
1231: , p_data => x_msg_data
1232: );
1233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1229: ( p_encoded => FND_API.G_FALSE
1230: , p_count => x_msg_count
1231: , p_data => x_msg_data
1232: );
1233: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1234: IF (ref_cur%ISOPEN) THEN
1235: CLOSE ref_cur;
1236: END IF;
1237:
1238: RAISE;
1239:
1240: WHEN NO_DATA_FOUND THEN
1241:
1242: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1243: IF (x_msg_data IS NOT NULL) THEN
1244: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.del_filters_not_applicable ';
1245: ELSE
1246: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.del_filters_not_applicable ';
1252: RAISE;
1253:
1254: WHEN OTHERS THEN
1255:
1256: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1257: IF (x_msg_data IS NOT NULL) THEN
1258: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.del_filters_not_applicable ';
1259: ELSE
1260: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.del_filters_not_applicable ';
1272:
1273: PROCEDURE update_tab_who_columns
1274: (
1275: p_tab_id IN NUMBER
1276: ,p_commit IN VARCHAR2 := FND_API.G_FALSE
1277: ,x_return_status OUT NOCOPY VARCHAR2
1278: ,x_msg_count OUT NOCOPY NUMBER
1279: ,x_msg_data OUT NOCOPY VARCHAR2
1280: )
1305:
1306: END IF;
1307: END IF;
1308:
1309: IF (p_commit = FND_API.G_TRUE) THEN
1310: COMMIT;
1311: END IF;
1312:
1313: EXCEPTION
1311: END IF;
1312:
1313: EXCEPTION
1314:
1315: WHEN FND_API.G_EXC_ERROR THEN
1316:
1317: FND_MSG_PUB.Count_And_Get
1318: ( p_encoded => FND_API.G_FALSE
1319: , p_count => x_msg_count
1314:
1315: WHEN FND_API.G_EXC_ERROR THEN
1316:
1317: FND_MSG_PUB.Count_And_Get
1318: ( p_encoded => FND_API.G_FALSE
1319: , p_count => x_msg_count
1320: , p_data => x_msg_data
1321: );
1322: x_return_status := FND_API.G_RET_STS_ERROR;
1318: ( p_encoded => FND_API.G_FALSE
1319: , p_count => x_msg_count
1320: , p_data => x_msg_data
1321: );
1322: x_return_status := FND_API.G_RET_STS_ERROR;
1323: RAISE;
1324:
1325: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1326:
1321: );
1322: x_return_status := FND_API.G_RET_STS_ERROR;
1323: RAISE;
1324:
1325: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1326:
1327: FND_MSG_PUB.Count_And_Get
1328: ( p_encoded => FND_API.G_FALSE
1329: , p_count => x_msg_count
1324:
1325: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1326:
1327: FND_MSG_PUB.Count_And_Get
1328: ( p_encoded => FND_API.G_FALSE
1329: , p_count => x_msg_count
1330: , p_data => x_msg_data
1331: );
1332: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1328: ( p_encoded => FND_API.G_FALSE
1329: , p_count => x_msg_count
1330: , p_data => x_msg_data
1331: );
1332: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1333: RAISE;
1334:
1335: WHEN NO_DATA_FOUND THEN
1336:
1333: RAISE;
1334:
1335: WHEN NO_DATA_FOUND THEN
1336:
1337: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1338: IF (x_msg_data IS NOT NULL) THEN
1339: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.update_tab_who_columns ';
1340: ELSE
1341: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.update_tab_who_columns ';
1344: RAISE;
1345:
1346: WHEN OTHERS THEN
1347:
1348: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1349: IF (x_msg_data IS NOT NULL) THEN
1350: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.update_tab_who_columns ';
1351: ELSE
1352: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.update_tab_who_columns ';
1493:
1494:
1495: EXCEPTION
1496:
1497: WHEN FND_API.G_EXC_ERROR THEN
1498:
1499: FND_MSG_PUB.Count_And_Get
1500: ( p_encoded => FND_API.G_FALSE
1501: , p_count => x_msg_count
1496:
1497: WHEN FND_API.G_EXC_ERROR THEN
1498:
1499: FND_MSG_PUB.Count_And_Get
1500: ( p_encoded => FND_API.G_FALSE
1501: , p_count => x_msg_count
1502: , p_data => x_msg_data
1503: );
1504: x_return_status := FND_API.G_RET_STS_ERROR;
1500: ( p_encoded => FND_API.G_FALSE
1501: , p_count => x_msg_count
1502: , p_data => x_msg_data
1503: );
1504: x_return_status := FND_API.G_RET_STS_ERROR;
1505: RAISE;
1506:
1507: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1508:
1503: );
1504: x_return_status := FND_API.G_RET_STS_ERROR;
1505: RAISE;
1506:
1507: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1508:
1509: FND_MSG_PUB.Count_And_Get
1510: ( p_encoded => FND_API.G_FALSE
1511: , p_count => x_msg_count
1506:
1507: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1508:
1509: FND_MSG_PUB.Count_And_Get
1510: ( p_encoded => FND_API.G_FALSE
1511: , p_count => x_msg_count
1512: , p_data => x_msg_data
1513: );
1514: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1510: ( p_encoded => FND_API.G_FALSE
1511: , p_count => x_msg_count
1512: , p_data => x_msg_data
1513: );
1514: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1515: RAISE;
1516:
1517: WHEN NO_DATA_FOUND THEN
1518:
1515: RAISE;
1516:
1517: WHEN NO_DATA_FOUND THEN
1518:
1519: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1520: IF (x_msg_data IS NOT NULL) THEN
1521: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.validate_key_items ';
1522: ELSE
1523: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.validate_key_items ';
1526: RAISE;
1527:
1528: WHEN OTHERS THEN
1529:
1530: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1531: IF (x_msg_data IS NOT NULL) THEN
1532: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.validate_key_items ';
1533: ELSE
1534: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.validate_key_items ';
1695: END IF;
1696:
1697: EXCEPTION
1698:
1699: WHEN FND_API.G_EXC_ERROR THEN
1700: IF (ref_cur%ISOPEN) THEN
1701: CLOSE ref_cur;
1702: END IF;
1703: FND_MSG_PUB.Count_And_Get
1700: IF (ref_cur%ISOPEN) THEN
1701: CLOSE ref_cur;
1702: END IF;
1703: FND_MSG_PUB.Count_And_Get
1704: ( p_encoded => FND_API.G_FALSE
1705: , p_count => x_msg_count
1706: , p_data => x_msg_data
1707: );
1708: x_return_status := FND_API.G_RET_STS_ERROR;
1704: ( p_encoded => FND_API.G_FALSE
1705: , p_count => x_msg_count
1706: , p_data => x_msg_data
1707: );
1708: x_return_status := FND_API.G_RET_STS_ERROR;
1709: RAISE;
1710:
1711: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1712: IF (ref_cur%ISOPEN) THEN
1707: );
1708: x_return_status := FND_API.G_RET_STS_ERROR;
1709: RAISE;
1710:
1711: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1712: IF (ref_cur%ISOPEN) THEN
1713: CLOSE ref_cur;
1714: END IF;
1715:
1713: CLOSE ref_cur;
1714: END IF;
1715:
1716: FND_MSG_PUB.Count_And_Get
1717: ( p_encoded => FND_API.G_FALSE
1718: , p_count => x_msg_count
1719: , p_data => x_msg_data
1720: );
1721: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1717: ( p_encoded => FND_API.G_FALSE
1718: , p_count => x_msg_count
1719: , p_data => x_msg_data
1720: );
1721: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1722: RAISE;
1723:
1724: WHEN NO_DATA_FOUND THEN
1725: IF (ref_cur%ISOPEN) THEN
1725: IF (ref_cur%ISOPEN) THEN
1726: CLOSE ref_cur;
1727: END IF;
1728:
1729: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1730: IF (x_msg_data IS NOT NULL) THEN
1731: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.validate_parent_key_items ';
1732: ELSE
1733: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.validate_parent_key_items ';
1739: IF (ref_cur%ISOPEN) THEN
1740: CLOSE ref_cur;
1741: END IF;
1742:
1743: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1744: IF (x_msg_data IS NOT NULL) THEN
1745: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.validate_parent_key_items ';
1746: ELSE
1747: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.validate_parent_key_items ';
1925: END IF;
1926:
1927: EXCEPTION
1928:
1929: WHEN FND_API.G_EXC_ERROR THEN
1930: IF (ref_cur%ISOPEN) THEN
1931: CLOSE ref_cur;
1932: END IF;
1933: FND_MSG_PUB.Count_And_Get
1930: IF (ref_cur%ISOPEN) THEN
1931: CLOSE ref_cur;
1932: END IF;
1933: FND_MSG_PUB.Count_And_Get
1934: ( p_encoded => FND_API.G_FALSE
1935: , p_count => x_msg_count
1936: , p_data => x_msg_data
1937: );
1938: x_return_status := FND_API.G_RET_STS_ERROR;
1934: ( p_encoded => FND_API.G_FALSE
1935: , p_count => x_msg_count
1936: , p_data => x_msg_data
1937: );
1938: x_return_status := FND_API.G_RET_STS_ERROR;
1939: RAISE;
1940:
1941: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1942: IF (ref_cur%ISOPEN) THEN
1937: );
1938: x_return_status := FND_API.G_RET_STS_ERROR;
1939: RAISE;
1940:
1941: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1942: IF (ref_cur%ISOPEN) THEN
1943: CLOSE ref_cur;
1944: END IF;
1945:
1943: CLOSE ref_cur;
1944: END IF;
1945:
1946: FND_MSG_PUB.Count_And_Get
1947: ( p_encoded => FND_API.G_FALSE
1948: , p_count => x_msg_count
1949: , p_data => x_msg_data
1950: );
1951: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1947: ( p_encoded => FND_API.G_FALSE
1948: , p_count => x_msg_count
1949: , p_data => x_msg_data
1950: );
1951: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1952: RAISE;
1953:
1954: WHEN NO_DATA_FOUND THEN
1955: IF (ref_cur%ISOPEN) THEN
1955: IF (ref_cur%ISOPEN) THEN
1956: CLOSE ref_cur;
1957: END IF;
1958:
1959: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1960: IF (x_msg_data IS NOT NULL) THEN
1961: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.validate_child_key_items ';
1962: ELSE
1963: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.validate_child_key_items ';
1969: IF (ref_cur%ISOPEN) THEN
1970: CLOSE ref_cur;
1971: END IF;
1972:
1973: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1974: IF (x_msg_data IS NOT NULL) THEN
1975: x_msg_data := x_msg_data||' -> BSC_DIM_LEVEL_FILTERS_PUB.validate_child_key_items ';
1976: ELSE
1977: x_msg_data := SQLERRM||' at BSC_DIM_LEVEL_FILTERS_PUB.validate_child_key_items ';