Bereinigungsskript
Dieses Skript bereinigt etliche Daten, die dadurch entstehen, wenn nachträglich Adresshierarchien gebildet werden.
-- Rechnungen die bei einer Nebenadresse sind zur Hauptadresse umhängen.
-- dies kann zum Beispiel passieren, wenn man Hierarchie Bilden verwendet
-- und eine Hauptadresse dabei zur Nebenadresse wird.
print 'Rechnungen von Nebenadressen zur Hauptadresse umhängen'
update View_Belege
set SuperId = a.VNummer
from
View_Belege b, View_Adressen a
where a.id = b.SuperId and a.Haupt = 'N' and b.Belegart = 'Ausgangsrechnung'
print 'Bei Tickets, die bei Nebenadressen sind die Nebenadresse als Ansprechpartner setzen'
update View_Tickets
set [Kunde Ansprechpartner] = Kunde
from
View_Tickets t, View_Adressen a
where a.id = t.Kunde and a.Haupt = 'N' and t.[Kunde Ansprechpartner] is null
print 'Tickets von Nebenadressen zur Hauptadresse umhängen'
update View_Tickets
set Kunde = a.VNummer
from
View_Tickets t, View_Adressen a
where a.id = t.Kunde and a.Haupt = 'N'
-- Betreut von zu den Hauptadressen umhängen
print 'Betreut von Partner von Nebenadressen zur Hauptadresse umhängen'
update View_Adressen
set [Betreut von Partner] = p.VNummer
from
View_Adressen, View_Adressen p
where
View_Adressen.[Betreut von Partner] = p.ID and p.Haupt = 'N'
print 'Betreut von Distributor von Nebenadressen zur Hauptadresse umhängen'
update View_Adressen
set [Betreut von Distributor] = d.VNummer
from
View_Adressen, View_Adressen d
where
View_Adressen.[Betreut von Distributor] = d.ID and d.Haupt = 'N'
-- Gibt es Leistungen die beim Kunden, als Partner oder Distri nicht bei der Hauptadresse
-- sondern beim Ansprechpartner liegen?
-- dies kann zum Beispiel passieren, wenn man Hierarchie Bilden verwendet
-- und eine Hauptadresse dabei zur Nebenadresse wird.
print 'Leistung von Nebenadressen zur Hauptadresse umhängen'
update View_Leistung
set superid = a.VNummer
from
View_Leistung l, View_Adressen a
where a.id = l.SuperId and a.Haupt = 'N'
print 'Leistungspartner von Nebenadressen zur Hauptadresse umhängen'
update View_Leistung
set Partner = a.VNummer
from
View_Leistung l, View_Adressen a
where a.id = l.Partner and a.Haupt = 'N'
print 'Leistungsdistributor von Nebenadressen zur Hauptadresse umhängen'
update View_Leistung
set Distributor = a.VNummer
from
View_Leistung l, View_Adressen a
where a.id = l.Distributor and a.Haupt = 'N'
Mit Vorsicht prüfen
select * from View_TicketAngebote where not Ticket in (select id from View_Tickets)
select * from View_TicketAngebotPositionen where not TicketAngebot in (select id from View_TicketAngebote)
select * from View_TicketBeobachter where not Ticket in (select id from View_Tickets)
select * from View_TicketDokumente where not Ticket in (select id from View_Tickets)
select * from View_TicketKommentare where not Ticket in (select id from View_Tickets)
select * from View_Zeitbuchung where not Ticket in (select id from View_Tickets)
-- Doppelte Beobachter löschen
delete from View_TicketBeobachter where id in
(
select min(id) from View_TicketBeobachter group by Benutzer, Ticket having count(*) > 1
)
Last updated