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
| CREATE Proc TOPS_MAJ_OPERATION
@Marche char(1),
@RefOpe varchar(16) OUTPUT ,
@Sens varchar(1),
@CdeVal varchar(9),
@CdeCtptie varchar(6),
@DateNego char(8),
@Prix varchar(20),
@Nominal varchar(20),
@MntCC varchar(20),
@MntNet varchar(20),
@OperateurModif char(3),
@HreNego char(4),
@Commentaire text
WITH RECOMPILE
AS
DECLARE @Principal decimal(18,2)
DECLARE @DateSaisie datetime
DECLARE @error int
SELECT @error=0
BEGIN TRANSACTION
--Gestion d'erreur
IF @error<>0 GOTO ROLLBACK_ON_ERROR
--Constitution de la nouvelle Réference opération si changement de Marché
set @RefOpe=@Marche + substring(@RefOpe,2,len(@RefOpe))
--Calcul du principal
set @principal=(cast(@Nominal as decimal(18,2))*cast(@Prix as decimal(18,3)))/100
set @DateSaisie=CURRENT_TIMESTAMP
--Insertion des champs dans la table Titres
UPDATE T_Operations
SET
ReferenceOpe=@RefOpe, Sens=@Sens, CodeValeur=@CdeVal, CodeCtpie=@CdeCtptie, DateNego=@DateNego, DateSaisie=@DateSaisie, Prix=cast(@Prix as decimal(18,3)), Nominal=cast(@Nominal as decimal(18,2)), Principal=@Principal, MntCC=cast(@MntCC as decimal(18,2)), MntNet=cast(@MntNet as decimal(18,2)),OperateurModif=@OperateurModif,HeureNego=@HreNego,Commentaire=@Commentaire
WHERE ReferenceOpe=@RefOpe
--Gestion d'erreur
IF @error<>0 GOTO ROLLBACK_ON_ERROR
--Validation de l'ajout
COMMIT TRANSACTION
RETURN
ROLLBACK_ON_ERROR:
ROLLBACK TRANSACTION
GO |
Partager