%
'===================================================================
' Common Subs
'===================================================================
%>
<%
'-----------------------------------------------------------------------------------------------------------------------------
Sub CloseWindow
%>
<%
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub OpenChildWindow ( SStitle, SSurl, SSH, SSW, BBscroll )
Dim scrlBar
If BBscroll Then
scrlBar = "yes"
Else
scrlBar = "no"
End If
%>
<%
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub OpenInParentWindow ( SSurl )
%>
<%
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub OpenInWindow ( SSurl )
Response.Redirect ( SSurl )
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function onClickOpenWindow ( sURL, sWindowName, nWidth, nHeight, sWindowParams )
If NOT IsNull(sWindowParams) OR (sWindowParams <> "") Then sWindowParams = sWindowParams &"," ' Append comma if params are not empty
onClickOpenWindow = "onClick='MM_openBrWindow("""& sURL &""", """& sWindowName &""", """& sWindowParams &"width="& nWidth &",height="& nHeight &",top=200,left=""+ ( screen.width / 2 - "& nWidth \ 2 &" ) +"" "");'"
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function ReadFile( sPath )
Dim filesys, rfile
Set filesys = CreateObject("Scripting.FileSystemObject")
Set rfile = filesys.OpenTextFile( sPath, 1, false)
ReadFile = rfile.ReadAll
rfile.close
Set filesys = nothing
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function GetQuery ( sQryName )
GetQuery = ReadFile( QUERIES_PATH &"\"& sQryName )
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function Quick_Help ( SStipname )
Quick_Help = "
"
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function BoldSelected ( sItem, nItemId, nrsItemId )
' Exit on empty or null
If ( nItemId = "" ) OR IsNull( nItemId ) OR ( nrsItemId = "" ) OR IsNull( nrsItemId ) Then
BoldSelected = sItem
Exit Function
End If
If CInt( nItemId ) = CInt( nrsItemId ) Then
BoldSelected = ""& sItem &""
Else
BoldSelected = sItem
End If
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function Get_From_DUAL ( SSclm )
Dim rsTemp, Query_String, OraSession2, OraDatabase2
Set OraSession2 = CreateObject("OracleInProcServer.XOraSession")
Set OraDatabase2 = OraSession2.OpenDatabase( TNS_NAME, DB_AUTHENTICATION, Cint(0))
Query_String = _
" SELECT "& SSclm &" AS result FROM DUAL"
Set rsTemp = OraDatabase2.DbCreateDynaset( Query_String, cint(0))
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
Get_From_DUAL = (rsTemp.Fields("result"))
End If
rsTemp.Close
Set rsTemp = nothing
Set OraDatabase2 = nothing
Set OraSession2 = nothing
End Function
'----------------------------------------------------------------------------------------------------------------------------------------------
Sub InitialiseCrumbs ( objCrumbs )
Dim rsCrumb
'L1par = enumDB_DEFAULT_EMPTY
'L2par = enumDB_DEFAULT_EMPTY
'L3par = enumDB_DEFAULT_EMPTY
' This section will ensure only one level parameter is processed in order
'If Request("bom_id") <> "" Then
' L3par = Request("bom_id")
'
'ElseIf Request("branch_id") <> "" Then
' L2par = Request("branch_id")
'
'ElseIf Request("proj_id") <> "" Then
'L1par = Request("proj_id")
'
'End If
OraDatabase.Parameters.Add "PROJ_ID", dbPARproj_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "BRANCH_ID", dbPARbranch_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "BOM_ID", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "NODE_ID", dbPARnode_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "OS_ID", dbPARos_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "PROD_ID", dbPARprod_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsCrumb = OraDatabase.DbCreateDynaset( GetQuery ("Crumbs.sql") , ORADYN_DEFAULT )
objCrumbs.CrumbMaxDepth = 7 ' e.g. [1] Home / [2] ProjectName / [3] BranchName / [4] BomName
objCrumbs.AddLevel "Home", "Default.asp", 0
While ((NOT rsCrumb.BOF) AND (NOT rsCrumb.EOF))
objCrumbs.AddLevel rsCrumb("crumb_name"), rsCrumb("crumb_link"), rsCrumb("crumb_level")
rsCrumb.MoveNext()
WEnd
' Clean up
rsCrumb.Close
Set rsCrumb = Nothing
OraDatabase.Parameters.Remove "PROJ_ID"
OraDatabase.Parameters.Remove "BRANCH_ID"
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "NODE_ID"
OraDatabase.Parameters.Remove "OS_ID"
OraDatabase.Parameters.Remove "PROD_ID"
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function Expander ( sExpand )
Const IMG_PLUS = "
"
Const IMG_MINUS = "
"
Const IMG_NO_EXPAND = "
"
If sExpand = "+" Then
Expander = IMG_PLUS
ElseIf sExpand = "-" Then
Expander = IMG_MINUS
Else
Expander = IMG_NO_EXPAND
End If
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Sub GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
Dim query, rsQry
' Preset all to enumDB_DEFAULT_EMPTY
dbPARproj_id = enumDB_DEFAULT_EMPTY
dbPARbranch_id = enumDB_DEFAULT_EMPTY
dbPARbom_id = enumDB_DEFAULT_EMPTY
dbPARnode_id = enumDB_DEFAULT_EMPTY
dbPARos_id = enumDB_DEFAULT_EMPTY
dbPARprod_id = enumDB_DEFAULT_EMPTY
' Get the actual values from Request
If Request("proj_id") <> "" Then dbPARproj_id = Request("proj_id")
If Request("branch_id") <> "" Then dbPARbranch_id = Request("branch_id")
If Request("bom_id") <> "" Then dbPARbom_id = Request("bom_id")
If Request("node_id") <> "" Then dbPARnode_id = Request("node_id")
If Request("os_id") <> "" Then dbPARos_id = Request("os_id")
If Request("prod_id") <> "" Then dbPARprod_id = Request("prod_id")
' Resolve some parametes with DB lookup
If ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) AND ( dbPARos_id <> enumDB_DEFAULT_EMPTY ) Then
' Resolve with bom_id and os_id
query = _
" SELECT nn.node_id, br.BRANCH_ID, br.PROJ_ID "&_
" FROM BOM_CONTENTS bc,"&_
" NETWORK_NODES nn,"&_
" OPERATING_SYSTEMS os,"&_
" BOMS bo,"&_
" BRANCHES br"&_
" WHERE os.node_id = nn.node_id"&_
" AND bc.NODE_ID = nn.NODE_ID"&_
" AND bc.BOM_ID = bo.BOM_ID"&_
" AND bo.BRANCH_ID = br.BRANCH_ID"&_
" AND bc.bom_id = :BOM_ID"&_
" AND os.os_id = :OS_ID"
ElseIf ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) Then
' Resolve with bom_id and node_id
query = _
" SELECT :NODE_ID AS NODE_ID, br.BRANCH_ID, br.PROJ_ID "&_
" FROM BOMS bo,"&_
" BRANCHES br"&_
" WHERE bo.BRANCH_ID = br.BRANCH_ID"&_
" AND bo.bom_id = :BOM_ID"
End If
If query <> "" Then
OraDatabase.Parameters.Add "BOM_ID", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "NODE_ID", dbPARnode_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "OS_ID", dbPARos_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
dbPARproj_id = CInt( rsQry("proj_id") )
dbPARbranch_id = CInt( rsQry("branch_id") )
dbPARnode_id = Int( rsQry("node_id") )
End If
rsQry.Close
Set rsQry = Nothing
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "NODE_ID"
OraDatabase.Parameters.Remove "OS_ID"
End If
' --- Get which level (used for pop-up menu add prod,os,node.)
AT_PROD_LEVEL = FALSE
AT_OS_LEVEL = FALSE
AT_NODE_LEVEL = FALSE
AT_BOM_LEVEL = FALSE
If dbPARprod_id <> enumDB_DEFAULT_EMPTY Then
' Product Level
AT_PROD_LEVEL = TRUE
ElseIf dbPARos_id <> enumDB_DEFAULT_EMPTY Then
' OS Level
AT_OS_LEVEL = TRUE
ElseIf dbPARnode_id <> enumDB_DEFAULT_EMPTY Then
' Node Level
AT_NODE_LEVEL = TRUE
ElseIf dbPARbom_id <> enumDB_DEFAULT_EMPTY Then
' Bom Level
AT_BOM_LEVEL = TRUE
End If
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function GetNodeImage ( nNode_id )
Dim query, rsQry
query = _
"SELECT nt.NODE_IMAGE "&_
" FROM NETWORK_NODES nn,"&_
" NODE_TYPES nt"&_
" WHERE nn.NODE_TYPE_ID = nt.NODE_TYPE_ID"&_
" AND nn.node_id = :NODE_ID"
OraDatabase.Parameters.Add "NODE_ID", nNode_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
GetNodeImage = "
"
End If
rsQry.Close
Set rsQry = Nothing
OraDatabase.Parameters.Remove "NODE_ID"
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Sub LoadTabActionButtons ( aBtns, ByRef objControl )
' -- Load Action Buttons
Call objControl.LoadActionButtons ( aBtns, OraDatabase )
' -- Set button spacer
objControl.ButtonSpacer = 10
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub Messenger ( sMessage, nMessageType, sWidth )
Dim msgTemplate, Img
If (sMessage = "") OR IsNull(sMessage) Then Exit Sub
Select Case CStr(nMessageType)
Case "1"
Img = "s_critical.gif"
Case "2"
Img = "s_warning.gif"
Case "3"
Img = "s_note.gif"
Case Else
Img = nMessageType
End Select
msgTemplate = ReadFile( APP_ROOT &"\scripts\message_style.html" )
msgTemplate = Replace( msgTemplate, "%WIDTH%", sWidth )
msgTemplate = Replace( msgTemplate, "%IMAGE%", Img )
msgTemplate = Replace( msgTemplate, "%MESSAGE%", sMessage )
Response.write msgTemplate
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function IsTicked ( ByVal nParId, ByVal sParList )
' Used only with check boxes as they send comma-separated list
nParId = ","& Replace(nParId, " ", "") &","
sParList = ","& Replace(sParList, " ", "") &","
If InStr( sParList, nParId ) > 0 Then
IsTicked = TRUE
Else
IsTicked = FALSE
End If
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function ProgressBar ()
ProgressBar = "

