%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| wUnhideProducts |
'| |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ VARIABLE DEFINITION -------------
Dim rsQry
Dim aProducts
Dim numOfRows
Dim rowNum
Dim objFormCollector
Dim currPkg_id
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
parBom_id = Request("bom_id")
Set objFormCollector = CreateObject("Scripting.Dictionary")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'----------------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
Dim rsQry, query
OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
query = _
" SELECT rt.RTAG_ID, "&_
" rt.RTAG_NAME "&_
" FROM RELEASE_TAGS rt,"&_
" BOMS bo"&_
" WHERE bo.RTAG_ID_FK = rt.RTAG_ID"&_
" AND bo.BOM_ID = :BOM_ID"
Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
If (NOT rsQry.BOF) AND (NOT rsQry.EOF)Then
outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id")
outobjDetails.Item ("rtag_name") = rsQry("rtag_name")
End If
OraDatabase.Parameters.Remove "BOM_ID"
rsQry.Close
Set rsQry = Nothing
End Sub
'----------------------------------------------------------------------------------------------------------------------------------
Sub UnhideProducts()
Dim aDiffList, numOfRows, rowNum, OraParameter
Const os_id_column = 2
Const old_prod_id_column = 1
'/* Get Lates Release Manager */
OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("CompareBomWithLatestFromRM.sql"), ORADYN_DEFAULT )
'-- Get Rows
If rsQry.RecordCount > 0 Then
aDiffList = rsQry.GetRows()
Else
'-- No differencses with Release Manager, hence exit
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "RTAG_ID"
Exit Sub
End If
'/* Update Versions */
On Error Resume Next
OraDatabase.Parameters.Add "PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "OS_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
Set OraParameter = OraDatabase.Parameters
objEH.TryORA ( OraSession )
numOfRows = UBound( aDiffList, 2 )
For rowNum = 0 To numOfRows
If Request("unhide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
OraParameter("PROD_ID").Value = Request("unhide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
OraDatabase.ExecuteSQL "BEGIN pk_Product.Unhide_Product ( :PROD_ID, :OS_ID, :USER_ID ); END;"
End If
Next
'--- Log Action ---
'objEH.LogAction _
'objAccessControl.UserId, _
'enumAT_EVENT_COMMENT, _
'"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
'SCRIPT_NAME, _
'"Updated Products with new versions.", _
'OraDatabase
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "RTAG_ID"
OraDatabase.Parameters.Remove "PROD_ID"
OraDatabase.Parameters.Remove "OS_ID"
OraDatabase.Parameters.Remove "USER_ID"
End Sub
'----------------------------------------------------------------------------------------------------------------------------------
Sub UnhidePatches()
Dim aDiffList, numOfRows, rowNum, OraParameter
Const os_id_column = 2
Const old_prod_id_column = 1
'/* Get Lates Release Manager */
OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("UnHidePatches.sql"), ORADYN_DEFAULT )
'-- Get Rows
If rsQry.RecordCount > 0 Then
aDiffList = rsQry.GetRows()
Else
'-- No differencses with Release Manager, hence exit
OraDatabase.Parameters.Remove "BOM_ID"
Exit Sub
End If
'/* Unhide Products/Patches */
On Error Resume Next
OraDatabase.Parameters.Add "PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "OS_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
Set OraParameter = OraDatabase.Parameters
objEH.TryORA ( OraSession )
numOfRows = UBound( aDiffList, 2 )
For rowNum = 0 To numOfRows
If Request("unhide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
OraParameter("PROD_ID").Value = Request("unhide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
OraDatabase.ExecuteSQL "BEGIN pk_Product.Unhide_Product ( :PROD_ID, :OS_ID, :USER_ID ); END;"
End If
Next
'--- Log Action ---
'objEH.LogAction _
'objAccessControl.UserId, _
'enumAT_EVENT_COMMENT, _
'"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
'SCRIPT_NAME, _
'"Updated Products with new versions.", _
'OraDatabase
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "PROD_ID"
OraDatabase.Parameters.Remove "OS_ID"
OraDatabase.Parameters.Remove "USER_ID"
End Sub
'----------------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
Call GetFormDetails ( parBom_id, objFormCollector )
If Request("action") <> "" Then
' --- Form is Valid ---
Call UnhideProducts()
Call UnhidePatches()
If objEH.Finally Then
Call OpenInParentWindow ( Request("rfile") &"?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") )
Call CloseWindow()
End If
End If
'----------------------------------------------
%>
Deployment Manager
Unhide Patches/Products
<%
'-- FROM START --------------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>
<%
If objFormCollector.Item("rtag_id_fk") = "" Then
Call Messenger ( "This BOM does not have Release Manager Reference release. Please edit BOM properties first. ", 1, "100%" )
End If
%>
Select Products and click Unhide.
Unhide
Location
Version
Latest
<%
OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("UnHideProducts.sql"), ORADYN_DEFAULT )
currPkg_id = 0
%>
<%If rsQry.RecordCount < 1 Then%>
No Products to Update.
<%End If%>
<%
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)%>
<%If currPkg_id <> rsQry("pkg_id") Then%>
<%=rsQry("prod_name")%>
<%currPkg_id = rsQry("pkg_id")%>
<%End If%>
" value="<%=rsQry("prod_id")%>">
" align="absmiddle" border="0"><%=rsQry("prod_location")%>
<%=rsQry("prod_version")%>
<%=rsQry("rm_latest_version")%>
<%rsQry.MoveNext
Wend
%>
<%
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("UnHidePatches.sql"), ORADYN_DEFAULT )
currPkg_id = 0
%>
<%If rsQry.RecordCount > 0 Then%>
Unhide
Location
Version
Comments
<%
While (NOT rsQry.BOF) AND (NOT rsQry.EOF)%>
<%If currPkg_id <> rsQry("pkg_id") Then%>
<%=rsQry("prod_name")%>
<%currPkg_id = rsQry("pkg_id")%>
<%End If%>
" value="<%=rsQry("prod_id")%>">
" align="absmiddle" border="0"><%=rsQry("prod_location")%>
<%=rsQry("prod_version")%>
<%=rsQry("comments")%>
<%rsQry.MoveNext
Wend
%>
<%End If%>
<%
OraDatabase.Parameters.Remove "RTAG_ID"
OraDatabase.Parameters.Remove "BOM_ID"
rsQry.Close
Set rsQry = Nothing
%>
<%=objPMod.ComposeHiddenTags()%>
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN AFTER PAGE RENDER -----------
'----------------------------------------------
%>