<%@LANGUAGE="VBSCRIPT"%> <% '===================================================== '| | '| BOM 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 10 mins Server.ScriptTimeout=1200 %> <% ' Set rfile parameter. This is a return page after Login 'Call objPMod.StoreParameter ( "rfile", "rtree.asp" ) 'objPMod.PersistInQryString("proj_id") '------------ ACCESS CONTROL ------------------ %> <% '------------ 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 email Dim genReport Dim FSO Dim NewTextFile Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, sqlstrC, counterB Dim SSsql, retVal, rsCQ, DEVIiss Dim a, b, c, d, pkgversion, errormsg Dim VersionList '------------ Constants Declaration ----------- Const LIMG_UPDATED = "" Const LIMG_RIPPLED = "" Const LIMG_ADDED = "" Const LIMG_REMOVED = "" Const LIMG_FILTER_ON = "" Const LIMG_FILTER_OFF = "" Const LIMG_DROP_DOWN_ARROW = "" Const LCOLOR_NOT_CHANGED = "#F5F5F5" Const LCOLOR_CHANGED = "#d2f7c9" Const LCOLOR_RIPPLED = "#D8F8F8" Const LCOLOR_BLANK = "#FFFFFF" Const LIMG_MERGE = "" Const LIMG_MERGE_WARN = "" Const LIMG_REMOVE = "" Const LIMG_UNDO = "" '------------ 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") '---------------------------------------------- If Request("btn") = "Mail Me Report" Then email = true genReport = true End If If Request("btn") = "Show Me Report" Then genReport = true End If %> <% '-------------------------------------------------------------------------------------------------------------------------- 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 Javascript() NewTextFile.WriteLine("") End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub GetFixedIssues(pv_id, issues) If issues <> "Filter Issues" Then Set sqlstrC = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES" &_ " WHERE pv_id="& pv_id &" AND iss_state = "& enumISSUES_STATE_FIXED &_ " UNION SELECT iss_db, iss_id, iss_state, notes FROM ARCHIVE_MANAGER.CQ_ISSUES" &_ " WHERE pv_id="& pv_id &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0)) If sqlstrC.RecordCount <> 0 Then NewTextFile.WriteLine() NewTextFile.WriteLine("
Fixed Issues:
") NewTextFile.WriteLine("
") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") While ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF)) DEVIiss = "-1" If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then DEVIiss = DEVIiss &","& sqlstrC("iss_id") End If SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" ) SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID) SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss) retVal = Get_CQ_Issues ( SSsql, rsCQ ) NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") sqlstrC.MoveNext Wend NewTextFile.WriteLine( "
Issue IdSummaryIssue TypePriorityStatus
"&rsCQ("iss_num")&""&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&""&rsCQ("issue_type")&""&rsCQ("priority")&""&rsCQ("Status")&"
") End If ' ' Must also handle Jira Issues ' Dim SQLstr retVal = Get_JIRA_Package_Issues ( pv_id, SQLstr ) If retVal > 0 Then retVal = Get_JIRA_Issues ( SQLstr, rsCQ ) If (retVal = 0 AND rsCQ.RecordCount > 0) Then NewTextFile.WriteLine() NewTextFile.WriteLine("
Jira Issues:
") NewTextFile.WriteLine("
") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF)) NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("") rsCQ.MoveNext Wend NewTextFile.WriteLine( "
Issue IdSummaryIssue TypePriorityStatusResolution
"&rsCQ("iss_num")&""&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&""&rsCQ("issue_type")&""&rsCQ("priority")&""&rsCQ("Status")&""&rsCQ("RESOLUTION")&"
") End If End If sqlstrC.Close() Set sqlstrC = Nothing End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Function LastPvId(pvId) Dim qryA Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&pvId &_ " UNION SELECT LAST_PV_ID FROM ARCHIVE_MANAGER.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, data, issues) NewTextFile.WriteLine() NewTextFile.WriteLine("Versions Between: "&versionA&" and "&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, data) Call GetFixedIssues(b, issues) 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, data) Call GetFixedIssues(a, issues) End If Wend End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub GetDependencies(pv_id_a, pv_id_b, versionA, versionB, comments, issues) On Error Resume Next 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 &")" &_ " UNION select distinct dpv_id from ARCHIVE_MANAGER.package_dependencies where pv_id IN ("& pv_id_b &") and dpv_id NOT IN (SELECT dpv_id from ARCHIVE_MANAGER.package_dependencies where pv_id = "& pv_id_a &") order by dpv_id desc", cint(0)) If sqlstrA.RecordCount <> 0 Then NewTextFile.WriteLine() NewTextFile.WriteLine("Dependencies Changed Between "&versionA&" and "&versionB&":") While ((NOT sqlstrA.BOF) AND (NOT sqlstrA.EOF)) Call dependencyComments(sqlstrA("dpv_id"), comments) Call GetFixedIssues(sqlstrA("dpv_id"), issues) sqlstrA.MoveNext Wend End If sqlstrA.Close() Set sqlstrA = Nothing End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub dependencyComments(pv_id, comments) Set sqlstrB = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id &_ " UNION SELECT * FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS pv, ARCHIVE_MANAGER.PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id, cint(0)) NewTextFile.WriteLine("
"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"
") If comments <> "Filter Comments" Then NewTextFile.WriteLine("
Comments:
") NewTextFile.Write("
"& TextToHTML(sqlstrB("comments")) &"
") End If sqlstrB.Close() Set sqlstrB = nothing End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub pkg_Version(pv) Dim qry Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv &_ " UNION SELECT PKG_VERSION FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS WHERE PV_ID="&pv, cint(0)) pkgversion = qry("pkg_version") qry.Close() Set qry = Nothing End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Comments(Pv_Id, data) Dim comments Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id &_ " UNION SELECT COMMENTS, PKG_VERSION FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS WHERE PV_ID="&Pv_id, cint(0)) 'If comments("comments") <> "Rippled Build." Then NewTextFile.WriteLine("
Version: "& comments("pkg_version")&"
") If data <> "Filter Comments" Then If comments("comments") <> "" Then NewTextFile.WriteLine("
Comments:
") NewTextFile.WriteLine("
"& TextToHTML(comments("comments")) &"
") End If End If 'End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Release(pvId) Dim release Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId &_ " UNION SELECT INSERT_STAMP FROM ARCHIVE_MANAGER.RELEASE_CONTENT WHERE PV_ID="&pvId, cint(0)) If release("insert_stamp") <> "" Then NewTextFile.Write(release("insert_stamp")) Else NewTextFile.Write("Version Not Used.") End If End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Header() NewTextFile.WriteLine("") NewTextFile.WriteLine("") End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Footer() NewTextFile.WriteLine("") NewTextFile.WriteLine("") End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub Styles() NewTextFile.WriteLine("") 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, "
") 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 ||' > '|| 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 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 "UR" outIcon = LIMG_RIPPLED Case Else outIcon = "" End Select End Sub '---------------------------------------------------------------------------------------------------------------------------------------- ' Function returns the number of imported jira issues ' and builds a string suitable for querying the jira issues database Function Get_JIRA_Package_Issues ( NNpv_id, SSsql ) Dim rsTemp, sqlstr, JIRAIss, retVal JIRAIss = "'-1'" sqlstr = "SELECT iss_key FROM JIRA_ISSUES WHERE pv_id="& NNpv_id Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0)) retVal = rsTemp.RecordCount While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) JIRAIss = JIRAIss &",'"& rsTemp("iss_key")&"'" rsTemp.MoveNext WEnd SSsql = "SELECT I.pkey AS iss_num, I.summary, ISS.pname AS Status, IT.pname as issue_type, PR.pname as Priority, R.PNAME as RESOLUTION"&_ " FROM jiraissue I, issuestatus ISS, issuetype IT, resolution R, priority PR "&_ " WHERE I.pkey IN ("& JIRAIss &") "&_ " AND I.issuestatus = ISS.ID "&_ " AND I.RESOLUTION = R.ID "&_ " AND IT.ID = I.issuetype "&_ " AND PR.ID = I.PRIORITY " rsTemp.Close() Set rsTemp = nothing Get_JIRA_Package_Issues = retVal End Function '---------------------------------------------------------------------------------------------------------------------------------------- Function Get_JIRA_Issues ( SSsql, OOrsCQ ) If OOrsCQ.State = 1 Then OOrsCQ.Close() End If On Error Resume Next OOrsCQ.ActiveConnection = JIRA_conn OOrsCQ.Source = SSsql OOrsCQ.CursorType = 0 OOrsCQ.CursorLocation = 3 OOrsCQ.LockType = 3 OOrsCQ.Open() Get_JIRA_Issues = Err.Number End Function '-------------------------------------------------------------------------------------------------------------------------- %> <% '------------ 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 &"&rtagA="& parRtagB &"&rtagB="& parRtagA ) 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 ) '---------------------------------------------- %> Deployment Manager SBOM Differences

