[firebase-br] MASTER DETAIL com IBO

Gustavo Novaes gutonovaes19 em gmail.com
Quinta Julho 23 13:43:23 -03 2020


Boa tarde,
Na minha aplicação antiga (bde + paradox) tinha dificuldades em fazer uma
entrada de dados master-detail. Usava cached updates. O usuário poderia
inserir/editar dados na tabela pai e  na filha. Após gravar, fazia o apply
updates para persistir no banco.
O Modelo não funcionava bem. Passei a usar um exemplo de querys aninhadas
(2 tquerys relacionados), 1 provider, 2 clients datasest onde o 2o era
ligado ao tdatasetfield da query2. Beleza, assim ficou.

Agora que estou migrando pro IBO, deparei-me com um problema.
No banco paradox eu tinha uma estrutura semelhante a essa :

   1. Campo código, ALFA DE 8, CHAVE PRIMARIA
   2. CAMPO NOME, ALFA 60
   3. campo CodigoEndereco (autoincremento)

Tenho uma tabela Filial

   1. Campo CodigoDoPai (alfa de 8) PK
   2. Campo CodigoFilial (Alfa de 8) PK
   3. Nome da Filial
   4. Campo CodigoEndereço (autoincremento)

Tenho uma tabela de Endereços, que serve tando à empresa como à filial

   1. CodEndereco (inteiro) PK
   2. QuemGravou (alfa, 10) (valores vários EMPRESA ou FILIAL) PK
   3. Campos de endereço/localidades...

No modelo para FB os campos autoincremento passaram para bigint calculados
via sequence+trigger (na conversão que fiz automatica, via DataPump, que
gerou o script - mantive assim)

Pois bem, repetindo o que disse acima "cria ou altera uma empresa ou uma
filial, infomando codigo, nome e endereço, tudo de uma vez só, em cache,
que depois vai pro banco).

Não estou conseguindo fazer esse "efeito" com o IboQuery e não encontrei um
exemplo.  Já percebi que não poderei trabalhar com a SEQUENCE/TRIGGER (ou
poderei?), terei que controlar "manualmente" os numeradores.

Podem me ajudar por favor? Algma dica. Não queria ter que fazer no modelo
QUERY+PROVIDER+CLIENTDATASET.

Obrigado.


*Gustavo Novaes *


Mais detalhes sobre a lista de discussão lista