Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%
2
'=====================================================
3
'					 COMMON DB EDIT
4
'=====================================================
5
%>
6
<%
7
Sub Update_Pkg_Category ( SSrtag_id, SSpv_id, SSbase_view_id )
8
 
9
	OraDatabase.Parameters.Add "PV_ID", 	SSpv_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
12
 
13
 
14
	OraSession.BeginTrans
15
	OraDatabase.ExecuteSQL _
16
	"BEGIN PK_ENVIRONMENT.CHANGE_PACKAGE_VIEW ( :PV_ID, :RTAG_ID, :VIEW_ID );  END;"
17
  	OraSession.CommitTrans
18
 
19
 
20
	OraDatabase.Parameters.Remove "PV_ID"
21
	OraDatabase.Parameters.Remove "RTAG_ID"
22
	OraDatabase.Parameters.Remove "VIEW_ID"
23
 
24
End Sub
25
'-----------------------------------------------------------------------------------------------------------------------------
26
Sub Seed_Package_Names_Versions ( ARRdep, NNretPV_ID )
27
	Dim i
28
	OraDatabase.Parameters.Add "retPV_ID", 0, ORAPARM_OUTPUT, ORATYPE_NUMBER
29
	OraSession.BeginTrans
30
	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
	Next
33
	OraSession.CommitTrans
34
	OraDatabase.Parameters.Remove "retPV_ID"
35
End Sub
36
'-----------------------------------------------------------------------------------------------------------------------------
37
Function IsExtention ( SSstr )
38
	Dim objRegEx, Match, Matches, StrReturnStr
39
    Set objRegEx = New RegExp 
40
 
41
    objRegEx.IgnoreCase = True
42
    objRegEx.Pattern = "[A-Za-z]+"
43
 
44
	Set Matches = objRegEx.Execute( SSstr ) 
45
    For Each Match in Matches
46
        IsExtention = true
47
    Next
48
End Function
49
'-----------------------------------------------------------------------------------------------------------------------------
50
Function Get_Pkg_Base_View_ID ( NNpv_id, NNrtag_id )
51
	Dim rsTemp, Query_String
52
 
53
	If Request("rtag_id") = "" Then
54
		Get_Pkg_Base_View_ID = -1
55
		Exit Function
56
	End If
57
 
58
	Query_String = _
59
	" SELECT rc.base_view_id"&_
60
	"  FROM release_content rc"&_
61
	" WHERE rc.rtag_id = "& NNrtag_id &_
62
	"   AND rc.pv_id = "& NNpv_id
63
 
64
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
65
 
66
	If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
67
		Get_Pkg_Base_View_ID = CInt( rsTemp("base_view_id") )
68
	Else
69
		Get_Pkg_Base_View_ID = NULL
70
	End If
71
 
72
	rsTemp.Close
73
	Set rsTemp = nothing
74
End Function
75
'-----------------------------------------------------------------------------------------------------------------------------
76
Function Get_V_EXT ( SSversion )
77
	Dim v_ext
78
	v_ext = Right(SSversion, Len(SSversion) - InStrRev( SSversion, "." ))
79
 
80
	If IsExtention ( v_ext ) Then
81
		Get_V_EXT = v_ext
82
	Else
83
		Get_V_EXT = NULL
84
	End If
85
 
86
End Function
87
'-----------------------------------------------------------------------------------------------------------------------------
88
Sub Touch_Package ( NNpv_id )
89
	If NNpv_id = "" Then Exit Sub
90
	OraSession.BeginTrans
91
	OraDatabase.ExecuteSQL " UPDATE package_versions "&_
92
						   " SET modified_stamp = "& ORA_SYSDATETIME  &", modifier_id = "& objAccessControl.UserId &_
93
						   " WHERE pv_id = "& NNpv_id
94
  	OraSession.CommitTrans
95
End Sub
96
'-----------------------------------------------------------------------------------------------------------------------------
97
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
 
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
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
 
117
	' EXIT on no rebuild required
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
 
130
	' It is important to set the flag rebuild_env = 'N' first, to stop multiple processes doing the same thing
131
	OraDatabase.ExecuteSQL " UPDATE release_tags "&_
132
						   " SET rebuild_env = 'N'"&_
133
						   " WHERE rtag_id = "& NNrtag_id 
134
 
135
	OraSession.CommitTrans
136
 
137
 
138
	OraSession.BeginTrans
139
 
140
	' Now rebuild environment
141
	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 &_
147
	'					   " AND rebuild_stamp = "& secToday
148
 
149
 
150
	OraSession.CommitTrans