<%If (parRtagA <> "") Then%> <%End If%>
 Select SBOM A
Go To SBOM A »

DIFF SBOM <%If genReport Then%>  [Generating Report] <%End If%>
 
<% ' %>
<%If (parRtagA <> "") AND (parRtagB <> "")Then%>
<%=GetIsDiffFilterInUseIcon() %> Filter Results...
<%End If%>
<% Set FSO=Server.CreateObject("Scripting.FileSystemObject") Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html"), true) Call Header() If (parRtagA <> "") AND (parRtagB <> "")Then%> <% 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)) NewTextFile.WriteLine("Difference Report Between "&_ rsQryA("branch_name")&" "& rsQryA("location")&" and "&_ rsQryB("branch_name")&" "& rsQryB("location")&_ "") Call Javascript() Call Styles() NewTextFile.WriteLine("") NewTextFile.WriteLine("") NewTextFile.WriteLine("
Difference Report Between "&_ rsQryA("proj_name") & " > " & rsQryA("branch_name")&" > "&rsQryA("location")&" and "&_ rsQryB("proj_name") & " > " & rsQryB("branch_name")&" > "&rsQryB("location")&_ "


") NewTextFile.WriteLine("Toggle Sections:
") NewTextFile.WriteLine("Expand All") NewTextFile.WriteLine("Collapse All") NewTextFile.WriteLine("
") 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 "UR" colorA = LCOLOR_RIPPLED colorB = LCOLOR_RIPPLED Case "A" colorA = LCOLOR_BLANK Case "R" colorB = LCOLOR_BLANK End Select Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon ) %> <% If genReport Then If rsQry("pv_id_a") Then Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) End If If rsQry("pv_id_b") Then Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) End If pkgA = rsQry("pkg_name_a") pkgB = rsQry("pkg_name_b") If pkgA <> "" then pkgname = pkgA Else pkgname = pkgB End If If rsQry("change_type") = "U" OR rsQry("change_type") = "UW" Then NewTextFile.Write("