"
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Function HighlightSubstring ( SSstr, SSsubstr )
Dim leftSTR, startPos
startPos = InStr( 1, SSstr, SSsubstr, 1 )
If startPos > 0 Then
leftSTR = Left ( SSstr, startPos - 1 )
Highlight_Substring = leftSTR &""& Mid( SSstr, startPos, Len(SSsubstr) ) &""& Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr) )
Else
' Subtring not found
Highlight_Substring = SSstr
End If
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Sub DisplayColumn( sColumnName, sTableColumn, outOrderBy, bSetToDefault )
Dim selectedColumnTemplate, tempColumnName, ordBy, ordType, ordImg, sLink, isDefaultColumn
'--- Set Default Column ---
isDefaultColumn = FALSE
If (Request("ordby") = "") AND bSetToDefault Then
isDefaultColumn = TRUE
End If
'--- Create border for selected column ---
selectedColumnTemplate = _
"background='images/bg_table_border.gif'>"&_
" "&_
" | %COLUMN_NAME% | "&_
"
"&_
"
"
'--- Create Order Name ---
ordBy = LCase( Replace( sColumnName, " ", "_" ) )
'--- Toggle Order Type ---
ordType = "asc"
ordImg = ""
If Request("ordby") = ordBy OR isDefaultColumn Then
If Request("ordtype") = "desc" Then
ordType = "asc"
ordImg = "
"
Else
ordType = "desc"
ordImg = "
"
End If
End If
'--- Set temporary Column name and link
sLink = SCRIPT_NAME &"?ordby="& ordBy &"&ordtype="& ordType &"&"& objPMod.ComposeURL()
tempColumnName = " "& ordImg & sColumnName &" "
'--- Display Formated Column Name ---
If Request("ordby") = ordBy OR isDefaultColumn Then
' This column is selected
outOrderBy = " ORDER BY UPPER("& sTableColumn &") "& Request("ordtype")
Response.write Replace( selectedColumnTemplate, "%COLUMN_NAME%", tempColumnName)
Else
' Check if column is sortable
If NOT IsNull(sTableColumn) OR (sTableColumn <> "") Then
Response.write "background='images/bg_table_col.gif'>" & tempColumnName
Else
Response.write "background='images/bg_table_col.gif' class='body_col'>"& sColumnName
End If
End If
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function BomIcon ( sIsReadonly, sIsRejected )
If sIsReadonly = enumDB_NO Then
BomIcon = enumBOM_EDITMODE
Else
If (sIsRejected = "") OR IsNull(sIsRejected) Then
BomIcon = enumBOM_NEW
ElseIf sIsRejected = enumDB_YES Then
BomIcon = enumBOM_REJECTED
ElseIf sIsRejected = enumDB_NO Then
BomIcon = enumBOM_ACCEPTED
End If
End If
End Function
'-----------------------------------------------------------------------------------------------------------------
Sub GetBomDetails ( nBom_id, ByRef outobjDetails )
Dim rsQry, query
OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomDetails.sql") , ORADYN_DEFAULT )
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
outobjDetails.Item ("bom_id") = rsQry("bom_id")
outobjDetails.Item ("bom_name") = rsQry("bom_name")
outobjDetails.Item ("bom_name_id") = rsQry("bom_name_id")
outobjDetails.Item ("branch_id") = rsQry("branch_id")
outobjDetails.Item ("bom_version") = rsQry("bom_version")
outobjDetails.Item ("bom_lifecycle") = rsQry("bom_lifecycle")
outobjDetails.Item ("bom_comments") = rsQry("bom_comments")
outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
outobjDetails.Item ("is_rejected") = rsQry("is_rejected")
outobjDetails.Item ("parent_bom_id") = rsQry("parent_bom_id")
outobjDetails.Item ("base_env_count") = rsQry("base_env_count")
outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id_fk")
outobjDetails.Item ("pdf_attachment_path") = rsQry("pdf_attachment_path")
Else
Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
End If
OraDatabase.Parameters.Remove "BOM_ID"
rsQry.Close
Set rsQry = Nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------
Sub GetProjDetails ( nBom_id, ByRef outobjDetails )
Dim rsQry, query
OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProjDetails.sql") , ORADYN_DEFAULT )
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
outobjDetails.Item ("is_download") = rsQry("is_download")
Else
Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
End If
OraDatabase.Parameters.Remove "BOM_ID"
rsQry.Close
Set rsQry = Nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub RaiseMsg ( SSerrFile, SSerrDesc )
' Usage: enumERROR, parval1 &"|"& parval2 &"|"& parval3 ...
Session( "DEPMGR_ERRDESCRIPTION" ) = SSerrDesc
Response.Redirect ("messages/"& SSerrFile )
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function Wiki2HTML ( ByVal sWikiString )
'=== Definition ===
sWikiString = Replace ( sWikiString, "[BREAKLINE]", "
" )
sWikiString = Replace ( sWikiString, "[NEWLINE]", "
" )
Wiki2HTML = sWikiString
End Function
'----------------------------------------------------------------------------------------------------------------------------------------------
Function GetProductIcon ( rsQry )
Const LIMG_BB_PRODUCT = "
"
Const LIMG_BB_PATCH = "
"
Const LIMG_BB_PATCH_OBSOLETE = "
"
Const LIMG_BB_PRODUCT_REJECTED = "
"
'-- Set default icon
GetProductIcon = LIMG_BB_PRODUCT
If IsObject(rsQry) Then
'/* Recordset is passed */
If rsQry("is_rejected") = enumDB_YES Then
GetProductIcon = LIMG_BB_PRODUCT_REJECTED
ElseIf rsQry("is_obsolete") = enumDB_YES Then
GetProductIcon = LIMG_BB_PATCH_OBSOLETE
ElseIf rsQry("is_patch") = enumDB_YES Then
GetProductIcon = LIMG_BB_PATCH
End If
Else
'/* Single Value is passed */
If rsQry = enumDB_YES Then
GetProductIcon = LIMG_BB_PRODUCT_REJECTED
End If
End If
End Function
'----------------------------------------------------------------------------------------------------------------------------------------------
Function GetRootVersion ( sBomVersion )
Dim tempArr
If InStr( sBomVersion, "." ) > 0 Then
'-- Dot separator found --
'-- Split version --
tempArr = Split( sBomVersion, "." )
'-- Return first element as root version
GetRootVersion = tempArr(0)
Else
'-- No dot separator, hence root version is version itself
GetRootVersion = sBomVersion
End If
End Function
'--------------------------------------------------------------------------------------------------------------------------
Function HighlightSubstring ( SSstr, SSsubstr )
Dim leftSTR, startPos
startPos = InStr( 1, SSstr, SSsubstr, 1 )
If startPos > 0 Then
leftSTR = Left ( SSstr, startPos - 1 )
HighlightSubstring = leftSTR &""& Mid( SSstr, startPos, Len(SSsubstr) ) &""& Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr) )
Else
' Subtring not found
HighlightSubstring = SSstr
End If
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Sub Destroy_All_Objects
On Error Resume Next
set brokenReadyHash = nothing
set brokenHash = nothing
set pkgInfoHash = nothing
set OraDatabase = nothing
set OraSession = nothing
set userdetailsHash = nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub Get_Pkg_Short_Info( SSparPv_id, SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked )
Dim rsTemp, Query_String
If IsEmpty(SSparPv_id) Then Exit Sub
Query_String = _
" SELECT pkg.pkg_id, pkg.pkg_name, pv.pkg_version, pv.src_path, pv.pv_description, pv.dlocked"&_
" FROM packages pkg, package_versions pv"&_
" WHERE pkg.pkg_id = pv.pkg_id AND pv.pv_id ="& SSparPv_id
Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
SSpkgID = rsTemp.Fields("pkg_id")
SSpkgName = rsTemp.Fields("pkg_name")
SSpkgVersion = rsTemp.Fields("pkg_version")
SSsrc_path = rsTemp.Fields("src_path")
SSpkgDesc = rsTemp.Fields("pv_description")
BBdlocked = rsTemp.Fields("dlocked")
End If
rsTemp.Close
Set rsTemp = nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub Create_Folder ( sCreateIn, sFolderName )
Dim filesys, currfolder, folcoll, subfol
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FolderExists( sCreateIn ) Then
Set currfolder = filesys.GetFolder( sCreateIn )
Set folcoll = currfolder.SubFolders
If NOT filesys.FolderExists( sCreateIn &"\"& sFolderName ) Then
folcoll.Add( sFolderName )
End If
End If
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub DeleteFile( SSpath )
Dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FileExists(SSpath) Then
filesys.DeleteFile SSpath, TRUE
End If
Set filesys = nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub Get_Pkg_Info ( SSpv_id, NNrtag )
Dim rsTemp, Query_String
OraDatabase.Parameters.Add "PV_ID", SSpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RTAG_ID", NNrtag, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RETURN_NUMBER", NULL, ORAPARM_OUTPUT, ORATYPE_NUMBER
pkgInfoHash.Item ("can_unofficial") = "false"
'/* Get Package Details */
Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
pkgInfoHash.Add "pv_id", (rsTemp.Fields("pv_id"))
pkgInfoHash.Add "pkg_id", (rsTemp.Fields("pkg_id"))
pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name"))
pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version"))
pkgInfoHash.Add "v_ext", (rsTemp.Fields("v_ext"))
pkgInfoHash.Add "comments", (rsTemp.Fields("comments"))
pkgInfoHash.Add "modified_stamp", (rsTemp.Fields("modified_stamp"))
pkgInfoHash.Add "modifier", (rsTemp.Fields("modifier"))
pkgInfoHash.Add "modifier_id", (rsTemp.Fields("modifier_id"))
pkgInfoHash.Add "modifier_email", (rsTemp.Fields("modifier_email"))
pkgInfoHash.Add "created_stamp", (rsTemp.Fields("created_stamp"))
pkgInfoHash.Add "creator", (rsTemp.Fields("creator"))
pkgInfoHash.Add "creator_email", (rsTemp.Fields("creator_email"))
pkgInfoHash.Add "owner", (rsTemp.Fields("owner"))
pkgInfoHash.Add "owner_email", (rsTemp.Fields("owner_email"))
pkgInfoHash.Add "dlocked", (rsTemp.Fields("dlocked"))
pkgInfoHash.Add "proj_id", (rsTemp.Fields("proj_id"))
pkgInfoHash.Add "rtag_id", (rsTemp.Fields("rtag_id"))
pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
pkgInfoHash.Add "pkg_label", (rsTemp.Fields("pkg_label"))
pkgInfoHash.Add "src_path", (rsTemp.Fields("src_path"))
pkgInfoHash.Add "pv_description", (rsTemp.Fields("pv_description"))
pkgInfoHash.Add "last_pv_id", (rsTemp.Fields("last_pv_id"))
pkgInfoHash.Add "previous_version", (rsTemp.Fields("previous_version"))
pkgInfoHash.Add "release_notes_info", (rsTemp.Fields("release_notes_info"))
pkgInfoHash.Add "is_patch", (rsTemp.Fields("is_patch"))
pkgInfoHash.Add "is_obsolete", (rsTemp.Fields("is_obsolete"))
pkgInfoHash.Add "obsolete_comments", (rsTemp.Fields("obsolete_comments"))
pkgInfoHash.Add "build_type", (rsTemp.Fields("build_type"))
pkgInfoHash.Add "change_type", (rsTemp.Fields("change_type"))
End If
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Function Folder_Is_Empty ( sPath )
Dim filesys, oFolder
Set filesys = CreateObject("Scripting.FileSystemObject")
If filesys.FolderExists( sPath ) Then
Set oFolder = filesys.GetFolder( sPath )
If ( oFolder.Files.Count + oFolder.SubFolders.Count ) > 0 Then
Folder_Is_Empty = FALSE
Else
Folder_Is_Empty = TRUE
End If
Else
Folder_Is_Empty = TRUE
End If
End Function
'-----------------------------------------------------------------------------------------------------------------------------
Sub DeleteFolder( SSpath )
Dim filesys
Set filesys = CreateObject ("Scripting.FileSystemObject")
If filesys.FolderExists( SSpath ) Then
'Set oFolder = filesys.GetFolder( SSpath )
filesys.DeleteFolder SSpath ,TRUE
End If
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub PopulateSBOMField( nBomId, nProdId, sPkgName, sPkgVersion )
Dim rsTemp, BomLocationDetails
If IsNull(nProdId) Then
Dim Query
Query = "select pv.pv_id from package_versions pv, packages pkg where pv.pkg_id = pkg.pkg_id "&_
" and pv.pkg_version = '"&sPkgVersion&"' and pkg.pkg_name = '"&sPkgName&"'"
'Response.Write Query
Set rsTemp = OraDatabase.DbCreateDynaset( Query, cint(0))
nProdId = rsTemp("pv_id")
End If
'OraDatabase.Parameters.Add "BOM_ID", nBomId, ORAPARM_INPUT, ORATYPE_NUMBER
'/* Get SBOM Details */
Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("BomLocationDetails.sql"), cint(0))
BomLocationDetails = rsTemp("proj_name") + " > " + rsTemp("branch_name") + " > " &_
+ rsTemp("bom_name") + " " + rsTemp("bom_version") + "." &_
+ rsTemp("bom_lifecycle")
'Response.Write BomLocationDetails 'Data to be inserted into the 'sbom' field
Call Insert_Into_ClearQuest_Schema( nProdId, BomLocationDetails )
'OraDatabase.Parameters.Remove "BOM_ID"
rsTemp.Close()
Set rsTemp = Nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub Insert_Into_ClearQuest_Schema( nProdId, sBomDetails )
Dim sqlstr, DEVIiss, Query_String, rsCQ, rsTemp
Set rsCQ = CreateObject("ADODB.Recordset")
sqlstr = " SELECT iss_db, iss_id"&_
" FROM CQ_ISSUES "&_
" WHERE iss_state = "& enumISSUES_STATE_FIXED &_
" AND pv_id IN ( SELECT dpv_id FROM PACKAGE_DEPENDENCIES WHERE pv_id = "& nProdId &" )"
'Response.Write sqlstr
Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
DEVIiss = "-1"
While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
If CInt(rsTemp("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
DEVIiss = DEVIiss &","& rsTemp("iss_id")
End If
rsTemp.MoveNext
WEnd
Query_String = ReadFile( rootPath & "queries\cq_issues_full.sql" )
Query_String = Replace( Query_String, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
Query_String = Replace( Query_String, "/*DEVIiss*/", DEVIiss)
'Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
'Response.Write Query_String
Call Get_CQ_Issues ( Query_String, rsCQ )
While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF))
If CInt(rsCQ("iss_db")) = enumCLEARQUEST_DEVI_ID AND IsNull(rsCQ("sbom")) Then
'Response.Write rsCQ("iss_num")
Set rsTemp = CreateObject("ADODB.Connection")
rsTemp.Open CQ_conn
rsTemp.Execute "EXEC cq_devi.dbo.sp_DM_editSBOMDetails "& rsCQ("iss_id") &", '"& sBomDetails &"';"
rsTemp.Close()
Set rsTemp = Nothing
End If
rsCQ.MoveNext
Wend
rsCQ.Close()
Set rsCQ = Nothing
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
Sub Get_CQ_Issues( SSsql, OOrsCQ )
OOrsCQ.ActiveConnection = CQ_conn
OOrsCQ.Source = SSsql
OOrsCQ.CursorType = 0
OOrsCQ.CursorLocation = 2
OOrsCQ.LockType = 3
OOrsCQ.Open()
End Sub
'-----------------------------------------------------------------------------------------------------------------------------
%>