Rev 1284 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| DIFF |'| |'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><%'To enable the script timeout to 5 minsServer.ScriptTimeout=600%><!--#include file="common/config.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/common_dbedit.asp"--><!--#include file="common/_form_window_common.asp"--><!--#include file="common/_rtree_common.asp"--><%' Set rfile parameter. This is a return page after Login'Call objPMod.StoreParameter ( "rfile", "rtree.asp" )'objPMod.PersistInQryString("proj_id")'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_general.asp"--><%'------------ Variable Definition -------------Dim rsQryDim objRelCollectorADim objRelCollectorBDim parRtagADim parRtagBDim parSBOMADim parSBOMBDim dDiffFilterDim colorA, colorB, ChangeTypeIconDim btnMerge, btnRemoveDim rowIdDim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, sqlstrC, counterBDim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss, VTSUPissDim a, b, c, d, pkgversion, errormsg, source_changeDim VersionList'------------ Constants Declaration -----------Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Added'>"Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Removed'>"Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"Const LCOLOR_NOT_CHANGED = "#F5F5F5"Const LCOLOR_CHANGED = "#d2f7c9"Const LCOLOR_BLANK = "#FFFFFF"Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"'------------ Variable Init -------------------Set rsCQ = Server.CreateObject("ADODB.Recordset")parRtagA = Request("rtagA")parRtagB = Request("rtagB")parSBOMA = Request("sbomA")parSBOMB = Request("sbomB")Set objRelCollectorA = CreateObject("Scripting.Dictionary")Set objRelCollectorB = CreateObject("Scripting.Dictionary")Set dDiffFilter = CreateObject("Scripting.Dictionary")'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------Sub GetDiffFilterValues ( outDepFilter )Dim FilterVal, aFilterValuesIf Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" ThenaFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",")For Each FilterVal In aFilterValuesoutDepFilter.Item (CStr( FilterVal )) = ""NextEnd IfEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub GetFixedIssues(pv_id)Set sqlstrC = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &" AND iss_db="& CInt(enumCLEARQUEST_VTSUP_ID) &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))If sqlstrC.RecordCount <> 0 ThenWhile ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF))DEVIiss = "-1"TDSEiss = "-1"VT5DMiss = "-1"VTSUPiss = "-1"If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) ThenDEVIiss = DEVIiss &","& sqlstrC("iss_id")ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) ThenTDSEiss = TDSEiss &","& sqlstrC("iss_id")ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) ThenVT5DMiss = VT5DMiss &","& sqlstrC("iss_id")ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) ThenVTSUPiss = VTSUPiss &","& sqlstrC("iss_id")End IfSSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)SSsql = Replace( SSsql, "/*enumCLEARQUEST_TDSE_ID*/", enumCLEARQUEST_TDSE_ID)SSsql = Replace( SSsql, "/*enumCLEARQUEST_VT5DM_ID*/", enumCLEARQUEST_VT5DM_ID)SSsql = Replace( SSsql, "/*enumCLEARQUEST_VTSUP_ID*/", enumCLEARQUEST_VTSUP_ID)SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)SSsql = Replace( SSsql, "/*VTSUPiss*/", VTSUPiss)retVal = Get_CQ_Issues ( SSsql, rsCQ )sqlstrC.MoveNextWendEnd IfsqlstrC.Close()Set sqlstrC = 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'--------------------------------------------------------------------------------------------------------------------------Sub PreviousVersions(a, b, versionA, versionB)If CLng(a) < CLng(b) ThenWhile CLng(a) < CLng(b)b = LastPvId(b)If CLng(a) < CLng(b) ThenVersionList = VersionList + ","& b &""Call Comments(b)Call GetFixedIssues(b)End IfWendEnd IfIf CLng(b) < CLng(a) ThenWhile CLng(b) < CLng(a)a = LastPvId(a)If CLng(b) < CLng(a) ThenVersionList = VersionList + ","& a &""Call Comments(a)Call GetFixedIssues(a)End IfWendEnd IfEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub pkg_Version(pv)Dim qrySet qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))pkgversion = qry("pkg_version")qry.Close()Set qry = NothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------Function GetIsDiffFilterInUseIcon()GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROWIf dDiffFilter.Count > 0 ThenGetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROWEnd IfEnd Function'--------------------------------------------------------------------------------------------------------------------------Function GetIsDiffFilterChecked( nFilterId )If dDiffFilter.Exists ( CStr(nFilterId) ) ThenGetIsDiffFilterChecked = "checked"End IfEnd Function'---------------------------------------------------------------------------------------------------------------------------Function Get_CQ_Issues ( SSsql, OOrsCQ )If OOrsCQ.State = 1 ThenOOrsCQ.CloseEnd IfOn Error Resume NextOOrsCQ.ActiveConnection = CQ_connOOrsCQ.Source = SSsqlOOrsCQ.CursorType = 0OOrsCQ.CursorLocation = 2OOrsCQ.LockType = 3OOrsCQ.Open()Get_CQ_Issues = Err.NumberEnd Function'--------------------------------------------------------------------------------------------------------------------------Public Function TextToHTML ( sString )Dim mStringIf (sString = "") OR IsNull(sString) Then Exit FunctionmString = Server.HTMLEncode( sString )mString = Replace(mString, VBNewLine, "<br>")TextToHTML = mStringEnd Function'--------------------------------------------------------------------------------------------------------------------------Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )Dim rsQry, query' Exit if nSourceRtagId is emptyIf nSourceSBOM = "" Then Exit SubOraDatabase.Parameters.Add "SBOM", nSourceSBOM, ORAPARM_INPUT, ORATYPE_NUMBERquery = _" SELECT pr.PROJ_NAME ||' > '|| br.BRANCH_NAME ||' > '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE AS LOCATION, "&_" pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID, b.IS_READONLY"&_" FROM BRANCHES br,"&_" BOMS b,"&_" DM_PROJECTS pr"&_" WHERE br.PROJ_ID = pr.PROJ_ID"&_" AND b.BRANCH_ID = br.BRANCH_ID"&_" AND b.BOM_ID = :SBOM"Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )OraDatabase.Parameters.Remove "SBOM"If rsQry.RecordCount > 0 ThenoutobjDetails.Item ("location") = rsQry("location")outobjDetails.Item ("official") = rsQry("IS_READONLY")outobjDetails.Item ("proj_id") = rsQry("proj_id")outobjDetails.Item ("branch_id") = rsQry("branch_id")outobjDetails.Item ("bom_id") = rsQry("bom_id")ElseErr.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOMEnd IfIf outobjDetails.Item ("location") = "" ThenoutobjDetails.Item ("location") = "N"End IfrsQry.CloseSet rsQry = NothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------Sub GetDiffStateIcon( nDiffState, outIcon )Select Case nDiffStateCase "U"outIcon = LIMG_UPDATEDCase "UW"outIcon = LIMG_UPDATEDCase "A"outIcon = LIMG_ADDEDCase "R"outIcon = LIMG_REMOVEDCase ElseoutIcon = ""End SelectEnd Sub'--------------------------------------------------------------------------------------------------------------------------%><%'------------ RUN BEFORE PAGE RENDER ----------If Request("btn") = "Exit" ThenCall OpenInWindow ( "reports.asp" )End If' Get release detailsCall GetFormDetails ( parSBOMA, objRelCollectorA )Call GetFormDetails ( parSBOMB, objRelCollectorB )If Request("btn") = "Swap Compare" ThenCall OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )End IfIf Request("btn") = "Hide" Then' Store filter in cookieResponse.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")End IfCall GetDiffFilterValues ( dDiffFilter )'----------------------------------------------%><html><head><title>Production Manager SBOM Differences</title><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="scripts/deployment_manager.css" type="text/css"><link rel="stylesheet" href="images/release_manager_style.css" type="text/css"><link rel="stylesheet" href="images/navigation.css" type="text/css"><script language="JavaScript" src="images/common.js"></script><script language="JavaScript" src="scripts/remote_scripting.js"></script><script language="JavaScript" type="text/javascript"><!--function RequestReleaseCombo( paramString, rowId ){var requestURL = 'RequestReleaseCombo.asp';// Set ajax divnameajaxdivname = rowId;//Append the name to search for to the requestURLvar url = requestURL + paramString;//Progress//alert(MM_findObj( rowId ));//MM_findObj( rowId ).options[0] = new Option('Loading...','');//MM_findObj( rowId ).selectedIndex = 0;rowId.options[0] = new Option('Loading...','');rowId.selectedIndex = 0;//Create the xmlHttp object to use in the request//stateChangeHandler will fire when the state has changed, i.e. data is received back// This is non-blocking (asynchronous)xmlHttp = GetXmlHttpObject(stateComboChangeHandler);//Send the xmlHttp get to the specified urlxmlHttp_Get(xmlHttp, url);}function RequestSBOMCombo( paramString, rowId ){var requestURL = 'RequestSBOMCombo.asp';// Set ajax divnameajaxdivname = rowId;//Append the name to search for to the requestURLvar url = requestURL + paramString;//Progress//alert(MM_findObj( rowId ));//MM_findObj( rowId ).options[0] = new Option('Loading...','');//MM_findObj( rowId ).selectedIndex = 0;rowId.options[0] = new Option('Loading...','');rowId.selectedIndex = 0;//Create the xmlHttp object to use in the request//stateChangeHandler will fire when the state has changed, i.e. data is received back// This is non-blocking (asynchronous)xmlHttp = GetXmlHttpObject(stateComboChangeHandler);//Send the xmlHttp get to the specified urlxmlHttp_Get(xmlHttp, url);}function UndoPackage ( rowId ){// Set merge/remove hidden field with new valueMM_findObj( 'ADDPKG_' + rowId ).value = '';MM_findObj( 'REMOVEPKG_' + rowId ).value = '';var divA = MM_findObj( 'PVA' + rowId );var divB = MM_findObj( 'PVB' + rowId );// Set text equaldivB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;divB.style.textDecoration = 'none';// Set highlight to blankdivA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;// Set Change state icon to blankMM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';// Remove Merge Buttonvar cht = MM_findObj( 'CHANGETYPE_' + rowId );if (cht.value == "R"){MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';}else if ( (cht.value == "A") || (cht.value == "") ){MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';}else{MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';}// Show undo buttonMM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';}//--></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0"><form name="FormName" method="post" action="<%=SCRIPT_NAME%>"><!-- HEADER --><!--#include file="_header.asp"--><!-- BODY ----><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%" background="images/bg_lightgreen.gif" valign="top"><!-- SELECT SBOM A ----------------------------------------------><br><table width="100%" border="0" cellspacing="10" cellpadding="0"><tr><td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13"> Select SBOM A<hr size="1px" color="Olive" noshade></td></tr><!-- <tr><td align="left"><select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );"><option value="">-- Select Project --</option><%OraDatabase.Parameters.Add "PROJ_ID", objRelCollectorA.Item("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))OraDatabase.Parameters.Remove "PROJ_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></select></td></tr><tr><td align="left"><select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );"><option value="">-- Select SBOM --</option><%OraDatabase.Parameters.Add "PROJ_ID", objRelCollectorA.Item("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BRANCH_ID", objRelCollectorA.Item("branch_id"), ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))OraDatabase.Parameters.Remove "PROJ_ID"OraDatabase.Parameters.Remove "BRANCH_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></select></td></tr> --><tr><td align="left"><select name="sbomA" id="sbomA" class="form_item"><%If objAccessControl.IsActive("Vasttrafik") ThennBranchId = 1142ElsenBranchId = 542End IfOraDatabase.Parameters.Add "BOM_ID", objRelCollectorA.Item("bom_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BRANCH_ID", nBranchId, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductionTreeCombo.sql"), cint(0))OraDatabase.Parameters.Remove "BOM_ID"OraDatabase.Parameters.Remove "BRANCH_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("bom_name")%>><%=rsQry("bom_version")%></option><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></select></td></tr><%If (parRtagA <> "") Then%><!-- <tr><td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A »</a></td></tr> --><%End If%></table><!-- SELECT SBOM A END ----------------------------------------------> </td><td width="1%" valign="top" background="images/bg_lght_gray.gif"> </td><td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"><!-- DIFF --------------------------------------------------------><br><table width="100%" border="0" cellspacing="10" cellpadding="0"><tr><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td width="1%"></td><td width="100%" align="left" class="form_ttl">DIFF SBOM</td><td width="1%"></td></tr><tr><td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td><td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl"> </td><td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td></tr><tr><td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td><td bgcolor="#FFFFFF" valign="top" class="form_item"><table width="100%" border="0" cellspacing="0" cellpadding="5"><tr><td width="100%" bgcolor="#DAD7C8"><input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;"><input type="submit" name="btn" value="Swap Compare" class="form_btn_comp" style="margin-right:5px;"><%If parSBOMA <> parSBOMB AND parSBOMA <> "" AND parSBOMB <> "" Then%><input name="generate_button" id="generate_button" type="button" class="form_btn" value="Generate Report" onclick="window.open('diff_report.asp?sbomA=<%=parSBOMA%>&sbomB=<%=parSBOMB%>');"><%End If%></td><td width="1" align="right" bgcolor="#DAD7C8" nowrap><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td></tr></table></td></tr><tr><td><%If (parRtagA <> "") AND (parRtagB <> "")Then%><!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ --><fieldset style="width:150px;"><legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %> Filter Results...</a></legend><div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;"><br><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td><td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td></tr><tr><td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td><td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td></tr><tr><td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td><td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td></tr><tr><tr><td background="images/bg_action_norm.gif"> </td><td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td></tr></table></div></fieldset><!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%End If%></td><td></td></tr></table><%' Successfull MergeIf (Request("btn") = "Merge") ThenCall Messenger ( "Merge has completed successfully.", 3, "100%" )End IfIf (parSBOMA <> "") AND (parSBOMB <> "") Then%><table width="100%" border="0" cellspacing="1" cellpadding="0"><tr><td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td><td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td><td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td><td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td><td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td><td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td></tr><%OraDatabase.Parameters.Add "SBOM_A", parSBOMA, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "SBOM_B", parSBOMB, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE), ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "ADDED", GetIsDiffFilterChecked(enumDB_DIFF_NEW), ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "UPDATED", GetIsDiffFilterChecked(enumDB_DIFF_UPDATED), ORAPARM_INPUT, ORATYPE_VARCHAR2OraDatabase.Parameters.Add "REMOVED", GetIsDiffFilterChecked(enumDB_DIFF_REMOVED), ORAPARM_INPUT, ORATYPE_VARCHAR2Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiff.sql"), cint(0))OraDatabase.Parameters.Remove "SBOM_A"OraDatabase.Parameters.Remove "SBOM_B"OraDatabase.Parameters.Remove "NO_CHANGE"OraDatabase.Parameters.Remove "ADDED"OraDatabase.Parameters.Remove "UPDATED"OraDatabase.Parameters.Remove "REMOVED"Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE AS LOCATION, "&_" pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_" FROM BRANCHES br,"&_" BOMS b,"&_" DM_PROJECTS pr"&_" WHERE br.PROJ_ID = pr.PROJ_ID"&_" AND b.BRANCH_ID = br.BRANCH_ID"&_" AND b.BOM_ID ="&parSBOMA, cint(0))Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE AS LOCATION, "&_" pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_" FROM BRANCHES br,"&_" BOMS b,"&_" DM_PROJECTS pr"&_" WHERE br.PROJ_ID = pr.PROJ_ID"&_" AND b.BRANCH_ID = br.BRANCH_ID"&_" AND b.BOM_ID ="&parSBOMB, cint(0))While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))VersionList = "0"errormsg = falserowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")btnMerge = LIMG_MERGEbtnRemove = LIMG_REMOVEcolorA = LCOLOR_NOT_CHANGEDcolorB = LCOLOR_NOT_CHANGEDSelect Case rsQry("change_type")Case "U"colorA = LCOLOR_CHANGEDcolorB = LCOLOR_CHANGEDCase "UW"colorA = LCOLOR_CHANGEDcolorB = LCOLOR_CHANGEDbtnMerge = LIMG_MERGE_WARNCase "A"colorA = LCOLOR_BLANKCase "R"colorB = LCOLOR_BLANKEnd SelectCall GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )%><tr><td class="body_row" nowrap><DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;"><%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%></DIV><input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>"></td><td bgcolor="#F5F5F5"></td><td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td><td bgcolor="#F5F5F5"></td><td class="body_row" nowrap><DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;"><%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%></DIV><input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>"><input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value=""><input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value=""><input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>"></td><td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td></tr><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></table><br><%Else%><br><%If (parRtagB <> "") ThenCall Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )ElseIf (parRtagA <> "") ThenCall Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )ElseCall Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )End If%><%End If%></td><td width="1%" background="images/lbox_bgside_white.gif"> </td></tr><tr><td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td><td background="images/lbox_bg_blue.gif"></td><td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td></tr></table></td></tr></table><!-- DIFF END ----------------------------------------------------></td><td valign="top" width="1%" background="images/bg_lightgreen.gif"><!-- SELECT SBOM B ----------------------------------------------><br><table width="100%" border="0" cellspacing="10" cellpadding="0"><tr><td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13"> Select SBOM B<hr size="1px" color="Olive" noshade></td></tr><!-- <tr><td align="left"><select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );"><option value="">-- Select Project --</option><%OraDatabase.Parameters.Add "PROJ_ID", objRelCollectorB.Item("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))OraDatabase.Parameters.Remove "PROJ_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></select></td></tr><tr><td align="left"><select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );"><option value="">-- Select SBOM --</option><%OraDatabase.Parameters.Add "PROJ_ID", objRelCollectorB.Item("proj_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BRANCH_ID", objRelCollectorB.Item("branch_id"), ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))OraDatabase.Parameters.Remove "PROJ_ID"OraDatabase.Parameters.Remove "BRANCH_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></select></td></tr> --><tr><td align="left"><select name="sbomB" id="sbomB" class="form_item"><%Dim nBranchIdIf objAccessControl.IsActive("Vasttrafik") ThennBranchId = 1142ElsenBranchId = 542End IfOraDatabase.Parameters.Add "BOM_ID", objRelCollectorB.Item("bom_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BRANCH_ID", nBranchId, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductionTreeCombo.sql"), cint(0))OraDatabase.Parameters.Remove "BOM_ID"OraDatabase.Parameters.Remove "BRANCH_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%><option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("bom_name")%>><%=rsQry("bom_version")%></option><%rsQry.MoveNextWEndrsQry.CloseSet rsQry = Nothing%></select></td></tr><%If (parRtagB <> "") Then%><!-- <tr><td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B »</a></td></tr> --><%End If%></table><!-- SELECT RELEASE B END ----------------------------------------------> </td></tr><tr><td valign="bottom" align="center" background="images/bg_lightgreen.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td><td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td><td valign="bottom" background="images/bg_lightgreen.gif" align="center"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td></tr></table></form><!-- FOOTER --><!--#include file="_footer.asp"--><%'If email Then'Dim myMail, LocalPath'Set myMail=Server.CreateObject("Persits.MailSender")'LocalPath = Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html")' myMail.Host = SMTP_HOST' myMail.Subject="BOM Comparisons from Deployment Manager"' myMail.From="releasem@erggroup.com"' myMail.AddAddress objAccessControl.UserEmail' Attach the file' myMail.AddAttachment LocalPath' myMail.Body = "Your requested report..."' myMail.Send' set myMail=nothing'End If%></body></html><%Call Destroy_All_Objects%><!--#include file="common/globals_destructor.asp"-->