Se você deseja aplicar a segurança do SC, e ter controle sobre oque o usuário está fazendo não aconselho o Agata (ele pode ser usado dentro de iframe).
Para desenvolver algo específico usando apenas SC, primeiros passos:
- Ter um cadastro das tabelas permitidas a gerar relatórios, (você com certeza não vai querer liberar todas).
- Ter um cadastro dos campos permitidos (pode-se até ler os campos via instrução sql, mas aí vc libera todos os campos, não aconselho)
- Nesse cadastro, você deve guardar o tipo de campo, mascara, tamanho, decimais, label padrão
- ter uma tabela que guarde as querys geradas pelo usuário (este não deve ter acesso direto ao select) , guardar usuário criador.
- tabela querys x users (para aplicar a segurança do sc) guardar se usuario pode excluir, editar, ou só consultar
- tabela querys x campos (configurações de filtros, quebras, etc)
Aplicações:
- Gerador dinamico de relatorio (aconselho uma controle) Manutenção no layout do relatório.
- Consulta querys gerados (só mostra as dos usuario que criou e que tem acesso)
- Executor (Um form do tipo grid para funcionar como tela de filtro, e uma blank que é a geradora da consulta)
Esse seria um resumo sintético.
Uma super macro tem que ser desenvolvida que cria toda a lógica de quebras, somas, etc (seria um método padrão)
Isso seria um singelo começo.