Pular para o conteúdo principal

Integração RM (SOAP / LOAX)

Os dados de marítimos, centros de custo, portos, férias e afastamentos vêm do RM da TOTVS, consultados por sentenças SQL (RealizarConsultaSQL / WSConsultaSQL) identificadas por um código LOAX. Os datasets *_rm (ver Datasets) chamam essas sentenças.

As sentenças LOAX

CódigoUsada porRetorna
LOAX.005ds_maritimo_rmtodos os marítimos
LOAX.005.01ds_maritimo_centro_custo_rmmarítimos por centro de custo (param CCUSTO)
LOAX.005.02ds_maritimo_sindicato_rmmarítimos por sindicato (param SINDICATO)
LOAX.006ds_centro_custo_rmcentros de custo
LOAX.011ds_porto_rmportos
LOAX.012ds_ferias_afastamento_rmférias
LOAX.013ds_ferias_afastamento_rmafastamentos

O repositório versiona os envelopes SOAP de exemplo em xml_rm/ (LOAX.005.xml, LOAX.005.01.xml, LOAX.005.02.xml, LOAX.006.xml). As demais (011/012/013) também precisam existir no RM. Todas usam Coligada 1 e Sistema T:

<tot:RealizarConsultaSQL>
<tot:codSentenca>LOAX.006</tot:codSentenca>
<tot:codColigada>1</tot:codColigada>
<tot:codSistema>T</tot:codSistema>
<tot:parameters>?</tot:parameters>
</tot:RealizarConsultaSQL>

Cadastro no RM

As sentenças são cadastradas no RM (Gestão de Sentenças SQL), não no Fluig. Garanta que:

  1. cada código LOAX acima existe no RM, na coligada/sistema corretos;
  2. o usuário do conector tem permissão de execução;
  3. o WSConsultaSQL está exposto e acessível a partir do Fluig.

Contrato de datas (Oracle)

:::danger Formato de data obrigatório O banco do RM é Oracle com NLS American. Parâmetros de data (*_D) só aceitam DD-MON-YYYY em inglês — ex.: 25-SEP-2025. Formatos DD-MM-YYYY, DD/MM/YYYY, ISO e MM/DD/YYYY falham (ORA-01843 / ORA-01861). Os datasets já enviam nesse formato; ao criar/depurar uma sentença, respeite-o. :::

Padrão útil para filtros opcionais: (COL = :PARAM OR :PARAM IS NULL) com string vazia no parâmetro resolve como NULL no Oracle → a sentença retorna todas as linhas.

Particularidades de consumo

  • Os datasets de busca textual (ds_centro_custo_rm, ds_porto_rm) retornam vazio sem um search de 3+ caracteres — é o comportamento esperado, não um erro de deploy.
  • Erros de contagem de parâmetros do RM ecoam o SQL da sentença — útil para descobrir os nomes reais dos parâmetros (ex.: DATAINI_D).
  • Consumo (leitura) funciona por OAuth1; a partir de Node, use node:https (o fetch/undici falha com 500 por causa de headers sec-fetch-* imutáveis).

Verificação

  • Executar LOAX.006 no console do RM retorna centros de custo.
  • ds_centro_custo_rm com search de 3+ chars retorna dados no Fluig.
  • ds_ferias_afastamento_rm retorna férias/afastamentos para um marítimo conhecido (datas no formato Oracle).

Próximos passos

  • Datasets — os datasets *_rm que consomem essas sentenças.
  • Pós-deploy — verificação ponta a ponta.