Subversion Repositories DevTools

Rev

Rev 37 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37 Rev 39
Line 28... Line 28...
28
Dim outobjDetails
28
Dim outobjDetails
29
Dim pvIdList
29
Dim pvIdList
30
Dim dpv_id
30
Dim dpv_id
31
Dim BldStd
31
Dim BldStd
32
'------------ Constants Declaration -----------
32
'------------ Constants Declaration -----------
-
 
33
const MAX_ROWS_PER_FLUSH = 100
33
'------------ Variable Init -------------------
34
'------------ Variable Init -------------------
34
parBom_id = Request("bom_id")
35
parBom_id = Request("bom_id")
35
parExt = Request("ext")
36
parExt = Request("ext")
36
Set objReleaseContent = CreateObject("Scripting.Dictionary")
37
Set objReleaseContent = CreateObject("Scripting.Dictionary")
37
Set objPackageDetails = CreateObject("Scripting.Dictionary")
38
Set objPackageDetails = CreateObject("Scripting.Dictionary")
Line 82... Line 83...
82
   "        RELEASE_MANAGER.BUILD_MACHINES bm"&_
83
   "        RELEASE_MANAGER.BUILD_MACHINES bm"&_
83
   " WHERE pbi.PV_ID = "& nPv_id &_
84
   " WHERE pbi.PV_ID = "& nPv_id &_
84
   "   AND pbi.BM_ID = bm.BM_ID "&_
85
   "   AND pbi.BM_ID = bm.BM_ID "&_
85
   " ORDER BY UPPER(bm.BM_NAME) "
86
   " ORDER BY UPPER(bm.BM_NAME) "
86
End Function
87
End Function
-
 
88
 
87
'----------------------------------------------------------------------------------------------------------------------------------------
89
'----------------------------------------------------------------------------------------------------------------------------------------
88
Function SQL_Modules (nPv_idList)
90
Function SQL_Modules (aobjReleaseContent)
-
 
91
  Dim pv_id,sWhere,i
-
 
92
  Const MAX_IDS_PER_LIST = 100
-
 
93
  ' Create where clause for pv_id
-
 
94
  ' Note: As Oracle has a limit of 1000 values in an sql IN clause, the pv_id hash table
-
 
95
  ' will be converted into multiple sql IN clauses if required.
-
 
96
  sWhere = "dep.PV_ID IN ("
-
 
97
  i = 0
-
 
98
  For Each pv_id in aobjReleaseContent.Keys
-
 
99
    If (i > 0) and (i Mod MAX_IDS_PER_LIST = 0) Then
-
 
100
      sWhere = Mid(sWhere,1,Len(sWhere) - 1) & ") OR dep.PV_ID IN ("
-
 
101
    End If
-
 
102
    sWhere = sWhere & pv_id & ","
-
 
103
    i = i + 1
-
 
104
  Next
-
 
105
 
-
 
106
  ' if list is empty then exlude all rows
-
 
107
  If aobjReleaseContent.Count = 0 Then
-
 
108
    sWhere = sWhere & "-1" & ","    
-
 
109
  End If
-
 
110
 
-
 
111
  sWhere = Mid(sWhere,1,Len(sWhere) - 1) & ")"
-
 
112
 
89
   SQL_Modules   = _
113
  SQL_Modules   = _
90
   "SELECT DISTINCT"&_
114
  "SELECT DISTINCT"&_
91
    "   qry.DPV_ID "&_
115
    "   qry.DPV_ID "&_
92
    " FROM ("&_
116
    " FROM ("&_
93
    "      SELECT dep.*,"&_
117
    "      SELECT dep.*,"&_
94
    "             LEVEL AS LEVEL_NUM"&_
118
    "             LEVEL AS LEVEL_NUM"&_
95
    "        FROM PACKAGE_DEPENDENCIES dep"&_
119
    "        FROM PACKAGE_DEPENDENCIES dep"&_
96
    "  START WITH dep.PV_ID IN ( "& nPv_idList &" ) "&_
120
    "  START WITH "&_
-
 
121
    "  " & sWhere &_
97
    "     CONNECT BY PRIOR dep.DPV_ID = dep.PV_ID"&_
122
    "     CONNECT BY PRIOR dep.DPV_ID = dep.PV_ID"&_
