Subversion Repositories DevTools

Rev

Rev 1284 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'|                                                   |
'|                                       DIFF                                        |
'|                                                   |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0    ' always load the page, dont store
%>

<%
'To enable the script timeout to 5 mins
Server.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 rsQry
Dim objRelCollectorA
Dim objRelCollectorB
Dim parRtagA
Dim parRtagB
Dim parSBOMA
Dim parSBOMB
Dim dDiffFilter
Dim colorA, colorB, ChangeTypeIcon
Dim btnMerge, btnRemove
Dim rowId
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, sqlstrC, counterB
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss, VTSUPiss           
Dim a, b, c, d, pkgversion, errormsg, source_change
Dim 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, aFilterValues
        
        If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then       
                aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",") 
                
                For Each FilterVal In aFilterValues
                        outDepFilter.Item (CStr( FilterVal )) = ""
                Next

        End If
        
End 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 Then
                
                While ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF))
                        DEVIiss = "-1"
                        TDSEiss = "-1"
                        VT5DMiss = "-1"
                        VTSUPiss = "-1"
                                
                        If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
                                DEVIiss = DEVIiss &","& sqlstrC("iss_id")
                        ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
                                TDSEiss = TDSEiss &","& sqlstrC("iss_id")
                        ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
                                VT5DMiss = VT5DMiss &","& sqlstrC("iss_id")             
                        ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) Then
                                VTSUPiss = VTSUPiss &","& sqlstrC("iss_id")                                                                                             
                        End If
                        
                        SSsql = 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.MoveNext

                Wend


        End If
        
        sqlstrC.Close()
        Set sqlstrC = Nothing
                        

End Sub
'--------------------------------------------------------------------------------------------------------------------------
Function LastPvId(pvId)
        Dim qryA
        Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&pvId , cint(0))
        
        LastPvId = pvId
        
        If pvId <> qryA("last_pv_id") Then      
                LastPvId = qryA("last_pv_id")
        Else 
                errormsg = true
        End If
        
        qryA.Close()
        Set qryA = Nothing

End Function
'--------------------------------------------------------------------------------------------------------------------------
Sub PreviousVersions(a, b, versionA, versionB)
        
        If CLng(a) < CLng(b) Then
                While CLng(a) < CLng(b)
                        b = LastPvId(b)
                        If CLng(a) < CLng(b) Then
                                VersionList = VersionList + ","& b &""
                                Call Comments(b)
                                Call GetFixedIssues(b)
                        End If
                Wend
        End If  

        If CLng(b) < CLng(a) Then
                While CLng(b) < CLng(a)
                        a = LastPvId(a)
                        If CLng(b) < CLng(a) Then
                                VersionList = VersionList + ","& a &""
                                Call Comments(a)
                                Call GetFixedIssues(a)
                        End If
                Wend    
        End If
                 

End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub pkg_Version(pv)
        Dim qry 
        Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))     
        pkgversion = qry("pkg_version")
        qry.Close()
        Set qry = Nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Function GetIsDiffFilterInUseIcon()
        GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
        
        If dDiffFilter.Count > 0 Then
                GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
        End If
        
End Function
'--------------------------------------------------------------------------------------------------------------------------
Function GetIsDiffFilterChecked( nFilterId )
        
        If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
                GetIsDiffFilterChecked = "checked"
        End If
        
End Function
'---------------------------------------------------------------------------------------------------------------------------
Function  Get_CQ_Issues ( SSsql, OOrsCQ )

        If OOrsCQ.State = 1 Then 
                OOrsCQ.Close
        End If
        
        On Error Resume Next
        OOrsCQ.ActiveConnection = CQ_conn
        OOrsCQ.Source = SSsql
        OOrsCQ.CursorType = 0
        OOrsCQ.CursorLocation = 2
        OOrsCQ.LockType = 3
        OOrsCQ.Open()
        Get_CQ_Issues = Err.Number
        
