Ação de Database

1. Geral

No Mitra, as ações de database permitem que você execute INSERTS, UPDATES e DELETES diretamente nos registros do banco de dados, usando componentes como labels, tabelas e listas

2. Como Adicionar uma Ação de Database

  • Selecione o Componente: No componente desejado, vá até a área de “Interações”.

  • Escolha a Interação: Selecione a opção “Ação de Database”. Você pode criar uma nova ação ou selecionar uma ação de database já existente.

3. Configuração da Ação de Database

Ao configurar uma ação de database, você verá os seguintes elementos na interface:

  • Dicionário de Dados: No lado direito, será exibido o dicionário com todas as tabelas e colunas disponíveis para manipulação via INSERTS, UPDATES e DELETES.

  • Variáveis de Filtro e Input: Todas as variáveis do contexto da tela e variáveis de input configuradas estarão disponíveis. Isso permite que você utilize informações dinâmicas, como filtros aplicados ou dados inseridos pelo usuário, diretamente nas suas ações de database. Para mais detalhes sobre as variáveis, acesse a documentação “VIEW de SQL”. 

4. Teste de Script

Depois de configurar sua ação de database, você pode testar os scripts para garantir que estão funcionando conforme o esperado. Isso envolve testar o DML (Data Manipulation Language) e verificar se os comandos INSERT, UPDATE ou DELETE estão sendo executados corretamente. Após o teste, confirme a configuração da ação e o script será ativado nas interações do componente.

5. Exemplos

5.1. Deletando Vendedores

Neste exemplo, vamos configurar uma ação de database para deletar vendedores diretamente de uma lista.

  • Componente: Lista de vendedores.

  • Interação: Ao clicar em um botão de "Excluir", a ação de database executa o seguinte script:

DELETE FROM CAD_1005 WHERE ID = :

Aqui, :ID_VENDEDOR é uma variável que captura o ID do vendedor selecionado na lista. O sistema de variáveis do Mitra garantirá que o delete seja aplicado corretamente.

5.2. Criando Vendedores a partir de Inputs

Neste caso, você colocará inputs na tela (por exemplo, para nome, cidade, e salário do vendedor) e, ao clicar no botão "Salvar", a ação de database executará um INSERT com base nos valores desses inputs.

  • Componente: Inputs de nome, cidade e salário.

  • Interação: Ao clicar no botão "Salvar", a ação de database executa o script:

INSERT INTO CAD_1005 (ID, DESCR, FOTO_PERFIL, SALARIO)
SELECT (MAX(ID)+1) AS ID, :INPUT__2673, :INPUT__2689, :INPUT__2676
FROM

As variáveis :INPUT_2673, :INPUT_2689 e :INPUT_2676 são preenchidas pelos valores dos inputs na tela.

5.3. Atualização de Tarefa

Neste exemplo, você tem uma lista de tarefas, e cada tarefa possui um botão de "Concluir". Ao clicar nesse botão, um UPDATE será feito para marcar a tarefa como concluída.

  • Componente: Lista de tarefas com um botão "Concluir".

  • Interação: Ao clicar no botão "Concluir", a ação de database executa o seguinte script:

UPDATE CAD_1017 SET ID_STATUS = 2 WHERE ID = :

A variável :ID_TAREFA é obtida a partir da linha selecionada na lista.

5.4. Sequência de DML: Transferência de produtos entre lojas

Em uma ação de database, você pode incluir múltiplos comandos DML. Por exemplo, você tem uma lista de tarefas e deseja criar uma ação de database para marcar uma tarefa como concluída e, ao mesmo tempo, registrar essa tarefa na lista de tarefas concluídas.

  • Componente: Uma lista com as tarefas e outra lista com as tarefas concluídas.

  • Interação: Ao clicar no botão "Concluir", a ação de database executa os seguintes scripts:

5.4.1. UPDATE

Primeiro, o status da tarefa é atualizado para 'Concluída' na lista original de tarefas.

UPDATE CAD_1017 SET ID_STATUS = 2 WHERE ID = :

Aqui, :ID_TAREFA captura o ID da tarefa que está sendo concluída. A coluna STATUS da tarefa é alterada para 'Concluída'.

5.4.2. INSERT

Em seguida, a tarefa é registrada na lista de tarefas concluídas.

INSERT INTO CAD_1019 (ID, DESCR) 
  SELECT ID, DESCR, FROM CAD_1017 WHERE ID = :

Aqui, as informações da tarefa (ID, título e descrição) são copiadas da lista original de tarefas. A variável :ID_TAREFA garante que a tarefa correta seja copiada para a lista de tarefas concluídas.

Assim, você pode configurar a sequência de scripts dentro de uma única ação de database, que serão executados na ordem definida.

Procurar

Procurar