Page 1 of 1

TI Process to put element security

Posted: Tue Aug 12, 2014 7:56 pm
by dharav
Hello All

I want to create TI process to put element security for all groups. There are 4000 elements and 164 groups.

Suppose i have A,B,C,D regions under Total header. I want to apply non security for everyone and Specific element security group wise as below.

First, I want to assign 'NONE' Security to all groups to all regions
Now, I want to assign 'Write' Access to region B and remaining has none access

How could apply in to TI?

Total
A
1
2
3

B
4
5
6

C
7
8
9


D
1
2
3

I thought to utilize the Element Security Put function in TI but it seems to apply manual security than this. I need some input to throw light on this issue.

Thanks

Dharav

Re: TI Process to put element security

Posted: Wed Aug 13, 2014 2:35 am
by rmackenzie
dharav wrote:Suppose i have A,B,C,D regions under Total header. I want to apply non security for everyone and Specific element security group wise as below.

First, I want to assign 'NONE' Security to all groups to all regions
Now, I want to assign 'Write' Access to region B and remaining has none access
So if you wrote it as a rule, it would go:

Code: Select all

[{'4', '5', '6'}] = S: 'WRITE';
[] = S: 'NONE';
Because per your post, only elements 4, 5 and 6 are in Region B. Is that what you are asking for?

Re: TI Process to put element security

Posted: Wed Aug 13, 2014 7:11 pm
by pandinus
To realise this in TI all you need is a simple loop, see code example.
In my experience fixed-security (by means of manual input, or TI) provides better performance than rule-derived security.

Code: Select all

r = DIMSIZ('Region');
WHILE(r > 0);
  vRegion = DIMNM('Region', r);

  g = DIMSIZ('}Groups');
  WHILE(g > 0);
    vGroup = DIMNM('}Groups', g);

    IF(ELISANC('Region', 'B', vRegion) = 1 % vRegion @= 'B');
      CellPutS('WRITE', '}ElementSecurity_Region', vRegion, vGroup);
    ELSE;
      CellPutS('NONE', '}ElementSecurity_Region', vRegion, vGroup);
    ENDIF;

    g = g - 1;
  END;

  r = r - 1;
END;
Surely you may need to change the IF-statement to suit your needs.