Carga de tabelas personalizadas
Carga de Tabelas Personalizadas
Com a disponibilização da funcionalidade de execução de relatórios no app Android, surgiu a necessidade de enviar para o banco de dados do dispositivo informações que possam ser usadas adicionalmente nestas consultas.
Para atender a esta necessidade, foram criadas 10 tabelas no banco de dados do app Android, com os seguintes nomes:Android:
- Tabela01
- Tabela02
- Tabela03
- Tabela04
- Tabela05
- Tabela06
- Tabela07
- Tabela08
- Tabela09
- Tabela10
Cada tabela é composta depor 10 campos,campos comde as seguintes descrições:texto:
- Campo01
- Campo02
- Campo03
- Campo04
- Campo05
- Campo06
- Campo07
- Campo08
- Campo09
- Campo10
Um exemplo de representação visual das tabelas, segue na imagem abaixo:


Uma
Recomendações consulta em linguagem SQL deverá ser desenvolvida, observando as particularidades de escrita para Microsoft SQL Server ou HANA, de acordo com o tipo de banco de dados utilizado pelo SAP Business One da empresa.
IMPORTANTE:
TodosEvite uso de*
em SELECTs. Especifique apenas os 10 camposforamnecessários.- Limite a
documentação suportam umaquantidadeilimitadadecaracteres,dados:contudoeviteneste sentido recomendamos que enviem para cada campo a menor quantidade possívelmilhões deinformações,linhas.evitandoUseo uso excessivo de informações armazenadas no dispositivo, assimfiltros comoreduzir o uso de dados para envio das informações ao dispositivo. Evitar o uso de * no SELECT, levando em consideração o tempo de processamento no banco de dados vs. a limitação de 10 colunas para envio, desta forma em seu SELECT informe o nome das 10 colunas que serão expostadas.Evitar consultas que gerem um número elevado de linhas, pense em consultas com limite de informação, como por exemplo de um período curto de data"últimos 30dias.Em um SELECT hipotético:SELECT A, B, C, D, E, F, G, H, I, J, K, L FROM TABonde cada letra representa o nome de uma coluna, estão sendo selecionadas 12 colunas, considerando que a tabela no dispositivo terá no máximo 10 colunas, dispense informar as colunas excedentes, como por exemplo K e L.Envie as informações de forma formatada, faça todas as conversões necessárias do lado do servidor, evitando processamento do lado do dispositivo (app Android)dias".AproveiteFormate os dados no servidor. O app Android não deve realizar conversões.- Concatenar dados quando possível: use melhor
oosuso de cada campo, concatenando10 camposem sua consulta e ocupando um único campo na tabela do dispositivo, lembre-se que está limitado a 10 colunas por linha/registro.disponíveis.
Como configurar
Para realizar a configuração de “Carga de tabelas personalizadas” para o app Android, os usuários com perfil de administração do CRM One deverão acessar, dentro doNo SAP Business One com o Add-on CRM One em execução:>o, acesse:
- Módulos
- CRM One
- Configurações
- Configurações gerais


AoAcesse: abrir o formulário de Configurações gerais, acessar:> Extensão CRM One > Sincronização app mobileclicar e clique no botão “Carga de tabelas personalizadas”.


No
Preenchimento formuláriodos de “Cadastro de consulta para carga de tabelas personalizadas”:campos:
- Marcar a opção “Ativo”
para o cadastro estar disponível para uso no app Android.. - Informar uma “Descrição”
parado uso. - Selecionar a
finalidade“Tabela”dedesejadauso(ex:deste cadastro.Tabela10). EmSelecionar“Tabela” selecionar em qual tabela o resultado da consulta será armazenado no dispositivo.Em“Tipo sincronização app”escolha entre as opções::- E – Excluir dados anteriores
Utilizando esta opção, durante cada sincronização das tabelas no app Android, todos os registro serão apagados antes de receber as novas informações. - I – Incrementar
Todas as informações recebidas em sincronizações anteriores do app Android serão mantidas e novos dados serão adicionados em novas linhas da tabela.
- E – Excluir dados anteriores
EmInserir“ConsultaaSQL/Hanaconsulta SQL (Mámáximo 10 colunas)”, informar a sua consulta personlizada..
Lembrete: Na elaboração da sua consulta poderão ser usadas “variáveis” que serão convertidas na execução.


Cenário de exemplo
Uma empresa usuária do CRM One App Android deseja customizar o “Dashboard Insights“, nesta customização o objetivo é saber quais são os clientes que não realizaram compras nos últimos 30 dias.
No SAP Business One as “Vendas” são oficializadas/faturadas no documento “Nota fiscal de saída”, que é o correspondente da tabela [OINV]. Porém esta não é uma tabela sincronizada do SAP Business One para o App CRM One (referindo-se a versão 2020.07.1.001 do App CRM One Android).
Para poder realizar esta customização será necessário enviar para uma tabela customizada o código dos clientes que compraram nos últimos 30 dias. As compras são representadas pela tabela OINV
, que não é sincronizada com o app.
A consulta/query emConsulta SQL para Microsoft SQL Server pode ser representada por:Server:
SELECT DISTINCT T0.[CardCode] FROM OINV T0 WHERE T0.[DocDate] >= DATEADD(DAY,-30,GETDATE())
A consulta/query emConsulta SQL para SAP HANA DB pode ser representada por:HANA:
SELECT DISTINCT T0."CardCode" FROM OINV T0 WHERE T0."DocDate" >= ADD_DAYS(NOW(), -30);
IMPORTANTE:Importante: AUtilize consultafiltros decomo exemplo#UserIDCRM#
podeou requerer alguma condição adicional, observem bem o número de registros gerados e as informações,#SlpCodeCRM#
para evitar a cargaexcesso de informações desnecessárias para o dispositivo de todos os usuários, ou seja, avalie usar uma condição WHERE com as variáveis #UserIDCRM# ou #SlpCodeCRM#.dados.


Com
Resumo ada consulta elaborada, acessar o SAP Business One:
> Módulos > CRM One > Configurações > Configurações geraisAo abrir o formulário de Configurações gerais, acessar:> Extensão CRM One > Sincronizaçconfiguração app mobileclicar no botão “Carga de tabelas personalizadas”.
- Marcar “Ativo”
. Preencher a “Descrição”o:com:Clientes faturados no mê
s.sSelecionarTabela:em “Tabela” a opção “Tabela10”.Tabela10
Em “Tipo sincronizaçãoo:app” selecionar “Excluir dados
anteriores”.anterioresEm “ConsultaSQL/HanaSQL: (Máximo 10 colunas)” informar a consulta SQL de acordo com oconforme tipo debanco de dados da empresa.banco)


Ao realizar a sincronização de dados do aplicativo Android o resultado da consulta será carregado para a respectiva tabela configurada, neste exemplo na “Tabela10”.
Pre
Pré-requisitos:
- CRM One Desktop Add-on 2020.07.6.002 ou superior
- App Android 2020.07.1.001 ou superior