Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 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 Notify ( NNrtag_id )
237
	Dim Query_String, Location_SQL, rsNotify, emailBody, readyPv_id_list, SentTODict, releaseSTR
238
	Dim httpRef, URL_root, headerSTR, footerSTR, oAttachmentsDict
239
 
240
	Set SentTODict = CreateObject("Scripting.Dictionary")
241
	Set oAttachmentsDict = CreateObject("Scripting.Dictionary")
242
 
243
	OraSession.BeginTrans
244
 
245
	Query_String = ReadFile( rootPath & "queries\to_notify.sql" )
246
	Query_String = Replace( Query_String, "/*PKG_STATE_MAJOR_READY*/", enumPKG_STATE_MAJOR_READY)
247
	Query_String = Replace( Query_String, "/*PKG_STATE_MINOR_READY*/", enumPKG_STATE_MINOR_READY)
248
	Query_String = Replace( Query_String, "/*PKG_STATE_OK*/", enumPKG_STATE_OK)
249
	Query_String = Replace( Query_String, "/*ORA_SYSDATETIME*/", ORA_SYSDATETIME)
250
 
251
	' --------- SQL PARAMETERS ------------
252
	OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT
253
	OraDatabase.Parameters("RTAG_ID").ServerType = ORATYPE_NUMBER
254
 
255
	OraDatabase.Parameters.Add "CURRENT_USER", objAccessControl.UserId, ORAPARM_INPUT
256
	OraDatabase.Parameters("CURRENT_USER").ServerType = ORATYPE_NUMBER
257
	' -------------------------------------
258
	'Response.write Query_String
259
	Set rsNotify = OraDatabase.DbCreateDynaset( Query_String, cint(0))
260
 
261
	readyPv_id_list = "-1"
262
	emailBody = ""
263
 
264
	'---- Get notification list ----
265
	If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
266
		httpRef = Request.ServerVariables("HTTP_REFERER")
267
		URL_root = Left( httpRef, InStrRev(httpRef, "/") )
268
 
269
		emailBody = emailBody & "<tr>"
270
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Owner</b></font></td>"
271
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Package Name</b></font></td>"
272
		emailBody = emailBody & "<td nowrap bgcolor='#CAC5B8'><font size='1' face='tahoma,sans-serif'><b>Version</b></font></td>"
273
		emailBody = emailBody & "</tr>"
274
 
275
		While ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF))
276
		    emailBody = emailBody & "<tr>"
277
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("full_name") &"</font></td>"
278
			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>"
279
			emailBody = emailBody & "<td nowrap><font size='1' face='tahoma,sans-serif'>"& rsNotify("pkg_version") &"</font></td>"
280
			emailBody = emailBody & "</tr>"
281
 
282
			readyPv_id_list = readyPv_id_list &","& rsNotify("pv_id")
283
 
284
			If NOT SentTODict.Exists (Cstr(rsNotify("user_email"))) Then SentTODict.Add Cstr(rsNotify("user_email")), Cstr(rsNotify("full_name"))
285
 
286
			rsNotify.MoveNext
287
		WEnd
288
 
289
		emailBody = "<table width='50%' border='1' cellspacing='0' cellpadding='1'>" & emailBody & "</table>"
290
 
291
	End If
292
 
293
	rsNotify.Close
294
	Set rsNotify = nothing
295
 
296
 
297
	If readyPv_id_list <> "-1" Then
298
		'---- Header ----
299
		headerSTR = _
300
		"<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
301
		"	<tr>"&_
302
		"	  <td valign='bottom'><img src='cid:RM-Envelop' width='60' height='30'></td>"&_
303
		"	  <td valign='bottom' align='right'><font size='3' face='tahoma,sans-serif'><b>release</b>manager Notifications</font></td>"&_
304
		"	</tr>"&_
305
		"	<tr> "&_
306
		"	  <td bgcolor='#003399'></td>"&_
307
		"	  <td bgcolor='#003399'></td>"&_
308
		"	</tr>"&_
309
		"</table><br><br>"
310
 
311
		'---- Footer ----
