Subversion Repositories DevTools

Rev

Rev 119 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 119 Rev 129
Line 1... Line 1...
1
<%
1
<%
2
'=====================================================
2
'=====================================================
3
'					 COMMON DB EDIT
3
'                COMMON DB EDIT
4
'=====================================================
4
'=====================================================
5
%>
5
%>
6
<%
6
<%
7
Sub Update_Pkg_Category ( SSrtag_id, SSpv_id, SSbase_view_id )
7
Sub Update_Pkg_Category ( SSrtag_id, SSpv_id, SSbase_view_id )
8
	
8
 
9
	OraDatabase.Parameters.Add "PV_ID", 	SSpv_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
9
   OraDatabase.Parameters.Add "PV_ID",   SSpv_id,        ORAPARM_INPUT, ORATYPE_NUMBER
10
	OraDatabase.Parameters.Add "RTAG_ID", 	SSrtag_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
10
   OraDatabase.Parameters.Add "RTAG_ID", SSrtag_id,      ORAPARM_INPUT, ORATYPE_NUMBER
11
	OraDatabase.Parameters.Add "VIEW_ID", 	SSbase_view_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
11
   OraDatabase.Parameters.Add "VIEW_ID", SSbase_view_id, ORAPARM_INPUT, ORATYPE_NUMBER
12
	
-
 
13
	
12
 
-
 
13
   objEH.TryORA ( OraSession )
14
	OraSession.BeginTrans
14
   On Error Resume Next
15
	OraDatabase.ExecuteSQL _
15
   OraDatabase.ExecuteSQL _
16
	"BEGIN PK_ENVIRONMENT.CHANGE_PACKAGE_VIEW ( :PV_ID, :RTAG_ID, :VIEW_ID );  END;"
16
   "BEGIN PK_ENVIRONMENT.CHANGE_PACKAGE_VIEW ( :PV_ID, :RTAG_ID, :VIEW_ID );  END;"
17
  	OraSession.CommitTrans
17
   objEH.CatchORA ( OraSession )
18
	
-
 
19
	
18
 
20
	OraDatabase.Parameters.Remove "PV_ID"
19
   OraDatabase.Parameters.Remove "PV_ID"
21
	OraDatabase.Parameters.Remove "RTAG_ID"
20
   OraDatabase.Parameters.Remove "RTAG_ID"
22
	OraDatabase.Parameters.Remove "VIEW_ID"
21
   OraDatabase.Parameters.Remove "VIEW_ID"
23
	
22
 
24
End Sub
23
End Sub
25
'-----------------------------------------------------------------------------------------------------------------------------
24
'-----------------------------------------------------------------------------------------------------------------------------
26
Sub Seed_Package_Names_Versions ( ARRdep, NNretPV_ID )
25
Sub Seed_Package_Names_Versions ( ARRdep, NNretPV_ID )
27
	Dim i
26
   Dim i
28
	OraDatabase.Parameters.Add "retPV_ID", 0, ORAPARM_OUTPUT, ORATYPE_NUMBER
27
   OraDatabase.Parameters.Add "retPV_ID", 0, ORAPARM_OUTPUT, ORATYPE_NUMBER
-
 
28
   objEH.TryORA ( OraSession )
29
	OraSession.BeginTrans
29
   On Error Resume Next
-
 
30
 
30
	For i = 0 To UBound( ARRdep, 2 )
31
   For i = 0 To UBound( ARRdep, 2 )
31
		OraDatabase.ExecuteSQL "BEGIN Seed_Package_Names_Versions ('"& ARRdep(0,i) &"','"& ARRdep(1,i) &"', "& objAccessControl.UserId &", :retPV_ID); END;"
32
      OraDatabase.ExecuteSQL "BEGIN Seed_Package_Names_Versions ('"& ARRdep(0,i) &"','"& ARRdep(1,i) &"', "& objAccessControl.UserId &", :retPV_ID); END;"
32
	Next
33
   Next
33
	OraSession.CommitTrans
34
   objEH.CatchORA ( OraSession )
34
	OraDatabase.Parameters.Remove "retPV_ID"
35
   OraDatabase.Parameters.Remove "retPV_ID"
35
End Sub
36
End Sub
36
'-----------------------------------------------------------------------------------------------------------------------------
37
'-----------------------------------------------------------------------------------------------------------------------------
37
Function IsExtention ( SSstr )
38
Function IsExtention ( SSstr )
38
	Dim objRegEx, Match, Matches, StrReturnStr
39
   Dim objRegEx, Match, Matches, StrReturnStr
39
    Set objRegEx = New RegExp 
40
   Set objRegEx = New RegExp
40
	
41
 
41
    objRegEx.IgnoreCase = True
42
   objRegEx.IgnoreCase = True
42
    objRegEx.Pattern = "[A-Za-z]+"
43
   objRegEx.Pattern = "[A-Za-z]+"
43
	
44
 
44
	Set Matches = objRegEx.Execute( SSstr ) 
45
   Set Matches = objRegEx.Execute( SSstr )
45
    For Each Match in Matches
46
   For Each Match in Matches
46
        IsExtention = true
47
      IsExtention = true
47
    Next
48
   Next
48
End Function
49
End Function
49
'-----------------------------------------------------------------------------------------------------------------------------
50
'-----------------------------------------------------------------------------------------------------------------------------
50
Function Get_Pkg_Base_View_ID ( NNpv_id, NNrtag_id )
51
Function Get_Pkg_Base_View_ID ( NNpv_id, NNrtag_id )
51
	Dim rsTemp, Query_String
52
   Dim rsTemp, Query_String
52
	
53
 
53
	If Request("rtag_id") = "" Then
54
   If Request("rtag_id") = "" Then
54
		Get_Pkg_Base_View_ID = -1
55
      Get_Pkg_Base_View_ID = -1
55
		Exit Function
56
      Exit Function
56
	End If
57
   End If
57
	
58
 
58
	Query_String = _
59
   Query_String = _
59
	" SELECT rc.base_view_id"&_
60
   " SELECT rc.base_view_id"&_
60
	"  FROM release_content rc"&_
61
   "  FROM release_content rc"&_
61
	" WHERE rc.rtag_id = "& NNrtag_id &_
62
   " WHERE rc.rtag_id = "& NNrtag_id &_
62
	"   AND rc.pv_id = "& NNpv_id
63
   "   AND rc.pv_id = "& NNpv_id
63
	
64
 
64
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
65
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
65
	
66
 
66
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
67
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
67
		Get_Pkg_Base_View_ID = CInt( rsTemp("base_view_id") )
68
      Get_Pkg_Base_View_ID = CInt( rsTemp("base_view_id") )
68
	Else
69
   Else
69
		Get_Pkg_Base_View_ID = NULL
70
      Get_Pkg_Base_View_ID = NULL
70
	End If
71
   End If
71
	
72
 
72
	rsTemp.Close
73
   rsTemp.Close
73
	Set rsTemp = nothing
74
   Set rsTemp = nothing
74
End Function
75
End Function
75
'-----------------------------------------------------------------------------------------------------------------------------
76
'-----------------------------------------------------------------------------------------------------------------------------
76
Function Get_V_EXT ( SSversion )
77
Function Get_V_EXT ( SSversion )
77
	Dim v_ext
78
   Dim v_ext
78
	v_ext = Right(SSversion, Len(SSversion) - InStrRev( SSversion, "." ))
