Rev 4301 | Blame | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'=====================================================' Import Dependency' --- PROCESS FORM ---'=====================================================%><%Option explicit' Good idea to set when using redirectResponse.Expires = 0 ' always load the page, dont store%><!--#include file="common/conf.asp"--><!--#include file="common/globals.asp"--><!--#include file="common/formating.asp"--><!--#include file="common/qstr.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/common_dbedit.asp"--><%' Set rfile parameter. This is a return page after LoginCall objPMod.StoreParameter ( "rfile", "dependencies.asp" )'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_login.asp"--><!--#include file="_access_control_general.asp"--><!--#include file="_access_control_project.asp"--><%'------------ Variable Definition -------------Dim parFromPv_idDim parToRtag_id'------------ Constants Declaration -----------'------------ Variable Init -------------------parFromPv_id = QStrPar("FromPv_id")parToRtag_id = QStrPar("rtag_id")'----------------------------------------------%><%Function Import_Dependency ( NNFromPv_id, NNToRtag_id )Dim sqlStr, PvId, iiDim ImportList, entry, keysSet ImportList = CreateObject ("Scripting.Dictionary")'' Generate a list of packages to be added' The union will add the base package to the set - if its not present'sqlStr = "SELECT DISTINCT qry.DPV_ID"&_" FROM ("&_" SELECT dep.PV_ID, dep.DPV_ID, LEVEL AS LEVEL_NUM"&_" FROM PACKAGE_DEPENDENCIES dep"&_" START WITH dep.PV_ID IN ( :PV_ID ) "&_" CONNECT BY PRIOR dep.DPV_ID = dep.PV_ID"&_" UNION" &_" SELECT" &_" TO_NUMBER(:PV_ID), TO_NUMBER(:PV_ID), TO_NUMBER(0) " &_" FROM DUAL" &_" ) qry,"&_" PACKAGES pkg,"&_" PACKAGE_VERSIONS pv"&_" WHERE qry.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID"&_" and qry.dpv_id NOT IN (select pv_id from release_content where rtag_id = :RTAG_ID)"On Error Resume NextobjEH.ErrorRedirect = TRUEobjEH.TryORA ( OraSession )OraDatabase.Parameters.Add "PV_ID", NNFromPv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", NNToRtag_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OPERATION","A", ORAPARM_INPUT, ORATYPE_CHARDim rsTempSet rsTemp = OraDatabase.DbCreateDynaset( sqlStr, cint(0))If Err.Number = 0 ThenWhile ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))entry = rsTemp("DPV_ID")If NOT ImportList.Exists(entry) ThenImportList.add entry, 1End IfrsTemp.MoveNextWEndEnd IfrsTemp.CloseSet rsTemp = nothing'' Add each entry into the 'Pending Tab''keys = ImportList.KeysFor ii = 0 to ImportList.Count - 1entry = keys(ii)OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Add "PV_ID", entry, ORAPARM_INPUT, ORATYPE_NUMBERIf Err.Number = 0 ThenOraDatabase.ExecuteSQL _"BEGIN "&_" PK_PLANNED.MERGE_PACKAGE ( :PV_ID, 7, :RTAG_ID, :USER_ID, :OPERATION ); "&_"END;"End IfNextobjEH.CatchORA ( OraSession )OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "USER_ID"OraDatabase.Parameters.Remove "OPERATION"Set ImportList = nothingEnd Function%><%'----------------------- MAIN LINE ---------------------------'--- Process submition ---If (parFromPv_id <> "") AND (parToRtag_id <> "") Then' All mandatory parameters FOUND'COMPLETE THE REQUEST...Call Import_Dependency ( parFromPv_id, parToRtag_id )If objEH.Finally ThenResponse.Redirect("dependencies.asp?rtag_id="& parToRtag_id )End IfElseResponse.write "Some mandatory parameters are missing!" & "<br>" 'TODOResponse.write QSTR_FullQueryEnd If%><!-- DESTRUCTOR -------><!--#include file="common/destructor.asp"-->