Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Atualizar formulário tabular do Apex com PLSQL


Sim, é possível. Você pode excluir (ou desabilitar) os processos padrão, como ApplyMRU, e substituí-los por seus próprios processos PL/SQL para lidar com as matrizes de formulário tabular algo assim:
for i in 1..apex_application.g_f02.count loop
   update dept
   set    dname = apex_application.g_f03(i)
   where  deptno = apex_application.g_f02(i);
end loop;

No entanto, não é simples e há um pouco que você precisa saber para acertar, como:
  • Como as colunas do formulário tabular são mapeadas para matrizes como apex_application.g_f03 (veja a origem da página e procure os nomes dos controles, por exemplo, "f03_0001").
  • Como alguns tipos de itens, como caixas de seleção, funcionam de maneira diferente de outros
  • Como realizar o bloqueio otimista para evitar atualizações perdidas

Costumava haver um documento "como fazer" em apex.oracle.com que descrevia isso em detalhes, mas não consegui localizá-lo recentemente.