151
End Sub 
152
'-----------------------------------------------------------------------------------------------------------------------------
153
Sub CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, sQuery )
154
	Dim rsErr, Query_String
155
	Query_String = sQuery
156
 
157
 
158
	' --------- SQL PARAMETERS ------------
159
	OraDatabase.Parameters.Add "RTAG_ID", 					nRtag_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
160
	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
162
	OraDatabase.Parameters.Add "enumISSUES_STATE_FIXED", 	enumISSUES_STATE_FIXED, ORAPARM_INPUT, ORATYPE_NUMBER
163
	' -------------------------------------
164
	Set rsErr = OraDatabase.DbCreateDynaset( Query_String, cint(0))
165
 
166
	returnERRmsg = NULL
167
	returnALRTmsg = NULL
168
 
169
	If ( nPkgType = enumBASE_VIEW_PRODUCTS ) Then
170
		' Check Requirement for products
171
	Do While ((NOT rsErr.BOF) AND (NOT rsErr.EOF)) 
172
		If Not IsNull(rsErr("err_message")) Then
173
		returnERRmsg = rsErr("err_message")
174
			returnALRTmsg = rsErr("products_msg")
175
			returnParameters = "_make_released.asp" &"|"
176
			If returnALRTmsg = "ERROR" Then	
177
				returnParameters = rsErr("rfile") &"|"& rsErr("anchor")
178
				Exit Do
179
			End If
180
		End If
181
 
182
		rsErr.MoveNext
183
		Loop
184
 
185
	Else
186
		' Check Requirements for other packages
187
		Do While ((NOT rsErr.BOF) AND (NOT rsErr.EOF)) 
188
		If Not IsNull(rsErr("err_message")) Then
189
			returnERRmsg = rsErr("err_message")
190
			returnParameters = rsErr("rfile") &"|"& rsErr("anchor")
191
			Exit Do
192
	End If
193
 
194
		rsErr.MoveNext
195
	Loop
196
 
197
	End If
198
 
199
 
200
 
201
	rsErr.Close
202
	Set rsErr = nothing
203
	OraDatabase.Parameters.Remove "RTAG_ID"
204
	OraDatabase.Parameters.Remove "PV_ID"
205
	OraDatabase.Parameters.Remove "enumPKG_STATE_OK"
206
	OraDatabase.Parameters.Remove "enumISSUES_STATE_FIXED"
207
End Sub
208
'-----------------------------------------------------------------------------------------------------------------------------
209
Sub CheckRequirementsForMakeRelease ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
210
	Dim QueryString, rsQry
211
	QueryString = "SELECT pv.IS_PATCH FROM PACKAGE_VERSIONS pv WHERE pv.PV_ID = "& nPv_id
212
	Set rsQry = OraDatabase.DbCreateDynaset( QueryString, cint(0))
213
 
214
	If IsNull(rsQry("is_patch")) Then
215
		' For Package
216
		'Response.write "HERE"
217
		Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official.sql" ) )
218
	Else
219
		' For Patch
220
		Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_official_patch.sql" ) )
221
	End If
222
 
223
	rsQry.Close()
224
	Set rsQry = nothing	
225
 
226
End Sub
227
'-----------------------------------------------------------------------------------------------------------------------------
228
Sub CheckRequirementsForMakePending ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters )
229
	Call CheckRequirements ( nPv_id, nRtag_id, nPkgType, returnERRmsg, returnALRTmsg, returnParameters, ReadFile( rootPath & "queries\req_make_pending.sql" ) )
230
End Sub
231
'-----------------------------------------------------------------------------------------------------------------------------
232
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" ) )
234
End Sub
235
'-----------------------------------------------------------------------------------------------------------------------------
236
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" ) )
238
End Sub
239
'-----------------------------------------------------------------------------------------------------------------------------
240
Sub Notify ( NNrtag_id )
241
	Dim Query_String, Location_SQL, rsNotify, emailBody, readyPv_id_list, SentTODict, releaseSTR
242
	Dim httpRef, URL_root, headerSTR, footerSTR, oAttachmentsDict
243
 
244
	Set SentTODict = CreateObject("Scripting.Dictionary")
245
	Set oAttachmentsDict = CreateObject("Scripting.Dictionary")
246
 
247
	OraSession.BeginTrans
248
 
249
	Query_String = ReadFile( rootPath & "queries\to_notify.sql" )
250
	Query_String = Replace( Query_String, "/*PKG_STATE_MAJOR_READY*/", enumPKG_STATE_MAJOR_READY)
251
	Query_String = Replace( Query_String, "/*PKG_STATE_MINOR_READY*/", enumPKG_STATE_MINOR_READY)
