How to get User Roles for different available companies
Hi Friends,
Recently i come to a user requirement, they need all employees details with they roles and permission within different companies.
So here the code to fetch respective details in text file.
Recently i come to a user requirement, they need all employees details with they roles and permission within different companies.
So here the code to fetch respective details in text file.
static void
UserRolebyCompany(Args _args)
{
TextIo txIoRead,txIoWrite;
FileIOPermission fioPermission;
container
containFromRead;
int
xx,iConLength;
str sTempPath,sFileName
= "UserRolebyCompany.txt",
sOneRecord;
SecurityUserRole SecurityUserRole;
SecurityUserRoleCondition SecurityUserRoleCondition;
SecurityRole SecurityRole ;
UserInfo userInfo;
Company comp;
container cont;
;
//To Get
the temporary file path.
sTempPath = WINAPI::getTempPath();
info("File
is at: " + sTempPath + sFileName);
// Assert
permission for file.
fioPermission = new FileIOPermission
(sTempPath +
sFileName ,"RW");
fioPermission.assert();
//
If the test file already exists, delete it.
if
(WINAPI::fileExists(sFileName))
{
WINAPI::deleteFile(sTempPath + sFileName);
}
//
"W" mode overwrites existing content, or creates the file.
txIoWrite = new TextIo( sTempPath + sFileName ,"W");
while select
SecurityUserRole
{
cont = conNull();
select SecurityRole where
SecurityRole .RecId == sur.SecurityRole;
select userInfo where
userInfo.id == SecurityUserRole.User;
while select
surc where SecurityUserRoleCondition.SecurityUserRole
== SecurityUserRole.RecId
{
cont += SecurityUserRoleCondition.DataArea;
}
if(!cont)
{
txIoWrite.write(strFmt("%1 -- %2 -- %3 -- %4 -- %5 -- %6",userInfo.name,
userInfo.networkAlias,userInfo.company,SecurityUserRole.User, SecurityRole .Name,"ALL"));
}
else
{
txIoWrite.write(strFmt("%1 -- %2 -- %3 -- %4 -- %5 -- %6",userInfo.name,
userInfo.networkAlias,userInfo.company,SecurityUserRole.User, SecurityRole .Name,con2StrUnlimited(cont, ',')));
userInfo.networkAlias,userInfo.company,SecurityUserRole.User, SecurityRole .Name,con2StrUnlimited(cont, ',')));
}
}
}
You can fetch your records in Excel file also by modify your code.