Buenas amigos, estoy iniciando en este mundo de los Stores Procedures, para ello estoy haciendo unos ejercicios pero aqui un problema con el siguiente:
 
Lo estoy creando con SQL 2008 R2 y los ejecuto desde VB, igualmente los ejecuto desde el SQL mismo y me da el mismo error, aqui el SP:    
Código SQL:
Ver original- SET ANSI_NULLS ON 
- GO 
- SET QUOTED_IDENTIFIER ON 
- GO 
-   
- ALTER PROCEDURE [dbo].[CALCULO_PRECIO] 
-      
-     @FECHA DATE, 
-     @MONTO INT,  
-     @DIF_DIA INT,  
-     @PORC INT, 
-     @PUN INT OUTPUT, 
-     @MONTO_TOT INT OUTPUT    
-   
- AS 
- BEGIN 
-      
-     SET @DIF_DIA = DATEDIFF(DAY, CONVERT(DATE,getdate(),103), @FECHA)    
-   
-                 IF @DIF_DIA > 30  
-                     SET @PORC = 20 
-                 ELSE 
-                 IF @DIF_DIA > 15   
-                     SET @PORC = 12 
-                 ELSE 
-                 IF @DIF_DIA > 7  
-                     SET @PORC = 8     
-                 ELSE  
-                 SET @PORC = 0 
-                  
-                 SET @PUN = @MONTO * @PORC / 100 
-                 SET @MONTO_TOT = @MONTO + @PUN 
-      
- END 
- GO 
Lo llamo pasando los 2 parametros que recibiria desde VB:     
Código SQL:
Ver original- EXEC dbo.CALCULO_PRECIO '04-07-2013', 200 
El error: 
Procedure or function 'CALCULO_PRECIO' expects parameter '@PUN', which was not supplied.  
Entiendo que esta esperando un valor en esa variable, pero esa variable esta seteada pasa su uso unicamente dentro del store. 
Ok, cualquier ayuda estaré muy agradecido-
Gustav.