End Function
'--------------------------------------------------------------------------------------------------------------------------
Public Function TextToHTML ( sString )
        Dim mString
                
        If (sString = "") OR IsNull(sString) Then Exit Function
        
        mString = Server.HTMLEncode( sString )
        mString = Replace(mString, VBNewLine, "<br>")
                
        TextToHTML = mString
End Function
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
        Dim rsQry, query
        
        ' Exit if nSourceRtagId is empty
        If nSourceSBOM = "" Then Exit Sub 

        OraDatabase.Parameters.Add "SBOM",      nSourceSBOM,            ORAPARM_INPUT, ORATYPE_NUMBER 
        
        query = _
        " SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| 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 Then
                outobjDetails.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")         
        Else
                Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
        End If
        
        If outobjDetails.Item ("location") = "" Then
                outobjDetails.Item ("location") = "N"
        End If
        
        rsQry.Close
        Set rsQry = Nothing
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub GetDiffStateIcon( nDiffState, outIcon )

        Select Case nDiffState
                Case "U"
                        outIcon  = LIMG_UPDATED         
                Case "UW"
                        outIcon  = LIMG_UPDATED                 
                Case "A"
                        outIcon = LIMG_ADDED                    
                Case "R"
                        outIcon = LIMG_REMOVED                  
                Case Else
                        outIcon = ""                    
        End Select
        
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
If Request("btn") = "Exit" Then
        Call OpenInWindow ( "reports.asp" )
End If

' Get release details
Call GetFormDetails ( parSBOMA, objRelCollectorA )
Call GetFormDetails ( parSBOMB, objRelCollectorB )

If Request("btn") = "Swap Compare" Then
        Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
End If

If Request("btn") = "Hide" Then
        ' Store filter in cookie
        Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
End If


Call 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 divname
        ajaxdivname = rowId;
        
        //Append the name to search for to the requestURL
        var 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 url
        xmlHttp_Get(xmlHttp, url);
        
        
}

function RequestSBOMCombo( paramString, rowId ){
        var requestURL = 'RequestSBOMCombo.asp';

        // Set ajax divname
        ajaxdivname = rowId;
        
        //Append the name to search for to the requestURL
        var 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 url
        xmlHttp_Get(xmlHttp, url);
        
        
}

