<%@LANGUAGE="VBSCRIPT"%> <% Option explicit Response.Expires = 0 ' always load the page, dont store %> <% '===================================================== ' _wform_change_eref.asp '===================================================== %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ Variable Definition ------------- Dim parPv_id Dim sMessage, sMessageType '------------ Constants Declaration ----------- '------------ Variable Init ------------------- Set pkgInfoHash = CreateObject("Scripting.Dictionary") parPv_id = QStrPar("pv_id") sMessage = NULL sMessageType = 3 '---------------------------------------------- %> <% '------------------------------------------------------------------------------------------------------------------------------------------ ' ' Add a line of text to the System Message ' eLevel - 1 == Critical, 2==Warning, 3==Note Sub sMessageAdd(eLevel, text) If NOT isNull(sMessage) Then sMessage = sMessage & "
" End If sMessage = sMessage & text If eLevel < sMessageType Then sMessageType = eLevel End If End Sub Sub Get_Pkg_Info_With_Eref ( NNpv_id ) Dim rsTemp, Query_String Query_String = _ " SELECT pkg.pkg_name, pv.pkg_version, pe.eref"&_ " FROM packages pkg, package_versions pv, package_eref pe"&_ " WHERE pkg.pkg_id = pv.pkg_id"&_ " AND pv.pv_id = "& NNpv_id &_ " AND pe.pv_id(+) = pv.pv_id" Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0)) If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name")) pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version")) pkgInfoHash.Add "eref", (rsTemp.Fields("eref")) End If rsTemp.Close Set rsTemp = nothing End Sub Sub Update_Eref ( NNpv_id, erefText ) Dim rsTemp, Query_String, sComments 'If the entry is empty then delete the table element If erefText = "" Then Delete_Eref(NNpv_id) Exit Sub End If '-- Update database to change the eRef objEH.TryORA ( OraSession ) On Error Resume Next Query_String = _ "MERGE INTO PACKAGE_EREF pe" &_ " USING (SELECT "& NNpv_id & " pv_id, '"& erefText & "' eref from dual) s" &_ " ON (pe.pv_id = s.pv_id)" &_ " WHEN MATCHED THEN UPDATE SET pe.eref = s.eref" &_ " WHEN NOT MATCHED THEN INSERT (pv_id, eref) VALUES (s.pv_id, s.eref)" OraDatabase.ExecuteSQL Query_String objEH.CatchORA ( OraSession ) If objEH.LastOraFailed = FALSE Then '-- Log the change sComments = "Set: "& erefText call Log_Action ( NNpv_id, "eref_change", sComments ) End If rsTemp.Close Set rsTemp = nothing End Sub '------------------------------------------------- ' Function: Delete_Eref ' Description: Delete a Package external Reference ' Sub Delete_Eref ( NNpv_id ) Dim rsTemp, Query_String, sComments '-- Update database to change the eRef objEH.TryORA ( OraSession ) On Error Resume Next Query_String = _ "DELETE FROM PACKAGE_EREF pe" &_ " WHERE PV_ID = " & NNpv_id OraDatabase.ExecuteSQL Query_String objEH.CatchORA ( OraSession ) If objEH.LastOraFailed = FALSE Then '-- Log the change sComments = "Deleted" call Log_Action ( NNpv_id, "eref_change", sComments ) Else bOraError = TRUE End If rsTemp.Close Set rsTemp = nothing End Sub %> <% 'Process submition If CBool(QStrPar("action")) AND objAccessControl.UserLogedIn Then Call Update_Eref ( parPv_id, Request("eref") ) If isNULL(sMessage) AND NOT objEH.LastOraFailed Then Call ReloadParentWindow Call CloseWindow End If End If %> <% Call Get_Pkg_Info_With_Eref ( parPv_id ) %> Release Manager
<%Call Messenger ( sMessage , sMessageType, "100%" )%>
Package <%=pkgInfoHash.Item ("pkg_name") &" "& pkgInfoHash.Item ("pkg_version")%>
External Reference