312
		footerSTR = _
313
		"<br><br>"&_
314
		"<table width='50%' border='0' cellspacing='0' cellpadding='0'>"&_
315
		"  <tr>"&_
316
		"    <td colspan='2'><hr size='1' noshade color='#003399'></td>"&_
317
		"  </tr>"&_
318
	    "  <tr>"&_
319
	    "    <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>"&_
320
	    "    <td nowrap align='right'><font size='1' face='tahoma,sans-serif'>ERG Confidential &copy; ERG</font></td>"&_
321
	    "  </tr>"&_
322
	    "</table>"
323
 
324
 
325
		'---- Get Release loction ----
326
		Location_SQL = _
327
		" SELECT proj.proj_name, rt.rtag_name"&_
328
		"  FROM release_tags rt,"&_
329
		"       projects proj"&_
330
		" WHERE rt.proj_id = proj.proj_id"&_
331
		"   AND rt.rtag_id = :RTAG_ID"
332
 
333
		Set rsNotify = OraDatabase.DbCreateDynaset( Location_SQL, cint(0))
334
		If ((NOT rsNotify.BOF) AND (NOT rsNotify.EOF)) Then
335
		releaseSTR = rsNotify("proj_name")  &" > "& rsNotify("rtag_name") 
336
		emailBody = "<font size='1' face='tahoma,sans-serif'>"&_
337
		            "Following packages are ready to build.<br><br>"&_
338
					rsNotify("proj_name") &" &gt; "& rsNotify("rtag_name") &"<br>"&_
339
					"<a href='"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id &"'>"& URL_root &"dependencies.asp?rtag_id="& NNrtag_id  &"</a>"&_
340
					"</font>"&_
341
					emailBody
342
		End If
343
		rsNotify.Close
344
		Set rsNotify = nothing
345
 
346
		emailBody = headerSTR & emailBody & footerSTR
347
 
348
		'---- Remove pkg form notification history ----
349
		OraDatabase.ExecuteSQL " DELETE FROM notification_history WHERE rtag_id = :RTAG_ID AND pv_id IN ( "& readyPv_id_list &" )"
350
 
351
 
352
		'---- Insert into notification history ----
353
		OraDatabase.ExecuteSQL "INSERT INTO notification_history (rtag_id, pv_id, user_id, date_time_stamp) "&_
354
							   " SELECT ins.rtag_id, ins.pv_id, ins.user_id, ins.date_time_stamp"&_
355
							   "   FROM ("&_
356
							   Query_String &_
357
							   "		) ins"
358
 
359
	End If
360
 
361
	OraSession.CommitTrans
362
 
363
	'================= Send Email ==========================
364
	'Call Send_Email ( "Release Manager Notifications", adminEmail, adminEmail, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
365
 
366
	' ---------- Attachments -------------
367
	oAttachmentsDict.Add "images\i_mail.gif", 		"RM-Envelop"
368
	oAttachmentsDict.Add "images\s_masslogo_w.gif", "RM-MASSlogo"
369
 
370
	Call Send_Email ( "Release Manager Notifications", adminEmail, SentTODict, "Your package is ready to build at "& releaseSTR, emailBody, oAttachmentsDict )
371
 
372
	OraDatabase.Parameters.Remove "RTAG_ID"
373
	OraDatabase.Parameters.Remove "CURRENT_USER"
374
 
375
End Sub
376
'-----------------------------------------------------------------------------------------------------------------------------
377
Function NeedSync ( nPv_id, nRtag_id )
378
	Dim rsTemp, Query_String
379
	Query_String = ReadFile( rootPath & "queries\sync_check.sql" )
380
 
381
	' --------- SQL PARAMETERS ------------
382
	OraDatabase.Parameters.Add "RTAG_ID", 					nRtag_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
383
	OraDatabase.Parameters.Add "PV_ID", 					nPv_id, 				ORAPARM_INPUT, ORATYPE_NUMBER
384
	' -------------------------------------
385
	Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
386
 
387
	If rsTemp.RecordCount > 0 Then
388
		NeedSync = TRUE
