| Author |
Topic |
|
HimickE
Starting Member
3 Posts |
Posted - 2009-01-28 : 14:41:10
|
| This query loops(never comes back) and I know it's after the "INSERT @ValidAccounts" statements.............Any help will be appreciated GREATLY.DECLARE @ParmOpMode char (1), @ParmUserKey int, @ParmFiscalYearEnd smallint,-- $$$ @ParmSocial char (9), @ParmDateSelectType tinyint, @ParmDate1 datetime, @ParmDate2 datetime, @SocialMask Char (9)DECLARE @AccountList TABLE (RowType tinyint,UserKey int,FiscalYearEnd smallint,Account char (19),DisplayAccount char (24),-- the following are specific to "ByEmployee"DistrictName char (30),FullName char (50),Social char (9),PayDate datetime,Amount money,GrandTotalAmount money)SET @ParmOpMode = 'Q'SET @ParmUserKey = 10020SET @ParmFiscalYearEnd = 2009SET @ParmSocial = '*********'SET @ParmDateSelectType = 1SET @SocialMask = REPLACE (@ParmSocial, '*', '_')DECLARE @DistrictName char (30),@EarlyDate DateTime,@LateDate DateTime,@QueryBeginDate DateTime,@QueryEndDate DateTime,@TempTotalAmount moneySET @EarlyDate = '01-01-1980 12:00 AM'SET @LateDate = '12-31-2099 11:59:59 PM'-- SET default date [ only matters if @ParmDateSelectType is not 1-5]SET @QueryBeginDate = @EarlyDate SET @QueryEndDate= @LateDate-- 1 is "Any"IF @ParmDateSelectType = 1BEGIN SET @QueryBeginDate = @EarlyDate SET @QueryEndDate = @LateDateEND-- 2 is "After"IF @ParmDateSelectType = 2BEGIN SET @QueryBeginDate = @ParmDate1 SET @QueryEndDate = @LateDateEND-- 3 is "Before"IF @ParmDateSelectType = 3BEGIN SET @QueryBeginDate = @EarlyDate SET @QueryEndDate = @ParmDate1END-- 4 is "Between"IF @ParmDateSelectType = 4BEGIN SET @QueryBeginDate = @ParmDate1 SET @QueryEndDate = @ParmDate2END-- 5 is "On"IF @ParmDateSelectType = 5BEGIN SET @QueryBeginDate = @ParmDate1 SET @QueryEndDate = @ParmDate1ENDSELECT @DistrictName = DistrictName FROM ResaDistrictDECLARE @ValidAccounts TABLE (FiscalYearEnd smallint,Account char (19) PRIMARY KEY,DisplayAccount char (24))INSERT @ValidAccounts (FiscalYearEnd, Account, DisplayAccount)SELECTfxqa.FiscalYearEnd,fxqa.Account,fxqa.DisplayAccountFROM fxAnalysis_v0400_000_QueryAccounts ('Q', @ParmUserKey, @ParmFiscalYearEnd, @ParmFiscalYearEnd) fxqa-- Insert data from glDist !IF @SocialMask = REPLICATE ('_', 9)BEGIN INSERT @AccountList (RowType, UserKey, FiscalYearEnd, Account, DisplayAccount, DistrictName, FullName, Social, PayDate, Amount, GrandTotalAmount) SELECT 1 AS RowType, @ParmUserKey AS UserKey, --al.FiscalYearEnd, '2009', --al.Account, '1234567890123456789', --al.DisplayAccount, '12-345-6789-012-345-6789', @DistrictName AS DistrictName, pe.FullName, pe.Social, gl.dDate AS PayDate, gl.Amount AS Amount, 0 AS GrandTotalAmount FROM PayEmployee pe INNER JOIN PayGlDist gl ON gl.Social = pe.Social AND DATEDIFF (day, @QueryBeginDate, gl.dDate) >= 0 AND DATEDIFF (day, gl.dDate, @QueryEndDate) >= 0END-Ed- |
|
|
revdnrdy
Posting Yak Master
220 Posts |
Posted - 2009-01-28 : 15:22:28
|
| Well just taking a stab at it..Shouldn't the syntax be INSERT INTO @ValidAccounts rather thanINSERT @ValidAccounts ?r&r |
 |
|
|
HimickE
Starting Member
3 Posts |
Posted - 2009-01-28 : 16:10:45
|
quote: Originally posted by revdnrdy Well just taking a stab at it..Shouldn't the syntax be INSERT INTO @ValidAccounts rather thanINSERT @ValidAccounts ?r&r
INSERT INTO and INSERT are the same........-Ed- |
 |
