Rev 64 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| Product Issues |'| |'=====================================================%><%Option explicitResponse.Expires = 0%><!--#include file="common/globals.asp"--><!--#include file="common/config.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/_product_common.asp"--><%'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_general.asp"--><%'------------ VARIABLE DEFINITION -------------Dim rsQryDim errNumberDim objIssueCollectorDim altRowColorDim currRowColorDim outORDER_BYDim parFilter_onDim parBase_env_idDim objFormCollectorDim a, b, VersionList, sqlstrA'------------ CONSTANTS DECLARATION -----------Const LIMG_FIXED = "<img src='icons/i_tick.gif' border='0' hspace='2' title='Latest Fixed Issue'>"Const LIMG_OLD_FIXED = "<img src='icons/i_tick_gray.gif' border='0' hspace='2' title='Old Fixed Issue'>"'------------ VARIABLE INIT -------------------errNumber = 0Set objIssueCollector = CreateObject("Scripting.Dictionary")Set objFormCollector = CreateObject("Scripting.Dictionary")parProd_id = Request("prod_id_list")parOs_id = Request("os_id")parBom_id = Request("bom_id")parFilter_on = Request("filter_on")parBase_env_id = Request("base_env_id")'------------ CONDITIONS ----------------------'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------Sub GetFormDetails ( nProd_id, nOs_id, nBaseEnvId, nBom_id, ByRef outobjDetails )Dim rsQry, queryOraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER'/* Get Project Details */query = _" SELECT proj.RM_PROJECTS_FK, bo.rtag_id_fk"&_" FROM BOMS bo,"&_" BRANCHES br,"&_" DM_PROJECTS proj"&_" WHERE br.PROJ_ID = proj.PROJ_ID"&_" AND bo.BRANCH_ID = br.BRANCH_ID"&_" AND bo.BOM_ID = :BOM_ID"Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThenoutobjDetails.Item ("rm_projects_fk") = rsQry("rm_projects_fk")outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id_fk")ElseErr.Raise 8, "Sub GetFormDetails", "Empty record set returned. nBom_id="& nBom_idEnd IfOraDatabase.Parameters.Remove "PROD_ID"OraDatabase.Parameters.Remove "OS_ID"OraDatabase.Parameters.Remove "BASE_ENV_ID"OraDatabase.Parameters.Remove "BOM_ID"rsQry.CloseSet rsQry = NothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------'----------------------------------------------------------------------------------------------------------------------------------------Sub GetIssueDetails ( nIssID, nIssDB, oIssueCollector, nErrNumber )Dim query, rsCQIf objFormCollector.Item("rm_projects_fk") = 122 Thenquery = GetQuery ("IssuesList_cqVTSUP.sql")query = Replace( query, "/*VTSUPiss*/", nIssID )Elsequery = GetQuery ("IssuesList_cqDEVI.sql")query = Replace( query, "/*DEVIiss*/", nIssID )End IfSet rsCQ = Server.CreateObject("ADODB.Recordset")nErrNumber = GetCQIssue ( query, rsCQ )If nErrNumber = 0 ThenIf (NOT rsCQ.BOF) AND (NOT rsCQ.EOF) ThenoIssueCollector.Item ("iss_id") = CStr( rsCQ("iss_id") )oIssueCollector.Item ("iss_num") = CStr( rsCQ("iss_num") )oIssueCollector.Item ("summary") = CStr( rsCQ("summary") )oIssueCollector.Item ("status") = CStr( rsCQ("status") )oIssueCollector.Item ("priority") = CStr( rsCQ("priority") )oIssueCollector.Item ("issue_type") = CStr( rsCQ("issue_type") )End IfEnd IfEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------Function GetCQIssue ( sSQL, oRsCQ )On Error Resume NextoRsCQ.ActiveConnection = CQ_CONNoRsCQ.Source = sSQLoRsCQ.CursorType = 0oRsCQ.CursorLocation = 2oRsCQ.LockType = 3oRsCQ.Open()GetCQIssue = Err.NumberEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Function SetRowColor( cRowColor )If cRowColor = "" ThenSetRowColor = altRowColorElseSetRowColor = ""End IfEnd Function'----------------------------------------------------------------------------------------------------------------------------------------Sub PreviousVersions(a, b)If CLng(a) < CLng(b) ThenWhile CLng(a) < CLng(b)b = LastPvId(b)If CLng(a) < CLng(b) ThenVersionList = VersionList + ","& bEnd IfWendEnd IfIf CLng(b) < CLng(a) ThenWhile CLng(b) < CLng(a)a = LastPvId(a)If CLng(b) < CLng(a) ThenVersionList = VersionList + ","& aEnd IfWendEnd IfEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------Sub GetDependencies(pv_id_a, pv_id_b)VersionList = "0"Set sqlstrA = OraDatabase.DbCreateDynaset("select distinct dpv_id from package_dependencies where pv_id IN ("& pv_id_b &") and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" ) order by dpv_id desc", cint(0))If sqlstrA.RecordCount <> 0 ThenWhile ((NOT sqlstrA.BOF) AND (NOT sqlstrA.EOF))VersionList = VersionList + ","& sqlstrA("dpv_id")sqlstrA.MoveNextWendEnd IfsqlstrA.Close()Set sqlstrA = NothingEnd Sub'----------------------------------------------------------------------------------------------------------------------------------------Function LastPvId(pvId)Dim qryASet qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&pvId , cint(0))LastPvId = pvIdIf pvId <> qryA("last_pv_id") ThenLastPvId = qryA("last_pv_id")Elseerrormsg = trueEnd IfqryA.Close()Set qryA = NothingEnd Function'----------------------------------------------------------------------------------------------------------------------------------------%><%'------------ RUN BEFORE PAGE RENDER ----------' --- Get Form details from DB ---Call GetFormDetails ( parProd_id, parOs_id, parBase_env_id, parBom_id, objFormCollector )'----------------------------------------------%><html><head><title>Production Manager</title><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css"><script language="JavaScript" src="scripts/common.js"></script></head><body leftmargin="0" topmargin="0"><!-- HEADER ++++++++++++++++ --><!--#include file="_header.asp"--><!-- +++++++++++++++++++++++ --><!-- MAIN MENU + CRUMBS ++++++++++++++++ --><!--#include file="_main_menu.asp"--><!-- +++++++++++++++++++++++++++++++++++++ --><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%" valign="top" background="images/bg_bage_0.gif"><!-- NODE BROWSER ++++++++++++++++++++++ --><!--#include file="_bom_browser.asp"--><!-- END OF NODE BROWSER +++++++++++++++ --></td><td width="1" background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="600"></td><td width="100%" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" background="images/bg_green.gif"></td><td align="right" valign="bottom" background="images/bg_green.gif" class="body_txtw"><%Call RenderTitle( objProdCollector )%></td><td background="images/bg_green.gif"><img src="images/spacer.gif" width="10" height="20"></td></tr><tr><td width="1%" valign="top" background="images/bg_green.gif"></td><td width="100%" valign="bottom" background="images/bg_green.gif"><!-- TAB CONTROLS ++++++++++++++++++++++ --><!--#include file="_tabs_definition.asp"--><%Set objTabControl = New TabControlobjTabControl.TemplateDoc = ReadFile( Server.MapPath("controls/ERGTabStyleWinXP/tab_style.html") ) ' Supply tab style definitionobjTabControl.TabStyle = "StyleWinXP"objTabControl.AddTabDefnition ( arrProdTabDef )objTabControl.SelectByName ("Issues")objTabControl.Render ()%><!-- END OF TAB CONTROLS +++++++++++++++ --></td><td width="1%" background="images/bg_green.gif"><img src="images/spacer.gif" width="10" height="35"></td></tr><tr><td background="images/bg_bage_0.gif"><img src="images/spacer.gif" width="30" height="10"></td><td background="images/bg_bage_0.gif"><!-- BUTTONS CONTROL +++++++++++++++++++ --><%'-- Define Action buttons on this tab'aTabBtnsDef = Array("btnAddOs", "width=10", "btnCopyOs", "btnPasteOs")'Call LoadTabActionButtons ( aTabBtnsDef, objBtnControl )'objBtnControl.Render( aTabBtnsDef )%><!-- +++++++++++++++++++++++++++++++++++ --></td><td background="images/bg_green.gif"><img src="images/p_bar_corrner.gif" width="17" height="42"></td></tr><tr><td> </td><td> </td><td valign="top"><%If Request.Cookies( enumCOOKIE_NAME )( "user_bar" ) = "hide" Then%><a href="<%=SCRIPT_NAME%>?user_bar=<%=enumDEFAULT%>&<%=objPMod.ComposeURL()%>"><img src="icons/b_left.gif" title="Maximize favourits" width="13" height="13" vspace="5" border="0"></a><%End If%></td></tr></table><table width="100%" border="0" cellspacing="10" cellpadding="0"><tr><td><!-- PAGE DETAILS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%OraDatabase.Parameters.Add "PROD_ID", dbPARprod_id, ORAPARM_INPUT, ORATYPE_NUMBER%><form name="OldVersion" method="get" action="<%=SCRIPT_NAME%>"><SPAN class="body_txt">Changes since version </SPAN><select name="old_prod_id" class="form_ivalue"><option value=""></option><%Dim nOldProdIDnOldProdID = Request("old_prod_id")If nOldProdID = "" Then nOldProdID = objProdCollector.Item ("last_pv_id")OraDatabase.Parameters.Add "PKG_ID", objProdCollector.Item ("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "V_EXT", objProdCollector.Item ("v_ext"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OLD_PROD_ID", nOldProdID, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PROJ_ID", objFormCollector.Item("rm_projects_fk"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BRANCH_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "FILTER_ON", 0, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductVersionsList.sql"), ORADYN_DEFAULT )While (NOT rsQry.BOF) AND (NOT rsQry.EOF)%><option value="<%=rsQry("pv_id")%>" <%=rsQry("selected")%>><%=rsQry("pkg_version")%></option><%rsQry.MoveNextWEndrsQry.CloseOraDatabase.Parameters.Remove "PROD_ID"OraDatabase.Parameters.Remove "PKG_ID"OraDatabase.Parameters.Remove "V_EXT"OraDatabase.Parameters.Remove "OLD_PROD_ID"OraDatabase.Parameters.Remove "PROJ_ID"OraDatabase.Parameters.Remove "BRANCH_ID"OraDatabase.Parameters.Remove "FILTER_ON"%></select><%=objPMod.ComposeHiddenTags()%><input type="submit" name="btn" value="Compare" class="form_btn"><hr width="100%" size="1px" noshade color="Black"></form><table width="100%" border="0" cellspacing="3" cellpadding="0"><tr><td width="1%" nowrap align="right" <%Call DisplayColumn("Issue ID", "iss_id", outORDER_BY, TRUE)%></td><td width="100%" nowrap align="right" <%Call DisplayColumn("Summary", NULL, outORDER_BY, FALSE)%></td><td width="1%" nowrap align="right" <%Call DisplayColumn("Issue Type", NULL, outORDER_BY, FALSE)%></td><td width="1%" nowrap align="right" <%Call DisplayColumn("Priority", NULL, outORDER_BY, FALSE)%></td><td width="1%" nowrap align="right" <%Call DisplayColumn("Source", "pkg_name", outORDER_BY, FALSE)%></td></tr><%VersionList = "0"On Error Resume NextDim rsQryLastSet rsQryLast = OraDatabase.DbCreateDynaset( "SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="& Request("old_prod_id"), cint(0))If rsQryLast("last_pv_id") <> Request("prod_id") ThenCall PreviousVersions( Request("prod_id"), Request("old_prod_id") )End IfCall GetDependencies(Request("prod_id"), VersionList + ","+ Request("old_prod_id"))Set rsQry = OraDatabase.DbCreateDynaset( "select * from cq_issues cq, packages pkg, package_versions pv "&_" where cq.iss_db = 7 and pv.pv_id IN ("&VersionList&") and pv.pkg_id = pkg.pkg_id and cq.pv_id = pv.pv_id order by pv.pv_id desc", ORADYN_DEFAULT )'Response.Write VersionListDo While (NOT rsQry.BOF) AND (NOT rsQry.EOF)Call GetIssueDetails ( rsQry("iss_id"), rsQry("iss_db"), objIssueCollector, errNumber )currRowColor = SetRowColor( currRowColor )If errNumber <> 0 Then Exit Do%><tr><td <%=currRowColor%> nowrap valign="top" class="body_link"><%=objIssueCollector.Item ("iss_num")%></td><td <%=currRowColor%> valign="top" class="body_rowlite"><%=objIssueCollector.Item ("summary")%></td><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"><%=objIssueCollector.Item ("issue_type")%></td><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"><%=objIssueCollector.Item ("priority")%></td><%If IsEmpty(objIssueCollector.Item ("summary")) Then%><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"></a></td><%Else%><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"><%=rsQry("pkg_name").Value &" "& rsQry("pkg_version").Value%></a></td><%End If%></tr><%rsQry.MoveNext%><%If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then%><tr><td colspan="6"><img src="images/spacer.gif" width="1" height="1"></td></tr><%End If%><%LooprsQry.Close()Set rsQry = NothingrsQryLast.Close()Set rsQryLast = NothingOraDatabase.Parameters.Add "PROD_ID", dbPARprod_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OLD_PROD_ID", objProdCollector.Item("last_pv_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OTHER_PROD_ID", dbPARprod_id, ORAPARM_INPUT, ORATYPE_NUMBERIf objFormCollector.Item("rm_projects_fk") = 122 ThenSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("VTIssuesList.sql") & outORDER_BY, ORADYN_DEFAULT )ElseSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("IssuesList.sql") & outORDER_BY, ORADYN_DEFAULT )End IfaltRowColor = "bgcolor='#F7F7F8'"currRowColor = ""Do While (NOT rsQry.BOF) AND (NOT rsQry.EOF)Call GetIssueDetails ( rsQry("iss_id"), rsQry("iss_db"), objIssueCollector, errNumber )currRowColor = SetRowColor( currRowColor )If errNumber <> 0 Then Exit Do%><tr><td <%=currRowColor%> nowrap valign="top" class="body_link"><%=objIssueCollector.Item ("iss_num")%></td><td <%=currRowColor%> valign="top" class="body_rowlite"><%=objIssueCollector.Item ("summary")%></td><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"><%=objIssueCollector.Item ("issue_type")%></td><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"><%=objIssueCollector.Item ("priority")%></td><%If IsEmpty(objIssueCollector.Item ("summary")) Then%><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"></a></td><%Else%><td <%=currRowColor%> nowrap valign="top" class="body_rowlite"><%=rsQry("pkg_name").Value &" "& rsQry("pkg_version").Value%></a></td><%End If%></tr><%rsQry.MoveNext%><%If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then%><tr><td colspan="6"><img src="images/spacer.gif" width="1" height="1"></td></tr><%End If%><%LoopOraDatabase.Parameters.Remove "PROD_ID"OraDatabase.Parameters.Remove "OLD_PROD_ID"OraDatabase.Parameters.Remove "OTHER_PROD_ID"%><%If errNumber <> 0 Then '--- Handle any errors during data retrieve from MS SQL database (i.e. Cannot connect to DB.)%><tr><td colspan="6"><%Response.write enumMSSQL_ERROR%></td></tr><%End If%><tr><td colspan="6" background="images/bg_table_border.gif"><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td nowrap background="images/bg_table_col.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr></table></td></tr></table><!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --></td></tr></table></td><td width="1%" valign="top" background="images/bg_favourits.gif"><!-- PERSONAL BAR +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><!--#include file="_personal_bar.asp"--><!-- END OF PERSONAL BAR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --></td></tr><tr><td background="images/bg_bage_0a.gif"><img src="images/spacer.gif" width="1" height="15"></td><td background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="1"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="20"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td><td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td><td bgcolor="#FFFFFF"> </td></tr></table><!-- FOOTER ++++++++++++++++ --><!--#include file="_footer.asp"--><!-- +++++++++++++++++++++++ --></body></html><%'------------ RUN AFTER PAGE RENDER -----------Set objPMod = NothingSet objCrumbs = NothingSet objTabControl = NothingSet objBtnControl = Nothing'----------------------------------------------%><!--#include file="common/globals_destructor.asp"-->