Rev 5513 | Rev 5958 | Go to most recent revision | 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 NicePath(path)NicePath = Replace(path," " , "",1,-1)NicePath = Replace(NicePath,"/" , "-",1,-1)NicePath = Replace(NicePath,"--" , "-",1,-1)End Function'-----------------------------------------------------------------------------------------------------------------------------Function ReadFile( sPath )Dim filesys, rfileSet filesys = CreateObject("Scripting.FileSystemObject")If filesys.FileExists ( sPath ) ThenSet rfile = filesys.OpenTextFile( sPath, 1, false)ReadFile = rfile.ReadAllrfile.closeElseReadFile=""End IfSet 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'-----------------------------------------------------------------------------------------------------------------------------Sub RaiseMsgInParent ( SSerrFile, SSerrDesc )Session( enum_RELMGR_ERRDESCRIPTION ) = SSerrDescCall OpenInParentWindow ("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")'OraDatabase.Parameters.Remove "BOM_ID"rsTemp.Close()Set rsTemp = NothingEnd Sub'-----------------------------------------------------------------------------------------------------------------------------Sub Get_CQ_Issues( SSsql, OOrsCQ )On Error Resume NextSet OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))End Sub'-----------------------------------------------------------------------------------------------------------------------------' Create a Windows scripting object and set special EnvVars to allow the script to access the oracle database' Export connection credentials as EnvVars. This is better than hard coding them' Returns an objectFunction createWscriptShell()Dim wshSystemEnv, objWSHSet objWSH = Server.CreateObject("WScript.Shell")' Set EnvVarsSet wshSystemEnv = objWSH.Environment( "Process" )wshSystemEnv("ORA_DATABASE") = Application("TNS_NAME")wshSystemEnv("ORA_CONNECTION") = Application("DEPLOYMENT_MANAGER_LOGIN")Set createWscriptShell = objWSHSet wshSystemEnv = nothingSet objWSH = nothingEnd Function%>