441: IF p_object_type IS NULL THEN
442: RETURN NULL;
443: ELSE
444: -- TO-DO: Execute query, return column value.
445: l_cursorId := DBMS_SQL.OPEN_CURSOR;
446: l_column_name := 'ADDITIONAL_VALUE' || p_index;
447: l_query := 'SELECT ' || l_column_name || ' ' ||
448: 'FROM IMC_OBJECT_METADATA ' ||
449: 'WHERE OBJECT_TYPE = ''' || p_object_type || ''' ' ||
447: l_query := 'SELECT ' || l_column_name || ' ' ||
448: 'FROM IMC_OBJECT_METADATA ' ||
449: 'WHERE OBJECT_TYPE = ''' || p_object_type || ''' ' ||
450: 'AND ROWNUM = 1';
451: DBMS_SQL.PARSE(l_cursorId, l_query, DBMS_SQL.V7);
452: DBMS_SQL.DEFINE_COLUMN(l_cursorId, 1, l_return_val, 150);
453:
454: l_dummy := DBMS_SQL.EXECUTE(l_cursorId);
455:
448: 'FROM IMC_OBJECT_METADATA ' ||
449: 'WHERE OBJECT_TYPE = ''' || p_object_type || ''' ' ||
450: 'AND ROWNUM = 1';
451: DBMS_SQL.PARSE(l_cursorId, l_query, DBMS_SQL.V7);
452: DBMS_SQL.DEFINE_COLUMN(l_cursorId, 1, l_return_val, 150);
453:
454: l_dummy := DBMS_SQL.EXECUTE(l_cursorId);
455:
456: LOOP
450: 'AND ROWNUM = 1';
451: DBMS_SQL.PARSE(l_cursorId, l_query, DBMS_SQL.V7);
452: DBMS_SQL.DEFINE_COLUMN(l_cursorId, 1, l_return_val, 150);
453:
454: l_dummy := DBMS_SQL.EXECUTE(l_cursorId);
455:
456: LOOP
457: IF DBMS_SQL.FETCH_ROWS(l_cursorId) = 0 THEN
458: RAISE NO_DATA_FOUND;
453:
454: l_dummy := DBMS_SQL.EXECUTE(l_cursorId);
455:
456: LOOP
457: IF DBMS_SQL.FETCH_ROWS(l_cursorId) = 0 THEN
458: RAISE NO_DATA_FOUND;
459: ELSE
460: DBMS_SQL.COLUMN_VALUE(l_cursorId, 1, l_return_val);
461: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
456: LOOP
457: IF DBMS_SQL.FETCH_ROWS(l_cursorId) = 0 THEN
458: RAISE NO_DATA_FOUND;
459: ELSE
460: DBMS_SQL.COLUMN_VALUE(l_cursorId, 1, l_return_val);
461: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
462: RETURN l_return_val;
463: END IF;
464: END LOOP;
457: IF DBMS_SQL.FETCH_ROWS(l_cursorId) = 0 THEN
458: RAISE NO_DATA_FOUND;
459: ELSE
460: DBMS_SQL.COLUMN_VALUE(l_cursorId, 1, l_return_val);
461: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
462: RETURN l_return_val;
463: END IF;
464: END LOOP;
465:
468: RETURN l_return_val;
469:
470: EXCEPTION
471: WHEN NO_DATA_FOUND THEN
472: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
473: RETURN NULL;
474: WHEN OTHERS THEN
475: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
476: RETURN NULL;
471: WHEN NO_DATA_FOUND THEN
472: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
473: RETURN NULL;
474: WHEN OTHERS THEN
475: DBMS_SQL.CLOSE_CURSOR(l_cursorId);
476: RETURN NULL;
477:
478: END Get_Additional_Value;
479: