Executa procedures utilizando os modos IN, OUT e/ou INOUT (dependendo do banco utilizado) e retorna uma lista de dados da mesma.

Figura 1 - Bloco Executar procedure com IN e/ou OUT
Compatibilidade
- Bloco servidor: cronapi.database.Operations.executeProcedureInOut()
Retorno
Retorna uma lista de dados gerada pela execução de uma procedure.
Parâmetros
Namespace
Nome do pacote da entidade (diagrama de dados) que contém a procedure.
- Posição: 1
- Inglês: Namespace
- Tipo: Texto / String
- Exemplo: "app"
Nome do procedimento
Nome da procedure no banco de dados.
- Posição: 2
- Inglês: Procedure name
- Tipo: Texto / String
- Exemplo: "minha_procedure"
Mapa de parâmetros
Define os nomes do(s) parâmetros. A ordem de como foi definido o(s) parâmetro(s) na procedure deve ser a mesma ordem listada em cada parâmetro do bloco.
- Posição: 3
- Inglês: Parameter map
- Tipo: Objeto / Object
- Exemplo: utilize o bloco Criar mapa com.
Lista de tipos de modos
Define os modos do(s) parâmetro(s). O tipo IN, indica que o parâmetro é de entrada. O tipo INOUT, indica que o parâmetro pode ser tanto de entrada quanto de saída. E o tipo OUT, indica que o parâmetro é de saída.
- Posição: 4
- Inglês: List of mods type
- Tipo: Lista / List
- Exemplo: "IN"
Lista de tipos de parâmetros
Define os tipos de classe java. Utilize o bloco Criar lista com para passar mais de um parâmetro.
- Posição: 5
- Inglês: List of parameter types
- Tipo: Lista / List
- Exemplo: "java.lang.Integer"
Exemplo
Neste exemplo, começamos criando uma procedure no banco de dados MySQL (Figura 2). O objetivo dessa procedure é calcular e retornar o título dos livros e o valor total, baseado na quantidade especificada pelo usuário.

Figura 2 - Procedure criada
A função Executar procedure com IN e/ou OUT (Figura 2.1) faz a sua chamada, onde deve ser informado o nome do pacote (namespace) da tabela, o nome da procedure, um mapa contendo o nome da variável definida na procedure com seu valor, uma lista informando qual é o modo dessa variável (IN, OUT ou INOUT) e o tipo JAVA dessa variável.

Figura 2.1 - Exemplo de uso do bloco Executar procedure com IN e/ou OUT