Subversion Repositories DevTools

Rev

Rev 5590 | Rev 5638 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
119 ghuddy 1
<%
2
'=====================================================
3
'|                                                   |
129 ghuddy 4
'|                 REPORTS DEFINITION                |
5
'|                                                   |
119 ghuddy 6
'=====================================================
7
' Good idea to set when using redirect
129 ghuddy 8
Response.Expires = 0   ' always load the page, dont store
119 ghuddy 9
 
10
'To enable the script timeout to 10 mins
11
Server.ScriptTimeout=600
12
%>
13
 
14
<%
15
'------------ ACCESS CONTROL ------------------
16
%>
17
 
18
<%
19
'------------ Variable Definition -------------
20
Dim rsQry
21
Dim rsTemp
22
Dim parPv_id, parExt
23
Dim objReleaseContent
24
Dim aReleaseContent
25
Dim objPackageDetails
129 ghuddy 26
Dim outobjDetails
27
Dim pvIdList
28
Dim dpv_id
29
Dim BldStd
119 ghuddy 30
'------------ Constants Declaration -----------
31
'------------ Variable Init -------------------
32
 
33
parExt = Request("ext")
34
Set objReleaseContent = CreateObject("Scripting.Dictionary")
35
Set objPackageDetails = CreateObject("Scripting.Dictionary")
36
Set outobjDetails = CreateObject("Scripting.Dictionary")
37
'----------------------------------------------------------------------------------------------------------------------------------------
38
Sub GetPackageInformation ( nPv_id, ByRef oPackageDetails )
129 ghuddy 39
   Dim rsQry, query
40
   query = _
41
   " SELECT pkg.pkg_name, pv.* "&_
42
   "  FROM PACKAGES pkg,"&_
43
   "       PACKAGE_VERSIONS pv"&_
44
   " WHERE pv.pv_id = "& nPv_id &_
45
   "   AND pv.pkg_id = pkg.pkg_id   "
46
 
47
   Set rsQry = OraDatabase.DbCreateDynaset( query, 0)
48
 
49
   oPackageDetails.RemoveAll
50
 
51
   If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then
52
      oPackageDetails("pkg_name") = rsQry("pkg_name")
53
      oPackageDetails("pkg_version") = rsQry("pkg_version")
54
      oPackageDetails("v_ext") = rsQry("v_ext")
55
      oPackageDetails("pv_description") = rsQry("pv_description")
56
      oPackageDetails("pv_overview") = rsQry("pv_overview")
57
      oPackageDetails("src_path") = rsQry("src_path")
58
      oPackageDetails("pkg_label") = rsQry("pkg_label")
59
      oPackageDetails("is_build_env_required") = rsQry("is_build_env_required")
60
 
61
   End If
62
 
63
   rsQry.Close()
64
   Set rsQry = Nothing
119 ghuddy 65
End Sub
66
'----------------------------------------------------------------------------------------------------------------------------------------
129 ghuddy 67
Function SQL_Build_Std ( nPv_id )
68
   SQL_Build_Std = _
69
   " SELECT bs.bs_name"&_
70
   "  FROM RELEASE_MANAGER.PACKAGE_VERSIONS pv,"&_
71
   "       RELEASE_MANAGER.BUILD_STANDARDS bs"&_
72
   " WHERE pv.PV_ID = "& nPv_id &_
73
   "   AND pv.BS_ID = bs.BS_ID "
74
End Function
75
'----------------------------------------------------------------------------------------------------------------------------------------
119 ghuddy 76
Function SQL_Build_Env ( nPv_id )
129 ghuddy 77
   SQL_Build_Env = _
78
   " SELECT bm.bm_name"&_
79
   "  FROM  RELEASE_MANAGER.PACKAGE_BUILD_INFO pbi,"&_
80
   "        RELEASE_MANAGER.BUILD_MACHINES bm"&_
81
   " WHERE pbi.PV_ID = "& nPv_id &_
82
   "   AND pbi.BM_ID = bm.BM_ID "&_
83
   " ORDER BY UPPER(bm.BM_NAME) "
119 ghuddy 84
End Function
85
'----------------------------------------------------------------------------------------------------------------------------------------
86
Function SQL_Modules (nPv_idList)
129 ghuddy 87
   SQL_Modules   = _
88
   "SELECT DISTINCT"&_
89
    "   qry.DPV_ID "&_
119 ghuddy 90
    " FROM ("&_
129 ghuddy 91
    "      SELECT dep.*,"&_
92
    "            LEVEL AS LEVEL_NUM"&_
93
    "        FROM PACKAGE_DEPENDENCIES dep"&_
94
    "      START WITH dep.PV_ID IN ( "& nPv_idList &" ) "&_
95
    "      CONNECT BY PRIOR dep.DPV_ID = dep.PV_ID"&_
96
    "   ) qry,"&_
97
    "   PACKAGES pkg,"&_
98
   "   PACKAGE_VERSIONS pv"&_
99
    " WHERE qry.PV_ID = pv.PV_ID AND pv.PKG_ID = pkg.PKG_ID"
100
End   Function
119 ghuddy 101
'----------------------------------------------------------------------------------------------------------------------------------------
102
Function SQL_Build_Dependencies ( nPv_id )
129 ghuddy 103
   SQL_Build_Dependencies = _
104
   " SELECT dpkg.pkg_name, dpv.pkg_version"&_
105
   "     FROM PACKAGE_DEPENDENCIES dep,"&_
106
   "           PACKAGES dpkg,"&_
107
   "         PACKAGE_VERSIONS dpv"&_
108
   "    WHERE dep.pv_id = "& nPv_id &_
109
   "      AND dep.DPV_ID = dpv.pv_id"&_
110
   "      AND dpv.pkg_id = dpkg.pkg_id   "&_
111
   "   ORDER BY UPPER(dpkg.pkg_name) "
119 ghuddy 112
End Function
113
'----------------------------------------------------------------------------------------------------------------------------------------
114
Sub GetReleaseContent ( nBom_id, ByRef oReleaseContent )
129 ghuddy 115
   Dim rsQry, query
116
 
117
   query = _
118
   " SELECT qry.prod_id"&_
119
   "  FROM ("&_
120
   "         SELECT DISTINCT"&_
121
   "          osc.PROD_ID,"&_
122
   "            pkg.pkg_name,"&_
123
   "         pv.pkg_version,"&_
124
   "         1   as   seq_num"&_
125
   "         FROM DEPLOYMENT_MANAGER.bom_contents bc,"&_
126
   "         DEPLOYMENT_MANAGER.operating_systems os, "&_
127
   "         DEPLOYMENT_MANAGER.os_contents osc,"&_
128
   "         PACKAGES pkg,"&_
129
   "         PACKAGE_VERSIONS pv,"&_
130
   "         DEPLOYMENT_MANAGER.PRODUCT_DETAILS pd"&_
131
   "          WHERE osc.os_id = os.os_id "&_
132
   "         AND os.node_id = bc.node_id"&_
133
   "         AND bc.bom_id =   "&   nBom_id &_
134
   "         AND pd.PROD_ID (+) = osc.PROD_ID"&_
135
   "         AND pv.pkg_id = pkg.pkg_id"&_
136
   "         AND osc.prod_id = pv.pv_id "&_
137
   "         AND (pd.is_rejected IS NULL or pd.IS_REJECTED != 'Y')  "&_
138
   "      UNION   "&_
139
   "      SELECT DISTINCT bec.prod_id,  pkg.pkg_name, pkg_version, 2   as   seq_num"&_
140
   "       FROM DEPLOYMENT_MANAGER.boms bm,"&_
141
   "            DEPLOYMENT_MANAGER.bom_contents bc,"&_
142
   "            DEPLOYMENT_MANAGER.network_nodes nn,"&_
143
   "            DEPLOYMENT_MANAGER.operating_systems os,"&_
144
   "            DEPLOYMENT_MANAGER.os_base_env obe,"&_
145
   "            DEPLOYMENT_MANAGER.base_env_contents bec,"&_
146
   "            PACKAGES pkg,"&_
147
   "            package_versions pv,"&_
148
   "            DEPLOYMENT_MANAGER.base_env be,"&_
149
   "            DEPLOYMENT_MANAGER.bos_types bt,"&_
150
   "            DEPLOYMENT_MANAGER.PRODUCT_DETAILS pd"&_
151
   "      WHERE bm.bom_id =   "&   nBom_id   &_
152
   "        AND bm.bom_id = bc.bom_id"&_
153
   "        AND nn.node_id = bc.node_id"&_
154
   "        AND os.node_id = nn.node_id"&_
155
   "        AND obe.os_id = os.os_id"&_
156
   "      AND pd.PROD_ID (+) = bec.PROD_ID"&_
157
   "      AND (pd.is_rejected IS NULL or pd.IS_REJECTED != 'Y')  "&_
158
   "        AND bec.base_env_id = obe.base_env_id"&_
159
   "        AND bec.prod_id = pv.pv_id"&_
160
   "        AND pkg.pkg_id = pv.pkg_id"&_
161
   "        AND be.base_env_id = obe.base_env_id"&_
162
   "       AND bt.bos_id = be.bos_id"&_
163
   "      ) qry  "&_
164
   " ORDER BY  qry.seq_num, UPPER(qry.pkg_name), UPPER(qry.pkg_version)"
165
 
166
   Set rsQry = OraDatabase.DbCreateDynaset( query, 0)
167
   While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
168
      oReleaseContent( CStr( rsQry("prod_id")) ) = ""
169
      rsQry.MoveNext()
170
   WEnd
171
 
172
   rsQry.Close()
173
   Set rsQry = Nothing
119 ghuddy 174
End Sub
175
'----------------------------------------------------------------------------------------------------------------------------------------
176
Function PatchIcon ( cIsPatch, cIsPatchObsolete )
129 ghuddy 177
   If IsNull(cIsPatch) Then
178
      PatchIcon = "<img src='images/rex_images/ext_blank.gif' width='16' height='16' border='0' align='absmiddle'>"
179
   Else
180
      If IsNull(cIsPatchObsolete) Then
181
         PatchIcon = "<img src='images/i_patch_small.gif' width='16' height='16' border='0' align='absmiddle' >"
182
      Else
183
         PatchIcon = "<img src='images/i_patch_small_obsolete.gif' width='16' height='16' border='0' align='absmiddle' title='Patch is obsolete'>"
184
      End If
185
   End If
119 ghuddy 186
End Function
187
%>
188
 
189
<%
190
Sub Reports_List ( SSgroup )
129 ghuddy 191
   Dim repNum
119 ghuddy 192
%>  <!-- REPORTS LIST -------------------------------------------------------->
129 ghuddy 193
   <%Select Case SSgroup%>
194
   <%Case "Advanced_Search"%>
159 ghuddy 195
      <%repNum = 1%>
196
      <strong>Find ClearQuest Bugs / Issues Location</strong><br>
197
      Use this advance search to locate bugs / issues imported to Release Manager from ClearQuest.<br>
198
      <a href="rep_where_are_bugs_located.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
199
      <%repNum = 2%>
200
      <strong>Find Packages Using "Ignore Warnings" feature</strong><br>
201
      Lists packages which use "Ignore Warning" feature on their dependencies.<br>
202
      <a href="rep_packages_using_ignore_feature.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
203
      <%repNum = 4%>
204
      <strong>Find A Package</strong><br>
205
      Use this advanced search to find a package in Release Manager<br>
206
      <a href="rep_find_package.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
207
      <%repNum = 5%>
208
      <strong>Find Package Version History</strong><br>
209
      Find all package versions and their current locations.<br>
210
      <a href="rep_package_version_history.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
129 ghuddy 211
   <%Case "Release_Status"%>
159 ghuddy 212
      <%repNum = 3%>
213
      <strong>Current Status of Release</strong><br>
214
      Shows all packages in a selected release with their current state, owner and last modifier.<br>
215
      <a href="rep_current_state_of_release.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
216
      <%repNum = 8%>
217
      <strong>Deployable Software Modules</strong><br>
218
      This report shows new and current deployable software modules. Use this report to find which modules will be deployed to the customer.<br>
219
      Also, use this report to find if there are new modules flaged as 'deployable'.<br>
220
      <a href="rep_depoyable_software_modules.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
221
      <%repNum = 7%>
222
      <strong>Unit Tests per Package</strong><br>
223
      Use this report to check the unit tests performed on packages in a project.<br>
224
      <a href="rep_unit_tests_per_package.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
225
      <%repNum = 12%>
226
      <strong>Release AutoBuildable Status</strong><br>
227
      Use this report to check the package versions that are autobuildable/not autobuildable in a given release.<br>
228
      <a href="rep_autobuildable_package.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
229
      <%repNum = 13%>
230
      <strong>Release DEVI Status</strong><br>
231
      Use this report to obtain a list of DEVIs for all packages in a given release.<br>
232
      <a href="rep_devi_status_for_release.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
129 ghuddy 233
 
234
<!--    <strong>All Packages With out-of-sync Dependencies</strong><br>
235
   List of all packages with dependencies out-of-sync with the release environment.<br>
236
   In escence, these are the packages which has versions in "latest" column of their dependencies.<br>
237
   Not available yet.<br><br><hr size="1" noshade color="#DAD7C8">
159 ghuddy 238
 -->
239
 
240
   <%Case "Release_History"%>
241
      <%repNum = 10%>
242
      <strong>Build History</strong><br>
243
      Use this report to find which packages have been officially released within specified date range.<br>
244
      <a href="rep_build_history.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
129 ghuddy 245
   <%Case "Admin_Reports"%>
159 ghuddy 246
      <strong>All Packages by Project by Version Tree by Release</strong><br>
247
      CSV output of all packages used in Release Manager per Project.<br>
248
      <a href="rep_all_packages_by_project_by_vtree_by_release.asp" target="_blank" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
249
      <strong>All Runtime Dependencies by Project by Version Tree by Release</strong><br>
250
      CSV output of all runtime dependencies used in Release Manager per Project.<br>
251
      <a href="rep_all_runtime_dependencies_by_project_by_vtree_by_release.asp" target="_blank" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
252
      <%repNum = 6%>
253
      <strong>Unused Packages</strong><br>
254
      All packages (Not Products) with no entries in "Used By" tab.<br>
255
      Use this report to help you clean up a release and remove all potentially unused packages.<br>
256
      <a href="rep_obsolete_packages.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
129 ghuddy 257
   <%Case "Escrow"%>
159 ghuddy 258
      <%repNum = 9%>
259
      <strong>Bill of Materials (BOM)</strong><br>
260
      List of all ERG Products per network node for a particular
261
      project. Use this report to integrate a particular project.<br>
262
      <a href="rep_bill_of_materials.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
263
      <%repNum = 11%>
264
      <strong>Escrow Report</strong><br>
265
      List of all Products/Patches for the BOM including modules. Use this report to provide a build roadmap.<br>
266
      <a href="escrow_report.asp?repnum=<%=repNum%>&group=<%=SSgroup%>" class="txt_linked">more...</a><br><br><hr size="1" noshade color="#DAD7C8">
267
      <strong>Build Dependencies per Package</strong><br>
268
      Use this report to build package from source code. The report
269
      include package repository location, label and build dependencies.<br>
270
      Not available yet.<br><br><hr size="1" noshade color="#DAD7C8">
271
      <strong>Build Order</strong><br>
272
      Use this reports to find the order in which packages should be built.<br>
273
      Not available yet.<br><br><hr size="1" noshade color="#DAD7C8">
129 ghuddy 274
   <%Case Else%>
159 ghuddy 275
      <b>&laquo; Select reporting category.</b>
129 ghuddy 276
   <%End Select%>
277
   <!-- REPORTS LIST END-------------------------------------------------------->
119 ghuddy 278
 
279
<%End Sub%>
280
 
281
<%
282
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
283
Sub Get_Projects ( NNproj_id, BBallow_all )
129 ghuddy 284
   Dim rsTemp, Query_String
285
 
286
   Query_String = _
287
   "SELECT * FROM projects ORDER BY proj_name ASC"
288
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
289
 
290
   Response.write "<select name='FRproj_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRvtree_id=&FRrtag_id=&group="& Request("group") &"&repnum="& Request("repnum") &"&FRproj_id=',this,0)"" class='form_item'>"
291
      If BBallow_all Then
292
         Response.write "<option value='-1'>ALL</option>"
293
      Else
294
         Response.write "<option></option>"
295
      End If
296
 
297
      While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
298
         If CDbl(NNproj_id) = CDbl(rsTemp.Fields("proj_id")) Then
299
              Response.write "<option value='"& rsTemp.Fields("proj_id") &"' selected>"& UCase(rsTemp.Fields("proj_name")) &"</option>"
300
           Else
301
            Response.write "<option value='"& rsTemp.Fields("proj_id") &"'>"& UCase(rsTemp.Fields("proj_name")) &"</option>"
302
         End If
303
         rsTemp.MoveNext
304
      WEnd
305
   Response.write "</select>"
306
 
307
   rsTemp.Close
308
   Set rsTemp = nothing
119 ghuddy 309
End Sub
310
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
311
Sub Get_Version_Trees ( NNproj_id, NNvtree_id, BBallow_all )
129 ghuddy 312
   Dim rsTemp, Query_String
313
 
314
   Query_String = _
315
   "SELECT vtree_id, vtree_name FROM vtrees WHERE hide = 'N' AND proj_id = "& NNproj_id &" ORDER BY vtree_id ASC"
316
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
317
 
318
   Response.write "<select name='FRvtree_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&FRrtag_id=&group="& Request("group") &"&repnum="& Request("repnum") &"&FRvtree_id=',this,0)"" class='form_item'>"
319
      If BBallow_all Then
320
         Response.write "<option value='-1'>ALL</option>"
321
      Else
322
         Response.write "<option></option>"
323
      End If
324
 
325
      If NNproj_id <> -1 Then
326
         While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
327
            If CDbl(NNvtree_id) = CDbl(rsTemp.Fields("vtree_id")) Then
328
                 Response.write "<option value='"& rsTemp.Fields("vtree_id") &"' selected>"& (rsTemp.Fields("vtree_name")) &"</option>"
329
              Else
330
               Response.write "<option value='"& rsTemp.Fields("vtree_id") &"'>"& (rsTemp.Fields("vtree_name")) &"</option>"
331
            End If
332
            rsTemp.MoveNext
333
         WEnd
334
      End If
335
   Response.write "</select>"
336
 
337
   rsTemp.Close
338
   Set rsTemp = nothing
119 ghuddy 339
End Sub
340
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
159 ghuddy 341
Sub Get_Open_Release_Labels ( NNproj_id, NNrtag_id, BBallow_all )
342
   Dim rsTemp, Query_String
343
 
344
   Query_String = _
345
   "SELECT rtag_id, rtag_name FROM release_tags WHERE proj_id = "& NNproj_id &"AND official in ('N','C','R')  ORDER BY rtag_name ASC"
346
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
347
 
348
   Response.write "<select name='FRrtag_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&group="& Request("group") &"&repnum="& Request("repnum") &"&FRrtag_id=',this,0)"" class='form_item'>"
349
   If BBallow_all Then
350
      Response.write "<option value='-1'>ALL</option>"
351
   Else
352
      Response.write "<option></option>"
353
   End If
354
 
355
      If NNproj_id <> -1 Then
356
         While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
357
            If CDbl(NNrtag_id) = CDbl(rsTemp.Fields("rtag_id")) Then
358
                 Response.write "<option value='"& rsTemp.Fields("rtag_id") &"' selected>"& (rsTemp.Fields("rtag_name")) &"</option>"
359
              Else
360
               Response.write "<option value='"& rsTemp.Fields("rtag_id") &"'>"& (rsTemp.Fields("rtag_name")) &"</option>"
361
            End If
362
            rsTemp.MoveNext
363
         WEnd
364
      End If
365
   Response.write "</select>"
366
 
367
   rsTemp.Close
368
   Set rsTemp = nothing
369
End Sub
370
 
119 ghuddy 371
Sub Get_Release_Labels ( NNproj_id, NNrtag_id, BBallow_all )
129 ghuddy 372
   Dim rsTemp, Query_String
373
 
374
   Query_String = _
375
   "SELECT rtag_id, rtag_name FROM release_tags WHERE proj_id = "& NNproj_id &" ORDER BY rtag_id ASC"
376
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
377
 
378
   Response.write "<select name='FRrtag_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&group="& Request("group") &"&repnum="& Request("repnum") &"&FRrtag_id=',this,0)"" class='form_item'>"
379
   If BBallow_all Then
380
      Response.write "<option value='-1'>ALL</option>"
381
   Else
382
      Response.write "<option></option>"
383
   End If
384
 
385
      If NNproj_id <> -1 Then
386
         While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
387
            If CDbl(NNrtag_id) = CDbl(rsTemp.Fields("rtag_id")) Then
388
                 Response.write "<option value='"& rsTemp.Fields("rtag_id") &"' selected>"& (rsTemp.Fields("rtag_name")) &"</option>"
389
              Else
390
               Response.write "<option value='"& rsTemp.Fields("rtag_id") &"'>"& (rsTemp.Fields("rtag_name")) &"</option>"
391
            End If
392
            rsTemp.MoveNext
393
         WEnd
394
      End If
395
   Response.write "</select>"
396
 
397
   rsTemp.Close
398
   Set rsTemp = nothing
119 ghuddy 399
End Sub
400
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
401
Sub Get_SBOM_Version ( NNproj_id, NNrtag_id, BBallow_all, NNversion )
129 ghuddy 402
   Dim rsTemp, Query_String
