CREATE proc spActivateAccts
as
set nocount on
DECLARE @Sequence int
DECLARE @pincode int
DECLARE @msisdn varchar(20)
DECLARE @months_number numeric
DECLARE @startdate datetime
DECLARE fileCursor Cursor for
SELECT SequenceID,pincode ,msisdn,NoOfMonths,startdate FROM vActivateAccts
OPEN fileCursor
FETCH NEXT FROM fileCursor INTO @Sequence ,@pincode ,@msisdn,@months_number,@startdate
while @@fetch_status=0
BEGIN
UPDATE TempDetails
SET Pincode = @pincode,
AcctStatus = 'A',
period_from = @startdate,
msisdn ='0'+ RIGHT(@msisdn,10)
WHERE
( SequenceID = @Sequence)
INSERT INTO MasterDetails SELECT * FROM TempDetails WHERE (SequenceID = @Sequence)
UPDATE MasterDetails
SET AcctStatus = 'A',
period_to = (DATEADD(month,@months_number,period_from))
WHERE
( SequenceID = @Sequence)
DELETE FROM TempDetails WHERE (msisdn=@msisdn) AND (transactype='N') AND (AcctStatus ='A')
FETCH NEXT FROM fileCursor INTO @Sequence ,@pincode ,@msisdn,@months_number,@startdate
END
Close fileCursor
Deallocate fileCursor
DELETE FROM RegisteredSubscribers WHERE (TransactType='N') AND (SuccessFlag ='S')