389
	Else
390
		NeedSync = FALSE
391
	End If
392
 
393
	rsTemp.Close
394
	Set rsTemp = nothing
395
	OraDatabase.Parameters.Remove "RTAG_ID"
396
	OraDatabase.Parameters.Remove "PV_ID"
397
End Function
398
'-----------------------------------------------------------------------------------------------------------------------------
399
Function Lookup_Document ( sDocNum, outDocTitle, outDoc_id, outDoc_version, outDoc_created  )
400
	Dim rsDocReg
401
 
402
	outDocTitle = NULL
403
	outDoc_id = NULL
404
	outDoc_version = NULL
405
	outDoc_created = NULL
406
 
407
	Set rsDocReg = Server.CreateObject("ADODB.Recordset")
408
	rsDocReg.ActiveConnection = DOCREP_conn
409
 
410
	rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getDocumentFiles '"& sDocNum &"';"
411
	rsDocReg.CursorType = 0
412
	rsDocReg.CursorLocation = 2
413
	rsDocReg.LockType = 3
414
 
415
	On Error Resume Next
416
 
417
	rsDocReg.Open()
418
 
419
	If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
420
		outDocTitle = rsDocReg("title")
421
		outDoc_id = rsDocReg("id")
422
		outDoc_version = rsDocReg("version")
423
		outDoc_created = rsDocReg("created")
424
	End If
425
 
426
	rsDocReg.Close
427
 
428
	Lookup_Document = Err.Number	' Return Error number
429
 
430
	Set rsDocReg = nothing
431
End Function
432
'-----------------------------------------------------------------------------------------------------------------------------
433
Function Short_Document_Details ( nDocId, outDocTitle, outDoc_version, outDoc_created  )
434
	Dim rsDocReg
435
 
436
	outDocTitle = NULL
437
	outDoc_version = NULL
438
	outDoc_created = NULL
439
 
440
	Set rsDocReg = Server.CreateObject("ADODB.Recordset")
441
	rsDocReg.ActiveConnection = DOCREP_conn
442
 
443
	rsDocReg.Source = "EXEC docregister.dbo.sp_RM_getFileDetails "& nDocId &";"
444
	rsDocReg.CursorType = 0
445
	rsDocReg.CursorLocation = 2
446
	rsDocReg.LockType = 3
447
 
448
	On Error Resume Next
449
 
450
	rsDocReg.Open()
451
 
452
	If (NOT rsDocReg.BOF) AND (NOT rsDocReg.EOF)  Then
453
		outDocTitle = rsDocReg("title")
454
		outDoc_version = rsDocReg("version")
455
		outDoc_created = rsDocReg("created")
456
	End If
457
 
458
	rsDocReg.Close
459
 
460
	Short_Document_Details = Err.Number	' Return Error number
461
 
462
	Set rsDocReg = nothing
463
End Function
464
'-----------------------------------------------------------------------------------------------------------------------------
465
Function GetIssueNumber ( nIssDB, nIssId )
466
	Dim rsQry
467
 
468
	Set rsQry = Server.CreateObject("ADODB.Recordset")
469
	rsQry.ActiveConnection = CQ_conn
470
 
471
	If CInt(nIssDB) = enumCLEARQUEST_DEVI_ID Then
472
		rsQry.Source = "EXEC devi_prod.dbo.sp_RM_getIssueDetails "& nIssId &";"
473
 
474
	ElseIf CInt(nIssDB) = enumCLEARQUEST_TDSE_ID Then
475
		rsQry.Source = "EXEC tdse_2002.dbo.sp_RM_getIssueDetails "& nIssId &";"
476
 
477
	End If
478
 
479
	rsQry.CursorType = 0
480
	rsQry.CursorLocation = 2
481
	rsQry.LockType = 3
482
 
483
	On Error Resume Next
484
 
485
	rsQry.Open()
486
 
487
	If (NOT rsQry.BOF) AND (NOT rsQry.EOF)  Then
488
		GetIssueNumber = rsQry("iss_num")
489
	End If
490
 
491
	rsQry.Close