79
   v_ext = Right(SSversion, Len(SSversion) - InStrRev( SSversion, "." ))
79
	
80
 
80
	If IsExtention ( v_ext ) Then
81
   If IsExtention ( v_ext ) Then
81
		Get_V_EXT = v_ext
82
      Get_V_EXT = v_ext
82
	Else
83
   Else
83
		Get_V_EXT = NULL
84
      Get_V_EXT = NULL
84
	End If
85
   End If
85
	
86
 
86
End Function
87
End Function
87
'-----------------------------------------------------------------------------------------------------------------------------
88
'-----------------------------------------------------------------------------------------------------------------------------
88
Sub Touch_Package ( NNpv_id )
89
Sub Touch_Package ( NNpv_id )
89
	If NNpv_id = "" Then Exit Sub
90
   If NNpv_id = "" Then Exit Sub
-
 
91
 
-
 
92
   objEH.TryORA ( OraSession )
90
	OraSession.BeginTrans
93
   On Error Resume Next
91
	OraDatabase.ExecuteSQL " UPDATE package_versions "&_
94
   OraDatabase.ExecuteSQL " UPDATE package_versions "&_
92
						   " SET modified_stamp = "& ORA_SYSDATETIME  &", modifier_id = "& objAccessControl.UserId &_
95
                          " SET modified_stamp = "& ORA_SYSDATETIME  &", modifier_id = "& objAccessControl.UserId &_
93
						   " WHERE pv_id = "& NNpv_id
96
                          " WHERE pv_id = "& NNpv_id
94
  	OraSession.CommitTrans
97
   objEH.CatchORA ( OraSession )
95
End Sub
98
End Sub
96
'-----------------------------------------------------------------------------------------------------------------------------
99
'-----------------------------------------------------------------------------------------------------------------------------
-
 
100
Function Rebuild_Environment_Necessary(NNrtag_id)
-
 
101
   Dim Query_String, rsTemp
-
 
102
 
-
 
103
   Rebuild_Environment_Necessary = FALSE
-
 
104
 
-
 
105
   If IsNull(NNrtag_id) OR NNrtag_id = "" Then Exit Function     ' Exit if rtag_id is not supplied
-
 
106
 
-
 
107
   ' Find if rebuild is required
-
 
108
   Query_String = "SELECT rebuild_env FROM release_tags WHERE rtag_id = "& NNrtag_id
-
 
109
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
-
 
110
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
-
 
111
      If rsTemp("rebuild_env") = "Y" Then
-
 
112
         Rebuild_Environment_Necessary = TRUE
-
 
113
      End If
-
 
114
   End If
-
 
115
   rsTemp.Close
-
 
116
   Set rsTemp = nothing
-
 
117
End Function
-
 
118
 
-
 
119
'-----------------------------------------------------------------------------------------------------------------------------
97
Sub Rebuild_Environment ( NNrtag_id )
120
Sub Rebuild_Environment ( NNrtag_id )
98
	Dim Query_String, rsTemp, needRebuild, secToday
-
 
99
	
-
 
100
	If NNrtag_id = "" Then Exit Sub		' Exit if rtag_id is not supplied
-
 
101
	
121
 
102
	' Find if rebuild is required
-
 
103
	Query_String = "SELECT rebuild_env FROM release_tags WHERE rtag_id = "& NNrtag_id
-
 
104
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
-
 
105
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
122
   If Rebuild_Environment_Necessary(NNrtag_id) Then
106
		If rsTemp("rebuild_env") = "Y" Then
-
 
107
			needRebuild = TRUE
-
 
108
		Else
-
 
109
			needRebuild = FALSE
-
 
110
		End If
-
 
111
	Else
-
 
112
		needRebuild = FALSE
-
 
113
	End If
-
 
114
	rsTemp.Close
-
 
115
	Set rsTemp = nothing
-
 
116
	
123
 
117
	' EXIT on no rebuild required
124
      On Error Resume Next
118
	If NOT needRebuild Then Exit Sub
-
 
119
	
-
 
120
	' /*  REBUILD ENVIRONMENT  */
-
 
121
	OraSession.BeginTrans
-
 
122
	
-
 
123
	' Update rebuild stamp
-
 
124
	secToday = Int( Timer )
-
 
125
	'OraDatabase.ExecuteSQL " UPDATE release_tags "&_
-
 
126
	'					   " SET rebuild_stamp = "& secToday &_
-
 
127
	'					   " WHERE rtag_id = "& NNrtag_id
-
 
128
	
-
 
129
	
125
 
130
	' It is important to set the flag rebuild_env = 'N' first, to stop multiple processes doing the same thing
126
      ' It is important to set the flag rebuild_env = 'N' first, to stop multiple processes doing the same thing
-
 
127
      objEH.TryORA ( OraSession )
131
	OraDatabase.ExecuteSQL " UPDATE release_tags "&_
128
      OraDatabase.ExecuteSQL " UPDATE release_tags "&_
132
						   " SET rebuild_env = 'N'"&_
129
                             " SET rebuild_env = 'N'"&_
133
						   " WHERE rtag_id = "& NNrtag_id 
130
                             " WHERE rtag_id = "& NNrtag_id
134
	
-
 
135
	OraSession.CommitTrans
131
      objEH.CatchORA ( OraSession )
136
	
-
 
137
	
132
 
-
 
133
      ' Only proceed if the last update succeeded
138
	OraSession.BeginTrans
134
      If objEH.LastOraFailed = FALSE Then
139
	
-
 
140
	' Now rebuild environment
135
      ' Now rebuild environment
-
 
136
         objEH.TryORA ( OraSession )
141
	OraDatabase.ExecuteSQL " BEGIN Rebuild_Environment( "& NNrtag_id &" ); END;"
137
         OraDatabase.ExecuteSQL " BEGIN Rebuild_Environment( "& NNrtag_id &" ); END;"
142
	
-
 
143
	' Remove rebuild flag
-
 
144
	'OraDatabase.ExecuteSQL " UPDATE release_tags "&_
-
 
145
	'					   " SET rebuild_env = 'N'"&_
-
 
146
	'					   " WHERE rtag_id = "& NNrtag_id &_
138
         objEH.CatchORA ( OraSession )
147
	'					   " AND rebuild_stamp = "& secToday
139
      End If
148
	
-
 
149
	
-
 
150
	OraSession.CommitTrans
140
   End If
151
End Sub 
141
End Sub
152
'-----------------------------------------------------------------------------------------------------------------------------
142
'-----------------------------------------------------------------------------------------------------------------------------
153
Sub CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, sQuery )
143
Sub CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, sQuery )
154
	Dim rsErr, Query_String
144
   Dim rsErr, Query_String
155
	Query_String = sQuery
145
   Query_String = sQuery
156
	
146
 
157
	
147
 
158
	' --------- SQL PARAMETERS ------------
148
   ' --------- SQL PARAMETERS ------------
159
	OraDatabase.Parameters.Add "RTAG_ID", 					nRtag_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
149
   OraDatabase.Parameters.Add "RTAG_ID",                nRtag_id,               ORAPARM_INPUT, ORATYPE_NUMBER
160
	OraDatabase.Parameters.Add "PV_ID", 					nPv_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
150
   OraDatabase.Parameters.Add "PV_ID",                  nPv_id,                 ORAPARM_INPUT, ORATYPE_NUMBER
