229: -- Function : Retrieve the target group's source type view name.
230: --
231: -- Parameters : P_SOURCE_ID IN NUMBER Required
232: -- P_TARGET_GROUP_ID IN VARCHAR2 Required
233: -- X_VIEW_NAME IN OUT DBMS_SQL.VARCHAR2S Required
234: --
235: -- Version : Initial version 1.0
236: --
237: -- End of comments
383: ----------------------------------------------------------------
384: -- A table of VARCHAR2(256) that is used to build the subset
385: -- query.
386: ----------------------------------------------------------------
387: l_create_statement DBMS_SQL.VARCHAR2S;
388:
389: ----------------------------------------------------------------
390: -- The identifier for the DBMS_SQL cursor that we are going to
391: -- use.
386: ----------------------------------------------------------------
387: l_create_statement DBMS_SQL.VARCHAR2S;
388:
389: ----------------------------------------------------------------
390: -- The identifier for the DBMS_SQL cursor that we are going to
391: -- use.
392: ----------------------------------------------------------------
393: l_work_cursor NUMBER;
394:
454: LOOP
455: TRACELOG(l_create_statement(T));
456: END LOOP;
457:
458: l_work_cursor := DBMS_SQL.OPEN_CURSOR;
459:
460: DBMS_SQL.PARSE( c => l_work_cursor
461: , statement => l_create_statement
462: , lb => 1
456: END LOOP;
457:
458: l_work_cursor := DBMS_SQL.OPEN_CURSOR;
459:
460: DBMS_SQL.PARSE( c => l_work_cursor
461: , statement => l_create_statement
462: , lb => 1
463: , ub => l_create_statement.COUNT
464: , lfflg => FALSE
461: , statement => l_create_statement
462: , lb => 1
463: , ub => l_create_statement.COUNT
464: , lfflg => FALSE
465: , language_flag => DBMS_SQL.NATIVE);
466:
467:
468: l_dummy := DBMS_SQL.EXECUTE(l_work_cursor);
469:
464: , lfflg => FALSE
465: , language_flag => DBMS_SQL.NATIVE);
466:
467:
468: l_dummy := DBMS_SQL.EXECUTE(l_work_cursor);
469:
470: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
471:
472: ----------------------------------------------------------------
466:
467:
468: l_dummy := DBMS_SQL.EXECUTE(l_work_cursor);
469:
470: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
471:
472: ----------------------------------------------------------------
473: -- If this is a default subset, then we don't create a view.
474: ----------------------------------------------------------------
480: EXCEPTION
481: -- Fixme add logic to handle if entry does not exist.
482: -- This should no happen.
483: WHEN FND_API.G_EXC_ERROR THEN
484: IF DBMS_SQL.IS_OPEN(l_work_cursor) THEN
485: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
486: END IF;
487: X_RETURN_CODE := 'E';
488: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
481: -- Fixme add logic to handle if entry does not exist.
482: -- This should no happen.
483: WHEN FND_API.G_EXC_ERROR THEN
484: IF DBMS_SQL.IS_OPEN(l_work_cursor) THEN
485: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
486: END IF;
487: X_RETURN_CODE := 'E';
488: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
489: IF DBMS_SQL.IS_OPEN(l_work_cursor) THEN
485: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
486: END IF;
487: X_RETURN_CODE := 'E';
488: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
489: IF DBMS_SQL.IS_OPEN(l_work_cursor) THEN
490: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
491: END IF;
492: X_RETURN_CODE := 'U';
493: WHEN OTHERS THEN
486: END IF;
487: X_RETURN_CODE := 'E';
488: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
489: IF DBMS_SQL.IS_OPEN(l_work_cursor) THEN
490: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
491: END IF;
492: X_RETURN_CODE := 'U';
493: WHEN OTHERS THEN
494: TRACELOG('SQLERRM: ' || SQLERRM);
491: END IF;
492: X_RETURN_CODE := 'U';
493: WHEN OTHERS THEN
494: TRACELOG('SQLERRM: ' || SQLERRM);
495: IF DBMS_SQL.IS_OPEN(l_work_cursor)
496: THEN
497: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
498: END IF;
499: X_RETURN_CODE := 'U';
493: WHEN OTHERS THEN
494: TRACELOG('SQLERRM: ' || SQLERRM);
495: IF DBMS_SQL.IS_OPEN(l_work_cursor)
496: THEN
497: DBMS_SQL.CLOSE_CURSOR(l_work_cursor);
498: END IF;
499: X_RETURN_CODE := 'U';
500:
501: END CREATE_SUBSET_VIEW;