Pesquisar Dados Durante o Tempo de Execução
Caso de Uso
Uma necessidade comum é passar dados para um sistema de destino que deve ser 'enriquecido' com dados que não são nativos da fonte. A origem pode conter um valor que pode ser usado em uma pesquisa feita instantaneamente.
Exemplo 1
Este fluxo de operação procura novas Notas de Crédito no NetSuite, procura o ID do cliente SFDC e, em seguida, insere a nota de crédito no SFDC.
A transformação mapeia campos para um formato de arquivo simples que é gravado em um destino temporário.
Nesse script, o id interno é passado para uma variável global e inicia uma operação que executa a pesquisa.
A variável global é passada para uma consultar NetSuite
A transformação mapeia o externalId (que é o SFDC Id atribuído a esse cliente NetSuite em uma operação diferente) para um formato de arquivo simples.
A variável global é atribuída ao valor do campo.
Na transformação, o valor em 'entidade' é passado para CcccPppO2B__Conta__c, campo obrigatório para inserir uma Nota de Crédito.
Exemplo 2
A primeira operação procura novos pedidos de vendas do NetSuite e atualiza os dados no SFDC.
O campo 'Secondary_Customer__c' contém um mapeamento de pesquisa:
Uma função Jitterbit muito útil é SFLookup, que permite que Jitterbit passe soql para SFDC e obtenha um valor em retorno. Essa lógica verifica se um ID de cliente secundário está na origem, faz uma pesquisa e passa esse valor para o destino. Observe o uso de variáveis locais em vez de variáveis globais.
O que também é interessante é o uso de pesquisas de relacionamento. Por exemplo, em uma operação anterior, os valores Assistant_Technician_1/NetSuite_Internal_ID em SFDC são preenchidos. Nesta transformação, os relacionamentos com FX5__Job__c são expostos. Ao mapear o NetSuite_Internal_ID__c sob o Assistant_Technician_1__r (relacionamento), o SFDC realizará a pesquisa do ID do SFDC para nós. Caso contrário, seria necessário construir funções SFLookup.
Exemplo 3
Neste exemplo, um dos endpoints é o SQL Server e o endpoint contém os valores de carimbo de data/hora da operação em uma tabela.
Neste script, a função DBLookup() é usada para obter o valor do timestamp atual para preencher uma variável global, que é usado nas operações dependentes.