252
	Query_String = Replace( Query_String, "/*PKG_STATE_OK*/", enumPKG_STATE_OK)
253
	Query_String = Replace( Query_String, "/*ORA_SYSDATETIME*/", ORA_SYSDATETIME)
254
 
255
	' --------- SQL PARAMETERS ------------
256
	OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT
257
	OraDatabase.Parameters("RTAG_ID").ServerType = ORATYPE_NUMBER
258
 
259
	OraDatabase.Parameters.Add "CURRENT_USER", objAccessControl.UserId, ORAPARM_INPUT
260
	OraDatabase.Parameters("CURRENT_USER").ServerType = ORATYPE_NUMBER
261
	' -------------------------------------
262
	'Response.write Query_String
263
	Set rsNotify = OraDatabase.DbCreateDynaset( Query_String, cint(0))
264
 
265
	readyPv_id_list = "-1"
266
	emailBody = ""
267
 
268
	'---- Get notification list ----
269
	If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
270
		httpRef = Request.ServerVariables("HTTP_REFERER")
271
		URL_root = Left( httpRef, InStrRev(httpRef, "/") )
272
 
273
		emailBody = emailBody & "<tr>"
274
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Owner</b></font></td>"
275
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Package Name</b></font></td>"
276
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Version</b></font></td>"
277
		emailBody = emailBody & "</tr>"
278
 
279
		While ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF))
280
		    emailBody = emailBody & "<tr>"
281
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("full_name") &"</font></td>"
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>"
283
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("pkg_version") &"</font></td>"
284
			emailBody = emailBody & "</tr>"
285
 
286
			readyPv_id_list = readyPv_id_list &","& rsNotify("pv_id")
287
 
288
			If NOT SentTODict.Exists (Cstr(rsNotify("user_email"))) Then SentTODict.Add Cstr(rsNotify("user_email")), Cstr(rsNotify("full_name"))
289
 
290
			rsNotify.MoveNext
291
		WEnd
292
 
293
		emailBody = "<table width='50%' border='1' cellspacing='0' cellpadding='1'>" & emailBody & "</table>"
294
 
295
	End If
296
 
297
	rsNotify.Close
298
	Set rsNotify = nothing
299
 
300
 
301
	If readyPv_id_list <> "-1" Then
302
		'---- Header ----
303
		headerSTR = _
304
		"<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
305
		"	<tr>"&_
306
		"	  <td valign='bottom'><img src='cid:RM-Envelop' width='60' height='30'></td>"&_
307
		"	  <td valign='bottom' align='right'><font size='3' face='tahoma,sans-serif'><b>release</b>manager Notifications</font></td>"&_
308
		"	</tr>"&_
309
		"	<tr> "&_
310
		"	  <td bgcolor='#003399'></td>"&_
311
		"	  <td bgcolor='#003399'></td>"&_
312
		"	</tr>"&_
313
		"</table><br><br>"
314
 
315
		'---- Footer ----
316
		footerSTR = _
317
		"<br><br>"&_
318
		"<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
319
		"  <tr>"&_
320
		"    <td colspan='2'><hr size='1' noshade color='#003399'></td>"&_
321
		"  </tr>"&_
322
	    "  <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>"&_
324
	    "    <td nowrap align='right'><font size='1' face='tahoma,sans-serif'>ERG Confidential &copy; ERG</font></td>"&_
325
	    "  </tr>"&_
326
	    "</table>"
327
 
328
 
329
		'---- Get Release loction ----
330
		Location_SQL = _
331
		" SELECT proj.proj_name, rt.rtag_name"&_
332
		"  FROM release_tags rt,"&_
333
		"       projects proj"&_
334
		" WHERE rt.proj_id = proj.proj_id"&_
335
		"   AND rt.rtag_id = :RTAG_ID"
336
 
337
		Set rsNotify = OraDatabase.DbCreateDynaset( Location_SQL, cint(0))
338
		If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
339
		releaseSTR = rsNotify("proj_name")  &" > "& rsNotify("rtag_name") 
340
		emailBody = "<font size='1' face='tahoma,sans-serif'>"&_
341
		            "Following packages are ready to build.<br><br>"&_
342
					rsNotify("proj_name") &" &gt; "& rsNotify("rtag_name") &"<br>"&_
343
					"<a href='"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id &"'>"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id  &"</a>"&_
344
					"</font>"&_
345
					emailBody
346
		End If
347
		rsNotify.Close
348
		Set rsNotify = nothing
349
 
350
		emailBody = headerSTR & emailBody & footerSTR
351
 
352
		'---- Remove pkg form notification history ----