119 ghuddy 403
 
129 ghuddy 404
   Query_String = _
405
   "SELECT BOM_ID, BRANCH_ID, BOM_VERSION ||'.'||BOM_LIFECYCLE AS VERSION FROM DEPLOYMENT_MANAGER.BOMS WHERE BRANCH_ID ="&NNrtag_id&" ORDER BY VERSION"
119 ghuddy 406
 
407
 
129 ghuddy 408
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
119 ghuddy 409
 
129 ghuddy 410
 
411
   Response.write "<select name='FRversion' class='form_item'>"
412
   If BBallow_all Then
413
      Response.write "<option value='-1'>ALL</option>"
414
   Else
415
      Response.write "<option></option>"
416
   End If
417
 
418
      If NNrtag_id <> -1 Then
419
         While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
420
            If CStr(NNversion) = CStr(rsTemp.Fields("version")) Then
421
                 Response.write "<option value='"& rsTemp.Fields("version") &"' selected>"& (rsTemp.Fields("version")) &"</option>"
422
              Else
423
               Response.write "<option value='"& rsTemp.Fields("version") &"'>"& (rsTemp.Fields("version")) &"</option>"
424
            End If
425
            rsTemp.MoveNext
426
         WEnd
427
      End If
428
   Response.write "</select>"
429
   rsTemp.Close
430
   Set rsTemp = nothing
431
 
119 ghuddy 432
End Sub
433
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
434
Sub Get_Branches ( NNproj_id, NNrtag_id, BBallow_all )
129 ghuddy 435
   Dim rsTemp, Query_String
119 ghuddy 436
 
129 ghuddy 437
   Query_String = _
438
   "SELECT * FROM deployment_manager.branches WHERE proj_id = "& NNproj_id &" ORDER BY branch_id ASC"
439
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
440
   Response.write "<select name='FRbranch_id' onChange=""Cascaded_Menu('parent','"& scriptName &"?FRproj_id="& NNproj_id &"&group="& Request("group") &"&repnum="& Request("repnum") &"&FRrtag_id=',this,0)"" class='form_item'>"
441
   If BBallow_all Then
442
      Response.write "<option value='-1'>ALL</option>"
443
   Else
444
      Response.write "<option></option>"
445
   End If
446
 
447
      If NNproj_id <> -1 Then
448
         While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
449
            If CDbl(NNrtag_id) = CDbl(rsTemp.Fields("branch_id")) Then
450
                 Response.write "<option value='"& rsTemp.Fields("branch_id") &"' selected>"& (rsTemp.Fields("branch_name")) &"</option>"
451
              Else
452
               Response.write "<option value='"& rsTemp.Fields("branch_id") &"'>"& (rsTemp.Fields("branch_name")) &"</option>"
453
            End If
454
            rsTemp.MoveNext
455
         WEnd
456
      End If
457
   Response.write "</select>"
458
 
459
   rsTemp.Close
460
   Set rsTemp = nothing
119 ghuddy 461
End Sub
462
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
463
 
464
Sub Get_Base_Views ( nRtag_id, nBase_view_id, BBallow_all )
129 ghuddy 465
   Dim rsTemp, Query_String
466
 
467
   Query_String = _
468
   "SELECT DISTINCT vi.view_id, vi.view_name"&_
469
   "  FROM VIEWS vi,"&_
470
   "         RELEASE_CONTENT rc"&_
471
   " WHERE rc.BASE_VIEW_ID = vi.VIEW_ID"&_
472
   "   AND rc.rtag_id = "& nRtag_id &_
473
   "ORDER BY UPPER( vi.view_name )"
474
 
475
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
476
 
477
   Response.write "<select name='FRbase_view_id' class='form_item'>"
478
   If BBallow_all Then
479
      Response.write "<option value='-1'>ALL</option>"
480
   Else
481
      Response.write "<option></option>"
482
   End If
483
 
484
      If nRtag_id <> -1 Then
485
         While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
486
            If CDbl(nBase_view_id) = CDbl(rsTemp.Fields("view_id")) Then
487
                 Response.write "<option value='"& rsTemp.Fields("view_id") &"' selected>"& (rsTemp.Fields("view_name")) &"</option>"
488
              Else
489
               Response.write "<option value='"& rsTemp.Fields("view_id") &"'>"& (rsTemp.Fields("view_name")) &"</option>"
490
            End If
491
            rsTemp.MoveNext
492
         WEnd
493
      End If
494
   Response.write "</select>"
495
 
496
   rsTemp.Close
497
   Set rsTemp = nothing
119 ghuddy 498
End Sub
499
%>
500
<%
501
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
502
'==================================================================================
129 ghuddy 503
' Report Name      :    Packages Using Ignore Feature
504
' Description      :   Lists packages which use "Ignore Warning"
505
'                  feature on their dependencies.
506
' INPUT            :   Project, Vesion Tree, Release Label
119 ghuddy 507
'==================================================================================
508
Sub Packages_Using_Ignore_Feature ( SSsection, NNproj_id, NNrtag_id )
129 ghuddy 509
   Dim Query_String, rsRep
510
   Const Allow_All = TRUE
511
 
512
   If NNproj_id = "" Then NNproj_id = -1
513
   If NNrtag_id = "" Then NNrtag_id = -1
514
 
515
   If SSsection = "TITLE" Then
516
      Response.write "Packages Using 'Ignore Warnings' Feature"
517
      Exit Sub
518
   End If
519
 
520
 
521
   If SSsection = "FORM" Then
522
      %>
523
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
524
         <form action="<%=scriptName%>" method="post" name="repform">
525
            <tr>
526
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
527
               <td width="1%" align="right" nowrap class="form_field">Project</td>
528
               <td width="100%"><%Call Get_Projects( NNproj_id, Allow_All )%></td>
529
            </tr>
530
            <tr>
531
               <td nowrap class="form_field">&nbsp;</td>
532
               <td align="right" nowrap class="form_field">Release</td>
533
               <td><%Call Get_Release_Labels ( NNproj_id,  NNrtag_id, Allow_All )%></td>
534
            </tr>
535
            <tr>
536
               <td nowrap class="form_field">&nbsp;</td>
537
               <td align="right" nowrap class="form_field">&nbsp;</td>
538
               <td><br>
539
                  <input type="hidden" name="group" value="<%=parGroup%>">
540
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
541
                  <input type="hidden" name="action" value="true">
542
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
543
               </td>
544
            </tr>
545
         </form>
546
      </table>
547
      <%   Exit Sub
548
   End If
549
 
550
 
551
   If SSsection = "BODY" Then
552
      If NOT CBool(Request("action")) Then Exit Sub
553
 
554
      Query_String = ReadFile( rootPath & "queries\rep_packages_using_ignore_feature.sql" )
555
 
556
      OraDatabase.Parameters.Add "PROJ_ID", NNproj_id, ORAPARM_INPUT, ORATYPE_NUMBER
557
      OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
558
      %>
559
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
560
         <tr>
561
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
562
            <td width="1%" nowrap class="body_colb">Package Name&nbsp;&nbsp;&nbsp;</td>
563
            <td width="1%" nowrap class="body_colb">Version&nbsp;&nbsp;&nbsp;</td>
564
            <td width="100%" nowrap class="body_colb">&nbsp;</td>
565
         </tr>
566
         <tr>
567
         <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
568
         </tr>
569
         <%
570
         Dim currRtag_id
571
         currRtag_id = -1
572
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
573
 
574
         If rsRep.RecordCount = 0 Then
575
            With Response
576
               .write "<tr>"
577
               .write "<td colspan='4' class='body_row'>Found 0 records</td>"
578
               .write "</tr>"
579
            End With
580
         End If
581
 
582
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
583
            ' -------- GROUP BY RTAG_ID -----------------
584
            If CDbl(currRtag_id) <> CDbl(rsRep("rtag_id")) Then
585
               %>
586
               <tr>
587
                  <td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
588
               <td></td>
589
               </tr>
590
               <tr>
591
                  <td colspan="4" nowrap class="body_scol"><%=rsRep("proj_name")  &" &gt; "& rsRep("rtag_name")%></td>
592
               </tr>
593
               <%
594
               currRtag_id = CDbl(rsRep("rtag_id"))
595
            End If
596
            ' -------- END GROUP ------------------------
597
            %>
598
            <tr>
599
               <td class="body_row"></td>
600
               <td nowrap><a href="dependencies.asp?rtag_id=<%=rsRep("rtag_id")%>&pv_id=<%=rsRep("pv_id")%>" class="txt_linked"><%=rsRep("pkg_name")%></a></td>
601
               <td nowrap><a href="dependencies.asp?rtag_id=<%=rsRep("rtag_id")%>&pv_id=<%=rsRep("pv_id")%>" class="txt_linked"><%=rsRep("pkg_version")%></a></td>
602
               <td class="body_row"></td>
603
            </tr>
604
            <%  rsRep.MoveNext
605
         WEnd
606
         %>
607
         <tr>
608
            <td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
609
            <td></td>
610
         </tr>
611
         <tr>
612
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
613
         </tr>
614
      </table>
615
      <!-- PRINT, SAVE, ETC. ------------>
616
      <%If parPrint = "" Then%>
617
         <br>
618
         <br>
619
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
620
         <br>
621
      <%End If%>
622
      <!-- PRINT, SAVE, ETC. END -------->
623
      <%
624
      rsRep.Close
625
      Set rsRep = nothing
626
   End If
627
 
119 ghuddy 628
End Sub
629
%>
630
<%
631
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
632
'==================================================================================
129 ghuddy 633
' Report Name      :    Current State of Release
634
' Description      :   Show all packages in a release with their state, owner and modifier
635
' Form Input      :   Project, Vesion Tree, Release Label
636
' SQL INPUT         :   rtag_id
119 ghuddy 637
'==================================================================================
638
Sub Current_State_of_Release ( SSsection, NNproj_id, NNrtag_id, NNpkg_states )
129 ghuddy 639
   Dim Query_String, rsRep
640
   Const Disallow_All = FALSE
641
 
642
   If NNproj_id = "" Then NNproj_id = -1
643
   If NNrtag_id = "" Then NNrtag_id = -1
644
   If NNpkg_states = "" Then NNpkg_states = -1
645
 
646
   If SSsection = "TITLE" Then
647
      Response.write "Current State of Release"
648
      Exit Sub
649
   End If
650
 
651
 
652
   If SSsection = "FORM" Then
653
      %>
654
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
655
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
656
            <tr>
657
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
658
               <td width="1%" align="right" nowrap class="form_field">Project</td>
659
               <td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
660
            </tr>
661
            <tr>
662
               <td nowrap class="form_field">&nbsp;</td>
663
               <td align="right" nowrap class="form_field">Release</td>
664
               <td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td>
665
            </tr>
666
            <tr>
667
               <td nowrap class="form_field">&nbsp;</td>
668
               <td align="right" nowrap class="form_field">Package States</td>
669
               <td class="form_field" nowrap>
670
                  <span style="border: 1px solid #808080;">&nbsp;OK&nbsp;<input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_OK%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_OK) ) > 0 Then%>checked<%End If%>></span>&nbsp;&nbsp;
671
                  <span style="border: 1px solid #808080;"><%=enum_imgCritical%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MAJOR%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MAJOR) ) > 0 Then%>checked<%End If%>></span>&nbsp;&nbsp;
672
                  <span style="border: 1px solid #808080;"><%=enum_imgWarning%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MINOR%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MINOR) ) > 0 Then%>checked<%End If%>></span>&nbsp;&nbsp;
673
                  <span style="border: 1px solid #808080;"><%=enum_imgCReady%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MAJOR_READY%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MAJOR_READY) ) > 0 Then%>checked<%End If%>></span>&nbsp;&nbsp;
674
                  <span style="border: 1px solid #808080;"><%=enum_imgWReady%><input type="checkbox" name="FRpkg_state" value="<%=enumPKG_STATE_MINOR_READY%>" <%If InStr( Request("FRpkg_state"), Cstr(enumPKG_STATE_MINOR_READY) ) > 0 Then%>checked<%End If%>></span>&nbsp;&nbsp;
675
               </td>
676
            </tr>
677
            <tr>
678
               <td nowrap class="form_field">&nbsp;</td>
679
               <td align="right" nowrap class="form_field">&nbsp;</td>
680
               <td><br>
681
                  <input type="hidden" name="group" value="<%=parGroup%>">
682
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
683
                  <input type="hidden" name="action" value="true">
684
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
685
               </td>
686
            </tr>
687
         </form>
688
      </table>
689
      <%   Exit Sub
690
   End If
691
 
692
 
693
   If SSsection = "BODY" Then
694
      If NOT CBool(Request("action")) Then Exit Sub
695
 
696
      Query_String = ReadFile( rootPath & "queries\rep_details_current_status_of_release.sql" )
697
      Query_String = Replace ( Query_String, "/*PKG_STATES*/", NNpkg_states )
698
 
699
      OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
700
      %>
701
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
702
         <tr>
703
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
704
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
705
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
706
            <td width="1%" nowrap class="body_colb">Package Name and Version&nbsp;&nbsp;&nbsp;</td>
707
            <td width="1%" nowrap class="body_colb">Owner&nbsp;&nbsp;&nbsp;</td>
708
            <td width="1%" nowrap class="body_colb">Last Modifier&nbsp;&nbsp;&nbsp;</td>
709
            <td width="1%" nowrap class="body_colb">Added to Release&nbsp;&nbsp;&nbsp;</td>
710
            <td width="100%" nowrap class="body_colb">&nbsp;</td>
711
         </tr>
712
         <tr>
713
         <td colspan="8" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
714
         </tr>
715
         <%
716
         Dim currView_id
717
         currView_id = -1
718
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
719
 
720
         If rsRep.RecordCount = 0 Then
721
            With Response
722
               .write "<tr>"
723
               .write "<td colspan='8' class='body_row'>Found 0 records</td>"
724
               .write "</tr>"
725
            End With
726
         End If
727
 
728
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
729
            ' -------- GROUP BY RTAG_ID -----------------
730
            If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then
731
               %>
732
               <tr>
733
                  <td colspan="7" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
734
                  <td></td>
735
               </tr>
736
               <tr>
737
                  <td colspan="8" nowrap class="body_scol"><%=rsRep("view_name")%></td>
738
               </tr>
739
               <%
740
               currView_id = CDbl(rsRep("view_id"))
741
            End If
742
            ' -------- END GROUP ------------------------
743
            %>
744
            <tr>
745
               <td class="body_row"></td>
746
               <td><%=DefineStateIcon ( rsRep("pkg_state"), rsRep("dlocked"), NULL, NULL, NULL, NULL )%></td>
747
               <%If rsRep("dlocked") = "Y" Then%>
748
                  <td align="center" class="form_item"><img src='images/i_locked.gif' width='7' height='10' hspace='6'></td>
749
               <%Else%>
750
                  <td align="center" class="form_item"><img src='images/spacer.gif' width='7' height='10' hspace='6'></td>
751
               <%End If%>
752
               <td nowrap class="body_row"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td>
753
               <td nowrap><a href="mailto:<%=rsRep("owner_email")%>" class="txt_linked"><%=rsRep("owner")%></a>&nbsp;&nbsp;&nbsp;</td>
754
               <td nowrap><a href="mailto:<%=rsRep("modifier_email")%>" class="txt_linked"><%=rsRep("modifier")%></a>&nbsp;&nbsp;&nbsp;</td>
5632 dpurdie 755
               <td class="body_row"><%=DisplayDate( rsRep("insert_stamp") )%></td>
129 ghuddy 756
               <td class="body_row"></td>
757
            </tr>
758
            <%  rsRep.MoveNext
759
         WEnd
760
         %>
761
         <tr>
762
            <td colspan="8" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
763
         </tr>
764
      </table>
765
      <!-- PRINT, SAVE, ETC. ------------>
766
      <%If parPrint = "" Then%>
767
         <br>
768
         <br>
769
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
770
         <br>
771
      <%End If%>
772
      <!-- PRINT, SAVE, ETC. END -------->
773
      <%
774
      rsRep.Close
775
      Set rsRep = nothing
776
   End If
777
 
119 ghuddy 778
End Sub
779
%>
780
<%
781
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
782
'==================================================================================
129 ghuddy 783
' Report Name      :    Find ClearQuest Bugs / Issues Location
784
' Description      :   Locates bugs / issues imported from ClearQuest
785
' Form Input      :   CQ issue Database, CQ issue number list space separated
119 ghuddy 786
'==================================================================================
787
Sub Where_Are_Bugs_Located ( SSsection, NNiss_db, SSiss_num_list )
129 ghuddy 788
   Dim Query_String, rsRep
119 ghuddy 789
 
129 ghuddy 790
   If SSsection = "TITLE" Then
791
      Response.write "Find ClearQuest Bugs / Issues Location"
792
      Exit Sub
793
   End If
794
 
795
 
796
   If SSsection = "FORM" Then
797
      %>
798
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
799
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRiss_num_list','Issue Number','R');return document.MM_returnValue">
800
            <tr>
801
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
802
               <td width="1%" align="right" nowrap class="form_field" valign="top">ClearQuest Database</td>
803
               <td width="100%">
804
                  <select name="FRiss_db" class="form_item">
805
                     <option value="<%=enumCLEARQUEST_DEVI_ID%>" <%If CDbl(NNiss_db) = enumCLEARQUEST_DEVI_ID Then%>selected<%End If%>>DEVI</option>
806
                  </select>
807
               </td>
808
            </tr>
809
            <tr>
810
               <td nowrap class="form_field">&nbsp;</td>
811
               <td align="right" nowrap class="form_field" valign="top">Issue Numbers</td>
812
               <td class="form_txt"><input type="text" name="FRiss_num_list" size="50" class="form_item" value="<%=SSiss_num_list%>"><br>
813
               HINTS:<br>
814
               - You can use * wildcard. e.g. *0123 or 0123* or *0123*<br>
815
               - Use space separated issue numbers for multiple search.</td>
816
            </tr>
817
            <tr>
818
               <td nowrap class="form_field">&nbsp;</td>
819
               <td align="right" nowrap class="form_field">&nbsp;</td>
820
               <td><br>
821
                  <input type="hidden" name="group" value="<%=parGroup%>">
822
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
823
                  <input type="hidden" name="action" value="true">
824
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
825
               </td>
826
            </tr>
827
         </form>
828
      </table>
829
      <%   Exit Sub
830
   End If
831
 
832
 
833
   If SSsection = "BODY" Then
834
      If NOT CBool(Request("action")) Then Exit Sub
835
 
836
      Dim SSsql, issARR, num_item, iss_num_col, issNumDict, rsCQ, recCount, maxRecCount
837
      Set issNumDict = CreateObject("Scripting.Dictionary")
838
 
839
      '---- Find Issue numbers in ClearQuest ----
3975 dpurdie 840
      If CDbl(NNiss_db) = enumCLEARQUEST_DEVI_ID Then
129 ghuddy 841
         iss_num_col = "new_num"
842
         SSsql = _
843
         " SELECT si.dbid AS iss_id, si."& iss_num_col &" AS iss_num"&_
4553 dpurdie 844
         " FROM release_manager.cq_software_issue si"&_
129 ghuddy 845
         " WHERE "
846
      End If
847
 
848
 
849
      '---- Split multiple search ----
850
      SSiss_num_list = Trim(SSiss_num_list)
851
      If InStr( SSiss_num_list, " " ) > 0 Then
852
         ' space separator found
853
         issARR = Split ( SSiss_num_list, " ")
854
 
855
         For Each num_item In issARR
856
            If num_item <> "" Then
857
               SSsql = SSsql & " (si."& iss_num_col &" LIKE '%"& Replace( SQLstring(num_item), "*", "%" ) &"%') OR"
858
            End If
859
         Next
860
 
861
         SSsql = Left ( SSsql, Len(SSsql) - 2 )      ' Removes last OR
862
 
863
      Else
864
         SSsql = SSsql & " (si."& iss_num_col &" LIKE '%"& Replace( SQLstring(SSiss_num_list), "*", "%") &"%')"
865
 
866
      End If
867
 
4553 dpurdie 868
      Set rsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
129 ghuddy 869
 
870
      ' Get find results from CQ
871
      recCount = 1
872
      maxRecCount = 1000
873
      issNumDict.ADD "-1", "-1"      ' take care of no results
874
      While ((NOT rsCQ.BOF) AND (NOT rsCQ.EOF) AND (recCount < maxRecCount))
875
         issNumDict.ADD Cstr(rsCQ("iss_id")), Cstr(rsCQ("iss_num"))
876
         recCount = recCount + 1
877
         rsCQ.MoveNext
878
      WEnd
879
 
880
      rsCQ.Close
881
      Set rsCQ = nothing
882
 
883
      Query_String = ReadFile( rootPath & "queries\rep_where_are_bugs_located.sql" )
884
      Query_String = Replace ( Query_String, "/*ISS_DB*/", NNiss_db )
885
      Query_String = Replace ( Query_String, "/*ISS_ID_LIST*/", Join( issNumDict.Keys, ",") )
886
 
887
      %>
888
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
889
         <tr>
890
            <td width="1%" nowrap class="body_colb">Issue Number&nbsp;&nbsp;&nbsp;</td>
891
            <td width="1%" nowrap class="body_colb">Fixed</td>
892
            <td width="1%" nowrap class="body_colb">Package Name and Version&nbsp;&nbsp;&nbsp;</td>
