Muchas gracias por tu ayuda, ahora ya atengo el cuerpo del procedimiento almacenado pero al ejecutarlo marca error para las lineas donde esta declare y otros errores mas abajo. Entendi que para usar variables internas al procedimientio van despues del AS, y las de entrada y retorno van despues de create procedure. Coloco a continuacion el codigo que tengo...porque no he podido solucionar este problemilla. Gracias.
Código SQL
[-]-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
--SET ANSI_NULLS ON
--GO
--SET QUOTED_IDENTIFIER ON
--GO
-- =============================================
-- Author:
-- Create date: <Create Date,,>
-- Description:
-- =============================================
CREATE PROCEDURE GENERAR_FOLIO
-- Add the parameters for the stored procedure here
--<@Param1, sysname, @p1> int> = ,
--<@Param2, sysname, @p2> int> =
@ID_UMAE INT,
@ID_PACIENTE INT,
@FOLIO CHAR(13) OUTPUT,
@DES_UMAE CHAR(50) OUTPUT,
@CVE_PRESUPUESTAL CHAR(13) OUTPUT
AS
declare @CONSECUTIVO int,
declare @NEWCONSECUTIVO int,
declare @LARGO int,
declare @DIFERENCIA int,
declare @COMPLETAR char(5),
declare @COD_UMAE int,
declare @ANIO char(4),
declare @DIGIANIO CHAR(2)
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
--SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
SELECT SET @CONSECUTIVO=tbl_usrporumae.consecutivo FROM tbl_usrporumae
WHERE tbl_usrporumae.id_umae=@ID_UMAE
SET @ANIO=substring(convert(char(8), getdate(),112),1,4)
SET @DIGIANIO=substring(@ANIO,3,4)
SET @NEWCONSECUTIVO=@CONSECUTIVO+1;
SET @LARGO=5;
SET @DIFERENCIA=@LARGO-LEN(STR(@NEWCONSECUTIVO,10);
SET @COMPLETAR=''
if (@DIFERENCIA=4)
SET @COMPLETAR='0000'
If (@DIFERENCIA=3)
SET @COMPLETAR='000'
if (@DIFERENCIA=2)
SET @COMPLETAR='00'
if (@DIFERENCIA=1)
SET @COMPLETAR='0'
set @FOLIO=@COD_UMAE+'-'+@DIGIANIO+'-'+@COMPLETAR+str(NEWCONSECUTIVO,10));
UPDATE tbl_usrporumae SET tbl_usrporumae.consecutivo=@NEWCONSECUTIVO
WHERE tbl_usrporumae.id_umae=@ID_UMAE;
UPDATE tblpaciente SET tblpaciente.imp_e='T',
tblpaciente.id_umae=@ID_UMAE, TBLPACIENTE.fecha_impresione=getdate() where tblpaciente.id=@id_paciente;
END
GO