Segue abaixo o script utilizado para este exemplo
Criando o pacote:
create or replace
PACKAGE PACOTE_SOFTWELL AS TYPE Smart_Cursor IS REF CURSOR;
PROCEDURE SP_ACAO_SOFTWELL (
XCursor OUT Smart_Cursor
);
END PACOTE_SOFTWELL;
Criando a procedure:
create or replace
PACKAGE BODY PACOTE_SOFTWELL AS
PROCEDURE SP_ACAO_SOFTWELL (
XCursor OUT Smart_Cursor
) AS
BEGIN
OPEN XCursor FOR
select aco_codigo as CODIGO, aco_nome as NOME from fr_acao ;
END SP_ACAO_SOFTWELL;
END PACOTE_SOFTWELL;
Esta procedure irá realizar uma consulta na tabela fr_acao e retornar seu conteúdo.
Crie o fluxo para executar a procedure.
O seu fluxo deverá ficar da seguinte forma:
Crie três variáveis para esta regra, uma do tipo Variante, uma Tabela e uma do tipo letras.
No 1º processamento utilize a função executar procedure, esta função irá retornar o cursor o qual será armazenado na variável do tipo Variante
No 1º parâmetro defina o nome do pacote junto com o nome da procedure neste exemplo, ‘PACOTE_SOFTWELL.SP_ACAO_SOFTWELL’.
No 2º parâmetro será passada uma lista contendo os parâmetros de entrada neste exemplo, não foi definido nenhum parâmetro de entrada para a procedure.
No 3º defina a conexão (Caso a conexão seja nula, será usada a conexão principal do sistema).
No 4º parâmetro são passados através de uma lista os tipos de retorno da procedure, neste caso crie uma lista e passe o valor ‘-10’ referente ao tipo Cursor.
No 2º processamento será obtida toda a seleção e transformada e uma tabela para sua utilização.
Utilize a função Obter Objeto da lista passando como parâmetros a variável que foi armazenada o cursor e a posição.
Guarde o retorno desta função em uma variável do tipo Tabela.
Como o ponteiro desta Tabela esta apontando para o registro 0, crie um processamento e utilize a função Tabela – Próximo registro.
Crie um loop para concatenar os valores obtidos.
Ao utilizar a função Campo passe como parâmetros a variável Tabela e o nome da coluna (utilizando letras) é recomendável que ao criar a procedure utilize alias para as colunas.
Ao final utilize a função Alertar aguardando Ok e como parâmetro passe a variável do tipo Letras a qual foi utilizada para concatenar todo o resultado da tabela.
Caso este tópico não tenha comentário satisfatório, envie e-mail para documentacao@softwell.com.br