98
    "   ) qry,"&_
123
    "   ) qry,"&_
99
    "   PACKAGES pkg,"&_
124
    "   PACKAGES pkg,"&_
100
    "   PACKAGE_VERSIONS pv"&_
125
    "   PACKAGE_VERSIONS pv"&_
101
    " WHERE qry.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID"
126
    " WHERE qry.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID"
Line 1850... Line 1875...
1850
      </head>
1875
      </head>
1851
      <body>
1876
      <body>
1852
      <div align="center"><b><font col color="#FF0000" size="+3"><%=outobjDetails.Item("bom_full_version")%></font></b></div>
1877
      <div align="center"><b><font col color="#FF0000" size="+3"><%=outobjDetails.Item("bom_full_version")%></font></b></div>
1853
      <%
1878
      <%
1854
      Set outobjDetails = Nothing
1879
      Set outobjDetails = Nothing
-
 
1880
      Dim i
1855
 
1881
      i = 0
1856
      aReleaseContent = objReleaseContent.Keys
1882
      aReleaseContent = objReleaseContent.Keys
1857
      For Each parPv_id In aReleaseContent
1883
      For Each parPv_id In aReleaseContent
1858
         pvIdList = pvIdList +   parPv_id   +   ","
1884
         If i mod MAX_ROWS_PER_FLUSH = 0 Then
-
 
1885
           Response.Flush 
-
 
1886
         End If
-
 
1887
 
1859
         Call GetPackageInformation ( parPv_id, objPackageDetails )
1888
         Call GetPackageInformation ( parPv_id, objPackageDetails )
1860
         Response.Flush
-
 
1861
         %>
1889
         %>
1862
         <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
1890
         <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
1863
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
1891
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
1864
            <tr>
1892
            <tr>
1865
               <td class="body_colb"><h3><%=objPackageDetails.Item("pkg_name")%></h3></td>
1893
               <td class="body_colb"><h3><%=objPackageDetails.Item("pkg_name")%></h3></td>
Line 1948... Line 1976...
1948
            </tr>
1976
            </tr>
1949
         </table>
1977
         </table>
1950
         <br><br>
1978
         <br><br>
1951
      <%
1979
      <%
1952
      'Exit For
1980
      'Exit For
-
 
1981
      i = i + 1
1953
      Next
1982
      Next
-
 
1983
 
1954
      If NOT IsNull(pvIdList) AND Len(pvIdList) > 0 Then
1984
      If objReleaseContent.Count > 0 Then
1955
         pvIdList = Mid(pvIdList, 1, Len(pvIdList) - 1)
-
 
1956
         Set rsTemp = OraDatabase.DbCreateDynaset( SQL_Modules ( pvIdList ), cint(0))
1985
         Set rsTemp = OraDatabase.DbCreateDynaset( SQL_Modules (objReleaseContent), cint(0))
1957
         %>
1986
         %>
1958
         <div align="center"><b><font col color="#FF0000" size="+3">Modules</font></b></div>
1987
         <div align="center"><b><font col color="#FF0000" size="+3">Modules</font></b></div>
1959
         <%
1988
         <%
-
 
1989
         i = 0
1960
         While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
1990
         While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
-
 
1991
            If i mod MAX_ROWS_PER_FLUSH = 0 Then
-
 
1992
              Response.Flush 
-
 
1993
            End If
-
 
1994
 
1961
            dpv_id = rsTemp("dpv_id")
1995
            dpv_id = rsTemp("dpv_id")
1962
            Call GetPackageInformation ( dpv_id, objPackageDetails )
1996
            Call GetPackageInformation ( dpv_id, objPackageDetails )
1963
            %>
1997
            %>
1964
            <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
1998
            <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
1965
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
1999
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
Line 2051... Line 2085...
2051
            </table>
2085
            </table>
2052
            <br><br>
2086
            <br><br>
2053
 
2087
 
2054
            <%
2088
            <%
2055
            rsTemp.MoveNext
2089
            rsTemp.MoveNext
-
 
2090
            i = i + 1
2056
         WEnd
2091
         WEnd
2057
 
2092
 
2058
         rsTemp.Close()
2093
         rsTemp.Close()
2059
         Set rsTemp = Nothing
2094
         Set rsTemp = Nothing
2060
      End If
2095
      End If