This happens if the configuration key for Reporting Services is enabled, but there is no Reporting Services Server refered and configured in AX.
With a little modification in AOT/Forms/SysUserGroupInfo/Data Sources/User Group Info/delete you can workaround the problem.
public void delete() { userGroupId groupID; SysSRSTablePermissions permissionsTable; AifEndpointUser aifEndpointUser; SysSecurityFormTable sysSecurityFormTable; ; groupID = userGroupInfo.Id; ttsbegin; delete_from aifEndpointUser where aifEndpointUser.UserId == groupID && aifEndpointUser.AxaptaUserType == AifAxaptaUserType::UserGroup; delete_from sysSecurityFormTable where sysSecurityFormTable.UserGroupId == groupID; super(); if (isConfigurationkeyEnabled(configurationKeyName2Id('ReportingServices'))) { //Now that the group is deleted, we can synchronize all the secure views that //include RLS criteria for this group. We need to keep the record for this //group in SRSTablePermissions for now because they are used to determine which //tables have permissions assigned to them for the specified group. //Once all views have been synchronized, then we can delete those records. if (SRSSecureViewManagerProxy::syncWithGroup(groupID) != 0) { // modificaton begin if ((select * from SRSServers).RecId) { ttsabort; return; } /*else { just fall trough, there is no need to abort, since there is no Reporting Services Servers located }*/ // modification end } //Delete all records for the group from the SRSTablePermissions table. delete_from permissionsTable where permissionsTable.GroupId == groupID; } ttscommit; }Now your able to delete migrated user groups.
No comments:
Post a Comment