Subversion Repositories DevTools

Rev

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

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