Rev 5513 | Blame | Compare with Previous | Last modification | View Log | RSS feed
/* Bom Compare - Base Configuration */SELECT DISTINCTpv.PV_ID AS PROD_ID,pkg.PKG_NAME,pv.PKG_VERSION,qry.CHANGE_TYPE,pd.IS_REJECTED,( CASEWHEN qry.CHANGE_TYPE = 'A' THEN'LIMG_ADDED'WHEN qry.CHANGE_TYPE = 'U' THEN'LIMG_UPDATED'ELSE'LIMG_REMOVED'END ) AS DIFF_ICONFROM (/* ADDED PATCHES ONLY - BASE CONFIGURATIONS*/SELECT 'A' AS CHANGE_TYPE, newbom.PROD_ID, newbom.PKFROM (SELECT bec.PROD_ID,nn.NODE_NAME ||'_'|| os.OS_NAME AS PKFROM BASE_ENV_CONTENTS bec,OPERATING_SYSTEMS os,OS_BASE_ENV obe,NETWORK_NODES nn,BOM_CONTENTS bc,PACKAGE_VERSIONS pvWHERE obe.OS_ID = os.OS_IDAND obe.BASE_ENV_ID = bec.BASE_ENV_IDAND os.NODE_ID = nn.NODE_IDAND bc.NODE_ID = nn.NODE_IDAND bec.PROD_ID = pv.PV_IDAND NOT pv.IS_PATCH IS NULLAND bc.BOM_ID = :BOM_ID) newbom,(SELECT bec.PROD_ID,nn.NODE_NAME ||'_'|| os.OS_NAME AS PKFROM BASE_ENV_CONTENTS bec,OPERATING_SYSTEMS os,OS_BASE_ENV obe,NETWORK_NODES nn,BOM_CONTENTS bc,PACKAGE_VERSIONS pvWHERE obe.OS_ID = os.OS_IDAND bec.BASE_ENV_ID = obe.BASE_ENV_IDAND os.NODE_ID = nn.NODE_IDAND bc.NODE_ID = nn.NODE_IDAND bec.PROD_ID = pv.PV_IDAND NOT pv.IS_PATCH IS NULLAND bc.BOM_ID = :COMPARE_BOM_ID) oldbomWHERE newbom.PK = oldbom.PK (+)AND newbom.PROD_ID = oldbom.PROD_ID (+)AND oldbom.PK IS NULLUNION-- Added, Updated and Removed Packages - Base ConfigSELECT CASE WHEN PROD_ID is NULL then 'R' WHEN OPROD_ID is NULL THEN 'A' ELSE 'U' END as CHANGE_TYPE,NVL2(prod_id, prod_id, oprod_id) as prod_id ,NVL2(pk, pk, opk) as pkfrom (WITH newbom as(SELECT bec.PROD_ID,CASE WHEN PKG_ID = 11151 THEN nn.NODE_NAME ||'_'|| os.OS_NAME || '_' || 'NOTES_' || bec.PROD_ID ELSE nn.NODE_NAME ||'_'|| os.OS_NAME || '_' || pv.PKG_ID || NVL( pv.V_EXT, '|.NULL|' ) END as PK,pv.PKG_ID,NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT,REPLACE(bec.base_env_comments,CHR(13)||CHR(10), '-') as COMMENTSFROM BASE_ENV_CONTENTS bec,OPERATING_SYSTEMS os,OS_BASE_ENV obe,NETWORK_NODES nn,BOM_CONTENTS bc,PACKAGE_VERSIONS pvWHERE obe.OS_ID = os.OS_IDAND bec.BASE_ENV_ID = obe.BASE_ENV_IDAND os.NODE_ID = nn.NODE_IDAND bc.NODE_ID = nn.NODE_IDAND bec.PROD_ID = pv.PV_IDAND pv.IS_PATCH IS NULLAND bc.BOM_ID = :BOM_ID),oldbom as(SELECT bec.PROD_ID,CASE WHEN PKG_ID = 11151 THEN nn.NODE_NAME ||'_'|| os.OS_NAME || '_' || 'NOTES_' || bec.PROD_ID ELSE nn.NODE_NAME ||'_'|| os.OS_NAME || '_' || pv.PKG_ID || NVL( pv.V_EXT, '|.NULL|' ) END as PK,pv.PKG_ID,NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT,REPLACE(bec.base_env_comments,CHR(13)||CHR(10), '-') as COMMENTSFROM BASE_ENV_CONTENTS bec,OPERATING_SYSTEMS os,OS_BASE_ENV obe,NETWORK_NODES nn,BOM_CONTENTS bc,PACKAGE_VERSIONS pvWHERE obe.OS_ID = os.OS_IDAND bec.BASE_ENV_ID = obe.BASE_ENV_IDAND os.NODE_ID = nn.NODE_IDAND bc.NODE_ID = nn.NODE_IDAND bec.PROD_ID = pv.PV_IDAND pv.IS_PATCH IS NULLAND bc.BOM_ID = :COMPARE_BOM_ID)SELECT newbom.PROD_ID, newbom.PK, newbom.pkg_id, newbom.comments,oldbom.PROD_ID as OPROD_ID, oldbom.PK as OPK, oldbom.pkg_id as OPKG_ID, oldbom.comments as OCOMMENTSfrom newbomfull outer join oldbom on newbom.PK = oldbom.PK) wherePROD_ID is NULLor OPKG_ID is nullor PROD_ID != OPROD_IDor COMMENTS != OCOMMENTSUNION/* REMOVED PATCHES - BASE CONFIGURATIONS */SELECT 'R' AS CHANGE_TYPE, oldbom.PROD_ID, oldbom.PKFROM (SELECT bec.PROD_ID,nn.NODE_NAME ||'_'|| os.OS_NAME AS PKFROM BASE_ENV_CONTENTS bec,OPERATING_SYSTEMS os,OS_BASE_ENV obe,NETWORK_NODES nn,BOM_CONTENTS bc,PACKAGE_VERSIONS pvWHERE obe.OS_ID = os.OS_IDAND bec.BASE_ENV_ID = obe.BASE_ENV_IDAND os.NODE_ID = nn.NODE_IDAND bc.NODE_ID = nn.NODE_IDAND bec.PROD_ID = pv.PV_IDAND NOT pv.IS_PATCH IS NULLAND bc.BOM_ID = :BOM_ID) newbom,(SELECT bec.PROD_ID,nn.NODE_NAME ||'_'|| os.OS_NAME AS PKFROM BASE_ENV_CONTENTS bec,OPERATING_SYSTEMS os,OS_BASE_ENV obe,NETWORK_NODES nn,BOM_CONTENTS bc,PACKAGE_VERSIONS pvWHERE obe.OS_ID = os.OS_IDAND bec.BASE_ENV_ID = obe.BASE_ENV_IDAND os.NODE_ID = nn.NODE_IDAND bc.NODE_ID = nn.NODE_IDAND bec.PROD_ID = pv.PV_IDAND NOT pv.IS_PATCH IS NULLAND bc.BOM_ID = :COMPARE_BOM_ID) oldbomWHERE newbom.PK (+) = oldbom.PKAND newbom.PROD_ID (+) = oldbom.PROD_IDAND newbom.PK IS NULL) qry,PACKAGE_VERSIONS pv,PACKAGES pkg,PRODUCT_DETAILS pdWHERE qry.PROD_ID = pv.PV_IDAND pv.PKG_ID = pkg.PKG_IDAND pd.PROD_ID (+) = qry.PROD_IDORDER BY UPPER(pkg.PKG_NAME)