Subversion Repositories DevTools

Rev

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

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