%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| _SetDataPermissions |
'| |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ VARIABLE DEFINITION -------------
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
objPMod.PersistInQryString ("obj_id")
objPMod.PersistInQryString ("dt_id")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub SetDataPermissions ()
Dim rsQry, query, aTableInfo, aRefColVal, RefColVal, OraParameter
On Error Resume Next
OraDatabase.Parameters.Add "DT_ID", Request("dt_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "ROLE_ID", Request("role_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "REF_COLUMN_VAL", NULL, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "IS_VISIBLE",NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "IS_ACTIVE", NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2
'--- Get TABLE information ---
query = _
" SELECT dt.REF_COLUMN_NAME,"&_
" ap.DB_SCHEMA,"&_
" dt.TABLE_NAME"&_
" FROM APPLICATIONS ap,"&_
" CONTROL_OBJECTS co,"&_
" DATA_TABLES dt"&_
" WHERE dt.OBJ_ID = co.OBJ_ID"&_
" AND co.APP_ID = ap.APP_ID"&_
" AND dt.DT_ID = :DT_ID "
objEH.Try
Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
If (rsQry.BOF) OR (rsQry.EOF) Then
Err.Raise 8, "Cannot Access Data !", "DT_ID="& Request("dt_id") &" for select statement in "& SCRIPT_NAME
Else
aTableInfo = rsQry.GetRows()
rsQry.Close
Set rsQry = Nothing
End If
objEH.Catch
'--- Get REF_COLUMN_VALUE ---
query = _
" SELECT "& aTableInfo(0, 0) &" FROM "& aTableInfo(1, 0) &"."& aTableInfo(2, 0)
objEH.Try
Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
If (rsQry.BOF) OR (rsQry.EOF) Then
Err.Raise 8, "Cannot Access Data !", "query="& query &"
in "& SCRIPT_NAME
Else
aRefColVal = rsQry.GetRows()
rsQry.Close
Set rsQry = Nothing
End If
objEH.Catch
Set OraParameter = OraDatabase.Parameters
'--- Set Role Permissions ---
objEH.TryORA ( OraSession )
'--- Set Row Permissions ---
For Each RefColVal In aRefColVal
OraParameter("REF_COLUMN_VAL").Value = RefColVal
OraParameter("IS_VISIBLE").Value = Request( "VIS_"& RefColVal )
OraParameter("IS_ACTIVE").Value = Request( "ACT_"& RefColVal )
'Response.write OraParameter("DT_ID") &"-"& OraParameter("ROLE_ID") &"-"& OraParameter("REF_COLUMN_VAL") &"-"& OraParameter("IS_VISIBLE") &"-"& OraParameter("IS_ACTIVE") &"
"
OraDatabase.ExecuteSQL _
"BEGIN pk_Control.Set_Row_Permissions ( :DT_ID, :ROLE_ID, :REF_COLUMN_VAL, :IS_VISIBLE, :IS_ACTIVE ); END;"
Next
'--- Log Action ---
'objEH.LogAction _
'objAccessControl.UserId, _
'enumAT_EVENT_COMMENT, _
'"Sub RemoveProductFromOs PROD_ID_LIST="& Request("prod_id_list") &", OS_ID="& Request("os_id") , _
'SCRIPT_NAME, _
'"Removed Products from OS.", _
'OraDatabase
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "DT_ID"
OraDatabase.Parameters.Remove "ROLE_ID"
OraDatabase.Parameters.Remove "REF_COLUMN_VAL"
OraDatabase.Parameters.Remove "IS_VISIBLE"
OraDatabase.Parameters.Remove "IS_ACTIVE"
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'**************************** M A I N ******************************
' --- Form is Valid ---
Call SetDataPermissions()
If objEH.Finally Then
Call OpenInWindow ( Request("rfile") &"?"& objPMod.ComposeURL() )
End If
'**********************************************************************
%>
<%
'------------ RUN AFTER CODE RUN --------------
'----------------------------------------------
%>