<%@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 -------------- '---------------------------------------------- %>