161
	OraDatabase.Parameters.Add "enumPKG_STATE_OK", 			enumPKG_STATE_OK, 		ORAPARM_INPUT, ORATYPE_NUMBER
151
   OraDatabase.Parameters.Add "enumPKG_STATE_OK",       enumPKG_STATE_OK,       ORAPARM_INPUT, ORATYPE_NUMBER
162
	OraDatabase.Parameters.Add "enumISSUES_STATE_FIXED", 	enumISSUES_STATE_FIXED, ORAPARM_INPUT, ORATYPE_NUMBER
152
   OraDatabase.Parameters.Add "enumISSUES_STATE_FIXED", enumISSUES_STATE_FIXED, ORAPARM_INPUT, ORATYPE_NUMBER
163
	' -------------------------------------
153
   ' -------------------------------------
164
	Set rsErr = OraDatabase.DbCreateDynaset( Query_String, cint(0))
154
   Set rsErr = OraDatabase.DbCreateDynaset( Query_String, cint(0))
165
	
155
 
166
	returnERRmsg = NULL
156
   returnERRmsg = NULL
167
	returnALRTmsg = NULL
157
   returnALRTmsg = NULL
168
	
158
 
169
	If ( nPkgType = enumBASE_VIEW_PRODUCTS ) Then
159
   If ( nPkgType = enumBASE_VIEW_PRODUCTS ) Then
170
		' Check Requirement for products
160
      ' Check Requirement for products
171
	Do While ((NOT rsErr.BOF) AND (NOT rsErr.EOF)) 
161
   Do While ((NOT rsErr.BOF) AND (NOT rsErr.EOF))
172
		If Not IsNull(rsErr("err_message")) Then
162
      If Not IsNull(rsErr("err_message")) Then
173
		returnERRmsg = rsErr("err_message")
163
         returnERRmsg = rsErr("err_message")
174
			returnALRTmsg = rsErr("products_msg")
164
         returnALRTmsg = rsErr("products_msg")
175
			returnParameters = "_make_released.asp" &"|"
165
         returnParameters = "_make_released.asp" &"|"
176
			If returnALRTmsg = "ERROR" Then	
166
         If returnALRTmsg = "ERROR" Then
177
				returnParameters = rsErr("rfile") &"|"& rsErr("anchor")
167
            returnParameters = rsErr("rfile") &"|"& rsErr("anchor")
178
				Exit Do
168
            Exit Do
179
			End If
169
         End If
180
		End If
170
      End If
181
		
171
 
182
		rsErr.MoveNext
172
      rsErr.MoveNext
183
		Loop
173
      Loop
184
		
174
 
185
	Else
175
   Else
186
		' Check Requirements for other packages
176
      ' Check Requirements for other packages
187
		Do While ((NOT rsErr.BOF) AND (NOT rsErr.EOF)) 
177
      Do While ((NOT rsErr.BOF) AND (NOT rsErr.EOF))
188
		If Not IsNull(rsErr("err_message")) Then
178
         If Not IsNull(rsErr("err_message")) Then
189
			returnERRmsg = rsErr("err_message")
179
            returnERRmsg = rsErr("err_message")
190
			returnParameters = rsErr("rfile") &"|"& rsErr("anchor")
180
            returnParameters = rsErr("rfile") &"|"& rsErr("anchor")
191
			Exit Do
181
            Exit Do
192
	End If
182
         End If
193
	
183
 
194
		rsErr.MoveNext
184
         rsErr.MoveNext
195
	Loop
185
      Loop
196
	
186
 
197
	End If
187
   End If
198
	
-
 
199
	
-
 
200
	
188
 
201
	rsErr.Close
189
   rsErr.Close
202
	Set rsErr = nothing
190
   Set rsErr = nothing
203
	OraDatabase.Parameters.Remove "RTAG_ID"
191
   OraDatabase.Parameters.Remove "RTAG_ID"
204
	OraDatabase.Parameters.Remove "PV_ID"
192
   OraDatabase.Parameters.Remove "PV_ID"
205
	OraDatabase.Parameters.Remove "enumPKG_STATE_OK"
193
   OraDatabase.Parameters.Remove "enumPKG_STATE_OK"
206
	OraDatabase.Parameters.Remove "enumISSUES_STATE_FIXED"
194
   OraDatabase.Parameters.Remove "enumISSUES_STATE_FIXED"
207
End Sub
195
End Sub
208
'-----------------------------------------------------------------------------------------------------------------------------
196
'-----------------------------------------------------------------------------------------------------------------------------
209
Sub CheckRequirementsForMakeRelease ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
197
Sub CheckRequirementsForMakeRelease ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
210
	Dim QueryString, rsQry
198
   Dim QueryString, rsQry
211
	QueryString = "SELECT pv.IS_PATCH FROM PACKAGE_VERSIONS pv WHERE pv.PV_ID = "& nPv_id
199
   QueryString = "SELECT pv.IS_PATCH FROM PACKAGE_VERSIONS pv WHERE pv.PV_ID = "& nPv_id
212
	Set rsQry = OraDatabase.DbCreateDynaset( QueryString, cint(0))
200
   Set rsQry = OraDatabase.DbCreateDynaset( QueryString, cint(0))
-
 
201
 
-
 
202
   Dim vcstag
-
 
203
 
-
 
204
   vcstag = get_vcs_tag( nPv_id )
213
	
205
 
214
	If IsNull(rsQry("is_patch")) Then
206
   If IsNull(rsQry("is_patch")) Then
215
		' For Package
207
      ' For Package
-
 
208
      If vcstag = enum_VCS_UNCONTROLLED_TAG Then
-
 
209
         Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_UC.sql" ) )
216
		'Response.write "HERE"
210
      ElseIf vcstag = enum_VCS_CLEARCASE_TAG Then
217
		Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official.sql" ) )
211
         Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_CC.sql" ) )
-
 
212
      ElseIf vcstag = enum_VCS_SUBVERSION_TAG Then
-
 
213
         Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_SVN.sql" ) )
-
 
214
      End If
218
	Else
215
   Else
219
		' For Patch
216
      ' For Patch
-
 
217
      If vcstag = enum_VCS_UNCONTROLLED_TAG Then
-
 
218
         Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_patch_UC.sql" ) )
-
 
219
      ElseIf vcstag = enum_VCS_CLEARCASE_TAG Then
220
		Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_patch.sql" ) )
220
         Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_patch_CC.sql" ) )
-
 
221
      ElseIf vcstag = enum_VCS_SUBVERSION_TAG Then
-
 
222
         Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_patch_SVN.sql" ) )
-
 
223
      End If
221
	End If
224
   End If
222
	
225
 
223
	rsQry.Close()
226
   rsQry.Close()
224
	Set rsQry = nothing	
227
   Set rsQry = nothing
225
	
228
 
226
End Sub
229
End Sub
227
'-----------------------------------------------------------------------------------------------------------------------------
230
'-----------------------------------------------------------------------------------------------------------------------------
228
Sub CheckRequirementsForMakePending ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
231
Sub CheckRequirementsForMakePending ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
-
 
232
   Dim vcstag
-
 
233
 
-
 
234
   vcstag = get_vcs_tag( nPv_id )
-
 
235
   If vcstag = enum_VCS_UNCONTROLLED_TAG Then
-
 
236
      Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_pending_UC.sql" ) )
-
 
237
   ElseIf vcstag = enum_VCS_CLEARCASE_TAG Then
229
	Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_pending.sql" ) )
238
      Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_pending_CC.sql" ) )
