48:
49: l_api_name VARCHAR2(30) := 'Get_DimLevel_Viewby';
50: l_region_code VARCHAR2(30) := NULL;
51: l_nested_region_code VARCHAR2(30) := NULL;
52: l_ak_region_items_rec BIS_PMV_BSC_API_PVT.AK_REGION_ITEMS_REC_TYPE;
53: l_dimlevel_viewby_rec BIS_PMV_BSC_API_PUB.Dimlevel_Viewby_Rec_Type;
54: l_disable_viewby VARCHAR2(1) := 'N';
55: l_index NUMBER := 1;
56: is_duplicate BOOLEAN := FALSE;
55: l_index NUMBER := 1;
56: is_duplicate BOOLEAN := FALSE;
57:
58: CURSOR region_code_cursor(cp_measure_short_name VARCHAR2) IS
59: SELECT region_code FROM ak_region_items WHERE attribute1='MEASURE' AND
60: attribute2 = cp_measure_short_name
61: ORDER BY creation_date DESC;
62:
63: CURSOR disable_viewby_cursor(cp_region_code VARCHAR2) IS
64: SELECT attribute1 FROM ak_regions
65: WHERE region_code = cp_region_code;
66:
67: CURSOR nested_region_cursor(cp_region_code VARCHAR2) IS
68: SELECT nested_region_code FROM ak_region_items
69: WHERE region_code=cp_region_code AND item_style='NESTED_REGION';
70:
71: -- Enh 3420818 - retrieve attribute_code
72: CURSOR ak_region_items_cursor(cp_region_code VARCHAR2)
68: SELECT nested_region_code FROM ak_region_items
69: WHERE region_code=cp_region_code AND item_style='NESTED_REGION';
70:
71: -- Enh 3420818 - retrieve attribute_code
72: CURSOR ak_region_items_cursor(cp_region_code VARCHAR2)
73: IS
74: SELECT attribute_code attribute_code, attribute1 attribute_type, attribute2 attribute_value, required_flag
75: FROM ak_region_items WHERE region_code = cp_region_code AND
76: attribute1 IN ('DIM LEVEL SINGLE VALUE', 'DIMENSION LEVEL', 'HIDE DIMENSION LEVEL',
71: -- Enh 3420818 - retrieve attribute_code
72: CURSOR ak_region_items_cursor(cp_region_code VARCHAR2)
73: IS
74: SELECT attribute_code attribute_code, attribute1 attribute_type, attribute2 attribute_value, required_flag
75: FROM ak_region_items WHERE region_code = cp_region_code AND
76: attribute1 IN ('DIM LEVEL SINGLE VALUE', 'DIMENSION LEVEL', 'HIDE DIMENSION LEVEL',
77: 'HIDE PARAMETER', 'HIDE VIEW BY DIMENSION', 'VIEWBY PARAMETER', 'HIDE_VIEW_BY_DIM_SINGLE');
78:
79: BEGIN
126: CLOSE disable_viewby_cursor;
127:
128: --print(G_PKG_NAME || '.' || l_api_name || ' : l_disable_viewby : ' || l_disable_viewby);
129:
130: IF ak_region_items_cursor%ISOPEN THEN
131: CLOSE ak_region_items_cursor;
132: END IF;
133: -- populate records for report region
134: -- Enh 3420818 - skip AS_OF_DATE
127:
128: --print(G_PKG_NAME || '.' || l_api_name || ' : l_disable_viewby : ' || l_disable_viewby);
129:
130: IF ak_region_items_cursor%ISOPEN THEN
131: CLOSE ak_region_items_cursor;
132: END IF;
133: -- populate records for report region
134: -- Enh 3420818 - skip AS_OF_DATE
135: FOR cr IN ak_region_items_cursor(l_region_code) LOOP
131: CLOSE ak_region_items_cursor;
132: END IF;
133: -- populate records for report region
134: -- Enh 3420818 - skip AS_OF_DATE
135: FOR cr IN ak_region_items_cursor(l_region_code) LOOP
136: IF cr.attribute_value IS NOT NULL AND cr.attribute_code <> 'AS_OF_DATE' THEN
137:
138: Populate_DimLevel_Viewby_Rec(
139: p_Attribute_Type => cr.attribute_type
148:
149: END IF;
150: END LOOP;
151:
152: IF ak_region_items_cursor%ISOPEN THEN
153: CLOSE ak_region_items_cursor;
154: END IF;
155:
156: -- check whether the report region contains nested region
149: END IF;
150: END LOOP;
151:
152: IF ak_region_items_cursor%ISOPEN THEN
153: CLOSE ak_region_items_cursor;
154: END IF;
155:
156: -- check whether the report region contains nested region
157: IF nested_region_cursor%ISOPEN THEN
166:
167: -- If report has a nested region - dbi report
168: -- Enh 3420818 - skip AS_OF_DATE
169: IF l_nested_region_code IS NOT NULL THEN
170: IF ak_region_items_cursor%ISOPEN THEN
171: CLOSE ak_region_items_cursor;
172: END IF;
173: FOR cr IN ak_region_items_cursor(l_nested_region_code) LOOP
174: IF cr.attribute_value IS NOT NULL AND cr.attribute_code <> 'AS_OF_DATE' THEN
167: -- If report has a nested region - dbi report
168: -- Enh 3420818 - skip AS_OF_DATE
169: IF l_nested_region_code IS NOT NULL THEN
170: IF ak_region_items_cursor%ISOPEN THEN
171: CLOSE ak_region_items_cursor;
172: END IF;
173: FOR cr IN ak_region_items_cursor(l_nested_region_code) LOOP
174: IF cr.attribute_value IS NOT NULL AND cr.attribute_code <> 'AS_OF_DATE' THEN
175: IF (x_DimLevel_Viewby_Tbl.COUNT > 0) THEN
169: IF l_nested_region_code IS NOT NULL THEN
170: IF ak_region_items_cursor%ISOPEN THEN
171: CLOSE ak_region_items_cursor;
172: END IF;
173: FOR cr IN ak_region_items_cursor(l_nested_region_code) LOOP
174: IF cr.attribute_value IS NOT NULL AND cr.attribute_code <> 'AS_OF_DATE' THEN
175: IF (x_DimLevel_Viewby_Tbl.COUNT > 0) THEN
176: is_duplicate := FALSE;
177: FOR i IN x_DimLevel_Viewby_Tbl.FIRST..x_DimLevel_Viewby_Tbl.LAST LOOP
195: END IF;
196: END IF;
197: END IF;
198: END LOOP;
199: IF ak_region_items_cursor%ISOPEN THEN
200: CLOSE ak_region_items_cursor;
201: END IF;
202: END IF;
203:
196: END IF;
197: END IF;
198: END LOOP;
199: IF ak_region_items_cursor%ISOPEN THEN
200: CLOSE ak_region_items_cursor;
201: END IF;
202: END IF;
203:
204: EXCEPTION
203:
204: EXCEPTION
205: WHEN FND_API.G_EXC_ERROR THEN
206: x_return_status := FND_API.G_RET_STS_ERROR ;
207: IF ak_region_items_cursor%ISOPEN THEN
208: CLOSE ak_region_items_cursor;
209: END IF;
210: IF nested_region_cursor%ISOPEN THEN
211: CLOSE nested_region_cursor;
204: EXCEPTION
205: WHEN FND_API.G_EXC_ERROR THEN
206: x_return_status := FND_API.G_RET_STS_ERROR ;
207: IF ak_region_items_cursor%ISOPEN THEN
208: CLOSE ak_region_items_cursor;
209: END IF;
210: IF nested_region_cursor%ISOPEN THEN
211: CLOSE nested_region_cursor;
212: END IF;
224: END IF;
225:
226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
228: IF ak_region_items_cursor%ISOPEN THEN
229: CLOSE ak_region_items_cursor;
230: END IF;
231: IF nested_region_cursor%ISOPEN THEN
232: CLOSE nested_region_cursor;
225:
226: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
227: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
228: IF ak_region_items_cursor%ISOPEN THEN
229: CLOSE ak_region_items_cursor;
230: END IF;
231: IF nested_region_cursor%ISOPEN THEN
232: CLOSE nested_region_cursor;
233: END IF;
243: );
244:
245: WHEN others THEN
246: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
247: IF ak_region_items_cursor%ISOPEN THEN
248: CLOSE ak_region_items_cursor;
249: END IF;
250: IF nested_region_cursor%ISOPEN THEN
251: CLOSE nested_region_cursor;
244:
245: WHEN others THEN
246: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
247: IF ak_region_items_cursor%ISOPEN THEN
248: CLOSE ak_region_items_cursor;
249: END IF;
250: IF nested_region_cursor%ISOPEN THEN
251: CLOSE nested_region_cursor;
252: END IF;