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;