Subversion Repositories DevTools

Rev

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

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