function UndoPackage ( rowId )
{

        // Set merge/remove hidden field with new value
        MM_findObj( 'ADDPKG_' + rowId ).value = '';
        MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
        
        var divA = MM_findObj( 'PVA' + rowId );
        var divB = MM_findObj( 'PVB' + rowId );
        
        // Set text equal
        divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
        divB.style.textDecoration = 'none';
        
        
        // Set highlight to blank
        divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
        divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
        
        
    // Set Change state icon to blank
        MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
        
        
        // Remove Merge Button
        var 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 button
        MM_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">&nbsp;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_NUMBER 
                          
                          Set 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.MoveNext
                          WEnd
                          
                          rsQry.Close
                          Set 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_NUMBER 
                          OraDatabase.Parameters.Add "BRANCH_ID",       objRelCollectorA.Item("branch_id"),     ORAPARM_INPUT, ORATYPE_NUMBER 
                          
                          Set 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.MoveNext
                          WEnd
                          
                          rsQry.Close
                          Set rsQry = Nothing
                          %>
                  </select></td>
        </tr> -->
        <tr>
          <td align="left">
                  <select name="sbomA" id="sbomA" class="form_item">
            <%
                        If objAccessControl.IsActive("Vasttrafik")      Then
                                nBranchId       =       1142
                        Else
                                nBranchId       =       542
                        End     If                      
                        
                        
                          OraDatabase.Parameters.Add "BOM_ID",  objRelCollectorA.Item("bom_id"),        ORAPARM_INPUT,  ORATYPE_NUMBER 
                          OraDatabase.Parameters.Add "BRANCH_ID",       nBranchId,      ORAPARM_INPUT, ORATYPE_NUMBER 

                          Set 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")%>&gt;<%=rsQry("bom_version")%></option>
            <%rsQry.MoveNext
                          WEnd
                          
                          rsQry.Close
                          Set 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 &raquo;</a></td>
        </tr> -->
                <%End If%>
    </table>
            
    <!-- SELECT SBOM A END ---------------------------------------------->      </td>
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</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">&nbsp; 
                </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() %>&nbsp;Filter&nbsp;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">&nbsp;</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 Merge
                                If (Request("btn") = "Merge") Then
                                        Call Messenger ( "Merge has completed successfully.", 3, "100%" )                               
                                End If

                                If (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_NUMBER 
                                OraDatabase.Parameters.Add "SBOM_B",    parSBOMB,       ORAPARM_INPUT, ORATYPE_NUMBER 
                                OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),          ORAPARM_INPUT, ORATYPE_VARCHAR2
                                OraDatabase.Parameters.Add "ADDED",     GetIsDiffFilterChecked(enumDB_DIFF_NEW),                ORAPARM_INPUT, ORATYPE_VARCHAR2
                                OraDatabase.Parameters.Add "UPDATED",   GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),            ORAPARM_INPUT, ORATYPE_VARCHAR2
                                OraDatabase.Parameters.Add "REMOVED",   GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),            ORAPARM_INPUT, ORATYPE_VARCHAR2
                        
                                Set 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 = false
                                        rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
                                        
                                        btnMerge = LIMG_MERGE
                                        btnRemove = LIMG_REMOVE
                                        colorA = LCOLOR_NOT_CHANGED
                                        colorB = LCOLOR_NOT_CHANGED
                                        
                                        Select Case rsQry("change_type")
                                                Case "U"
                                                        colorA = LCOLOR_CHANGED
                                                        colorB = LCOLOR_CHANGED                                                 
                                                Case "UW"
                                                        colorA = LCOLOR_CHANGED
                                                        colorB = LCOLOR_CHANGED
                                                        btnMerge = LIMG_MERGE_WARN
                                                Case "A"
                                                        colorA = LCOLOR_BLANK
                                                Case "R"
                                                        colorB = LCOLOR_BLANK
                                        End Select
                                        
                                        Call 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.MoveNext
                        WEnd
                                                
                        rsQry.Close
                        Set rsQry = Nothing
                        %>                                
                </table>
                <br>
                        <%Else%>        
                                <br>
                                <%
                                If (parRtagB <> "") Then
                                        Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )                                        
                                ElseIf (parRtagA <> "") Then
                                        Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )                                        
                                Else
                                        Call 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">&nbsp;</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">&nbsp;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_NUMBER 
                          
                          Set 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.MoveNext
                          WEnd
                          
                          rsQry.Close
                          Set 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_NUMBER 
                          OraDatabase.Parameters.Add "BRANCH_ID",       objRelCollectorB.Item("branch_id"),     ORAPARM_INPUT, ORATYPE_NUMBER 
                          
                          Set 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.MoveNext
                          WEnd
                          
                          rsQry.Close
                          Set rsQry = Nothing
                          %>
                  </select></td>
        </tr> -->
        <tr>
          <td align="left">


                  <select name="sbomB" id="sbomB" class="form_item">
            <%
                        Dim nBranchId
                        If objAccessControl.IsActive("Vasttrafik")      Then
                                nBranchId       =       1142
                        Else
                                nBranchId       =       542
                        End     If
                        
                          OraDatabase.Parameters.Add "BOM_ID",  objRelCollectorB.Item("bom_id"),        ORAPARM_INPUT,  ORATYPE_NUMBER 
                          OraDatabase.Parameters.Add "BRANCH_ID",       nBranchId,      ORAPARM_INPUT, ORATYPE_NUMBER 

                          Set 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")%>&gt;<%=rsQry("bom_version")%></option>
            <%rsQry.MoveNext
                          WEnd
                          
                          rsQry.Close
                          Set 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 &raquo;</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"-->