Rev 6480 | Rev 6612 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'====================================================='| |'| REPORTS DEFINITION |'| |'=====================================================' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store'To enable the script timeout to 10 minsServer.ScriptTimeout=600%><%'------------ ACCESS CONTROL ------------------%><%'------------ Variable Definition -------------Dim rsQryDim rsTempDim parPv_id, parExtDim objReleaseContentDim aReleaseContentDim objPackageDetailsDim outobjDetailsDim pvIdListDim dpv_idDim BldStd'------------ Constants Declaration -----------'------------ Variable Init -------------------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, queryquery = _" 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.RemoveAllIf (NOT rsQry.BOF) AND (NOT rsQry.EOF) ThenoPackageDetails("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 IfrsQry.Close()Set rsQry = NothingEnd 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, queryquery = _" SELECT qry.prod_id"&_" FROM ("&_" SELECT DISTINCT"&_" osc.PROD_ID,"&_" pkg.pkg_name,"&_" pv.pkg_version,"&_" 1 as seq_num"&_" FROM DEPLOYMENT_MANAGER.bom_contents bc,"&_" DEPLOYMENT_MANAGER.operating_systems os, "&_" DEPLOYMENT_MANAGER.os_contents osc,"&_" PACKAGES pkg,"&_" PACKAGE_VERSIONS pv,"&_" DEPLOYMENT_MANAGER.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 DEPLOYMENT_MANAGER.boms bm,"&_" DEPLOYMENT_MANAGER.bom_contents bc,"&_" DEPLOYMENT_MANAGER.network_nodes nn,"&_" DEPLOYMENT_MANAGER.operating_systems os,"&_" DEPLOYMENT_MANAGER.os_base_env obe,"&_" DEPLOYMENT_MANAGER.base_env_contents bec,"&_" PACKAGES pkg,"&_" package_versions pv,"&_" DEPLOYMENT_MANAGER.base_env be,"&_" DEPLOYMENT_MANAGER.bos_types bt,"&_" DEPLOYMENT_MANAGER.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()WEndrsQry.Close()Set rsQry = NothingEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------Function PatchIcon ( cIsPatch, cIsPatchObsolete )If IsNull(cIsPatch) ThenPatchIcon = "<img src='images/rex_images/ext_blank.gif' width='16' height='16' border='0' align='absmiddle'>"ElseIf IsNull(cIsPatchObsolete) ThenPatchIcon = "<img src='images/i_patch_small.gif' width='16' height='16' border='0' align='absmiddle' >"ElsePatchIcon = "<img src='images/i_patch_small_obsolete.gif' width='16' height='16' border='0' align='absmiddle' title='Patch is obsolete'>"End IfEnd IfEnd Function%><%Sub Reports_List ( SSgroup )Dim repNum%> <!-- REPORTS LIST --------------------------------------------------------><%Select Case SSgroup%><%Case "Advanced_Search"%><%repNum = 1%><strong>Find Jira / ClearQuest Bugs / Issues Location</strong><br>Use this advance search to locate bugs / issues imported to Release Manager from Jira or ClearQuest.<br><a href="rep_where_are_bugs_located.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 2%><strong>Find Packages Using "Ignore Warnings" feature</strong><br>Lists packages which use "Ignore Warning" feature on their dependencies.<br><a href="rep_packages_using_ignore_feature.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 4%><strong>Find A Package</strong><br>Use this advanced search to find a package in Release Manager<br><a href="rep_find_package.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 5%><strong>Find Package Version History</strong><br>Find all package versions and their current locations.<br><a href="rep_package_version_history.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 14%><strong>Find File with a Package</strong><br>Find all files within a named package.<br><a href="rep_package_version_history.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%Case "Release_Status"%><%repNum = 3%><strong>Current Status of Release</strong><br>Shows all packages in a selected release with their current state, owner and last modifier.<br><a href="rep_current_state_of_release.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 8%><strong>Deployable Software Modules</strong><br>This report shows new and current deployable software modules. Use this report to find which modules will be deployed to the customer.<br>Also, use this report to find if there are new modules flaged as 'deployable'.<br><a href="rep_depoyable_software_modules.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 7%><strong>Unit Tests per Package</strong><br>Use this report to check the unit tests performed on packages in a project.<br><a href="rep_unit_tests_per_package.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 12%><strong>Release AutoBuildable Status</strong><br>Use this report to check the package versions that are autobuildable/not autobuildable in a given release.<br><a href="rep_autobuildable_package.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 13%><strong>Release DEVI Status</strong><br>Use this report to obtain a list of DEVIs for all packages in a given release.<br><a href="rep_devi_status_for_release.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><!-- <strong>All Packages With out-of-sync Dependencies</strong><br>List of all packages with dependencies out-of-sync with the release environment.<br>In escence, these are the packages which has versions in "latest" column of their dependencies.<br>Not available yet.<br><br><hr size="1" noshade color="#DAD7C8">--><%Case "Release_History"%><%repNum = 10%><strong>Build History</strong><br>Use this report to find which packages have been officially released within specified date range.<br><a href="rep_build_history.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%Case "Admin_Reports"%><strong>All Packages by Project by Version Tree by Release</strong><br>CSV output of all packages used in Release Manager per Project.<br><a href="rep_all_packages_by_project_by_vtree_by_release.asp" target="_blank" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><strong>All Runtime Dependencies by Project by Version Tree by Release</strong><br>CSV output of all runtime dependencies used in Release Manager per Project.<br><a href="rep_all_runtime_dependencies_by_project_by_vtree_by_release.asp" target="_blank" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 6%><strong>Unused Packages</strong><br>All packages (Not Products) with no entries in "Used By" tab.<br>Use this report to help you clean up a release and remove all potentially unused packages.<br><a href="rep_obsolete_packages.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%Case "Escrow"%><%repNum = 9%><strong>Bill of Materials (BOM)</strong><br>List of all ERG Products per network node for a particularproject. Use this report to integrate a particular project.<br><a href="rep_bill_of_materials.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><%repNum = 11%><strong>Escrow Report</strong><br>List of all Products/Patches for the BOM including modules. Use this report to provide a build roadmap.<br><a href="escrow_report.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8"><strong>Build Dependencies per Package</strong><br>Use this report to build package from source code. The reportinclude package repository location, label and build dependencies.<br>Not available yet.<br><br><hr size="1" noshade color="#DAD7C8"><strong>Build Order</strong><br>Use this reports to find the order in which packages should be built.<br>Not available yet.<br><br><hr size="1" noshade color="#DAD7C8"><%Case Else%><b>« Select reporting category.</b><%End Select%><!-- REPORTS LIST END--------------------------------------------------------><%End Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub Get_Projects ( NNproj_id, BBallow_all )Dim rsTemp, Query_StringQuery_String = _"SELECT * FROM projects ORDER BY proj_name ASC"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRproj_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRvtree_id=&FRrtag_id=&group="& Request("group") &"&repnum="& Request("repnum") &"&FRproj_id=',this,0)"" class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CDbl(NNproj_id) = CDbl(rsTemp.Fields("proj_id")) ThenResponse.write "<option value='"& rsTemp.Fields("proj_id") &"' selected>"& UCase(rsTemp.Fields("proj_name")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("proj_id") &"'>"& UCase(rsTemp.Fields("proj_name")) &"</option>"End IfrsTemp.MoveNextWEndResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd Sub'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub Get_Version_Trees ( NNproj_id, NNvtree_id, BBallow_all )Dim rsTemp, Query_StringQuery_String = _"SELECT vtree_id, vtree_name FROM vtrees WHERE hide = 'N' AND proj_id = "& NNproj_id &" ORDER BY vtree_id ASC"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRvtree_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&FRrtag_id=&group="& Request("group") &"&repnum="& Request("repnum") &"&FRvtree_id=',this,0)"" class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfIf NNproj_id <> -1 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CDbl(NNvtree_id) = CDbl(rsTemp.Fields("vtree_id")) ThenResponse.write "<option value='"& rsTemp.Fields("vtree_id") &"' selected>"& (rsTemp.Fields("vtree_name")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("vtree_id") &"'>"& (rsTemp.Fields("vtree_name")) &"</option>"End IfrsTemp.MoveNextWEndEnd IfResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd Sub'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub Get_Open_Release_Labels ( NNproj_id, NNrtag_id, BBallow_all )Dim rsTemp, Query_StringQuery_String = _"SELECT rtag_id, rtag_name FROM release_tags WHERE proj_id = "& NNproj_id &"AND official in ('N','C','R') ORDER BY rtag_name ASC"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRrtag_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&group="& Request("group") &"&repnum="& Request("repnum") &"&FRrtag_id=',this,0)"" class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfIf NNproj_id <> -1 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CDbl(NNrtag_id) = CDbl(rsTemp.Fields("rtag_id")) ThenResponse.write "<option value='"& rsTemp.Fields("rtag_id") &"' selected>"& (rsTemp.Fields("rtag_name")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("rtag_id") &"'>"& (rsTemp.Fields("rtag_name")) &"</option>"End IfrsTemp.MoveNextWEndEnd IfResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd SubSub Get_Release_Labels ( NNproj_id, NNrtag_id, BBallow_all )Dim rsTemp, Query_StringQuery_String = _"SELECT rtag_id, rtag_name FROM release_tags WHERE proj_id = "& NNproj_id &" ORDER BY rtag_id ASC"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRrtag_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&group="& Request("group") &"&repnum="& Request("repnum") &"&FRrtag_id=',this,0)"" class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfIf NNproj_id <> -1 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CDbl(NNrtag_id) = CDbl(rsTemp.Fields("rtag_id")) ThenResponse.write "<option value='"& rsTemp.Fields("rtag_id") &"' selected>"& (rsTemp.Fields("rtag_name")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("rtag_id") &"'>"& (rsTemp.Fields("rtag_name")) &"</option>"End IfrsTemp.MoveNextWEndEnd IfResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd Sub'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub Get_SBOM_Version ( NNproj_id, NNrtag_id, BBallow_all, NNversion )Dim rsTemp, Query_StringQuery_String = _"SELECT BOM_ID, BRANCH_ID, BOM_VERSION ||'.'||BOM_LIFECYCLE AS VERSION FROM DEPLOYMENT_MANAGER.BOMS WHERE BRANCH_ID ="&NNrtag_id&" ORDER BY VERSION"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRversion' class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfIf NNrtag_id <> -1 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CStr(NNversion) = CStr(rsTemp.Fields("version")) ThenResponse.write "<option value='"& rsTemp.Fields("version") &"' selected>"& (rsTemp.Fields("version")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("version") &"'>"& (rsTemp.Fields("version")) &"</option>"End IfrsTemp.MoveNextWEndEnd IfResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd Sub'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub Get_Branches ( NNproj_id, NNrtag_id, BBallow_all )Dim rsTemp, Query_StringQuery_String = _"SELECT * FROM deployment_manager.branches WHERE proj_id = "& NNproj_id &" ORDER BY branch_id ASC"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRbranch_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&group="& Request("group") &"&repnum="& Request("repnum") &"&FRrtag_id=',this,0)"" class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfIf NNproj_id <> -1 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CDbl(NNrtag_id) = CDbl(rsTemp.Fields("branch_id")) ThenResponse.write "<option value='"& rsTemp.Fields("branch_id") &"' selected>"& (rsTemp.Fields("branch_name")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("branch_id") &"'>"& (rsTemp.Fields("branch_name")) &"</option>"End IfrsTemp.MoveNextWEndEnd IfResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd Sub'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub Get_Base_Views ( nRtag_id, nBase_view_id, BBallow_all )Dim rsTemp, Query_StringQuery_String = _"SELECT DISTINCT vi.view_id, vi.view_name"&_" FROM VIEWS vi,"&_" RELEASE_CONTENT rc"&_" WHERE rc.BASE_VIEW_ID = vi.VIEW_ID"&_" AND rc.rtag_id = "& nRtag_id &_"ORDER BY UPPER( vi.view_name )"Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))Response.write "<select name='FRbase_view_id' class='form_item'>"If BBallow_all ThenResponse.write "<option value='-1'>ALL</option>"ElseResponse.write "<option></option>"End IfIf nRtag_id <> -1 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CDbl(nBase_view_id) = CDbl(rsTemp.Fields("view_id")) ThenResponse.write "<option value='"& rsTemp.Fields("view_id") &"' selected>"& (rsTemp.Fields("view_name")) &"</option>"ElseResponse.write "<option value='"& rsTemp.Fields("view_id") &"'>"& (rsTemp.Fields("view_name")) &"</option>"End IfrsTemp.MoveNextWEndEnd IfResponse.write "</select>"rsTemp.CloseSet rsTemp = nothingEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Packages Using Ignore Feature' Description : Lists packages which use "Ignore Warning"' feature on their dependencies.' INPUT : Project, Vesion Tree, Release Label'==================================================================================Sub Packages_Using_Ignore_Feature ( SSsection, NNproj_id, NNrtag_id )Dim Query_String, rsRepConst Allow_All = TRUEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If SSsection = "TITLE" ThenResponse.write "Packages Using 'Ignore Warnings' Feature"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Allow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Allow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubQuery_String = ReadFile( rootPath & "queries\rep_packages_using_ignore_feature.sql" )OraDatabase.Parameters.Add "PROJ_ID", NNproj_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb">Package Name </td><td width="1%" nowrap class="body_colb">Version </td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currRtag_idcurrRtag_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "PROJ_ID"OraDatabase.Parameters.Remove "RTAG_ID"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='4' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY RTAG_ID -----------------If CDbl(currRtag_id) <> CDbl(rsRep("rtag_id")) Then%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td colspan="4" nowrap class="body_scol"><%=rsRep("proj_name") &" > "& rsRep("rtag_name")%></td></tr><%currRtag_id = CDbl(rsRep("rtag_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td nowrap><a href="dependencies.asp?rtag_id=<%=rsRep("rtag_id")%>&pv_id=<%=rsRep("pv_id")%>" class="txt_linked"><%=rsRep("pkg_name")%></a></td><td nowrap><a href="dependencies.asp?rtag_id=<%=rsRep("rtag_id")%>&pv_id=<%=rsRep("pv_id")%>" class="txt_linked"><%=rsRep("pkg_version")%></a></td><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Current State of Release' Description : Show all packages in a release with their state, owner and modifier' Form Input : Project, Vesion Tree, Release Label' SQL INPUT : rtag_id'==================================================================================Sub Current_State_of_Release ( SSsection, NNproj_id, NNrtag_id, NNpkg_states )Dim Query_String, rsRepConst Disallow_All = FALSEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If NNpkg_states = "" Then NNpkg_states = -1If SSsection = "TITLE" ThenResponse.write "Current State of Release"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Package States</td><td class="form_field" nowrap><span style="border: 1px solid #808080;"> OK <input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_OK%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_OK) ) > 0 Then%>checked<%End If%>></span> <span style="border: 1px solid #808080;"><%=enum_imgCritical%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MAJOR%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MAJOR) ) > 0 Then%>checked<%End If%>></span> <span style="border: 1px solid #808080;"><%=enum_imgWarning%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MINOR%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MINOR) ) > 0 Then%>checked<%End If%>></span> <span style="border: 1px solid #808080;"><%=enum_imgCReady%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MAJOR_READY%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MAJOR_READY) ) > 0 Then%>checked<%End If%>></span> <span style="border: 1px solid #808080;"><%=enum_imgWReady%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MINOR_READY%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MINOR_READY) ) > 0 Then%>checked<%End If%>></span> </td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubQuery_String = ReadFile( rootPath & "queries\rep_details_current_status_of_release.sql" )Query_String = Replace ( Query_String, "/*PKG_STATES*/", NNpkg_states )OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Owner </td><td width="1%" nowrap class="body_colb">Last Modifier </td><td width="1%" nowrap class="body_colb">Added to Release </td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="8" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currView_idcurrView_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "RTAG_ID"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='8' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY RTAG_ID -----------------If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then%><tr><td colspan="7" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td colspan="8" nowrap class="body_scol"><%=rsRep("view_name")%></td></tr><%currView_id = CDbl(rsRep("view_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td><%=DefineStateIcon ( rsRep("pkg_state"), rsRep("dlocked"), NULL, NULL, NULL, NULL )%></td><%If rsRep("dlocked") = "Y" Then%><td align="center" class="form_item"><img src='images/i_locked.gif' width='7' height='10' hspace='6'></td><%Else%><td align="center" class="form_item"><img src='images/spacer.gif' width='7' height='10' hspace='6'></td><%End If%><td nowrap class="body_row"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td><td nowrap><span data-email="<%=rsRep("owner_email")%>" class="mailto txt_linked"><%=rsRep("owner")%></span> </td><td nowrap><span data-email="<%=rsRep("modifier_email")%>" class="mailto txt_linked"><%=rsRep("modifier")%></span> </td><td class="body_row"><%=DisplayDate( rsRep("insert_stamp") )%></td><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="8" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Find ClearQuest Bugs / Issues Location' Description : Locates bugs / issues imported from ClearQuest' Form Input : CQ issue Database, CQ issue number list space separated'==================================================================================Sub Where_Are_Bugs_Located ( SSsection, NNiss_db, SSiss_num_list )If SSsection = "TITLE" ThenResponse.write "Find Jira or ClearQuest Bugs / Issues Location"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRiss_num_list','Issue Number','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field" valign="top">Issue System</td><td width="100%"><select name="FRiss_db" class="form_item"><option value="<%=enumJIRA_DEVI_ID%>" <%If CDbl(NNiss_db) = enumJIRA_DEVI_ID Then%>selected<%End If%>>Jira</option><option value="<%=enumCLEARQUEST_DEVI_ID%>" <%If CDbl(NNiss_db) = enumCLEARQUEST_DEVI_ID Then%>selected<%End If%>>ClearQuest DEVI</option></select></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field" valign="top">Issue Numbers</td><td class="form_txt"><input type="text" name="FRiss_num_list" size="50" class="form_item" value="<%=SSiss_num_list%>"><br>HINTS:<br>- You can use * wildcard. e.g. *0123 or 0123* or *0123*<br>- Use space separated issue numbers for multiple search.</td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubIf CDbl(NNiss_db) = enumCLEARQUEST_DEVI_ID ThenCall Where_Are_Bugs_Located_ClearQuest( SSsection, NNiss_db, SSiss_num_list)ElseIf CDbl(NNiss_db) = enumJIRA_DEVI_ID ThenCall Where_Are_Bugs_Located_Jira (SSsection, NNiss_db, SSiss_num_list)End If%><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%End IfEnd Sub'-------------------------------------------------' Function: Where_Are_Bugs_Located_Jira' Description: Body of the report for Jira Issues'Sub Where_Are_Bugs_Located_Jira ( SSsection, NNiss_db, SSiss_num_list )Dim Query_String, rsRepDim SSsql, issARR, num_item, issNumDict, rsCQ, recCount, maxRecCountSet issNumDict = CreateObject("Scripting.Dictionary")'---- Find Issue numbers in JIRA ----SSsql = _" select distinct ISS_KEY"&_" FROM release_manager.JIRA_ISSUES"&_" WHERE "'---- Split multiple search ----SSiss_num_list = Trim(SSiss_num_list)If InStr( SSiss_num_list, " " ) > 0 Then' space separator foundissARR = Split ( SSiss_num_list, " ")For Each num_item In issARRIf num_item <> "" ThenSSsql = SSsql & " ISS_KEY LIKE ('%"& Replace( SQLstring(num_item), "*", "%" ) & "') OR"End IfNextSSsql = Left ( SSsql, Len(SSsql) - 2 ) ' Removes last ORElseSSsql = SSsql & " ISS_KEY LIKE ('%"& Replace( SQLstring(SSiss_num_list), "*", "%") &"')"End IfSet rsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))' Get find results from CQrecCount = 1maxRecCount = 1000issNumDict.ADD "'-1'", "-1" ' take care of no resultsWhile ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF) AND (recCount < maxRecCount))issNumDict.ADD "'" & Cstr(rsCQ("ISS_KEY")) & "'", "1"recCount = recCount + 1rsCQ.MoveNextWEndrsCQ.CloseSet rsCQ = nothingQuery_String = ReadFile( rootPath & "queries\rep_where_are_jirabugs_located.sql" )Query_String = Replace ( Query_String, "/*ISS_ID_LIST*/", Join( issNumDict.Keys, ",") )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb">Issue Number </td><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Currently used Release </td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currIss_idcurrIss_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='5' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY ISS_KEY -----------------If Cstr(currIss_id) <> Cstr(rsRep("iss_key")) Then%><% ' -- line between issues %><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><% ' -- Start of a new issue %><tr><td nowrap valign="top"><a href="<%=Application("JIRA_URL") & "/browse/" & rsRep("iss_key")%>" class="txt_linked" target="_blank" title="Browse Jira Issue"><img src="images/i_drill_down.gif" width="12" height="14" hspace="3" border="0" align="absmiddle"><%=rsRep("iss_key")%></a></td><%currIss_id = Cstr(rsRep("iss_key"))Else %><td nowrap class="body_row" valign="top"></td><% End If' -------- END GROUP ------------------------%><td align="left"><img src='images/spacer.gif' width='7' height='7' hspace='6'></td><td nowrap align="left" class="body_row" valign="top"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>#ISSUES" class="txt_linked" target="_blank" title="Open version in new window"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td><td><%Query_String = "select * from release_content rc, release_tags rt" &_" where rc.rtag_id = rt.rtag_id and pv_id = "&rsRep("pv_id")Set rsQry = OraDatabase.DbCreateDynaset( Query_String , 0 )If rsQry.RecordCount <> 0 Then%><table width="100%" border="0" cellspacing="0" cellpadding="2"><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><tr><td nowrap align="left" class="body_row" valign="top"><a href="fixed_issues.asp?rtag_id=<%=rsQry("rtag_id")%>&pv_id=<%=rsQry("pv_id")%>#ISSUES" class="txt_linked" target="_blank"><%=rsQry("rtag_name")%></a></td></tr><%rsQry.MoveNext()WEnd%></table><%End IfrsQry.Close()Set rsQry = Nothing%></td><td nowrap align="left" class="body_row" valign="top"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><%rsRep.CloseSet rsRep = nothingEnd Sub'-------------------------------------------------' Function: Where_Are_Bugs_Located_ClearQuest' Description: Body of the report for ClearQuest Issues'Sub Where_Are_Bugs_Located_ClearQuest ( SSsection, NNiss_db, SSiss_num_list )Dim Query_String, rsRepDim SSsql, issARR, num_item, iss_num_col, issNumDict, rsCQ, recCount, maxRecCountSet issNumDict = CreateObject("Scripting.Dictionary")'---- Find Issue numbers in ClearQuest ----iss_num_col = "new_num"SSsql = _" SELECT si.dbid AS iss_id, si."& iss_num_col &" AS iss_num"&_" FROM release_manager.cq_software_issue si"&_" WHERE "'---- Split multiple search ----SSiss_num_list = Trim(SSiss_num_list)If InStr( SSiss_num_list, " " ) > 0 Then' space separator foundissARR = Split ( SSiss_num_list, " ")For Each num_item In issARRIf num_item <> "" ThenSSsql = SSsql & " (si."& iss_num_col &" LIKE '%"& Replace( SQLstring(num_item), "*", "%" ) &"%') OR"End IfNextSSsql = Left ( SSsql, Len(SSsql) - 2 ) ' Removes last ORElseSSsql = SSsql & " (si."& iss_num_col &" LIKE '%"& Replace( SQLstring(SSiss_num_list), "*", "%") &"%')"End IfSet rsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))' Get find results from CQrecCount = 1maxRecCount = 1000issNumDict.ADD "-1", "-1" ' take care of no resultsWhile ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF) AND (recCount < maxRecCount))issNumDict.ADD Cstr(rsCQ("iss_id")), Cstr(rsCQ("iss_num"))recCount = recCount + 1rsCQ.MoveNextWEndrsCQ.CloseSet rsCQ = nothingQuery_String = ReadFile( rootPath & "queries\rep_where_are_bugs_located.sql" )Query_String = Replace ( Query_String, "/*ISS_DB*/", NNiss_db )Query_String = Replace ( Query_String, "/*ISS_ID_LIST*/", Join( issNumDict.Keys, ",") )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb">Issue Number </td><td width="1%" nowrap class="body_colb">Fixed</td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Notes </td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currIss_idcurrIss_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='5' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY ISS_ID -----------------If Cstr(currIss_id) <> Cstr(rsRep("iss_id")) Then%><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td nowrap><a href="javascript:;" onClick="MM_openVixIFrame('_wform_issues_details.asp?iss_db=<%=NNiss_db%>&iss_id=<%= rsRep("iss_id")%>','Issue Details','resizable=yes,width=580,height=500')" class="txt_linked"><img src="images/i_drill_down.gif" width="12" height="14" hspace="3" border="0" align="absmiddle" title="See issue details."><%=issNumDict.Item ( Cstr ( rsRep("iss_id") ) )%></a></td><td colspan='5' class="body_scol"></td></tr><%currIss_id = Cstr(rsRep("iss_id"))End If' -------- END GROUP ------------------------%><tr><td nowrap class="body_row" valign="top"></td><%If CDbl(rsRep("iss_state")) = enumISSUES_STATE_FIXED Then%><td align="left"><img src="images/i_tick.gif" width="7" height="7" hspace="6"></td><%Else%><td align="left"><img src='images/spacer.gif' width='7' height='7' hspace='6'></td><%End If%><td nowrap align="left" class="body_row" valign="top"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%><img src="images/i_drill_down.gif" width="12" height="14" hspace="3" border="0" align="absmiddle" title="Find this package."></td><%Set rsQry = OraDatabase.DbCreateDynaset( "select * from release_content rc, release_tags rt where rc.rtag_id = rt.rtag_id and "&_" pv_id ="&rsRep("pv_id"), 0 )While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><tr><td nowrap align="left" class="body_row" valign="top"></td><td nowrap align="left" class="body_row" valign="top"></td><td nowrap align="left" class="body_row" valign="top"><a href="fixed_issues.asp?rtag_id=<%=rsQry("rtag_id")%>&pv_id=<%=rsQry("pv_id")%>" class="txt_linked" target="_blank"><%=rsQry("rtag_name")%></a></td></tr><%rsQry.MoveNext()WEndrsQry.Close()Set rsQry = Nothing%><td nowrap align="left" class="body_row" valign="top"><%=rsRep("notes")%></td><td nowrap align="left" class="body_row" valign="top"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><%rsRep.CloseSet rsRep = nothingEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Find a Package' Description : Locate a package in Release Manager' Form Input : Package Name, version extension'==================================================================================Sub Find_Package ( SSsection, SSpkg_name, SSv_ext )Dim Query_String, rsRep, oRegExpIf SSsection = "TITLE" ThenResponse.write "Find a Package"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td><td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td><td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>HINTS:<br>- You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field" valign="top">Version Extension (optional)</td><td class="form_txt"><input type="text" name="FRv_ext" size="10" class="form_item" value="<%=SSv_ext%>"><br>e.g. .mas or .cr or blank etc.</td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubIf SSpkg_name = "" Then SSpkg_name = "%"If SSv_ext = "" Then SSv_ext = "%"If Request("withwcard") <> "" Then SSpkg_name = "%"& Replace( SQLstring(SSpkg_name), "*", "") &"%" 'Place wild card automatically' -- Check if this is PV_IDSet oRegExp = New RegExpoRegExp.Global = False 'Find only first matchoRegExp.Pattern = "\D" 'Match number onlyIf NOT oRegExp.Test(Request("FRpkg_name")) ThenQuery_String = ReadFile( rootPath & "queries\rep_find_package_by_pv_id.sql" )Query_String = Replace ( Query_String, "/*PV_ID*/", SQLstring(Request("FRpkg_name") ) )ElseQuery_String = ReadFile( rootPath & "queries\rep_find_package.sql" )Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )Query_String = Replace ( Query_String, "/*V_EXT*/", Replace( SQLstring(SSv_ext), "*", "%") )End If%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Location</td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currPv_id, currVextcurrPv_id = -2currVext = ""Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='3' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY Package Version -----------------If (Cstr(currPv_id) <> Cstr(rsRep("pv_id"))) OR (currVext <> rsRep("V_EXT")) Then%><tr><td colspan="2" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><%If Request("withwcard") <> "" Then%><%' Highlight results for package search from index page%><td nowrap class="body_scol"><%=Highlight_Substring ( rsRep("pkg_name"), Replace( SQLstring(SSpkg_name), "%", "") ) &" "& rsRep("pkg_version")%></td><%Else%><td nowrap class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td><%End If%><td colspan='2' class="body_scol"></td></tr><%currPv_id = Cstr(rsRep("pv_id"))currVext = rsRep("V_EXT")End If' -------- END GROUP ------------------------%><%If NOT IsNull(rsRep("proj_name")) Then%><tr><td class="body_row"></td><td nowrap class="body_row" valign="top"><%=rsRep("proj_name") &" > "& rsRep("vtree_name") &" > "& rsRep("rtag_name") &" > <a href='dependencies.asp?pv_id="& rsRep("pv_id") &"&rtag_id="& rsRep("rtag_id") &"' class='txt_linked'>"& rsRep("pkg_name") &" "& rsRep("pkg_version") &"</a>"%></td><td class="body_row"></td></tr><%Else%><tr><td class="body_row"></td><td class="body_row"></td><td class="body_row"></td></tr><%End If%><% rsRep.MoveNextWEnd%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'==================================================================================' Report Name : Find Package Version History' Description : Locate all package versions and their current location' Form Input : Package Name, version extension'==================================================================================Sub Find_Package_Version_History ( SSsection, SSpkg_name, SSv_ext )Dim Query_String, rsRepIf SSsection = "TITLE" ThenResponse.write "Find Package Version History"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td><td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td><td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>HINTS:<br>- You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field" valign="top">Version Extension (optional)</td><td class="form_txt"><input type="text" name="FRv_ext" size="10" class="form_item" value="<%=SSv_ext%>"><br>e.g. .mas or .lvs or .oso or blank etc.</td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenConst img_Official = "<img src='images/i_locked.gif' width='7' height='10' hspace='3' align='absmiddle'>"If NOT CBool(Request("action")) Then Exit SubIf SSpkg_name = "" Then SSpkg_name = "%"If SSv_ext = "" Then SSv_ext = "%"Query_String = ReadFile( rootPath & "queries\rep_package_version_history.sql" )Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )Query_String = Replace ( Query_String, "/*V_EXT*/", Replace( SQLstring(SSv_ext), "*", "%") )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb" align="right">Official<%=img_Official%></td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Location</td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currPv_idcurrPv_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='4' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY Package Version -----------------If Cstr(currPv_id) <> Cstr(rsRep("pv_id")) Then%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td align="right"><%If rsRep("dlocked") = "Y" Then%><%=img_Official%><%End If%></td><td nowrap class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td><td colspan='2' class="body_scol"></td></tr><%currPv_id = Cstr(rsRep("pv_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td class="body_row"></td><%If IsNull(rsRep("rtag_id")) Then%><td nowrap class="body_txt_gray" valign="top">Not Used!</td><%Else%><td nowrap class="body_row" valign="top"><%=rsRep("proj_name") &" > "& rsRep("vtree_name") &" > "& rsRep("rtag_name") &" > <a href='dependencies.asp?pv_id="& rsRep("pv_id") &"&rtag_id="& rsRep("rtag_id") &"' class='txt_linked'>"& rsRep("pkg_name") &" "& rsRep("pkg_version") &"</a>"%></td><%End If%><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Obsolete Packages' Description : List packages that are not used (exclude products)' INPUT : Project, Vesion Tree, Release Label'==================================================================================Sub Obsolete_Packages ( SSsection, NNproj_id, NNrtag_id )Dim Query_String, rsRepConst Allow_All = TRUEConst Disallow_All = FALSEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If SSsection = "TITLE" ThenResponse.write "Unused Packages"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubQuery_String = ReadFile( rootPath & "queries\rep_obsolete_packages.sql" )OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "SMODE", 1, ORAPARM_INPUT, ORATYPE_NUMBER%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Released </td><td width="1%" nowrap class="body_colb">Added to Release </td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currView_idcurrView_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "SMODE"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='5' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY BASE VIEW -----------------If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td nowrap class="body_scol"><%=rsRep("view_name")%></td><td class="body_scol"></td><td class="body_scol"></td><td class="body_scol"></td><td class="body_scol"></td></tr><%currView_id = CDbl(rsRep("view_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td nowrap class="body_row"><a href="used_by.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNrtag_id%>" class="txt_linked"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td><td nowrap class="body_row"><%=DisplayDate( rsRep("modified_stamp") )%> by <span data-email="<%=rsRep("modifier_email")%>" class="mailto txt_linked"><%=rsRep("modifier")%></span> </td><td nowrap class="body_row"><%=DisplayDate( rsRep("insert_stamp") )%> by <span data-email="<%=rsRep("insertor_email")%>" class="mailto txt_linked"><%=rsRep("insertor")%></span> </td><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Deployable Software Modules' Description : Shows packages that are deployed to the customers and shows new packages marked as deployable.' INPUT : Project, Vesion Tree, Release Label, Base View (hard-coded to PRODUCTS)'==================================================================================Sub Deployable_Software_Modules ( sSection, nProj_id, nRtag_id, nBase_view_id )Dim Query_String, rsRepConst Allow_All = TRUEConst Disallow_All = FALSEIf nProj_id = "" Then nProj_id = -1If nRtag_id = "" Then nRtag_id = -1If sSection = "TITLE" ThenResponse.write "Deployable Software Modules"Exit SubEnd IfIf sSection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( nProj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( nProj_id, nRtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Base View</td><td><select name="noname" class='form_item' disabled><option>PRODUCTS</option></select></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="FRbase_view_id" value="<%=enumBASE_VIEW_PRODUCTS%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf sSection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit Sub'--- New Deployable Modules ---Query_String = ReadFile( rootPath & "queries\rep_new_deployable_packages.sql" )OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BASE_VIEW_ID", nBase_view_id, ORAPARM_INPUT, ORATYPE_NUMBER%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td nowrap class="body_colb" colspan="3" background="images/bg_bage.gif"> New Deployable Package</td></tr><tr><td background="images/bg_rep_line.gif" colspan="3"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td width="1%" class="body_txt">Package Name</td><td width="1%" class="body_txt">Version</td><td width="100%" class="body_txt">Last Modifier</td></tr><tr><td background="images/bg_rep_line.gif" colspan="3"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "BASE_VIEW_ID"%><%If rsRep.RecordCount = 0 Then%><tr><td nowrap class="body_row" colspan="3">Found 0 records! </td></tr><%End If%><%While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))%><tr><td nowrap><a href="dependencies.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="txt_linked"><img src="images/i_go2url.gif" width="14" height="14" hspace="3" border="0" align="absmiddle"><%=rsRep("pkg_name")%></a></td><td nowrap class="body_row"><%=rsRep("pkg_version")%></td><td nowrap class="body_row"><%=rsRep("full_name")%></td></tr><%rsRep.MoveNextWEndrsRep.CloseSet rsRep = Nothing%><tr><td background="images/bg_rep_line.gif" colspan="3"><img src="images/spacer.gif" width="1" height="1"></td></tr><%' Go To Release link...Query_String = _" SELECT proj.PROJ_NAME, rt.RTAG_NAME"&_" FROM PROJECTS proj,"&_" RELEASE_TAGS rt"&_" WHERE rt.PROJ_ID = proj.proj_id"&_" AND rt.rtag_id = :RTAG_ID"OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "RTAG_ID"%><tr><td nowrap class="body_row" colspan="3"><a href="dependencies.asp?rtag_id=<%=nRtag_id%>"><img src="images/i_go2url.gif" width="14" height="14" hspace="3" border="0" align="absmiddle"></a>Go to <a href="dependencies.asp?rtag_id=<%=nRtag_id%>" class="txt_linked"><%=rsRep("proj_name")%> > <%=rsRep("rtag_name")%></a> </td></tr><%rsRep.CloseSet rsRep = Nothing%></table><br><br><%'--- Current Deployable Modules ---Query_String = ReadFile( rootPath & "queries\rep_current_deployable_packages.sql" )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td colspan="4" nowrap class="body_colb" background="images/bg_bage.gif"> Current Deployable Packages </td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currPv_idcurrPv_id = -1OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BASE_VIEW_ID", nBase_view_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "BASE_VIEW_ID"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='4' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY PRODUCT NAME -----------------If CDbl(currPv_id) <> CDbl(rsRep("pv_id")) Then%><tr><td width="1%" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td width="1%" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td width="1%" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td width="100%"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td nowrap><a href="dependencies.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td><td> </td><td> </td><td> </td></tr><%currPv_id = CDbl(rsRep("pv_id"))End If' -------- END GROUP ------------------------%><tr><td> </td><td nowrap><a href="dependencies.asp?pv_id=<%=rsRep("dpv_id")%>&rtag_id=<%=nRtag_id%>" class="txt_linked"><%=rsRep("dpkg_name")%></a></td><td nowrap class="body_row"><%=rsRep("dpkg_version")%></td><td nowrap class="err_alert"><%=rsRep("is_dep_deployable")%></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Bill Of Materials' Description : List products for a BOM' INPUT :'==================================================================================Sub Bill_of_Materials ( SSsection, NNproj_id, NNrtag_id, NNbom_id, NNversion )Dim Query_String, rsRep, rsQryConst Allow_All = TRUEConst Disallow_All = FALSEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If NNversion = "" Then NNversion = -1If SSsection = "TITLE" ThenResponse.write "Software Bill Of Materials (SBOM) products"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Branches ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">SBOM Version</td><td><%Call Get_SBOM_Version ( NNproj_id, NNrtag_id, Disallow_All, NNversion )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="FRrtag_id" value="<%=NNrtag_id%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><p><% Exit SubEnd IfOraDatabase.Parameters.Add "BRANCH_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BOM_VERSION", Request("FRVersion"), ORAPARM_INPUT, ORATYPE_STRINGSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("rep_SBOM.sql"), cint(0))OraDatabase.Parameters.Remove "BRANCH_ID"OraDatabase.Parameters.Remove "BOM_VERSION"Dim bomIdbomId = rsQry("bom_id")rsQry.closeSet rsQry = nothingIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubQuery_String = ReadFile( rootPath & "queries\AllProducts.sql" )OraDatabase.Parameters.Add "BOM_ID", bomId, ORAPARM_INPUT, ORATYPE_NUMBER%></p><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td nowrap class="body_colb">Node Name</td><td nowrap class="body_colb">Operating System</td><td nowrap class="body_colb">Product</td><td nowrap class="body_colb">Version</td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currNode_id, currOs_idcurrNode_id = -1currOs_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "BOM_ID"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='5' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY BASE VIEW -----------------If CDbl(currNode_id) <> CDbl(rsRep("node_id")) Then%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td nowrap class="body_scol"><%=rsRep("node_name")%></td><td nowrap class="body_scol"></td><td nowrap class="body_scol"></td><td nowrap class="body_scol"></td></tr><%currNode_id = CDbl(rsRep("node_id"))End If' -------- END GROUP ------------------------If CDbl(currOs_id) <> CDbl(rsRep("os_id")) Then%><tr><td nowrap class="body_row"></td><td nowrap class="body_scol"><%=rsRep("os_name")%></td><td nowrap class="body_scol"></td><td nowrap class="body_scol"></td></tr><%currOs_id = CDbl(rsRep("Os_id"))End If%><tr><td nowrap class="body_row"></td><td nowrap class="body_row"></td><td nowrap class="body_row"><%=PatchIcon ( rsRep("is_patch"), rsRep("is_obsolete") )%><%=rsRep("pkg_name")%></td><td nowrap class="body_row"><%=rsRep("pkg_version")%></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><p> </p><p> <!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Build History' Description : List packages which were build between certain dates.' INPUT :'==================================================================================Sub Build_History ( SSsection, NNproj_id, NNrtag_id)Dim Query_String, rsRep, rsQryConst Allow_All = TRUEConst Disallow_All = FALSEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If SSsection = "TITLE" ThenResponse.write "Build History"Exit SubEnd IfIf SSsection = "FORM" Then%><script>$(document).ready(function(){var startDateTextBox = $('#FRinitdate');var endDateTextBox = $('#FRduedate');$.timepicker.dateRange(startDateTextBox,endDateTextBox,{constrainInput: true,showOn: 'both',buttonImageOnly : true,buttonImage: "images/i_calendar.gif",buttonText: "Select Date",dateFormat : "D dd-M-yy",maxDate : 0,yearRange : "1970:2099",changeYear : true,changeMonth: true,start: { // start picker optionsonClose : function(p1,p2){checkForm();}},end: { // end picker optionsonClose : function(p1,p2){checkForm();}}});// Setup the submit buttoncheckForm();})// Update the Submit(Add) button based on the number of chars in the TextAreafunction checkForm(){var f1 = $("select[name=FRproj_id]").val().length > 0;var f2 = $("select[name=FRrtag_id]").val().length > 0;var f3 = $("input[name=FRinitdate]").val().length > 0;var f4 = $("input[name=FRduedate]").val().length > 0;var ok=f1 && f2 && f3 && f4;var but = $("#formSubmit");but.toggleClass("form_btn_comp", ok);but.toggleClass("form_btn_comp_disabled", !ok);but.prop("disabled", !ok );}</script><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td colspan="3" nowrap class="form_field">Between<input class="form_item" type="text" name="FRinitdate" maxlength="15" size="15" value="<%=Request.Form("FRinitdate")%>" id="FRinitdate">And<input class="form_item" type="text" name="FRduedate" maxlength="15" size="15" value="<%=Request.Form("FRduedate")%>" id="FRduedate"></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input id="formSubmit" name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><p><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit Sub%></p><table width="20%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb"> </td><td width="5%" nowrap class="body_colb">Package</td><td width="95%" nowrap class="body_colb">Version</td></tr><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currView_idcurrView_id = -1OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "INITDATE", Request.Form("FRinitdate"), ORAPARM_INPUT, ORATYPE_STRINGOraDatabase.Parameters.Add "DUEDATE", Request.Form("FRduedate"), ORAPARM_INPUT, ORATYPE_STRINGSet rsRep = OraDatabase.DbCreateDynaset( GetQuery("rep_build_history.sql"), cint(0) )OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "INITDATE"OraDatabase.Parameters.Remove "DUEDATE"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='5' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY BASE VIEW -----------------If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td valign="top" nowrap class="body_scol"><%=rsRep("view_name")%></td><td> </td><td> </td></tr><%currView_id = CDbl(rsRep("view_id"))End If' -------- END GROUP ------------------------%><tr><td width="1%" nowrap class="body_colb"> </td><td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_name")%></strong></a></td><td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_version")%></strong></a></td></tr><% rsRep.MoveNextWEnd%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><p> </p><p> <!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Escrow Report' Description : Report to extract Products/Patches for Building A RoadMap' INPUT :'==================================================================================Sub Escrow_Report (SSsection, NNproj_id, NNrtag_id, NNbom_id, NNversion)Dim Query_String, rsRep, rsQryConst Allow_All = TRUEConst Disallow_All = FALSEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If NNversion = "" Then NNversion = -1If SSsection = "TITLE" ThenResponse.write "Generation of ESCROW REPORT"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Branches ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">SBOM Version</td><td><%Call Get_SBOM_Version ( NNproj_id, NNrtag_id, Disallow_All, NNversion )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="FRrtag_id" value="<%=NNrtag_id%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><p><% Exit SubEnd IfOraDatabase.Parameters.Add "BRANCH_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BOM_VERSION", Request("FRVersion"), ORAPARM_INPUT, ORATYPE_STRINGSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("rep_SBOM.sql"), cint(0))OraDatabase.Parameters.Remove "BRANCH_ID"OraDatabase.Parameters.Remove "BOM_VERSION"Dim bomId, extbomId = rsQry("bom_id")Set rsQry = OraDatabase.DbCreateDynaset( "select * from release_manager.project_extentions where proj_id="&NNproj_id, cint(0))ext = rsQry("ext_name")rsQry.closeSet rsQry = nothingIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit Sub'---------------------- Run Before Page ---------------------------Call GetReleaseContent ( bomId, objReleaseContent )'Call GetBomDetails (bomId, outobjDetails)'outobjDetails.Item("bom_full_version") = outobjDetails.Item("bom_name")&" "& outobjDetails.Item("bom_version") &"."& outobjDetails.Item("bom_lifecycle")'------------------------------------------------------------------%><html><head><title>Release 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><div align="center"><b><font col color="#FF0000" size="+3">Products</font></b></div><%Set outobjDetails = NothingaReleaseContent = objReleaseContent.KeysFor Each parPv_id In aReleaseContentpvIdList = pvIdList + parPv_id + ","Call GetPackageInformation ( parPv_id, objPackageDetails )Response.Flush%><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") = ext 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 DetailsSet rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Std ( parPv_id ), cint(0))If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThenBldStd = rsQry("bs_name")rsQry.CloseSet rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Env ( parPv_id ), cint(0))%><ul><%While (NOT rsQry.BOF) AND (NOT rsQry.EOF)%><li><%=BldStd%>, <%=rsQry("bm_name")%></li><%rsQry.MoveNextWEnd%></ul><%End If%></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 DetailsSet 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.MoveNextWEnd%></table></td></tr></table><br><br><%'Exit ForNextpvIdList = 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)Response.Flushdpv_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 DetailsSet rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Std ( dpv_id ), cint(0))If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThenBldStd = rsQry("bs_name")rsQry.CloseSet rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Env ( dpv_id ), cint(0))%><ul><%While (NOT rsQry.BOF) AND (NOT rsQry.EOF)%><li><%=BldStd%>, <%=rsQry("bm_name")%></li><%rsQry.MoveNextWEnd%></ul><%End If%></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 DetailsSet 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.MoveNextWEnd%></table></td></tr></table><br><br><%rsTemp.MoveNextWEndrsTemp.Close()Set rsTemp = NothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : AutoBuildable_Report' Description : List packages which were build between certain dates.' INPUT :'==================================================================================Sub AutoBuildable_Report ( SSsection, NNproj_id, NNrtag_id)Dim Query_String, rsRep, rsQryConst Allow_All = TRUEConst Disallow_All = FALSEIf NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If SSsection = "TITLE" ThenResponse.write "Release AutoBuildable Status"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></table><p><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubIf Request("btn") = "Assign" ThenOraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PV_ID_LIST", Request("prod_id_list"), ORAPARM_INPUT, ORATYPE_VARCHAR2objEH.TryORA ( OraSession )On Error Resume NextOraDatabase.ExecuteSQL "BEGIN SET_TO_AUTOBUILDABLE( :RTAG_ID, :PV_ID_LIST ); END;"objEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "PV_ID_LIST"OraDatabase.Parameters.Remove "RTAG_ID"End If%></p><table width="20%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb">Base View</td><td width="5%" nowrap class="body_colb">Package</td><td width="95%" nowrap class="body_colb">Version</td><td width="95%" nowrap class="body_colb">Autobuildable</td></tr><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currView_idcurrView_id = -1OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsRep = OraDatabase.DbCreateDynaset( "SELECT * FROM RELEASE_CONTENT rc, VIEWS vw, PACKAGES pkg, PACKAGE_VERSIONS pv "&_" WHERE pv.pv_id = rc.pv_id" &_" and rc.base_view_id = vw.view_id" &_" and pkg.pkg_id = pv.pkg_id" &_" and rc.RTAG_ID = :RTAG_ID" &_" order by vw.view_name, pkg.pkg_name", cint(0) )OraDatabase.Parameters.Remove "RTAG_ID"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='5' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY BASE VIEW -----------------If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td valign="top" nowrap class="body_scol"><%=rsRep("view_name")%></td><td> </td><td> </td></tr><%currView_id = CDbl(rsRep("view_id"))End If' -------- END GROUP ------------------------%><%If rsRep("is_autobuildable") = "Y" Then%><tr><td width="1%" nowrap class="body_colb"> </td><td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_name")%></strong></a></td><td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_version")%></strong></a></td><%If canShowControlInProject( "SetToReproducible" ) Then%><td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>" checked></td><%Else%><td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>" checked disabled></td><%End If%></tr><%Else%><tr><td width="1%" nowrap class="body_colb"> </td><td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txtr"><strong><%=rsRep("pkg_name")%></strong></a></td><td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txtr"><strong><%=rsRep("pkg_version")%></strong></a></td><%If canShowControlInProject( "SetToReproducible" ) Then%><td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>"></td><%Else%><td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>" disabled></td><%End If%></tr><%End If%><% rsRep.MoveNextWEnd%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><%If canShowControlInProject( "SetToReproducible" ) Then%><td><input name="btn" type="submit" class="form_btn" value="Assign" onClick="clickedButton=true;MM_validateForm('FRduedate','Due Date','R','FRmsg','Message details','R');return document.MM_returnValue"></td><%End If%></tr></table></form><p> </p><p> <!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.Close()Set rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : Unit Tests per Package' Description : List unit tests per package showing the unit test completeness' INPUT : Project, Vesion Tree, Release Label, Base View, Level of Completeness, Show/Hide Dependencies, PV_ID'==================================================================================Sub Unit_Tests_Per_Package ( sSection, nProj_id, nRtag_id, nBase_view_id, nLevel_of_complete, nShow_dependencies, nPv_id )Dim Query_String, rsRepConst Allow_All = TRUEConst Disallow_All = FALSEIf nProj_id = "" Then nProj_id = -1If nRtag_id = "" Then nRtag_id = -1If nShow_dependencies = "" Then nShow_dependencies = 0If nPv_id = "" Then nPv_id = -1If sSection = "TITLE" ThenResponse.write "Unit Tests per Package"Exit SubEnd IfIf sSection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td><td width="1%" align="right" nowrap class="form_field">Project</td><td width="100%"><%Call Get_Projects( nProj_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Release</td><td><%Call Get_Release_Labels ( nProj_id, nRtag_id, Disallow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Base View</td><td><%Call Get_Base_Views ( nRtag_id, nBase_view_id, Allow_All )%></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field">Show Dependencie's Unit Tests</td><td><input type="checkbox" name="FRshow_deps" value="1" <%If nShow_dependencies <> 0 Then%>checked<%End If%>></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="FRtest_complete" value="0"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf sSection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubQuery_String = ReadFile( rootPath & "queries\rep_unit_tests_per_package.sql" )OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BASE_VIEW", nBase_view_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "COMPLETENESS", nLevel_of_complete, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "SHOW_DEPS", nShow_dependencies, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PV_ID", nPv_id, ORAPARM_INPUT, ORATYPE_NUMBER%><table width="100%" border="0" cellspacing="0" cellpadding="1"><tr><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb"> </td><td width="1%" nowrap class="body_colb">Package Name </td><td width="1%" nowrap class="body_colb">Version </td><td width="1%" nowrap class="body_colb">Test Name </td><td width="100%" nowrap class="body_colb">Test Summary </td><td width="1%" nowrap class="body_colb"></td><td width="1%" nowrap class="body_colb">Stamp</td><td width="1%" nowrap class="body_colb">Test Completed </td></tr><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currBase_view_id, currPv_id, currDpv_id, showTestscurrBase_view_id = -1currPv_id = -1currDpv_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "BASE_VIEW"OraDatabase.Parameters.Remove "COMPLETENESS"OraDatabase.Parameters.Remove "SHOW_DEPS"OraDatabase.Parameters.Remove "PV_ID"If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='9' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))If nShow_dependencies <> 0 Then' show dependency is ONIf rsRep("dpkg_name") = "------" ThenshowTests = FALSEElseshowTests = TRUEEnd IfElseshowTests = TRUEEnd If' -------- GROUP BY BASE VIEW -----------------If CDbl(currBase_view_id) <> CDbl(rsRep("base_view_id")) Then%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td valign="top" nowrap class="body_scol"><%=rsRep("view_name")%></td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr><%currBase_view_id = CDbl(rsRep("base_view_id"))End If' -------- END GROUP BASE VIEW ------------------------%><%' -------- GROUP BY PACKAGE -----------------If CDbl(currPv_id) <> CDbl(rsRep("pv_id")) Then%><tr><td><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td> </td><td><%If rsRep("dlocked") = "Y" Then%><img src="images/i_locked.gif" width="7" height="10" hspace="2" title="Officially released."><%Else%><img src="images/spacer.gif" width="7" height="10" hspace="2"><%End If%></td><td nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_name")%></strong></a></td><td nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_version")%></strong></a></td><td> </td><td> </td><td> </td><td> </td><td align="center" valign="top" nowrap><%If nShow_dependencies = 0 Then%><%If IsNull( rsRep("not_done") ) Then%><img src="images/i_boxtick_on.gif" width="13" height="13"><%Else%><img src="images/i_boxtick_off.gif" width="13" height="13"><%End If%><%End If%></td></tr><%currPv_id = CDbl(rsRep("pv_id"))End If' -------- END GROUP PACKAGE ------------------------%><%' -------- GROUP BY DEPENDENCY -----------------If Not IsNull(rsRep("dpv_id")) ThenIf CDbl(currDpv_id) <> CDbl(rsRep("dpv_id")) Then%><tr><td> </td><td> </td><td> </td><td> </td><td valign="top" nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("dpv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("dpkg_name")%></strong></a></td><td valign="top" nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("dpv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("dpkg_version")%></strong></a></td><td> </td><td> </td><td align="center" valign="top" nowrap><%If IsNull( rsRep("not_done") ) Then%><img src="images/i_boxtick_on.gif" width="13" height="13"><%Else%><img src="images/i_boxtick_off.gif" width="13" height="13"><%End If%></td></tr><%currDpv_id = CDbl(rsRep("dpv_id"))End IfEnd If' -------- END GROUP DEPENDENCY ------------------------%><%If Not IsNull( rsRep("completed_by") ) AND showTests Then%><tr><td> </td><td> </td><td> </td><td> </td><td bgcolor="#F5F5F5" valign="top" nowrap class="body_row"><img src="images/i_test.gif" width="16" height="16" hspace="1" align="absmiddle"><%=rsRep("test_name")%></td><td bgcolor="#F5F5F5" valign="top" class="body_row"><%=NewLine_To_BR ( To_HTML ( rsRep("test_summary") ) )%></td><td bgcolor="#F5F5F5" align="center" valign="top"> </td><td bgcolor="#F5F5F5" valign="top" nowrap class="body_txt"><%=DisplayDate ( rsRep("completion_date") )%> <span data-email="<%=rsRep("user_email")%>" class="mailto txt_linked"><%=rsRep("completed_by")%></span> </td><td> </td></tr><tr><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td></tr><%End If%><% rsRep.MoveNextWEnd%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Function Get_CQ_Issues ( SSsql, OOrsCQ )On Error Resume NextSet OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))Get_CQ_Issues = Err.NumberEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function GetRMIssueState (NNpv_id, NNissId)Dim rsTemp, Query_StringDim sQuery_String = _" SELECT (CASE WHEN iss_state = 0 THEN ' (O)' ELSE ' (F)' END) AS issState "&_" FROM cq_issues cq "&_" WHERE cq.pv_id = "& NNpv_id &_" AND cq.iss_id = "& NNissIdSet rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))s = ""If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Thens = (rsTemp.Fields("issState"))End IfrsTemp.CloseSet rsTemp = nothingGetRMIssueState = sEnd Function'----------------------------------------------------------------------------------------------------------------------------------------' Function returns the number of imported clearquest issues' and builds a string suitable for querying the clearquest issues databaseFunction Get_Package_Issues ( NNpv_id, SSsql, DDfixedIss, DDnotesIssDict, nIssState )Dim rsTemp, sqlstr, DEVIiss, retValsqlstr = "SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& NNpv_id &" AND iss_state IN (" & nIssState & ")"Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))retVal = rsTemp.RecordCountDEVIiss = "-1"While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))If CInt(rsTemp("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) ThenDEVIiss = DEVIiss &","& rsTemp("iss_id")End IfrsTemp.MoveNextWEnd' Construct SQL statement for CQ databaseSSsql = ReadFile( rootPath & "queries\cq_issues_rep1.sql" )SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)rsTemp.Close()Set rsTemp = nothingGet_Package_Issues = retValEnd Function'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Sub sdAdd( dict, key, value )if IsNull(value) Thendict.Add CStr(key),""elsedict.Add CStr(key),CStr(value)End IfEnd SubFunction sdItem( dict, i )Dim aDim sa = dict.Itemss = a(i)sdItem=sEnd FunctionFunction sdKey( dict, i )Dim aa = dict.KeyssdKey = a(i)End Function'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Function ReleaseDeviStatus_ReportCheckbox( width, NameAndValue, Label, bCheck )Dim sIf (IsNull(Request(NameAndValue)) OR (Request(NameAndValue) = "")) AND (not bCheck) Thens = "<td width=""" & width & """><INPUT Type=Checkbox name=""" & NameAndValue & """ value=""" & NameAndValue & """>" & Label & "</td>"Elses = "<td width=""" & width & """><INPUT Type=Checkbox CHECKED name=""" & NameAndValue & """ value=""" & NameAndValue & """>" & Label & "</td>"End IfReleaseDeviStatus_ReportCheckbox = sEnd Function'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Function GetCQIssuesListFilterDim ss = ""If not (IsNull(Request("CB_FILTER_FIXED")) OR (Request("CB_FILTER_FIXED") = "")) Thens = CStr(enumISSUES_STATE_FIXED)If not (IsNull(Request("CB_FILTER_OUTSTANDING")) OR (Request("CB_FILTER_OUTSTANDING") = "")) Thens = s & "," & CStr(enumISSUES_STATE_IMPORTED)End IfElseIf not (IsNull(Request("CB_FILTER_OUTSTANDING")) OR (Request("CB_FILTER_OUTSTANDING") = "")) Thens = CStr(enumISSUES_STATE_IMPORTED)End IfEnd IfGetCQIssuesListFilter = sEnd Function'-------------------------------------------------------------------------------------------------------------------------------------------------------------------Function GetPkgNameAndVersion(SSPvId, SSPkgNameAndVer)Dim SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlockedSSpkgID = ""SSpkgName = ""SSpkgVersion = ""SSsrc_path = ""SSpkgDesc = ""BBdlocked = 0Call Get_Pkg_Short_Info( SSPvId, SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked )If not ((SSpkgName = "") and (SSpkgVersion = "")) ThenSSPkgNameAndVer = SSpkgName & " " & SSpkgVersionGetPkgNameAndVersion = TrueElseSSPkgNameAndVer = ""GetPkgNameAndVersion = FalseEnd IfEnd Function'-------------------------------------------------------------------------------------------------------------------------------------------------------------------'==================================================================================' Report Name : ReleaseDeviStatus_Report' Description : List DEVIs for all Package Versions in a Release' INPUT :'==================================================================================Sub ReleaseDeviStatus_Report ( SSsection, NNproj_id, NNrtag_id)Dim rsCQQry ' Query for the CLEARQUEST databaseDim rsRMQry ' Query for the RELEASE MANAGER databaseDim SQLstr ' String to contain a queryDim issueCnt ' Records how many CQ issues were found for a given RM package versionDim retVal ' General return valueDim isFirstDeviRow ' HTML rendering helperDim isRowOpen ' HTML rendering helperDim dict_Iss_Id_to_Iss_Num ' Dictionaries populated during the formation of the package DEVI listDim dict_Iss_Id_to_Iss_DB ' creation, supporting the generation of the DEVI details list.Dim dict_Iss_Id_to_RiskDim dict_Iss_Id_to_SummaryDim dict_Iss_Id_to_CodeRevDim dict_Iss_Id_to_IntNotesDim dict_Iss_Id_to_RelDBPatchesDim dict_Iss_Id_to_PkgDim dict_Iss_Id_to_PvIdDim dict_Iss_Id_to_Iss_StatusDim dict_Iss_Id_to_Iss_TypeDim dict_Iss_Id_to_Aff_PkgDim i,j,k ' General loop varsDim s,strIn,strOut,sDisplay ' General string varsDim a ' General array varDim pkgArr ' Holds an array of CSV strings listing RM package names, 1 array element per unique CQ issue foundDim pkgCsv ' Holds a single CSV string listing RM package names, related to a single unique CQ issueDim pvIdArr ' Holds an array of CSV strings listing RM package PV IDs, 1 array element per unique CQ issue foundDim pvIdCsv ' Holds a single CSV string listing RM package PV IDs, related to a single unique CQ issueDim crRefArr ' Holds an array of code review reference stringsDim relDbPatchArr ' Holds an array of related DB patch stringsDim sqlTblCnt ' Counts the number of tables in the RM query stringDim FSO ' File System ObjectDim NewTextFile ' File ObjectDim emailReport ' Boolean flag signalling email generationDim cqFilterStr ' Fixed and/or Outstanding Issues Filter for RM QueryDim cbWIPChecked ' Default checkbox statesDim cbPendingCheckedDim cbReleasedCheckedDim cbFixedDim cbOutstandingDim cbWithoutIssuesDim cbTraverseRipplesDim reObj ' regular expression objectDim reObjMatchDim NumPkgsListed ' Stats collection varsDim NumIssuesListedDim parRipDate ' traverse ripple limit dateDim lastNonRipplePvId ' pv_id after ripple version traversalDim cqIssId ' clearquest database ID for a given issue (not a human readable number)Const Allow_All = TRUEConst Disallow_All = FALSENumPkgsListed = 0NumIssuesListed = 0If NNproj_id = "" Then NNproj_id = -1If NNrtag_id = "" Then NNrtag_id = -1If SSsection = "TITLE" ThenResponse.write "Release DEVI Status"Exit SubEnd If' Determine if we have to assert default check status on one of the checkboxescbWIPChecked = FalsecbPendingChecked = FalsecbReleasedChecked = FalsecbFixed = FalsecbOutstanding = FalsecbWithoutIssues = FalsecbTraverseRipples = FalseIf (IsNull(Request("CB_FILTER_WIP")) OR (Request("CB_FILTER_WIP") = "")) _and (IsNull(Request("CB_FILTER_PENDING")) OR (Request("CB_FILTER_PENDING") = "")) _and (IsNull(Request("CB_FILTER_RELEASED")) OR (Request("CB_FILTER_RELEASED") = "")) ThencbWIPChecked = TrueEnd IfIf (IsNull(Request("CB_FILTER_FIXED")) OR (Request("CB_FILTER_FIXED") = "")) _and (IsNull(Request("CB_FILTER_OUTSTANDING")) OR (Request("CB_FILTER_OUTSTANDING") = "")) ThencbFixed = TrueEnd IfIf (IsNull(Request("FRripdate")) OR (Request("FRripdate") = "")) ThenparRipDate = DisplayDate(DateAdd("d",-31,Date))ElseparRipDate = Request("FRripdate")End IfIf SSsection = "FORM" Then%><script>$(document).ready(function(){$("#FRripdate").datepicker({constrainInput: true,showOn: 'both',buttonImageOnly : true,buttonImage: "images/i_calendar.gif",buttonText: "Select Date",dateFormat : "D dd-M-yy",maxDate : 0,yearRange : "1970:2099",changeYear : true,changeMonth: true,});});</script><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue"><table width="100%" border="0" cellpadding="2" cellspacing="1"><tr><td width="50%"><table width="100%" border="0" cellpadding="2" cellspacing="1"><tr><td width="10%" align="left" valign="top" nowrap class="form_field">Project</td><td width="90%" valign="top"><%Call Get_Projects( NNproj_id, Disallow_All )%></td></tr><tr><td align="left" nowrap class="form_field">Release</td><td><%Call Get_Open_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td></tr><tr><td colspan="2" height="130px"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td><input name="btn" type="submit" class="form_btn" value="Submit" ></td><td><input name="btn" type="submit" class="form_btn" value="Mail Me CSV Report"><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"></td></tr></table></td><td width="50%"><table width="100%" border="0" cellpadding="2" cellspacing="1"><tr><td width="60%" valign="top"><fieldset><legend><a href="javascript:;" class="body_scol" >Include Package Versions<%=Quick_Help("RepRDS_pv")%> </a></legend><table width="100%" border="0" cellpadding="2" cellspacing="1"><tr><%=ReleaseDeviStatus_ReportCheckbox("25%", "CB_FILTER_WIP", "From Work-in-progress", cbWIPChecked)%></tr><tr><%=ReleaseDeviStatus_ReportCheckbox("17%", "CB_FILTER_PENDING", "From Pending", cbPendingChecked)%></tr><tr><%=ReleaseDeviStatus_ReportCheckbox("20%", "CB_FILTER_RELEASED", "From Released", cbReleasedChecked)%></tr><tr><%=ReleaseDeviStatus_ReportCheckbox("100%", "CB_FILTER_WITHOUT_ISSUES", "Without Issues", cbWithoutIssues)%></tr></table></fieldset></td><td width="40%" valign="top"><fieldset><legend><a href="javascript:;" class="body_scol" > Include Issues<%=Quick_Help("RepRDS_iss")%> </a></legend><table width="100%" border="0" cellpadding="2" cellspacing="1"><tr><%=ReleaseDeviStatus_ReportCheckbox("100%", "CB_FILTER_FIXED", "Fixed", cbFixed)%></tr><tr><%=ReleaseDeviStatus_ReportCheckbox("100%", "CB_FILTER_OUTSTANDING", "Outstanding", cbOutstanding)%></tr></table></fieldset></td></tr><tr><td width="60%" valign="top" colspan="2"><fieldset><legend><a href="javascript:;" class="body_scol" > From Released<%=Quick_Help("RepRDS_trav")%> </a></legend><table width="100%" border="0" cellpadding="0" cellspacing="0"><tr><%=ReleaseDeviStatus_ReportCheckbox("60%", "CB_FILTER_TRAVERSE_RIPPLES", "Traverse Ripples as far back as", cbTraverseRipples)%><td><input type="text" name="FRripdate" maxlength="10" size="12" value="<%=parRipDate%>" id="FRripdate"></td></tr></table></fieldset></td></tr></table></td></tr></table></form></table><%Exit SubEnd IfIf SSsection = "BODY" ThenemailReport = falseIf Request("btn") = "Mail Me CSV Report" ThenemailReport = trueEnd IfIf NOT CBool(Request("action")) Then Exit SubIf NNrtag_id = -1 then Exit Sub' Construct Release Manager Query based upon form settings (rtag and checkbox states)sqlTblCnt = 0SQLstr = "SELECT * FROM ( "If not (IsNull(Request("CB_FILTER_WIP")) OR (Request("CB_FILTER_WIP") = "")) ThensqlTblCnt = sqlTblCnt + 1SQLstr = SQLstr & " SELECT p.PROJ_ID, rt.RTAG_ID, v.VIEW_ID, pk.PKG_ID, pv.PV_ID,"&_" p.PROJ_NAME, rt.RTAG_NAME, v.VIEW_NAME, pk.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.BUILD_TYPE, pv.DLOCKED, 'WIP' as STATE"&_" FROM PACKAGE_VERSIONS pv,"&_" PACKAGES pk,"&_" RELEASE_TAGS rt,"&_" PROJECTS p,"&_" VIEWS v," &_" WORK_IN_PROGRESS wip"&_" WHERE wip.RTAG_ID = :RTAG_ID"&_" AND wip.RTAG_ID = rt.RTAG_ID"&_" AND wip.PV_ID = pv.PV_ID"&_" AND wip.VIEW_ID = v.VIEW_ID"&_" AND pv.PKG_ID = pk.PKG_ID"&_" AND rt.PROJ_ID = p.PROJ_ID"End IfIf not (IsNull(Request("CB_FILTER_PENDING")) OR (Request("CB_FILTER_PENDING") = "")) ThenIf sqlTblCnt > 0 ThenSQLstr = SQLstr & " UNION ALL "End IfsqlTblCnt = sqlTblCnt + 1SQLstr = SQLstr & " SELECT p.PROJ_ID, rt.RTAG_ID, v.VIEW_ID, pk.PKG_ID, pv.PV_ID,"&_" p.PROJ_NAME, rt.RTAG_NAME, v.VIEW_NAME, pk.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.BUILD_TYPE, pv.DLOCKED, 'Pending' as STATE"&_" FROM PACKAGE_VERSIONS pv,"&_" PACKAGES pk,"&_" RELEASE_TAGS rt,"&_" PROJECTS p,"&_" VIEWS v," &_" PLANNED pl"&_" WHERE pl.RTAG_ID = :RTAG_ID"&_" AND pl.RTAG_ID = rt.RTAG_ID"&_" AND pl.PV_ID = pv.PV_ID"&_" AND pl.VIEW_ID = v.VIEW_ID"&_" AND pv.PKG_ID = pk.PKG_ID"&_" AND rt.PROJ_ID = p.PROJ_ID"End IfIf not (IsNull(Request("CB_FILTER_RELEASED")) OR (Request("CB_FILTER_RELEASED") = "")) ThenIf sqlTblCnt > 0 ThenSQLstr = SQLstr & " UNION ALL "End IfsqlTblCnt = sqlTblCnt + 1SQLstr = SQLstr & " SELECT p.PROJ_ID, rt.RTAG_ID, v.VIEW_ID, pk.PKG_ID, pv.PV_ID,"&_" p.PROJ_NAME, rt.RTAG_NAME, v.VIEW_NAME, pk.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.BUILD_TYPE, pv.DLOCKED, 'Released' as STATE"&_" FROM PACKAGE_VERSIONS pv,"&_" PACKAGES pk,"&_" RELEASE_TAGS rt,"&_" PROJECTS p,"&_" VIEWS v," &_" RELEASE_CONTENT rc"&_" WHERE rc.RTAG_ID = :RTAG_ID"&_" AND rc.RTAG_ID = rt.RTAG_ID"&_" AND rc.PV_ID = pv.PV_ID"&_" AND rc.BASE_VIEW_ID = v.VIEW_ID"&_" AND pv.PKG_ID = pk.PKG_ID"&_" AND rt.PROJ_ID = p.PROJ_ID"End IfSQLstr = SQLstr & " )"SQLstr = SQLstr & " ORDER BY UPPER(PKG_NAME), PKG_VERSION"' Exit if nothing to doIf sqlTblCnt = 0 ThenResponse.Write "Select one or more of Work-in-progress/Pending/Released package version states to be considered"Exit SubEnd If' Get SQL string for querying the CLEARQUEST database for this package version's fixed issues enumISSUES_STATE_IMPORTED or enumISSUES_STATE_FIXEDcqFilterStr = GetCQIssuesListFilter()If cqFilterStr = "" ThenResponse.Write "Select one or both of Fixed/Outstanding issues lists to be considered"Exit SubEnd If' Query RELEASE MANAGER for Package versionsOraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsRMQry = OraDatabase.DbCreateDynaset( SQLstr, cint(0))OraDatabase.Parameters.Remove "RTAG_ID"' If no records returned issue a message to user and exitIf rsRMQry.RecordCount = 0 ThenResponse.Write "No records returned - try including additional package version states"Exit SubEnd If' Create a downloadable fileSet FSO = Server.CreateObject("Scripting.FileSystemObject")Set NewTextFile = FSO.CreateTextFile(Server.MapPath("docs\ReleaseDEVIStatus_"&objAccessControl.UserName&".csv"), true)' Create some dictionariesset dict_Iss_Id_to_Iss_Num = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Iss_DB = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Pkg = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Risk = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Summary = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_CodeRev = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_IntNotes = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_RelDBPatches = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_PvId = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Iss_Status = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Iss_Type = CreateObject("Scripting.Dictionary")set dict_Iss_Id_to_Aff_Pkg = CreateObject("Scripting.Dictionary")set reObj = new RegExpNewTextFile.WriteLine(DoubleQuotes("Release DEVI Status Report for " & Get_Proj_Name(Request("FRproj_id")) & ", release " & Get_Release_Name(Request("FRrtag_id"))))NewTextFile.WriteLine("")NewTextFile.WriteLine("Package DEVI List")NewTextFile.WriteLine("")NewTextFile.WriteLine("""Package"",""Label"",""State"",""Issue Number"",""Issue Summary""")%><H3>Release DEVI Status Report for project <a href="rtree.asp?proj_id=<%=NNproj_id%>" class="txt_linked"><%=Get_Proj_Name(Request("FRproj_id"))%></a>, release <a href="dependencies.asp?rtag_id=<%=NNrtag_id%>" class="txt_linked"><%=Get_Release_Name(Request("FRrtag_id"))%></a></H3><H4>Contents</H4><table width="100%" border="0" cellspacing="0" cellpadding="1"><tr><td valign="top" nowrap width="15%"><a href="#C1">Package DEVI List</a></td><td valign="top" width="85%">This contains the list of package versions in the release, along with the CLEARQUEST issues assigned to them.</td></tr><tr><td> </td><td> </td></tr><tr><td valign="top"><a href="#C2">DEVI Details List</a></td><td valign="top">This contains the list of CLEARQUEST issues for the release, along with selected details for each, and a reference back to the package versions to which they have been assigned.</td></tr><tr><td valign="top"><a href="#C3">Statistics</a></td><td valign="top">This contains some statistics collected during the report generation.</td></tr><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><H5><a name="C1">Package DEVI List</a></H5><table width="100%" border="0" cellspacing="0" cellpadding="1"><tr><td width="10%" nowrap class="body_colb">Package </td><td width="10%" nowrap class="body_colb">Label </td><td width="10%" nowrap class="body_colb">State </td><td width="10%" class="body_colb">Issue Number<br>(F)=Fixed<br>(O)=Outstanding</td><td width="60%" nowrap class="body_colb">Issue Summary </td></tr><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%while ((NOT rsRMQry.BOF) AND (NOT rsRMQry.EOF))isFirstDeviRow = 1isRowOpen = 1' If this package version is a ripple, try and find its non-ripple predecessor in order to get at the' issues that were addressedlastNonRipplePvId = rsRMQry("PV_ID")If not (IsNull(Request("CB_FILTER_TRAVERSE_RIPPLES")) OR (Request("CB_FILTER_TRAVERSE_RIPPLES") = "")) Thenif ((rsRMQry("BUILD_TYPE") = "Y") and (rsRMQry("DLOCKED") = "Y")) ThenIf (IsNull(Request("FRripdate")) OR (Request("FRripdate") = "")) ThenlastNonRipplePvId = getLastNonRippleVersionPVID(rsRMQry("PV_ID"), NULL, NULL)ElselastNonRipplePvId = getLastNonRippleVersionPVIDLimitedByDate(rsRMQry("PV_ID"), Request("FRripdate"))End IfIf IsNull(lastNonRipplePvId) or (lastNonRipplePvId = "") ThenlastNonRipplePvId = rsRMQry("PV_ID")End IfEnd IfEnd IfissueCnt = Get_Package_Issues (lastNonRipplePvId, SQLstr, NULL, NULL, cqFilterStr )if (issueCnt > 0) _or not(IsNull(Request("CB_FILTER_WITHOUT_ISSUES")) OR (Request("CB_FILTER_WITHOUT_ISSUES") = "")) ThenNumPkgsListed = NumPkgsListed + 1%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%NewTextFile.Write(DoubleQuotes(rsRMQry("PKG_NAME")) & ",")NewTextFile.Write(DoubleQuotes(rsRMQry("PKG_LABEL")) & ",")NewTextFile.Write(DoubleQuotes(rsRMQry("STATE")) & ",")%><tr><td valign="top"><a href="fixed_issues.asp?rtag_id=<%=NNrtag_id%>&pv_id=<%=rsRMQRy("PV_ID")%>" class="txt_linked"><%=rsRMQry("PKG_NAME")%></a></td><td valign="top"><%=rsRMQry("PKG_LABEL")%></td><td valign="top"><%=rsRMQry("STATE")%></td><%' Complete the row immediately if this package version has no issues, else process the issues.if issueCnt = 0 ThenNewTextFile.WriteLine(",")%><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td></tr><%isRowOpen = 0Else' Query the CLEARQUEST databaseretVal = Get_CQ_Issues ( SQLstr, rsCQQry )If retVal = 0 ThenWhile ((NOT rsCQQry.BOF) AND (NOT rsCQQry.EOF))Dim issueNumberissueNumber = rsCQQry("ISS_NUM") & GetRMIssueState (lastNonRipplePvId, rsCQQry("ISS_ID"))' Keep dictionary of issue IDs to human readable issue numbers, plus other info we will need later on for the reportIf not dict_Iss_Id_to_Iss_Num.Exists(CStr(rsCQQry("ISS_ID"))) ThensdAdd dict_Iss_Id_to_Iss_Num, rsCQQry("ISS_ID"), issueNumbersdAdd dict_Iss_Id_to_Iss_DB, rsCQQry("ISS_ID"), rsCQQry("ISS_DB")sdAdd dict_Iss_Id_to_Risk, rsCQQry("ISS_ID"), rsCQQry("RISK")sdAdd dict_Iss_Id_to_Summary, rsCQQry("ISS_ID"), rsCQQry("SUMMARY")sdAdd dict_Iss_Id_to_CodeRev, rsCQQry("ISS_ID"), rsCQQry("CR_REF")sdAdd dict_Iss_Id_to_IntNotes, rsCQQry("ISS_ID"), rsCQQry("INT_NOTES")sdAdd dict_Iss_Id_to_RelDBPatches, rsCQQry("ISS_ID"), rsCQQry("DB_PATCHES")sdAdd dict_Iss_Id_to_Iss_Type, rsCQQry("ISS_ID"), rsCQQry("ISSUE_TYPE")sdAdd dict_Iss_Id_to_Iss_Status, rsCQQry("ISS_ID"), rsCQQry("STATUS")sdAdd dict_Iss_Id_to_Aff_Pkg, rsCQQry("ISS_ID"), rsCQQry("AFFECTED_PACKAGES")End If' Keep dictionary of issue IDs to release manager package names (latter is a comma separated list)If dict_Iss_Id_to_Pkg.Exists(CStr(rsCQQry("ISS_ID"))) Thendict_Iss_Id_to_Pkg.Item(CStr(rsCQQry("ISS_ID"))) = dict_Iss_Id_to_Pkg.Item(CStr(rsCQQry("ISS_ID"))) & "," & CStr(rsRMQry("PKG_NAME")) & " " & CStr(rsRMQry("PKG_VERSION"))ElsesdAdd dict_Iss_Id_to_Pkg, rsCQQry("ISS_ID"), rsRMQry("PKG_NAME") & " " & CStr(rsRMQry("PKG_VERSION"))End If' Keep dictionary of issue IDs to release manager package version IDs (latter is a comma separated list)If dict_Iss_Id_to_PvId.Exists(CStr(rsCQQry("ISS_ID"))) Thendict_Iss_Id_to_PvId.Item(CStr(rsCQQry("ISS_ID"))) = dict_Iss_Id_to_PvId.Item(CStr(rsCQQry("ISS_ID"))) & "," & CStr(rsRMQry("PV_ID"))ElsesdAdd dict_Iss_Id_to_PvId, rsCQQry("ISS_ID"), rsRMQry("PV_ID")End If' Begin new row if neededif isRowOpen = 0 ThenisRowOpen = 1%><tr><%End If' If first row, no need to pad since those columns have already been filled in outer loopIf isFirstDeviRow = 1 ThenisFirstDeviRow = 0NewTextFile.Write(DoubleQuotes(issueNumber) & ",")NewTextFile.WriteLine(DoubleQuotes(rsCQQry("SUMMARY")))%><td valign="top"><a class="txt_linked" href="#<%=rsCQQry("ISS_ID")%>"><%=issueNumber%></a></td><td valign="top"><%=rsCQQry("SUMMARY")%></td><%ElseNewTextFile.Write(",,," & DoubleQuotes(issueNumber) & ",")NewTextFile.WriteLine(DoubleQuotes(rsCQQry("SUMMARY")))%><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top"><a class="txt_linked" href="#<%=rsCQQry("ISS_ID")%>"><%=issueNumber%></a></td><td valign="top"><%=rsCQQry("SUMMARY")%></td><%End If' End this rowisRowOpen = 0%></tr><%rsCQQry.MoveNextWend ' end of loop processing each issuersCQQry.CloseElseNewTextFile.WriteLine("," & DoubleQuotes("ERROR - could not get issue details from CLEARQUEST"))%><td><img src="images/spacer.gif" width="1" height="1"></td><td>ERROR - could not get issue details from CLEARQUEST</td><%End If' Complete the row if neededif isRowOpen = 1 Thenif (isFirstDeviRow = 1) ThenNewTextFile.WriteLine(",")%><td><img src="images/spacer.gif" width="1" height="1"></td><td><img src="images/spacer.gif" width="1" height="1"></td><%End IfisRowOpen = 0%></tr><%End IfEnd IfEnd IfrsRMQry.MoveNextWend ' End of loop processing each package versionset rsCQQry = nothing%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><%NewTextFile.WriteLine("")NewTextFile.WriteLine("DEVI Details List")NewTextFile.WriteLine("")NewTextFile.WriteLine("""Issue Number"",""Property"",""Details""")%><H5><a name="C2">DEVI Details List</a></H5><table width="100%" border="0" cellspacing="0" cellpadding="1"><tr><td width="10%" nowrap class="body_colb">Issue Number </td><td width="20%" nowrap class="body_colb">Property </td><td width="70%" nowrap class="body_colb">Details </td></tr><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%For i = 0 To (dict_Iss_Id_to_Iss_Num.Count - 1)cqIssId = sdKey(dict_Iss_Id_to_Iss_Num, i)NumIssuesListed = NumIssuesListed + 1%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' First line is the DEVI Number, and its summary infos = sdItem(dict_Iss_Id_to_Summary,i) ' Prepare for CSVs = Replace(s,"""","""""")NewTextFile.WriteLine(DoubleQuotes(sdItem(dict_Iss_Id_to_Iss_Num,i)) & ",Issue Summary," & DoubleQuotes(s))s = sdItem(dict_Iss_Id_to_Summary,i) ' Prepare for HTMLs = NewLine_To_BR(To_HTML(s))%><tr><td valign="top"><a name="<%=cqIssId%>" class="txt_linked vixIframeDialog" href="_wform_issues_details.asp?iss_db=<%=sdItem(dict_Iss_Id_to_Iss_DB,i)%>&iss_id=<%=sdKey(dict_Iss_Id_to_Iss_Num,i)%>"><%=sdItem(dict_Iss_Id_to_Iss_Num,i)%></a></td><td valign="top">Issue Summary:</td><td valign="top"><%=s%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI Type Value (ie Defect, Future Enhancement, etc)NewTextFile.WriteLine(",Type," & DoubleQuotes(sdItem(dict_Iss_Id_to_Iss_Type,i)))%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Type:</td><td valign="top"><%=sdItem(dict_Iss_Id_to_Iss_Type, i)%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI Status ValueNewTextFile.WriteLine(",Status," & DoubleQuotes(sdItem(dict_Iss_Id_to_Iss_Status,i)))%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Status:</td><td valign="top"><%=sdItem(dict_Iss_Id_to_Iss_Status, i)%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI Risk ValueNewTextFile.WriteLine(",Risk," & DoubleQuotes(sdItem(dict_Iss_Id_to_Risk,i)))%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Risk:</td><td valign="top"><%=sdItem(dict_Iss_Id_to_Risk, i)%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI's code review referencea = dict_Iss_Id_to_CodeRev.Items ' Get collection into an arrays = a(i) ' Get array element into a strings = Replace(s, chr(13), "+") ' Replace possible delimiters with a single delimiter ("+")s = Replace(s, chr(10), "+")s = Replace(s, " ", "+")crRefArr = Split(s,"+") ' Split on our contrived delimiter and iterate through resultsNewTextFile.Write(",Code Review Ref,""")%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Code Review Ref:</td><td valign="top"><%For j = 0 To UBOUND(crRefArr)if not ((crRefArr(j) = "+") or (crRefArr(j) = ",") or (Trim(crRefArr(j)) = "")) Thenif j = 0 ThenNewTextFile.Write(Trim(crRefArr(j)))%><a href="<%=Trim(crRefArr(j))%>" class="txt_linked"><%=Trim(crRefArr(j))%></a><%ElseNewTextFile.Write("," & Trim(crRefArr(j)))%><a href="<%=Trim(crRefArr(j))%>" class="txt_linked"><br><%=Trim(crRefArr(j))%></a><%End IfEnd IfNextNewTextFile.WriteLine("""")%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI's related DB Patches' This is quite complicated but at the end of the day, we are aiming to convert the free form text in' the CLEARQUEST devi into a list of hyperlinks to the actual package versions in RM, based on the assumption' that the free form text contains PV_ID numbers somewhere therein.a = dict_Iss_Id_to_RelDBPatches.Items ' Get collection into an arrays = a(i) ' Get array element into a strings = Replace(s, chr(13), "+") ' Replace possible delimiters with a single delimiter ("+")s = Replace(s, chr(10), "+")s = Replace(s, " ", "+")relDbPatchArr = Split(s,"+") ' Split on our contrived delimiter and iterate through resultsNewTextFile.Write(",Related DB Patches,""")%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Related DB Patches:</td><td valign="top"><%For j = 0 To UBOUND(relDbPatchArr)if not ((relDbPatchArr(j) = "+") or (relDbPatchArr(j) = ",") or (Trim(relDbPatchArr(j)) = "")) Then' Given that the Related DB Patches is a free form text field in a CLEARQUEST DEVI,' it can contain a variety of text. Normally it contains a list of PV_ID's but it' can also contain the patch file names (eg. orahops.467229_patch.xml) which normally' contains PV_IDs embedded within them. We have to cater for both approaches and' somehow extract those PV_IDs. We have already split the string so we know we are' now dealing with a single item, but sometimes users name their packages or files with' numbers as well as letters. The code below looks for the longest numeric sequence' and assumes that is the PV_IDDim lenMax,lenThis,objMatchlenMax = 0lenThis = 0sDisplay = Trim(relDbPatchArr(j)) 'default' search for numeric sequences in the stringreObj.IgnoreCase = TruereObj.Global = TruereObj.Pattern = "[0-9]+"set reObjMatch = reObj.Execute(Trim(relDbPatchArr(j)))If reObjMatch.Count > 0 Then' Look for the longest numeric sequencefor each objMatch in reObjMatchlenThis = objMatch.LengthIf lenThis > lenMax ThenlenMax = lenThissDisplay = objMatch 'sDisplay is now a numeric sequenceEnd Ifnextif (lenMax > 0) Then' Form the display string as "PV_ID (package-name package-version)"If GetPkgNameAndVersion(sDisplay, s) ThensDisplay = sDisplay & " (" & s & ")"Else' Couldn't get the package name/version from RM so it is likely this number' is not a true/real PV_ID so revert to the simpler display format we began with' as a default.sDisplay = Trim(relDbPatchArr(j)) 'reset to full stringlenMax = 0 'zero to force simpler display format in HTMLEnd IfEnd IfEnd Ifif j = 0 ThenNewTextFile.Write(Trim(sDisplay))If (lenMax = 0) Then%><%=Trim(relDbPatchArr(j))%><%Else%><a href="dependencies.asp?pv_id=<%=Trim(relDbPatchArr(j))%>" class="txt_linked"><%=sDisplay%></a><%End IfElseNewTextFile.Write("," & Trim(sDisplay))If (lenMax = 0) Then%><%=Trim(relDbPatchArr(j))%><%Else%><a href="dependencies.asp?pv_id=<%=Trim(relDbPatchArr(j))%>" class="txt_linked"><br><%=sDisplay%></a><%End IfEnd IfEnd IfNextNewTextFile.WriteLine("""")%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI's affected packages fields = sdItem(dict_Iss_Id_to_Aff_Pkg,i) ' Prepare for CSVs = Replace(s,"""","""""")NewTextFile.WriteLine(",Affected Packages," & DoubleQuotes(s))s = sdItem(dict_Iss_Id_to_Aff_Pkg,i) ' Prepare for HTMLs = NewLine_To_BR(To_HTML(s))%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Affected Packages:</td><td valign="top"><%=s %></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line(s) is/are the packages this DEVI is assigned to, in release managerpkgArr = dict_Iss_Id_to_Pkg.ItemspkgCsv = pkgArr(i)pkgArr = Split(pkgCsv, ",")pvIdArr = dict_Iss_Id_to_PvId.ItemspvIdCsv = pvIdArr(i)pvIdArr = Split(pvIdCsv, ",")NewTextFile.Write(",RM Assigned Packages,""")%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">RM Assigned Packages:</td><td valign="top"><%For j = 0 To UBOUND(pkgArr)If j = 0 ThenNewTextFile.Write(pkgArr(j))%><a href="fixed_issues.asp?rtag_id=<%=NNrtag_id%>&pv_id=<%=pvIdArr(j)%>" class="txt_linked"><%=pkgArr(j)%></a><%ElseNewTextFile.Write("," & pkgArr(j))%><a href="fixed_issues.asp?rtag_id=<%=NNrtag_id%>&pv_id=<%=pvIdArr(j)%>" class="txt_linked"><br><%=pkgArr(j)%></a><%End IfNextNewTextFile.WriteLine("""")%></td></tr><%'-------------------------------------------------------------------------------------------------------------------------------' Next line is the DEVI's integration notess = sdItem(dict_Iss_Id_to_IntNotes, i) 'Prepare for CSVs = Replace(s,"""","""""")NewTextFile.WriteLine(",Integration Notes," & DoubleQuotes(s))s = sdItem(dict_Iss_Id_to_IntNotes, i) ' Prepare for HTMLs = NewLine_To_BR(To_HTML(s))%><tr><td valign="top"><img src="images/spacer.gif" width="1" height="1"></td><td valign="top">Integration Notes:</td><td valign="top"><%=s %></td></tr><%Next%><tr><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><H5><a name="C3">Statistics</a></H5>Report generated on <%=DisplayDate(Date)%> at <%=Time%><BR><%=NumPkgsListed %> Package(s) Listed<BR><%=NumIssuesListed %> Issue(s) Listed<BR><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><%' Clean uprsRMQry.Closeset rsRMQry = nothingset dict_Iss_Id_to_Iss_Num = nothingset dict_Iss_Id_to_Iss_DB = nothingset dict_Iss_Id_to_Pkg = nothingset dict_Iss_Id_to_Risk = nothingset dict_Iss_Id_to_Summary = nothingset dict_Iss_Id_to_CodeRev = nothingset dict_Iss_Id_to_IntNotes = nothingset dict_Iss_Id_to_RelDBPatches = nothingset dict_Iss_Id_to_PvId = nothingset dict_Iss_Id_to_Iss_Status = nothingset dict_Iss_Id_to_Iss_Type = nothingset dict_Iss_Id_to_Aff_Pkg = nothingset reObj = nothingNewTextFile.CloseSet NewTextFile=Nothing' EMAIL CSV report if user has requested itIf emailReport ThenDim LocalPathLocalPath = Server.MapPath("docs\ReleaseDEVIStatus_"&objAccessControl.UserName&".csv")Send_Email "Release Manager Notification",_ADMIN_EMAIL, _objAccessControl.UserEmail,_"Release DEVI Status Report (csv) from Release Manager", _"Your requested report...",_LocalPathEnd IfEnd IfEnd Sub%><%'==================================================================================' Report Name : Find Files within a Package' Description : Locate all files in all versions of the package' Form Input : Package Name, File Name ( Wild cards allowed )'==================================================================================Sub Find_Package_File ( SSsection, SSpkg_name, SSfile_name )Dim Query_String, rsRepIf SSsection = "TITLE" ThenResponse.write "Find Files within a Package"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R', 'FRfile_name','File Name','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td><td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td><td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>HINTS:<br>- You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field" valign="top">File Name</td><td class="form_txt"><input type="text" name="FRfile_name" size="10" class="form_item" value="<%=SSv_ext%>"><br>You can use Wildcards</td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenConst img_Official = "<img src='images/i_locked.gif' width='7' height='10' hspace='3' align='absmiddle'>"If NOT CBool(Request("action")) Then Exit SubIf SSpkg_name = "" Then SSpkg_name = "%"If SSv_ext = "" Then SSv_ext = "%"Query_String = ReadFile( rootPath & "queries\rep_package_version_history.sql" )Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )Query_String = Replace ( Query_String, "/*V_EXT*/", Replace( SQLstring(SSv_ext), "*", "%") )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb" align="right">Official<%=img_Official%></td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Location</td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currPv_idcurrPv_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='4' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY Package Version -----------------If Cstr(currPv_id) <> Cstr(rsRep("pv_id")) Then%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td align="right"><%If rsRep("dlocked") = "Y" Then%><%=img_Official%><%End If%></td><td nowrap class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td><td colspan='2' class="body_scol"></td></tr><%currPv_id = Cstr(rsRep("pv_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td class="body_row"></td><%If IsNull(rsRep("rtag_id")) Then%><td nowrap class="body_txt_gray" valign="top">Not Used!</td><%Else%><td nowrap class="body_row" valign="top"><%=rsRep("proj_name") &" > "& rsRep("vtree_name") &" > "& rsRep("rtag_name") &" > <a href='dependencies.asp?pv_id="& rsRep("pv_id") &"&rtag_id="& rsRep("rtag_id") &"' class='txt_linked'>"& rsRep("pkg_name") &" "& rsRep("pkg_version") &"</a>"%></td><%End If%><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'==================================================================================' Report Name : Find Files within a Package' Description : Locate all files in all versions of the package' Form Input : Package Name, File Name ( Wild cards allowed )'==================================================================================Sub Find_Package_File ( SSsection, SSpkg_name, SSfile_name )Dim Query_String, rsRepIf SSsection = "TITLE" ThenResponse.write "Find Files within a Package"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R', 'FRfile_name','File Name','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td><td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td><td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>HINTS:<br>- You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field" valign="top">File Name</td><td class="form_txt"><input type="text" name="FRfile_name" size="10" class="form_item" value="<%=SSfile_name%>"><br>You can use Wildcards</td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenConst img_Official = "<img src='images/i_locked.gif' width='7' height='10' hspace='3' align='absmiddle'>"If NOT CBool(Request("action")) Then Exit SubIf SSpkg_name = "" Then SSpkg_name = "%"If SSfile_name = "" Then SSfile_name = "%"Query_String = ReadFile( rootPath & "queries\rep_package_version_history.sql" )Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )Query_String = Replace ( Query_String, "/*V_EXT*/", Replace( SQLstring(SSfile_name), "*", "%") )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb" align="right">Official<%=img_Official%></td><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Location</td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currPv_idcurrPv_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='4' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY Package Version -----------------If Cstr(currPv_id) <> Cstr(rsRep("pv_id")) Then%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td align="right"><%If rsRep("dlocked") = "Y" Then%><%=img_Official%><%End If%></td><td nowrap class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td><td colspan='2' class="body_scol"></td></tr><%currPv_id = Cstr(rsRep("pv_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td class="body_row"></td><%If IsNull(rsRep("rtag_id")) Then%><td nowrap class="body_txt_gray" valign="top">Not Used!</td><%Else%><td nowrap class="body_row" valign="top"><%=rsRep("proj_name") &" > "& rsRep("vtree_name") &" > "& rsRep("rtag_name") &" > <a href='dependencies.asp?pv_id="& rsRep("pv_id") &"&rtag_id="& rsRep("rtag_id") &"' class='txt_linked'>"& rsRep("pkg_name") &" "& rsRep("pkg_version") &"</a>"%></td><%End If%><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%><%'==================================================================================' Report Name : Find Files within a Package' Description : Locate all files in all versions of the package' Form Input : Package Name, File Name ( Wild cards allowed )'==================================================================================Sub Find_Package_File ( SSsection, SSpkg_name, SSfile_name )Dim Query_String, rsRepIf SSsection = "TITLE" ThenResponse.write "Find Files within a Package"Exit SubEnd IfIf SSsection = "FORM" Then%><table width="100%" border="0" cellpadding="2" cellspacing="1"><form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R', 'FRfile_name','File Name','R');return document.MM_returnValue"><tr><td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td><td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td><td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field" valign="top">Path Name</td><td class="form_txt"><input type="text" name="FRfile_name" size="10" class="form_item" value="<%=SSfile_name%>"><br>You should use * wildcards. e.g. /lib/*.a</td></tr><tr><td nowrap class="form_field"> </td><td align="right" nowrap class="form_field"> </td><td><br><input type="hidden" name="group" value="<%=parGroup%>"><input type="hidden" name="repnum" value="<%=parRepNum%>"><input type="hidden" name="action" value="true"><input name="Submit" type="submit" class="form_btn" value="Submit"></td></tr></form></table><% Exit SubEnd IfIf SSsection = "BODY" ThenIf NOT CBool(Request("action")) Then Exit SubIf SSpkg_name = "" Then SSpkg_name = "%"If SSfile_name = "" Then SSfile_name = "%"Query_String = ReadFile( rootPath & "queries\rep_package_file_find.sql" )Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )Query_String = Replace ( Query_String, "/*FILE_NAME*/", Replace( SQLstring(SSfile_name), "*", "%") )%><table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td width="1%" nowrap class="body_colb">Package Name and Version </td><td width="1%" nowrap class="body_colb">Location</td><td width="100%" nowrap class="body_colb"> </td></tr><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%Dim currPv_idcurrPv_id = -1Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )If rsRep.RecordCount = 0 ThenWith Response.write "<tr>".write "<td colspan='3' class='body_row'>Found 0 records</td>".write "</tr>"End WithEnd IfWhile ((NOT rsRep.BOF) AND (NOT rsRep.EOF))' -------- GROUP BY Package Version -----------------If Cstr(currPv_id) <> Cstr(rsRep("pv_id")) Then%><tr><td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td><td></td></tr><tr><td nowrap class="body_row" valign="top"><a href="dependencies.asp?pv_id=<%=rsRep("pv_id")%>" class="txt_linked"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td><td colspan="2" class="body_scol"></td></tr><%currPv_id = Cstr(rsRep("pv_id"))End If' -------- END GROUP ------------------------%><tr><td class="body_row"></td><td nowrap class="body_row" valign="top"><%=rsRep("filename")%></td><td class="body_row"></td></tr><% rsRep.MoveNextWEnd%><tr><td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table><!-- PRINT, SAVE, ETC. ------------><%If parPrint = "" Then%><br><br><a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br><br><%End If%><!-- PRINT, SAVE, ETC. END --------><%rsRep.CloseSet rsRep = nothingEnd IfEnd Sub%>