-
 
239
   ElseIf vcstag = enum_VCS_SUBVERSION_TAG Then
-
 
240
      Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_pending_SVN.sql" ) )
-
 
241
   End If
230
End Sub
242
End Sub
231
'-----------------------------------------------------------------------------------------------------------------------------
243
'-----------------------------------------------------------------------------------------------------------------------------
232
Sub CheckRequirementsForMakeApproved ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
244
Sub CheckRequirementsForMakeApproved ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
233
	Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_approved.sql" ) )
245
   Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_approved.sql" ) )
234
End Sub
246
End Sub
235
'-----------------------------------------------------------------------------------------------------------------------------
247
'-----------------------------------------------------------------------------------------------------------------------------
236
Sub CheckRequirementsForMakeDeployable ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters ) 
248
Sub CheckRequirementsForMakeDeployable ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
237
	Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_deployable.sql" ) )
249
   Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_deployable.sql" ) )
238
End Sub
250
End Sub
239
'-----------------------------------------------------------------------------------------------------------------------------
251
'-----------------------------------------------------------------------------------------------------------------------------
240
Sub Notify ( NNrtag_id )
252
Sub Notify ( NNrtag_id )
241
	Dim Query_String, Location_SQL, rsNotify, emailBody, readyPv_id_list, SentTODict, releaseSTR
253
   Dim Query_String, Location_SQL, rsNotify, emailBody, readyPv_id_list, SentTODict, releaseSTR
242
	Dim httpRef, URL_root, headerSTR, footerSTR, oAttachmentsDict
254
   Dim httpRef, URL_root, headerSTR, footerSTR, oAttachmentsDict
243
	
255
 
244
	Set SentTODict = CreateObject("Scripting.Dictionary")
256
   Set SentTODict = CreateObject("Scripting.Dictionary")
245
	Set oAttachmentsDict = CreateObject("Scripting.Dictionary")
257
   Set oAttachmentsDict = CreateObject("Scripting.Dictionary")
246
	
258
 
247
	OraSession.BeginTrans
259
   On Error Resume Next
248
	
260
   objEH.TryORA ( OraSession )
249
	Query_String = ReadFile( rootPath & "queries\to_notify.sql" )
261
 
250
	Query_String = Replace( Query_String, "/*PKG_STATE_MAJOR_READY*/", enumPKG_STATE_MAJOR_READY)
262
   Query_String = ReadFile( rootPath & "queries\to_notify.sql" )
251
	Query_String = Replace( Query_String, "/*PKG_STATE_MINOR_READY*/", enumPKG_STATE_MINOR_READY)
263
   Query_String = Replace( Query_String, "/*PKG_STATE_MAJOR_READY*/", enumPKG_STATE_MAJOR_READY)
252
	Query_String = Replace( Query_String, "/*PKG_STATE_OK*/", enumPKG_STATE_OK)
264
   Query_String = Replace( Query_String, "/*PKG_STATE_MINOR_READY*/", enumPKG_STATE_MINOR_READY)
253
	Query_String = Replace( Query_String, "/*ORA_SYSDATETIME*/", ORA_SYSDATETIME)
265
   Query_String = Replace( Query_String, "/*PKG_STATE_OK*/", enumPKG_STATE_OK)
254
	
266
   Query_String = Replace( Query_String, "/*ORA_SYSDATETIME*/", ORA_SYSDATETIME)
255
	' --------- SQL PARAMETERS ------------
267
 
256
	OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT
268
   ' --------- SQL PARAMETERS ------------
257
	OraDatabase.Parameters("RTAG_ID").ServerType = ORATYPE_NUMBER
269
   OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT
258
	
270
   OraDatabase.Parameters("RTAG_ID").ServerType = ORATYPE_NUMBER
259
	OraDatabase.Parameters.Add "CURRENT_USER", objAccessControl.UserId, ORAPARM_INPUT
271
 
260
	OraDatabase.Parameters("CURRENT_USER").ServerType = ORATYPE_NUMBER
272
   OraDatabase.Parameters.Add "CURRENT_USER", objAccessControl.UserId, ORAPARM_INPUT
261
	' -------------------------------------
273
   OraDatabase.Parameters("CURRENT_USER").ServerType = ORATYPE_NUMBER
262
	'Response.write Query_String
274
   ' -------------------------------------
263
	Set rsNotify = OraDatabase.DbCreateDynaset( Query_String, cint(0))
275
   'Response.write Query_String
264
	
276
   Set rsNotify = OraDatabase.DbCreateDynaset( Query_String, cint(0))
265
	readyPv_id_list = "-1"
277
 
266
	emailBody = ""
278
   readyPv_id_list = "-1"
267
	
279
   emailBody = ""
268
	'---- Get notification list ----
280
 
269
	If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
281
   '---- Get notification list ----
270
		httpRef = Request.ServerVariables("HTTP_REFERER")
282
   If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
271
		URL_root = Left( httpRef, InStrRev(httpRef, "/") )
283
      httpRef = Request.ServerVariables("HTTP_REFERER")
272
		
284
      URL_root = Left( httpRef, InStrRev(httpRef, "/") )
273
		emailBody = emailBody & "<tr>"
285
 
274
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Owner</b></font></td>"
286
      emailBody = emailBody & "<tr>"
275
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Package Name</b></font></td>"
287
      emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Owner</b></font></td>"
276
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Version</b></font></td>"
288
      emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Package Name</b></font></td>"
277
		emailBody = emailBody & "</tr>"
289
      emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Version</b></font></td>"
278
		
290
      emailBody = emailBody & "</tr>"
279
		While ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF))
291
 
280
		    emailBody = emailBody & "<tr>"
292
      While ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF))
281
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("full_name") &"</font></td>"
293
          emailBody = emailBody & "<tr>"
282
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'><a href='"& URL_root &"dependencies.asp?pv_id="& rsNotify("pv_id") &"&rtag_id="& NNrtag_id &"'>"& rsNotify("pkg_name") &"</a></font></td>"
294
         emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("full_name") &"</font></td>"
283
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("pkg_version") &"</font></td>"
295
         emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'><a href='"& URL_root &"dependencies.asp?pv_id="& rsNotify("pv_id") &"&rtag_id="& NNrtag_id &"'>"& rsNotify("pkg_name") &"</a></font></td>"
284
			emailBody = emailBody & "</tr>"
296
         emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("pkg_version") &"</font></td>"
285
			
297
         emailBody = emailBody & "</tr>"
286
			readyPv_id_list = readyPv_id_list &","& rsNotify("pv_id")
298
 
287
			
299
         readyPv_id_list = readyPv_id_list &","& rsNotify("pv_id")
288
			If NOT SentTODict.Exists (Cstr(rsNotify("user_email"))) Then SentTODict.Add Cstr(rsNotify("user_email")), Cstr(rsNotify("full_name"))
300
 
289
			
301
         If NOT SentTODict.Exists (Cstr(rsNotify("user_email"))) Then SentTODict.Add Cstr(rsNotify("user_email")), Cstr(rsNotify("full_name"))
290
			rsNotify.MoveNext
302
 
291
		WEnd
303
         rsNotify.MoveNext
292
		
304
      WEnd
293
		emailBody = "<table width='50%' border='1' cellspacing='0' cellpadding='1'>" & emailBody & "</table>"
305
 
294
		
306
      emailBody = "<table width='50%' border='1' cellspacing='0' cellpadding='1'>" & emailBody & "</table>"