"& pkgname &"") NewTextFile.WriteLine("

") NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ") NewTextFile.WriteLine("
") NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ") a = rsQry("pv_id_a") b = rsQry("pv_id_b") c = rsQry("pv_id_a") d = rsQry("pv_id_b") NewTextFile.WriteLine("

") NewTextFile.WriteLine() NewTextFile.WriteLine(""&rsQryB("location")&"") Call Comments(rsQry("pv_id_b"), Request("filter_comments")) Call GetFixedIssues(rsQry("pv_id_b"), Request("filter_issues")) Dim rsQryLast Set rsQryLast = OraDatabase.DbCreateDynaset( "SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) If rsQryLast("last_pv_id") <> a Then Call PreviousVersions(a, b, rsQry("pkg_version_a"), rsQry("pkg_version_b"), Request("filter_comments"), Request("filter_issues")) End If a = rsQry("pv_id_a") b = rsQry("pv_id_b") Call GetDependencies(a, VersionList + ","+ b, rsQry("pkg_version_a"), rsQry("pkg_version_b"), Request("filter_comments"), Request("filter_issues")) NewTextFile.WriteLine("
") rsQryLast.Close() Set rsQryLast = Nothing End If If rsQry("change_type") = "A" AND rsQry("patch_b") = "Y" Then Dim rsQryPatch OraDatabase.Parameters.Add "PV_ID", rsQry("pv_id_b"), ORAPARM_INPUT, ORATYPE_NUMBER Set rsQryPatch = OraDatabase.DbCreateDynaset( GetQuery("pd_patch.sql"), cint(0)) OraDatabase.Parameters.Remove "PV_ID" If NOT IsNull(rsQryPatch("pv_id")) Then NewTextFile.Write("

"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"") NewTextFile.WriteLine("

") Call Comments(rsQryPatch("pv_id"), Request("filter_comments")) Call GetFixedIssues(rsQryPatch("pv_id"), Request("filter_issues")) Else NewTextFile.Write("

"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"") NewTextFile.WriteLine("

") Call Comments(rsQry("pv_id_b"), Request("filter_comments")) Call GetFixedIssues(rsQry("pv_id_b"), Request("filter_issues")) End If NewTextFile.WriteLine("
") rsQryPatch.Close Set rsQryPatch = nothing End If End If rsQry.MoveNext WEnd rsQry.Close Set rsQry = Nothing %> <% Call Footer() NewTextFile.Close Set NewTextFile=Nothing %>
<%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> <%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%>
<%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
<%=ChangeTypeIcon%>
">
<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
">

<%Else%>
<% If (parRtagB <> "") Then Call Messenger ( "Select SBOM A to compare.", 3, "100%" ) ElseIf (parRtagA <> "") Then Call Messenger ( "Select SBOM B to compare.", 3, "100%" ) Else Call Messenger ( "Select SBOM A and SBOM B to compare.", 3, "100%" ) End If %> <%End If%>
 

<%If (parRtagB <> "") Then%> <%End If%>
 Select SBOM B
Go To SBOM B »
<% 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 %> <% Call Destroy_All_Objects %>