I have a query that checks a set of data to see if I need to start charging detention on a delivery. I need to turn it into an 'email alert'. It works when the dataset returned is only one late delivery, but if there are multiple deliveries the part that builds the email fails. What would be the best way to build a loop <cursor?> for a multiple dataset? What I have so far is below. Thanks for any assistance
Julie
CRXI CE10 / RS2005 Sql DB
Code:
Declare
@StopOrder varchar (8)
,@Company varchar(10)
,@SchLatest varchar (30)
,@ArrivalDate varchar(30)
,@DepartDate varchar(30)
,@MinWait varchar (8)
,@StopType varchar(5)
,@StopEvent varchar(5)
,@Customer varchar(10)
,@Driver varchar(8)
,@Tractor varchar(8)
,@msgbody varchar (1000)
,@sub varchar (50)
select
@StopOrder = s.ord_hdrnumber
,@Company = s.cmp_id
,@SchLatest = s.stp_schdtlatest
,@ArrivalDate =s.stp_arrivaldate
,@DepartDate = s.stp_departuredate
,@MinWait = datediff(mi,s.stp_arrivaldate,GetDate())
,@StopType = s.stp_type
,@StopEvent = s.stp_event
,@Customer = o.ord_billto
,@Driver = l.lgh_driver1
,@Tractor = l.lgh_tractor
from
stops s,
orderheader o,
legheader l
where
o.ord_status = 'STD'
and stp_departure_status = 'OPN' --- departure is estimated
and stp_status = 'DNE' ---arrival date is actual
and s.ord_hdrnumber = o.ord_hdrnumber
and s.lgh_number = l.lgh_number
order by o.ord_billto,s.ord_hdrnumber,stp_sequence
if @MinWait >= 120
Begin
set @msgbody = @msgbody + ''
set @msgbody = @msgbody + 'Order ' + @StopOrder + ' has been at their current location for ' + char(10)
set @msgbody = @msgbody + @MinWait + ' minutes.' + char(10)
set @msgbody = @msgbody + 'Please contact '+ @Customer + char(10)
set @msgbody = @msgbody + 'Scheduled Latest ' + @SchLatest + char(10)
set @msgbody = @msgbody + 'Actual Arrival ' + @ArrivalDate + char(10)
set @msgbody = @msgbody + 'Estimated Departure ' + @DepartDate + char(10)
set @msgbody = @msgbody + 'Type ' + @StopType + char(10)
set @msgbody = @msgbody + 'Event ' + @StopEvent + char(10)
set @msgbody = @msgbody + 'Driver ' + @Driver + char(10)
set @msgbody = @msgbody + 'Tractor ' + @Tractor + char(10)
set @sub = ' '
set @sub = @sub + 'Load with Potential Detention'
set @sub = @sub + @StopOrder
exec master..xp_sendmail @recipients = 'CustomerService@ohmy.com',
@message = @msgBody
@subject = @sub
Julie
CRXI CE10 / RS2005 Sql DB