318: l_insert_sql VARCHAR2(500);
319: cursor_select INTEGER;
320: cursor_insert INTEGER;
321: cursor_execute INTEGER;
322: l_change_notice_table DBMS_SQL.VARCHAR2_TABLE;
323: l_org_id_table DBMS_SQL.NUMBER_TABLE;
324: l_change_mgmt_type_code_table DBMS_SQL.VARCHAR2_TABLE;
325: indx NUMBER(10) := 1;
326:
319: cursor_select INTEGER;
320: cursor_insert INTEGER;
321: cursor_execute INTEGER;
322: l_change_notice_table DBMS_SQL.VARCHAR2_TABLE;
323: l_org_id_table DBMS_SQL.NUMBER_TABLE;
324: l_change_mgmt_type_code_table DBMS_SQL.VARCHAR2_TABLE;
325: indx NUMBER(10) := 1;
326:
327: l_program_name VARCHAR2(99) := 'INITIALIZE_ACCESS_CHANGES';
320: cursor_insert INTEGER;
321: cursor_execute INTEGER;
322: l_change_notice_table DBMS_SQL.VARCHAR2_TABLE;
323: l_org_id_table DBMS_SQL.NUMBER_TABLE;
324: l_change_mgmt_type_code_table DBMS_SQL.VARCHAR2_TABLE;
325: indx NUMBER(10) := 1;
326:
327: l_program_name VARCHAR2(99) := 'INITIALIZE_ACCESS_CHANGES';
328:
352: l_select_sql := l_select_sql || ' WHERE ' || l_sec_predicate ;
353: end if;
354: l_insert_sql := 'INSERT INTO ENG_LOGIN_ACCESS_CHANGES(CHANGE_NOTICE,CHANGE_MGMT_TYPE_CODE,ORGANIZATION_ID) VALUES (:l_change_notice_table, :l_change_mgmt_type_code_table,:l_org_id_table) ';
355:
356: cursor_select := DBMS_SQL.OPEN_CURSOR;
357: cursor_insert := DBMS_SQL.OPEN_CURSOR;
358: DBMS_SQL.PARSE(cursor_select,l_select_sql,DBMS_SQL.NATIVE);
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
353: end if;
354: l_insert_sql := 'INSERT INTO ENG_LOGIN_ACCESS_CHANGES(CHANGE_NOTICE,CHANGE_MGMT_TYPE_CODE,ORGANIZATION_ID) VALUES (:l_change_notice_table, :l_change_mgmt_type_code_table,:l_org_id_table) ';
355:
356: cursor_select := DBMS_SQL.OPEN_CURSOR;
357: cursor_insert := DBMS_SQL.OPEN_CURSOR;
358: DBMS_SQL.PARSE(cursor_select,l_select_sql,DBMS_SQL.NATIVE);
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
354: l_insert_sql := 'INSERT INTO ENG_LOGIN_ACCESS_CHANGES(CHANGE_NOTICE,CHANGE_MGMT_TYPE_CODE,ORGANIZATION_ID) VALUES (:l_change_notice_table, :l_change_mgmt_type_code_table,:l_org_id_table) ';
355:
356: cursor_select := DBMS_SQL.OPEN_CURSOR;
357: cursor_insert := DBMS_SQL.OPEN_CURSOR;
358: DBMS_SQL.PARSE(cursor_select,l_select_sql,DBMS_SQL.NATIVE);
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
362: DBMS_SQL.DEFINE_ARRAY(cursor_select, 2,l_change_mgmt_type_code_table,2500, indx);
355:
356: cursor_select := DBMS_SQL.OPEN_CURSOR;
357: cursor_insert := DBMS_SQL.OPEN_CURSOR;
358: DBMS_SQL.PARSE(cursor_select,l_select_sql,DBMS_SQL.NATIVE);
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
362: DBMS_SQL.DEFINE_ARRAY(cursor_select, 2,l_change_mgmt_type_code_table,2500, indx);
363: DBMS_SQL.DEFINE_ARRAY(cursor_select, 3,l_org_id_table,2500, indx);
357: cursor_insert := DBMS_SQL.OPEN_CURSOR;
358: DBMS_SQL.PARSE(cursor_select,l_select_sql,DBMS_SQL.NATIVE);
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
362: DBMS_SQL.DEFINE_ARRAY(cursor_select, 2,l_change_mgmt_type_code_table,2500, indx);
363: DBMS_SQL.DEFINE_ARRAY(cursor_select, 3,l_org_id_table,2500, indx);
364:
365: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
358: DBMS_SQL.PARSE(cursor_select,l_select_sql,DBMS_SQL.NATIVE);
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
362: DBMS_SQL.DEFINE_ARRAY(cursor_select, 2,l_change_mgmt_type_code_table,2500, indx);
363: DBMS_SQL.DEFINE_ARRAY(cursor_select, 3,l_org_id_table,2500, indx);
364:
365: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
366:
359: DBMS_SQL.PARSE(cursor_insert,l_insert_sql,DBMS_SQL.NATIVE);
360:
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
362: DBMS_SQL.DEFINE_ARRAY(cursor_select, 2,l_change_mgmt_type_code_table,2500, indx);
363: DBMS_SQL.DEFINE_ARRAY(cursor_select, 3,l_org_id_table,2500, indx);
364:
365: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
366:
367: LOOP
361: DBMS_SQL.DEFINE_ARRAY(cursor_select, 1,l_change_notice_table,2500, indx);
362: DBMS_SQL.DEFINE_ARRAY(cursor_select, 2,l_change_mgmt_type_code_table,2500, indx);
363: DBMS_SQL.DEFINE_ARRAY(cursor_select, 3,l_org_id_table,2500, indx);
364:
365: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
366:
367: LOOP
368: l_count := DBMS_SQL.FETCH_ROWS(cursor_select);
369: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_change_notice_table);
364:
365: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
366:
367: LOOP
368: l_count := DBMS_SQL.FETCH_ROWS(cursor_select);
369: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_change_notice_table);
370: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_change_mgmt_type_code_table);
371: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_org_id_table);
372:
365: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
366:
367: LOOP
368: l_count := DBMS_SQL.FETCH_ROWS(cursor_select);
369: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_change_notice_table);
370: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_change_mgmt_type_code_table);
371: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_org_id_table);
372:
373:
366:
367: LOOP
368: l_count := DBMS_SQL.FETCH_ROWS(cursor_select);
369: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_change_notice_table);
370: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_change_mgmt_type_code_table);
371: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_org_id_table);
372:
373:
374: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_notice_table',l_change_notice_table);
367: LOOP
368: l_count := DBMS_SQL.FETCH_ROWS(cursor_select);
369: DBMS_SQL.COLUMN_VALUE(cursor_select, 1, l_change_notice_table);
370: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_change_mgmt_type_code_table);
371: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_org_id_table);
372:
373:
374: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_notice_table',l_change_notice_table);
375: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_mgmt_type_code_table',l_change_mgmt_type_code_table);
370: DBMS_SQL.COLUMN_VALUE(cursor_select, 2, l_change_mgmt_type_code_table);
371: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_org_id_table);
372:
373:
374: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_notice_table',l_change_notice_table);
375: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_mgmt_type_code_table',l_change_mgmt_type_code_table);
376: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_org_id_table',l_org_id_table);
377: cursor_execute := DBMS_SQL.EXECUTE(cursor_insert);
378: l_change_notice_table.DELETE;
371: DBMS_SQL.COLUMN_VALUE(cursor_select, 3, l_org_id_table);
372:
373:
374: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_notice_table',l_change_notice_table);
375: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_mgmt_type_code_table',l_change_mgmt_type_code_table);
376: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_org_id_table',l_org_id_table);
377: cursor_execute := DBMS_SQL.EXECUTE(cursor_insert);
378: l_change_notice_table.DELETE;
379: l_org_id_table.DELETE;
372:
373:
374: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_notice_table',l_change_notice_table);
375: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_mgmt_type_code_table',l_change_mgmt_type_code_table);
376: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_org_id_table',l_org_id_table);
377: cursor_execute := DBMS_SQL.EXECUTE(cursor_insert);
378: l_change_notice_table.DELETE;
379: l_org_id_table.DELETE;
380: l_change_mgmt_type_code_table.DELETE;
373:
374: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_notice_table',l_change_notice_table);
375: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_change_mgmt_type_code_table',l_change_mgmt_type_code_table);
376: DBMS_SQL.BIND_ARRAY(cursor_insert,':l_org_id_table',l_org_id_table);
377: cursor_execute := DBMS_SQL.EXECUTE(cursor_insert);
378: l_change_notice_table.DELETE;
379: l_org_id_table.DELETE;
380: l_change_mgmt_type_code_table.DELETE;
381:
385: --For the final batch of records, either it will be 0 or < 2500
386: EXIT WHEN l_count <> 2500;
387: END LOOP;
388:
389: DBMS_SQL.CLOSE_CURSOR(cursor_select);
390: DBMS_SQL.CLOSE_CURSOR(cursor_insert);
391:
392: EXCEPTION
393: WHEN OTHERS THEN
386: EXIT WHEN l_count <> 2500;
387: END LOOP;
388:
389: DBMS_SQL.CLOSE_CURSOR(cursor_select);
390: DBMS_SQL.CLOSE_CURSOR(cursor_insert);
391:
392: EXCEPTION
393: WHEN OTHERS THEN
394: x_retcode := RETCODE_ERROR;
391:
392: EXCEPTION
393: WHEN OTHERS THEN
394: x_retcode := RETCODE_ERROR;
395: IF DBMS_SQL.IS_OPEN(cursor_select) THEN
396: DBMS_SQL.CLOSE_CURSOR(cursor_select);
397: END IF;
398: IF DBMS_SQL.IS_OPEN(cursor_insert) THEN
399: DBMS_SQL.CLOSE_CURSOR(cursor_insert);
392: EXCEPTION
393: WHEN OTHERS THEN
394: x_retcode := RETCODE_ERROR;
395: IF DBMS_SQL.IS_OPEN(cursor_select) THEN
396: DBMS_SQL.CLOSE_CURSOR(cursor_select);
397: END IF;
398: IF DBMS_SQL.IS_OPEN(cursor_insert) THEN
399: DBMS_SQL.CLOSE_CURSOR(cursor_insert);
400: END IF;
394: x_retcode := RETCODE_ERROR;
395: IF DBMS_SQL.IS_OPEN(cursor_select) THEN
396: DBMS_SQL.CLOSE_CURSOR(cursor_select);
397: END IF;
398: IF DBMS_SQL.IS_OPEN(cursor_insert) THEN
399: DBMS_SQL.CLOSE_CURSOR(cursor_insert);
400: END IF;
401: RAISE;
402: END Initialize_Access_Changes;
395: IF DBMS_SQL.IS_OPEN(cursor_select) THEN
396: DBMS_SQL.CLOSE_CURSOR(cursor_select);
397: END IF;
398: IF DBMS_SQL.IS_OPEN(cursor_insert) THEN
399: DBMS_SQL.CLOSE_CURSOR(cursor_insert);
400: END IF;
401: RAISE;
402: END Initialize_Access_Changes;
403: