Erro ao gerar aplicação de consulta

Utilizo o SC 9.9.24 com o banco Firebird.

Criei uma aplicação do tipo consulta e no comando SQL, chamo um procedimento. Na montagem da consulta o SC não apresenta nenhum problema. Mas quando executo a aplicação surge uma tela com essa mensagem:

2 = Undefined array key "outro"
/opt/NetMake/v9-php81/wwwroot/scriptcase/devel/generator/nm_gp_gera_lookup.php 1534

Se executo o procedimento externamente, com ou sem os parâmetros não apresenta erro algum.

Caro @amnalon,

Após realizarmos alguns testes levando em conta o cenário descrito por você acima e levando em conta que os testes foram feitos na versão 9.9.024(10), não foi retornado o erro acima e a aplicação executou normalmente.

Você poderia compartilhar conosco mais detalhes do procedimento que está sendo utilizado na montagem da Consulta, por gentileza?

Ficamos no aguardo do seu feedback.

Nossos cumprimentos!

create or alter procedure REL_BI_ATENDIMENTO (
UNIDADE integer default 0,
DATAINICIAL date default null,
DATAFINAL date default null,
ACESSO varchar(300) default ‘’,
ACAO varchar(300) default ‘’,
ATENDIMENTO varchar(300) default ‘’,
ENCAMINHAMENTO varchar(300) default ‘’)
returns (
COD_ATENDIMENTO integer,
COD_UNIDADE integer,
NME_UNIDADE varchar(100),
DATA date,
COD_USU varchar(32),
COD_PESSOA integer,
NME_PESSOA varchar(100),
DAT_NASCIMENTO date,
IDADE integer,
COD_USU_PRE varchar(32),
HORA_INICIO time,
HORA_ATENDIMENTO time,
DESCRICAO varchar(30000),
PROVIDENCIAS varchar(3000),
COD_BAIRRO_PESSOA integer,
COD_DOMICILIO integer,
VIOLENCIA_IDADE integer,
VIOLENCIA_ONDEOCORREU varchar(100),
VIOLENCIA_BO varchar(20),
VIOLENCIA_AGRESSOR varchar(100),
VIOLENCIA_IDADEAGRESSOR integer,
VIOLENCIA_ETNIAAGRESSOR integer,
VIOLENCIA_ESCOLARIDADEAGRESSOR integer,
VIOLENCIA_OCUPACAOAGRESSOR varchar(100),
VIOLENCIA_RELACAO varchar(100),
VISITADOMICILIAR varchar(3),
TIP_UNIDADE varchar(20))
AS
declare variable retornar varchar(3);
begin
for select COD_ATENDIMENTO, COD_UNIDADE, DATA, COD_USU, COD_PESSOA, COD_USU_PRE,
HORA_INICIO, HORA_ATENDIMENTO, DESCRICAO, PROVIDENCIAS, COD_BAIRRO_PESSOA,
COD_DOMICILIO, VIOLENCIA_IDADE, VIOLENCIA_ONDEOCORREU, VIOLENCIA_BO,
VIOLENCIA_AGRESSOR, VIOLENCIA_IDADEAGRESSOR, VIOLENCIA_ETNIAAGRESSOR,
VIOLENCIA_ESCOLARIDADEAGRESSOR, VIOLENCIA_OCUPACAOAGRESSOR,
VIOLENCIA_RELACAO, VISITADOMICILIAR, TIP_UNIDADE
from atendimentos
where atendimentos.data between :datainicial and :datafinal
and :unidade in (atendimentos.cod_unidade,0)
into COD_ATENDIMENTO, COD_UNIDADE, DATA, COD_USU, COD_PESSOA, COD_USU_PRE,
HORA_INICIO, HORA_ATENDIMENTO, DESCRICAO, PROVIDENCIAS, COD_BAIRRO_PESSOA,
COD_DOMICILIO, VIOLENCIA_IDADE, VIOLENCIA_ONDEOCORREU, VIOLENCIA_BO,
VIOLENCIA_AGRESSOR, VIOLENCIA_IDADEAGRESSOR, VIOLENCIA_ETNIAAGRESSOR,
VIOLENCIA_ESCOLARIDADEAGRESSOR, VIOLENCIA_OCUPACAOAGRESSOR,
VIOLENCIA_RELACAO, VISITADOMICILIAR, TIP_UNIDADE
do begin
retornar = ‘NAO’;

  if (acesso <> '') then begin
     acesso = ',' || acesso || ',';
     if (exists(select * from atendimentos_acessos
                where cod_atendimento = :cod_atendimento
                  and :acesso containing ',' || cod_config || ',')) then
         retornar = 'SIM';
      else
         retornar = 'NAO';
  end
  if (acao <> '') then begin
     acao = ',' || acao || ',';
     if (exists(select * from atendimentos_acoes
                where cod_atendimento = :cod_atendimento
                  and :acao containing ',' || cod_config || ',')) then 
         retornar = 'SIM';
      else
         retornar = 'NAO';
  end
  if (atendimento <> '') then begin
     atendimento = ',' || atendimento || ',';
     if (exists(select * from atendimentos_tipos
                where cod_atendimento = :cod_atendimento
                  and :atendimento containing ',' || cod_config || ',')) then 
         retornar = 'SIM';
      else
         retornar = 'NAO';
  end
  if (encaminhamento <> '') then begin
     encaminhamento = ',' || encaminhamento || ',';
     if (exists(select * from atendimentos_encaminhamentos
                where cod_atendimento = :cod_atendimento
                  and :encaminhamento containing ',' || cod_config || ',')) then 
         retornar = 'SIM';
      else
         retornar = 'NAO';
  end

  if (retornar = 'SIM') then begin
     select NME_PESSOA, dat_nascimento
     from pessoas
     where cod_pessoa = :cod_pessoa
     into NME_PESSOA, dat_nascimento;

     select NME_UNIDADE from unidade
     where cod_unidade = :NME_UNIDADE
     into nme_unidade;

     idade = datediff(year,:dat_nascimento, cast('now' as date));
     if (idade < 0) then idade = 0;

     suspend;
  end

end
end

SELECT
COD_ATENDIMENTO,
COD_UNIDADE,
DATA,
COD_USU,
COD_PESSOA,
NME_PESSOA,
DAT_NASCIMENTO,
IDADE,
COD_USU_PRE,
HORA_INICIO,
HORA_ATENDIMENTO,
DESCRICAO,
PROVIDENCIAS,
COD_BAIRRO_PESSOA,
COD_DOMICILIO,
VIOLENCIA_IDADE,
VIOLENCIA_ONDEOCORREU,
VIOLENCIA_BO,
VIOLENCIA_AGRESSOR,
VIOLENCIA_IDADEAGRESSOR,
VIOLENCIA_ETNIAAGRESSOR,
VIOLENCIA_ESCOLARIDADEAGRESSOR,
VIOLENCIA_OCUPACAOAGRESSOR,
VIOLENCIA_RELACAO,
VISITADOMICILIAR,
TIP_UNIDADE,
NME_UNIDADE
FROM
rel_bi_atendimento (0[bipessoa_unidade],
‘[bipessoa_datainicial]’,
‘[bipessoa_datafinal]’,
‘[bipessoa_acesso]’,
‘[bipessoa_acao]’,
‘[bipessoa_atendimento]’,
‘[bipessoa_encaminhamento]’)

se remover a passagem de parâmetros, também dá o erro.