590: p_columnList in out NOCOPY VARCHAR2,
591: p_selectList in out NOCOPY VARCHAR2) return BOOLEAN is
592:
593: l_seedCursor NUMBER;
594: l_seedViewDesc DBMS_SQL.DESC_TAB;
595: l_stageCursor NUMBER;
596: l_stageTableDesc DBMS_SQL.DESC_TAB;
597: l_rowCount NUMBER;
598: l_colCount PLS_INTEGER;
592:
593: l_seedCursor NUMBER;
594: l_seedViewDesc DBMS_SQL.DESC_TAB;
595: l_stageCursor NUMBER;
596: l_stageTableDesc DBMS_SQL.DESC_TAB;
597: l_rowCount NUMBER;
598: l_colCount PLS_INTEGER;
599: l_colExists BOOLEAN;
600: l_colName VARCHAR2(30);
622: WF_LOG_PKG.String(WF_LOG_PKG.LEVEL_STATEMENT, l_modulePkg,
623: 'Obtaining the description of the stage table');
624: --First we will get a description of the staging table in its current form
625: --Open the Stage Cursor
626: l_stageCursor := DBMS_SQL.open_cursor;
627:
628: --Select one row to get the description.
629: -- p_stage_table came from table wf_directory_partitions
630: -- also l_sql is not to be run, but to get the columns
629: -- p_stage_table came from table wf_directory_partitions
630: -- also l_sql is not to be run, but to get the columns
631: -- BINDVAR_SCAN_IGNORE
632: l_sql := 'select * from '||p_stage_table||' where rownum < 2';
633: DBMS_SQL.parse(c=>l_stageCursor, statement=>l_sql,
634: language_flag=>DBMS_SQL.native);
635:
636: --Obtain the column list
637: DBMS_SQL.describe_columns(l_stageCursor, l_colCount, l_stageTableDesc);
630: -- also l_sql is not to be run, but to get the columns
631: -- BINDVAR_SCAN_IGNORE
632: l_sql := 'select * from '||p_stage_table||' where rownum < 2';
633: DBMS_SQL.parse(c=>l_stageCursor, statement=>l_sql,
634: language_flag=>DBMS_SQL.native);
635:
636: --Obtain the column list
637: DBMS_SQL.describe_columns(l_stageCursor, l_colCount, l_stageTableDesc);
638:
633: DBMS_SQL.parse(c=>l_stageCursor, statement=>l_sql,
634: language_flag=>DBMS_SQL.native);
635:
636: --Obtain the column list
637: DBMS_SQL.describe_columns(l_stageCursor, l_colCount, l_stageTableDesc);
638:
639: --Close the Stage Cursor
640: DBMS_SQL.close_cursor(l_stageCursor);
641:
636: --Obtain the column list
637: DBMS_SQL.describe_columns(l_stageCursor, l_colCount, l_stageTableDesc);
638:
639: --Close the Stage Cursor
640: DBMS_SQL.close_cursor(l_stageCursor);
641:
642: WF_LOG_PKG.String(WF_LOG_PKG.LEVEL_STATEMENT, l_modulePkg,
643: 'Obtaining the description of the seeding view');
644: --Now we will get a description of the seeding view in its current form
642: WF_LOG_PKG.String(WF_LOG_PKG.LEVEL_STATEMENT, l_modulePkg,
643: 'Obtaining the description of the seeding view');
644: --Now we will get a description of the seeding view in its current form
645: --Open the Seed Cursor
646: l_seedCursor := DBMS_SQL.open_cursor;
647:
648: --Select one row to get the description.
649: -- p_seed_view came from table wf_directory_partitions
650: -- also l_sql is not to be run, but to get the columns
649: -- p_seed_view came from table wf_directory_partitions
650: -- also l_sql is not to be run, but to get the columns
651: -- BINDVAR_SCAN_IGNORE
652: l_sql := 'select * from '||p_seed_view||' where rownum < 2';
653: DBMS_SQL.parse(c=>l_seedCursor, statement=>l_sql,
654: language_flag=>DBMS_SQL.native);
655:
656: --Obtain the column list
657: DBMS_SQL.describe_columns(l_seedCursor, l_colCount, l_seedViewDesc);
650: -- also l_sql is not to be run, but to get the columns
651: -- BINDVAR_SCAN_IGNORE
652: l_sql := 'select * from '||p_seed_view||' where rownum < 2';
653: DBMS_SQL.parse(c=>l_seedCursor, statement=>l_sql,
654: language_flag=>DBMS_SQL.native);
655:
656: --Obtain the column list
657: DBMS_SQL.describe_columns(l_seedCursor, l_colCount, l_seedViewDesc);
658:
653: DBMS_SQL.parse(c=>l_seedCursor, statement=>l_sql,
654: language_flag=>DBMS_SQL.native);
655:
656: --Obtain the column list
657: DBMS_SQL.describe_columns(l_seedCursor, l_colCount, l_seedViewDesc);
658:
659: --Close the Stage Cursor
660: DBMS_SQL.close_cursor(l_seedCursor);
661:
656: --Obtain the column list
657: DBMS_SQL.describe_columns(l_seedCursor, l_colCount, l_seedViewDesc);
658:
659: --Close the Stage Cursor
660: DBMS_SQL.close_cursor(l_seedCursor);
661:
662: --Retrieve the partition id.
663: select PARTITION_ID, ORIG_SYSTEM
664: into l_partitionID, l_partitionName
2449: p_selectList=>l_selectList)) then
2450:
2451: -- g_parallel must be number
2452: -- wf_schema came from wf_resources
2453: -- l_columnList came from DBMS_SQL.describe_columns()
2454: -- l_selectList controlled by us
2455: -- l_userRoleView came from wf_directory_partitions
2456: -- l_partitionName came from wf_directory_partitions
2457: -- BINDVAR_SCAN_IGNORE[5]