295
	End If
307
 
296
	
308
   End If
297
	rsNotify.Close
309
 
298
	Set rsNotify = nothing
310
   rsNotify.Close
299
	
311
   Set rsNotify = nothing
300
	
312
 
301
	If readyPv_id_list <> "-1" Then
313
 
302
		'---- Header ----
314
   If readyPv_id_list <> "-1" Then
303
		headerSTR = _
315
      '---- Header ----
304
		"<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
316
      headerSTR = _
305
		"	<tr>"&_
317
      "<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
306
		"	  <td valign='bottom'><img src='cid:RM-Envelop' width='60' height='30'></td>"&_
318
      "   <tr>"&_
307
		"	  <td valign='bottom' align='right'><font size='3' face='tahoma,sans-serif'><b>release</b>manager Notifications</font></td>"&_
319
      "     <td valign='bottom'><img src='cid:RM-Envelop' width='60' height='30'></td>"&_
308
		"	</tr>"&_
320
      "     <td valign='bottom' align='right'><font size='3' face='tahoma,sans-serif'><b>release</b>manager Notifications</font></td>"&_
309
		"	<tr> "&_
321
      "   </tr>"&_
310
		"	  <td bgcolor='#003399'></td>"&_
322
      "   <tr> "&_
311
		"	  <td bgcolor='#003399'></td>"&_
323
      "     <td bgcolor='#003399'></td>"&_
312
		"	</tr>"&_
324
      "     <td bgcolor='#003399'></td>"&_
313
		"</table><br><br>"
325
      "   </tr>"&_
314
		
326
      "</table><br><br>"
315
		'---- Footer ----
327
 
316
		footerSTR = _
328
      '---- Footer ----
317
		"<br><br>"&_
329
      footerSTR = _
318
		"<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
330
      "<br><br>"&_
319
		"  <tr>"&_
331
      "<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
320
		"    <td colspan='2'><hr size='1' noshade color='#003399'></td>"&_
332
      "  <tr>"&_
321
		"  </tr>"&_
333
      "    <td colspan='2'><hr size='1' noshade color='#003399'></td>"&_
322
	    "  <tr>"&_
334
      "  </tr>"&_
323
	    "    <td><img src='cid:RM-MASSlogo' width='22' height='17' hspace='5' align='absmiddle'><font size='1' face='tahoma,sans-serif'>&nbsp;<a href='http://mass.erggroup.com'>mass</a></font></td>"&_
335
      "  <tr>"&_
324
	    "    <td nowrap align='right'><font size='1' face='tahoma,sans-serif'>ERG Confidential &copy; ERG</font></td>"&_
336
      "    <td><img src='cid:RM-MASSlogo' width='22' height='17' hspace='5' align='absmiddle'><font size='1' face='tahoma,sans-serif'>&nbsp;<a href='http://mass.erggroup.com'>mass</a></font></td>"&_
325
	    "  </tr>"&_
337
      "    <td nowrap align='right'><font size='1' face='tahoma,sans-serif'>ERG Confidential &copy; ERG</font></td>"&_
326
	    "</table>"
338
      "  </tr>"&_
327
		
339
      "</table>"
328
		
340
 
329
		'---- Get Release loction ----
341
 
330
		Location_SQL = _
342
      '---- Get Release loction ----
331
		" SELECT proj.proj_name, rt.rtag_name"&_
343
      Location_SQL = _
332
		"  FROM release_tags rt,"&_
344
      " SELECT proj.proj_name, rt.rtag_name"&_
333
		"       projects proj"&_
345
      "  FROM release_tags rt,"&_
334
		" WHERE rt.proj_id = proj.proj_id"&_
346
      "       projects proj"&_
335
		"   AND rt.rtag_id = :RTAG_ID"
347
      " WHERE rt.proj_id = proj.proj_id"&_
336
		
348
      "   AND rt.rtag_id = :RTAG_ID"
337
		Set rsNotify = OraDatabase.DbCreateDynaset( Location_SQL, cint(0))
349
 
338
		If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
350
      Set rsNotify = OraDatabase.DbCreateDynaset( Location_SQL, cint(0))
339
		releaseSTR = rsNotify("proj_name")  &" > "& rsNotify("rtag_name") 
351
      If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
340
		emailBody = "<font size='1' face='tahoma,sans-serif'>"&_
352
      releaseSTR = rsNotify("proj_name")  &" > "& rsNotify("rtag_name")
341
		            "Following packages are ready to build.<br><br>"&_
353
      emailBody = "<font size='1' face='tahoma,sans-serif'>"&_
342
					rsNotify("proj_name") &" &gt; "& rsNotify("rtag_name") &"<br>"&_
354
                  "Following packages are ready to build.<br><br>"&_
343
					"<a href='"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id &"'>"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id  &"</a>"&_
355
                  rsNotify("proj_name") &" &gt; "& rsNotify("rtag_name") &"<br>"&_
344
					"</font>"&_
356
                  "<a href='"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id &"'>"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id  &"</a>"&_
345
					emailBody
357
                  "</font>"&_
346
		End If
358
                  emailBody
347
		rsNotify.Close
359
      End If
348
		Set rsNotify = nothing
360
      rsNotify.Close
349
		
361
      Set rsNotify = nothing
350
		emailBody = headerSTR & emailBody & footerSTR
362
 
351
		
363
      emailBody = headerSTR & emailBody & footerSTR
352
		'---- Remove pkg form notification history ----
364
 
353
		OraDatabase.ExecuteSQL " DELETE FROM notification_history WHERE rtag_id = :RTAG_ID AND pv_id IN ( "& readyPv_id_list &" )"
365
      '---- Remove pkg from notification history ----
354
		
366
      OraDatabase.ExecuteSQL " DELETE FROM notification_history WHERE rtag_id = :RTAG_ID AND pv_id IN ( "& readyPv_id_list &" )"
355
		
367
 
356
		'---- Insert into notification history ----
368
 
357
		OraDatabase.ExecuteSQL "INSERT INTO notification_history (rtag_id, pv_id, user_id, date_time_stamp) "&_
369
      '---- Insert into notification history ----
358
							   " SELECT ins.rtag_id, ins.pv_id, ins.user_id, ins.date_time_stamp"&_
370
      OraDatabase.ExecuteSQL "INSERT INTO notification_history (rtag_id, pv_id, user_id, date_time_stamp) "&_
359
							   "   FROM ("&_
371
                             " SELECT ins.rtag_id, ins.pv_id, ins.user_id, ins.date_time_stamp"&_
360
							   Query_String &_
372
                             "   FROM ("&_
361
							   "		) ins"
373
                             Query_String &_
362
		
374
                             "      ) ins"
363
	End If
375
 
364
	
376
   End If
365
	OraSession.CommitTrans
377
 
366
	
378
   objEH.CatchORA ( OraSession )
367
	'================= Send Email ==========================
379
 
368
	'Call Send_Email ( "Release Manager Notifications", adminEmail, adminEmail, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
380
   '================= Send Email ==========================
369
	
381
   'Call Send_Email ( "Release Manager Notifications", adminEmail, adminEmail, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
370
	' ---------- Attachments -------------
382
 
371
	oAttachmentsDict.Add "images\i_mail.gif", 		"RM-Envelop"
383
   ' ---------- Attachments -------------
372
	oAttachmentsDict.Add "images\s_masslogo_w.gif", "RM-MASSlogo"
