﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="c59bcf1d-689e-4ec7-bce4-5cd4b23ae2dd" codekey="BCA-Academy_RemoveExpiredUsers" categoryCodekey="SpecialPurpose" name="Benutzer aus Zielgruppen entfernen, denen der Benutzer mehr als 35 Tage zugeordnet ist" description="Benutzer aus Zielgruppen entfernen, denen der Benutzer mehr als 35 Tage zugeordnet ist">
      <MetaData created="2010-04-07T15:13:35" createdBy="Administrator BCA-Academy" createdBy_user_id="12" modified="2012-01-13T11:00:37" modifiedBy="Anton Administrator" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="345bbab2-62a8-424d-a6e6-133aeab480a4" mandatorName="BCA-Academy" isStandard="False" isUsedByMenu="False" />
      <Roles>
        <Role id="90" />
      </Roles>
      <command>declare @now datetime
set @now = getdate()

select 
	tblUsersTargetGroups.userCn as userId,
	tblUsersTargetGroups.targetGroup_id as targetGroupId,
	datediff(day, max(tblStatsUsersTargetGroups.addedTime), @now) as 'memberSince'
into
	#tempUserInTargetGroups
from 
	tblStatsUsersTargetGroups
	inner join v_Users on v_Users.intUserCn=tblStatsUsersTargetGroups.user_id
	inner join tblUsersTargetGroups on tblUsersTargetGroups.targetGroup_id=tblStatsUsersTargetGroups.targetGroup_id and tblUsersTargetGroups.UserCn=tblStatsUsersTargetGroups.user_id
	inner join tblTargetGroups on tblTargetGroups.id=tblUsersTargetGroups.targetGroup_id
where 
	v_Users.mandator_id=@current_mandator_id and 
	tblStatsUsersTargetGroups.removedTime is null and 
	v_Users.securityId&lt;=10 and
	tblTargetGroups.defaultForLibrary!=1

group by tblUsersTargetGroups.userCn,
	tblUsersTargetGroups.targetGroup_id

delete from #tempUserInTargetGroups where memberSince&lt;35

declare @userId int
declare @targetGroupId int

select * from #tempUserInTargetGroups order by userId

declare @cursor cursor
set @cursor = cursor read_only forward_only for
	select userId, targetGroupId from #tempUserInTargetGroups

open @cursor
fetch next from @cursor into  @userId, @targetGroupId
while (@@FETCH_STATUS &lt;&gt; -1)
begin
	exec sp_RemoveUserFromTargetGroup @intUserId=@userId, @intTargetGroup=@targetGroupId
	fetch next from @cursor into  @userId, @targetGroupId
end
close @cursor
deallocate @cursor

drop table #tempUserInTargetGroups
 </command>
    </Report>
  </Reports>
</ReportsExport>