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

  1. No RuB, configure a conexão JDBC identificada por connname.etiqueta (por padrão, aponta para rub_integracao).
  2. Garanta que o usuário de banco de dados tenha privilégios de INSERT na tabela RUBW_ETIQUETA.
  3. 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çãoColunas preenchidas na RUBW_ETIQUETAQuando utilizar
etiqueta_dbBanco de Dados SimplesID_LOJA, CODIGO, QTD_PRINTQuando o ERP precisa apenas da loja, do código do produto e da quantidade a imprimir.
etiqueta_usuario_dbBanco de Dados com UsuárioID_LOJA, CODIGO, USUARIO, QTD_PRINTQuando é necessário auditar qual operador solicitou a impressão da etiqueta.
etiqueta_usuario_ip_dbBanco de Dados com Usuário e IPID_LOJA, CODIGO, USUARIO, QTD_PRINT, IP_IMPRESSORAQuando a impressora de destino na loja física é identificada pelo IP/Host da solicitação.
etiqueta_timestamp_dbBanco de Dados com Usuário e Data/HoraID_LOJA, CODIGO, USUARIO, QTD_PRINT, DATA_HORAQuando o ERP necessita registrar o momento exato em que a solicitação foi efetuada.
etiqueta_timestamp_ip_dbBanco de Dados com Usuário, Data/Hora e IPID_LOJA, CODIGO, USUARIO, QTD_PRINT, DATA_HORA, IP_IMPRESSORARastreabilidade total: solicitante, data/hora e identificador da impressora.
writeremoteintfInterface via EmpresaDefinidas pelo writer configurado no servidor centralLojas 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

ColunaTipo sugeridoNulo?Preenchimento pelo RuB
ID_LOJAINTNãoCódigo da loja convertido de RuB para ERP (translateIdLojaFromRuBToERP).
CODIGOVARCHAR(20)NãoCódigo identificador do produto (código de cadastro ou EAN lido).
QTD_PRINTINTNãoQuantidade de etiquetas solicitadas pelo operador.
USUARIOVARCHAR(20)SimNome de login ou matrícula do operador solicitante (presente nos writers com usuário).
IP_IMPRESSORAVARCHAR(255)SimEndereço IP ou Host da impressora (sem espaços), enviado nos writers com IP.
DATA_HORADATETIME / TIMESTAMPSimData 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çãoPadrãoImpacto na integração por banco
EtiquetaPadraovazioTipo de etiqueta atribuído à solicitação quando não informado pelo coletor.
TipoImpressoraPadraovazioTipo de impressora padrão associado ao contexto de produto.
SolicitaQuantidadefalseSe ativo (true), força o coletor móvel a solicitar a quantidade de etiquetas ao operador (preenchendo QTD_PRINT).
ImprimirCadeiaDoProdutofalseDefine se o RuB utiliza a cadeia do produto para agrupar solicitações.
etiquetaPropriedadeParaordenacaoDeEtiquetaDeProdutovazioDefine a propriedade utilizada para ordenar as etiquetas gravadas em lote.
etiquetaExibicaoNomeImpressora0Define se exibe IP e nome (0) ou somente o nome (1) da impressora nos coletores.

Procedimento de Validação e Ativação

  1. Testar Conexão: Acesse o painel de conexões do RuB e execute o teste de conectividade na conexão connname.etiqueta.
  2. Validar Estrutura: Certifique-se de que a tabela RUBW_ETIQUETA possui todas as colunas necessárias para o driver escolhido.
  3. 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, CODIGO e QTD_PRINT (e USUARIO/DATA_HORA/IP_IMPRESSORA, se aplicável) foram gravados corretamente.
  4. 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.