|
|
revdnrdy
Posting Yak Master
220 Posts |
Posted - 2009-01-28 : 16:22:31
|
| ok I wasn't sure..What does this function do? fxAnalysis_v0400_000_QueryAccounts ('Q', @ParmUserKey, @ParmFiscalYearEnd, @ParmFiscalYearEnd) Why do you feed it @ParmFiscalYearEnd twice? I ask naively of course.r&r |
 |
|
|
HimickE
Starting Member
3 Posts |
Posted - 2009-01-29 : 07:47:24
|
quote: Originally posted by revdnrdy ok I wasn't sure..What does this function do? fxAnalysis_v0400_000_QueryAccounts ('Q', @ParmUserKey, @ParmFiscalYearEnd, @ParmFiscalYearEnd) Why do you feed it @ParmFiscalYearEnd twice? I ask naively of course.r&r
IT finds a set of Accounts.The parm is passed twice, because in some cases, we pass more than one year.........PS> This function works fine. The loop occurs after that query. |
 |
|
|
SwePeso
Patron Saint of Lost Yaks
30421 Posts |
Posted - 2009-01-29 : 08:16:29
|
There is no loop in the posted codeDECLARE @ParmOpMode char (1), @ParmUserKey int, @ParmFiscalYearEnd smallint, @ParmSocial char (9), @ParmDateSelectType tinyint, @ParmDate1 datetime, @ParmDate2 datetime, @SocialMask Char (9)DECLARE @AccountList TABLE ( RowType tinyint, UserKey int, FiscalYearEnd smallint, Account char (19), DisplayAccount char (24), DistrictName char (30), FullName char (50), Social char (9), PayDate datetime, Amount money, GrandTotalAmount money )SELECT @ParmOpMode = 'Q', @ParmUserKey = 10020, @ParmFiscalYearEnd = 2009, @ParmSocial = '*********', @ParmDateSelectType = 1SET @SocialMask = REPLACE (@ParmSocial, '*', '_')DECLARE @DistrictName char (30), @EarlyDate DateTime, @LateDate DateTime, @QueryBeginDate DateTime, @QueryEndDate DateTime, @TempTotalAmount moneySELECT @EarlyDate = '01-01-1980 12:00 AM', @LateDate = '12-31-2099 11:59:59 PM'SELECT @QueryBeginDate = @EarlyDate, @QueryEndDate= @LateDateIF @ParmDateSelectType = 1 SELECT @QueryBeginDate = @EarlyDate, @QueryEndDate = @LateDateIF @ParmDateSelectType = 2 SELECT @QueryBeginDate = @ParmDate1, @QueryEndDate = @LateDateIF @ParmDateSelectType = 3 SELECT @QueryBeginDate = @EarlyDate, @QueryEndDate = @ParmDate1IF @ParmDateSelectType = 4 SELECT @QueryBeginDate = @ParmDate1, @QueryEndDate = @ParmDate2IF @ParmDateSelectType = 5 SELECT @QueryBeginDate = @ParmDate1, @QueryEndDate = @ParmDate1SELECT @DistrictName = DistrictNameFROM ResaDistrictDECLARE @ValidAccounts TABLE ( FiscalYearEnd smallint, Account char (19) PRIMARY KEY, DisplayAccount char (24) )INSERT @ValidAccounts ( FiscalYearEnd, Account, DisplayAccount )SELECT FiscalYearEnd, Account, DisplayAccountFROM fxAnalysis_v0400_000_QueryAccounts('Q', @ParmUserKey, @ParmFiscalYearEnd, @ParmFiscalYearEnd) AS fxqaIF @SocialMask = REPLICATE ('_', 9) INSERT @AccountList ( RowType, UserKey, FiscalYearEnd, Account, DisplayAccount, DistrictName, FullName, Social, PayDate, Amount, GrandTotalAmount ) SELECT 1 AS RowType, @ParmUserKey AS UserKey, '2009', '1234567890123456789', '12-345-6789-012-345-6789', @DistrictName AS DistrictName, pe.FullName, pe.Social, gl.dDate AS PayDate, gl.Amount AS Amount, 0 AS GrandTotalAmount FROM PayEmployee as pe INNER JOIN PayGlDist AS gl ON gl.Social = pe.Social AND @QueryBeginDate <= gl.dDate AND gl.dDate <= @QueryEndDate E 12°55'05.63"N 56°04'39.26" |
 |
|
|
|
|
|