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ódigo | Usada por | Retorna |
|---|---|---|
LOAX.005 | ds_maritimo_rm | todos os marítimos |
LOAX.005.01 | ds_maritimo_centro_custo_rm | marítimos por centro de custo (param CCUSTO) |
LOAX.005.02 | ds_maritimo_sindicato_rm | marítimos por sindicato (param SINDICATO) |
LOAX.006 | ds_centro_custo_rm | centros de custo |
LOAX.011 | ds_porto_rm | portos |
LOAX.012 | ds_ferias_afastamento_rm | férias |
LOAX.013 | ds_ferias_afastamento_rm | afastamentos |
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:
- cada código LOAX acima existe no RM, na coligada/sistema corretos;
- o usuário do conector tem permissão de execução;
- 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 umsearchde 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(ofetch/undici falha com 500 por causa de headerssec-fetch-*imutáveis).
Verificação
- Executar
LOAX.006no console do RM retorna centros de custo. -
ds_centro_custo_rmcomsearchde 3+ chars retorna dados no Fluig. -
ds_ferias_afastamento_rmretorna férias/afastamentos para um marítimo conhecido (datas no formato Oracle).
Próximos passos
- Datasets — os datasets
*_rmque consomem essas sentenças. - Pós-deploy — verificação ponta a ponta.