xpxCheckInstanceAccessRights

FUNCTION xpxCheckInstanceAccessRights(currInst                : GENERIC;
                                      requiredAccessCode      : INTEGER;
                                      userId, groupId         : GENERIC; 
                                      options                 : INTEGER; 
                                      VAR result              : BOOLEAN; 
                                      VAR lastCheckedInstance : GENERIC; 
                                      VAR accessRole          : INTEGER;  
                                      VAR protection          : INTEGER; 
                                      VAR actualAccessRights  : INTEGER) 
                                      status                  : INTEGER;

Checks whether an EDMuser/EDMgroup would have a requested access to a given protected instance.

Arguments


1TypeNameComment
2GENERICcurrInstA numeric instanceID that uniquely identifies an instance in the EDMdatabase that for which access is to be checked. This instanceID is defined when the actual instance is created by the xpxCreateInstance or xpxCreateInstanceBN function.
3INTEGERrequiredAccessCode

One of the symbols from the following list;

  • READ_ACCESS
  • WRITE_ACCESS
  • CREATE_ ACCESS
  • EXECUTE_ ACCESS
  • DELETE_ACCESS
4GENERICuserIdAddress of the variable that holds the numeric instanceID that uniquely identifies the EDMuser instance in the EDMdatabase that defines the EDMuser of the caller, i.e. the EDMuser the caller is logged on the EDMserver as.
5GENERICgroupIdA numeric groupID that uniquely identifies the edm_group instance in the EDMdatabase
6INTEGERoptionssee below
7BOOLEANresultTRUE if the required access has granted granted. Otherwise FALSE.
8GENERIClastCheckedInstanceWhen using option CHECK_FULL_PATH, the protected instance as well as the entire chain of parent protected instances will be checked. Checking will be done in the model to repository direction. If access to a protected model is checked and the model it self denies access, the instance Id returned in this variable will be the model Id. If access is denied by the protected parent repository, the repository Id will be returned herein.
9INTEGERaccessRole

This variable receives an integer value that tells on what basis access was given or denied. Below is a list of possible values and their significance:

  • OWNER_USER: The EDMuser Id given in the parameter userId is the owner of the protected Instance. Access has been checked against the owner protection code.
  • ADMIN_USER: The EDMuser Id given in the parameter userId is an administrator of the protected instance. Access has been checked against the owner protection code.
  • OWNER_GROUP: The EDMgroup Id given in the parameter groupId is the owner group of the protected Instance. Access has been checked against the group protection code.
  • ADMIN_GROUP: The EDMgroup Id given in the parameter groupId is an administrator group of the protected instance. Access has been checked against the group protection code.
  • ACCESS_FOR_USER: The EDMuser Id given in the parameter userId has been granted individual access rights to the protected instance. Access has been checked against this individually set protection code.
  • ACCESS_FOR_GROUP: The EDMgroup Id given in the parameter groupId has been granted individual access rights to the protected instance. Access has been checked against this individually set protection code.
  • PUBLIC_ACCESS: Neither the given EDMuser nor the EDMgroup was categorized as any of the above listed access roles. Therefore, access was checked against the public protection code.
10INTEGERprotectionThis variable will receive the full 15bit protection code of the protected instance returned in parameter lastCheckedInstance.
11INTEGERactualAccessRights

This variable will receive the actual 5bit protection code that was applied when access to the protected instance was either given or denied. Depending on the access role used, the protection code returned herein may be either owner protection, group protection, public protection or an individually set protection code. The protection code is a bitwise OR of any combination of the following symbols;

  • READ_ACCESS
  • WRITE_ACCESS
  • CREATE_ACCESS
  • EXECUTE_ACCESS
  • DELETE_ACCESS

Return Value


Error rendering macro 'excerpt-include' : User 'null' does not have permission to view the page 'US:_r_XPX_Return_Value'.

Options


OptionComment
CHECK_FULL_PATHcomment

 

Example


<Missing Example>

 

See also

Filter by label

There are no items with the selected labels at this time.

Â