893
            <td width="1%" nowrap class="body_colb">Notes&nbsp;&nbsp;&nbsp;</td>
894
            <td width="100%" nowrap class="body_colb">&nbsp;</td>
895
         </tr>
896
         <tr>
897
         <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
898
         </tr>
899
         <%
900
         Dim currIss_id
901
         currIss_id = -1
902
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
903
 
904
         If rsRep.RecordCount = 0 Then
905
            With Response
906
               .write "<tr>"
907
               .write "<td colspan='5' class='body_row'>Found 0 records</td>"
908
               .write "</tr>"
909
            End With
910
         End If
911
 
912
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
913
            ' -------- GROUP BY ISS_ID -----------------
914
            If Cstr(currIss_id) <> Cstr(rsRep("iss_id")) Then
915
               %>
916
               <tr>
917
                  <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
918
                  <td></td>
919
               </tr>
920
               <tr>
5590 dpurdie 921
                  <td nowrap><a href="_wform_issues_details.asp?iss_db=<%=NNiss_db%>&iss_id=<%= rsRep("iss_id")%>" class="body_scol vixIframeDialog"><img src="images/i_drill_down.gif" width="12" height="14" hspace="3" border="0" align="absmiddle" alt="See issue details."><%=issNumDict.Item ( Cstr ( rsRep("iss_id") ) )%></a></td>
129 ghuddy 922
                  <td colspan='5' class="body_scol"></td>
923
               </tr>
924
               <%
925
               currIss_id = Cstr(rsRep("iss_id"))
926
            End If
927
            ' -------- END GROUP ------------------------
928
            %>
929
            <tr>
930
               <td nowrap class="body_row" valign="top"></td>
931
               <%If CDbl(rsRep("iss_state")) = enumISSUES_STATE_FIXED Then%>
932
                  <td align="left"><img src="images/i_tick.gif" width="7" height="7" hspace="6"></td>
933
               <%Else%>
934
                  <td align="left"><img src='images/spacer.gif' width='7' height='7' hspace='6'></td>
935
               <%End If%>
936
               <td nowrap align="left" class="body_row" valign="top"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%><img src="images/i_drill_down.gif" width="12" height="14" hspace="3" border="0" align="absmiddle" alt="Find this package."></td>
937
               <%
938
               Set rsQry = OraDatabase.DbCreateDynaset( "select * from release_content rc, release_tags rt where rc.rtag_id = rt.rtag_id and "&_
939
                                          " pv_id ="&rsRep("pv_id"), 0 )
940
 
941
               While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
942
                  %>
943
                  <tr>
944
                     <td nowrap align="left" class="body_row" valign="top"></td>
945
                     <td nowrap align="left" class="body_row" valign="top"></td>
946
                     <td nowrap align="left" class="body_row" valign="top"><a href="fixed_issues.asp?rtag_id=<%=rsQry("rtag_id")%>&pv_id=<%=rsQry("pv_id")%>" class="txt_linked" target="_blank"><%=rsQry("rtag_name")%></a></td>
947
                  </tr>
948
                  <%
949
                  rsQry.MoveNext()
950
               WEnd
951
               rsQry.Close()
952
               Set rsQry = Nothing
953
               %>
954
               <td nowrap align="left" class="body_row" valign="top"><%=rsRep("notes")%></td>
955
               <td nowrap align="left" class="body_row" valign="top"></td>
956
            </tr>
957
            <%  rsRep.MoveNext
958
         WEnd
959
         %>
960
         <tr>
961
            <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
962
         </tr>
963
      </table>
964
      <!-- PRINT, SAVE, ETC. ------------>
965
      <%If parPrint = "" Then%>
966
         <br>
967
         <br>
968
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
969
         <br>
970
      <%End If%>
971
      <!-- PRINT, SAVE, ETC. END -------->
972
      <%
973
      rsRep.Close
974
      Set rsRep = nothing
975
   End If
976
 
119 ghuddy 977
End Sub
978
%>
979
<%
980
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
981
'==================================================================================
5504 dpurdie 982
' Report Name      :   Find a Package
129 ghuddy 983
' Description      :   Locate a package in Release Manager
5504 dpurdie 984
' Form Input       :   Package Name, version extension
119 ghuddy 985
'==================================================================================
986
Sub Find_Package ( SSsection, SSpkg_name, SSv_ext )
129 ghuddy 987
   Dim Query_String, rsRep, oRegExp
988
 
989
 
990
   If SSsection = "TITLE" Then
991
      Response.write "Find a Package"
992
      Exit Sub
993
   End If
994
 
995
 
996
   If SSsection = "FORM" Then
997
      %>
998
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
999
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R');return document.MM_returnValue">
1000
            <tr>
1001
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td>
1002
               <td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td>
1003
               <td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>
1004
               HINTS:<br>
1005
               - You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td>
1006
            </tr>
1007
            <tr>
1008
               <td nowrap class="form_field">&nbsp;</td>
1009
               <td align="right" nowrap class="form_field" valign="top">Version Extension (optional)</td>
1010
               <td class="form_txt"><input type="text" name="FRv_ext" size="10" class="form_item" value="<%=SSv_ext%>"><br>
5504 dpurdie 1011
               e.g. .mas or .cr or blank etc.</td>
129 ghuddy 1012
            </tr>
1013
            <tr>
1014
               <td nowrap class="form_field">&nbsp;</td>
1015
               <td align="right" nowrap class="form_field">&nbsp;</td>
1016
               <td><br>
1017
                  <input type="hidden" name="group" value="<%=parGroup%>">
1018
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1019
                  <input type="hidden" name="action" value="true">
1020
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
1021
               </td>
1022
            </tr>
1023
         </form>
1024
      </table>
1025
      <%   Exit Sub
1026
   End If
1027
 
1028
 
1029
   If SSsection = "BODY" Then
1030
      If NOT CBool(Request("action")) Then Exit Sub
1031
 
1032
      If SSpkg_name = "" Then SSpkg_name = "%"
1033
      If SSv_ext = "" Then SSv_ext = "%"
1034
      If Request("withwcard") <> "" Then SSpkg_name = "%"& Replace( SQLstring(SSpkg_name), "*", "") &"%"      'Place wild card automatically
1035
 
1036
 
1037
 
1038
      ' -- Check if this is PV_ID
1039
      Set oRegExp = New RegExp
1040
 
1041
      oRegExp.Global = False   'Find only first match
1042
      oRegExp.Pattern = "\D" 'Match number only
1043
 
1044
 
1045
      If NOT oRegExp.Test(Request("FRpkg_name")) Then
1046
         Query_String = ReadFile( rootPath & "queries\rep_find_package_by_pv_id.sql" )
1047
         Query_String = Replace ( Query_String, "/*PV_ID*/", SQLstring(Request("FRpkg_name") )  )
1048
 
1049
      Else
1050
         Query_String = ReadFile( rootPath & "queries\rep_find_package.sql" )
1051
         Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )
1052
         Query_String = Replace ( Query_String, "/*V_EXT*/", Replace( SQLstring(SSv_ext), "*", "%") )
1053
      End If
1054
      %>
1055
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
1056
         <tr>
1057
            <td width="1%" nowrap class="body_colb">Package Name and Version&nbsp;&nbsp;&nbsp;</td>
1058
            <td width="1%" nowrap class="body_colb">Location</td>
1059
            <td width="100%" nowrap class="body_colb">&nbsp;</td>
1060
         </tr>
1061
         <tr>
1062
            <td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1063
         </tr>
1064
         <%
5504 dpurdie 1065
         Dim currPv_id, currVext
1066
         currPv_id = -2
1067
         currVext = ""
129 ghuddy 1068
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1069
 
1070
         If rsRep.RecordCount = 0 Then
1071
            With Response
1072
               .write "<tr>"
1073
               .write "<td colspan='3' class='body_row'>Found 0 records</td>"
1074
               .write "</tr>"
1075
            End With
1076
         End If
1077
 
1078
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
1079
            ' -------- GROUP BY Package Version -----------------
5504 dpurdie 1080
            If (Cstr(currPv_id) <> Cstr(rsRep("pv_id"))) OR (currVext <> rsRep("V_EXT"))  Then
129 ghuddy 1081
               %>
1082
               <tr>
1083
                  <td colspan="2" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1084
               <td></td>
1085
               </tr>
1086
               <tr>
1087
                  <%If Request("withwcard") <> "" Then%>
1088
                     <%' Highlight results for package search from index page%>
1089
                     <td nowrap class="body_scol"><%=Highlight_Substring ( rsRep("pkg_name"), Replace( SQLstring(SSpkg_name), "%", "") )  &" "& rsRep("pkg_version")%></td>
1090
                  <%Else%>
1091
                     <td nowrap class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td>
1092
                  <%End If%>
1093
                  <td colspan='2' class="body_scol"></td>
1094
               </tr>
1095
               <%
1096
               currPv_id = Cstr(rsRep("pv_id"))
5504 dpurdie 1097
               currVext = rsRep("V_EXT")
129 ghuddy 1098
            End If
1099
            ' -------- END GROUP ------------------------
1100
            %>
1101
            <%If NOT IsNull(rsRep("proj_name")) Then%>
1102
               <tr>
1103
                  <td class="body_row"></td>
1104
                  <td nowrap class="body_row" valign="top"><%=rsRep("proj_name") &" &gt; "& rsRep("vtree_name") &" &gt; "& rsRep("rtag_name") &" &gt; <a href='dependencies.asp?pv_id="& rsRep("pv_id") &"&rtag_id="& rsRep("rtag_id") &"' class='txt_linked'>"& rsRep("pkg_name") &" "& rsRep("pkg_version") &"</a>"%></td>
1105
                  <td class="body_row"></td>
1106
               </tr>
1107
            <%Else%>
1108
               <tr>
1109
                  <td class="body_row"></td>
1110
                  <td class="body_row"></td>
1111
                  <td class="body_row"></td>
1112
               </tr>
1113
            <%End If%>
1114
            <%  rsRep.MoveNext
1115
         WEnd
1116
         %>
1117
         <tr>
1118
            <td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1119
         </tr>
1120
      </table>
1121
      <!-- PRINT, SAVE, ETC. ------------>
1122
      <%If parPrint = "" Then%>
1123
         <br>
1124
         <br>
1125
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
1126
         <br>
1127
      <%End If%>
1128
      <!-- PRINT, SAVE, ETC. END -------->
1129
      <%
1130
      rsRep.Close
1131
      Set rsRep = nothing
1132
   End If
1133
 
119 ghuddy 1134
End Sub
1135
%>
1136
<%
1137
'==================================================================================
129 ghuddy 1138
' Report Name      :    Find Package Version History
1139
' Description      :   Locate all package versions and their current location
1140
' Form Input      :   Package Name, version extension
119 ghuddy 1141
'==================================================================================
1142
Sub Find_Package_Version_History ( SSsection, SSpkg_name, SSv_ext )
129 ghuddy 1143
   Dim Query_String, rsRep
1144
 
1145
 
1146
   If SSsection = "TITLE" Then
1147
      Response.write "Find Package Version History"
1148
      Exit Sub
1149
   End If
1150
 
1151
 
1152
   If SSsection = "FORM" Then
1153
      %>
1154
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
1155
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRpkg_name','Package Name','R');return document.MM_returnValue">
1156
            <tr>
1157
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="1" height="8"></td>
1158
               <td width="1%" align="right" nowrap class="form_field" valign="top">Package Name</td>
1159
               <td class="form_txt"><input type="text" name="FRpkg_name" size="30" class="form_item" value="<%=SSpkg_name%>"><br>
1160
               HINTS:<br>
1161
               - You can use * wildcard. e.g. *0123 or 0123* or *0123*<br><br></td>
1162
            </tr>
1163
            <tr>
1164
               <td nowrap class="form_field">&nbsp;</td>
1165
               <td align="right" nowrap class="form_field" valign="top">Version Extension (optional)</td>
1166
               <td class="form_txt"><input type="text" name="FRv_ext" size="10" class="form_item" value="<%=SSv_ext%>"><br>
1167
               e.g. .mas or .lvs or .oso or blank etc.</td>
1168
            </tr>
1169
            <tr>
1170
               <td nowrap class="form_field">&nbsp;</td>
1171
               <td align="right" nowrap class="form_field">&nbsp;</td>
1172
               <td><br>
1173
                  <input type="hidden" name="group" value="<%=parGroup%>">
1174
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1175
                  <input type="hidden" name="action" value="true">
1176
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
1177
               </td>
1178
            </tr>
1179
         </form>
1180
      </table>
1181
      <%   Exit Sub
1182
   End If
1183
 
1184
 
1185
   If SSsection = "BODY" Then
1186
      Const img_Official = "<img src='images/i_locked.gif' width='7' height='10' hspace='3' align='absmiddle'>"
1187
      If NOT CBool(Request("action")) Then Exit Sub
1188
 
1189
      If SSpkg_name = "" Then SSpkg_name = "%"
1190
      If SSv_ext = "" Then SSv_ext = "%"
1191
 
1192
      Query_String = ReadFile( rootPath & "queries\rep_package_version_history.sql" )
1193
      Query_String = Replace ( Query_String, "/*PKG_NAME*/", Replace( SQLstring(SSpkg_name), "*", "%") )
1194
      Query_String = Replace ( Query_String, "/*V_EXT*/", Replace( SQLstring(SSv_ext), "*", "%") )
1195
      %>
1196
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
1197
         <tr>
1198
            <td width="1%" nowrap class="body_colb" align="right">Official<%=img_Official%></td>
1199
            <td width="1%" nowrap class="body_colb">Package Name and Version&nbsp;&nbsp;&nbsp;</td>
1200
            <td width="1%" nowrap class="body_colb">Location</td>
1201
            <td width="100%" nowrap class="body_colb">&nbsp;</td>
1202
         </tr>
1203
         <tr>
1204
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1205
         </tr>
1206
         <%
1207
         Dim currPv_id
1208
         currPv_id = -1
1209
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1210
 
1211
         If rsRep.RecordCount = 0 Then
1212
            With Response
1213
               .write "<tr>"
1214
               .write "<td colspan='4' class='body_row'>Found 0 records</td>"
1215
               .write "</tr>"
1216
            End With
1217
         End If
1218
 
1219
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
1220
            ' -------- GROUP BY Package Version -----------------
1221
            If Cstr(currPv_id) <> Cstr(rsRep("pv_id")) Then
1222
            %>
1223
               <tr>
1224
               <td colspan="3" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1225
               <td></td>
1226
               </tr>
1227
            <tr>
1228
               <td align="right"><%If rsRep("dlocked") = "Y" Then%><%=img_Official%><%End If%></td>
1229
               <td nowrap class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></td>
1230
               <td colspan='2' class="body_scol"></td>
1231
               </tr>
1232
            <%
1233
               currPv_id = Cstr(rsRep("pv_id"))
1234
            End If
1235
            ' -------- END GROUP ------------------------
1236
            %>
1237
               <tr>
1238
               <td class="body_row"></td>
1239
               <td class="body_row"></td>
1240
               <%If IsNull(rsRep("rtag_id")) Then%>
1241
                  <td nowrap class="body_txt_gray" valign="top">Not Used!</td>
1242
               <%Else%>
1243
                  <td nowrap class="body_row" valign="top"><%=rsRep("proj_name") &" &gt; "& rsRep("vtree_name") &" &gt; "& rsRep("rtag_name") &" &gt; <a href='dependencies.asp?pv_id="& rsRep("pv_id") &"&rtag_id="& rsRep("rtag_id") &"' class='txt_linked'>"& rsRep("pkg_name") &" "& rsRep("pkg_version") &"</a>"%></td>
1244
               <%End If%>
1245
               <td class="body_row"></td>
1246
               </tr>
1247
         <%  rsRep.MoveNext
1248
         WEnd
1249
         %>
1250
         <tr>
1251
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1252
         </tr>
1253
      </table>
1254
      <!-- PRINT, SAVE, ETC. ------------>
1255
      <%If parPrint = "" Then%>
1256
         <br>
1257
         <br>
1258
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
1259
         <br>
1260
      <%End If%>
1261
      <!-- PRINT, SAVE, ETC. END -------->
1262
      <%
1263
      rsRep.Close
1264
      Set rsRep = nothing
1265
   End If
1266
 
119 ghuddy 1267
End Sub
1268
%>
1269
<%
1270
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
1271
'==================================================================================
129 ghuddy 1272
' Report Name      :    Obsolete Packages
1273
' Description      :   List packages that are not used (exclude products)
1274
' INPUT            :   Project, Vesion Tree, Release Label
119 ghuddy 1275
'==================================================================================
1276
Sub Obsolete_Packages ( SSsection, NNproj_id, NNrtag_id )
129 ghuddy 1277
   Dim Query_String, rsRep
1278
   Const Allow_All = TRUE
1279
   Const Disallow_All = FALSE
1280
 
1281
   If NNproj_id = "" Then NNproj_id = -1
1282
   If NNrtag_id = "" Then NNrtag_id = -1
1283
 
1284
   If SSsection = "TITLE" Then
1285
      Response.write "Unused Packages"
1286
      Exit Sub
1287
   End If
1288
 
1289
 
1290
   If SSsection = "FORM" Then
1291
      %>
1292
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
1293
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
1294
            <tr>
1295
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
1296
               <td width="1%" align="right" nowrap class="form_field">Project</td>
1297
               <td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
1298
            </tr>
1299
            <tr>
1300
               <td nowrap class="form_field">&nbsp;</td>
1301
               <td align="right" nowrap class="form_field">Release</td>
1302
               <td><%Call Get_Release_Labels ( NNproj_id, NNrtag_id, Disallow_All )%></td>
1303
            </tr>
1304
            <tr>
1305
               <td nowrap class="form_field">&nbsp;</td>
1306
               <td align="right" nowrap class="form_field">&nbsp;</td>
1307
               <td><br>
1308
                  <input type="hidden" name="group" value="<%=parGroup%>">
1309
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1310
                  <input type="hidden" name="action" value="true">
1311
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
1312
               </td>
1313
            </tr>
1314
         </form>
1315
      </table>
1316
      <%   Exit Sub
1317
   End If
1318
 
1319
 
1320
   If SSsection = "BODY" Then
1321
      If NOT CBool(Request("action")) Then Exit Sub
1322
 
1323
      Query_String = ReadFile( rootPath & "queries\rep_obsolete_packages.sql" )
1324
 
1325
      OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
1326
      %>
1327
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
1328
         <tr>
1329
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
1330
            <td width="1%" nowrap class="body_colb">Package Name and Version&nbsp;&nbsp;&nbsp;</td>
1331
            <td width="1%" nowrap class="body_colb">Released&nbsp;&nbsp;&nbsp;</td>
1332
            <td width="1%" nowrap class="body_colb">Added to Release&nbsp;&nbsp;&nbsp;</td>
1333
            <td width="100%" nowrap class="body_colb">&nbsp;</td>
1334
         </tr>
1335
         <tr>
1336
            <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1337
         </tr>
1338
         <%
1339
         Dim currView_id
1340
         currView_id = -1
1341
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1342
 
1343
         If rsRep.RecordCount = 0 Then
1344
            With Response
1345
               .write "<tr>"
1346
               .write "<td colspan='5' class='body_row'>Found 0 records</td>"
1347
               .write "</tr>"
1348
            End With
1349
         End If
1350
 
1351
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
1352
            ' -------- GROUP BY BASE VIEW  -----------------
1353
            If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then
1354
               %>
1355
               <tr>
1356
                  <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1357
                  <td></td>
1358
               </tr>
1359
               <tr>
1360
                  <td nowrap class="body_scol"><%=rsRep("view_name")%></td>
1361
                  <td class="body_scol"></td>
1362
                  <td class="body_scol"></td>
1363
                  <td class="body_scol"></td>
1364
                  <td class="body_scol"></td>
1365
               </tr>
1366
               <%
1367
               currView_id = CDbl(rsRep("view_id"))
1368
            End If
1369
            ' -------- END GROUP ------------------------
1370
            %>
1371
            <tr>
1372
               <td class="body_row"></td>
1373
               <td nowrap class="body_row"><a href="used_by.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNrtag_id%>" class="txt_linked"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td>
5632 dpurdie 1374
               <td nowrap class="body_row"><%=DisplayDate( rsRep("modified_stamp") )%> by <a href="mailto:<%=rsRep("modifier_email")%>" class="txt_linked"><%=rsRep("modifier")%></a>&nbsp;&nbsp;&nbsp;</td>
1375
               <td nowrap class="body_row"><%=DisplayDate( rsRep("insert_stamp") )%> by <a href="mailto:<%=rsRep("insertor_email")%>" class="txt_linked"><%=rsRep("insertor")%></a>&nbsp;&nbsp;&nbsp;</td>
129 ghuddy 1376
               <td class="body_row"></td>
1377
            </tr>
1378
            <%  rsRep.MoveNext
1379
         WEnd
1380
         %>
1381
         <tr>
1382
            <td colspan="5" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1383
         </tr>
1384
      </table>
1385
      <!-- PRINT, SAVE, ETC. ------------>
1386
      <%If parPrint = "" Then%>
1387
         <br>
1388
         <br>
1389
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
1390
         <br>
1391
      <%End If%>
1392
      <!-- PRINT, SAVE, ETC. END -------->
1393
      <%
1394
      rsRep.Close
1395
      Set rsRep = nothing
1396
   End If
1397
 
