SQL use Bo drop table tmpKorb -- Tabelle für aktuellen Körbe anlegen -- die Kurzbezeichnungen für 3 Körbe werden in die Bemerkung geschrieben create Table tmpKorb (Bestellid integer,Adressid varchar(12),KurzBezeichnung varchar(16), _ RowId Integer identity(1,1)) -- Bestehende Bemerkungen mit Korb am Anfang löschen Delete From dBemerkung where Bemerkung like 'Korb%' -- Aufnehmen der aktuellen KurzBezeichnungen (VkArtnr) in Hilfstabelle Insert into tmpKorb(Adressid,Bestellid,Kurzbezeichnung) _ Select b.Adressid,bp.Bestellid,a.VkArtnr From dBestellpos bp Join dBestellung b _ On bp.Bestellid = b.Bestellid Join BoArt..Artikel a On bp.EAN = a.EAN _ Where '{Montag}' between bp.von and coalesce(bp.bis,'{Montag}') _ And (datediff(dd, '{Montag}' , bp.von)/7) % bp.Periode = 0 _ And a.Funktion = 1 -- einfügen einer Packbemerkung bo:Insert Into dBemerkung(Adressid,Bestellid,Bemerkung,Ereignis,von,bis) _ Select Adressid,Bestellid,'Korb: '+min(Kurzbezeichnung),'P','{Montag}',dateadd(dd,6,'{Montag}') _ From tmpKorb Group By Adressid,Bestellid -- Löschen der kleinsten Bezeichnung aus der Hilfstabelle Delete From k From tmpKorb k Join (Select Bestellid,min(Kurzbezeichnung) as Kb _ From tmpKorb Group By Bestellid) k1 On k.Bestellid = k1.Bestellid _ Where k1.Kb = k.Kurzbezeichnung -- Ergänzen der Packbemerkung Update b Set b.Bemerkung = b.Bemerkung + ', ' + k1.Kb From dBemerkung b Join _ (Select Bestellid,min(Kurzbezeichnung) as Kb _ From tmpKorb Group By Bestellid,Kurzbezeichnung) k1 On b.Bestellid = k1.Bestellid _ Where b.Bemerkung like 'Korb%' -- Löschen der kleinsten Bezeichnung aus der Hilfstabelle Delete From k From tmpKorb k Join (Select Bestellid,min(Kurzbezeichnung) as Kb _ From tmpKorb Group By Bestellid) k1 On k.Bestellid = k1.Bestellid _ Where k1.Kb = k.Kurzbezeichnung -- Ergänzen der Packbemerkung Update b Set b.Bemerkung = b.Bemerkung + ', ' + k1.Kb From dBemerkung b Join _ (Select Bestellid,min(Kurzbezeichnung) as Kb _ From tmpKorb Group By Bestellid,Kurzbezeichnung) k1 On b.Bestellid = k1.Bestellid _ Where b.Bemerkung like 'Korb%' -- Löschen der kleinsten Bezeichnung aus der Hilfstabelle Delete From k From tmpKorb k Join (Select Bestellid,min(Kurzbezeichnung) as Kb _ From tmpKorb Group By Bestellid) k1 On k.Bestellid = k1.Bestellid _ Where k1.Kb = k.Kurzbezeichnung -- Ergänzen der Packbemerkung Update b Set b.Bemerkung = b.Bemerkung + ', ' + k1.Kb From dBemerkung b Join _ (Select Bestellid,min(Kurzbezeichnung) as Kb _ From tmpKorb Group By Bestellid,Kurzbezeichnung) k1 On b.Bestellid = k1.Bestellid _ Where b.Bemerkung like 'Korb%'