<% '===================================================== ' NEW VERSION ' PAGE '===================================================== %> <% '------------ Variable Definition ------------- Dim parPv_id Dim rsLocRel Dim parPage_title Dim objPkgInfo Dim rsTemp2 Dim rsLatest Dim aVersions Dim lastRow, i Dim objSortHelper Dim newPackage Dim majorState Dim minorState Dim patchState Dim parBase_view_id Dim verNumber Dim parPkgName '------------ Constants Declaration ----------- '------------ Variable Init ------------------- parPv_id = QStrPar("pv_id") parBase_view_id = Request("base_view_id") parPkgName = QStrPar("pkgName") parPage_title = "NEW VERSION" If ( parPkgName <> "" ) Then newPackage = 1 parPv_id = NULL Else newPackage = 0 End if majorState = "" minorState = "" patchState = "checked" Set objPkgInfo = CreateObject("Scripting.Dictionary") '----------------------------------------------------------------------------------------------------------------------------- Sub GetPackageInfo( nPvId, outPkgInfo ) Dim rsTemp, Query_String If (IsEmpty(nPvId) OR newPackage > 0) Then Exit Sub Query_String = _ " SELECT pv.pv_id, pkg.pkg_id, pkg.pkg_name, pv.pkg_version, pv.v_ext"&_ " FROM packages pkg, package_versions pv"&_ " WHERE pkg.pkg_id = pv.pkg_id AND pv.pv_id ="& nPvId Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0)) If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then outPkgInfo.Item("pv_id") = rsTemp.Fields("pv_id") outPkgInfo.Item("pkg_id") = rsTemp.Fields("pkg_id") outPkgInfo.Item("pkg_name") = rsTemp.Fields("pkg_name") outPkgInfo.Item("pkg_version") = rsTemp.Fields("pkg_version") if rsTemp.Fields("v_ext") <> "" Then outPkgInfo.Item("v_ext") = rsTemp.Fields("v_ext") Else outPkgInfo.Item("v_ext") = "" End If End If rsTemp.Close Set rsTemp = nothing End Sub '----------------------------------------------------------------------------------------------------------------------------- Function Get_Latest_All_Ext ( NNpkg_id, nPv_id ) Get_Latest_All_Ext = _ " SELECT pv.pkg_version, pv.dlocked,"&_ " DECODE ( pv.pv_id, "& nPv_id &", 'selected', NULL ) AS selected"&_ " FROM PACKAGES pkg, package_versions pv"&_ " WHERE pkg.pkg_id = pv.pkg_id AND pkg.pkg_id = "& NNpkg_id End Function '------------------------------------------------------------------------------------------------------------- ' Returns TRUE if the specified version has a COTS extension ' Really determines if the extension has to be strict Major.Minor.PatchBuild ' or is allowed to be more relaxes. As in COTS and TOOL packages. ' ' Read from the database to determine type ' If we cannot determine the project suffix then assume the worst ' Function HasCotsExtension(aExt) Dim rsQry, Query_String HasCotsExtension = FALSE if aExt <> "" Then Query_String = "SELECT EXT_NAME FROM PROJECT_EXTENTIONS pe WHERE " &_ "pe.IS_COTS='Y' AND pe.EXT_NAME='" & LCase(aExt) & "'" Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT ) If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then HasCotsExtension = TRUE End If rsQry.Close Else HasCotsExtension = TRUE end If Set rsQry = Nothing End Function '------------------------------------------------------------------------------------------------------------- 'Returns TRUE if the specified version has a patch-build number. Function HasPatchBuildNumber(aversion) 'test for a version with a patch build number, ie a dot and at least 4 digits before the extenstion. Dim re: Set re = New RegExp re.Pattern = "\.\d{4,}\.[^\.]+$" HasPatchBuildNumber = re.Test(aversion) Set re = Nothing End Function '------------------------------------------------------------------------------------------------------------- 'Returns TRUE if the specified version has a well formed version number Function HasWellFormedVersion(aversion) 'If a package has a major.minor.patch-build number then it is well formed Dim re: Set re = New RegExp re.Pattern = "^\d+\.\d+\.\d{4,}\.[^\.]+$" HasWellFormedVersion = re.Test(aversion) Set re = Nothing End Function '----------------------------------------------------------------------------------------------------------------------------- Sub Get_All_Base_Views ( NNnewgroup_id ) Dim rsTemp, Query_String Query_String = _ " SELECT vi.view_id, vi.view_name "&_ " FROM views vi "&_ " WHERE UPPER(vi.base_view) = 'Y'"&_ " ORDER BY vi.view_name ASC" Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0)) While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) If NNnewgroup_id = Cstr( rsTemp.Fields("view_id")) Then Response.write "" Else Response.write "" End If rsTemp.MoveNext WEnd rsTemp.Close Set rsTemp = nothing End Sub '----------------------------------------------------------------------------------------------------------------------------- Sub Get_All_Personal_Views ( NNuser_id ) Dim rsTemp, Query_String If NNuser_id = "" Then Exit Sub Query_String = _ " SELECT vi.view_id, vi.view_name"&_ " FROM view_settings vs,"&_ " views vi"&_ " WHERE vs.view_id = vi.view_id"&_ " AND vs.user_id = vi.owner_id "&_ " AND vs.user_id = "& NNuser_id &_ " AND vi.base_view = 'N'"&_ " ORDER BY UPPER(vi.view_name)" Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0)) While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Response.write "" rsTemp.MoveNext WEnd rsTemp.Close Set rsTemp = nothing End Sub '----------------------------------------------------------------------------------------------------------------------------- %> <% '===================== MAIN LINE ============================ Dim bDisableAuto, bPatchOnly, bIsCots, bIsAuto If NOT (newPackage > 0 ) Then Call GetPackageInfo( parPv_id, objPkgInfo ) parPkgName = objPkgInfo.Item("pkg_name") ' Extract version number without extension verNumber = objPkgInfo.Item("pkg_version") verNumber = Mid( verNumber,1, Len(verNumber) - Len(objPkgInfo.Item("v_ext"))) bIsCots = HasCotsExtension(objPkgInfo.Item("v_ext")) 'Disable the "Auto" build option if the package is a COTS package and the version doesn't have a patch-build number. bDisableAuto = bIsCots and not HasPatchBuildNumber(objPkgInfo.Item("pkg_version")) 'Enable only the "Patch Change" option if the package is a COTS package and the version has a patch-build number. bPatchOnly = bIsCots and not HasWellFormedVersion(objPkgInfo.Item("pkg_version")) and HasPatchBuildNumber(objPkgInfo.Item("pkg_version")) 'if "Auto" build option is disabled then select the Manual option bIsAuto = NOT bDisableAuto Else ' If New Package and First version parPage_title = "NEW PACKAGE and FIRST VERSION" bIsCots = FALSE bDisableAuto = FALSE bPatchOnly = FALSE bIsAuto = TRUE majorState = "checked" minorState = "" patchState = "" verNumber = "1.0.0000" End If '============================================================ %>
   
 
<%=parPage_title%>  
 
  <% if newPackage > 0 Then %> <% Else %> <% End If %> <% if newPackage > 0 Then %> <%If QStrPar("Pview") <> "disable" Then%> <%End If%> <% End If %> <% if NOT (newPackage > 0) Then %> <%End If%>
Package Name <%=parPkgName%>
To Base View
To Personal View
Version Number Assignment <% Dim flagAuto, flagMan if bDisableAuto Then flagAuto = "disabled" flagMan = "checked" Else If bIsAuto Then flagAuto = "checked" flagMan = "" Else flagAuto = "" flagMan = "checked" End if End if %>
onclick="changeToAutoVersionNumberAssignment();"> Auto onclick="changeToManualVersionNumberAssignment();"> Manual
New Version Number
<%If NOT newPackage > 0 Then%>  Existing Versions (For Reference Only) <%End If%>
Version Extension
Reason For This Version
Change Type
<%If bPatchOnly Then majorState = "disabled" %> > Major Change   A major number change indicates the contract of the package has changed in a non-backwardly compatible manner.

<%If bPatchOnly Then minorState = "disabled" %> > Minor Change   A minor number change indicates the contract of the package has changed in a backwardly compatible manner.

> Patch Change   A patch number change indicates the package has changed internally.
 

ERROR: Page Java script did not load