384
   oAttachmentsDict.Add "images\i_mail.gif",       "RM-Envelop"
373
	
385
   oAttachmentsDict.Add "images\s_masslogo_w.gif", "RM-MASSlogo"
374
	Call Send_Email ( "Release Manager Notifications", adminEmail, SentTODict, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
386
 
375
	
387
   Call Send_Email ( "Release Manager Notifications", adminEmail, SentTODict, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
376
	OraDatabase.Parameters.Remove "RTAG_ID"
388
 
377
	OraDatabase.Parameters.Remove "CURRENT_USER"
389
   OraDatabase.Parameters.Remove "RTAG_ID"
378
	
390
   OraDatabase.Parameters.Remove "CURRENT_USER"
-
 
391
 
379
End Sub
392
End Sub
380
'-----------------------------------------------------------------------------------------------------------------------------
393
'-----------------------------------------------------------------------------------------------------------------------------
381
Function NeedSync ( nPv_id, nRtag_id )
394
Function NeedSync ( nPv_id, nRtag_id )
382
	Dim rsTemp, Query_String
395
   Dim rsTemp, Query_String
383
	Query_String = ReadFile( rootPath & "queries\sync_check.sql" )
396
   Query_String = ReadFile( rootPath & "queries\sync_check.sql" )
384
	
397
 
385
	' --------- SQL PARAMETERS ------------
398
   ' --------- SQL PARAMETERS ------------
386
	OraDatabase.Parameters.Add "RTAG_ID", 					nRtag_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
399
   OraDatabase.Parameters.Add "RTAG_ID", nRtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
387
	OraDatabase.Parameters.Add "PV_ID", 					nPv_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
400
   OraDatabase.Parameters.Add "PV_ID",   nPv_id,   ORAPARM_INPUT, ORATYPE_NUMBER
388
	' -------------------------------------
401
   ' -------------------------------------
389
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
402
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
390
	
403
 
391
	If rsTemp.RecordCount > 0 Then
404
   If rsTemp.RecordCount > 0 Then
392
		NeedSync = TRUE
405
      NeedSync = TRUE
393
	Else
406
   Else
394
		NeedSync = FALSE
407
      NeedSync = FALSE
395
	End If
408
   End If
396
	
409
 
397
	rsTemp.Close
410
   rsTemp.Close
398
	Set rsTemp = nothing
411
   Set rsTemp = nothing
399
	OraDatabase.Parameters.Remove "RTAG_ID"
412
   OraDatabase.Parameters.Remove "RTAG_ID"
400
	OraDatabase.Parameters.Remove "PV_ID"
413
   OraDatabase.Parameters.Remove "PV_ID"
401
End Function
414
End Function
402
'-----------------------------------------------------------------------------------------------------------------------------
415
'-----------------------------------------------------------------------------------------------------------------------------
403
Function Lookup_Document ( sDocNum, outDocTitle, outDoc_id, outDoc_version, outDoc_created  )
416
Function Lookup_Document ( sDocNum, outDocTitle, outDoc_id, outDoc_version, outDoc_created  )
404
	Dim rsDocReg
417
   Dim rsDocReg
405
	
418
 
406
	outDocTitle = NULL
419
   outDocTitle = NULL
407
	outDoc_id = NULL
420
   outDoc_id = NULL
408
	outDoc_version = NULL
421
   outDoc_version = NULL
409
	outDoc_created = NULL
422
   outDoc_created = NULL
410
	
423
 
411
	Set rsDocReg = Server.CreateObject("ADODB.Recordset")
424
   Set rsDocReg = Server.CreateObject("ADODB.Recordset")
412
	rsDocReg.ActiveConnection = DOCREP_conn
425
   rsDocReg.ActiveConnection = DOCREP_conn
413
	
426
 
414
	rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getDocumentFiles '"& sDocNum &"';"
427
   rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getDocumentFiles '"& sDocNum &"';"
415
	rsDocReg.CursorType = 0
428
   rsDocReg.CursorType = 0
416
	rsDocReg.CursorLocation = 2
429
   rsDocReg.CursorLocation = 2
417
	rsDocReg.LockType = 3
430
   rsDocReg.LockType = 3
418
	
431
 
419
	On Error Resume Next
432
   On Error Resume Next
420
	
433
 
421
	rsDocReg.Open()
434
   rsDocReg.Open()
422
	
435
 
423
	If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
436
   If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
424
		outDocTitle = rsDocReg("title")
437
      outDocTitle = rsDocReg("title")
425
		outDoc_id = rsDocReg("id")
438
      outDoc_id = rsDocReg("id")
426
		outDoc_version = rsDocReg("version")
439
      outDoc_version = rsDocReg("version")
427
		outDoc_created = rsDocReg("created")
440
      outDoc_created = rsDocReg("created")
428
	End If
441
   End If
429
	
442
 
430
	rsDocReg.Close
443
   rsDocReg.Close
431
	
444
 
432
	Lookup_Document = Err.Number	' Return Error number
445
   Lookup_Document = Err.Number   ' Return Error number
433
	
446
 
434
	Set rsDocReg = nothing
447
   Set rsDocReg = nothing
435
End Function
448
End Function
436
'-----------------------------------------------------------------------------------------------------------------------------
449
'-----------------------------------------------------------------------------------------------------------------------------
437
Function Short_Document_Details ( nDocId, outDocTitle, outDoc_version, outDoc_created  )
450
Function Short_Document_Details ( nDocId, outDocTitle, outDoc_version, outDoc_created  )
438
	Dim rsDocReg
451
   Dim rsDocReg
439
	
452
 
440
	outDocTitle = NULL
453
   outDocTitle = NULL
441
	outDoc_version = NULL
454
   outDoc_version = NULL
442
	outDoc_created = NULL
455
   outDoc_created = NULL
443
	
456
 
444
	Set rsDocReg = Server.CreateObject("ADODB.Recordset")
457
   Set rsDocReg = Server.CreateObject("ADODB.Recordset")
445
	rsDocReg.ActiveConnection = DOCREP_conn
458
   rsDocReg.ActiveConnection = DOCREP_conn
446
	
459
 
447
	rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getFileDetails "& nDocId &";"
460
   rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getFileDetails "& nDocId &";"
448
	rsDocReg.CursorType = 0
461
   rsDocReg.CursorType = 0
449
	rsDocReg.CursorLocation = 2
462
   rsDocReg.CursorLocation = 2
450
	rsDocReg.LockType = 3
463
   rsDocReg.LockType = 3
451
	
464
 
452
	On Error Resume Next
465
   On Error Resume Next
453
	
466
 
454
	rsDocReg.Open()
467
   rsDocReg.Open()
455
	
468
 
456
	If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
469
   If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
457
		outDocTitle = rsDocReg("title")
470
      outDocTitle = rsDocReg("title")
458
		outDoc_version = rsDocReg("version")
471
      outDoc_version = rsDocReg("version")
459
		outDoc_created = rsDocReg("created")
472
      outDoc_created = rsDocReg("created")
460
	End If
473
   End If
461
	
474
 
462
	rsDocReg.Close
475
   rsDocReg.Close
463
	
476
 
464
	Short_Document_Details = Err.Number	' Return Error number
477
   Short_Document_Details = Err.Number   ' Return Error number
465
	
478
 
466
	Set rsDocReg = nothing
479
   Set rsDocReg = nothing
467
End Function
480
End Function
468
'-----------------------------------------------------------------------------------------------------------------------------
481
'-----------------------------------------------------------------------------------------------------------------------------
469
Function GetIssueNumber ( nIssDB, nIssId )
482
Function GetIssueNumber ( nIssDB, nIssId )
470
	Dim rsQry
483
   Dim rsQry
471
	
484
 
472
	Set rsQry = Server.CreateObject("ADODB.Recordset")
485
   Set rsQry = Server.CreateObject("ADODB.Recordset")
473
	rsQry.ActiveConnection = CQ_conn
486
   rsQry.ActiveConnection = CQ_conn
474
	
487
 
475
	If CInt(nIssDB) = enumCLEARQUEST_DEVI_ID Then
488
   If CInt(nIssDB) = enumCLEARQUEST_DEVI_ID Then
476
		rsQry.Source = "EXEC devi_prod.dbo.sp_RM_getIssueDetails "& nIssId &";"
489
      rsQry.Source = "EXEC devi_prod.dbo.sp_RM_getIssueDetails "& nIssId &";"
477
		
490
 
478
	ElseIf CInt(nIssDB) = enumCLEARQUEST_TDSE_ID Then
491
   ElseIf CInt(nIssDB) = enumCLEARQUEST_TDSE_ID Then
479
		rsQry.Source = "EXEC tdse_2002.dbo.sp_RM_getIssueDetails "& nIssId &";"
492
      rsQry.Source = "EXEC tdse_2002.dbo.sp_RM_getIssueDetails "& nIssId &";"
480
		
493
 
481
	End If
494
   End If
482
	
495
 
483
	rsQry.CursorType = 0
496
   rsQry.CursorType = 0
484
	rsQry.CursorLocation = 2
497
   rsQry.CursorLocation = 2
485
	rsQry.LockType = 3
498
   rsQry.LockType = 3
486
	
499
 
487
	On Error Resume Next
500
   On Error Resume Next
488
	
501
 
489
	rsQry.Open()
502
   rsQry.Open()
490
	
503
 
491
	If (NOT rsQry.BOF) AND (NOT rsQry.EOF)  Then
504
   If (NOT rsQry.BOF) AND (NOT rsQry.EOF)  Then
492
		GetIssueNumber = rsQry("iss_num")
505
      GetIssueNumber = rsQry("iss_num")
493
	End If
506
   End If
494
	
507
 
495
	rsQry.Close
508
   rsQry.Close
496
	Set rsQry = nothing
509
   Set rsQry = nothing
497
End Function
510
End Function
498
'-----------------------------------------------------------------------------------------------------------------------------
511
'-----------------------------------------------------------------------------------------------------------------------------
499
Sub LoadFieldRules ( sFieldList, ByRef outobjForm )
512
Sub LoadFieldRules ( sFieldList, ByRef outobjForm )
500
	Dim rsQry, query
513
   Dim rsQry, query
501
	
514
 
502
	query = _
515
   query = _
503
	"   SELECT FIELD_NAME, "&_
516
   "   SELECT FIELD_NAME, "&_
504
	"		   IS_REQUIRED, "&_
517
   "         IS_REQUIRED, "&_
505
	"		   IS_NUMERIC, "&_
518
   "         IS_NUMERIC, "&_
506
	"		   MIN_NUMERIC_VALUE, "&_
519
   "         MIN_NUMERIC_VALUE, "&_
507
	"		   MAX_NUMERIC_VALUE, "&_
520
   "         MAX_NUMERIC_VALUE, "&_
508
	"		   IS_DATE, "&_
521
   "         IS_DATE, "&_
509
	"		   START_DATE, "&_
522
   "         START_DATE, "&_
510
	"		   END_DATE, "&_
523
   "         END_DATE, "&_
511
	"		   MIN_STRING_LENGTH, "&_
524
   "         MIN_STRING_LENGTH, "&_
512
	" 		   MAX_STRING_LENGTH, "&_
525
   "          MAX_STRING_LENGTH, "&_
513
	"		   REGEXP, "&_
526
   "         REGEXP, "&_
514
	"		   REGEXP_DESCRIPTION "&_
527
   "         REGEXP_DESCRIPTION "&_
515
	"	  FROM VALIDATION_RULES"&_
528
   "     FROM VALIDATION_RULES"&_
516
	"	 WHERE field_name IN ("& sFieldList &")"
529
   "    WHERE field_name IN ("& sFieldList &")"
517
	
530
 
518
	
531
 
519
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
532
   Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
520
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
533
   If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
521
		outobjForm.LoadFieldRules rsQry.GetRows()
534
      outobjForm.LoadFieldRules rsQry.GetRows()
522
		
535
 
523
	End If
536
   End If
524
	
537
 
525
	rsQry.Close
538
   rsQry.Close
526
	Set rsQry = Nothing
539
   Set rsQry = Nothing
527
End Sub
540
End Sub
528
'-----------------------------------------------------------------------------------------------------------------------------
541
'-----------------------------------------------------------------------------------------------------------------------------
529
Sub Log_Action ( nPvId, sActionTypeName, sComments )
542
Sub Log_Action ( nPvId, sActionTypeName, sComments )
530
	
543
 
531
	OraDatabase.Parameters.Add "PV_ID", 		nPvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
544
   OraDatabase.Parameters.Add "PV_ID",            nPvId,                   ORAPARM_INPUT, ORATYPE_NUMBER
532
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId,	ORAPARM_INPUT, ORATYPE_NUMBER 
545
   OraDatabase.Parameters.Add "USER_ID",          objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
533
	OraDatabase.Parameters.Add "ACTION_TYPE_NAME", 		sActionTypeName,	ORAPARM_INPUT, ORATYPE_VARCHAR2
546
   OraDatabase.Parameters.Add "ACTION_TYPE_NAME", sActionTypeName,         ORAPARM_INPUT, ORATYPE_VARCHAR2
534
	OraDatabase.Parameters.Add "COMMENTS", 		sComments,	ORAPARM_INPUT, ORATYPE_VARCHAR2
547
   OraDatabase.Parameters.Add "COMMENTS",         sComments,               ORAPARM_INPUT, ORATYPE_VARCHAR2
535
	
-
 
536
	
548
 
-
 
549
   objEH.TryORA ( OraSession )
537
	OraSession.BeginTrans
550
   On Error Resume Next
538
	
551
 
539
	OraDatabase.ExecuteSQL _
552
   OraDatabase.ExecuteSQL _
540
	"BEGIN  Log_Action ( :PV_ID, :ACTION_TYPE_NAME, :USER_ID, :COMMENTS );  END;"
553
   "BEGIN  Log_Action ( :PV_ID, :ACTION_TYPE_NAME, :USER_ID, :COMMENTS );  END;"
541
	
554
 
542
	OraSession.CommitTrans
555
   objEH.CatchORA ( OraSession )
543
	
-
 
544
	
556
 
545
	OraDatabase.Parameters.Remove "PV_ID"
557
   OraDatabase.Parameters.Remove "PV_ID"
546
	OraDatabase.Parameters.Remove "USER_ID"
558
   OraDatabase.Parameters.Remove "USER_ID"
547
	OraDatabase.Parameters.Remove "ACTION_TYPE_NAME"
559
   OraDatabase.Parameters.Remove "ACTION_TYPE_NAME"
548
	OraDatabase.Parameters.Remove "COMMENTS"
560
   OraDatabase.Parameters.Remove "COMMENTS"
549
	
-
 
550
End Sub
561
End Sub
551
'-----------------------------------------------------------------------------------------------------------------------------
562
'-----------------------------------------------------------------------------------------------------------------------------
552
Function GetUsername ( nUser_id )
563
Function GetUsername ( nUser_id )
553
	Dim rsQry, sQuery
564
   Dim rsQry, sQuery
554
 
565
 
555
	OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
566
   OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
556
	sQuery = "SELECT full_name FROM users WHERE user_id = :USER_ID"
567
   sQuery = "SELECT full_name FROM users WHERE user_id = :USER_ID"
557
	Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
568
   Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
558
 
569
 
559
	If rsQry.RecordCount = 1 Then
570
   If rsQry.RecordCount = 1 Then
560
		GetUsername = rsQry.Fields("full_name").Value
571
      GetUsername = rsQry.Fields("full_name").Value
561
	Else
572
   Else
562
		GetUsername = nothing
573
      GetUsername = nothing
563
	End If
574
   End If
564
 
575
 
565
	OraDatabase.Parameters.remove "USER_ID"
576
   OraDatabase.Parameters.remove "USER_ID"
566
	rsQry.Close
577
   rsQry.Close
567
	Set rsQry = nothing
578
   Set rsQry = nothing
568
End Function
579
End Function
569
'-----------------------------------------------------------------------------------------------------------------------------
580
'-----------------------------------------------------------------------------------------------------------------------------
570
Function GetUserEmail ( nUser_id )
581
Function GetUserEmail ( nUser_id )
571
	Dim rsQry, sQuery
582
   Dim rsQry, sQuery
-
 
583
 
-
 
584
   OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
-
 
585
   sQuery = "SELECT user_email FROM users WHERE user_id = :USER_ID"
-
 
586
   Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
-
 
587
 
-
 
588
   If rsQry.RecordCount = 1 Then
-
 
589
      GetUserEmail = rsQry.Fields("user_email").Value
-
 
590
   Else
-
 
591
      GetUserEmail = nothing
-
 
592
   End If
572
 
593
 
573
	OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
-
 
574
	sQuery = "SELECT user_email FROM users WHERE user_id = :USER_ID"
-
 
575
	Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
-
 
576
 
-
 
577
	If rsQry.RecordCount = 1 Then
-
 
578
		GetUserEmail = rsQry.Fields("user_email").Value
-
 
579
	Else
-
 
580
		GetUserEmail = nothing
-
 
581
	End If
-
 
582
 
-
 
583
	OraDatabase.Parameters.remove "USER_ID"
594
   OraDatabase.Parameters.remove "USER_ID"
584
	rsQry.Close
595
   rsQry.Close
585
	Set rsQry = nothing
596
   Set rsQry = nothing
586
End Function
597
End Function
-
 
598
'---------------------------------------------------------------------------------------------------------------------
-
 
599
Sub SetIgnoreWarnings (dpvId, pvId, rtagId)
-
 
600
 
-
 
601
   Dim Query_String, rsTemp
-
 
602
 
-
 
603
   OraDatabase.Parameters.Add "RTAG_ID",        rtagId,                  ORAPARM_INPUT, ORATYPE_NUMBER
-
 
604
   OraDatabase.Parameters.Add "PV_ID",          pvId,                    ORAPARM_INPUT, ORATYPE_NUMBER
-
 
605
   OraDatabase.Parameters.Add "USER_ID",        objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
-
 
606
   OraDatabase.Parameters.Add "IGNORE_ID_LIST", dpvId,                   ORAPARM_INPUT, ORATYPE_VARCHAR2
-
 
607
 
-
 
608
   On Error Resume Next
-
 
609
 
-
 
610
   objEH.TryORA ( OraSession )
-
 
611
   OraDatabase.ExecuteSQL _
-
 
612
   "BEGIN "&_
-
 
613
   " Ignore_Dependency_Warnings( :RTAG_ID, :PV_ID, :IGNORE_ID_LIST, FALSE, :USER_ID ); "&_
-
 
614
   "END; "
-
 
615
   objEH.CatchORA ( OraSession )
-
 
616
 
-
 
617
   OraDatabase.Parameters.Remove "USER_ID"
-
 
618
   OraDatabase.Parameters.Remove "IGNORE_ID_LIST"
-
 
619
 
-
 
620
   If objEH.LastOraFailed = FALSE Then
-
 
621
      ' DEVI-051154 has prompted the removal of the code to call touch_release from the
-
 
622
      ' Ignore_Dependency_Warnings stored procedure, and re-locate it here in the website code, since
-
 
623
      ' Ignore_Dependency_Warnings is called internally by other SQL code in the database where
-
 
624
      ' we do not want to touch_release. This is what Ignore_Dependency_Warnings used to do:
-
 
625
      '     IF PK_ENVIRONMENT.GET_PACKAGE_AREA ( nPvId, nRtagId ) = 2 THEN
-
 
626
      '        Touch_Release (nRtagId);
-
 
627
      '     END IF;
-
 
628
      ' Doing the same in the website code is a bit  more verbose, and we shouldn't do it if it
-
 
629
      ' is not necessary.
-
 
630
 
-
 
631
      ' Get the tab in which the package version resides (0=wip, 1=planned, 2=released)
-
 
632
      OraDatabase.Parameters.Add "ENVTAB",  NULL, ORAPARM_OUT, ORATYPE_NUMBER
-
 
633
      OraDatabase.ExecuteSQL _
-
 
634
      "BEGIN "&_
-
 
635
      " :ENVTAB = PK_ENVIRONMENT.GET_PACKAGE_AREA ( :PV_ID, :RTAG_ID ); "&_
-
 
636
      "END; "
-
 
637
 
-
 
638
      ' only need to touch release if it is not already in touched state. The purpose of this is to prevent the
-
 
639
      ' code inside the body of this "if-statement" from executing during the period of time when the database schema
-
 
640
      ' has yet to be updated to remove the intenral call to touch_release. Once the database schema is updated,
-
 
641
      ' the Rebuild_Environment_Necessary call is no longer necessary since it will always return FALSE at this
-
 
642
      ' point. Leaving the statement in place post the database schema update will do no harm though.
-
 
643
      If Rebuild_Environment_Necessary(rtagId) = FALSE Then
-
 
644
         ' If the package version is 'Released' then allow the rebuild of the environment so that the states
-
 
645
         ' of higher level packages can be re-evaluated
-
 
646
         If OraDatabase.Parameters("ENVTAB").Value = 2 Then
-
 
647
            objEH.TryORA ( OraSession )
-
 
648
            OraDatabase.ExecuteSQL _
-
 
649
            "BEGIN "&_
-
 
650
            " Touch_Release ( :RTAG_ID ); "&_
-
 
651
            "END; "
-
 
652
            objEH.CatchORA ( OraSession )
-
 
653
         End If
-
 
654
      End If
-
 
655
 
-
 
656
      OraDatabase.Parameters.Remove "ENVTAB"
-
 
657
   End If
-
 
658
 
-
 
659
   OraDatabase.Parameters.Remove "RTAG_ID"
-
 
660
   OraDatabase.Parameters.Remove "PV_ID"
-
 
661
End Sub
587
'------------------------------------------------------------------------------------------------------------------
662
'------------------------------------------------------------------------------------------------------------------
588
%>
-
 
589
663
%>
-
 
664