All pastes #967293 Raw Edit

Untitled

public text v1 · immutable
·published 2008-04-02 09:08 UTC
rendered paste body
declare @contractproductid int
declare @customernumberid int
declare @productid int
declare @kansdato varchar(8)
declare @today varchar(8)
SET @today = convert(varchar(8), getdate(), 112)
 
DECLARE DeactivateMobile CURSOR fast_forward FOR 
SELECT DISTINCT cp2.contractproductid, cn.customernumberid, cp2.productid, cp3.property4
FROM customernumber cn (nolock)
JOIN contractproductcustomernumber cpcn (nolock) ON cpcn.customernumberid = cn.customernumberid
JOIN contractproduct cp (nolock) ON cp.contractproductid = cpcn.contractproductid
JOIN contractproduct cp2 (nolock) ON cp2.contractid = cp.contractid
JOIN contractproduct cp3 (nolock) ON cp3.contractid = cp.contractid
WHERE cn.numbermain IN
(
SELECT cm.number
FROM contractproduct cp (nolock)
  JOIN contractproductcustomernumber cpcm (nolock) ON cpcm.contractproductid = cp.contractproductid
  JOIN customernumber cm (nolock) ON cm.customernumberid = cpcm.customernumberid 
WHERE 1 = 1
  AND productid = 11001
  AND contractproductstatusid = 1012
  AND activationdate IS NOT NULL
  AND deactivationdate IS NULL
  AND supplierid = 200005
)
AND cp3.productid = 11037
 
OPEN DeactivateMobile
 
FETCH NEXT FROM DeactivateMobile 
INTO @contractproductid, @customernumberid, @productid, @kansdato
WHILE @@FETCH_STATUS = 0 
BEGIN
 
UPDATE customernumber
SET flagswitchactive = 0, customernumberstatus = 26
WHERE customernumberid = @customernumberid
 
UPDATE contractproduct
SET deactivationdate = @today, activationdate = @today, flagbillingactive = 0, contractproductstatusid = 1013
WHERE contractproductid = @contractproductid
AND isnull(deactivationdate,'')=''
AND isnull(activationdate,'')=''
 
UPDATE contractproduct
SET deactivationdate = activationdate, flagbillingactive = 0, contractproductstatusid = 1013
WHERE contractproductid = @contractproductid
AND activationdate > @kansdato
 
--UPDATE contractproduct
--SET activationdate = @kansdato
--WHERE contractproductid = @contractproductid
--AND isnull(activationdate,'')=''
 
UPDATE contractproduct
SET deactivationdate = @kansdato, flagbillingactive = 0, contractproductstatusid = 1013
WHERE contractproductid = @contractproductid
AND isnull(deactivationdate,'')=''
 
UPDATE customernumberbilling 
SET datebillingstop = @kansdato 
WHERE flagcurrent = 1 AND customernumberid = @customernumberid AND ISNULL(datebillingstop, '') = ''
 
FETCH NEXT FROM DeactivateMobile 
INTO @contractproductid, @customernumberid, @productid, @kansdato
end
 
CLOSE DeactivateMobile
DEALLOCATE DeactivateMobile