Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

<%@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
%>
<!--#include file="common/config.asp"-->
<!--#include file="common/common_subs.asp"-->
<!--#include file="common/globals.asp"-->
<!--#include file="common/formating.asp"-->
<!--#include file="common/qstr.asp"-->
<!--#include file="common/common_dbedit.asp"-->
<%
'------------ ACCESS CONTROL ------------------
%>
<!--#include file="_access_control_general.asp"-->
<%
'------------ Variable Definition -------------
Dim rsQry
Dim rsTemp
Dim parPv_id, parExt
Dim objReleaseContent
Dim aReleaseContent
Dim objPackageDetails
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_Env ( nPv_id )
        SQL_Build_Env = _
        " SELECT be.*"&_
        "  FROM RELEASE_MANAGER.BUILD_ENVIRONMENTS be,"&_
        "          RELEASE_MANAGER.PACKAGE_BUILD_ENV pbe"&_
        " WHERE pbe.PV_ID = "& nPv_id &_
        "   AND pbe.BE_ID = be.BE_ID "&_
        " ORDER BY UPPER(be.BE_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")


'------------------------------------------------------------------
%>
<html>
<head>
<title>Deployment Manager - Escrow Report</title>
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div align="center"><b><font col color="#FF0000" size="+3"><%=outobjDetails.Item("bom_full_version")%></font></b></div>
<%
Set outobjDetails = Nothing

aReleaseContent = objReleaseContent.Keys
For Each parPv_id In aReleaseContent
        pvIdList = pvIdList +   parPv_id        +       ","
        Call GetPackageInformation ( parPv_id, objPackageDetails )
%>                                      <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
                                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                          <tr>
                        <td class="body_colb"><h3><%=objPackageDetails.Item("pkg_name")%></h3></td>
                                          </tr>
                                        </table>
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Version:</strong></td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_version")%></td>
                              </tr>
                              <tr>
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Path:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("src_path")%></td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Label:</strong></td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_label")%></td>
                              </tr>
                                          <tr> 
                                <td width="1%" nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Short Description:</strong></td>
                                <td witdh="100%" bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_description") ) )%></td>
                              </tr>
                              <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Package Overview:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_overview") ) )%></td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>General Sublicense Material:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%If objPackageDetails.Item("v_ext") = parExt Then%>Yes<%Else%>No<%End If%></td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Environment:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%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 ( parPv_id ), cint(0))
                                                %>
                                                  <ul>
                                                  <%
                                                  While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                                                  %>
                          <li><%=rsQry("be_name")%></li>
                                                  <%rsQry.MoveNext
                                                  WEnd
                                                  %>
                          </ul>
                                           </td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Dependencies:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt">
                                                <%
                                                '--- Get Build Dependencies Details
                                                
                                                Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Dependencies ( parPv_id ), cint(0))
                                                %>
                        <table width="100%"  cellspacing="0" cellpadding="2" border="1">
                                                  <tr>
                            <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="1%"><strong>Software Component</strong></td>
                                                        <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="100%"><strong>Version</strong></td>
                          </tr>
                                                  <%If rsQry.RecordCount < 1 Then%>
                                                  <tr>
                            <td nowrap class="sublbox_txt">No Dependencies</td>
                                                        <td nowrap class="sublbox_txt"></td>
                          </tr>
                                                  <%End If%>
                                                  <%
                                                  While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                                                  %>
                          <tr>
                            <td nowrap class="sublbox_txt"><a href="#<%=rsQry("pkg_name")%>"><%=rsQry("pkg_name")%></a></td>
                                                        <td nowrap class="sublbox_txt"><%=rsQry("pkg_version")%></td>
                          </tr>
                                                  <%rsQry.MoveNext
                                                  WEnd
                                                  %>
                        </table>
                                           </td>
                              </tr>
                            </table>
                            <br><br>
<%
        'Exit For
Next
pvIdList = Mid(pvIdList, 1, Len(pvIdList) - 1)
Set     rsTemp  =       OraDatabase.DbCreateDynaset( SQL_Modules ( pvIdList ), cint(0))


%>              
<div align="center"><b><font col color="#FF0000" size="+3">Modules</font></b></div>                     
<%
While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
dpv_id = rsTemp("dpv_id")
Call GetPackageInformation ( dpv_id, objPackageDetails )
%>                                      <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
                                        <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                          <tr>
                        <td class="body_colb"><h3><%=objPackageDetails.Item("pkg_name")%></h3></td>
                                          </tr>
                                        </table>
                            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Version:</strong></td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_version")%></td>
                              </tr>
                              <tr>
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Path:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("src_path")%></td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Label:</strong></td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_label")%></td>
                              </tr>
                                          <tr> 
                                <td width="1%" nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Short Description:</strong></td>
                                <td witdh="100%" bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_description") ) )%></td>
                              </tr>
                              <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Package Overview:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_overview") ) )%></td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>General Sublicense Material:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%If objPackageDetails.Item("v_ext") = parExt Then%>Yes<%Else%>No<%End If%></td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Environment:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt"><%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))
                                                %>
                                                  <ul>
                                                  <%
                                                  While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                                                  %>
                          <li><%=rsQry("be_name")%></li>
                                                  <%rsQry.MoveNext
                                                  WEnd
                                                  %>
                          </ul>
                                           </td>
                              </tr>
                                          <tr> 
                                <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Dependencies:</strong> </td>
                                <td bgcolor="#FFFFFF" class="sublbox_txt">
                                                <%
                                                '--- Get Build Dependencies Details
                                                
                                                Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Dependencies ( dpv_id ), cint(0))
                                                %>
                        <table width="100%"  cellspacing="0" cellpadding="2" border="1">
                                                  <tr>
                            <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="1%"><strong>Software Component</strong></td>
                                                        <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="100%"><strong>Version</strong></td>
                          </tr>
                                                  <%If rsQry.RecordCount < 1 Then%>
                                                  <tr>
                            <td nowrap class="sublbox_txt">No Dependencies</td>
                                                        <td nowrap class="sublbox_txt"></td>
                          </tr>
                                                  <%End If%>
                                                  <%
                                                  While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
                                                  %>
                          <tr>
                            <td nowrap class="sublbox_txt"><a href="#<%=rsQry("pkg_name")%>"><%=rsQry("pkg_name")%></a></td>
                                                        <td nowrap class="sublbox_txt"><%=rsQry("pkg_version")%></td>
                          </tr>
                                                  <%rsQry.MoveNext
                                                  WEnd
                                                  %>
                        </table>
                                           </td>
                              </tr>
                            </table>
                            <br><br>

<%
rsTemp.MoveNext
WEnd

rsTemp.Close()
Set rsTemp = Nothing
%>
</body>
</html>