Integração de Produto por Banco de Dados
A integração de Etiqueta de Produto por Banco de Dados registra as solicitações de impressão de etiquetas de gôndola e preço em uma tabela intermediária (RUBW_ETIQUETA) no banco de dados relacional de integração.
Nessa modalidade, o RuB não envia comandos diretamente para a impressora física: ele grava as solicitações solicitadas pelos operadores (via RuB Mobile ou RuB Web) para que o ERP, WMS ou serviço externo leia os registros e proceda com a impressão física ou controle de emissão.
graph LR
A[Operador RuB: Web / Coletor Mobile] -->|1. Solicita Etiqueta de Produto| B[IntfEtiquetaProduto]
B -->|2. Driver DB selecionado em INTF_ETIQUETA_PRODUTO| C[Etiqueta*DBWriter]
C -->|3. INSERT via JDBC connname.etiqueta| D[(Tabela RUBW_ETIQUETA)]
D -->|4. Leitura e Emissão| E[ERP / Serviço de Impressão Externo]
Configuração da Conexão JDBC
- No RuB, configure a conexão JDBC identificada por
connname.etiqueta(por padrão, aponta pararub_integracao). - Garanta que o usuário de banco de dados tenha privilégios de
INSERTna tabelaRUBW_ETIQUETA. - No cadastro de lojas, certifique-se de que a conversão de
ID_LOJA(de-para de identificador interno RuB para o código de loja no ERP) esteja devidamente parametrizada (RuBContext.translateIdLojaFromRuBToERP).
Opções de Drivers em INTF_ETIQUETA_PRODUTO
No programa de configuração do RuB, selecione uma das seguintes opções na propriedade INTF_ETIQUETA_PRODUTO conforme as necessidades de rastreabilidade do seu ERP:
Interface (ConfigEntry) | Nome em tela / Descrição | Colunas preenchidas na RUBW_ETIQUETA | Quando utilizar |
|---|---|---|---|
etiqueta_db | Banco de Dados Simples | ID_LOJA, CODIGO, QTD_PRINT | Quando o ERP precisa apenas da loja, do código do produto e da quantidade a imprimir. |
etiqueta_usuario_db | Banco de Dados com Usuário | ID_LOJA, CODIGO, USUARIO, QTD_PRINT | Quando é necessário auditar qual operador solicitou a impressão da etiqueta. |
etiqueta_usuario_ip_db | Banco de Dados com Usuário e IP | ID_LOJA, CODIGO, USUARIO, QTD_PRINT, IP_IMPRESSORA | Quando a impressora de destino na loja física é identificada pelo IP/Host da solicitação. |
etiqueta_timestamp_db | Banco de Dados com Usuário e Data/Hora | ID_LOJA, CODIGO, USUARIO, QTD_PRINT, DATA_HORA | Quando o ERP necessita registrar o momento exato em que a solicitação foi efetuada. |
etiqueta_timestamp_ip_db | Banco de Dados com Usuário, Data/Hora e IP | ID_LOJA, CODIGO, USUARIO, QTD_PRINT, DATA_HORA, IP_IMPRESSORA | Rastreabilidade total: solicitante, data/hora e identificador da impressora. |
writeremoteintf | Interface via Empresa | Definidas pelo writer configurado no servidor central | Lojas filiais remotas sem conexão direta com o banco de dados central (ver seção abaixo). |
Especificação da Tabela RUBW_ETIQUETA
A tabela RUBW_ETIQUETA deve ser criada no esquema de banco apontado pela conexão connname.etiqueta (rub_integracao).
Dicionário de Colunas
| Coluna | Tipo sugerido | Nulo? | Preenchimento pelo RuB |
|---|---|---|---|
ID_LOJA | INT | Não | Código da loja convertido de RuB para ERP (translateIdLojaFromRuBToERP). |
CODIGO | VARCHAR(20) | Não | Código identificador do produto (código de cadastro ou EAN lido). |
QTD_PRINT | INT | Não | Quantidade de etiquetas solicitadas pelo operador. |
USUARIO | VARCHAR(20) | Sim | Nome de login ou matrícula do operador solicitante (presente nos writers com usuário). |
IP_IMPRESSORA | VARCHAR(255) | Sim | Endereço IP ou Host da impressora (sem espaços), enviado nos writers com IP. |
DATA_HORA | DATETIME / TIMESTAMP | Sim | Data e hora em que o RuB gerou a solicitação de impressão. |
DDL de Criação Sugerido (SQL ANSI)
CREATE TABLE RUBW_ETIQUETA (
ID_LOJA INT NOT NULL,
CODIGO VARCHAR(20) NOT NULL,
QTD_PRINT INT NOT NULL DEFAULT 1,
USUARIO VARCHAR(20),
IP_IMPRESSORA VARCHAR(255),
DATA_HORA TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX IDX_RUBW_ETQ_LOJA_PROD ON RUBW_ETIQUETA (ID_LOJA, CODIGO);
Interface via Empresa (Proxy Remoto)
A opção Interface via Empresa serve exclusivamente para integração com banco de dados fazendo proxy via servidor central.
graph LR
A[Loja / Filial] -->|1. Envia solicitação HTTP| B[Servidor Central RuB]
B -->|2. Executa Gravação no Banco Central| C[(Tabela RUBW_ETIQUETA / rub_integracao)]
Para que serve
- Em topologias onde as filiais não possuem rota direta ou permissão de rede para acessar o banco de dados central do ERP, a filial não pode executar comandos diretos na tabela
RUBW_ETIQUETA. - A Interface via Empresa atua como um proxy transparente: a loja encaminha a carga da solicitação ao servidor central do RuB, e o servidor central grava as linhas na tabela
RUBW_ETIQUETA.
A Interface via Empresa não efetua impressões em impressoras físicas nem gera arquivos em disco na filial: sua única finalidade é encaminhar a solicitação de integração de banco de dados para gravação centralizada.
Disponibilidade em tela
A opção Interface via Empresa só é exibida na seleção de interfaces quando a loja estiver configurada como remota com servidor central ativo.
Parâmetros Funcionais Relacionados
As seguintes configurações influenciam a coleta e geração das solicitações antes da gravação no banco:
| Configuração | Padrão | Impacto na integração por banco |
|---|---|---|
EtiquetaPadrao | vazio | Tipo de etiqueta atribuído à solicitação quando não informado pelo coletor. |
TipoImpressoraPadrao | vazio | Tipo de impressora padrão associado ao contexto de produto. |
SolicitaQuantidade | false | Se ativo (true), força o coletor móvel a solicitar a quantidade de etiquetas ao operador (preenchendo QTD_PRINT). |
ImprimirCadeiaDoProduto | false | Define se o RuB utiliza a cadeia do produto para agrupar solicitações. |
etiquetaPropriedadeParaordenacaoDeEtiquetaDeProduto | vazio | Define a propriedade utilizada para ordenar as etiquetas gravadas em lote. |
etiquetaExibicaoNomeImpressora | 0 | Define se exibe IP e nome (0) ou somente o nome (1) da impressora nos coletores. |
Procedimento de Validação e Ativação
- Testar Conexão: Acesse o painel de conexões do RuB e execute o teste de conectividade na conexão
connname.etiqueta. - Validar Estrutura: Certifique-se de que a tabela
RUBW_ETIQUETApossui todas as colunas necessárias para o driver escolhido. - Emitir Solicitação de Teste:
- Pelo RuB Web ou RuB Mobile, solicite a impressão de 2 etiquetas para um produto de teste.
- Execute a consulta:
SELECT * FROM RUBW_ETIQUETA WHERE CODIGO = 'CODIGO_DO_PRODUTO'; - Confirme se
ID_LOJA,CODIGOeQTD_PRINT(eUSUARIO/DATA_HORA/IP_IMPRESSORA, se aplicável) foram gravados corretamente.
- Verificar Consumo pelo ERP: Certifique-se de que a rotina ou job do ERP processa o registro inserido e realiza a limpeza ou marcação da fila.