492
	Set rsQry = nothing
493
End Function
494
'-----------------------------------------------------------------------------------------------------------------------------
495
Sub LoadFieldRules ( sFieldList, ByRef outobjForm )
496
	Dim rsQry, query
497
 
498
	query = _
499
	"   SELECT FIELD_NAME, "&_
500
	"		   IS_REQUIRED, "&_
501
	"		   IS_NUMERIC, "&_
502
	"		   MIN_NUMERIC_VALUE, "&_
503
	"		   MAX_NUMERIC_VALUE, "&_
504
	"		   IS_DATE, "&_
505
	"		   START_DATE, "&_
506
	"		   END_DATE, "&_
507
	"		   MIN_STRING_LENGTH, "&_
508
	" 		   MAX_STRING_LENGTH, "&_
509
	"		   REGEXP, "&_
510
	"		   REGEXP_DESCRIPTION "&_
511
	"	  FROM VALIDATION_RULES"&_
512
	"	 WHERE field_name IN ("& sFieldList &")"
513
 
514
 
515
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
516
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
517
		outobjForm.LoadFieldRules rsQry.GetRows()
518
 
519
	End If
520
 
521
	rsQry.Close
522
	Set rsQry = Nothing
523
End Sub
524
'-----------------------------------------------------------------------------------------------------------------------------
525
Sub Log_Action ( nPvId, sActionTypeName, sComments )
526
 
527
	OraDatabase.Parameters.Add "PV_ID", 		nPvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
528
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId,	ORAPARM_INPUT, ORATYPE_NUMBER 
529
	OraDatabase.Parameters.Add "ACTION_TYPE_NAME", 		sActionTypeName,	ORAPARM_INPUT, ORATYPE_VARCHAR2
530
	OraDatabase.Parameters.Add "COMMENTS", 		sComments,	ORAPARM_INPUT, ORATYPE_VARCHAR2
531
 
532
 
533
	OraSession.BeginTrans
534
 
535
	OraDatabase.ExecuteSQL _
536
	"BEGIN  Log_Action ( :PV_ID, :ACTION_TYPE_NAME, :USER_ID, :COMMENTS );  END;"
537
 
538
	OraSession.CommitTrans
539
 
540
 
541
	OraDatabase.Parameters.Remove "PV_ID"
542
	OraDatabase.Parameters.Remove "USER_ID"
543
	OraDatabase.Parameters.Remove "ACTION_TYPE_NAME"
544
	OraDatabase.Parameters.Remove "COMMENTS"
545
 
546
End Sub
547
'-----------------------------------------------------------------------------------------------------------------------------
548
Function GetUsername ( nUser_id )
549
	Dim rsQry, sQuery
550
 
551
	OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
552
	sQuery = "SELECT full_name FROM users WHERE user_id = :USER_ID"
553
	Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
554
 
555
	If rsQry.RecordCount = 1 Then
556
		GetUsername = rsQry.Fields("full_name").Value
557
	Else
558
		GetUsername = nothing
559
	End If
560
 
561
	OraDatabase.Parameters.remove "USER_ID"
562
	rsQry.Close
563
	Set rsQry = nothing
564
End Function
565
'-----------------------------------------------------------------------------------------------------------------------------
566
Function GetUserEmail ( nUser_id )
567
	Dim rsQry, sQuery
568
 
569
	OraDatabase.Parameters.Add "USER_ID", nUser_id, ORAPARM_INPUT, ORATYPE_VARCHAR2
570
	sQuery = "SELECT user_email FROM users WHERE user_id = :USER_ID"
571
	Set rsQry = OraDatabase.DbCreateDynaset( sQuery, cint(0))
572
 
573
	If rsQry.RecordCount = 1 Then
574
		GetUserEmail = rsQry.Fields("user_email").Value
575
	Else
576
		GetUserEmail = nothing
577
	End If
578
 
579
	OraDatabase.Parameters.remove "USER_ID"
580
	rsQry.Close
581
	Set rsQry = nothing
582
End Function
583
'------------------------------------------------------------------------------------------------------------------
584
%>