Rev 1281 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%Option explicitResponse.Expires = 0 ' always load the page, dont store%><%'=====================================================' Import Issues'=====================================================%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/common_dbedit.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/_popup_window_common.asp"--><%' Set rfile parameter. This is a return page after LoginCall objPMod.StoreParameter ( "rfile", "fixed_issues.asp" )'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_login.asp"--><!--#include file="_access_control_general.asp"--><!--#include file="_access_control_project.asp"--><%'------------ Variable Definition -------------Dim parPv_idDim parFRiss_dbDim parFRiss_idDim parFRiss_numDim rsCQDim rspPage ' current page number for multiple page resultsDim rspTotal ' total number of recordsDim rspCount ' Record counterDim rspTotalPages ' Total number of pages required to display resultsDim importedDim retValDim rsCQTempDim SQLstrDim parPackageDim parProjectDim parProductDim parSkipOpenDim disabledDim IsOptionUsedDim parCategMainDim parCategMinorDim parIStatesDim parTitleDim parDoQueryDim oIStatesDim checked'------------ Constants Declaration -----------Const rspMax = 100 ' maximum number of records displayedConst LENUM_ALL = "ALL"Const LCONST_STAR = "*"'------------ Variable Init -------------------parPv_id = Request("pv_id")parRtag_id = Request("rtag_id")rspPage = Request("rpg")parFRiss_db = Request("FRiss_db")parFRiss_id = Request("FRiss_id")parFRiss_num = Request("FRiss_num")parPackage = Request("package")parProject = Request("project")parProduct = Request("product")parCategMain = Request("categmain")parCategMinor = Request("categminor")parSkipOpen = Request("skip_open")parIStates = Request("istates")parTitle = Request("title")parDoQuery = Request("doQuery")Set rsCQ = Server.CreateObject("ADODB.Recordset")imported = FALSEIsOptionUsed = FALSE'-- CONDITIONS --------------------------------If rspPage = "" Then rspPage = 1If ( Request("btn") = "Filter" ) OR ( Request("btn") = "Find" ) Then rspPage = 1If (parFRiss_num = "") Then parFRiss_num = LENUM_ALLIf (parTitle = "") Then parTitle = LCONST_STAR ' DefaultIf parFRiss_db = "" Then parFRiss_db = enumCLEARQUEST_DEVI_ID ' DefaultIf CInt(parFRiss_db) = enumCLEARQUEST_DEVI_ID ThenIf (parPackage <> "") OR (parProject <> "") OR (parProduct <> "") OR (parTitle <> LCONST_STAR) Then IsOptionUsed = TRUEElseIf (parCategMain <> "") OR (parCategMinor <> "") Then IsOptionUsed = TRUEEnd IfIf (parDoQuery = "") Then parDoQuery = "0"' Get DEVI issue states checkedSet oIStates = GetIStates()'----------------------------------------------'Response.write "parPackage="& parPackage &", parProject="& parProject &", parProduct="& parProduct &", parSkipOpen="& parSkipOpen &"<br>"'Response.write "parPv_id="& parPv_id &", parRtag_id="& parRtag_id &", rspPage="& rspPage &", parFRiss_db="& parFRiss_db &", parFRiss_id="& parFRiss_id &", parFRiss_num="& parFRiss_num'Response.write "parIStates="& parIStates &", parSkipOpen="& parSkipOpen%><%'------------------------------------------------------------------------------------------------------------------------------------Function GetIStates()Dim IStates, aStates, stateIdSet IStates = CreateObject("Scripting.Dictionary")If parIStates = "" ThenIStates.Item ("ALL") = "checked"ElseaStates = Split( Replace( parIStates, " ", "" ), ",")For Each stateId In aStatesIStates.Item (CStr(stateId)) = "checked"NextEnd IfSet GetIStates = IStatesEnd Function'------------------------------------------------------------------------------------------------------------------------------------Function Get_Issues ( NNiss_db, NNiss_num, NNrecordCount, OOrsCQ )Dim SQLstr, issARR, iss_num, col_name, TitleIf CInt(NNiss_db) = enumCLEARQUEST_DEVI_ID ThenSQLstr = _" SELECT si.dbid AS iss_id, si.new_num AS iss_num, si.headline AS summary, sd.NAME AS state"&_" FROM CQ_DEVI.admin.software_issue si,"&_" CQ_DEVI.admin.STATEDEF sd"&_" WHERE si.STATE = sd.ID "End If'-- User filter --If (CInt(NNiss_db) = enumCLEARQUEST_DEVI_ID) Then' Add package FilterIf (parPackage <> "") ThenSQLstr = SQLstr &" AND si.package_ref = '"& Replace( parPackage, "'","''" ) &"'"End If' Add project FilterIf (parProject <> "") ThenSQLstr = SQLstr &" AND si.project = '"& Replace( parProject, "'","''" ) &"'"End If' Add product FilterIf (parProduct <> "") ThenSQLstr = SQLstr &" AND si.product = '"& Replace( parProduct, "'","''" ) &"'"End If' Add Issue State FilterIf (parIStates <> "") ThenSQLstr = SQLstr &" AND sd.id IN ("& parIStates &")"End If' Add Title keyword searchIf ( parTitle <> LCONST_STAR ) ThenTitle = Replace( parTitle, "'", "''" )Title = Replace( Title, "*", "%" )SQLstr = SQLstr &" AND si.headline LIKE ( '"& Title &"' )"End IfEnd If'-- Keyword search --If ( NNiss_num <> LENUM_ALL ) ThenissARR = Split( Replace( NNiss_num, " ", ""), "," )col_name = "new_num"SQLstr = SQLstr & " AND ( "For Each iss_num IN issARRSQLstr = SQLstr &" ("& col_name &" LIKE '%"& iss_num &"%') OR"NextSQLstr = Left( SQLstr, Len(SQLstr) - 2 ) ' Remove last 'OR'SQLstr = SQLstr & " ) "End If'-- Get record count ---NNrecordCount = Get_Record_Count( SQLstr )'-- Order by --If CInt(NNiss_db) = enumCLEARQUEST_DEVI_ID ThenSQLstr = SQLstr &" ORDER BY si.submit_date DESC"End If'Response.write SQLstrOOrsCQ.ActiveConnection = CQ_connOOrsCQ.Source = SQLstrOOrsCQ.CursorType = 0OOrsCQ.CursorLocation = 2OOrsCQ.LockType = 3On Error Resume NextOOrsCQ.Open()Get_Issues = Err.NumberEnd Function'------------------------------------------------------------------------------------------------------------------------------------Function Get_Record_Count ( SSsql )Dim rsTempSet rsTemp = Server.CreateObject("ADODB.Recordset")rsTemp.ActiveConnection = CQ_connrsTemp.Source = _" SELECT COUNT(*) as record_count "&_" FROM ("& SSsql &") ct"rsTemp.CursorType = 0rsTemp.CursorLocation = 2rsTemp.LockType = 3rsTemp.Open()If (NOT rsTemp.BOF) AND (NOT rsTemp.EOF) ThenGet_Record_Count = rsTemp("record_count")ElseGet_Record_Count = 0End IfrsTemp.CloseSet rsTemp = nothingEnd Function'------------------------------------------------------------------------------------------------------------------------------------Sub Get_CQ_Issues_States ( sIssIdList, nIssDB, outObjCQissState )Dim rsTemp, SQLstrSet rsTemp = Server.CreateObject("ADODB.Recordset")rsTemp.ActiveConnection = CQ_connIf CInt(nIssDB) = enumCLEARQUEST_DEVI_ID ThenSQLstr = _" SELECT si.dbid, sd.name AS state_name, si.state AS state_id"&_" FROM CQ_DEVI.admin.software_issue si,"&_" CQ_DEVI.admin.statedef sd"&_" WHERE si.STATE = sd.ID"&_" AND si.dbid IN ("& sIssIdList &")"End IfrsTemp.Source = SQLstrrsTemp.CursorType = 0rsTemp.CursorLocation = 2rsTemp.LockType = 3rsTemp.Open()While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)outObjCQissState.Add CStr(rsTemp("dbid")), CStr(rsTemp("state_name"))rsTemp.MoveNextWEndrsTemp.CloseSet rsTemp = nothingEnd Sub'------------------------------------------------------------------------------------------------------------------------------------Function Is_Pkg_Official ( nPv_id )Dim rsTemp, Query_StringQuery_String = _" SELECT dlocked"&_" FROM package_versions "&_" WHERE pv_id = "& nPv_idSet rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))If rsTemp("dlocked") = "Y" ThenIs_Pkg_Official = TRUEElseIs_Pkg_Official = FALSEEnd IfrsTemp.CloseSet rsTemp = nothingEnd Function'------------------------------------------------------------------------------------------------------------------------------------Function Set_Issue_State ( sCQState )If parSkipOpen <> "" ThenSet_Issue_State = enumISSUES_STATE_FIXEDElseSet_Issue_State = enumISSUES_STATE_IMPORTEDEnd IfEnd Function'------------------------------------------------------------------------------------------------------------------------------------Sub Import_Issues ( NNpv_id, NNiss_db, NNiss_id_list )Dim issArr, iss_id, oCQissState, iss_num, iss_state, iss_state_human_readableIf NNiss_id_list = "" Then Exit SubSet oCQissState = CreateObject("Scripting.Dictionary")issArr = Split ( NNiss_id_list, ",")Call Get_CQ_Issues_States ( NNiss_id_list, NNiss_db, oCQissState )objEH.TryORA ( OraSession )On Error Resume NextFor Each iss_id In issArriss_num = GetIssueNumber ( NNiss_db, iss_id )iss_state = Set_Issue_State ( oCQissState.Item (Trim(iss_id)) )If Err.Number = 0 ThenOraDatabase.ExecuteSQL _" INSERT INTO cq_issues ( pv_id, iss_db, iss_id, iss_state, mod_date )"&_" VALUES ( "& NNpv_id &", "& NNiss_db &", "& iss_id &", "& iss_state &", "& ORA_SYSDATE &")"If iss_state = 0 Theniss_state_human_readable = "No"Elseiss_state_human_readable = "Yes"End IfIf Err.Number = 0 ThenOraDatabase.ExecuteSQL _"BEGIN Log_Action ( "& NNpv_id &", 'issue_add', "& objAccessControl.UserId &", 'Issue number: "& iss_num &", Fixed: "& iss_state_human_readable &"' ); END;"End IfEnd IfNextobjEH.CatchORA ( OraSession )End Sub'------------------------------------------------------------------------------------------------------------------------------------%><%'Process submitionIf CBool(Request("action")) AND (Request("btn") = "Import") AND objAccessControl.UserLogedIn ThenCall Import_Issues ( parPv_id, parFRiss_db, parFRiss_id )imported = TRUECall OpenInParentWindow ("fixed_issues.asp?pv_id="& parPv_id &"&rtag_id="& parRtag_id)End If%><%'-------------- Main Line ---------------If parDoQuery <> "0" ThenretVal = Get_Issues ( parFRiss_db, parFRiss_num, rspTotal, rsCQ )End If' total number of pages requiredrspTotalPages = rspTotal \ rspMaxIf (rspTotal Mod rspMax) > 0 Then rspTotalPages = rspTotalPages + 1%><html><head><title>Release Manager</title><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link rel="stylesheet" href="images/release_manager_style.css" type="text/css"><link rel="stylesheet" href="images/navigation.css" type="text/css"><script language="JavaScript" src="images/common.js"></script><script language="javascript"><!--function toggleOptions(){var dbOpt = MM_findObj("FRiss_db");var dbName = dbOpt.options[dbOpt.selectedIndex].text;if (dbName == "DEVI"){MM_findObj("DIVOPTIONSTDSE").style.display = "none";MM_findObj("DIVOPTIONSDEVI").style.display = "block";}else{MM_findObj("DIVOPTIONSDEVI").style.display = "none";MM_findObj("DIVOPTIONSTDSE").style.display = "block";}}//--></script></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" onload="self.focus();"><%If retVal = 0 Then%><form name="importform" method="post" action="<%=scriptName%>"><table width="100%" border="0" cellspacing="0" cellpadding="2" height="100%"><tr><td height="1%" background="images/bg_admin_dark.gif"><img src="images/spacer.gif" width="10" height="40"></td><td nowrap colspan="3" class="wform_ttl" background="images/bg_admin_dark.gif"><table width="100" border="0" cellspacing="5" cellpadding="0"><tr><td align="left" class="wform_ttl">Issue Number</td><td nowrap><input name="FRiss_num" type="text" class="form_item" id="FRiss_num" value="<%=parFRiss_num%>" size="30" ><span class="form_wtxt_link">Example: ALL, 123, DEVI-123 </span></td></tr><tr><td align="left" class="wform_ttl">Database</td><td><select name="FRiss_db" class="form_item" id="FRiss_db" onChange="toggleOptions();"><option value="<%=enumCLEARQUEST_DEVI_ID%>" <%If CInt(parFRiss_db) = enumCLEARQUEST_DEVI_ID Then%>selected<%End If%>>DEVI</option></select></td></tr><tr><td align="right" class="wform_ttl"><img src="images/spacer.gif" width="80" height="1"></td><td><a href="javascript:;" onClick="ToggleDisplay('DIVOPTIONS');" class="form_wtxt_link">Options...</a></td></tr></table><DIV id="DIVOPTIONS" <%If IsOptionUsed Then%>style="display:block;"<%Else%>style="display:none;"<%End If%>><DIV id="DIVOPTIONSDEVI" <%If CInt(parFRiss_db) = enumCLEARQUEST_DEVI_ID Then%>style="display:block;"<%Else%>style="display:none;"<%End If%>><table width="100" border="0" cellspacing="5" cellpadding="0"><tr><td align="left" class="wform_ttl" valign="top">Title</td><td class="form_wtxt_link"><input name="title" type="text" class="form_item" id="title" value="<%=parTitle%>" style="width:100%;"> * Wildcard available</td></tr><tr><td align="left" class="wform_ttl">Package</td><td><select name="package" class="form_item" id="package" style="width:100%;"><option value="">ALL</option><%'---- PACKAGES ----Set rsCQTemp = Server.CreateObject("ADODB.Recordset")rsCQTemp.ActiveConnection = CQ_conn'-- Get projectsSQLstr = _"SELECT si.PACKAGE_REF"&_" FROM CQ_DEVI.admin.SOFTWARE_ISSUE si"&_" WHERE NOT si.PACKAGE_REF IS NULL"&_" GROUP BY si.PACKAGE_REF"&_" ORDER BY si.PACKAGE_REF"rsCQTemp.Source = SQLstrrsCQTemp.CursorType = 0rsCQTemp.CursorLocation = 2rsCQTemp.LockType = 3rsCQTemp.Open()While (NOT rsCQTemp.BOF) AND (NOT rsCQTemp.EOF)%><option value="<%=rsCQTemp("package_ref")%>" <%If parPackage = Cstr(rsCQTemp("package_ref")) Then%>selected<%End If%>><%=rsCQTemp("package_ref")%></option><%rsCQTemp.MoveNextWEndrsCQTemp.Close()%></select></td></tr><tr><td align="left" class="wform_ttl">Project</td><td><select name="project" class="form_item" id="project" style="width:100%;"><option value="">ALL</option><%'---- PROJECT ----Set rsCQTemp = Server.CreateObject("ADODB.Recordset")rsCQTemp.ActiveConnection = CQ_conn'-- Get projectsSQLstr = _"SELECT si.PROJECT"&_" FROM CQ_DEVI.admin.SOFTWARE_ISSUE si"&_" WHERE NOT si.PROJECT IS NULL"&_" GROUP BY si.PROJECT"&_" ORDER BY si.PROJECT"rsCQTemp.Source = SQLstrrsCQTemp.CursorType = 0rsCQTemp.CursorLocation = 2rsCQTemp.LockType = 3rsCQTemp.Open()While (NOT rsCQTemp.BOF) AND (NOT rsCQTemp.EOF)%><option value="<%=rsCQTemp("project")%>" <%If parProject = Cstr(rsCQTemp("project")) Then%>selected<%End If%>><%=rsCQTemp("project")%></option><%rsCQTemp.MoveNextWEndrsCQTemp.Close()%></select></td></tr><tr><td align="left" class="wform_ttl">Product</td><td><select name="product" class="form_item" id="product" style="width:100%;"><option value="">ALL</option><%'---- PRODUCT ----Set rsCQTemp = Server.CreateObject("ADODB.Recordset")rsCQTemp.ActiveConnection = CQ_conn'-- Get projectsSQLstr = _"SELECT si.PRODUCT"&_" FROM CQ_DEVI.admin.SOFTWARE_ISSUE si"&_" WHERE NOT si.PRODUCT IS NULL"&_" GROUP BY si.PRODUCT"&_" ORDER BY si.PRODUCT"rsCQTemp.Source = SQLstrrsCQTemp.CursorType = 0rsCQTemp.CursorLocation = 2rsCQTemp.LockType = 3rsCQTemp.Open()While (NOT rsCQTemp.BOF) AND (NOT rsCQTemp.EOF)%><option value="<%=rsCQTemp("product")%>" <%If parProduct = Cstr(rsCQTemp("product")) Then%>selected<%End If%>><%=rsCQTemp("product")%></option><%rsCQTemp.MoveNextWEndrsCQTemp.Close()%></select></td></tr><tr><td align="left" class="wform_ttl"> </td><td><fieldset><legend class="form_wtxt_link">Issue Status </legend><table width="100%" border="0" cellspacing="0" cellpadding="0"><%'---- ISSUE STATES ----Set rsCQTemp = Server.CreateObject("ADODB.Recordset")rsCQTemp.ActiveConnection = CQ_conn'-- Get IssuestatesSQLstr = _" SELECT sd.ID,"&_" sd.NAME"&_" FROM CQ_DEVI.admin.STATEDEF sd"&_" ORDER BY sd.ORDINAL"rsCQTemp.Source = SQLstrrsCQTemp.CursorType = 0rsCQTemp.CursorLocation = 2rsCQTemp.LockType = 3rsCQTemp.Open()While (NOT rsCQTemp.BOF) AND (NOT rsCQTemp.EOF)checked = ""If oIStates.Exists("ALL") OR oIStates.Exists(Cstr(rsCQTemp("id"))) Then checked = "checked"%><tr><td width="1"><input type="checkbox" name="istates" value="<%=rsCQTemp("id")%>" <%=checked%>></td><td width="100%" class="form_wtxt_link"><%=rsCQTemp("name")%></td></tr><%rsCQTemp.MoveNextWEndrsCQTemp.Close()%></table></fieldset></td></tr><tr><td align="right" class="wform_ttl"><img src="images/spacer.gif" width="80" height="1"></td><td><img src="images/spacer.gif" width="100" height="1"></td></tr></table></DIV></DIV><table width="400" border="0" cellspacing="5" cellpadding="0"><tr background="images/lbox_bg_blue.gif"><td colspan="2"><img src="images/spacer.gif" width="1" height="1"></td></tr><tr><td width="1"> </td><td width="100%"><input type="submit" name="btn" value="Find »" class="form_btn_comp"><span class="form_wtxt_link">Click Find to initiate clearquest query based on your options</span></td></tr></table></td></tr><tr><td background="images/lbox_bg_blue.gif" width="1%" height="1%"> </td><td background="images/lbox_bg_blue.gif" nowrap width="50%" class="wform_ttl"> </td><td background="images/lbox_bg_blue.gif" align="right" width="50%"><input type="submit" name="btn" value="Import" class="form_btn_comp"><input type="reset" name="btn" value="Close" class="form_btn_comp" onclick="self.close()"></td><td background="images/lbox_bg_blue.gif" align="right" width="1%" nowrap><img src="images/h_trsp_dot.gif" width="5" height="22"></td></tr><tr><td height="100%" width="1%"> </td><td valign="top" nowrap colspan="3" class="wform_ttl" background="images/bg_form_lightgray.gif"><%If imported ThenCall DisplayInfo ( "ISSUES_IMPORTED", "300" )End If%><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td width="1%" background="images/bg_form_lightbluedark.gif"> </td><td width="1%" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Issue Number</td><td width="1%" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">State</td><td width="100%" nowrap background="images/bg_form_lightbluedark.gif" class="form_field">Summary</td></tr><%rspCount = 0If (parDoQuery <> "0") ThenIf (NOT rsCQ.BOF) AND (NOT rsCQ.EOF) ThenrsCQ.Move( rspMax * (rspPage - 1))While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF) AND (rspCount < rspMax))If (objAccessControl.IsActive("ImportOpenIssues")) ThenSelect Case UCase( rsCQ("state") )Case "OPEN"disabled = ""Case "SUSPENDED"disabled = ""Case Elsedisabled = ""End SelectEnd IfIf NOT (objAccessControl.IsActive("ImportOpenIssues")) ThenIf (parSkipOpen <> "") ThenSelect Case UCase( rsCQ("state") )Case "OPEN"disabled = "disabled"Case Elsedisabled = ""End SelectElseSelect Case UCase( rsCQ("state") )Case "CLOSED"disabled = "disabled"Case Elsedisabled = ""End SelectEnd IfEnd If%><tr><td><input type="checkbox" name="FRiss_id" value="<%=rsCQ("iss_id")%>" <%=disabled%>></td><td nowrap class="form_item"><a href="javascript:;" onClick="MM_openBrWindow('_wform_issues_details.asp?iss_db=<%=parFRiss_db%>&iss_id=<%=rsCQ("iss_id")%>','IssueDetails','resizable=yes,width=580,height=500')" class="txt_linked"><%If parFRiss_num <> LENUM_ALL Then%><%=Highlight_Substring( rsCQ("iss_num"), parFRiss_num )%><%Else%><%=rsCQ("iss_num")%><%End If%></a></td><td class="form_item"><%=rsCQ("state")%></td><td class="form_item"><%=Server.HTMLEncode(rsCQ("summary"))%></td></tr><%rspCount = rspCount + 1rsCQ.MoveNextWEndrsCQ.CloseSet rsCQ = nothingEnd IfEnd If%><tr><td background="images/bg_form_lightbluedark.gif"> </td><td colspan="3" nowrap background="images/bg_form_lightbluedark.gif" class="form_step"><%If rspTotal > rspMax ThenIf CInt(rspPage) = CInt(rspTotalPages) ThenResponse.write "Found "& rspTotal &" records, showing "& (rspMax * rspPage) - rspMax + 1 &" - "& rspTotalElseResponse.write "Found "& rspTotal &" records, showing "& (rspMax * rspPage) - rspMax + 1 &" - "& (rspCount * rspPage)End IfElseResponse.write "Found "& rspTotal &" records"End If%></td></tr></table><table width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td align="center"><%If CInt(rspPage) > 1 Then%><a href="javascript:void(document.importform.submit())" onClick="importform.rpg.value = parseInt(importform.rpg.value) - 1; importform.submit();" class="txt_linked"><previous</a><%End If%> <%If CInt(rspPage) < CInt(rspTotalPages) Then%><a href="javascript:void(document.importform.submit())" onClick="importform.rpg.value = parseInt(importform.rpg.value) + 1; importform.btn.value='next';" class="txt_linked">next ></a><%End If%></td></tr></table><br></td></tr><tr><td width="1%" height="1%" background="images/lbox_bg_blue.gif"><img src="images/h_trsp_dot.gif" width="5" height="5"></td><td valign="top" nowrap colspan="3" class="wform_ttl" background="images/lbox_bg_blue.gif"></td></tr></table><input name="rpg" type="hidden" value="<%=rspPage%>"><input name="skip_open" type="hidden" value="<%=parSkipOpen%>"><input name="pv_id" type="hidden" value="<%=parPv_id%>"><input name="rtag_id" type="hidden" value="<%=parRtag_id%>"><input name="doQuery" id="doQuery" type="hidden" value="1"><input name="action" type="hidden" value="true"></form><%Else%><%=enumMSSQL_ERROR%><%End If%></body></html><!-- DESTRUCTOR -------><!--#include file="common/destructor.asp"-->