%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| REPORT |
'| Escrow |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0 ' always load the page, dont store
'To enable the script timeout to 10 mins
Server.ScriptTimeout=600
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ Variable Definition -------------
Dim rsQry
Dim rsTemp
Dim parPv_id, parExt
Dim objReleaseContent
Dim aReleaseContent
Dim objPackageDetails
Dim BldStd
Dim outobjDetails
Dim pvIdList
Dim dpv_id
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
parBom_id = Request("bom_id")
parExt = Request("ext")
Set objReleaseContent = CreateObject("Scripting.Dictionary")
Set objPackageDetails = CreateObject("Scripting.Dictionary")
Set outobjDetails = CreateObject("Scripting.Dictionary")
'----------------------------------------------
%>
<%
'----------------------------------------------------------------------------------------------------------------------------------------
Sub GetPackageInformation ( nPv_id, ByRef oPackageDetails )
Dim rsQry, query
query = _
" SELECT pkg.pkg_name, pv.* "&_
" FROM PACKAGES pkg,"&_
" PACKAGE_VERSIONS pv"&_
" WHERE pv.pv_id = "& nPv_id &_
" AND pv.pkg_id = pkg.pkg_id "
Set rsQry = OraDatabase.DbCreateDynaset( query, 0)
oPackageDetails.RemoveAll
If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
oPackageDetails("pkg_name") = rsQry("pkg_name")
oPackageDetails("pkg_version") = rsQry("pkg_version")
oPackageDetails("v_ext") = rsQry("v_ext")
oPackageDetails("pv_description") = rsQry("pv_description")
oPackageDetails("pv_overview") = rsQry("pv_overview")
oPackageDetails("src_path") = rsQry("src_path")
oPackageDetails("pkg_label") = rsQry("pkg_label")
oPackageDetails("is_build_env_required") = rsQry("is_build_env_required")
End If
rsQry.Close()
Set rsQry = Nothing
End Sub
'----------------------------------------------------------------------------------------------------------------------------------------
Function SQL_Build_Std ( nPv_id )
SQL_Build_Std = _
" SELECT bs.bs_name"&_
" FROM RELEASE_MANAGER.PACKAGE_VERSIONS pv,"&_
" RELEASE_MANAGER.BUILD_STANDARDS bs"&_
" WHERE pv.PV_ID = "& nPv_id &_
" AND pv.BS_ID = bs.BS_ID "
End Function
'----------------------------------------------------------------------------------------------------------------------------------------
Function SQL_Build_Env ( nPv_id )
SQL_Build_Env = _
" SELECT bm.bm_name"&_
" FROM RELEASE_MANAGER.PACKAGE_BUILD_INFO pbi,"&_
" RELEASE_MANAGER.BUILD_MACHINES bm"&_
" WHERE pbi.PV_ID = "& nPv_id &_
" AND pbi.BM_ID = bm.BM_ID "&_
" ORDER BY UPPER(bm.BM_NAME) "
End Function
'----------------------------------------------------------------------------------------------------------------------------------------
Function SQL_Modules (nPv_idList)
SQL_Modules = _
"SELECT DISTINCT"&_
" qry.DPV_ID "&_
" FROM ("&_
" SELECT dep.*,"&_
" LEVEL AS LEVEL_NUM"&_
" FROM PACKAGE_DEPENDENCIES dep"&_
" START WITH dep.PV_ID IN ( "& nPv_idList &" ) "&_
" CONNECT BY PRIOR dep.DPV_ID = dep.PV_ID"&_
" ) qry,"&_
" PACKAGES pkg,"&_
" PACKAGE_VERSIONS pv"&_
" WHERE qry.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID"
End Function
'----------------------------------------------------------------------------------------------------------------------------------------
Function SQL_Build_Dependencies ( nPv_id )
SQL_Build_Dependencies = _
" SELECT dpkg.pkg_name, dpv.pkg_version"&_
" FROM PACKAGE_DEPENDENCIES dep,"&_
" PACKAGES dpkg,"&_
" PACKAGE_VERSIONS dpv"&_
" WHERE dep.pv_id = "& nPv_id &_
" AND dep.DPV_ID = dpv.pv_id"&_
" AND dpv.pkg_id = dpkg.pkg_id "&_
" ORDER BY UPPER(dpkg.pkg_name) "
End Function
'----------------------------------------------------------------------------------------------------------------------------------------
Sub GetReleaseContent ( nBom_id, ByRef oReleaseContent )
Dim rsQry, query
query = _
" SELECT qry.prod_id"&_
" FROM ("&_
" SELECT DISTINCT"&_
" osc.PROD_ID,"&_
" pkg.pkg_name,"&_
" pv.pkg_version,"&_
" 1 as seq_num"&_
" FROM bom_contents bc,"&_
" operating_systems os, "&_
" os_contents osc,"&_
" PACKAGES pkg,"&_
" PACKAGE_VERSIONS pv,"&_
" PRODUCT_DETAILS pd"&_
" WHERE osc.os_id = os.os_id "&_
" AND os.node_id = bc.node_id"&_
" AND bc.bom_id = "& nBom_id &_
" AND pd.PROD_ID (+) = osc.PROD_ID"&_
" AND pv.pkg_id = pkg.pkg_id"&_
" AND osc.prod_id = pv.pv_id "&_
" AND (pd.is_rejected IS NULL or pd.IS_REJECTED != 'Y') "&_
" UNION "&_
" SELECT DISTINCT bec.prod_id, pkg.pkg_name, pkg_version, 2 as seq_num"&_
" FROM boms bm,"&_
" bom_contents bc,"&_
" network_nodes nn,"&_
" operating_systems os,"&_
" os_base_env obe,"&_
" base_env_contents bec,"&_
" PACKAGES pkg,"&_
" package_versions pv,"&_
" base_env be,"&_
" bos_types bt,"&_
" PRODUCT_DETAILS pd"&_
" WHERE bm.bom_id = "& nBom_id &_
" AND bm.bom_id = bc.bom_id"&_
" AND nn.node_id = bc.node_id"&_
" AND os.node_id = nn.node_id"&_
" AND obe.os_id = os.os_id"&_
" AND pd.PROD_ID (+) = bec.PROD_ID"&_
" AND (pd.is_rejected IS NULL or pd.IS_REJECTED != 'Y') "&_
" AND bec.base_env_id = obe.base_env_id"&_
" AND bec.prod_id = pv.pv_id"&_
" AND pkg.pkg_id = pv.pkg_id"&_
" AND be.base_env_id = obe.base_env_id"&_
" AND bt.bos_id = be.bos_id"&_
" ) qry "&_
" ORDER BY qry.seq_num, UPPER(qry.pkg_name), UPPER(qry.pkg_version)"
Set rsQry = OraDatabase.DbCreateDynaset( query, 0)
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
oReleaseContent( CStr( rsQry("prod_id")) ) = ""
rsQry.MoveNext()
WEnd
rsQry.Close()
Set rsQry = Nothing
End Sub
'----------------------------------------------------------------------------------------------------------------------------------------
%>
<%
'---------------------- Run Before Page ---------------------------
Call GetReleaseContent ( parBom_id, objReleaseContent )
Call GetBomDetails (parBom_id, outobjDetails)
outobjDetails.Item("bom_full_version") = outobjDetails.Item("bom_name")&" "& outobjDetails.Item("bom_version") &"."& outobjDetails.Item("bom_lifecycle")
'------------------------------------------------------------------
%>
Deployment Manager - Escrow Report
<%=outobjDetails.Item("bom_full_version")%>
<%
Set outobjDetails = Nothing
aReleaseContent = objReleaseContent.Keys
For Each parPv_id In aReleaseContent
pvIdList = pvIdList + parPv_id + ","
Call GetPackageInformation ( parPv_id, objPackageDetails )
Response.Flush
%>
">
<%=objPackageDetails.Item("pkg_name")%> |
| Version: |
<%=objPackageDetails.Item("pkg_version")%> |
| Source Path: |
<%=objPackageDetails.Item("src_path")%> |
| Source Label: |
<%=objPackageDetails.Item("pkg_label")%> |
| Short Description: |
<%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_description") ) )%> |
| Package Overview: |
<%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_overview") ) )%> |
| General Sublicense Material: |
<%If objPackageDetails.Item("v_ext") = parExt Then%>Yes<%Else%>No<%End If%> |
| Build Environment: |
<%If objPackageDetails.Item("is_build_env_required") = enumDB_NO Then%>Not Required.<%End If%>
<%
'--- Get Build Env Details
Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Std ( parPv_id ), cint(0))
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
BldStd = rsQry("bs_name")
rsQry.Close
Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Env ( parPv_id ), cint(0))
%>
<%
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
%>
- <%=BldStd%>, <%=rsQry("bm_name")%>
<%rsQry.MoveNext
WEnd
%>
<%End If%>
|
| Build Dependencies: |
<%
'--- Get Build Dependencies Details
Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Dependencies ( parPv_id ), cint(0))
%>
| Software Component |
Version |
<%If rsQry.RecordCount < 1 Then%>
| No Dependencies |
|
<%End If%>
<%
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
%>
| "><%=rsQry("pkg_name")%> |
<%=rsQry("pkg_version")%> |
<%rsQry.MoveNext
WEnd
%>
|
<%
'Exit For
Next
pvIdList = Mid(pvIdList, 1, Len(pvIdList) - 1)
Set rsTemp = OraDatabase.DbCreateDynaset( SQL_Modules ( pvIdList ), cint(0))
%>
Modules
<%
While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
dpv_id = rsTemp("dpv_id")
Call GetPackageInformation ( dpv_id, objPackageDetails )
Response.Flush
%>
">
<%=objPackageDetails.Item("pkg_name")%> |
| Version: |
<%=objPackageDetails.Item("pkg_version")%> |
| Source Path: |
<%=objPackageDetails.Item("src_path")%> |
| Source Label: |
<%=objPackageDetails.Item("pkg_label")%> |
| Short Description: |
<%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_description") ) )%> |
| Package Overview: |
<%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_overview") ) )%> |
| General Sublicense Material: |
<%If objPackageDetails.Item("v_ext") = parExt Then%>Yes<%Else%>No<%End If%> |
| Build Environment: |
<%If objPackageDetails.Item("is_build_env_required") = enumDB_NO Then%>Not Required.<%End If%>
<%
'--- Get Build Env Details
Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Env ( dpv_id ), cint(0))
%>
<%
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
%>
- <%=rsQry("be_name")%>
<%rsQry.MoveNext
WEnd
%>
|
| Build Dependencies: |
<%
'--- Get Build Dependencies Details
Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Dependencies ( dpv_id ), cint(0))
%>
| Software Component |
Version |
<%If rsQry.RecordCount < 1 Then%>
| No Dependencies |
|
<%End If%>
<%
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
%>
| "><%=rsQry("pkg_name")%> |
<%=rsQry("pkg_version")%> |
<%rsQry.MoveNext
WEnd
%>
|
<%
rsTemp.MoveNext
WEnd
rsTemp.Close()
Set rsTemp = Nothing
%>