119 ghuddy 1398
End Sub
1399
%>
1400
<%
1401
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
1402
'==================================================================================
129 ghuddy 1403
' Report Name      :    Deployable Software Modules
1404
' Description      :   Shows packages that are deployed to the customers and shows new packages marked as deployable.
1405
' INPUT            :   Project, Vesion Tree, Release Label, Base View (hard-coded to PRODUCTS)
119 ghuddy 1406
'==================================================================================
1407
Sub Deployable_Software_Modules ( sSection, nProj_id,  nRtag_id, nBase_view_id )
129 ghuddy 1408
   Dim Query_String, rsRep
1409
   Const Allow_All = TRUE
1410
   Const Disallow_All = FALSE
1411
 
1412
   If nProj_id = "" Then nProj_id = -1
1413
   If nRtag_id = "" Then nRtag_id = -1
1414
 
1415
   If sSection = "TITLE" Then
1416
      Response.write "Deployable Software Modules"
1417
      Exit Sub
1418
   End If
1419
 
1420
 
1421
   If sSection = "FORM" Then
1422
      %>
1423
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
1424
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
1425
            <tr>
1426
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
1427
               <td width="1%" align="right" nowrap class="form_field">Project</td>
1428
               <td width="100%"><%Call Get_Projects( nProj_id, Disallow_All )%></td>
1429
            </tr>
1430
            <tr>
1431
               <td nowrap class="form_field">&nbsp;</td>
1432
               <td align="right" nowrap class="form_field">Release</td>
1433
               <td><%Call Get_Release_Labels ( nProj_id, nRtag_id, Disallow_All )%></td>
1434
            </tr>
1435
         <tr>
1436
            <td nowrap class="form_field">&nbsp;</td>
1437
            <td align="right" nowrap class="form_field">Base View</td>
1438
            <td><select name="noname" class='form_item' disabled>
1439
                  <option>PRODUCTS</option>
1440
               </select></td>
1441
            </tr>
1442
            <tr>
1443
               <td nowrap class="form_field">&nbsp;</td>
1444
               <td align="right" nowrap class="form_field">&nbsp;</td>
1445
               <td><br>
1446
                  <input type="hidden" name="group" value="<%=parGroup%>">
1447
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1448
                  <input type="hidden" name="FRbase_view_id" value="<%=enumBASE_VIEW_PRODUCTS%>">
1449
                  <input type="hidden" name="action" value="true">
1450
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
1451
               </td>
1452
            </tr>
1453
         </form>
1454
      </table>
1455
      <%   Exit Sub
1456
   End If
1457
 
1458
 
1459
   If sSection = "BODY" Then
1460
      If NOT CBool(Request("action")) Then Exit Sub
1461
      '--- New Deployable Modules ---
1462
      Query_String = ReadFile( rootPath & "queries\rep_new_deployable_packages.sql" )
1463
 
1464
      OraDatabase.Parameters.Add "RTAG_ID",       nRtag_id,       ORAPARM_INPUT, ORATYPE_NUMBER
1465
      OraDatabase.Parameters.Add "BASE_VIEW_ID",    nBase_view_id,    ORAPARM_INPUT, ORATYPE_NUMBER
1466
      %>
1467
      <table width="100%"  border="0" cellspacing="0" cellpadding="2">
1468
         <tr>
1469
            <td nowrap class="body_colb" colspan="3" background="images/bg_bage.gif">&nbsp;New Deployable Package</td>
1470
         </tr>
1471
         <tr>
1472
            <td background="images/bg_rep_line.gif" colspan="3"><img src="images/spacer.gif" width="1" height="1"></td>
1473
         </tr>
1474
         <tr>
1475
            <td width="1%" class="body_txt">Package Name</td>
1476
            <td width="1%" class="body_txt">Version</td>
1477
            <td width="100%" class="body_txt">Last Modifier</td>
1478
         </tr>
1479
         <tr>
1480
            <td background="images/bg_rep_line.gif" colspan="3"><img src="images/spacer.gif" width="1" height="1"></td>
1481
         </tr>
1482
         <%
1483
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1484
         %>
1485
         <%If rsRep.RecordCount = 0 Then%>
1486
            <tr>
1487
               <td nowrap class="body_row" colspan="3">Found 0 records! </td>
1488
            </tr>
1489
         <%End If%>
1490
         <%While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))%>
1491
            <tr>
1492
               <td nowrap><a href="dependencies.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="txt_linked"><img src="images/i_go2url.gif" width="14" height="14" hspace="3" border="0" align="absmiddle"><%=rsRep("pkg_name")%></a></td>
1493
               <td nowrap class="body_row"><%=rsRep("pkg_version")%></td>
1494
               <td nowrap class="body_row"><%=rsRep("full_name")%></td>
1495
            </tr>
1496
            <%rsRep.MoveNext
1497
         WEnd
1498
         rsRep.Close
1499
         Set rsRep = Nothing%>
1500
         <tr>
1501
            <td background="images/bg_rep_line.gif" colspan="3"><img src="images/spacer.gif" width="1" height="1"></td>
1502
         </tr>
1503
         <%
1504
         ' Go To Release link...
1505
         Query_String = _
1506
         " SELECT proj.PROJ_NAME, rt.RTAG_NAME"&_
1507
         "   FROM PROJECTS proj,"&_
1508
         "         RELEASE_TAGS rt"&_
1509
         "    WHERE rt.PROJ_ID = proj.proj_id"&_
1510
         "      AND rt.rtag_id = :RTAG_ID"
1511
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1512
         %>
1513
         <tr>
1514
            <td nowrap class="body_row" colspan="3"><a href="dependencies.asp?rtag_id=<%=nRtag_id%>"><img src="images/i_go2url.gif" width="14" height="14" hspace="3" border="0" align="absmiddle"></a>Go to <a href="dependencies.asp?rtag_id=<%=nRtag_id%>" class="txt_linked"><%=rsRep("proj_name")%> &gt; <%=rsRep("rtag_name")%></a> </td>
1515
         </tr>
1516
         <%
1517
         rsRep.Close
1518
         Set rsRep = Nothing%>
1519
      </table>
1520
      <br><br>
1521
      <%
1522
      '--- Current Deployable Modules ---
1523
      Query_String = ReadFile( rootPath & "queries\rep_current_deployable_packages.sql" )
1524
      %>
1525
      <table width="100%"  border="0" cellspacing="0" cellpadding="2">
1526
         <tr>
1527
            <td colspan="4" nowrap class="body_colb" background="images/bg_bage.gif">&nbsp;Current Deployable Packages </td>
1528
         </tr>
1529
         <tr>
1530
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1531
         </tr>
1532
         <%
1533
         Dim currPv_id
1534
         currPv_id = -1
1535
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1536
 
1537
         If rsRep.RecordCount = 0 Then
1538
            With Response
1539
               .write "<tr>"
1540
               .write "<td colspan='4' class='body_row'>Found 0 records</td>"
1541
               .write "</tr>"
1542
            End With
1543
         End If
1544
 
1545
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
1546
            ' -------- GROUP BY PRODUCT NAME  -----------------
1547
            If CDbl(currPv_id) <> CDbl(rsRep("pv_id")) Then
1548
               %>
1549
               <tr>
1550
                  <td width="1%" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1551
                  <td width="1%" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1552
                  <td width="1%" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1553
                  <td width="100%"><img src="images/spacer.gif" width="1" height="1"></td>
1554
               </tr>
1555
               <tr>
1556
                  <td nowrap><a href="dependencies.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="body_scol"><%=rsRep("pkg_name") &" "& rsRep("pkg_version")%></a></td>
1557
                  <td>&nbsp;</td>
1558
                  <td>&nbsp;</td>
1559
                  <td>&nbsp;</td>
1560
               </tr>
1561
               <%
1562
               currPv_id = CDbl(rsRep("pv_id"))
1563
            End If
1564
            ' -------- END GROUP ------------------------
1565
            %>
1566
            <tr>
1567
               <td>&nbsp;</td>
1568
               <td nowrap><a href="dependencies.asp?pv_id=<%=rsRep("dpv_id")%>&rtag_id=<%=nRtag_id%>" class="txt_linked"><%=rsRep("dpkg_name")%></a></td>
1569
               <td nowrap class="body_row"><%=rsRep("dpkg_version")%></td>
1570
               <td nowrap class="err_alert"><%=rsRep("is_dep_deployable")%></td>
1571
            </tr>
1572
            <%  rsRep.MoveNext
1573
         WEnd
1574
         %>
1575
         <tr>
1576
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1577
         </tr>
1578
      </table>
1579
      <!-- PRINT, SAVE, ETC. ------------>
1580
      <%If parPrint = "" Then%>
1581
         <br>
1582
         <br>
1583
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
1584
         <br>
1585
      <%End If%>
1586
      <!-- PRINT, SAVE, ETC. END -------->
1587
      <%
1588
      rsRep.Close
1589
      Set rsRep = nothing
1590
   End If
1591
 
119 ghuddy 1592
End Sub
1593
%>
1594
 
1595
<%
1596
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
1597
'==================================================================================
129 ghuddy 1598
' Report Name      :    Bill Of Materials
1599
' Description      :   List products for a BOM
1600
' INPUT            :
119 ghuddy 1601
'==================================================================================
1602
Sub Bill_of_Materials ( SSsection, NNproj_id, NNrtag_id, NNbom_id, NNversion )
129 ghuddy 1603
   Dim Query_String, rsRep, rsQry
1604
   Const Allow_All = TRUE
1605
   Const Disallow_All = FALSE
119 ghuddy 1606
 
129 ghuddy 1607
   If NNproj_id = "" Then NNproj_id = -1
1608
   If NNrtag_id = "" Then NNrtag_id = -1
1609
   If NNversion = "" Then NNversion = -1
1610
 
1611
   If SSsection = "TITLE" Then
1612
      Response.write "Software Bill Of Materials (SBOM) products"
1613
      Exit Sub
1614
   End If
1615
 
1616
 
1617
   If SSsection = "FORM" Then
1618
      %>
1619
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
1620
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
1621
            <tr>
1622
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
1623
               <td width="1%" align="right" nowrap class="form_field">Project</td>
1624
               <td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
1625
            </tr>
1626
            <tr>
1627
               <td nowrap class="form_field">&nbsp;</td>
1628
               <td align="right" nowrap class="form_field">Release</td>
1629
               <td><%Call Get_Branches ( NNproj_id, NNrtag_id, Disallow_All )%></td>
1630
            </tr>
1631
            <tr>
1632
               <td nowrap class="form_field">&nbsp;</td>
1633
               <td align="right" nowrap class="form_field">SBOM Version</td>
1634
               <td><%Call Get_SBOM_Version ( NNproj_id, NNrtag_id, Disallow_All, NNversion )%></td>
1635
            </tr>
1636
            <tr>
1637
               <td nowrap class="form_field">&nbsp;</td>
1638
               <td align="right" nowrap class="form_field">&nbsp;</td>
1639
               <td><br>
1640
                  <input type="hidden" name="group" value="<%=parGroup%>">
1641
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1642
                  <input type="hidden" name="FRrtag_id" value="<%=NNrtag_id%>">
1643
                  <input type="hidden" name="action" value="true">
1644
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
1645
               </td>
1646
            </tr>
1647
         </form>
1648
      </table>
1649
      <p>
1650
      <%   Exit Sub
1651
   End If
1652
 
1653
 
1654
 
1655
   OraDatabase.Parameters.Add "BRANCH_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
1656
   OraDatabase.Parameters.Add "BOM_VERSION", Request("FRVersion"), ORAPARM_INPUT, ORATYPE_STRING
1657
   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("rep_SBOM.sql"), cint(0))
1658
   Dim bomId
1659
   bomId = rsQry("bom_id")
1660
   rsQry.close
1661
   Set rsQry = nothing
1662
 
1663
 
1664
   If SSsection = "BODY" Then
1665
      If NOT CBool(Request("action")) Then Exit Sub
1666
 
1667
      Query_String = ReadFile( rootPath & "queries\AllProducts.sql" )
1668
 
1669
      OraDatabase.Parameters.Add "BOM_ID", bomId, ORAPARM_INPUT, ORATYPE_NUMBER
1670
      %>
1671
      </p>
1672
      <table width="100%" border="0" cellspacing="0" cellpadding="2">
1673
         <tr>
1674
            <td nowrap class="body_colb">Node Name</td>
1675
            <td nowrap class="body_colb">Operating System</td>
1676
            <td nowrap class="body_colb">Product</td>
1677
            <td nowrap class="body_colb">Version</td>
1678
         </tr>
1679
         <tr>
1680
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1681
         </tr>
1682
         <%
1683
         Dim currNode_id, currOs_id
1684
         currNode_id = -1
1685
         currOs_id = -1
1686
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
1687
 
1688
         If rsRep.RecordCount = 0 Then
1689
            With Response
1690
               .write "<tr>"
1691
               .write "<td colspan='5' class='body_row'>Found 0 records</td>"
1692
               .write "</tr>"
1693
            End With
1694
         End If
1695
 
1696
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
1697
            ' -------- GROUP BY BASE VIEW  -----------------
1698
            If CDbl(currNode_id) <> CDbl(rsRep("node_id")) Then
1699
               %>
1700
               <tr>
1701
                  <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1702
               </tr>
1703
               <tr>
1704
                  <td nowrap class="body_scol"><%=rsRep("node_name")%></td>
1705
                  <td nowrap class="body_scol"></td>
1706
                  <td nowrap class="body_scol"></td>
1707
                  <td nowrap class="body_scol"></td>
1708
               </tr>
1709
               <%
1710
               currNode_id = CDbl(rsRep("node_id"))
1711
            End If
1712
            ' -------- END GROUP ------------------------
1713
            If CDbl(currOs_id) <> CDbl(rsRep("os_id")) Then
1714
               %>
1715
               <tr>
1716
                  <td nowrap class="body_row"></td>
1717
                  <td nowrap class="body_scol"><%=rsRep("os_name")%></td>
1718
                  <td nowrap class="body_scol"></td>
1719
                  <td nowrap class="body_scol"></td>
1720
               </tr>
1721
               <%
1722
               currOs_id = CDbl(rsRep("Os_id"))
1723
            End If
1724
            %>
1725
            <tr>
1726
               <td nowrap class="body_row"></td>
1727
               <td nowrap class="body_row"></td>
1728
               <td nowrap class="body_row"><%=PatchIcon ( rsRep("is_patch"), rsRep("is_obsolete") )%><%=rsRep("pkg_name")%></td>
1729
               <td nowrap class="body_row"><%=rsRep("pkg_version")%></td>
1730
            </tr>
1731
            <%  rsRep.MoveNext
1732
         WEnd
1733
         %>
1734
         <tr>
1735
            <td colspan="4" background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1736
         </tr>
1737
      </table>
1738
      <p>&nbsp;     </p>
1739
      <p>        <!-- PRINT, SAVE, ETC. ------------>
119 ghuddy 1740
      <%If parPrint = "" Then%>
129 ghuddy 1741
         <br>
1742
         <br>
1743
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
1744
         <br>
119 ghuddy 1745
      <%End If%>
1746
      <!-- PRINT, SAVE, ETC. END -------->
1747
      <%
129 ghuddy 1748
      rsRep.Close
1749
      Set rsRep = nothing
1750
   End If
1751
 
119 ghuddy 1752
End Sub
1753
%>
1754
 
1755
<%
1756
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
1757
'==================================================================================
129 ghuddy 1758
' Report Name      :    Build History
1759
' Description      :   List packages which were build between certain dates.
1760
' INPUT            :
119 ghuddy 1761
'==================================================================================
1762
Sub Build_History ( SSsection, NNproj_id, NNrtag_id)
129 ghuddy 1763
   Dim Query_String, rsRep, rsQry
1764
   Const Allow_All = TRUE
1765
   Const Disallow_All = FALSE
119 ghuddy 1766
 
129 ghuddy 1767
   If NNproj_id = "" Then NNproj_id = -1
1768
   If NNrtag_id = "" Then NNrtag_id = -1
119 ghuddy 1769
 
129 ghuddy 1770
   If SSsection = "TITLE" Then
1771
      Response.write "Build History"
1772
      Exit Sub
1773
   End If
119 ghuddy 1774
 
129 ghuddy 1775
 
1776
   If SSsection = "FORM" Then
1777
      %>
1778
      <script language="JavaScript" src="images/calendar.js"></script>
1779
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
1780
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
1781
            <tr>
1782
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
1783
               <td width="1%" align="right" nowrap class="form_field">Project</td>
1784
               <td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
1785
            </tr>
1786
            <tr>
1787
               <td nowrap class="form_field">&nbsp;</td>
1788
               <td align="right" nowrap class="form_field">Release</td>
1789
               <td><%Call Get_Release_Labels ( NNproj_id,  NNrtag_id, Disallow_All )%></td>
1790
            </tr>
1791
            <tr>
1792
               <td colspan="3" nowrap class="form_field">Between
1793
               <input type="text" name="FRinitdate" maxlength="10" size="12" value="<%=Request.Form("FRinitdate")%>">
1794
               <A onmouseover="window.status='Select a date';return true;" onmouseout="window.status='';return true;" href="javascript:show_calendar('repform.FRinitdate',null,null,null);"><img src="images/i_calendar.gif" width="16" height="16" border="0"></a>
1795
               And
1796
               <input type="text" name="FRduedate" maxlength="10" size="12" value="<%=Request.Form("FRduedate")%>">
1797
               <A onmouseover="window.status='Select a date';return true;" onmouseout="window.status='';return true;" href="javascript:show_calendar('repform.FRduedate',null,null,null);"><img src="images/i_calendar.gif" width="16" height="16" border="0"></a></td>
1798
            </tr>
1799
            <tr>
1800
               <td nowrap class="form_field">&nbsp;</td>
1801
               <td align="right" nowrap class="form_field">&nbsp;</td>
1802
               <td><br>
1803
                  <input type="hidden" name="group" value="<%=parGroup%>">
1804
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1805
                  <input type="hidden" name="action" value="true">
1806
                  <input name="Submit" type="submit" class="form_btn" value="Submit" onClick="clickedButton=true;MM_validateForm('FRduedate','Due Date','R','FRmsg','Message details','R');return document.MM_returnValue">
1807
               </td>
1808
            </tr>
1809
         </form>
1810
      </table>
1811
      <p>
1812
      <%   Exit Sub
1813
   End If
1814
 
1815
 
1816
   If SSsection = "BODY" Then
1817
      If NOT CBool(Request("action")) Then Exit Sub
1818
      %>
1819
      </p>
1820
      <table width="20%" border="0" cellspacing="0" cellpadding="2">
1821
         <tr>
1822
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
1823
            <td width="5%" nowrap class="body_colb">Package</td>
1824
            <td width="95%" nowrap class="body_colb">Version</td>
1825
         </tr>
1826
         <tr>
1827
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1828
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1829
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1830
         </tr>
1831
         <%
1832
         Dim currView_id
1833
         currView_id = -1
1834
 
1835
         OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
1836
         OraDatabase.Parameters.Add "INITDATE", Request.Form("FRinitdate"), ORAPARM_INPUT, ORATYPE_STRING
1837
         OraDatabase.Parameters.Add "DUEDATE", Request.Form("FRduedate"), ORAPARM_INPUT, ORATYPE_STRING
1838
 
1839
         Set rsRep = OraDatabase.DbCreateDynaset( GetQuery("rep_build_history.sql"), cint(0) )
1840
 
1841
         If rsRep.RecordCount = 0 Then
1842
            With Response
1843
               .write "<tr>"
1844
               .write "<td colspan='5' class='body_row'>Found 0 records</td>"
1845
               .write "</tr>"
1846
            End With
1847
         End If
1848
 
1849
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
1850
            ' -------- GROUP BY BASE VIEW  -----------------
1851
            If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then
1852
               %>
1853
               <tr>
1854
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1855
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1856
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1857
               </tr>
1858
 
1859
               <tr>
1860
                  <td valign="top" nowrap class="body_scol"><%=rsRep("view_name")%></td>
1861
                  <td>&nbsp;</td>
1862
                  <td>&nbsp;</td>
1863
               </tr>
1864
 
1865
               <%
1866
               currView_id = CDbl(rsRep("view_id"))
1867
            End If
1868
            ' -------- END GROUP ------------------------
1869
            %>
1870
            <tr>
1871
               <td width="1%" nowrap class="body_colb">&nbsp;</td>
1872
               <td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_name")%></strong></a></td>
1873
               <td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_version")%></strong></a></td>
1874
            </tr>
1875
            <%  rsRep.MoveNext
1876
         WEnd
1877
         %>
1878
         <tr>
1879
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1880
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1881
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
1882
         </tr>
1883
      </table>
1884
      <p>&nbsp;     </p>
1885
      <p>        <!-- PRINT, SAVE, ETC. ------------>
119 ghuddy 1886
      <%If parPrint = "" Then%>
129 ghuddy 1887
         <br>
1888
         <br>
1889
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
1890
         <br>
119 ghuddy 1891
      <%End If%>
1892
      <!-- PRINT, SAVE, ETC. END -------->
1893
      <%
129 ghuddy 1894
      rsRep.Close
1895
      Set rsRep = nothing
1896
   End If
1897
 
119 ghuddy 1898
End Sub
1899
%>
1900
<%
1901
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
1902
'==================================================================================
129 ghuddy 1903
' Report Name      :    Escrow Report
1904
' Description      :   Report to extract Products/Patches for Building A RoadMap
1905
' INPUT            :
119 ghuddy 1906
'==================================================================================
1907
Sub Escrow_Report (SSsection, NNproj_id, NNrtag_id, NNbom_id, NNversion)
129 ghuddy 1908
   Dim Query_String, rsRep, rsQry
