REM drv: Rem Rem $Header: ts_pkgbody.sql 13-mar-2006.21:58:39 vsagar Exp $ Rem Rem ts_pkgbody.sql Rem Rem Copyright (c) 2005, 2006, Oracle. All rights reserved. Rem Rem NAME Rem ts_pkgbody.sql - Rem Rem DESCRIPTION Rem Rem Rem NOTES Rem Rem Rem MODIFIED (MM/DD/YY) Rem vsagar 03/11/06 - vsagar_dev060307 Rem vsagar 01/03/06 - Rem tasingh 12/16/05 - Use target specific property value for version Rem comparison instead of generic 'Version' string. Rem tasingh 12/08/05 - Created Rem SET ECHO ON SET FEEDBACK 1 SET NUMWIDTH 10 SET LINESIZE 80 SET TRIMSPOOL ON SET TAB OFF SET PAGESIZE 100 CREATE OR REPLACE PACKAGE BODY MGMT_ASPROV_TS_PKG IS -- -- Get an array of targets matching the search criteria. -- FUNCTION get_targets( p_target_type in VARCHAR2, p_target_name in VARCHAR2, p_on_host in VARCHAR2, p_version in VARCHAR2, p_platform_id in VARCHAR2, p_vendor in VARCHAR2, p_base_version in VARCHAR2 ) RETURN OUTPUT_REF_CURSOR IS l_target_list ASPROV_TS_REC_ARRAY := ASPROV_TS_REC_ARRAY( ); l_result_cur OUTPUT_REF_CURSOR; BEGIN FOR ts_rec IN ( SELECT tgt.target_guid, tgt.target_type, tgt.type_display_name, tgt.target_name, tgt.display_name, tgt.host_name, tgt.emd_url, tgt.timezone_region, NVL( avail.current_status, MGMT_GLOBAL.G_STATUS_UNKNOWN) cur_status, tgt_prop.property_value tgt_version, aru_plat.platform_name tgt_platform, aru_plat.platform_id tgt_platform_id, agent_tgt_prop.property_value agent_version FROM MGMT_TARGETS tgt, MGMT_TARGET_PROPERTIES tgt_prop, MGMT_CURRENT_AVAILABILITY avail, MGMT_TARGETS host_tgt, MGMT_ECM_SNAPSHOT snap, MGMT_HC_OS_SUMMARY os_summ, MGMT_ARU_PLATFORMS aru_plat, MGMT_TARGET_PROPERTIES host_tgt_prop, MGMT_TARGETS agent_tgt, MGMT_TARGET_PROPERTIES agent_tgt_prop WHERE tgt.target_type = p_target_type AND upper( tgt.target_name) LIKE upper( p_target_name) AND upper( NVL( tgt.host_name, '%')) LIKE upper( p_on_host) AND tgt.target_guid = avail.target_guid (+) AND tgt.target_guid = tgt_prop.target_guid AND tgt_prop.property_name = decode( p_target_type, 'cluster', 'CRSVersion', 'oracle_database', 'DBVersion', 'osm_instance', 'DBVersion', 'Version') AND tgt_prop.property_value LIKE p_version AND (tgt.host_name=host_tgt.target_name) AND host_tgt.target_type = 'host' AND host_tgt.target_name = snap.target_name AND snap.snapshot_type = 'host_configuration' AND snap.target_type = 'host' AND snap.is_current = 'Y' AND snap.snapshot_guid = os_summ.snapshot_guid AND host_tgt_prop.target_guid = host_tgt.target_guid AND host_tgt_prop.property_name = 'OS' AND aru_plat.em_os_name = host_tgt_prop.property_value AND os_summ.address_length_in_bits LIKE aru_plat.em_os_bitlength || '%' AND aru_plat.platform_id LIKE p_platform_id AND agent_tgt.target_type = 'oracle_emd' AND agent_tgt.host_name = tgt.host_name AND agent_tgt.target_guid = agent_tgt_prop.target_guid AND agent_tgt_prop.property_name = 'Version' AND os_summ.vendor_name LIKE p_vendor AND os_summ.base_version LIKE p_base_version ) LOOP l_target_list.extend; l_target_list(l_target_list.last) := ASPROV_TS_REC_TYPE( ts_rec.target_guid, ts_rec.target_type, ts_rec.type_display_name, ts_rec.target_name, ts_rec.display_name, ts_rec.host_name, ts_rec.emd_url, ts_rec.timezone_region, ts_rec.cur_status, ts_rec.tgt_version, ts_rec.tgt_platform, ts_rec.tgt_platform_id, ts_rec.agent_version ); END LOOP; OPEN l_result_cur FOR SELECT * FROM TABLE( CAST( l_target_list AS ASPROV_TS_REC_ARRAY)); RETURN l_result_cur; END get_targets; END MGMT_ASPROV_TS_PKG; / show errors