10. november 2000 - 15:08
#2
*** du får den i ucencureret udgave..
CREATE PROCEDURE Vis_Efterlysninger_row
@statusid int,
@behandler int,
@pakkenummer varchar(30),
@kundenummer varchar(30),
@afsendelsesdatofra datetime,
@afsendelsesdatotil datetime,
@datofra datetime,
@fromrow int,
@torow int
AS
IF @pakkenummer = \'%\' and @kundenummer = \'%\' and @afsendelsesdatofra = NULL and @afsendelsesdatotil = NULL and @datofra = NULL
BEGIN
IF (@statusid = NULL) AND (@behandler = NULL)
BEGIN
declare find_saa_de_data cursor for
SELECT sagsid, sagsstatusid,sagsbehandlerid, pakkenummer, afsendelsesdato, kundenummer, sag_startdato, modtager_navn
FROM sagsmappe
ORDER BY sag_startdato DESC
END
IF (@statusid <> NULL) AND (@behandler = NULL)
BEGIN
declare find_saa_de_data cursor for
SELECT sagsid, sagsstatusid,sagsbehandlerid, pakkenummer, afsendelsesdato, kundenummer, sag_startdato, modtager_navn
FROM sagsmappe
WHERE sagsstatusid = @statusid
ORDER BY sag_startdato DESC
END
IF (@statusid = NULL) AND (@behandler <> NULL)
BEGIN
declare find_saa_de_data cursor for
SELECT sagsid, sagsstatusid,sagsbehandlerid, pakkenummer, afsendelsesdato, kundenummer, sag_startdato, modtager_navn
FROM sagsmappe (INDEX = sagsmappe_startdato_idx)
WHERE sagsbehandlerid = @behandler
ORDER BY sag_startdato DESC
END
IF (@statusid <> NULL) AND (@behandler <> NULL)
BEGIN
declare find_saa_de_data cursor for
SELECT sagsid, sagsstatusid,sagsbehandlerid, pakkenummer, afsendelsesdato, kundenummer, sag_startdato, modtager_navn
FROM sagsmappe (INDEX = sagsmappe_startdato_idx)
WHERE sagsbehandlerid = @behandler and
sagsstatusid = @statusid
ORDER BY sag_startdato DESC
END
END
ELSE
BEGIN
declare @status2_start int
declare @status2_stop int
declare @behandler2_start int
declare @behandler2_stop int
declare @afsendelsesdatofra_start datetime
declare @afsendelsesdatofra_stop datetime
declare @afsendelsesdatotil_start datetime
declare @afsendelsesdatotil_stop datetime
declare @datofra2 datetime
IF (@afsendelsesdatofra = NULL)
BEGIN
SELECT @afsendelsesdatofra_start = \'01-01-1900\'
SELECT @afsendelsesdatofra_stop = \'12-31-9999\'
END
ELSE
BEGIN
SELECT @afsendelsesdatofra_start = @afsendelsesdatofra
SELECT @afsendelsesdatofra_stop = \'12-31-9999\'
END
IF (@afsendelsesdatotil = NULL)
BEGIN
SELECT @afsendelsesdatotil_start = \'01-01-1900\'
SELECT @afsendelsesdatotil_stop = \'12-31-9999\'
END
ELSE
BEGIN
SELECT @afsendelsesdatotil_start = \'01-01-1900\'
SELECT @afsendelsesdatotil_stop = @afsendelsesdatotil
END
IF (@datofra = NULL)
BEGIN
SELECT @datofra2 = \'01-01-1900\'
END
ELSE
BEGIN
SELECT @datofra2 = @datofra
END
declare find_saa_de_data cursor for
SELECT sagsid, sagsstatusid, sagsbehandlerid, pakkenummer, afsendelsesdato, kundenummer, sag_startdato
FROM sagsmappe (INDEX = sagsmappe_startdato_idx)
WHERE ((sagsbehandlerid >= @behandler2_start)
and (sagsbehandlerid <= @behandler2_stop))
AND ((sagsstatusid >= @status2_start)
and (sagsstatusid <= @status2_stop))
AND (kundenummer like @kundenummer)
AND (pakkenummer like @pakkenummer)
AND ((afsendelsesdato >= @afsendelsesdatofra_start)
and (afsendelsesdato <= @afsendelsesdatofra_stop))
AND ((afsendelsesdato >= @afsendelsesdatotil_start)
and (afsendelsesdato <= @afsendelsesdatotil_stop))
AND (sag_startdato >= @datofra2)
ORDER BY sag_startdato DESC
END
declare @rownum int
SELECT @rownum = 0
open find_saa_de_data
while @rownum < @torow + 1
begin
declare @xsagsid int
declare @xsagsstatusid int
declare @xsagsbehandlerid int
declare @xpakkenummer varchar (30)
declare @xafsendelsesdato datetime
declare @xkundenummer varchar (30)
declare @xsag_startdato datetime
declare @xsag_slutdato datetime
declare @xafsender_navn varchar (255)
declare @xafsender_adresse varchar (255)
declare @xafsender_adresse2 varchar (255)
declare @xafsender_postnummerid varchar (50)
declare @xafsender_postby varchar (255)
declare @xafsender_landekodeid int
declare @xmodtager_navn varchar (255)
declare @xmodtager_adresse varchar (255)
declare @xmodtager_adresse2 varchar (255)
declare @xmodtager_postnummerid varchar (50)
declare @xmodtager_postby varchar (255)
declare @xmodtager_landekodeid int
declare @xkontakt_person varchar (255)
declare @xkontakt_persontlf varchar (255)
declare @xkontakt_personemail varchar (255)
-- declare @xsupplerende_oplysninger text
-- declare @xkonklusion text
declare @xResponse_afhenterregions_id int
declare @xResponse_udbringerregions_id int
declare @xResponse_Alle int
declare @xPakke_Indhold varchar (255)
declare @xPakke_Vaegt varchar (255)
declare @xPakke_Vaerdipakke varchar (255)
declare @xPakke_Efterkrav varchar (255)
--fetch next from find_saa_de_data into @xsagsid, @xsagsstatusid,@xsagsbehandlerid, @xpakkenummer, @xafsendelsesdato, @xkundenummer, @xsag_startdato, @xsag_slutdato, @xafsender_navn, @xafsender_adresse, @xafsender_adresse2, @xafsender_postnummerid, @xafsender_postby, @xafsender_landekodeid, @xmodtager_navn, @xmodtager_adresse, @xmodtager_adresse2, @xmodtager_postnummerid, @xmodtager_postby, @xmodtager_landekodeid, @xkontakt_person, @xkontakt_persontlf, @xkontakt_personemail, @xResponse_afhenterregions_id, @xResponse_udbringerregions_id, @xResponse_Alle, @xPakke_Indhold, @xPakke_Vaegt, @xPakke_Vaerdipakke, @xPakke_Efterkrav
fetch next from find_saa_de_data into @xsagsid, @xsagsstatusid,@xsagsbehandlerid, @xpakkenummer, @xafsendelsesdato, @xkundenummer, @xsag_startdato, @xmodtager_navn
IF @rownum > @fromrow - 1
BEGIN
-- select @xsagsid, @xsagsstatusid,@xsagsbehandlerid, @xpakkenummer, @xafsendelsesdato, @xkundenummer, @xsag_startdato, @xafsender_navn, @xafsender_adresse
select @xsagsid as sagsid, @xsagsstatusid as sagsstatusid,@xsagsbehandlerid as sagsbehandlerid, @xpakkenummer as pakkenummer, @xafsendelsesdato as afsendelsesdato, @xkundenummer as kundenummer, @xsag_startdato as sag_startdato, @xmodtager_navn as modtager_navn, \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\', \'X\'
END
if @@fetch_status <> 0
break
select @rownum = @rownum + 1
end
close find_saa_de_data
deallocate find_saa_de_data
GO