Hi,
We can find out the roles which are directly assigned to user by going to SE16N. Enter AGR_USERS in table name and enter. Then put the role name in ROLE. In Flag: Assignment fro row enter 'X' i.e Selected and select pattern "SELECT :NOT EQUAL TO" and then execute.Here you will get details for the single roles directly assigned to user and not thru any composite roles.