Compartilhando dados não vinculativos entre painéis no Jitterbit App Builder
No App Builder, vinculação compartilhada permite que painéis troquem dados sem a necessidade de complexos joins SQL cruzados dentro de um objeto de negócios. Joins tradicionais podem ser intensivos em recursos e podem degradar o desempenho da aplicação. A vinculação compartilhada contorna isso ao tornar um valor específico de um painel pai disponível para a lógica de um painel filho através da função shared().
Enquanto a vinculação padrão de painel depende de correspondências exatas de ID para filtrar resultados, a vinculação compartilhada é usada para passar variáveis que podem ser referenciadas em qualquer lugar no SQL, regras CRUD ou ações do painel de destino. Este recurso é um componente chave das relações entre painéis e não se limita a links de página para página.
Cenário de exemplo: Atribuições de projetos
Para ilustrar este conceito, considere uma página contendo uma lista de Projetos e uma lista de Funcionários. O objetivo é permitir que um usuário atribua um funcionário a um projeto clicando em um botão. Neste caso, o painel Projeto compartilhará seu ID com o painel Funcionário para que um registro de atribuição possa ser criado.
Passo 1: Atualizar a regra de negócios do Funcionário
O primeiro passo é preparar o painel filho para receber os dados compartilhados. Você deve atualizar a regra de negócios que suporta o painel Funcionário adicionando uma nova coluna que utiliza a função compartilhada. Por exemplo, adicione uma coluna à regra Funcionário (Fonte) usando a sintaxe shared('ProjectID'). Você deve aliasar isso como ProjectID e garantir que o tipo de dado lógico esteja definido como ID Único.

Passo 2: Criar uma regra CRUD/Cram
Em seguida, crie uma regra CRUD/Cram envolvendo as tabelas Funcionário e Projeto para lidar com a inserção da atribuição. Esta regra mapeará EmployeeID e ProjectID para seus respectivos alvos, usando NEWUUID() para gerar um identificador único para a nova relação projeto-funcionário.
Passo 3: Registre a ação e o evento
Com a regra criada, adicione-a como uma ação dentro de um novo evento personalizado, como "AssignEmployee", no objeto de negócios Employee. Para que esta operação funcione corretamente, defina o Refresh Scope como Global. Durante o registro, você deve configurar dois registros de vinculação para a ação mapear o EmployeeID e o ProjectID compartilhado.
Passo 4: Implemente o controle de UI
Para permitir que os usuários acionem a lógica, adicione um controle Button (rotulado "Assign") ao painel Employee. Associe este botão ao evento personalizado "AssignEmployee" criado no passo anterior.
Passo 5: Configure a vinculação do painel compartilhado
O passo final é estabelecer a relação real entre os painéis. Na tela de edição da página, configure a vinculação do painel para que o painel Employee esteja vinculado ao painel Projects.
Inicialmente, o sistema irá definir um tipo de vinculação padrão. Você precisará selecionar uma coluna para o pai (ProjectID) e o filho. Uma vez que o registro é criado, abra as propriedades das colunas de vinculação e mude o Type de "Binding" para "Shared". Isso confirma que a relação é destinada apenas a passar o valor de ProjectID para o objeto de negócios do painel filho, em vez de filtrar os resultados do painel filho com base em uma correspondência exata.
Após atualizar o aplicativo, selecionar um projeto e clicar em Assign em um funcionário irá vincular com sucesso os dois registros. Este processo demonstra como os dados podem ser compartilhados e utilizados de forma eficiente entre os painéis.
Dica
Valores compartilhados são altamente versáteis. Dependendo do seu caso de uso específico, uma coluna compartilhada pode ser usada dentro de instruções SELECT para exibição ou referenciada em cláusulas WHERE para direcionar a lógica de filtragem personalizada entre ações.