1909
   Const Allow_All = TRUE
1910
   Const Disallow_All = FALSE
119 ghuddy 1911
 
129 ghuddy 1912
   If NNproj_id = "" Then NNproj_id = -1
1913
   If NNrtag_id = "" Then NNrtag_id = -1
1914
   If NNversion = "" Then NNversion = -1
119 ghuddy 1915
 
129 ghuddy 1916
   If SSsection = "TITLE" Then
1917
      Response.write "Generation of ESCROW REPORT"
1918
      Exit Sub
1919
   End If
119 ghuddy 1920
 
1921
 
129 ghuddy 1922
   If SSsection = "FORM" Then
1923
      %>
1924
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
1925
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
1926
            <tr>
1927
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
1928
               <td width="1%" align="right" nowrap class="form_field">Project</td>
1929
               <td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
1930
            </tr>
1931
            <tr>
1932
               <td nowrap class="form_field">&nbsp;</td>
1933
               <td align="right" nowrap class="form_field">Release</td>
1934
               <td><%Call Get_Branches ( NNproj_id, NNrtag_id, Disallow_All )%></td>
1935
            </tr>
1936
            <tr>
1937
               <td nowrap class="form_field">&nbsp;</td>
1938
               <td align="right" nowrap class="form_field">SBOM Version</td>
1939
               <td><%Call Get_SBOM_Version ( NNproj_id, NNrtag_id, Disallow_All, NNversion )%></td>
1940
            </tr>
1941
            <tr>
1942
               <td nowrap class="form_field">&nbsp;</td>
1943
               <td align="right" nowrap class="form_field">&nbsp;</td>
1944
               <td><br>
1945
                  <input type="hidden" name="group" value="<%=parGroup%>">
1946
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
1947
                  <input type="hidden" name="FRrtag_id" value="<%=NNrtag_id%>">
1948
                  <input type="hidden" name="action" value="true">
1949
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
1950
               </td>
1951
            </tr>
1952
         </form>
1953
      </table>
1954
      <p>
1955
      <%   Exit Sub
1956
   End If
119 ghuddy 1957
 
129 ghuddy 1958
   OraDatabase.Parameters.Add "BRANCH_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
1959
   OraDatabase.Parameters.Add "BOM_VERSION", Request("FRVersion"), ORAPARM_INPUT, ORATYPE_STRING
1960
   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("rep_SBOM.sql"), cint(0))
1961
   Dim bomId, ext
1962
   bomId = rsQry("bom_id")
1963
   Set rsQry = OraDatabase.DbCreateDynaset( "select * from release_manager.project_extentions where proj_id="&NNproj_id, cint(0))
1964
   ext = rsQry("ext_name")
1965
   rsQry.close
1966
   Set rsQry = nothing
119 ghuddy 1967
 
129 ghuddy 1968
   If SSsection = "BODY" Then
1969
      If NOT CBool(Request("action")) Then Exit Sub
119 ghuddy 1970
 
129 ghuddy 1971
      '---------------------- Run Before Page ---------------------------
1972
      Call GetReleaseContent ( bomId, objReleaseContent )
119 ghuddy 1973
 
129 ghuddy 1974
      'Call   GetBomDetails   (bomId, outobjDetails)
1975
      'outobjDetails.Item("bom_full_version") = outobjDetails.Item("bom_name")&"   "&   outobjDetails.Item("bom_version") &"."& outobjDetails.Item("bom_lifecycle")
119 ghuddy 1976
 
129 ghuddy 1977
 
1978
      '------------------------------------------------------------------
1979
      %>
1980
      <html>
1981
      <head>
1982
      <title>Release Manager - Escrow Report</title>
1983
      <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
1984
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
1985
      </head>
1986
      <body>
1987
      <div align="center"><b><font col color="#FF0000" size="+3"><%=outobjDetails.Item("bom_full_version")%></font></b></div>
1988
      <div align="center"><b><font col color="#FF0000" size="+3">Products</font></b></div>
1989
      <%
1990
      Set outobjDetails = Nothing
1991
 
1992
      aReleaseContent = objReleaseContent.Keys
1993
      For Each parPv_id In aReleaseContent
1994
         pvIdList = pvIdList +   parPv_id   +   ","
1995
         Call GetPackageInformation ( parPv_id, objPackageDetails )
1996
         Response.Flush
1997
         %>
1998
         <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
1999
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
2000
            <tr>
2001
               <td class="body_colb"><h3><%=objPackageDetails.Item("pkg_name")%></h3></td>
2002
            </tr>
2003
         </table>
2004
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
2005
            <tr>
2006
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Version:</strong></td>
2007
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_version")%></td>
2008
            </tr>
2009
            <tr>
2010
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Path:</strong> </td>
2011
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("src_path")%></td>
2012
            </tr>
2013
            <tr>
2014
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Label:</strong></td>
2015
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_label")%></td>
2016
            </tr>
2017
            <tr>
2018
               <td width="1%" nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Short Description:</strong></td>
2019
               <td witdh="100%" bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_description") ) )%></td>
2020
            </tr>
2021
            <tr>
2022
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Package Overview:</strong> </td>
2023
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_overview") ) )%></td>
2024
            </tr>
2025
            <tr>
2026
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>General Sublicense Material:</strong> </td>
2027
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%If objPackageDetails.Item("v_ext") = ext Then%>Yes<%Else%>No<%End If%></td>
2028
            </tr>
2029
            <tr>
2030
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Environment:</strong> </td>
2031
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%If objPackageDetails.Item("is_build_env_required") = enumDB_NO Then%>Not Required.<%End If%>
2032
                  <%
2033
                  '--- Get Build Env Details
2034
                  Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Std ( parPv_id ), cint(0))
2035
                  If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
2036
                     BldStd = rsQry("bs_name")
2037
                     rsQry.Close
2038
 
2039
                     Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Env ( parPv_id ), cint(0))
2040
                     %>
2041
                     <ul>
2042
                     <%
2043
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
2044
                     %>
2045
                        <li><%=BldStd%>, <%=rsQry("bm_name")%></li>
2046
                        <%rsQry.MoveNext
2047
                     WEnd
2048
                     %>
2049
                     </ul>
2050
                  <%End If%>
2051
               </td>
2052
            </tr>
2053
            <tr>
2054
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Dependencies:</strong> </td>
2055
               <td bgcolor="#FFFFFF" class="sublbox_txt">
2056
                  <%
2057
                  '--- Get Build Dependencies Details
2058
 
2059
                  Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Dependencies ( parPv_id ), cint(0))
2060
                  %>
2061
                  <table width="100%"  cellspacing="0" cellpadding="2" border="1">
2062
                     <tr>
2063
                        <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="1%"><strong>Software Component</strong></td>
2064
                        <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="100%"><strong>Version</strong></td>
2065
                     </tr>
2066
                     <%If rsQry.RecordCount < 1 Then%>
2067
                        <tr>
2068
                           <td nowrap class="sublbox_txt">No Dependencies</td>
2069
                           <td nowrap class="sublbox_txt"></td>
2070
                        </tr>
2071
                     <%End If%>
2072
                     <%
2073
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
2074
                        %>
2075
                        <tr>
2076
                           <td nowrap class="sublbox_txt"><a href="#<%=rsQry("pkg_name")%>"><%=rsQry("pkg_name")%></a></td>
2077
                           <td nowrap class="sublbox_txt"><%=rsQry("pkg_version")%></td>
2078
                        </tr>
2079
                        <%rsQry.MoveNext
2080
                     WEnd
2081
                     %>
2082
                  </table>
2083
               </td>
2084
            </tr>
2085
         </table>
2086
         <br><br>
2087
         <%
2088
      'Exit For
2089
      Next
2090
 
2091
      pvIdList = Mid(pvIdList, 1, Len(pvIdList) - 1)
2092
      Set   rsTemp   =   OraDatabase.DbCreateDynaset( SQL_Modules ( pvIdList ), cint(0))
2093
 
2094
      %>
2095
      <div align="center"><b><font col color="#FF0000" size="+3">Modules</font></b></div>
2096
      <%
2097
      While (NOT rsTemp.BOF) AND (NOT rsTemp.EOF)
2098
         Response.Flush
2099
 
2100
         dpv_id = rsTemp("dpv_id")
2101
         Call GetPackageInformation ( dpv_id, objPackageDetails )
2102
         %>
2103
         <a name="<%=objPackageDetails.Item("pkg_name")%>"></a>
2104
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
2105
            <tr>
2106
               <td class="body_colb"><h3><%=objPackageDetails.Item("pkg_name")%></h3></td>
2107
            </tr>
2108
         </table>
2109
         <table width="100%" border="0" cellspacing="0" cellpadding="0">
2110
            <tr>
2111
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Version:</strong></td>
2112
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_version")%></td>
2113
            </tr>
2114
            <tr>
2115
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Path:</strong> </td>
2116
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("src_path")%></td>
2117
            </tr>
2118
            <tr>
2119
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Source Label:</strong></td>
2120
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=objPackageDetails.Item("pkg_label")%></td>
2121
            </tr>
2122
            <tr>
2123
               <td width="1%" nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Short Description:</strong></td>
2124
               <td witdh="100%" bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_description") ) )%></td>
2125
            </tr>
2126
            <tr>
2127
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Package Overview:</strong> </td>
2128
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%=NewLine_To_BR ( To_HTML( objPackageDetails.Item("pv_overview") ) )%></td>
2129
            </tr>
2130
            <tr>
2131
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>General Sublicense Material:</strong> </td>
2132
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%If objPackageDetails.Item("v_ext") = parExt Then%>Yes<%Else%>No<%End If%></td>
2133
            </tr>
2134
            <tr>
2135
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Environment:</strong> </td>
2136
               <td bgcolor="#FFFFFF" class="sublbox_txt"><%If objPackageDetails.Item("is_build_env_required") = enumDB_NO Then%>Not Required.<%End If%>
2137
                  <%
2138
                  '--- Get Build Env Details
2139
                  Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Std ( dpv_id ), cint(0))
2140
                  If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
2141
                     BldStd = rsQry("bs_name")
2142
                     rsQry.Close
2143
 
2144
                     Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Env ( dpv_id ), cint(0))
2145
                     %>
2146
                     <ul>
2147
                        <%
2148
                        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
2149
                           %>
2150
                           <li><%=BldStd%>, <%=rsQry("bm_name")%></li>
2151
                           <%rsQry.MoveNext
2152
                        WEnd
2153
                        %>
2154
                     </ul>
2155
                  <%End If%>
2156
               </td>
2157
            </tr>
2158
            <tr>
2159
               <td nowrap bgcolor="#FFFFFF" class="sublbox_txt" valign="top"><strong>Build Dependencies:</strong> </td>
2160
               <td bgcolor="#FFFFFF" class="sublbox_txt">
2161
                  <%
2162
                  '--- Get Build Dependencies Details
2163
 
2164
                  Set rsQry = OraDatabase.DbCreateDynaset( SQL_Build_Dependencies ( dpv_id ), cint(0))
2165
                  %>
2166
                  <table width="100%"  cellspacing="0" cellpadding="2" border="1">
2167
                     <tr>
2168
                        <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="1%"><strong>Software Component</strong></td>
2169
                        <td nowrap class="sublbox_txt" bgcolor="#FFFFFF" width="100%"><strong>Version</strong></td>
2170
                     </tr>
2171
                     <%If rsQry.RecordCount < 1 Then%>
2172
                        <tr>
2173
                           <td nowrap class="sublbox_txt">No Dependencies</td>
2174
                           <td nowrap class="sublbox_txt"></td>
2175
                        </tr>
2176
                     <%End If%>
2177
                     <%
2178
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
2179
                        %>
2180
                        <tr>
2181
                           <td nowrap class="sublbox_txt"><a href="#<%=rsQry("pkg_name")%>"><%=rsQry("pkg_name")%></a></td>
2182
                           <td nowrap class="sublbox_txt"><%=rsQry("pkg_version")%></td>
2183
                        </tr>
2184
                        <%rsQry.MoveNext
2185
                     WEnd
2186
                     %>
2187
                  </table>
2188
               </td>
2189
            </tr>
2190
         </table>
2191
         <br><br>
2192
 
2193
         <%
2194
         rsTemp.MoveNext
2195
      WEnd
2196
 
2197
      rsTemp.Close()
2198
      Set rsTemp = Nothing
2199
   End If
119 ghuddy 2200
End Sub
2201
%>
2202
 
2203
<%
2204
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2205
'==================================================================================
129 ghuddy 2206
' Report Name      :    AutoBuildable_Report
2207
' Description      :   List packages which were build between certain dates.
2208
' INPUT            :
119 ghuddy 2209
'==================================================================================
2210
Sub AutoBuildable_Report ( SSsection, NNproj_id, NNrtag_id)
129 ghuddy 2211
   Dim Query_String, rsRep, rsQry
2212
   Const Allow_All = TRUE
2213
   Const Disallow_All = FALSE
119 ghuddy 2214
 
129 ghuddy 2215
   If NNproj_id = "" Then NNproj_id = -1
2216
   If NNrtag_id = "" Then NNrtag_id = -1
119 ghuddy 2217
 
129 ghuddy 2218
   If SSsection = "TITLE" Then
2219
      Response.write "Release AutoBuildable Status"
2220
      Exit Sub
2221
   End If
119 ghuddy 2222
 
2223
 
129 ghuddy 2224
   If SSsection = "FORM" Then
2225
      %>
2226
      <script language="JavaScript" src="images/calendar.js"></script>
2227
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
2228
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
2229
            <tr>
2230
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
2231
               <td width="1%" align="right" nowrap class="form_field">Project</td>
2232
               <td width="100%"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
2233
            </tr>
2234
            <tr>
2235
               <td nowrap class="form_field">&nbsp;</td>
2236
               <td align="right" nowrap class="form_field">Release</td>
2237
               <td><%Call Get_Release_Labels ( NNproj_id,  NNrtag_id, Disallow_All )%></td>
2238
            </tr>
2239
            <tr>
2240
               <td nowrap class="form_field">&nbsp;</td>
2241
               <td align="right" nowrap class="form_field">&nbsp;</td>
2242
               <td><br>
2243
                  <input type="hidden" name="group" value="<%=parGroup%>">
2244
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
2245
                  <input type="hidden" name="action" value="true">
2246
                  <input name="Submit" type="submit" class="form_btn" value="Submit" onClick="clickedButton=true;MM_validateForm('FRduedate','Due Date','R','FRmsg','Message details','R');return document.MM_returnValue">
2247
               </td>
2248
            </tr>
2249
      </table>
2250
      <p>
2251
      <%   Exit Sub
2252
   End If
119 ghuddy 2253
 
2254
 
129 ghuddy 2255
   If SSsection = "BODY" Then
2256
      If NOT CBool(Request("action")) Then Exit Sub
2257
      If Request("btn") = "Assign" Then
2258
         OraDatabase.Parameters.Add "RTAG_ID",       NNrtag_id,   ORAPARM_INPUT, ORATYPE_NUMBER
2259
         OraDatabase.Parameters.Add "PV_ID_LIST",   Request("prod_id_list"),   ORAPARM_INPUT, ORATYPE_VARCHAR2
119 ghuddy 2260
 
129 ghuddy 2261
         objEH.TryORA ( OraSession )
2262
         On Error Resume Next
2263
 
2264
         OraDatabase.ExecuteSQL _
2265
         "BEGIN  SET_TO_AUTOBUILDABLE( :RTAG_ID, :PV_ID_LIST );  END;"
2266
 
2267
         objEH.CatchORA ( OraSession )
2268
 
2269
         OraDatabase.Parameters.Remove "PV_ID_LIST"
2270
         OraDatabase.Parameters.Remove "RTAG_ID"
2271
 
2272
      End   If
2273
      %>
2274
      </p>
2275
      <table width="20%" border="0" cellspacing="0" cellpadding="2">
2276
         <tr>
2277
            <td width="1%" nowrap class="body_colb">Base View</td>
2278
            <td width="5%" nowrap class="body_colb">Package</td>
2279
            <td width="95%" nowrap class="body_colb">Version</td>
2280
            <td width="95%" nowrap class="body_colb">Autobuildable</td>
2281
         </tr>
2282
         <tr>
2283
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2284
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2285
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2286
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2287
         </tr>
2288
         <%
2289
         Dim currView_id
2290
         currView_id = -1
2291
 
2292
         OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
2293
 
2294
         Set rsRep = OraDatabase.DbCreateDynaset( "SELECT * FROM RELEASE_CONTENT rc, VIEWS vw, PACKAGES pkg, PACKAGE_VERSIONS pv "&_
2295
            " WHERE pv.pv_id = rc.pv_id and rc.base_view_id   "&_
2296
            " = vw.view_id and pkg.pkg_id = pv.pkg_id and rc.RTAG_ID ="&NNrtag_id&"   order by vw.view_name, pkg.pkg_name", cint(0) )
2297
         If rsRep.RecordCount = 0 Then
2298
            With Response
2299
               .write "<tr>"
2300
               .write "<td colspan='5' class='body_row'>Found 0 records</td>"
2301
               .write "</tr>"
2302
            End With
2303
         End If
2304
 
2305
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
2306
            ' -------- GROUP BY BASE VIEW  -----------------
2307
            If CDbl(currView_id) <> CDbl(rsRep("view_id")) Then
2308
               %>
2309
               <tr>
2310
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2311
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2312
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2313
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2314
               </tr>
2315
 
2316
               <tr>
2317
                  <td valign="top" nowrap class="body_scol"><%=rsRep("view_name")%></td>
2318
                  <td>&nbsp;</td>
2319
                  <td>&nbsp;</td>
2320
               </tr>
2321
 
2322
               <%
2323
               currView_id = CDbl(rsRep("view_id"))
2324
            End If
2325
            ' -------- END GROUP ------------------------
2326
            %>
2327
            <%If rsRep("is_autobuildable") = "Y" Then%>
2328
               <tr>
2329
                  <td width="1%" nowrap class="body_colb">&nbsp;</td>
2330
                  <td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_name")%></strong></a></td>
2331
                  <td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_version")%></strong></a></td>
5061 dpurdie 2332
                  <%If canShowControlInProject( "SetToReproducible" ) Then%>
129 ghuddy 2333
                     <td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>" checked></td>
2334
                  <%Else%>
2335
                     <td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>" checked disabled></td>
2336
                  <%End If%>
2337
               </tr>
2338
            <%Else%>
2339
               <tr>
2340
                  <td width="1%" nowrap class="body_colb">&nbsp;</td>
2341
                  <td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txtr"><strong><%=rsRep("pkg_name")%></strong></a></td>
2342
                  <td nowrap class="body_row"><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=NNRtag_id%>" class="body_txtr"><strong><%=rsRep("pkg_version")%></strong></a></td>
5061 dpurdie 2343
                  <%If canShowControlInProject( "SetToReproducible" ) Then%>
129 ghuddy 2344
                     <td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>"></td>
2345
                  <%Else%>
2346
                     <td><input type="checkbox" name="prod_id_list" value="<%=rsRep("pv_id")%>" disabled></td>
2347
                  <%End If%>
2348
               </tr>
2349
            <%End If%>
2350
 
2351
 
2352
            <%  rsRep.MoveNext
2353
         WEnd
2354
         %>
2355
 
2356
         <tr>
2357
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2358
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2359
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
5061 dpurdie 2360
            <%If canShowControlInProject( "SetToReproducible" ) Then%>
129 ghuddy 2361
               <td><input name="btn" type="submit" class="form_btn" value="Assign" onClick="clickedButton=true;MM_validateForm('FRduedate','Due Date','R','FRmsg','Message details','R');return document.MM_returnValue"></td>
2362
            <%End If%>
2363
         </tr>
2364
      </table>
2365
      </form>
2366
      <p>&nbsp;     </p>
2367
      <p>        <!-- PRINT, SAVE, ETC. ------------>
119 ghuddy 2368
      <%If parPrint = "" Then%>
129 ghuddy 2369
         <br>
2370
         <br>
2371
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
2372
         <br>
2373
 
119 ghuddy 2374
      <%End If%>
2375
      <!-- PRINT, SAVE, ETC. END -------->
2376
      <%
129 ghuddy 2377
      OraDatabase.Parameters.Remove "RTAG_ID"
2378
      rsRep.Close()
2379
      Set rsRep = nothing
2380
   End If
2381
 
119 ghuddy 2382
End Sub
129 ghuddy 2383
%>
119 ghuddy 2384
 
2385
<%
2386
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2387
'==================================================================================
129 ghuddy 2388
' Report Name      :    Unit Tests per Package
2389
' Description      :   List unit tests per package showing the unit test completeness
2390
' INPUT            :   Project, Vesion Tree, Release Label, Base View, Level of Completeness, Show/Hide Dependencies, PV_ID
119 ghuddy 2391
'==================================================================================
2392
Sub Unit_Tests_Per_Package ( sSection, nProj_id,  nRtag_id, nBase_view_id, nLevel_of_complete, nShow_dependencies, nPv_id )
129 ghuddy 2393
   Dim Query_String, rsRep
2394
   Const Allow_All = TRUE
2395
   Const Disallow_All = FALSE
119 ghuddy 2396
 
129 ghuddy 2397
   If nProj_id = "" Then nProj_id = -1
2398
   If nRtag_id = "" Then nRtag_id = -1
