Stored Procedure retornando várias linhas

Ola!

Tenho algumas Stored Procedures no banco mysql. No ScritpCase, criei alguns métodos e neles preciso chamar as Procedures. Consegui fazer essa chamada através do método sc_lookup, porém o que consigo é apenas o retorno de um registro. Preciso que seja exibido várias linhas.

		//chama a stored procedure
	$sql="
		CALL sp_dados('{id}', $var, $nome, $cpf )
	";

	sc_lookup(dados, $sql);


	if ({dados} === false)
	{
	echo "Ocorreu um erro no acesso ao banco de dados - Dados repetidos.<BR>";
	}

	else
	{
		
			       echo   $rua = {dadosrepetidos[0][0]};
		  		echo $bairro = {dadosrepetidos[0][1]};
		  		echo $distrito = {dadosrepetidos[0][2]};
 }

Antes, eu executava as consultas dentro de cada método, utilizando a macro sc_select:

sc_select(busca, "
SELECT
CD_RUA,
DS_RUA,
DS_MUNICIPIO,
DS_DISTRITO,

FROM
tbl_logradouro

");

if (FALSE === {busca}) {
//sc_erro_mensagem(“Ocorreu um erro no acesso ao banco de dados.
”);
}
else {

//variavel auxiliar
$aux = 0;
$cont = 0;


while (!$busca->EOF) {
	$CD_RUA = $busca->fields[0];
	$DS_RUA = $busca->fields[1];
	$DS_MUNICIPIO  = $busca->fields[2];
	$DS_DISTRITO = $busca->fields[3]
}
	 $busca->MoveNext();
}
$busca->Close();

}

Esse código funcionava, porém vi a necessidade de otimizar com as Procedures e agora não estou sabendo fazer com que esse método busque mais de um registro.

Ja pesquisei em bastantes tópicos e não consegui achar uma solução para meu problema.
Alguem pode me ajudar?

Obrigada

Crie uma tabela temporária no MySQL tmp_sp_dados, engine Innodb, com os campos
desejados que quer trazer + o campo usr_login com char(255) e um
índice que contenha primeiro o campo usr_login e os outros desejados.

Na sua rotina > Procedure dentro MySQL coloque ele para
assim que entrar nela limpar somente os registros igual a [usr_login]
e depois para ir gravando, cada novo registro na tabela temporária + o usr_login

Depois voltando ao Scriptcase
na sua rotina call passe junto o [usr_login]


$sql ="
CALL sp_dados('{id}', $var, $nome, $cpf, [usr_login])
";

sc_exec_sql($sql);
sc_commit_trans();


/* Macro sc_select */

$sql ="
SELECT
	CD_RUA,
	DS_RUA,
	DS_MUNICIPIO,
	DS_DISTRITO
FROM
	tmp_sp_dados
WHERE
	usr_login = '[usr_login]';
";

sc_select(meus_dados, $sql);

/* Erro no select */
if ({meus_dados} === false) {
    // Sua Base + _erro
	sc_error_message("Ocorreu um erro no acesso ao</br>banco de dados: $sql.</br>");
}
else {

	/* Inclua aqui sua rotina de processamento */

	// Qtde de Registros Retornados.
	$_Qtde_Registros=$meus_dados->RecordCount();

    if ($meus_dados->EOF) {

        // sc_error_message("Nenhum valor foi retornado pelo banco.</br>");
		
        // CONTINUA...

	} else {

			while (!$meus_dados->EOF) {
					
					$_CD_RUA = $meus_dados->fields[0];
					$_DS_RUA = $meus_dados->fields[1];
					$_DS_MUNICIPIO = $meus_dados->fields[2];
					$_DS_DISTRITO = $meus_dados->fields[3];
					
					echo $_CD_RUA . "</br>";
					echo $_DS_RUA . "</br>";
					echo $_DS_MUNICIPIO . "</br>";
					echo $_DS_DISTRITO . "</br>";
					echo print str_pad('-', 40, '-') . "</br>";

					// Avança para o próximo registro do BANCO DE DADOS.
					$meus_dados->MoveNext();

			} // while (!$meus_dados->EOF)

	} // if ($meus_dados->EOF)

	// Limpa tudo até a conexão
	$meus_dados->Close();

} // sc_select(meus_dados,