Login
Register
Search
Home
Forums
Jobs
LawsonGuru
LawsonGuru Letter
LawsonGuru Blog
Worthwhile Reading
Infor Lawson News Feed
Store
Store FAQs
About
Forums
Infor / Lawson Platforms
S3 Security
Duplicating Data Level Security in LS for Co / AcctUnit
Home
Forums
Jobs
LawsonGuru
LawsonGuru Letter
LawsonGuru Blog
Worthwhile Reading
Infor Lawson News Feed
Store
Store FAQs
About
Who's On?
Membership:
Latest:
Wayne Willis
Past 24 Hours:
0
Prev. 24 Hours:
0
Overall:
5190
People Online:
Visitors:
266
Members:
0
Total:
266
Online Now:
New Topics
Lawson Landmark
Executing IPA from PR160
5/3/2024 2:46 PM
We're facing a situation where we need to upda
IPA/ProcessFlow
Executing IPA from PR160
5/3/2024 2:46 PM
We're facing a situation where we need to upda
S3 Customization/Development
Cobol - Extract Current Time
4/24/2024 7:21 PM
How do you extract just the Current System Time in
Lawson Landmark
LPL INSTR Functions
4/5/2024 8:32 PM
I'm writing a simple report using the Create R
Infor SCM
Translating 856 to get the ~ REF^CN^ field
4/3/2024 8:24 PM
We are trying to get the tracking number which is
IPA/ProcessFlow
Sample XML file create Flow
4/3/2024 3:43 PM
Hello everyone, I am new to creating XML files
Lawson S3 HR/Payroll/Benefits
bn105 error message
3/26/2024 6:40 PM
I need to change some of the set ups in our Life I
IPA/ProcessFlow
IPA executing Job
3/13/2024 7:08 PM
New to the IPA world and was wondering, can an IPA
Lawson S3 HR/Payroll/Benefits
Life Age Reduction on benefits plans
3/12/2024 7:15 PM
For our optional life we have an age based coverag
Lawson S3 HR/Payroll/Benefits
BN53.1 Add-In
3/7/2024 3:31 PM
We are migrating to Solstice. They require a
Top Forum Posters
Name
Points
Greg Moeller
4184
David Williams
3349
JonA
3288
Kat V
2984
Woozy
1973
Jimmy Chiu
1883
Kwane McNeal
1437
Ragu Raghavan
1354
Roger French
1311
mark.cook
1244
Forums
Unanswered
Active Topics
Most Liked
Most Replies
Search Forums
Search
Advanced Search
Topics
Posts
Prev
Next
Forums
S3 Security
Duplicating Data Level Security in LS for Co / AcctUnit
Sort:
Oldest First
Most Recent First
You are not authorized to post a reply.
Author
Messages
Jake Miller
Basic Member
Posts: 5
2/4/2011 3:04 PM
In LAUA we use the Data Level Security (Company and Process Level) to specify Company ranges and Accounting Unit ranges for Financials security. It works great. Now, I need to duplicate this setup in LS.
According to Lawson, the only way to secure FB40.1 (Budget Journal Entry) to a specific Company and AcctUnit is to apply conditional statements to the form detail line fields. Element Groups only validate the first line and invalidate Next or Previous actions if the first line fails. Elements can't be used to specify a specific pair of Co / AcctUnit. And, ToCompany and AcctUnit are not available fields to use on the FB40.1 or DTO sections... only on the line itself.
Ideally, we would use a multi-valued attribute on the RM to store the (Company / AcctUnit pairs to which a user has "All Access" security. And, the Company / Acct Unit values would in fact be ranges (Co 100 -> 200 / AcctUnit 1000 -> 1200). The attribute needs to be multi-valued because there can be several range pairs to which a user has all access. Example:
100-200|1000-1200
300-300|1000-1000
400-500|1200-1200... etc. just like LAUA.
Once the attribute is created and populated for a user, how does one sift through it (via LS) and make comparisons to two separate and independent fields? For instance, if form Co = 150 and AcctUnit = 1100 (should be all access), how do I iterate through the multi-valued list and check to see if the company is between the first two numbers and the AcctUnit is between the second two numbers? Or, is there an easier way to do this that I am overlooking? Any help would be greatly appreciated!
Thanks in advance,
Jake
Greg Moeller
Veteran Member
Posts: 1498
2/4/2011 4:04 PM
We are using something like the following to restrict which companies a user can see.
The CompanyControl attribute comes with all new installs of LSA... A lot of rule-writing is involved here, so we haven't actually implemented anything in production yet.
user.attributeContains('CompanyControl',COMPANY)
I believe AccountingUnitControl and ProcessLevelControl attributes exits now, too. Or you could add your own custom attribute via the Schema Editor.
Jake Miller
Basic Member
Posts: 5
2/4/2011 5:41 PM
Thank you, but I've looked at that and it doesn't give me what I need. I need to lock down the Co / AcctUnit pairs. If I granted access to Co 100 | A/U 1000 and Co 200 | A/U 2000 (two specific pairs) via the companycontrol and accountingunitcontrol attributes the user would get Co 100 & 200 and A/U 1000 & 2000 (four specific pairs).
A custom attriibute could, and does work to identify specific pairs that a user has access to via
user.attributeContains('customattribute',concat(trim(form.FLT_TO_COMPANY),trim(form.FLT_ACCT_UNIT)))
where customattribute is a concatination of accessible Co & A/U... i.e. 1001000 (C0 100 & A/U 1000)
However with 352 specific pair possibilites (and some users with unlimited access or very high access) I need to do this by ranges. Such as where customattribute is a concatenation of the LAUA Data Security lines...
Line 1 = 100-100|1000-1000 (one pair)
Line 2 = 200-200|2000-2000 (one pair)
This would still leave the possibility of 100-999|1000-9999 (unlimited access)
Think of it this way...
if (form.FLT_TO_COMPANY between 1st Co in customattribute and 2nd Co in customattribute
&& form.ACCT_UNIT between 1st A/U in customattribute and 2nd A/U in customattribute) then ...
else... check next entry in multi-valued customattribute.
How can I accomplish that?
You are not authorized to post a reply.