2399
   If nShow_dependencies = "" Then nShow_dependencies = 0
2400
   If nPv_id = "" Then nPv_id = -1
119 ghuddy 2401
 
129 ghuddy 2402
   If sSection = "TITLE" Then
2403
      Response.write "Unit Tests per Package"
2404
      Exit Sub
2405
   End If
2406
 
2407
 
2408
   If sSection = "FORM" Then
2409
      %>
2410
 
2411
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
2412
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
2413
            <tr>
2414
               <td width="1%" nowrap class="form_field"><img src="images/spacer.gif" width="30" height="8"></td>
2415
               <td width="1%" align="right" nowrap class="form_field">Project</td>
2416
               <td width="100%"><%Call Get_Projects( nProj_id, Disallow_All )%></td>
2417
            </tr>
2418
            <tr>
2419
               <td nowrap class="form_field">&nbsp;</td>
2420
               <td align="right" nowrap class="form_field">Release</td>
2421
               <td><%Call Get_Release_Labels ( nProj_id,  nRtag_id, Disallow_All )%></td>
2422
            </tr>
2423
            <tr>
2424
               <td nowrap class="form_field">&nbsp;</td>
2425
               <td align="right" nowrap class="form_field">Base View</td>
2426
               <td><%Call Get_Base_Views ( nRtag_id, nBase_view_id, Allow_All )%></td>
2427
            </tr>
2428
            <tr>
2429
               <td nowrap class="form_field">&nbsp;</td>
2430
               <td align="right" nowrap class="form_field">Show Dependencie's Unit Tests</td>
2431
               <td><input type="checkbox" name="FRshow_deps" value="1" <%If nShow_dependencies <> 0 Then%>checked<%End If%>></td>
2432
            </tr>
2433
            <tr>
2434
               <td nowrap class="form_field">&nbsp;</td>
2435
               <td align="right" nowrap class="form_field">&nbsp;</td>
2436
               <td><br>
2437
                  <input type="hidden" name="group" value="<%=parGroup%>">
2438
                  <input type="hidden" name="repnum" value="<%=parRepNum%>">
2439
                  <input type="hidden" name="FRtest_complete" value="0">
2440
                  <input type="hidden" name="action" value="true">
2441
                  <input name="Submit" type="submit" class="form_btn" value="Submit">
2442
               </td>
2443
            </tr>
2444
         </form>
2445
      </table>
2446
      <%   Exit Sub
2447
   End If
2448
 
2449
 
2450
   If sSection = "BODY" Then
2451
      If NOT CBool(Request("action")) Then Exit Sub
2452
 
2453
      Query_String = ReadFile( rootPath & "queries\rep_unit_tests_per_package.sql" )
2454
 
2455
      OraDatabase.Parameters.Add "RTAG_ID",       nRtag_id,       ORAPARM_INPUT, ORATYPE_NUMBER
2456
      OraDatabase.Parameters.Add "BASE_VIEW",    nBase_view_id,    ORAPARM_INPUT, ORATYPE_NUMBER
2457
      OraDatabase.Parameters.Add "COMPLETENESS",    nLevel_of_complete, ORAPARM_INPUT, ORATYPE_NUMBER
2458
      OraDatabase.Parameters.Add "SHOW_DEPS",    nShow_dependencies, ORAPARM_INPUT, ORATYPE_NUMBER
2459
      OraDatabase.Parameters.Add "PV_ID",       nPv_id,       ORAPARM_INPUT, ORATYPE_NUMBER
2460
      %>
2461
      <table width="100%" border="0" cellspacing="0" cellpadding="1">
2462
         <tr>
2463
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
2464
            <td width="1%" nowrap class="body_colb">&nbsp;</td>
2465
            <td width="1%" nowrap class="body_colb">Package Name&nbsp;&nbsp;&nbsp;</td>
2466
            <td width="1%" nowrap class="body_colb">Version&nbsp;&nbsp;&nbsp;</td>
2467
            <td width="1%" nowrap class="body_colb">Test Name&nbsp;&nbsp;&nbsp;</td>
2468
            <td width="100%" nowrap class="body_colb">Test Summary&nbsp; </td>
2469
            <td width="1%" nowrap class="body_colb"></td>
2470
            <td width="1%" nowrap class="body_colb">Stamp</td>
2471
            <td width="1%" nowrap class="body_colb">Test Completed &nbsp;&nbsp;&nbsp;</td>
2472
         </tr>
2473
         <tr>
2474
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2475
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2476
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2477
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2478
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2479
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2480
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2481
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2482
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2483
         </tr>
2484
         <%
2485
         Dim currBase_view_id, currPv_id, currDpv_id, showTests
2486
         currBase_view_id = -1
2487
         currPv_id = -1
2488
         currDpv_id = -1
2489
 
2490
         Set rsRep = OraDatabase.DbCreateDynaset( Query_String, 0 )
2491
 
2492
         If rsRep.RecordCount = 0 Then
2493
            With Response
2494
               .write "<tr>"
2495
               .write "<td colspan='9' class='body_row'>Found 0 records</td>"
2496
               .write "</tr>"
2497
            End With
2498
         End If
2499
 
2500
         While ((NOT rsRep.BOF) AND (NOT rsRep.EOF))
2501
            If nShow_dependencies <> 0 Then
2502
               ' show dependency is ON
2503
               If rsRep("dpkg_name") = "------" Then
2504
                  showTests = FALSE
2505
               Else
2506
                  showTests = TRUE
2507
               End If
2508
            Else
2509
               showTests = TRUE
2510
            End If
2511
 
2512
            ' -------- GROUP BY BASE VIEW  -----------------
2513
            If CDbl(currBase_view_id) <> CDbl(rsRep("base_view_id")) Then
2514
               %>
2515
               <tr>
2516
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2517
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2518
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2519
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2520
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2521
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2522
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2523
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2524
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2525
               </tr>
2526
               <tr>
2527
                  <td valign="top" nowrap class="body_scol"><%=rsRep("view_name")%></td>
2528
                  <td>&nbsp;</td>
2529
                  <td>&nbsp;</td>
2530
                  <td>&nbsp;</td>
2531
                  <td>&nbsp;</td>
2532
                  <td>&nbsp;</td>
2533
                  <td>&nbsp;</td>
2534
                  <td>&nbsp;</td>
2535
                  <td>&nbsp;</td>
2536
               </tr>
2537
               <%
2538
               currBase_view_id = CDbl(rsRep("base_view_id"))
2539
            End If
2540
            ' -------- END GROUP BASE VIEW ------------------------
2541
            %>
2542
            <%
2543
            ' -------- GROUP BY PACKAGE  -----------------
2544
            If CDbl(currPv_id) <> CDbl(rsRep("pv_id")) Then
2545
               %>
2546
               <tr>
2547
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2548
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2549
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2550
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2551
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2552
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2553
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2554
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2555
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2556
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2557
               </tr>
2558
               <tr>
2559
                  <td>&nbsp;</td>
2560
                  <td><%If rsRep("dlocked") = "Y" Then%><img src="images/i_locked.gif" width="7" height="10" hspace="2" alt="Officially released."><%Else%><img src="images/spacer.gif" width="7" height="10" hspace="2"><%End If%></td>
2561
                  <td nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_name")%></strong></a></td>
2562
                  <td nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("pv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("pkg_version")%></strong></a></td>
2563
                  <td>&nbsp;</td>
2564
                  <td>&nbsp;</td>
2565
                  <td>&nbsp;</td>
2566
                  <td>&nbsp;</td>
2567
                  <td align="center" valign="top" nowrap><%If nShow_dependencies = 0 Then%><%If IsNull( rsRep("not_done") ) Then%><img src="images/i_boxtick_on.gif" width="13" height="13"><%Else%><img src="images/i_boxtick_off.gif" width="13" height="13"><%End If%><%End If%></td>
2568
               </tr>
2569
               <%
2570
               currPv_id = CDbl(rsRep("pv_id"))
2571
            End If
2572
            ' -------- END GROUP PACKAGE ------------------------
2573
            %>
2574
            <%
2575
            ' -------- GROUP BY DEPENDENCY  -----------------
2576
            If Not IsNull(rsRep("dpv_id")) Then
2577
               If CDbl(currDpv_id) <> CDbl(rsRep("dpv_id")) Then
2578
                  %>
2579
                  <tr>
2580
                     <td>&nbsp;</td>
2581
                     <td>&nbsp;</td>
2582
                     <td>&nbsp;</td>
2583
                     <td>&nbsp;</td>
2584
                     <td valign="top" nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("dpv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("dpkg_name")%></strong></a></td>
2585
                     <td valign="top" nowrap><a href="fixed_issues.asp?pv_id=<%=rsRep("dpv_id")%>&rtag_id=<%=nRtag_id%>" class="body_txt"><strong><%=rsRep("dpkg_version")%></strong></a></td>
2586
                     <td>&nbsp;</td>
2587
                     <td>&nbsp;</td>
2588
                     <td align="center" valign="top" nowrap><%If IsNull( rsRep("not_done") ) Then%><img src="images/i_boxtick_on.gif" width="13" height="13"><%Else%><img src="images/i_boxtick_off.gif" width="13" height="13"><%End If%></td>
2589
                  </tr>
2590
                  <%
2591
                  currDpv_id = CDbl(rsRep("dpv_id"))
2592
               End If
2593
            End If
2594
            ' -------- END GROUP DEPENDENCY ------------------------
2595
            %>
2596
            <%If Not IsNull( rsRep("completed_by") ) AND showTests Then%>
2597
               <tr>
2598
                  <td>&nbsp;</td>
2599
                  <td>&nbsp;</td>
2600
                  <td>&nbsp;</td>
2601
                  <td>&nbsp;</td>
2602
                  <td bgcolor="#F5F5F5" valign="top" nowrap class="body_row"><img src="images/i_test.gif" width="16" height="16" hspace="1" align="absmiddle"><%=rsRep("test_name")%></td>
2603
                  <td bgcolor="#F5F5F5" valign="top" class="body_row"><%=NewLine_To_BR ( To_HTML ( rsRep("test_summary") ) )%></td>
2604
                  <td bgcolor="#F5F5F5" align="center" valign="top">   </td>
5632 dpurdie 2605
                  <td bgcolor="#F5F5F5" valign="top" nowrap class="body_txt"><%=DisplayDate ( rsRep("completion_date") )%> <a href="mailto:<%=rsRep("user_email")%>" class="txt_linked"><%=rsRep("completed_by")%></a> </td>
129 ghuddy 2606
                  <td>&nbsp;</td>
2607
               </tr>
2608
               <tr>
2609
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2610
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2611
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2612
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2613
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2614
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2615
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2616
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2617
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
2618
               </tr>
2619
            <%End If%>
2620
            <%  rsRep.MoveNext
2621
         WEnd
2622
         %>
2623
         <tr>
2624
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2625
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2626
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2627
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2628
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2629
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2630
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2631
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2632
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
2633
         </tr>
2634
      </table>
2635
 
2636
      <!-- PRINT, SAVE, ETC. ------------>
2637
      <%If parPrint = "" Then%>
2638
         <br>
2639
         <br>
2640
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
2641
         <br>
2642
      <%End If%>
2643
      <!-- PRINT, SAVE, ETC. END -------->
2644
      <%
2645
      rsRep.Close
2646
      Set rsRep = nothing
2647
   End If
2648
 
119 ghuddy 2649
End Sub
129 ghuddy 2650
%>
159 ghuddy 2651
 
2652
 
2653
<%
2654
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2655
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
4553 dpurdie 2656
    On Error Resume Next
2657
    Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
2658
    Get_CQ_Issues = Err.Number
159 ghuddy 2659
End Function
2660
'----------------------------------------------------------------------------------------------------------------------------------------
2661
Function GetRMIssueState (NNpv_id, NNissId)
2662
   Dim rsTemp, Query_String
2663
   Dim s
2664
   Query_String = _
2665
   " SELECT (CASE WHEN iss_state = 0 THEN ' (O)' ELSE ' (F)' END) AS issState "&_
2666
   "   FROM cq_issues cq "&_
2667
   "  WHERE cq.pv_id = "& NNpv_id &_
2668
   "    AND cq.iss_id = "& NNissId
2669
 
2670
   Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
2671
 
2672
   s = ""
2673
   If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
2674
      s = (rsTemp.Fields("issState"))
2675
   End If
2676
 
2677
   rsTemp.Close
2678
   Set rsTemp = nothing
2679
 
2680
   GetRMIssueState = s
2681
End Function
2682
'----------------------------------------------------------------------------------------------------------------------------------------
2683
' Function returns the number of imported clearquest issues
2684
' and builds a string suitable for querying the clearquest issues database
2685
Function Get_Package_Issues ( NNpv_id, SSsql, DDfixedIss, DDnotesIssDict, nIssState )
3975 dpurdie 2686
   Dim rsTemp, sqlstr, DEVIiss, retVal
159 ghuddy 2687
 
2688
   sqlstr = "SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& NNpv_id &"  AND iss_state IN (" & nIssState & ")"
2689
 
2690
   Set rsTemp = OraDatabase.DbCreateDynaset( sqlstr, cint(0))
2691
   retVal = rsTemp.RecordCount
2692
 
2693
   DEVIiss  = "-1"
2694
 
2695
   While ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF))
