Rev 1283 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'===================================================================' Common Subs'===================================================================%><%'-----------------------------------------------------------------------------------------------------------------------------Sub CloseWindow%><SCRIPT language="JavaScript" type="text/javascript"><!--self.close();//--></SCRIPT><%End Sub'-----------------------------------------------------------------------------------------------------------------------------Sub OpenChildWindow ( SStitle, SSurl, SSH, SSW, BBscroll )Dim scrlBarIf BBscroll ThenscrlBar = "yes"ElsescrlBar = "no"End If%><script language="JavaScript" type="text/javascript"><!--window.open('<%=SSurl%>','<%=SStitle%>','scrollbars=<%=scrlBar%>,resizable=yes,width=<%=SSW%>,height=<%=SSH%>');//--></script><%End Sub'-----------------------------------------------------------------------------------------------------------------------------Sub OpenInParentWindow ( SSurl )%><script language="JavaScript" type="text/javascript"><!--window.opener.document.location='<%=SSurl%>';//--></script><%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 emptyonClickOpenWindow = "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, rfileSet filesys = CreateObject("Scripting.FileSystemObject")Set rfile = filesys.OpenTextFile( sPath, 1, false)ReadFile = rfile.ReadAllrfile.closeSet filesys = nothingEnd Function'-----------------------------------------------------------------------------------------------------------------------------Function GetQuery ( sQryName )GetQuery = ReadFile( QUERIES_PATH &"\"& sQryName )End Function'-----------------------------------------------------------------------------------------------------------------------------Function Quick_Help ( SStipname )Quick_Help = "<a href='javascript:;' onMouseOver=""formTips.show('"& SStipname &"')"" onMouseOut=""formTips.hide()""><img src='images/i_help.gif' width='12' height='12' hspace='2' align='absmiddle' border='0' ></a>"End Function'-----------------------------------------------------------------------------------------------------------------------------Function BoldSelected ( sItem, nItemId, nrsItemId )' Exit on empty or nullIf ( nItemId = "" ) OR IsNull( nItemId ) OR ( nrsItemId = "" ) OR IsNull( nrsItemId ) ThenBoldSelected = sItemExit FunctionEnd IfIf CInt( nItemId ) = CInt( nrsItemId ) ThenBoldSelected = "<b>"& sItem &"</b>"ElseBoldSelected = sItemEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------------------Function Get_From_DUAL ( SSclm )Dim rsTemp, Query_String, OraSession2, OraDatabase2Set 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)) ThenGet_From_DUAL = (rsTemp.Fields("result"))End IfrsTemp.CloseSet rsTemp = nothingSet OraDatabase2 = nothingSet OraSession2 = nothingEnd 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 IfOraDatabase.Parameters.Add "PROJ_ID", dbPARproj_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BRANCH_ID", dbPARbranch_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "BOM_ID", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "NODE_ID", dbPARnode_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", dbPARos_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PROD_ID", dbPARprod_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsCrumb = OraDatabase.DbCreateDynaset( GetQuery ("Crumbs.sql") , ORADYN_DEFAULT )objCrumbs.CrumbMaxDepth = 7 ' e.g. [1] Home / [2] ProjectName / [3] BranchName / [4] BomNameobjCrumbs.AddLevel "Home", "Default.asp", 0While ((NOT rsCrumb.BOF) AND (NOT rsCrumb.EOF))objCrumbs.AddLevel rsCrumb("crumb_name"), rsCrumb("crumb_link"), rsCrumb("crumb_level")rsCrumb.MoveNext()WEnd' Clean uprsCrumb.CloseSet rsCrumb = NothingOraDatabase.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 = "<img src='icons/i_plus.gif' width='9' height='9' align='absmiddle' border='0'>"Const IMG_MINUS = "<img src='icons/i_minus.gif' width='9' height='9' align='absmiddle' border='0'>"Const IMG_NO_EXPAND = "<img src='images/spacer.gif' width='9' height='9' align='absmiddle' border='0'>"If sExpand = "+" ThenExpander = IMG_PLUSElseIf sExpand = "-" ThenExpander = IMG_MINUSElseExpander = IMG_NO_EXPANDEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------------------Sub GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )Dim query, rsQry' Preset all to enumDB_DEFAULT_EMPTYdbPARproj_id = enumDB_DEFAULT_EMPTYdbPARbranch_id = enumDB_DEFAULT_EMPTYdbPARbom_id = enumDB_DEFAULT_EMPTYdbPARnode_id = enumDB_DEFAULT_EMPTYdbPARos_id = enumDB_DEFAULT_EMPTYdbPARprod_id = enumDB_DEFAULT_EMPTY' Get the actual values from RequestIf 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 lookupIf ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) AND ( dbPARos_id <> enumDB_DEFAULT_EMPTY ) Then' Resolve with bom_id and os_idquery = _" 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_idquery = _" 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 IfIf query <> "" ThenOraDatabase.Parameters.Add "BOM_ID", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "NODE_ID", dbPARnode_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", dbPARos_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThendbPARproj_id = CInt( rsQry("proj_id") )dbPARbranch_id = CInt( rsQry("branch_id") )dbPARnode_id = Int( rsQry("node_id") )End IfrsQry.CloseSet rsQry = NothingOraDatabase.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 = FALSEAT_OS_LEVEL = FALSEAT_NODE_LEVEL = FALSEAT_BOM_LEVEL = FALSEIf dbPARprod_id <> enumDB_DEFAULT_EMPTY Then' Product LevelAT_PROD_LEVEL = TRUEElseIf dbPARos_id <> enumDB_DEFAULT_EMPTY Then' OS LevelAT_OS_LEVEL = TRUEElseIf dbPARnode_id <> enumDB_DEFAULT_EMPTY Then' Node LevelAT_NODE_LEVEL = TRUEElseIf dbPARbom_id <> enumDB_DEFAULT_EMPTY Then' Bom LevelAT_BOM_LEVEL = TRUEEnd IfEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Function GetNodeImage ( nNode_id )Dim query, rsQryquery = _"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_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThenGetNodeImage = "<img src='icons/"& rsQry("node_image") &"'>"End IfrsQry.CloseSet rsQry = NothingOraDatabase.Parameters.Remove "NODE_ID"End Function'-----------------------------------------------------------------------------------------------------------------------------Sub LoadTabActionButtons ( aBtns, ByRef objControl )' -- Load Action ButtonsCall objControl.LoadActionButtons ( aBtns, OraDatabase )' -- Set button spacerobjControl.ButtonSpacer = 10End Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Messenger ( sMessage, nMessageType, sWidth )Dim msgTemplate, ImgIf (sMessage = "") OR IsNull(sMessage) Then Exit SubSelect Case CStr(nMessageType)Case "1"Img = "s_critical.gif"Case "2"Img = "s_warning.gif"Case "3"Img = "s_note.gif"Case ElseImg = nMessageTypeEnd SelectmsgTemplate = ReadFile( APP_ROOT &"\scripts\message_style.html" )msgTemplate = Replace( msgTemplate, "%WIDTH%", sWidth )msgTemplate = Replace( msgTemplate, "%IMAGE%", Img )msgTemplate = Replace( msgTemplate, "%MESSAGE%", sMessage )Response.write msgTemplateEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Function IsTicked ( ByVal nParId, ByVal sParList )' Used only with check boxes as they send comma-separated listnParId = ","& Replace(nParId, " ", "") &","sParList = ","& Replace(sParList, " ", "") &","If InStr( sParList, nParId ) > 0 ThenIsTicked = TRUEElseIsTicked = FALSEEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------------------Function ProgressBar ()ProgressBar = "<DIV name='divProgressBar' id='divProgressBar' style='visibility:hidden;'><img src='icons/i_processing.gif' width='79' height='14'></DIV>"End Function'-----------------------------------------------------------------------------------------------------------------------------Function HighlightSubstring ( SSstr, SSsubstr )Dim leftSTR, startPosstartPos = InStr( 1, SSstr, SSsubstr, 1 )If startPos > 0 ThenleftSTR = Left ( SSstr, startPos - 1 )Highlight_Substring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"& Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr) )Else' Subtring not foundHighlight_Substring = SSstrEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------------------Sub DisplayColumn( sColumnName, sTableColumn, outOrderBy, bSetToDefault )Dim selectedColumnTemplate, tempColumnName, ordBy, ordType, ordImg, sLink, isDefaultColumn'--- Set Default Column ---isDefaultColumn = FALSEIf (Request("ordby") = "") AND bSetToDefault ThenisDefaultColumn = TRUEEnd If'--- Create border for selected column ---selectedColumnTemplate = _"background='images/bg_table_border.gif'><table width='100%' border='0' cellspacing='1' cellpadding='2'>"&_" <tr>"&_" <td align='right' nowrap background='images/bg_table_col.gif'>%COLUMN_NAME%</td>"&_" </tr>"&_"</table>"'--- Create Order Name ---ordBy = LCase( Replace( sColumnName, " ", "_" ) )'--- Toggle Order Type ---ordType = "asc"ordImg = ""If Request("ordby") = ordBy OR isDefaultColumn ThenIf Request("ordtype") = "desc" ThenordType = "asc"ordImg = "<img src='icons/b_sort_desc.gif' hspace='4' border='0' align='absmiddle'>"ElseordType = "desc"ordImg = "<img src='icons/b_sort_asc.gif' hspace='4' border='0' align='absmiddle'>"End IfEnd If'--- Set temporary Column name and linksLink = SCRIPT_NAME &"?ordby="& ordBy &"&ordtype="& ordType &"&"& objPMod.ComposeURL()tempColumnName = "<a href='"& sLink &"' class='body_linkbold'> "& ordImg & sColumnName &" </a>"'--- Display Formated Column Name ---If Request("ordby") = ordBy OR isDefaultColumn Then' This column is selectedoutOrderBy = " ORDER BY UPPER("& sTableColumn &") "& Request("ordtype")Response.write Replace( selectedColumnTemplate, "%COLUMN_NAME%", tempColumnName)Else' Check if column is sortableIf NOT IsNull(sTableColumn) OR (sTableColumn <> "") ThenResponse.write "background='images/bg_table_col.gif'>" & tempColumnNameElseResponse.write "background='images/bg_table_col.gif' class='body_col'>"& sColumnNameEnd IfEnd IfEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Function BomIcon ( sIsReadonly, sIsRejected )If sIsReadonly = enumDB_NO ThenBomIcon = enumBOM_EDITMODEElseIf (sIsRejected = "") OR IsNull(sIsRejected) ThenBomIcon = enumBOM_NEWElseIf sIsRejected = enumDB_YES ThenBomIcon = enumBOM_REJECTEDElseIf sIsRejected = enumDB_NO ThenBomIcon = enumBOM_ACCEPTEDEnd IfEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------Sub GetBomDetails ( nBom_id, ByRef outobjDetails )Dim rsQry, queryOraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomDetails.sql") , ORADYN_DEFAULT )If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThenoutobjDetails.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")ElseErr.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_idEnd IfOraDatabase.Parameters.Remove "BOM_ID"rsQry.CloseSet rsQry = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------Sub GetProjDetails ( nBom_id, ByRef outobjDetails )Dim rsQry, queryOraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProjDetails.sql") , ORADYN_DEFAULT )If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) ThenoutobjDetails.Item ("is_download") = rsQry("is_download")ElseErr.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_idEnd IfOraDatabase.Parameters.Remove "BOM_ID"rsQry.CloseSet rsQry = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub RaiseMsg ( SSerrFile, SSerrDesc )' Usage: enumERROR, parval1 &"|"& parval2 &"|"& parval3 ...Session( "DEPMGR_ERRDESCRIPTION" ) = SSerrDescResponse.Redirect ("messages/"& SSerrFile )End Sub'-----------------------------------------------------------------------------------------------------------------------------Function Wiki2HTML ( ByVal sWikiString )'=== Definition ===sWikiString = Replace ( sWikiString, "[BREAKLINE]", "<hr noshade size='1' color='#DAD7C8'>" )sWikiString = Replace ( sWikiString, "[NEWLINE]", "<br>" )Wiki2HTML = sWikiStringEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------Function GetProductIcon ( rsQry )Const LIMG_BB_PRODUCT = "<img src='icons/i_product.gif' width='19' height='19' border='0' align='absmiddle'>"Const LIMG_BB_PATCH = "<img src='icons/i_patch_small.gif' border='0' align='absmiddle' hspace='2'>"Const LIMG_BB_PATCH_OBSOLETE = "<img src='icons/i_patch_small_obsolete.gif' border='0' align='absmiddle' hspace='2'>"Const LIMG_BB_PRODUCT_REJECTED = "<img src='icons/i_product_rejected.gif' width='19' height='19' border='0' align='absmiddle' title='Product is REJECTED! Click to see details.'>"'-- Set default iconGetProductIcon = LIMG_BB_PRODUCTIf IsObject(rsQry) Then'/* Recordset is passed */If rsQry("is_rejected") = enumDB_YES ThenGetProductIcon = LIMG_BB_PRODUCT_REJECTEDElseIf rsQry("is_obsolete") = enumDB_YES ThenGetProductIcon = LIMG_BB_PATCH_OBSOLETEElseIf rsQry("is_patch") = enumDB_YES ThenGetProductIcon = LIMG_BB_PATCHEnd IfElse'/* Single Value is passed */If rsQry = enumDB_YES ThenGetProductIcon = LIMG_BB_PRODUCT_REJECTEDEnd IfEnd IfEnd Function'----------------------------------------------------------------------------------------------------------------------------------------------Function GetRootVersion ( sBomVersion )Dim tempArrIf InStr( sBomVersion, "." ) > 0 Then'-- Dot separator found --'-- Split version --tempArr = Split( sBomVersion, "." )'-- Return first element as root versionGetRootVersion = tempArr(0)Else'-- No dot separator, hence root version is version itselfGetRootVersion = sBomVersionEnd IfEnd Function'--------------------------------------------------------------------------------------------------------------------------Function HighlightSubstring ( SSstr, SSsubstr )Dim leftSTR, startPosstartPos = InStr( 1, SSstr, SSsubstr, 1 )If startPos > 0 ThenleftSTR = Left ( SSstr, startPos - 1 )HighlightSubstring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"& Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr) )Else' Subtring not foundHighlightSubstring = SSstrEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------------------Sub Destroy_All_ObjectsOn Error Resume Nextset brokenReadyHash = nothingset brokenHash = nothingset pkgInfoHash = nothingset OraDatabase = nothingset OraSession = nothingset userdetailsHash = nothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Get_Pkg_Short_Info( SSparPv_id, SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked )Dim rsTemp, Query_StringIf IsEmpty(SSparPv_id) Then Exit SubQuery_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_idSet rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) ThenSSpkgID = 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 IfrsTemp.CloseSet rsTemp = nothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Create_Folder ( sCreateIn, sFolderName )Dim filesys, currfolder, folcoll, subfolSet filesys = CreateObject("Scripting.FileSystemObject")If filesys.FolderExists( sCreateIn ) ThenSet currfolder = filesys.GetFolder( sCreateIn )Set folcoll = currfolder.SubFoldersIf NOT filesys.FolderExists( sCreateIn &"\"& sFolderName ) Thenfolcoll.Add( sFolderName )End IfEnd IfEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub DeleteFile( SSpath )Dim filesysSet filesys = CreateObject("Scripting.FileSystemObject")If filesys.FileExists(SSpath) Thenfilesys.DeleteFile SSpath, TRUEEnd IfSet filesys = nothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Get_Pkg_Info ( SSpv_id, NNrtag )Dim rsTemp, Query_StringOraDatabase.Parameters.Add "PV_ID", SSpv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", NNrtag, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RETURN_NUMBER", NULL, ORAPARM_OUTPUT, ORATYPE_NUMBERpkgInfoHash.Item ("can_unofficial") = "false"'/* Get Package Details */Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) ThenpkgInfoHash.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 IfEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Function Folder_Is_Empty ( sPath )Dim filesys, oFolderSet filesys = CreateObject("Scripting.FileSystemObject")If filesys.FolderExists( sPath ) ThenSet oFolder = filesys.GetFolder( sPath )If ( oFolder.Files.Count + oFolder.SubFolders.Count ) > 0 ThenFolder_Is_Empty = FALSEElseFolder_Is_Empty = TRUEEnd IfElseFolder_Is_Empty = TRUEEnd IfEnd Function'-----------------------------------------------------------------------------------------------------------------------------Sub DeleteFolder( SSpath )Dim filesysSet filesys = CreateObject ("Scripting.FileSystemObject")If filesys.FolderExists( SSpath ) Then'Set oFolder = filesys.GetFolder( SSpath )filesys.DeleteFolder SSpath ,TRUEEnd IfEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub PopulateSBOMField( nBomId, nProdId, sPkgName, sPkgVersion )Dim rsTemp, BomLocationDetailsIf IsNull(nProdId) ThenDim QueryQuery = "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 QuerySet 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' fieldCall Insert_Into_ClearQuest_Schema( nProdId, BomLocationDetails )'OraDatabase.Parameters.Remove "BOM_ID"rsTemp.Close()Set rsTemp = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Insert_Into_ClearQuest_Schema( nProdId, sBomDetails )Dim sqlstr, DEVIiss, Query_String, rsCQ, rsTempSet 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 sqlstrSet 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) ThenDEVIiss = DEVIiss &","& rsTemp("iss_id")End IfrsTemp.MoveNextWEndQuery_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_StringCall 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_connrsTemp.Execute "EXEC cq_devi.dbo.sp_DM_editSBOMDetails "& rsCQ("iss_id") &", '"& sBomDetails &"';"rsTemp.Close()Set rsTemp = NothingEnd IfrsCQ.MoveNextWendrsCQ.Close()Set rsCQ = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Get_CQ_Issues( SSsql, OOrsCQ )OOrsCQ.ActiveConnection = CQ_connOOrsCQ.Source = SSsqlOOrsCQ.CursorType = 0OOrsCQ.CursorLocation = 2OOrsCQ.LockType = 3OOrsCQ.Open()End Sub'-----------------------------------------------------------------------------------------------------------------------------%>