IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

Error converting expression to data type int.


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 193
    Par défaut Error converting expression to data type int.
    Salut,
    J'ai une procédure stockée qui me génère l'erreur suivante malgré tout ce que j'essaie. Merci de m'aider
    Pièce jointe 248290

    Au fait lorsque dans je choisis une date qui comporte les informations dans la table Caisse_History, l'erreur ne s'affiche et tout se passe bien mais lorsque la date choisie n'a pas d'information dans la table, il m'affiche ladite erreur.

    Voici la procédure Stockée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
    USE [SOROC]
    GO
    /****** Object:  StoredProcedure [COMPTABILITE].[FOND_DE_ROULEMENT_BY_SOCIETE]    Script Date: 25/02/2017 12:41:35 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
     
     
    ALTER PROCEDURE [COMPTABILITE].[FOND_DE_ROULEMENT_BY_SOCIETE]
     
     
    	 --@Dateop datetime,
    	 --@Criterefam Varchar(75),
    	 -- @CritereMak varchar(75),
    	 -- @CritereCategorie varchar(75),
    	 -- @CritereDepot varchar(75),
    	   @CriVersionLogiciel varchar(100),
    	  @CriPoste varchar(100),
    	  @Id_Societe int,
    	  @DateActivite datetime
    AS
    BEGIN
    IF 1=0 BEGIN
        SET FMTONLY OFF
    END
    	SELECT  
    	SOC.ID_AUTO
    	, SOC.RAISOC
    	, SOC.ACTIVITE
    	, SOC.ADRESSE
    	, SOC.SITEWEB
    	, SOC.TELEPHONE
    	, soc.MAIL
    	, SOC.RC
    	, SOC.IFU
     
    	, cast(0 as decimal(25,0)) AS 'STOCK'
    	, cast(0 as decimal(25,0)) AS 'CAISSE MENU DEPENSE'
    	, cast(0 as decimal(25,0)) AS 'COFFRE FORT'
    	, cast(0 as decimal(25,0)) AS 'CAISSE AGENCE'
    	, cast(0 as decimal(25,0)) AS 'CAISSE E-MONEY'
    	, cast(0 as decimal(25,0)) AS 'CAISSE CANAL+'
    	, cast(0 as decimal(25,0)) AS 'BANQUE'
    	, cast(0 as decimal(25,0)) AS 'CREANCES CLIENT'
    	, cast(0 as decimal(25,0)) AS 'CAUTION CLIENT'
    	, cast(0 as decimal(25,0)) AS 'MARGE BENEFICIAIRE'
    	, cast(0 as decimal(25,0)) AS 'DETTES FOURNISSEUR'
    	, cast(0 as decimal(25,0)) AS 'ENCOURS BANCAIRE'
     
     
     
     
      --, (Select @Criterefam) as Criterefam
      --, (Select @CritereMak) as CritereMak
      --, (Select @CritereCategorie) as CritereCategorie
      --, (Select @CritereDepot) as CritereDepot
      --, (Select @Dateop) as Dateop
      , (Select @CriVersionLogiciel) as CriVersionLogiciel
      , (Select @CriPoste) as CriPoste
     
    	INTO #FONDROULEMENT
     
    	FROM [MODELE].[SOCIETE] SOC
     
    	WHERE SOC.ID_AUTO = @Id_Societe 
     
    	UPDATE #FONDROULEMENT set STOCK =  [COMPTABILITE].[FN_FOND_ROULEMENT_VALEUR_STOCK]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
    	UPDATE #FONDROULEMENT set [CAISSE MENU DEPENSE] =  [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_CAISSE_DEPENSES]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
    	UPDATE #FONDROULEMENT set [COFFRE FORT] =  [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_COFFRE_FORT]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
    	UPDATE #FONDROULEMENT set [CAISSE AGENCE] =  [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_CAISSES_AGENCE]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
     
     UPDATE #FONDROULEMENT set [CAISSE E-MONEY] =  [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_CAISSES_EMONEY]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
     UPDATE #FONDROULEMENT set [CAISSE CANAL+] =  [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_CAISSES_ABONNEMENT]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
     UPDATE #FONDROULEMENT set BANQUE =  [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_BANQUES]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
    	 UPDATE #FONDROULEMENT set [CREANCES CLIENT] =  [COMPTABILITE].[FN_FOND_ROULEMENT_CREANCE_CLIENT]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
    	 UPDATE #FONDROULEMENT set [CAUTION CLIENT] = 0
     
    	  UPDATE #FONDROULEMENT set [MARGE BENEFICIAIRE] = 0
     
    	   UPDATE #FONDROULEMENT set [DETTES FOURNISSEUR] =  [COMPTABILITE].[FN_FOND_ROULEMENT_CREANCE_FOURNISSEUR]
    								  (#FONDROULEMENT.ID_AUTO,@DateActivite)
     
     
    	  UPDATE #FONDROULEMENT set [ENCOURS BANCAIRE]=  0
     
     
    	SELECT * FROM #FONDROULEMENT FR
     
    	WHERE FR.ID_AUTO = @Id_Societe
     
     
     
    	DROP table #FONDROULEMENT
    END
    Voici La Fonction dont la ligne génére l'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
     
    USE [SOROC]
    GO
    /****** Object:  UserDefinedFunction [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_COFFRE_FORT]    Script Date: 25/02/2017 12:44:06 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date, ,>
    -- Description:	<Description, ,>
    -- =============================================
    ALTER  FUNCTION [COMPTABILITE].[FN_FOND_ROULEMENT_SOLDE_DES_COFFRE_FORT]
    (
     @id_Societe int,
     @dateActivity datetime2
    )
    RETURNS int
     
    AS
     
    BEGIN
    declare @Solde_Caisse decimal(25,0)
     
     
    SELECT @Solde_Caisse = 
    	   MAX (F.LongestBreaks)  -- Dummy max() so that groupby can be used.
    FROM
        (
            SELECT 
                C.ID_CAISSE, 
                (
                    SELECT 
                        COALESCE (SUM (S.ECRITURE_SOLDE), 0)    
                    FROM 
                        (
                            SELECT TOP 1   T.ECRITURE_SOLDE
                            FROM            COMPTABILITE.CAISSE_HISTORY T
    						iNNER JOIN [MODELE].[CAISSE] CA
    						ON [T].[ID_CAISSE] = [CA].[ID_AUTO]
    						iNNER JOIN [MODELE].[AGENCE] AG
    						ON [CA].[ID_AGENCE] = [AG].[ID_AUTO]
     
                            WHERE           T.ID_CAISSE  = C.ID_CAISSE 
                            AND convert(date,[T].[DATEOP]) <= @dateActivity
    						AND [AG].[ID_SOCIETE] = @id_Societe
    							AND [CA].[TYPE_CAISSE] = 'Caisse Principale'
     
     
                            ORDER BY        T.ECRITURE_SOLDE  DESC
                        ) AS S
                 ) AS LongestBreaks
            FROM
                COMPTABILITE.CAISSE_HISTORY C 
        ) AS F
     
     
    --	--Permet de choisir la dernière date d'information dans la base 
     
    	if(@Solde_Caisse is null)
    	begin
    		SELECT @Solde_Caisse = 
    		   MAX (F.LongestBreaks)  -- Dummy max() so that groupby can be used.
    FROM
        (
            SELECT 
                C.ID_CAISSE, 
                (
                    SELECT 
                        COALESCE (SUM (S.ECRITURE_SOLDE), 0)    
                    FROM 
                        (
                            SELECT TOP 1   T.ECRITURE_SOLDE
                            FROM            COMPTABILITE.CAISSE_HISTORY T
    						iNNER JOIN [MODELE].[CAISSE] CA
    						ON [T].[ID_CAISSE] = [CA].[ID_AUTO]
    						iNNER JOIN [MODELE].[AGENCE] AG
    						ON [CA].[ID_AGENCE] = [AG].[ID_AUTO]
                            WHERE           T.ID_CAISSE  = C.ID_CAISSE 
                            AND convert(date,[T].[DATEOP]) <= (Select Max(DATEOP) FROM [COMPTABILITE].[CAISSE_HISTORY]  WHERE convert(date,DATEOP) <= @dateActivity )
    						AND [AG].[ID_SOCIETE] = @id_Societe
    							AND [CA].[TYPE_CAISSE] = 'Caisse Principale'
     
                            ORDER BY        T.ECRITURE_SOLDE  DESC
                        ) AS S
                 ) AS LongestBreaks
            FROM
                COMPTABILITE.CAISSE_HISTORY C 
        ) AS F
     
    	END
    	 --Permet de mettre un montant non trouvé à  0
     
    	if(@Solde_Caisse is null)
    	begin
    		set @Solde_Caisse =  0
    	end
     
    	return @Solde_Caisse
    END

    Merci de m'aider

  2. #2
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF 1=0 BEGIN
        SET FMTONLY OFF
    END
    J'aime beaucoup le début

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Vous parlez d'erreur. Quel est le texte de l'erreur ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 193
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Vous parlez d'erreur. Quel est le texte de l'erreur ?

    A +
    Merci pour la réponse, c'est le message d'erreur que j'ai mis sur la photo jointe à la discussion

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 998
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 998
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par eddyphan Voir le message
    Merci pour la réponse, c'est le message d'erreur que j'ai mis sur la photo jointe à la discussion

    le lien est invalide et l'image ne nous aide pas. Postez le TEXTE de l'erreur.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 193
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    le lien est invalide et l'image ne nous aide pas. Postez le TEXTE de l'erreur.

    A +
    L'erreur est la suivante :
    "Msg 8115, Level 16, State2, Procedure_Fond_de_Roulement_by_Societe, Line 75
    Arithmetic overflow error converting expression to data type int"

  7. #7
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2011
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 193
    Par défaut
    Citation Envoyé par 7gyY9w1ZY6ySRgPeaefZ Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    IF 1=0 BEGIN
        SET FMTONLY OFF
    END
    J'aime beaucoup le début
    Merci pour la réponse, je vais tester et vous revenir

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/07/2010, 16h50
  2. Réponses: 1
    Dernier message: 03/03/2009, 14h44
  3. Réponses: 5
    Dernier message: 17/02/2009, 14h07
  4. Syntax error converting character string to smalldatetime data type.
    Par Anthony.Desvernois dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/07/2007, 17h26
  5. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo