CREATE OR ALTER procedure SPC_PARCELAMENTO_COBRANCA (
    ESTABELECIMENTO integer,
    NOTAFISCAL integer,
    PARCELA_TITULO integer,
    REMESSA varchar(20),
    SERIE_TITULO varchar(3))
returns (
    ESTABELECIMENTO_CODIGO integer,
    NUMERO_NOTAFISCAL integer,
    PARCELA integer,
    EMPRESA_CODIGO integer,
    REMESSA_NUMERO_BANCO varchar(20),
    CONTA_RECEBER_POSICAO integer,
    CONTROLE integer,
    VALOR_SALDO numeric(10,5),
    SERIE varchar(3),
    NFS_CONTROLE integer,
    EMPRESA_DESCRICAO varchar(50),
    DESC_EMPRESA varchar(100),
    CONTA_CONTABIL varchar(11),
    CCUSTO_CODIGO varchar(10),
    CLASSIFICACAO_FINANCEIRA varchar(6),
    CCUSTO_CODIGO_CLI varchar(10),
    CLASSIFICACAO_FINANCEIRA_CLI varchar(6),
    SITUACAO integer)
as
BEGIN
FOR SELECT
    A.ESTABELECIMENTO_CODIGO,
    A.NUMERO_NOTAFISCAL,
    A.PARCELA,
    A.EMPRESA_CODIGO,
    A.REMESSA_NUMERO_BANCO,
    A.CONTA_RECEBER_POSICAO,
    A.CONTROLE,
    A.VALOR_SALDO,
    A.SERIE,
    A.NFS_CONTROLE,
    EMP.RAZAOSOCIAL AS EMPRESA_DESCRICAO,
    FN_LPAD(EMP.CODIGO, 5, '0')||' - '||EMP.RAZAOSOCIAL AS DESC_EMPRESA,
    COALESCE(EMP.CONTA_CONTABIL, '') AS CONTA_CONTABIL,
    COALESCE(A.CCUSTO, '') AS CCUSTO_CODIGO,
    COALESCE(A.CLASSIFICACAO_CONTABIL, '') AS CLASSIFICACAO_FINANCEIRA,
    COALESCE(C.CCUSTO_CODIGO, '') AS CCUSTO_CODIGO_CLI,
    COALESCE(C.CLASSIFICACAO_FINANCEIRA, '') AS CLASSIFICACAO_FINANCEIRA_CLI,
    A.SITUACAO
FROM TBNFS_PARCELAMENTO A
INNER JOIN TBEMPRESA EMP ON EMP.CODIGO = A.EMPRESA_CODIGO
LEFT JOIN TBEMPRESA_CCUSTO C ON C.CODIGO = A.EMPRESA_CODIGO AND CURRENT_DATE BETWEEN C.DATA_INICIAL AND C.DATA_FINAL
WHERE A.SITUACAO = 1
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
   :ESTABELECIMENTO_CODIGO, :NUMERO_NOTAFISCAL, :PARCELA,
   :EMPRESA_CODIGO, :REMESSA_NUMERO_BANCO, :CONTA_RECEBER_POSICAO,
   :CONTROLE, :VALOR_SALDO, :SERIE, :NFS_CONTROLE, :EMPRESA_DESCRICAO,
   :DESC_EMPRESA, :CONTA_CONTABIL, :CCUSTO_CODIGO, :CLASSIFICACAO_FINANCEIRA,
   :CCUSTO_CODIGO_CLI, :CLASSIFICACAO_FINANCEIRA_CLI, :SITUACAO
DO SUSPEND;
END;