1: Package Body EDW_BSC_BRIDGE AS
2: /* $Header: EDWBSCB.pls 115.14 2004/02/13 05:01:13 smulye noship $ */
3: e_DynamicSqlStmtErr EXCEPTION;
4: TYPE t_FactMeasure IS RECORD (
5: measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
6: measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
7: );
8:
9: TYPE FactDimColTable IS TABLE of
2: /* $Header: EDWBSCB.pls 115.14 2004/02/13 05:01:13 smulye noship $ */
3: e_DynamicSqlStmtErr EXCEPTION;
4: TYPE t_FactMeasure IS RECORD (
5: measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
6: measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
7: );
8:
9: TYPE FactDimColTable IS TABLE of
10: EDW_FACT_DIM_RELATIONS_MD_V.FACT_FK_COL_NAME%TYPE
74: DIM_ID = v_time_dimension_id
75: AND HIER_PREFIX = p_hier_prefix;
76:
77: --excuted once per fact, no need for tuning
78: CURSOR c_facttimedimcol(p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE) IS
79: SELECT
80: FACT_FK_COL_NAME
81: FROM EDW_FACT_DIM_RELATIONS_MD_V
82: WHERE
86: AND FACT_NAME = p_fact_name;
87:
88:
89: --excuted once per fact, no need for tuning
90: CURSOR c_factnontimedimcol(p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE) IS
91: SELECT
92: FACT_FK_COL_NAME
93: FROM EDW_FACT_DIM_RELATIONS_MD_V
94: WHERE
97: -- it is instanciated at the intialization.
98: AND FACT_NAME = p_fact_name;
99:
100: --excuted once per fact, no need for tuning
101: CURSOR c_factmeasure(p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE) IS
102: SELECT
103: ATTRIBUTE_ID ,
104: ATTRIBUTE_NAME
105: FROM EDW_FACT_ATTRIBUTES_MD_V
101: CURSOR c_factmeasure(p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE) IS
102: SELECT
103: ATTRIBUTE_ID ,
104: ATTRIBUTE_NAME
105: FROM EDW_FACT_ATTRIBUTES_MD_V
106: WHERE FACT_NAME = p_fact_name
107: AND ATTRIBUTE_TYPE = 'MEASURE';
108:
109:
108:
109:
110: --excuted once per fact, no need for tuning
111: CURSOR c_factmeasure_id(
112: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
113: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
114: ) IS
115: SELECT
116: ATTRIBUTE_ID
109:
110: --excuted once per fact, no need for tuning
111: CURSOR c_factmeasure_id(
112: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
113: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
114: ) IS
115: SELECT
116: ATTRIBUTE_ID
117: FROM EDW_FACT_ATTRIBUTES_MD_V
113: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
114: ) IS
115: SELECT
116: ATTRIBUTE_ID
117: FROM EDW_FACT_ATTRIBUTES_MD_V
118: WHERE
119: FACT_NAME = p_fact_name
120: AND ATTRIBUTE_NAME = p_measure_name
121: AND ATTRIBUTE_TYPE = 'MEASURE';
121: AND ATTRIBUTE_TYPE = 'MEASURE';
122:
123:
124: CURSOR c_factvalidity_t(
125: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
126: )IS
127: SELECT
128: object_name
129: FROM
132: object_name = UPPER(p_fact_name)
133: AND object_type = 'TABLE';
134:
135: CURSOR c_factvalidity_s(
136: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
137: )IS
138: SELECT
139: object_name
140: FROM
193: p_col_name ALL_TAB_COLUMNS.COLUMN_NAME%TYPE)
194: RETURN BOOLEAN;
195:
196: FUNCTION CHECK_FACT_VALIDILITY(
197: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
198: ) RETURN VARCHAR2;
199:
200: FUNCTION GET_FACT_MEASURE(
201: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
197: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
198: ) RETURN VARCHAR2;
199:
200: FUNCTION GET_FACT_MEASURE(
201: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
202: )RETURN FactMeasureTable;
203:
204: FUNCTION GET_FACT_TIME_DIM_COL(
205: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
201: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
202: )RETURN FactMeasureTable;
203:
204: FUNCTION GET_FACT_TIME_DIM_COL(
205: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
206: )RETURN FactDimColTable;
207:
208: FUNCTION GET_FACT_NONTIME_DIM_COL(
209: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
205: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
206: )RETURN FactDimColTable;
207:
208: FUNCTION GET_FACT_NONTIME_DIM_COL(
209: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
210: )RETURN FactDimColTable;
211:
212: FUNCTION GET_SQL_STMT(
213: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
209: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
210: )RETURN FactDimColTable;
211:
212: FUNCTION GET_SQL_STMT(
213: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
214: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
215: p_fact_time_dim_table IN FactDimColTable,
216: p_fact_nontime_dim_table IN FactDimColTable,
217: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
210: )RETURN FactDimColTable;
211:
212: FUNCTION GET_SQL_STMT(
213: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
214: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
215: p_fact_time_dim_table IN FactDimColTable,
216: p_fact_nontime_dim_table IN FactDimColTable,
217: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
218: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE,
213: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
214: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
215: p_fact_time_dim_table IN FactDimColTable,
216: p_fact_nontime_dim_table IN FactDimColTable,
217: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
218: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE,
219: p_hier IN VARCHAR
220: )RETURN VARCHAR2;
221:
214: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
215: p_fact_time_dim_table IN FactDimColTable,
216: p_fact_nontime_dim_table IN FactDimColTable,
217: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
218: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE,
219: p_hier IN VARCHAR
220: )RETURN VARCHAR2;
221:
222:
220: )RETURN VARCHAR2;
221:
222:
223: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
224: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
225: );
226:
227: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
228: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
224: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
225: );
226:
227: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
228: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
229: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
230: );
231:
232: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
225: );
226:
227: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
228: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
229: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
230: );
231:
232: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
233: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
229: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
230: );
231:
232: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
233: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
234: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
235: );
236:
237: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
230: );
231:
232: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
233: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
234: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
235: );
236:
237: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
238: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
234: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
235: );
236:
237: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
238: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
239: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
240: p_fact_time_dim_table IN FactDimColTable,
241: p_fact_nontime_dim_table IN FactDimColTable,
242: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
235: );
236:
237: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
238: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
239: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
240: p_fact_time_dim_table IN FactDimColTable,
241: p_fact_nontime_dim_table IN FactDimColTable,
242: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
243: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
238: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
239: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
240: p_fact_time_dim_table IN FactDimColTable,
241: p_fact_nontime_dim_table IN FactDimColTable,
242: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
243: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
244: );
245:
246:
239: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
240: p_fact_time_dim_table IN FactDimColTable,
241: p_fact_nontime_dim_table IN FactDimColTable,
242: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
243: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
244: );
245:
246:
247: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
244: );
245:
246:
247: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
248: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
249: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
250: p_fact_measure_table IN FactMeasureTable
251: );
252:
245:
246:
247: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
248: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
249: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
250: p_fact_measure_table IN FactMeasureTable
251: );
252:
253: FUNCTION GET_FACT_MEASURE_ID(
250: p_fact_measure_table IN FactMeasureTable
251: );
252:
253: FUNCTION GET_FACT_MEASURE_ID(
254: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
255: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
256: )RETURN NUMBER;
257:
258: FUNCTION GET_HIER_ID(
251: );
252:
253: FUNCTION GET_FACT_MEASURE_ID(
254: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
255: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
256: )RETURN NUMBER;
257:
258: FUNCTION GET_HIER_ID(
259: p_hier_prefix IN EDW_HIERARCHIES_MD_V.HIER_PREFIX%TYPE
310: END POPULATE_EDW_CALSUM4_BSC;
311:
312: -- #1.2
313: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
314: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
315: errbuf OUT NOCOPY VARCHAR2,
316: retcode OUT NOCOPY NUMBER
317: ) IS
318: BEGIN
328: END POPULATE_EDW_CALSUM4_BSC;
329:
330: -- #1.3
331: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
332: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
333: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
334: errbuf OUT NOCOPY VARCHAR2,
335: retcode OUT NOCOPY NUMBER
336: ) IS
329:
330: -- #1.3
331: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
332: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
333: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
334: errbuf OUT NOCOPY VARCHAR2,
335: retcode OUT NOCOPY NUMBER
336: ) IS
337: BEGIN
350:
351: -- Second Level Procedures
352: -- #2.1 : Called by Entry #1.1
353: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
354: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
355: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
356: ) IS
357: l_fact_measure_table FactMeasureTable;
358:
351: -- Second Level Procedures
352: -- #2.1 : Called by Entry #1.1
353: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
354: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
355: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
356: ) IS
357: l_fact_measure_table FactMeasureTable;
358:
359: BEGIN
366: END POPULATE_EDW_CALSUM4_BSC;
367:
368: -- #2.2 : Called by Entry #1.2
369: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
370: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
371: ) IS
372: l_fact_measure_table FactMeasureTable;
373: l_fact_id EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE;
374: BEGIN
369: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
370: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
371: ) IS
372: l_fact_measure_table FactMeasureTable;
373: l_fact_id EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE;
374: BEGIN
375: IF(CHECK_FACT_VALIDILITY(p_fact_name) <> VALID) THEN
376: RETURN ;
377: ELSE
382: END POPULATE_EDW_CALSUM4_BSC;
383:
384: -- #2.3 : Called by Entry #1.3
385: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
386: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
387: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
388: ) IS
389: l_fact_id EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE;
390: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
383:
384: -- #2.3 : Called by Entry #1.3
385: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
386: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
387: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
388: ) IS
389: l_fact_id EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE;
390: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
391: l_fact_measure_table FactMeasureTable;
385: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
386: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
387: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
388: ) IS
389: l_fact_id EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE;
390: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
391: l_fact_measure_table FactMeasureTable;
392: BEGIN
393: IF( CHECK_FACT_VALIDILITY(p_fact_name) <> VALID) THEN
386: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
387: p_measure_name IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
388: ) IS
389: l_fact_id EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE;
390: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
391: l_fact_measure_table FactMeasureTable;
392: BEGIN
393: IF( CHECK_FACT_VALIDILITY(p_fact_name) <> VALID) THEN
394: RETURN;
408:
409: -- Third Level Procedures
410: -- #3.1 : called by #2.1, #2.2 & #2.3
411: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
412: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
413: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
414: p_fact_measure_table IN FactMeasureTable
415: ) IS
416: l_fact_measure EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
409: -- Third Level Procedures
410: -- #3.1 : called by #2.1, #2.2 & #2.3
411: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
412: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
413: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
414: p_fact_measure_table IN FactMeasureTable
415: ) IS
416: l_fact_measure EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
417: l_measure_index BINARY_INTEGER;
412: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
413: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
414: p_fact_measure_table IN FactMeasureTable
415: ) IS
416: l_fact_measure EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
417: l_measure_index BINARY_INTEGER;
418: l_fact_time_dim_table FactDimColTable;
419: l_fact_nontime_dim_table FactDimColTable;
420: BEGIN
444:
445: -- The Fourth Level Procedure
446: -- #4.1 : Called by #3.1
447: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
448: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
449: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
450: p_fact_time_dim_table IN FactDimColTable,
451: p_fact_nontime_dim_table IN FactDimColTable,
452: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
445: -- The Fourth Level Procedure
446: -- #4.1 : Called by #3.1
447: PROCEDURE POPULATE_EDW_CALSUM4_BSC(
448: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
449: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
450: p_fact_time_dim_table IN FactDimColTable,
451: p_fact_nontime_dim_table IN FactDimColTable,
452: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
453: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
448: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
449: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
450: p_fact_time_dim_table IN FactDimColTable,
451: p_fact_nontime_dim_table IN FactDimColTable,
452: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
453: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
454: ) IS
455: l_calsum_stmt varchar2(30000) := NULL;
456: l_calsum varchar2(100);
449: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
450: p_fact_time_dim_table IN FactDimColTable,
451: p_fact_nontime_dim_table IN FactDimColTable,
452: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
453: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE
454: ) IS
455: l_calsum_stmt varchar2(30000) := NULL;
456: l_calsum varchar2(100);
457: l_sumid EDW_CALSUM4_BSC.CALSUM_ID%TYPE;
509: LOG(NULL, FAILED, '<-Fact: ' || p_fact_name || ', ' || 'Measure: ' || p_fact_measure);
510: END POPULATE_EDW_CALSUM4_BSC;
511:
512: FUNCTION GET_FACT_MEASURE_ID(
513: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
514: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
515: )RETURN NUMBER IS
516: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
517: BEGIN
510: END POPULATE_EDW_CALSUM4_BSC;
511:
512: FUNCTION GET_FACT_MEASURE_ID(
513: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
514: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
515: )RETURN NUMBER IS
516: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
517: BEGIN
518: OPEN c_factmeasure_id(p_fact_name, p_measure_name);
512: FUNCTION GET_FACT_MEASURE_ID(
513: p_fact_name EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
514: p_measure_name EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE
515: )RETURN NUMBER IS
516: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
517: BEGIN
518: OPEN c_factmeasure_id(p_fact_name, p_measure_name);
519: FETCH c_factmeasure_id INTO l_measure_id;
520: CLOSE c_factmeasure_id;
521: RETURN l_measure_id;
522: END GET_FACT_MEASURE_ID;
523:
524: FUNCTION GET_FACT_MEASURE(
525: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
526: )RETURN FactMeasureTable IS
527: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
528: l_measure EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
529: l_fact_measure_table FactMeasureTable;
523:
524: FUNCTION GET_FACT_MEASURE(
525: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
526: )RETURN FactMeasureTable IS
527: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
528: l_measure EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
529: l_fact_measure_table FactMeasureTable;
530: l_fact_measure_table_count BINARY_INTEGER;
531: BEGIN
524: FUNCTION GET_FACT_MEASURE(
525: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
526: )RETURN FactMeasureTable IS
527: l_measure_id EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE;
528: l_measure EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
529: l_fact_measure_table FactMeasureTable;
530: l_fact_measure_table_count BINARY_INTEGER;
531: BEGIN
532: l_fact_measure_table_count := 0;
546: RETURN l_fact_measure_table;
547: END GET_FACT_MEASURE;
548:
549: FUNCTION GET_FACT_TIME_DIM_COL(
550: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
551: )RETURN FactDimColTable IS
552: l_fact_time_dim EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
553: l_fact_time_dim_table FactDimColTable;
554: l_fact_time_dim_table_count BINARY_INTEGER;
548:
549: FUNCTION GET_FACT_TIME_DIM_COL(
550: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
551: )RETURN FactDimColTable IS
552: l_fact_time_dim EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
553: l_fact_time_dim_table FactDimColTable;
554: l_fact_time_dim_table_count BINARY_INTEGER;
555: BEGIN
556: l_fact_time_dim_table_count := 0;
570: END GET_FACT_TIME_DIM_COL;
571:
572:
573: FUNCTION GET_FACT_NONTIME_DIM_COL(
574: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
575: )RETURN FactDimColTable IS
576: l_fact_nontime_dim EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
577: l_fact_nontime_dim_table FactDimColTable;
578: l_fact_nontime_dim_table_count BINARY_INTEGER;
572:
573: FUNCTION GET_FACT_NONTIME_DIM_COL(
574: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
575: )RETURN FactDimColTable IS
576: l_fact_nontime_dim EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE;
577: l_fact_nontime_dim_table FactDimColTable;
578: l_fact_nontime_dim_table_count BINARY_INTEGER;
579: BEGIN
580: l_fact_nontime_dim_table_count := 0;
609: END GET_USER_INFO;
610: */
611:
612: FUNCTION CHECK_FACT_VALIDILITY(
613: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE
614: ) RETURN VARCHAR2 IS
615: l_object USER_OBJECTS.OBJECT_NAME%TYPE := NULL;
616: BEGIN
617: OPEN c_factvalidity_t(p_fact_name);
647: END LOG;
648:
649:
650: FUNCTION GET_SQL_STMT(
651: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
652: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
653: p_fact_time_dim_table IN FactDimColTable,
654: p_fact_nontime_dim_table IN FactDimColTable,
655: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
648:
649:
650: FUNCTION GET_SQL_STMT(
651: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
652: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
653: p_fact_time_dim_table IN FactDimColTable,
654: p_fact_nontime_dim_table IN FactDimColTable,
655: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
656: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE,
651: p_fact_id IN EDW_FACT_ATTRIBUTES_MD_V.FACT_ID%TYPE,
652: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
653: p_fact_time_dim_table IN FactDimColTable,
654: p_fact_nontime_dim_table IN FactDimColTable,
655: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
656: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE,
657: p_hier IN VARCHAR
658: ) RETURN VARCHAR2 IS
659: l_calsum_stmt_psudo VARCHAR2(1000) := NULL;
652: p_fact_name IN EDW_FACT_ATTRIBUTES_MD_V.FACT_NAME%TYPE,
653: p_fact_time_dim_table IN FactDimColTable,
654: p_fact_nontime_dim_table IN FactDimColTable,
655: p_fact_measure IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_NAME%TYPE,
656: p_fact_measure_id IN EDW_FACT_ATTRIBUTES_MD_V.ATTRIBUTE_ID%TYPE,
657: p_hier IN VARCHAR
658: ) RETURN VARCHAR2 IS
659: l_calsum_stmt_psudo VARCHAR2(1000) := NULL;
660: l_calsum_stmt VARCHAR2(30000) := NULL;