353
		OraDatabase.ExecuteSQL " DELETE FROM notification_history WHERE rtag_id = :RTAG_ID AND pv_id IN ( "& readyPv_id_list &" )"
354
 
355
 
356
		'---- Insert into notification history ----
357
		OraDatabase.ExecuteSQL "INSERT INTO notification_history (rtag_id, pv_id, user_id, date_time_stamp) "&_
358
							   " SELECT ins.rtag_id, ins.pv_id, ins.user_id, ins.date_time_stamp"&_
359
							   "   FROM ("&_
360
							   Query_String &_
361
							   "		) ins"
362
 
363
	End If
364
 
365
	OraSession.CommitTrans
366
 
367
	'================= Send Email ==========================
368
	'Call Send_Email ( "Release Manager Notifications", adminEmail, adminEmail, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
369
 
370
	' ---------- Attachments -------------
371
	oAttachmentsDict.Add "images\i_mail.gif", 		"RM-Envelop"
372
	oAttachmentsDict.Add "images\s_masslogo_w.gif", "RM-MASSlogo"
373
 
374
	Call Send_Email ( "Release Manager Notifications", adminEmail, SentTODict, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
375
 
376
	OraDatabase.Parameters.Remove "RTAG_ID"
377
	OraDatabase.Parameters.Remove "CURRENT_USER"
378
 
379
End Sub
380
'-----------------------------------------------------------------------------------------------------------------------------
381
Function NeedSync ( nPv_id, nRtag_id )
382
	Dim rsTemp, Query_String
383
	Query_String = ReadFile( rootPath & "queries\sync_check.sql" )
384
 
385
	' --------- SQL PARAMETERS ------------
386
	OraDatabase.Parameters.Add "RTAG_ID", 					nRtag_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
387
	OraDatabase.Parameters.Add "PV_ID", 					nPv_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
388
	' -------------------------------------
389
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
390
 
391
	If rsTemp.RecordCount > 0 Then
392
		NeedSync = TRUE
393
	Else
394
		NeedSync = FALSE
395
	End If
396
 
397
	rsTemp.Close
398
	Set rsTemp = nothing
399
	OraDatabase.Parameters.Remove "RTAG_ID"
400
	OraDatabase.Parameters.Remove "PV_ID"
401
End Function
402
'-----------------------------------------------------------------------------------------------------------------------------
403
Function Lookup_Document ( sDocNum, outDocTitle, outDoc_id, outDoc_version, outDoc_created  )
404
	Dim rsDocReg
405
 
406
	outDocTitle = NULL
407
	outDoc_id = NULL
408
	outDoc_version = NULL
409
	outDoc_created = NULL
410
 
411
	Set rsDocReg = Server.CreateObject("ADODB.Recordset")
412
	rsDocReg.ActiveConnection = DOCREP_conn
413
 
414
	rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getDocumentFiles '"& sDocNum &"';"
415
	rsDocReg.CursorType = 0
416
	rsDocReg.CursorLocation = 2
417
	rsDocReg.LockType = 3
418
 
419
	On Error Resume Next
420
 
421
	rsDocReg.Open()
422
 
423
	If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
424
		outDocTitle = rsDocReg("title")
425
		outDoc_id = rsDocReg("id")
426
		outDoc_version = rsDocReg("version")
427
		outDoc_created = rsDocReg("created")
428
	End If
429
 
430
	rsDocReg.Close
431
 
432
	Lookup_Document = Err.Number	' Return Error number
433
 
434
	Set rsDocReg = nothing
435
End Function
436
'-----------------------------------------------------------------------------------------------------------------------------
437
Function Short_Document_Details ( nDocId, outDocTitle, outDoc_version, outDoc_created  )
438
	Dim rsDocReg
439
 
440
	outDocTitle = NULL
441
	outDoc_version = NULL
442
	outDoc_created = NULL
443
 
444
	Set rsDocReg = Server.CreateObject("ADODB.Recordset")
445
	rsDocReg.ActiveConnection = DOCREP_conn
446
 
447
	rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getFileDetails "& nDocId &";"
448
	rsDocReg.CursorType = 0
449
	rsDocReg.CursorLocation = 2
450
	rsDocReg.LockType = 3
451
 
452
	On Error Resume Next
453
 
454
	rsDocReg.Open()
455
 
456
	If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
457
		outDocTitle = rsDocReg("title")
458
		outDoc_version = rsDocReg("version")
459
		outDoc_created = rsDocReg("created")
460
	End If
461
 
462
	rsDocReg.Close
463
 
464
	Short_Document_Details = Err.Number	' Return Error number
465
 
466
	Set rsDocReg = nothing
467
End Function
468
'-----------------------------------------------------------------------------------------------------------------------------
469
Function GetIssueNumber ( nIssDB, nIssId )
470
	Dim rsQry
471
 
472
	Set rsQry = Server.CreateObject("ADODB.Recordset")
473
	rsQry.ActiveConnection = CQ_conn
474
 
475
	If CInt(nIssDB) = enumCLEARQUEST_DEVI_ID Then
476
		rsQry.Source = "EXEC devi_prod.dbo.sp_RM_getIssueDetails "& nIssId &";"
477
 
478
	ElseIf CInt(nIssDB) = enumCLEARQUEST_TDSE_ID Then
479
		rsQry.Source = "EXEC tdse_2002.dbo.sp_RM_getIssueDetails "& nIssId &";"
480
 
481
	End If
482
 
483
	rsQry.CursorType = 0
484
	rsQry.CursorLocation = 2
485
	rsQry.LockType = 3
486
 
487
	On Error Resume Next
488
 
489
	rsQry.Open()
490
 
491
	If (NOT rsQry.BOF) AND (NOT rsQry.EOF)  Then
492
		GetIssueNumber = rsQry("iss_num")
493
	End If
494
 
495
	rsQry.Close
496
	Set rsQry = nothing
497
End Function
498
'-----------------------------------------------------------------------------------------------------------------------------
499
Sub LoadFieldRules ( sFieldList, ByRef outobjForm )
500
	Dim rsQry, query
501
 
502
	query = _
503
	"   SELECT FIELD_NAME, "&_
504
	"		   IS_REQUIRED, "&_
505
	"		   IS_NUMERIC, "&_
506
	"		   MIN_NUMERIC_VALUE, "&_
507
	"		   MAX_NUMERIC_VALUE, "&_
508
	"		   IS_DATE, "&_
509
	"		   START_DATE, "&_
510
	"		   END_DATE, "&_
511
	"		   MIN_STRING_LENGTH, "&_
512
	" 		   MAX_STRING_LENGTH, "&_
513
	"		   REGEXP, "&_
514
	"		   REGEXP_DESCRIPTION "&_
515
	"	  FROM VALIDATION_RULES"&_
516
	"	 WHERE field_name IN ("& sFieldList &")"
517
 
518
 
519
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
520
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
521
		outobjForm.LoadFieldRules rsQry.GetRows()
522
 
523
	End If
524
 
525
	rsQry.Close
526
	Set rsQry = Nothing
527
End Sub
528
'-----------------------------------------------------------------------------------------------------------------------------
529
Sub Log_Action ( nPvId, sActionTypeName, sComments )
530
 
531
	OraDatabase.Parameters.Add "PV_ID", 		nPvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
532
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId,	ORAPARM_INPUT, ORATYPE_NUMBER 
533
	OraDatabase.Parameters.Add "ACTION_TYPE_NAME", 		sActionTypeName,	ORAPARM_INPUT, ORATYPE_VARCHAR2
534
	OraDatabase.Parameters.Add "COMMENTS", 		sComments,	ORAPARM_INPUT, ORATYPE_VARCHAR2
535
 
536
 
537
	OraSession.BeginTrans
538
 
539
	OraDatabase.ExecuteSQL _
540
	"BEGIN  Log_Action ( :PV_ID, :ACTION_TYPE_NAME, :USER_ID, :COMMENTS );  END;"
541
 
542
	OraSession.CommitTrans
543
 
544
 
545
	OraDatabase.Parameters.Remove "PV_ID"
546
	OraDatabase.Parameters.Remove "USER_ID"
547
	OraDatabase.Parameters.Remove "ACTION_TYPE_NAME"
548
	OraDatabase.Parameters.Remove "COMMENTS"
549
 
550
End Sub
551
'-----------------------------------------------------------------------------------------------------------------------------
552
Function GetUsername ( nUser_id )
553
	Dim rsQry, sQuery
554
 
555
	OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
556
	sQuery = "SELECT full_name FROM users WHERE user_id = :USER_ID"
557
	Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
558
 
559
	If rsQry.RecordCount = 1 Then
560
		GetUsername = rsQry.Fields("full_name").Value
561
	Else
562
		GetUsername = nothing
563
	End If
564
 
565
	OraDatabase.Parameters.remove "USER_ID"
566
	rsQry.Close
567
	Set rsQry = nothing
568
End Function
569
'-----------------------------------------------------------------------------------------------------------------------------
570
Function GetUserEmail ( nUser_id )
571
	Dim rsQry, sQuery
572
 
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"
584
	rsQry.Close
585
	Set rsQry = nothing
586
End Function
587
'------------------------------------------------------------------------------------------------------------------
588
%>