Subversion Repositories DevTools

Rev

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