Object_Conversion

Purpose

This script is used for converting the modified MDL objects when there is a re-creation [objects with Create or Replace command during creation] happens during patch-set

Syntax

SET VERIFY ON
SET HEAD ON
SET FEEDBACK 1
SET ARRAY 1
SET LINESIZE 10000
SET PAGESIZE 50000
SET LONG 10000
SET ECHO ON
SET TRIMSPOOL ON
SET COLSEP ';'
SET SERVEROUT OFF
clear screen
SPOOL ON
SET SQLBLANKLINES ON
SET SERVEROUTPUT ON
SET ERRORLOGGING ON
SET ECHO ON
prompt Welcome to Upgrade object conversion
SPOOL "&SPOOL_PATH"
BEGIN
	FOR I IN (SELECT 'BEGIN ' || chr(10) ||
					   'DBMS_PDB.SET_METADATA_LINKED(''&P_APPROOT_USER''' || ',''' ||
					   Object_Name || ''',' || Namespace || '); ' || chr(10) ||
					   'EXCEPTION ' || chr(10) || 'WHEN OTHERS then ' || chr(10) ||
					   'DBMS_OUTPUT.PUT_LINE(''ERROR ->''|| SQLERRM); ' ||
					   chr(10) || 'END;' sqlobject
				  FROM user_objects
				 WHERE sharing = 'NONE'
                   AND object_type NOT IN ('INDEX', 'LOB', 'TABLE PARTITION','SEQUENCE','JOB','MATERIALIZED VIEW','MATERIALIZED VIEW LOG')
				   AND application = 'Y'
                   AND (object_name,object_type) NOT IN (SELECT object_name,object_type
                                                         FROM   cstm_approot_objects 
                                                         WHERE  function_id  = 'DYNAMIC'    
                                                         AND    sharing      = 'NONE'															 
                                                        )				   
		     ) LOOP
		dbms_output.put_line(chr(10));
		EXECUTE IMMEDIATE I.sqlobject;
		dbms_output.put_line(I.sqlobject);
	END LOOP;
EXCEPTION 
WHEN OTHERS THEN
  dbms_output.put_line('Error --->'||SQLERRM);
END;
/
SET ERRORLOGGING OFF
SPOOL OFF