CREATE OR ALTER procedure SPC_PARCELAMENTO_OCORRENCIA (
    ESTABELECIMENTO integer,
    NOTAFISCAL integer,
    PARCELA_TITULO integer,
    REMESSA varchar(20),
    SERIE_TITULO varchar(3))
returns (
    NFS_PARCELAMENTO_CONTROLE integer,
    BANCO_CODIGO integer,
    RETORNO_ARQUIVO varchar(50),
    RETORNO_CODIGO integer,
    OCORRENCIA_CODIGO integer,
    CONTROLE integer,
    RETORNO_DATA date)
as
BEGIN
FOR SELECT
    B.NFS_PARCELAMENTO_CONTROLE,
    B.BANCO_CODIGO,
    B.RETORNO_ARQUIVO,
    B.RETORNO_CODIGO,
    B.OCORRENCIA_CODIGO,
    B.CONTROLE,
    B.RETORNO_DATA
FROM TBNFS_PARCELAMENTO A, TBNFS_PARCELAMENTO_OCORRENCIA B
WHERE  (A.CONTROLE = B.NFS_PARCELAMENTO_CONTROLE)
  AND ((A.ESTABELECIMENTO_CODIGO = :ESTABELECIMENTO
  AND   A.NUMERO_NOTAFISCAL      = :NOTAFISCAL
  AND   A.SERIE                  = :SERIE_TITULO
  AND   A.PARCELA                = :PARCELA_TITULO)
   OR  (A.REMESSA_NUMERO_BANCO   = :REMESSA))
INTO
   :NFS_PARCELAMENTO_CONTROLE, :BANCO_CODIGO,
   :RETORNO_ARQUIVO,:RETORNO_CODIGO,:OCORRENCIA_CODIGO,
   :CONTROLE, :RETORNO_DATA
DO SUSPEND;
END;