IF EXISTS (SELECT * FROM SYSOBJECTS O, SYSUSERS U
                    WHERE
	        O.NAME = 'CURSOR_LOCAL' AND
	        TYPE = 'P'                    AND
	        U.UID = O.UID                 AND
	        U.NAME = USER)

   DROP PROCEDURE CURSOR_LOCAL
   GO

CREATE PROCEDURE CURSOR_LOCAL
  @P_CDPRODUTO     VARCHAR(10),
  @P_CDFILIAL      VARCHAR(04),
  @P_CURSOR_LOC    CURSOR VARYING OUTPUT

AS
  SET @P_CURSOR_LOC = CURSOR FORWARD_ONLY STATIC FOR
     SELECT
        RL.CDFILIAL, RL.CDPRODUTO, RL.CDSUBPRODLOC AS CDSUBPRODUTO,
        RL.QTSUBPRODLOC AS QTSUBPRODROT,
        RL.NRHRFABPRLOC AS NRHRFABPROD, RL.IDIMPPROTLOC AS IDIMPPRODROT,
        RL.NRSEQPRODLOC AS NRSEQPROD,
        PT.NMPRODUTO, PT.SGUNIDADE
     FROM
        PRODUTO PT,
        ROTFABLOCAL RL LEFT JOIN DESCROTLOCAL DL
                       ON ((RL.CDFILIAL  = DL.CDFILIAL) AND
                           (RL.CDPRODUTO = DL.CDPRODUTO))
     WHERE
        (RL.CDSUBPRODLOC = PT.CDPRODUTO   ) AND
        (RL.CDFILIAL     = @P_CDFILIAL     )  AND
        (RL.CDPRODUTO    = @P_CDPRODUTO    )

     OPEN @P_CURSOR_LOC
GO