2696
      If CInt(rsTemp("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
2697
         DEVIiss = DEVIiss &","& rsTemp("iss_id")
2698
      End If
2699
 
2700
      rsTemp.MoveNext
2701
   WEnd
2702
 
2703
   ' Construct SQL statement for CQ database
2704
   SSsql = ReadFile( rootPath & "queries\cq_issues_rep1.sql" )
2705
   SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
2706
   SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
2707
 
2708
   rsTemp.Close()
2709
   Set rsTemp = nothing
2710
 
2711
   Get_Package_Issues = retVal
2712
 
2713
End Function
2714
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2715
Sub sdAdd( dict, key, value )
2716
   if IsNull(value) Then
2717
      dict.Add CStr(key),""
2718
   else
2719
      dict.Add CStr(key),CStr(value)
2720
   End If
2721
End Sub
2722
 
2723
Function sdItem( dict, i )
2724
   Dim a
2725
   Dim s
2726
   a = dict.Items
2727
   s = a(i)
2728
   sdItem=s
2729
End Function
2730
 
2731
Function sdKey( dict, i )
2732
   Dim a
2733
   a = dict.Keys
2734
   sdKey = a(i)
2735
End Function
2736
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2737
Function ReleaseDeviStatus_ReportCheckbox( width, NameAndValue, Label, bCheck )
2738
   Dim s
2739
   If (IsNull(Request(NameAndValue)) OR (Request(NameAndValue) = "")) AND (not bCheck) Then
2740
      s = "<td width=""" & width & """><INPUT Type=Checkbox  name=""" & NameAndValue & """ value=""" & NameAndValue & """>" & Label & "</td>"
2741
   Else
2742
      s = "<td width=""" & width & """><INPUT Type=Checkbox  CHECKED name=""" & NameAndValue & """ value=""" & NameAndValue & """>" & Label & "</td>"
2743
   End If
2744
   ReleaseDeviStatus_ReportCheckbox = s
2745
End Function
2746
 
2747
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2748
Function GetCQIssuesListFilter
2749
   Dim s
2750
   s = ""
2751
   If not (IsNull(Request("CB_FILTER_FIXED")) OR (Request("CB_FILTER_FIXED") = "")) Then
2752
      s = CStr(enumISSUES_STATE_FIXED)
2753
      If not (IsNull(Request("CB_FILTER_OUTSTANDING")) OR (Request("CB_FILTER_OUTSTANDING") = "")) Then
2754
         s = s & "," & CStr(enumISSUES_STATE_IMPORTED)
2755
      End If
2756
   Else
2757
      If not (IsNull(Request("CB_FILTER_OUTSTANDING")) OR (Request("CB_FILTER_OUTSTANDING") = "")) Then
2758
         s = CStr(enumISSUES_STATE_IMPORTED)
2759
      End If
2760
   End If
2761
   GetCQIssuesListFilter = s
2762
End Function
2763
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2764
Function GetPkgNameAndVersion(SSPvId, SSPkgNameAndVer)
2765
   Dim SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked
2766
   SSpkgID      = ""
2767
   SSpkgName    = ""
2768
   SSpkgVersion = ""
2769
   SSsrc_path   = ""
2770
   SSpkgDesc    = ""
2771
   BBdlocked    = 0
2772
   Call Get_Pkg_Short_Info( SSPvId, SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked )
2773
   If not ((SSpkgName = "") and (SSpkgVersion = "")) Then
2774
      SSPkgNameAndVer = SSpkgName & " " & SSpkgVersion
2775
      GetPkgNameAndVersion = True
2776
   Else
2777
      SSPkgNameAndVer = ""
2778
      GetPkgNameAndVersion = False
2779
   End If
2780
End Function
2781
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------
2782
'==================================================================================
2783
' Report Name      :   ReleaseDeviStatus_Report
2784
' Description      :   List DEVIs for all Package Versions in a Release
2785
' INPUT            :
2786
'==================================================================================
2787
Sub ReleaseDeviStatus_Report ( SSsection, NNproj_id, NNrtag_id)
2788
   Dim rsCQQry                   ' Query for the CLEARQUEST database
2789
   Dim rsRMQry                   ' Query for the RELEASE MANAGER database
2790
   Dim SQLstr                    ' String to contain a query
2791
   Dim issueCnt                  ' Records how many CQ issues were found for a given RM package version
2792
   Dim retVal                    ' General return value
2793
   Dim isFirstDeviRow            ' HTML rendering helper
2794
   Dim isRowOpen                 ' HTML rendering helper
2795
   Dim dict_Iss_Id_to_Iss_Num    ' Dictionaries populated during the formation of the package DEVI list
2796
   Dim dict_Iss_Id_to_Iss_DB     '   creation, supporting the generation of the DEVI details list.
2797
   Dim dict_Iss_Id_to_Risk
2798
   Dim dict_Iss_Id_to_Summary
2799
   Dim dict_Iss_Id_to_CodeRev
2800
   Dim dict_Iss_Id_to_IntNotes
2801
   Dim dict_Iss_Id_to_RelDBPatches
2802
   Dim dict_Iss_Id_to_Pkg
2803
   Dim dict_Iss_Id_to_PvId
2804
   Dim dict_Iss_Id_to_Iss_Status
2805
   Dim dict_Iss_Id_to_Iss_Type
2806
   Dim dict_Iss_Id_to_Aff_Pkg
2807
   Dim i,j,k                     ' General loop vars
2808
   Dim s,strIn,strOut,sDisplay   ' General string vars
2809
   Dim a                         ' General array var
2810
   Dim pkgArr                    ' Holds an array of CSV strings listing RM package names, 1 array element per unique CQ issue found
2811
   Dim pkgCsv                    ' Holds a single CSV string listing RM package names, related to a single unique CQ issue
2812
   Dim pvIdArr                   ' Holds an array of CSV strings listing RM package PV IDs, 1 array element per unique CQ issue found
2813
   Dim pvIdCsv                   ' Holds a single CSV string listing RM package PV IDs, related to a single unique CQ issue
2814
   Dim crRefArr                  ' Holds an array of code review reference strings
2815
   Dim relDbPatchArr             ' Holds an array of related DB patch strings
2816
   Dim sqlTblCnt                 ' Counts the number of tables in the RM query string
2817
   Dim FSO                       ' File System Object
2818
   Dim NewTextFile               ' File Object
2819
   Dim emailReport               ' Boolean flag signalling email generation
2820
   Dim cqFilterStr               ' Fixed and/or Outstanding Issues Filter for RM Query
2821
   Dim cbWIPChecked              ' Default checkbox states
2822
   Dim cbPendingChecked
2823
   Dim cbReleasedChecked
2824
   Dim cbFixed
2825
   Dim cbOutstanding
2826
   Dim cbWithoutIssues
2827
   Dim cbTraverseRipples
2828
   Dim reObj                     ' regular expression object
2829
   Dim reObjMatch
2830
   Dim NumPkgsListed             ' Stats collection vars
2831
   Dim NumIssuesListed
2832
   Dim parRipDate                ' traverse ripple limit date
2833
   Dim lastNonRipplePvId         ' pv_id after ripple version traversal
2834
   Dim cqIssId                   ' clearquest database ID for a given issue (not a human readable number)
2835
 
2836
   Const Allow_All = TRUE
2837
   Const Disallow_All = FALSE
2838
 
2839
   NumPkgsListed = 0
2840
   NumIssuesListed = 0
2841
 
2842
   If NNproj_id = "" Then NNproj_id = -1
2843
   If NNrtag_id = "" Then NNrtag_id = -1
2844
 
2845
   If SSsection = "TITLE" Then
2846
      Response.write "Release DEVI Status"
2847
      Exit Sub
2848
   End If
2849
 
2850
   ' Determine if we have to assert default check status on one of the checkboxes
2851
   cbWIPChecked      = False
2852
   cbPendingChecked  = False
2853
   cbReleasedChecked = False
2854
   cbFixed           = False
2855
   cbOutstanding     = False
2856
   cbWithoutIssues   = False
2857
   cbTraverseRipples = False
2858
   If  (IsNull(Request("CB_FILTER_WIP")) OR (Request("CB_FILTER_WIP") = "")) _
2859
   and (IsNull(Request("CB_FILTER_PENDING")) OR (Request("CB_FILTER_PENDING") = "")) _
2860
   and (IsNull(Request("CB_FILTER_RELEASED")) OR (Request("CB_FILTER_RELEASED") = "")) Then
2861
      cbWIPChecked = True
2862
   End If
2863
   If  (IsNull(Request("CB_FILTER_FIXED")) OR (Request("CB_FILTER_FIXED") = "")) _
2864
   and (IsNull(Request("CB_FILTER_OUTSTANDING")) OR (Request("CB_FILTER_OUTSTANDING") = "")) Then
2865
      cbFixed = True
2866
   End If
2867
 
2868
   If (IsNull(Request("FRripdate")) OR (Request("FRripdate") = "")) Then
2869
      parRipDate = EuroDate(DateAdd("d",-31,Date))
2870
   Else
2871
      parRipDate = Request("FRripdate")
2872
   End If
2873
 
2874
   If SSsection = "FORM" Then
2875
      %>
2876
      <script language="JavaScript" src="images/calendar.js"></script>
2877
      <table width="100%" border="0" cellpadding="2" cellspacing="1">
2878
         <form action="<%=scriptName%>" method="post" name="repform" onSubmit="MM_validateForm('FRproj_id','Project','R','FRvtree_id','Version Tree','R','FRrtag_id','Release','R');return document.MM_returnValue">
2879
            <table width="100%" border="0" cellpadding="2" cellspacing="1">
2880
               <tr>
2881
                  <td width="50%">
2882
                     <table width="100%" border="0" cellpadding="2" cellspacing="1">
2883
                        <tr>
2884
                           <td width="10%" align="left" valign="top" nowrap class="form_field">Project</td>
2885
                           <td width="90%" valign="top"><%Call Get_Projects( NNproj_id, Disallow_All )%></td>
2886
                        </tr>
2887
                        <tr>
2888
                           <td align="left" nowrap class="form_field">Release</td>
2889
                           <td><%Call Get_Open_Release_Labels ( NNproj_id,  NNrtag_id, Disallow_All )%></td>
2890
                        </tr>
2891
                        <tr><td colspan="2" height="130px"><img src="images/spacer.gif" width="1" height="1"></td></tr>
2892
                        <tr>
2893
                           <td>
2894
                              <input name="btn" type="submit" class="form_btn" value="Submit"            >
2895
                           </td>
2896
                           <td>
2897
                              <input name="btn" type="submit" class="form_btn" value="Mail Me CSV Report">
2898
                              <input type="hidden" name="group" value="<%=parGroup%>">
2899
                              <input type="hidden" name="repnum" value="<%=parRepNum%>">
2900
                              <input type="hidden" name="action" value="true">
2901
                           </td>
2902
                        </tr>
2903
                     </table>
2904
                  </td>
2905
                  <td width="50%">
2906
                     <table width="100%" border="0" cellpadding="2" cellspacing="1">
2907
                        <tr>
2908
                           <td width="60%" valign="top">
2909
                              <fieldset>
2910
                                 <legend><a href="javascript:;" class="body_scol" >Include&nbsp;Package&nbsp;Versions<%=Quick_Help("RepRDS_pv")%>&nbsp;</a></legend>
2911
                                 <table width="100%" border="0" cellpadding="2" cellspacing="1">
2912
                                    <tr><%=ReleaseDeviStatus_ReportCheckbox("25%", "CB_FILTER_WIP", "From Work-in-progress", cbWIPChecked)%></tr>
2913
                                    <tr><%=ReleaseDeviStatus_ReportCheckbox("17%", "CB_FILTER_PENDING", "From Pending", cbPendingChecked)%></tr>
2914
                                    <tr><%=ReleaseDeviStatus_ReportCheckbox("20%", "CB_FILTER_RELEASED", "From Released", cbReleasedChecked)%></tr>
2915
                                    <tr><%=ReleaseDeviStatus_ReportCheckbox("100%", "CB_FILTER_WITHOUT_ISSUES", "Without Issues", cbWithoutIssues)%></tr>
2916
                                 </table>
2917
                              </fieldset>
2918
                           </td>
2919
                           <td width="40%" valign="top">
2920
                              <fieldset>
2921
                                 <legend><a href="javascript:;" class="body_scol" >&nbsp;Include&nbsp;Issues<%=Quick_Help("RepRDS_iss")%>&nbsp;</a></legend>
2922
                                 <table width="100%" border="0" cellpadding="2" cellspacing="1">
2923
                                    <tr><%=ReleaseDeviStatus_ReportCheckbox("100%", "CB_FILTER_FIXED",       "Fixed", cbFixed)%></tr>
2924
                                    <tr><%=ReleaseDeviStatus_ReportCheckbox("100%", "CB_FILTER_OUTSTANDING", "Outstanding", cbOutstanding)%></tr>
2925
                                 </table>
2926
                              </fieldset>
2927
                           </td>
2928
                        </tr>
2929
                        <tr>
2930
                           <td width="60%" valign="top" colspan="2">
2931
                              <fieldset>
2932
                                 <legend><a href="javascript:;" class="body_scol" >&nbsp;From&nbsp;Released<%=Quick_Help("RepRDS_trav")%>&nbsp;</a></legend>
2933
                                 <table width="100%" border="0" cellpadding="0" cellspacing="0">
2934
                                    <tr>
2935
                                       <%=ReleaseDeviStatus_ReportCheckbox("60%", "CB_FILTER_TRAVERSE_RIPPLES", "Traverse Ripples as far back as", cbTraverseRipples)%>
2936
                                       <td>
2937
                                          <input type="text" name="FRripdate" maxlength="10" size="12" value="<%=parRipDate%>"><A onmouseover="window.status='Select a date';return true;" onmouseout="window.status='';return true;" href="javascript:show_calendar('repform.FRripdate',null,null,null);"><img src="images/i_calendar.gif" width="16" height="16" border="0"></a>
2938
                                       </td>
2939
                                    </tr>
2940
                                 </table>
2941
                              </fieldset>
2942
                           </td>
2943
                        </tr>
2944
                     </table>
2945
                  </td>
2946
               </tr>
2947
            </table>
2948
         </form>
2949
      </table>
2950
      <%
2951
      Exit Sub
2952
   End If
2953
 
2954
   If SSsection = "BODY" Then
2955
      emailReport = false
2956
      If Request("btn") = "Mail Me CSV Report" Then
2957
         emailReport = true
2958
      End If
2959
 
2960
      If NOT CBool(Request("action")) Then Exit Sub
2961
      If NNrtag_id = -1 then Exit Sub
2962
 
2963
      ' Construct Release Manager Query based upon form settings (rtag and checkbox states)
2964
      sqlTblCnt = 0
2965
      SQLstr = "SELECT * FROM ( "
2966
      If not (IsNull(Request("CB_FILTER_WIP")) OR (Request("CB_FILTER_WIP") = "")) Then
2967
         sqlTblCnt = sqlTblCnt + 1
2968
         SQLstr = SQLstr & " SELECT p.PROJ_ID,   rt.RTAG_ID,   v.VIEW_ID,   pk.PKG_ID,   pv.PV_ID,"&_
2969
                           "        p.PROJ_NAME, rt.RTAG_NAME, v.VIEW_NAME, pk.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.BUILD_TYPE, pv.DLOCKED, 'WIP' as STATE"&_
2970
                           "   FROM PACKAGE_VERSIONS pv,"&_
2971
                           "        PACKAGES pk,"&_
2972
                           "        RELEASE_TAGS rt,"&_
2973
                           "        PROJECTS p,"&_
2974
                           "        VIEWS v," &_
2975
                           "        WORK_IN_PROGRESS wip"&_
2976
                           "  WHERE wip.RTAG_ID =   :RTAG_ID"&_
2977
                           "    AND wip.RTAG_ID = rt.RTAG_ID"&_
2978
                           "    AND wip.PV_ID   = pv.PV_ID"&_
2979
                           "    AND wip.VIEW_ID = v.VIEW_ID"&_
2980
                           "    AND pv.PKG_ID   = pk.PKG_ID"&_
2981
                           "    AND rt.PROJ_ID  = p.PROJ_ID"
2982
      End If
2983
 
2984
      If not (IsNull(Request("CB_FILTER_PENDING")) OR (Request("CB_FILTER_PENDING") = "")) Then
2985
         If sqlTblCnt > 0 Then
2986
            SQLstr = SQLstr & " UNION ALL "
2987
         End If
2988
         sqlTblCnt = sqlTblCnt + 1
2989
         SQLstr = SQLstr & " SELECT p.PROJ_ID,   rt.RTAG_ID,   v.VIEW_ID,   pk.PKG_ID,   pv.PV_ID,"&_
2990
                           "        p.PROJ_NAME, rt.RTAG_NAME, v.VIEW_NAME, pk.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.BUILD_TYPE, pv.DLOCKED, 'Pending' as STATE"&_
2991
                           "   FROM PACKAGE_VERSIONS pv,"&_
2992
                           "        PACKAGES pk,"&_
2993
                           "        RELEASE_TAGS rt,"&_
2994
                           "        PROJECTS p,"&_
2995
                           "        VIEWS v," &_
2996
                           "        PLANNED pl"&_
2997
                           "  WHERE pl.RTAG_ID  =   :RTAG_ID"&_
2998
                           "    AND pl.RTAG_ID  = rt.RTAG_ID"&_
2999
                           "    AND pl.PV_ID    = pv.PV_ID"&_
3000
                           "    AND pl.VIEW_ID  = v.VIEW_ID"&_
3001
                           "    AND pv.PKG_ID   = pk.PKG_ID"&_
3002
                           "    AND rt.PROJ_ID  = p.PROJ_ID"
3003
      End If
3004
 
3005
      If not (IsNull(Request("CB_FILTER_RELEASED")) OR (Request("CB_FILTER_RELEASED") = "")) Then
3006
         If sqlTblCnt > 0 Then
3007
            SQLstr = SQLstr & " UNION ALL "
3008
         End If
3009
         sqlTblCnt = sqlTblCnt + 1
3010
         SQLstr = SQLstr & " SELECT p.PROJ_ID,   rt.RTAG_ID,   v.VIEW_ID,   pk.PKG_ID,   pv.PV_ID,"&_
3011
                           "        p.PROJ_NAME, rt.RTAG_NAME, v.VIEW_NAME, pk.PKG_NAME, pv.PKG_VERSION, pv.PKG_LABEL, pv.BUILD_TYPE, pv.DLOCKED, 'Released' as STATE"&_
3012
                           "   FROM PACKAGE_VERSIONS pv,"&_
3013
                           "        PACKAGES pk,"&_
3014
                           "        RELEASE_TAGS rt,"&_
3015
                           "        PROJECTS p,"&_
3016
                           "        VIEWS v," &_
3017
                           "        RELEASE_CONTENT rc"&_
3018
                           "  WHERE rc.RTAG_ID      =   :RTAG_ID"&_
3019
                           "    AND rc.RTAG_ID      = rt.RTAG_ID"&_
3020
                           "    AND rc.PV_ID        = pv.PV_ID"&_
3021
                           "    AND rc.BASE_VIEW_ID = v.VIEW_ID"&_
3022
                           "    AND pv.PKG_ID       = pk.PKG_ID"&_
3023
                           "    AND rt.PROJ_ID      = p.PROJ_ID"
3024
      End If
3025
 
3026
      SQLstr = SQLstr & " )"
3027
      SQLstr = SQLstr & " ORDER BY UPPER(PKG_NAME), PKG_VERSION"
3028
 
3029
      ' Exit if nothing to do
3030
      If sqlTblCnt = 0 Then
3031
         Response.Write "Select one or more of Work-in-progress/Pending/Released package version states to be considered"
3032
         Exit Sub
3033
      End If
3034
 
3035
      ' Get SQL string for querying the CLEARQUEST database for this package version's fixed issues  enumISSUES_STATE_IMPORTED or enumISSUES_STATE_FIXED
3036
      cqFilterStr = GetCQIssuesListFilter()
3037
      If cqFilterStr = "" Then
3038
         Response.Write "Select one or both of Fixed/Outstanding issues lists to be considered"
3039
         Exit Sub
3040
      End If
3041
 
3042
      ' Query RELEASE MANAGER for Package versions
3043
      OraDatabase.Parameters.Add "RTAG_ID", NNrtag_id, ORAPARM_INPUT, ORATYPE_NUMBER
3044
      Set rsRMQry = OraDatabase.DbCreateDynaset( SQLstr, cint(0))
3045
      OraDatabase.Parameters.Remove "RTAG_ID"
3046
 
3047
      ' If no records returned issue a message to user and exit
3048
      If rsRMQry.RecordCount = 0 Then
3049
         Response.Write "No records returned - try including additional package version states"
3050
         Exit Sub
3051
      End If
3052
 
3053
      ' Create a downloadable file
3054
      Set FSO = Server.CreateObject("Scripting.FileSystemObject")
3055
      Set NewTextFile = FSO.CreateTextFile(Server.MapPath("docs\ReleaseDEVIStatus_"&objAccessControl.UserName&".csv"), true)
3056
 
3057
      ' Create some dictionaries
3058
      set dict_Iss_Id_to_Iss_Num      = CreateObject("Scripting.Dictionary")
3059
      set dict_Iss_Id_to_Iss_DB       = CreateObject("Scripting.Dictionary")
3060
      set dict_Iss_Id_to_Pkg          = CreateObject("Scripting.Dictionary")
3061
      set dict_Iss_Id_to_Risk         = CreateObject("Scripting.Dictionary")
3062
      set dict_Iss_Id_to_Summary      = CreateObject("Scripting.Dictionary")
3063
      set dict_Iss_Id_to_CodeRev      = CreateObject("Scripting.Dictionary")
3064
      set dict_Iss_Id_to_IntNotes     = CreateObject("Scripting.Dictionary")
3065
      set dict_Iss_Id_to_RelDBPatches = CreateObject("Scripting.Dictionary")
3066
      set dict_Iss_Id_to_PvId         = CreateObject("Scripting.Dictionary")
3067
      set dict_Iss_Id_to_Iss_Status   = CreateObject("Scripting.Dictionary")
3068
      set dict_Iss_Id_to_Iss_Type     = CreateObject("Scripting.Dictionary")
3069
      set dict_Iss_Id_to_Aff_Pkg      = CreateObject("Scripting.Dictionary")
3070
 
3071
      set reObj  = new RegExp
3072
 
3073
      NewTextFile.WriteLine(DoubleQuotes("Release DEVI Status Report for " & Get_Proj_Name(Request("FRproj_id")) & ", release " & Get_Release_Name(Request("FRrtag_id"))))
3074
      NewTextFile.WriteLine("")
3075
      NewTextFile.WriteLine("Package DEVI List")
3076
      NewTextFile.WriteLine("")
3077
      NewTextFile.WriteLine("""Package"",""Label"",""State"",""Issue Number"",""Issue Summary""")
3078
      %>
3079
      <H3>Release DEVI Status Report for
3080
      &nbsp;project&nbsp;<a href="rtree.asp?proj_id=<%=NNproj_id%>" class="txt_linked"><%=Get_Proj_Name(Request("FRproj_id"))%></a>,
3081
      &nbsp;release&nbsp;<a href="dependencies.asp?rtag_id=<%=NNrtag_id%>" class="txt_linked"><%=Get_Release_Name(Request("FRrtag_id"))%></a>
3082
      </H3>
3083
      <H4>Contents</H4>
3084
      <table width="100%" border="0" cellspacing="0" cellpadding="1">
3085
         <tr>
3086
            <td valign="top" nowrap width="15%"><a href="#C1">Package DEVI List</a></td>
3087
            <td valign="top" width="85%">This contains the list of package versions in the release, along with the CLEARQUEST issues assigned to them.</td>
3088
         </tr>
3089
         <tr><td>&nbsp;</td><td>&nbsp;</td></tr>
3090
         <tr>
3091
            <td valign="top"><a href="#C2">DEVI Details List</a></td>
3092
            <td valign="top">This contains the list of CLEARQUEST issues for the release, along with selected details for each, and a reference back to the package versions to which they have been assigned.</td>
3093
         </tr>
3094
         <tr>
3095
            <td valign="top"><a href="#C3">Statistics</a></td>
3096
            <td valign="top">This contains some statistics collected during the report generation.</td>
3097
         </tr>
3098
         <tr>
3099
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3100
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3101
         </tr>
3102
      </table>
3103
 
3104
      <H5><a name="C1">Package DEVI List</a></H5>
3105
      <table width="100%" border="0" cellspacing="0" cellpadding="1">
3106
         <tr>
3107
            <td width="10%" nowrap class="body_colb">Package&nbsp;&nbsp;&nbsp;</td>
3108
            <td width="10%" nowrap class="body_colb">Label&nbsp;&nbsp;&nbsp;</td>
3109
            <td width="10%" nowrap class="body_colb">State&nbsp;&nbsp;&nbsp;</td>
3110
            <td width="10%" class="body_colb">Issue Number<br>(F)=Fixed<br>(O)=Outstanding</td>
3111
            <td width="60%" nowrap class="body_colb">Issue Summary&nbsp;&nbsp;&nbsp;</td>
3112
         </tr>
3113
         <tr>
3114
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3115
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3116
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3117
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3118
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3119
         </tr>
3120
         <%
3121
         while ((NOT rsRMQry.BOF) AND (NOT rsRMQry.EOF))
3122
            isFirstDeviRow = 1
3123
            isRowOpen = 1
3124
 
3125
            ' If this package version is a ripple, try and find its non-ripple predecessor in order to get at the
3126
            ' issues that were addressed
3127
            lastNonRipplePvId = rsRMQry("PV_ID")
3128
            If not (IsNull(Request("CB_FILTER_TRAVERSE_RIPPLES")) OR (Request("CB_FILTER_TRAVERSE_RIPPLES") = "")) Then
3129
               if ((rsRMQry("BUILD_TYPE") = "Y") and (rsRMQry("DLOCKED") = "Y")) Then
3130
                  If (IsNull(Request("FRripdate")) OR (Request("FRripdate") = "")) Then
3131
                     lastNonRipplePvId = getLastNonRippleVersionPVID(rsRMQry("PV_ID"))
3132
                  Else
3133
                     lastNonRipplePvId = getLastNonRippleVersionPVIDLimitedByDate(rsRMQry("PV_ID"), Request("FRripdate"))
3134
                  End If
3135
                  If IsNull(lastNonRipplePvId) or (lastNonRipplePvId = "") Then
3136
                     lastNonRipplePvId = rsRMQry("PV_ID")
3137
                  End If
3138
               End If
3139
            End If
3140
 
3141
            issueCnt = Get_Package_Issues (lastNonRipplePvId, SQLstr, NULL, NULL, cqFilterStr )
3142
            if (issueCnt > 0) _
3143
            or not(IsNull(Request("CB_FILTER_WITHOUT_ISSUES")) OR (Request("CB_FILTER_WITHOUT_ISSUES") = "")) Then
3144
 
3145
               NumPkgsListed = NumPkgsListed + 1
3146
 
3147
               %>
3148
               <tr>
3149
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3150
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3151
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3152
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3153
                  <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3154
               </tr>
3155
               <%
3156
 
3157
               NewTextFile.Write(DoubleQuotes(rsRMQry("PKG_NAME")) & ",")
3158
               NewTextFile.Write(DoubleQuotes(rsRMQry("PKG_LABEL")) & ",")
3159
               NewTextFile.Write(DoubleQuotes(rsRMQry("STATE")) & ",")
3160
               %>
3161
               <tr>
3162
               <td valign="top"><a href="fixed_issues.asp?rtag_id=<%=NNrtag_id%>&pv_id=<%=rsRMQRy("PV_ID")%>" class="txt_linked"><%=rsRMQry("PKG_NAME")%></a></td>
3163
               <td valign="top"><%=rsRMQry("PKG_LABEL")%></td>
3164
               <td valign="top"><%=rsRMQry("STATE")%></td>
3165
               <%
3166
 
3167
               ' Complete the row immediately if this package version has no issues, else process the issues.
3168
               if issueCnt = 0 Then
3169
                  NewTextFile.WriteLine(",")
3170
                  %>
3171
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
3172
                  <td><img src="images/spacer.gif" width="1" height="1"></td>
3173
                  </tr>
3174
                  <%
3175
                  isRowOpen = 0
3176
               Else
3177
                  ' Query the CLEARQUEST database
3178
                  retVal = Get_CQ_Issues ( SQLstr, rsCQQry )
3179
                  If retVal = 0 Then
3180
                     While ((NOT rsCQQry.BOF) AND (NOT rsCQQry.EOF))
3181
                        Dim issueNumber
3182
                        issueNumber = rsCQQry("ISS_NUM") & GetRMIssueState (lastNonRipplePvId, rsCQQry("ISS_ID"))
3183
 
3184
                        ' Keep dictionary of issue IDs to human readable issue numbers, plus other info we will need later on for the report
3185
                        If not dict_Iss_Id_to_Iss_Num.Exists(CStr(rsCQQry("ISS_ID"))) Then
3186
                           sdAdd dict_Iss_Id_to_Iss_Num,      rsCQQry("ISS_ID"), issueNumber
3187
                           sdAdd dict_Iss_Id_to_Iss_DB,       rsCQQry("ISS_ID"), rsCQQry("ISS_DB")
3188
                           sdAdd dict_Iss_Id_to_Risk,         rsCQQry("ISS_ID"), rsCQQry("RISK")
3189
                           sdAdd dict_Iss_Id_to_Summary,      rsCQQry("ISS_ID"), rsCQQry("SUMMARY")
3190
                           sdAdd dict_Iss_Id_to_CodeRev,      rsCQQry("ISS_ID"), rsCQQry("CR_REF")
3191
                           sdAdd dict_Iss_Id_to_IntNotes,     rsCQQry("ISS_ID"), rsCQQry("INT_NOTES")
3192
                           sdAdd dict_Iss_Id_to_RelDBPatches, rsCQQry("ISS_ID"), rsCQQry("DB_PATCHES")
3193
                           sdAdd dict_Iss_Id_to_Iss_Type,     rsCQQry("ISS_ID"), rsCQQry("ISSUE_TYPE")
3194
                           sdAdd dict_Iss_Id_to_Iss_Status,   rsCQQry("ISS_ID"), rsCQQry("STATUS")
3195
                           sdAdd dict_Iss_Id_to_Aff_Pkg,      rsCQQry("ISS_ID"), rsCQQry("AFFECTED_PACKAGES")
3196
                        End If
3197
 
3198
                        ' Keep dictionary of issue IDs to release manager package names (latter is a comma separated list)
3199
                        If dict_Iss_Id_to_Pkg.Exists(CStr(rsCQQry("ISS_ID"))) Then
3200
                           dict_Iss_Id_to_Pkg.Item(CStr(rsCQQry("ISS_ID"))) = dict_Iss_Id_to_Pkg.Item(CStr(rsCQQry("ISS_ID"))) & "," & CStr(rsRMQry("PKG_NAME")) & " " & CStr(rsRMQry("PKG_VERSION"))
3201
                        Else
3202
                           sdAdd dict_Iss_Id_to_Pkg, rsCQQry("ISS_ID"), rsRMQry("PKG_NAME") & " " & CStr(rsRMQry("PKG_VERSION"))
3203
                        End If
3204
 
3205
                        ' Keep dictionary of issue IDs to release manager package version IDs (latter is a comma separated list)
3206
                        If dict_Iss_Id_to_PvId.Exists(CStr(rsCQQry("ISS_ID"))) Then
3207
                           dict_Iss_Id_to_PvId.Item(CStr(rsCQQry("ISS_ID"))) = dict_Iss_Id_to_PvId.Item(CStr(rsCQQry("ISS_ID"))) & "," & CStr(rsRMQry("PV_ID"))
3208
                        Else
3209
                           sdAdd dict_Iss_Id_to_PvId, rsCQQry("ISS_ID"), rsRMQry("PV_ID")
3210
                        End If
3211
 
3212
                        ' Begin new row if needed
3213
                        if isRowOpen = 0 Then
3214
                           isRowOpen = 1
3215
                           %><tr><%
3216
                        End If
3217
 
3218
                        ' If first row, no need to pad since those columns have already been filled in outer loop
3219
                        If isFirstDeviRow = 1 Then
3220
                           isFirstDeviRow = 0
3221
                           NewTextFile.Write(DoubleQuotes(issueNumber) & ",")
3222
                           NewTextFile.WriteLine(DoubleQuotes(rsCQQry("SUMMARY")))
3223
                           %>
3224
                           <td valign="top"><a class="txt_linked"  href="#<%=rsCQQry("ISS_ID")%>"><%=issueNumber%></a></td>
3225
                           <td valign="top"><%=rsCQQry("SUMMARY")%></td>
3226
                           <%
3227
                        Else
3228
                           NewTextFile.Write(",,," & DoubleQuotes(issueNumber) & ",")
3229
                           NewTextFile.WriteLine(DoubleQuotes(rsCQQry("SUMMARY")))
3230
                           %>
3231
                           <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3232
                           <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3233
                           <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3234
                           <td valign="top"><a class="txt_linked" href="#<%=rsCQQry("ISS_ID")%>"><%=issueNumber%></a></td>
3235
                           <td valign="top"><%=rsCQQry("SUMMARY")%></td>
3236
                           <%
3237
                        End If
3238
 
3239
                        ' End this row
3240
                        isRowOpen = 0
3241
                        %></tr><%
3242
                        rsCQQry.MoveNext
3243
                     Wend  ' end of loop processing each issue
3244
                     rsCQQry.Close
3245
                  Else
3246
                     NewTextFile.WriteLine("," & DoubleQuotes("ERROR - could not get issue details from CLEARQUEST"))
3247
                     %>
3248
                     <td><img src="images/spacer.gif" width="1" height="1"></td>
3249
                     <td>ERROR - could not get issue details from CLEARQUEST</td>
3250
                     <%
3251
                  End If
3252
 
3253
                  ' Complete the row if needed
3254
                  if isRowOpen = 1 Then
3255
                     if (isFirstDeviRow = 1) Then
3256
                        NewTextFile.WriteLine(",")
3257
                        %>
3258
                        <td><img src="images/spacer.gif" width="1" height="1"></td>
3259
                        <td><img src="images/spacer.gif" width="1" height="1"></td>
3260
                        <%
3261
                     End If
3262
                     isRowOpen = 0
3263
                     %></tr><%
3264
                  End If
3265
               End If
3266
            End If
3267
            rsRMQry.MoveNext
3268
         Wend  ' End of loop processing each package version
3269
         set rsCQQry = nothing
3270
         %>
3271
         <tr>
3272
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3273
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3274
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3275
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3276
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3277
         </tr>
3278
      </table>
3279
 
3280
      <%
3281
      NewTextFile.WriteLine("")
3282
      NewTextFile.WriteLine("DEVI Details List")
3283
      NewTextFile.WriteLine("")
3284
      NewTextFile.WriteLine("""Issue Number"",""Property"",""Details""")
3285
      %>
3286
 
3287
      <H5><a name="C2">DEVI Details List</a></H5>
3288
      <table width="100%" border="0" cellspacing="0" cellpadding="1">
3289
         <tr>
3290
            <td width="10%" nowrap class="body_colb">Issue Number&nbsp;&nbsp;&nbsp;</td>
3291
            <td width="20%" nowrap class="body_colb">Property&nbsp;&nbsp;&nbsp;</td>
3292
            <td width="70%" nowrap class="body_colb">Details&nbsp;&nbsp;&nbsp;</td>
3293
         </tr>
3294
         <tr>
3295
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3296
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3297
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3298
         </tr>
3299
         <%
3300
         For i = 0 To (dict_Iss_Id_to_Iss_Num.Count - 1)
3301
 
3302
            cqIssId = sdKey(dict_Iss_Id_to_Iss_Num, i)
3303
 
3304
            NumIssuesListed = NumIssuesListed + 1
3305
            %>
3306
            <tr>
3307
               <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3308
               <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3309
               <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3310
            </tr>
3311
            <%
3312
            '-------------------------------------------------------------------------------------------------------------------------------
3313
            ' First line is the DEVI Number, and its summary info
3314
            s = sdItem(dict_Iss_Id_to_Summary,i)   ' Prepare for CSV
3315
            s = Replace(s,"""","""""")
3316
            NewTextFile.WriteLine(DoubleQuotes(sdItem(dict_Iss_Id_to_Iss_Num,i)) & ",Issue Summary," & DoubleQuotes(s))
3317
            s = sdItem(dict_Iss_Id_to_Summary,i)   ' Prepare for HTML
3318
            s = NewLine_To_BR(To_HTML(s))
3319
            %>
3320
            <tr>
5590 dpurdie 3321
            <td valign="top"><a name="<%=cqIssId%>" class="txt_linked vixIframeDialog" href="_wform_issues_details.asp?iss_db=<%=sdItem(dict_Iss_Id_to_Iss_DB,i)%>&iss_id=<%=sdKey(dict_Iss_Id_to_Iss_Num,i)%>"><%=sdItem(dict_Iss_Id_to_Iss_Num,i)%></a></td>
159 ghuddy 3322
            <td valign="top">Issue Summary:</td>
3323
            <td valign="top"><%=s%></td>
3324
            </tr><%
3325
            '-------------------------------------------------------------------------------------------------------------------------------
3326
            ' Next line is the DEVI Type Value (ie Defect, Future Enhancement, etc)
3327
            NewTextFile.WriteLine(",Type," & DoubleQuotes(sdItem(dict_Iss_Id_to_Iss_Type,i)))
3328
            %>
3329
            <tr>
3330
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3331
            <td valign="top">Type:</td>
3332
            <td valign="top"><%=sdItem(dict_Iss_Id_to_Iss_Type, i)%></td>
3333
            </tr>
3334
            <%
3335
            '-------------------------------------------------------------------------------------------------------------------------------
3336
            ' Next line is the DEVI Status Value
3337
            NewTextFile.WriteLine(",Status," & DoubleQuotes(sdItem(dict_Iss_Id_to_Iss_Status,i)))
3338
            %>
3339
            <tr>
3340
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3341
            <td valign="top">Status:</td>
3342
            <td valign="top"><%=sdItem(dict_Iss_Id_to_Iss_Status, i)%></td>
3343
            </tr>
3344
            <%
3345
            '-------------------------------------------------------------------------------------------------------------------------------
3346
            ' Next line is the DEVI Risk Value
3347
            NewTextFile.WriteLine(",Risk," & DoubleQuotes(sdItem(dict_Iss_Id_to_Risk,i)))
3348
            %>
3349
            <tr>
3350
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3351
            <td valign="top">Risk:</td>
3352
            <td valign="top"><%=sdItem(dict_Iss_Id_to_Risk, i)%></td>
3353
            </tr>
3354
            <%
3355
            '-------------------------------------------------------------------------------------------------------------------------------
3356
            ' Next line is the DEVI's code review reference
3357
            a = dict_Iss_Id_to_CodeRev.Items  ' Get collection into an array
3358
            s = a(i)                          ' Get array element into a string
3359
            s = Replace(s, chr(13), "+")      ' Replace possible delimiters with a single delimiter ("+")
3360
            s = Replace(s, chr(10), "+")
3361
            s = Replace(s, " ", "+")
3362
            crRefArr = Split(s,"+")           ' Split on our contrived delimiter and iterate through results
3363
 
3364
            NewTextFile.Write(",Code Review Ref,""")
3365
            %>
3366
            <tr>
3367
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3368
            <td valign="top">Code Review Ref:</td>
3369
            <td valign="top">
3370
            <%
3371
            For j = 0 To UBOUND(crRefArr)
3372
               if not ((crRefArr(j) = "+") or (crRefArr(j) = ",") or (Trim(crRefArr(j)) = "")) Then
3373
                  if j = 0 Then
3374
                     NewTextFile.Write(Trim(crRefArr(j)))
3375
                     %>
3376
                     <a href="<%=Trim(crRefArr(j))%>" class="txt_linked"><%=Trim(crRefArr(j))%></a>
3377
                     <%
3378
                  Else
3379
                     NewTextFile.Write("," & Trim(crRefArr(j)))
3380
                     %>
3381
                     <a href="<%=Trim(crRefArr(j))%>" class="txt_linked"><br><%=Trim(crRefArr(j))%></a>
3382
                     <%
3383
                  End If
3384
               End If
3385
            Next
3386
            NewTextFile.WriteLine("""")
3387
            %>
3388
            </td>
3389
            </tr>
3390
            <%
3391
 
3392
            '-------------------------------------------------------------------------------------------------------------------------------
3393
            ' Next line is the DEVI's related DB Patches
3394
            '  This is quite complicated but at the end of the day, we are aiming to convert the free form text in
3395
            '  the CLEARQUEST devi into a list of hyperlinks to the actual package versions in RM, based on the assumption
3396
            '  that the free form text contains PV_ID numbers somewhere therein.
3397
            a = dict_Iss_Id_to_RelDBPatches.Items  ' Get collection into an array
3398
            s = a(i)                               ' Get array element into a string
3399
            s = Replace(s, chr(13), "+")           ' Replace possible delimiters with a single delimiter ("+")
3400
            s = Replace(s, chr(10), "+")
3401
            s = Replace(s, " ", "+")
3402
            relDbPatchArr = Split(s,"+")           ' Split on our contrived delimiter and iterate through results
3403
 
3404
            NewTextFile.Write(",Related DB Patches,""")
3405
            %>
3406
            <tr>
3407
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3408
            <td valign="top">Related DB Patches:</td>
3409
            <td valign="top">
3410
            <%
3411
            For j = 0 To UBOUND(relDbPatchArr)
3412
               if not ((relDbPatchArr(j) = "+") or (relDbPatchArr(j) = ",") or (Trim(relDbPatchArr(j)) = "")) Then
3413
                  ' Given that the Related DB Patches is a free form text field in a CLEARQUEST DEVI,
3414
                  ' it can contain a variety of text. Normally it contains a list of PV_ID's but it
3415
                  ' can also contain the patch file names (eg. orahops.467229_patch.xml) which normally
3416
                  ' contains PV_IDs embedded within them. We have to cater for both approaches and
3417
                  ' somehow extract those PV_IDs. We have already split the string so we know we are
3418
                  ' now dealing with a single item, but sometimes users name their packages or files with
3419
                  ' numbers as well as letters. The code below looks for the longest numeric sequence
3420
                  ' and assumes that is the PV_ID
3421
                  Dim lenMax,lenThis,objMatch
3422
                  lenMax  = 0
3423
                  lenThis = 0
3424
 
3425
                  sDisplay = Trim(relDbPatchArr(j))   'default
3426
 
3427
                  ' search for numeric sequences in the string
3428
                  reObj.IgnoreCase = True
3429
                  reObj.Global = True
3430
                  reObj.Pattern = "[0-9]+"
3431
                  set reObjMatch = reObj.Execute(Trim(relDbPatchArr(j)))
3432
                  If reObjMatch.Count > 0 Then
3433
                     ' Look for the longest numeric sequence
3434
                     for each objMatch in reObjMatch
3435
                        lenThis = objMatch.Length
3436
                        If lenThis > lenMax Then
3437
                           lenMax = lenThis
3438
                           sDisplay = objMatch  'sDisplay is now a numeric sequence
3439
                        End If
3440
                     next
3441
                     if (lenMax > 0) Then
3442
                        ' Form the display string as "PV_ID (package-name package-version)"
3443
                        If GetPkgNameAndVersion(sDisplay, s) Then
3444
                           sDisplay = sDisplay & " (" & s & ")"
3445
                        Else
3446
                           ' Couldn't get the package name/version from RM so it is likely this number
3447
                           ' is not a true/real PV_ID so revert to the simpler display format we began with
3448
                           ' as a default.
3449
                           sDisplay = Trim(relDbPatchArr(j))   'reset to full string
3450
                           lenMax = 0                          'zero to force simpler display format in HTML
3451
                        End If
3452
                     End If
3453
                  End If
3454
 
3455
                  if j = 0 Then
3456
                     NewTextFile.Write(Trim(sDisplay))
3457
                     If (lenMax = 0) Then
3458
                        %><%=Trim(relDbPatchArr(j))%><%
3459
                     Else
3460
                        %><a href="dependencies.asp?pv_id=<%=Trim(relDbPatchArr(j))%>" class="txt_linked"><%=sDisplay%></a><%
3461
                     End If
3462
                  Else
3463
                     NewTextFile.Write("," & Trim(sDisplay))
3464
                     If (lenMax = 0) Then
3465
                        %><%=Trim(relDbPatchArr(j))%><%
3466
                     Else
3467
                        %><a href="dependencies.asp?pv_id=<%=Trim(relDbPatchArr(j))%>" class="txt_linked"><br><%=sDisplay%></a><%
3468
                     End If
3469
                  End If
3470
               End If
3471
            Next
3472
            NewTextFile.WriteLine("""")
3473
            %>
3474
            </td>
3475
            </tr>
3476
            <%
3477
            '-------------------------------------------------------------------------------------------------------------------------------
3478
            ' Next line is the DEVI's affected packages field
3479
            s = sdItem(dict_Iss_Id_to_Aff_Pkg,i)   ' Prepare for CSV
3480
            s = Replace(s,"""","""""")
3481
            NewTextFile.WriteLine(",Affected Packages," & DoubleQuotes(s))
3482
            s = sdItem(dict_Iss_Id_to_Aff_Pkg,i)   ' Prepare for HTML
3483
            s = NewLine_To_BR(To_HTML(s))
3484
            %>
3485
            <tr>
3486
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3487
            <td valign="top">Affected Packages:</td>
3488
            <td valign="top"><%=s %></td>
3489
            </tr>
3490
            <%
3491
            '-------------------------------------------------------------------------------------------------------------------------------
3492
            ' Next line(s) is/are the packages this DEVI is assigned to, in release manager
3493
            pkgArr = dict_Iss_Id_to_Pkg.Items
3494
            pkgCsv = pkgArr(i)
3495
            pkgArr = Split(pkgCsv, ",")
3496
 
3497
            pvIdArr = dict_Iss_Id_to_PvId.Items
3498
            pvIdCsv = pvIdArr(i)
3499
            pvIdArr = Split(pvIdCsv, ",")
3500
 
3501
            NewTextFile.Write(",RM Assigned Packages,""")
3502
            %>
3503
            <tr>
3504
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3505
            <td valign="top">RM Assigned Packages:</td>
3506
            <td valign="top">
3507
            <%
3508
            For j = 0 To UBOUND(pkgArr)
3509
               If j = 0 Then
3510
                  NewTextFile.Write(pkgArr(j))
3511
                  %><a href="fixed_issues.asp?rtag_id=<%=NNrtag_id%>&pv_id=<%=pvIdArr(j)%>" class="txt_linked"><%=pkgArr(j)%></a><%
3512
               Else
3513
                  NewTextFile.Write("," & pkgArr(j))
3514
                  %><a href="fixed_issues.asp?rtag_id=<%=NNrtag_id%>&pv_id=<%=pvIdArr(j)%>" class="txt_linked"><br><%=pkgArr(j)%></a><%
3515
               End If
3516
            Next
3517
            NewTextFile.WriteLine("""")
3518
            %>
3519
            </td>
3520
            </tr>
3521
            <%
3522
            '-------------------------------------------------------------------------------------------------------------------------------
3523
            ' Next line is the DEVI's integration notes
3524
            s = sdItem(dict_Iss_Id_to_IntNotes, i) 'Prepare for CSV
3525
            s = Replace(s,"""","""""")
3526
            NewTextFile.WriteLine(",Integration Notes," & DoubleQuotes(s))
3527
 
3528
            s = sdItem(dict_Iss_Id_to_IntNotes, i) ' Prepare for HTML
3529
            s = NewLine_To_BR(To_HTML(s))
3530
            %>
3531
            <tr>
3532
            <td valign="top"><img src="images/spacer.gif" width="1" height="1"></td>
3533
            <td valign="top">Integration Notes:</td>
3534
            <td valign="top"><%=s %>
3535
            </td>
3536
            </tr>
3537
            <%
3538
         Next
3539
         %>
3540
         <tr>
3541
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3542
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3543
            <td background="images/bg_rep_line.gif"><img src="images/spacer.gif" width="1" height="1"></td>
3544
         </tr>
3545
      </table>
3546
      <H5><a name="C3">Statistics</a></H5>
5632 dpurdie 3547
      Report&nbsp;generated on&nbsp;<%=DisplayDate(Date)%>&nbsp;at&nbsp;<%=Time%><BR>
159 ghuddy 3548
      <%=NumPkgsListed %>&nbsp;Package(s)&nbsp;Listed<BR>
3549
      <%=NumIssuesListed  %>&nbsp;Issue(s)&nbsp;Listed<BR>
3550
      <!-- PRINT, SAVE, ETC. ------------>
3551
      <%If parPrint = "" Then%>
3552
         <br>
3553
         <br>
3554
         <a href="javascript:;" onClick="window.print();" class="txt_linked"><img src="images/btn_print.gif" width="23" height="24" hspace="4" border="0" align="absmiddle">Print this report</a><br>
3555
         <br>
3556
      <%End If%>
3557
      <%
3558
      ' Clean up
3559
      rsRMQry.Close
3560
      set rsRMQry = nothing
3561
      set dict_Iss_Id_to_Iss_Num      = nothing
3562
      set dict_Iss_Id_to_Iss_DB       = nothing
3563
      set dict_Iss_Id_to_Pkg          = nothing
3564
      set dict_Iss_Id_to_Risk         = nothing
3565
      set dict_Iss_Id_to_Summary      = nothing
3566
      set dict_Iss_Id_to_CodeRev      = nothing
3567
      set dict_Iss_Id_to_IntNotes     = nothing
3568
      set dict_Iss_Id_to_RelDBPatches = nothing
3569
      set dict_Iss_Id_to_PvId         = nothing
3570
      set dict_Iss_Id_to_Iss_Status   = nothing
3571
      set dict_Iss_Id_to_Iss_Type     = nothing
3572
      set dict_Iss_Id_to_Aff_Pkg      = nothing
3573
      set reObj                       = nothing
3574
 
3575
      NewTextFile.Close
3576
      Set NewTextFile=Nothing
3577
 
3578
      ' EMAIL CSV report if user has requested it
3579
      If emailReport Then
3959 dpurdie 3580
         Dim LocalPath
159 ghuddy 3581
         LocalPath = Server.MapPath("docs\ReleaseDEVIStatus_"&objAccessControl.UserName&".csv")
3959 dpurdie 3582
 
3583
         Send_Email   "Release Manager Notification",_
5357 dpurdie 3584
                       ADMIN_EMAIL, _
3959 dpurdie 3585
                       objAccessControl.UserEmail,_
3586
                       "Release DEVI Status Report (csv) from Release Manager", _
3587
                       "Your requested report...",_
3588
                       LocalPath
159 ghuddy 3589
      End If
3590
   End If
3591
End Sub
3592
%>