Skip to main content
Announcements
July 15, NEW Customer Portal: Initial launch will improve how you submit Support Cases. READ MORE

Section Access Data level Reduction on two or more fields within different tables

cancel
Showing results for 
Search instead for 
Did you mean: 
HirisH_V7
Master
Master

Section Access Data level Reduction on two or more fields within different tables

Last Update:

Sep 21, 2022 1:07:35 PM

Updated By:

Sue_Macaluso

Created date:

Apr 22, 2019 3:48:57 AM

Attachments

(Issues within and Overcoming through)

In General, we use section access for Data level, User – sheet or object level security on an application. Here, I came across a scenario which i should restrict multiple fields from different tables. That’s OK.

But during this data Reduction for a particular user, he/she may or may not have data in some Section access Restricted fields. As, we all know that SA will not grant access to users without data or Null () in any of the restricted fields i.e. when strict exclusion is checked under opening tab of document properties.

To overcome this and granting access to app for all users who have at least one data point in sync. We need to concatenate the SA table to each Master table based on the field mapping with each master. There by data will exist in all Masters and section access grants access to users & also this approach will impose nulls into other fields of masters. By this User may not get to see data which is not available, but can have access to all other required areas where data exists without subsiding into access denied initially.

Sample For Creating Above Scenario:

Temp_SA: //This table is being used for concatenating with other Masters and will be dropped at the end.
LOAD DEPT,ID_EMP
 INLINE [
    ACCESS, USERID, PASSWORD, DEPT, ID_EMP
    ADMIN, ADMIN, @123, *, *
    USER, A, 123, IT, 1
    USER, B, 123, SALES, 2
    USER, C, 123, NETWORK, 3
    USER, D, 123, CC, 4
];

Section Access;
LOAD * INLINE [
    ACCESS, USERID, PASSWORD, DEPARTMENT, EMPID
    ADMIN, ADMIN, @123, *, *
    USER, A, 123, IT, 1
    USER, B, 123, SALES, 2
    USER, C, 123, NETWORK, 3
    USER, D, 123, CC, 4
];
Section Application;


Dept_Master:
 LOAD * INLINE [
    DEPARTMENT, TurnOver
    IT, 22
    SALES, 33
    NETWORK, 455
];

Concatenate

Load DEPT as  DEPARTMENT
Resident Temp_SA where not exists (DEPARTMENT,DEPT); //For Checking only unavailable data field and concatenating with master.



Emp_Master:
LOAD * INLINE [
    EMPID, IssuesLogged
    2, 43433
    3, 3222
    4, 32243
];

Concatenate

Load ID_EMP as EMPID 
Resident Temp_SA where not exists (EMPID,ID_EMP); //For Checking only unavailable data field and concatenating with master.

DROP Table Temp_SA; // Dropping once Concatenation is done. 

Elaborating the above script and data set:

In Above sample data set with Section access mapped, the user “A” is not having any data in Emp_Master to get mapped. Similarly users “B” is not having any data in Dept_Master to get mapped and show case anything in APP.

So, due to strict exclusion checked. When we login with credentials of these both users, will get access denied to app.

For avoiding this we are concatenating the SA Table by calling it in resident with exists condition to all masters with required fields alone, here Where Not Exists condition is used to avoid creating nulls in already available fields by getting concatenated again.

 

There By using above Concatenation approach with SA, all users will have access to Application at any given point in time. If In case any data level error occurs or if data doesn’t have match required.

 

PFA QVW and Doc For Ref.

 

Thanks & Regards,

Hirish V

Tags (1)
Version history
Last update:
‎2022-09-21 01:07 PM
Updated by: