<%@LANGUAGE="VBSCRIPT"%> <% '===================================================== ' unused_packages.asp ' Display unused packages in the current release ' Does not include packages marked as deployable ? '===================================================== %> <% Option explicit ' Good idea to set when using redirect Response.Expires = 0 ' always load the page, dont store Const allowNoPackage = TRUE ' Allow page display without pvid being present Server.ScriptTimeout=300 ' To enable the script timeout to 5 mins %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ Variable Definition ------------- Dim rsQry Dim enableRemoval : enableRemoval = FALSE Dim enabledText : enabledText = "disabled " Dim parMode : parMode = QStrParDefault("mode", 0) Dim modeCb1 : modeCb1 = iif ( parMode AND 1, " checked", "" ) Dim modeCb2 : modeCb2 = iif ( parMode AND 2, " checked", "" ) Dim modeCb3 : modeCb3 = iif ( parMode AND 4, " checked", "" ) '------------ Constants Declaration ----------- '------------ Variable Init ------------------- '---------------------------------------------- '------------------------- MAIN LINE --------------------------- If Request("action") = "RemovePackages" AND Request("list_pv_id") <> "" Then Dim pvidArray, nPvId pvidArray = Split(Request("list_pv_id"), ",") For Each nPvId in pvidArray nPvId = Trim(nPvId) Dim objRC: Set objRC = New ReleaseChanged Call objRC.Get_Package_Info (parRtag_id,nPvId) Dim bReleased: bReleased = objRC.IsReleased(parRtag_id,nPvId) OraDatabase.Parameters.Add "PV_ID", nPvId, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId,ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "RETURN_CODE", NULL, ORAPARM_OUTPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "FORCE_REMOVE","N", ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) On Error Resume Next OraDatabase.ExecuteSQL _ "BEGIN "&_ " :RETURN_CODE := PK_ENVIRONMENT.REMOVE_PACKAGE ( :PV_ID, :RTAG_ID, :USER_ID, :FORCE_REMOVE );"&_ "END; " objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "PV_ID" OraDatabase.Parameters.Remove "RTAG_ID" OraDatabase.Parameters.Remove "USER_ID" OraDatabase.Parameters.Remove "RETURN_CODE" OraDatabase.Parameters.Remove "FORCE_REMOVE" If Not objEH.LastOraFailed Then If bReleased Then Call objRC.Run_ReleaseChanged(parRtag_id,nPvId,enumRELEASE_CHANGE_MODE_PKG_REMOVED,false) End If End If Set objRC = Nothing Next End If '--------------------------------------------------------------- %> <%=Title(parRtag_id)%> <%bCsvExport = True%>
<% ' Determine if the current user can remove packages from this release If releaseIsWritable(ReleaseMode) Then enableRemoval = TRUE enabledText = "" End If Dim Query_String Query_String = ReadFile( rootPath & "queries\rep_obsolete_packages.sql" ) OraDatabase.Parameters.Add "RTAG_ID", parRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "SMODE", parMode, ORAPARM_INPUT, ORATYPE_NUMBER %>
<% Dim currView_id currView_id = -1 Dim rsRep Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 ) OraDatabase.Parameters.Remove "RTAG_ID" OraDatabase.Parameters.Remove "SMODE" If rsRep.RecordCount = 0 Then With Response .write "" .write "" .write "" End With End If While ((NOT rsRep.BOF) AND (NOT rsRep.EOF)) ' -------- GROUP BY BASE VIEW ----------------- If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then %> <% currView_id = CDbl(rsRep("view_id")) End If ' -------- END GROUP ------------------------ %> <% rsRep.MoveNext WEnd rsRep.Close Set rsRep = Nothing %>
  Package Name and Version    Released    Added to Release   
Found 0 records
<%=rsRep("view_name")%>
&rtag_id=<%=parRtag_id%>" class="txt_linked"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%> <%=DisplayDate( rsRep("modified_stamp") )%> by <%=emailField(rsRep("modifier"),rsRep("modifier_email"))%>    <%=DisplayDate( rsRep("insert_stamp") )%> by <%=emailField(rsRep("insertor"),rsRep("insertor_email"))%>    value="<%=rsRep("pv_id")%>">
Hide onclick="return updateDisplay();">Products onclick="return updateDisplay();">3rdParty onclick="return updateDisplay();">Deployable
onclick="return vixConfirm('Remove all selected packages from this Release',{post: 'removePackages', progress:'#progressSpinner'})">
These packages are not used within this Release. There is no package that lists any of these packages as a dependent.

The named packages can be removed without breaking the build, although they may be required for test purposes.

Certain classes of package may be hidden:
Packages in the 'PRODUCTS' or 'AUTO PRODUCTS' are often assumed to be used.
Packages in the '3RDPARTY_PRODUCTS' are often artfacts of Deploment Manager.
Packages marked as 'Deployable' may be assumed to be used.
Packages that are imported as part of an SDK are not shown.

Removing one or more packages may result in other packages nolonger being used.