| 
                
Please start any new threads on our new 
    site at https://forums.sqlteam.com.  We've got lots of great SQL Server
    experts to answer whatever question you can come up with. 
    
        | 
                
                    | 
                            
                                | Author | Topic |  
                                    | dzaborPosting Yak  Master
 
 
                                        138 Posts | 
                                            
                                            |  Posted - 2013-07-11 : 16:51:15 
 |  
                                            | I have a stored procedure that will run correctly on our dev and stage box, however on production it will not work.  They all have the same version of SQL server 2008.I can run as a script on production, but when called from another stored procedure it will not execute.Can someone look at the script below and tell me how I can alter the scipt to get the @DaysRemaining working. Maybe it is just the way the script is written?  USE [database]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------CREATE PROCEDURE [dbo].[Subscription]    (      @OrderNumber FLOAT ,      @ProductCode VARCHAR(31) ,      @iMISid VARCHAR(10)    )AS --get remaining time on prior subscription    DECLARE @DaysRemaining INT    SELECT TOP ( 1 )            @DaysRemaining = DATEDIFF(dd, GETDATE(), Date)    FROM    History    WHERE   History_TYPE = 'SUB'            AND Date > GETDATE()            AND Code = @ProductCode            AND ID = @iMISid    ORDER BY EFFECTIVE_DATE DESC    DECLARE @maxseqn INT    SELECT  @maxseqn = MAX(seqn) + 1    FROM    History    UPDATE  counter    SET     last_value = @maxseqn    WHERE   counter_name = 'History'    INSERT  INTO [dbo].[History_rak]            ( [SEQN] ,              [BT_ID] ,              [History_type] ,              [transaction_date] ,              [Code] ,              [ORDER_DATE] ,              [UF_1] ,              [OTHER_DESC] ,              [DESCRIPTION] ,              [Date] ,              [daysremaining] ,              [gl_substitue]            )            SELECT  1 AS SEQN ,                    BT_ID ,                    'SUB' AS History_type ,                    GETDATE() AS transaction_date ,                    p.Code ,                    o.ORDER_DATE ,                    CONVERT(INT, o.ORDER_NUMBER) AS UF_1 ,                    p.OTHER_DESC ,                    gt.DESCRIPTION ,                    DATEADD(DD,                            CONVERT(INT, gt.SUBSTITUTE)                            + ISNULL(@DaysRemaining, 0), o.ORDER_DATE) AS Date ,                    @DaysRemaining AS daysremaining ,                    CONVERT(INT, gt.SUBSTITUTE) AS gl_substitue            FROM    Orders o                    JOIN Order_Lines ol ON o.ORDER_NUMBER = ol.ORDER_NUMBER                    JOIN Product p ON ol.Code = p.Code                    JOIN Gen_Tables gt ON gt.CODE = p.Code            WHERE   gt.TABLE_NAME = 'SUB'                    AND o.ORDER_NUMBER = @OrderNumber    INSERT  INTO History            ( SEQN ,              id ,              History_type ,              transaction_date ,              Code ,              effective_date ,              UF_1 ,              Description ,              Other_code ,              Date            )            SELECT  @maxseqn ,                    BT_ID ,                    'SUB' ,                    GETDATE() ,                    p.Code ,                    o.ORDER_DATE ,                    CONVERT(INT, o.ORDER_NUMBER) ,                    p.OTHER_DESC ,                    gt.DESCRIPTION ,                    o.ORDER_DATE + CONVERT(INT, gt.SUBSTITUTE)                    + ISNULL(@DaysRemaining, 0)            FROM    Orders o                    JOIN Order_Lines ol ON o.ORDER_NUMBER = ol.ORDER_NUMBER                    JOIN Product p ON ol.Code = p.Code                    JOIN Gen_Tables gt ON gt.CODE = p.Code            WHERE   gt.TABLE_NAME = 'SUB'                    AND o.ORDER_NUMBER = @OrderNumber    SELECT  '1' AS 'Status' ,            '' AS 'Message' ,            1 AS 'isWarning'GO |  |  
                                    | James KMaster Smack Fu Yak Hacker
 
 
                                    3873 Posts | 
                                        
                                          |  Posted - 2013-07-11 : 17:09:04 
 |  
                                          | If it works in dev and staging that have the same version of SQL Server as the production, I don't think we can figure out the problem just by looking at the code.  When you say "it will not work on production", what did you mean? Does it throw an error? If so what is the error message? Or does it complete successfuly but does not produce any results? |  
                                          |  |  |  
                                    | visakh16Very Important crosS Applying yaK Herder
 
 
                                    52326 Posts | 
                                        
                                          |  Posted - 2013-07-12 : 01:53:29 
 |  
                                          | the logic currently used for @daysremainingie SELECT TOP ( 1 )@DaysRemaining = DATEDIFF(dd, GETDATE(), Date)FROM HistoryWHERE History_TYPE = 'SUB'AND Date > GETDATE()AND Code = @ProductCodeAND ID = @iMISidORDER BY EFFECTIVE_DATE DESCwill just take first record staisfying the given conditions from select.so it may be that value got from production is different from what you're getting in dev/StagingAlso were you using same set of parameter values in production?------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/https://www.facebook.com/VmBlogs |  
                                          |  |  |  
                                |  |  |  |  |  |