← Projetos

Guia de arquitetura

Integração no JD Edwards EnterpriseOne

Orchestrator, Z-files, Business Services, Real-Time Events, UBEs, business functions, EDI, conectores legados e SQL: como cada opção funciona, que arquitetura pede, o que a equipe precisa saber e quando usar.

Como escolher

No JD Edwards EnterpriseOne existem várias formas de integração. A escolha depende principalmente de três coisas: se a interface é em tempo real ou em lote, se o JDE envia ou recebe os dados, e qual versão do Tools Release você usa. [7] [15]

Por trás das três perguntas há um princípio que vale para todas as opções: as regras de negócio do JDE moram nas aplicações e nas business functions, não no banco de dados. Toda integração que grava dados precisa passar por essa camada. O que muda de uma opção para outra é a porta de entrada, o protocolo e a latência.

  1. Latência. Tempo real significa uma transação por chamada, com resposta em segundos, quase sempre síncrona. Lote significa volumes grandes processados em janelas, com a possibilidade de corrigir e reprocessar o que falhou.
  2. Direção. Entrada é quando o JDE recebe dados (um pedido criado por um portal). Saída é quando o JDE envia ou avisa (um pedido aprovado que precisa chegar ao armazém). Algumas opções servem aos dois sentidos.
  3. Tools Release. É a versão da base técnica do JDE, independente da versão das aplicações (9.2). O Orchestrator existe no Tools 9.2 e ganha recursos a cada atualização; ambientes em Tools antigos dependem de Business Services ou de conectores. [5]
Árvore de decisão: tempo real e o JDE recebe leva ao Orchestrator/AIS (ou BSSV em Tools antigo); tempo real e o JDE envia leva a RTE ou notificações; em lote, documento padrão com parceiro leva a EDI, layout de arquivo próprio leva a UBE ou Table Conversion, e o restante leva a Z-files. SQL só para leitura.
Três perguntas bastam para chegar à opção certa na maioria dos casos.

Glossário mínimo

AIS Server
Application Interface Services: servidor que expõe o JDE como serviços REST com JSON.
Orchestrator
Motor que roda no AIS Server e executa orquestrações, sequências de passos desenhadas no Orchestrator Studio.
Tools Release
Versão da camada técnica do JDE (runtime, servidores, ferramentas), atualizada separadamente das aplicações.
UBE
Universal Batch Engine: programa em lote (relatório ou processo), identificado por um R, como R09110Z.
BSFN
Business function: função reutilizável em C ou em NER (Named Event Rules, gerada em C).
MBF
Master business function: BSFN que encapsula uma transação inteira, como o pedido de venda.
Z-file
Tabela de interoperabilidade (interface table) usada como área de espera para lotes.
OMW e UDO
Object Management Workbench controla objetos de desenvolvimento; UDOs (user defined objects) são objetos criados por usuários, como orquestrações.
JDENET
Protocolo interno de comunicação entre os servidores do JDE.
CNC
Configurable Network Computing: a administração técnica do JDE (servidores, pacotes, segurança).

Onde cada opção se encaixa

Uma instalação do JDE tem vários servidores, e cada opção de integração conversa com um deles. O Enterprise Server executa as business functions e os UBEs. O HTML Server (JAS) executa as aplicações web. O AIS Server, o Business Services Server e o Transaction Server são servidores Java em WebLogic (ou WebSphere, em alguns casos), instalados e administrados pelo Server Manager. [4]

Panorama: sistemas externos à esquerda chamam o AIS Server por REST, o Business Services Server por SOAP e recebem eventos do Transaction Server; BI lê o banco por SQL; cargas em lote usam Z-files; parceiros EDI usam as tabelas F47. O Enterprise Server acessa o banco.
Cada opção entra no JDE por um servidor diferente, mas todas as gravações terminam na lógica do Enterprise Server.

Para o arquiteto de infraestrutura, cada servidor adicional é uma instância a dimensionar, atualizar, monitorar e proteger. As versões suportadas de WebLogic, Java, sistema operacional e banco são definidas pela matriz de certificações da Oracle para o Tools Release em uso.

Orchestrator e AIS Server

Direção
Entrada e saída
Latência
Tempo real ou agendado
Protocolo
REST / JSON sobre HTTPS
Posição da Oracle
Caminho recomendado

Explicação conceitual e técnica

O AIS Server é um servidor de serviços REST que, configurado junto com o HTML Server, dá acesso a formulários e dados do EnterpriseOne por JSON sobre HTTP. [3] O Orchestrator usa o AIS Server como base e processa as orquestrações salvas nele para transformar dados externos em processos de negócio no JDE. [1]

Conceitualmente, ele é uma fachada de API: quem chama não precisa saber qual tela, versão ou business function usar. Chama um endpoint com nome de negócio, como CriarPedidoVenda, e a orquestração cuida do resto. Isso separa o contrato da integração da implementação dentro do JDE.

Tecnicamente, uma orquestração é uma sequência de passos chamados service requests: [2]

  • Form request: executa uma aplicação interativa como um usuário faria, preenchendo campos e apertando botões. As event rules e validações da tela rodam normalmente.
  • Data request: consulta tabelas ou business views, com filtros e agregações.
  • Business function e report: chama uma BSFN diretamente ou dispara um UBE.
  • Custom: executa lógica própria em Groovy ou Java.
  • Connector: dá acesso seguro a recursos externos, como um serviço REST, um banco de dados ou uma orquestração de outro sistema JDE. [5]
  • Message: envia e-mail ou mensagem para o Work Center.

Regras (condições), cross-references e white lists traduzem códigos e decidem o caminho. As notificações avaliam dados do JDE ou de serviços REST externos para detectar situações que pedem atenção, e o agendador embutido executa orquestrações e notificações periodicamente. [5] [6] Desde o Tools 9.2.4, o Orchestrator Studio é instalado junto com o AIS Server e acessado pela própria URL dele. [1]

A grande vantagem é que as regras de negócio das telas do JDE são respeitadas: um form request sobre o P4210 passa pelas mesmas validações, versões e opções de processamento que um usuário digitando o pedido.

Clientes (web, iPaaS, IoT) chamam por HTTPS um API gateway, que encaminha ao AIS Server. A orquestração executa regra, form request, data request, business function, Groovy, conector e mensagem. O AIS usa o HTML Server, que chega ao Enterprise Server e ao banco; conectores chamam serviços externos.
Uma chamada REST, vários passos dentro do JDE, sempre pela lógica das aplicações.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
Servidores1 AIS Server (WebLogic) ligado a 1 HTML Server, criados pelo Server ManagerAIS dedicado a integrações, separado do que atende usuários; 2 ou mais instâncias atrás de um balanceador, cada uma com HTML Server próprio
Tools ReleaseTools 9.2 com OrchestratorTools Release atual, para ter Studio integrado, conectores, notificações e OAuth 2.0 nas chamadas de saída [5]
ExposiçãoHTTPS apenas na rede internaAPI gateway ou proxy reverso com TLS, WAF, limite de requisições e lista de IPs; nunca o AIS direto na internet
IdentidadeUsuário JDE de serviço com senhaUm usuário de serviço por integração, role mínima, token AIS ou OAuth, segredos em cofre
AmbientesDesenvolvimento e produçãoDV, PY e PD, com orquestrações promovidas como UDOs aprovados e testes de regressão
OperaçãoLogs do AIS no Server ManagerMonitoramento de latência e erros, alertas e um identificador de correlação por chamada

Conhecimentos necessários

PerfilO que precisa saber
Desenvolvedor JDEAplicações, versões e opções de processamento; Orchestrator Studio; form e data requests; Groovy básico; JSON
Arquiteto de soluçãoDesenho de APIs REST, contratos, idempotência, tratamento de erro síncrono, padrões de iPaaS
CNC e infraestruturaServer Manager, WebLogic, balanceamento, certificados TLS, dimensionamento
SegurançaSecurity Workbench, segurança de UDOs, tokens e OAuth, políticas do gateway
Analista de negóciosRegras da tela que será automatizada, versões usadas e exceções do processo

Quando é útil

  • Portais e e-commerce que criam pedidos, consultam preço, saldo ou status em tempo real.
  • iPaaS (Oracle Integration, MuleSoft, Boomi) conectando o JDE a SaaS como CRM, WMS ou transportadoras.
  • Aplicativos móveis de aprovação, apontamento de produção ou inspeção.
  • IoT: sensores que geram ordens de manutenção ou registram leituras.
  • Automação de tarefas repetitivas de digitação, no lugar de robôs de tela.
  • Saída: o JDE chamando APIs externas por meio de conectores, ou avisando pessoas com notificações.

Exemplos

Um portal cria um pedido de venda chamando uma orquestração que, por dentro, usa um form request sobre o P4210 com a versão da loja virtual:

# chamada ilustrativa, passando pelo API gateway
POST https://api.empresa.com/jde/v3/orchestrator/ORCH_CriarPedidoVenda
Authorization: Bearer <token>
Content-Type: application/json

{ "Cliente": "4242", "Filial": "M30", "PedidoCliente": "PO-4500123",
  "Itens": [ { "Item": "220", "Quantidade": 5 } ] }

# resposta
{ "NumeroPedido": "12345", "TipoPedido": "SO", "Status": "520" }
  • IoT: um sensor de temperatura envia leituras; uma regra na orquestração cria uma ordem de manutenção quando o limite é ultrapassado.
  • Notificação: todo dia às 8h, pedidos retidos por crédito acima de um valor geram uma mensagem para o gerente financeiro.
  • Saída: ao aprovar um fornecedor, uma orquestração chama por conector a API de um serviço de validação cadastral.

Z-files (tabelas de interoperabilidade)

Direção
Entrada e saída
Latência
Lote (minutos a horas)
Protocolo
Tabela + UBE processador
Posição da Oracle
Padrão para lotes

Explicação conceitual e técnica

As Z-files são o método clássico para cargas em lote. Cada uma é uma interface table com as colunas da tabela de aplicação e mais campos de controle. O nome segue a tabela de origem com o sufixo Z1: a F4211 tem a F4211Z1. Quando a tabela de interface passaria de 250 colunas, cria-se uma tabela adicional com uma letra depois do sufixo, como F4211Z1A. [8]

Os campos de controle formam a chave e o estado de cada registro: usuário (EDUS), lote (EDBT), número da transação (EDTN), linha (EDLN), indicador de processado (EDSP), ação (EDTC: A para incluir, C para alterar, D para excluir) e tipo de transação (EDTR). [7]

Na entrada, um sistema externo grava na Z-file e depois roda o UBE processador, por exemplo o R09110Z para lançamentos contábeis ou o R4211Z1I para pedidos de venda. O processador lê os registros ainda não processados, chama a master business function com a versão definida nas opções de processamento e grava nas tabelas definitivas. Os registros com erro ficam na Z-file, a mensagem vai para o Work Center, e é possível corrigi-los e reprocessá-los. [7]

Também funciona como saída: as opções de processamento da aplicação ou os controles de exportação (P0047) fazem o JDE gravar cada transação na Z-file, com o código de ação, para um sistema externo ler. [9] É robusto e aproveita a validação padrão, mas não é tempo real.

Z-fileConteúdoProcessador de entrada
F0911Z1Lançamentos contábeisR09110Z
F0101Z2Cadastro de endereços (Address Book)R01010Z
F4201Z1 / F4211Z1Pedidos de vendaR4211Z1I
F4301Z1 / F4311Z1Pedidos de compraR4311Z1I
F4101Z1Cadastro de itensR4101Z1I [7]
F0411Z1Vouchers de contas a pagarR04110ZA
Entrada: sistema externo grava na Z-file, o UBE processador chama a master business function e grava nas tabelas finais; erros ficam no Work Center e na Z-file para corrigir e reprocessar. Saída: transação no JDE, controle de exportação, Z-file, sistema externo lê e marca, purge.
A Z-file é uma área de espera: nada chega às tabelas finais sem passar pela master business function.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
ServidoresEnterprise Server e banco existentes; nada novoFila de batch dedicada aos processadores e execução pelo Scheduler do JDE
CargaScript ou ETL grava nas Z-filesCarga por orquestração ou iPaaS, com lote (EDBT) por execução e EDTN único para garantir idempotência
Acesso ao bancoUsuário com INSERT nas Z-filesPermissão somente nas Z-files, nunca nas tabelas finais, com auditoria no banco
ErrosWork CenterPainel de pendências por interface, alerta ao responsável e rotina de purge dos processados
VolumeUma execução por diaJanelas definidas, lotes particionados e versões do processador por origem

Conhecimentos necessários

PerfilO que precisa saber
DesenvolvedorLayout da Z-file, campos obrigatórios, datas julianas, decimais implícitos, códigos de ação
Analista funcionalVersões e opções de processamento do processador e da aplicação espelhada
CNCFilas de batch, Scheduler, permissões de banco
OperaçãoWork Center, aplicações de revisão da Z-file, reprocessamento e purge

Quando é útil

  • Migrações e cargas iniciais de cadastros e saldos.
  • Contabilização de sistemas satélites: folha de pagamento, faturamento externo, despesas de viagem.
  • Pedidos de e-commerce ou de força de vendas consolidados em lote.
  • Interfaces noturnas de grande volume, em que reprocessar é mais importante do que responder na hora.

Exemplos

A folha de pagamento gera os lançamentos contábeis do mês na F0911Z1 e dispara o R09110Z:

-- ilustrativo: um lançamento de 150,00 (decimais implícitos) em 28/09/2026
INSERT INTO PRODDTA.F0911Z1
  (VNEDUS, VNEDTN, VNEDLN, VNEDBT, VNEDSP, VNEDTC, VNDCT, VNDGJ, VNANI, VNAA, VNLT)
VALUES
  ('INTFOLHA', '000123', 1000, 'FOLHA0926', ' ', 'A', 'JE',
   126271, '100.8150', 15000, 'AA');
-- 126271 = ano 2026 (1 + 26) e dia 271 do ano
-- depois: R09110Z, versão da folha; lotes seguem para aprovação e lançamento

Na saída, uma versão do P4210 configurada para gravar a F4211Z1 permite que um sistema de logística leia cada pedido incluído ou alterado e marque os registros como processados.

Business Services (BSSV)

Direção
Entrada e saída
Latência
Tempo real
Protocolo
SOAP / XML sobre HTTPS
Posição da Oracle
Suportado, perdendo espaço

Explicação conceitual e técnica

Business Services são classes Java desenvolvidas no JDeveloper, controladas no OMW como qualquer objeto do JDE e publicadas como web services num Business Services Server em WebLogic ou WebSphere. [10] [11]

Um published business service é um objeto do OMW que representa uma classe Java que publica várias operações. [10] Ele delega a business services internos, que trabalham com value objects e chamam business functions e acessos a dados pela API de tempo de execução do JDE. A Oracle entrega vários serviços prontos (clientes, fornecedores, itens, pedidos, estoque), e você pode criar os seus.

O caminho inverso também existe: o JDE pode ser consumidor de web services. Uma business function chama um business service consumidor, que chama o serviço externo e devolve a resposta à lógica do JDE.

Ainda é bastante usado, mas vem perdendo espaço para o AIS e o Orchestrator: SOAP é mais pesado, e cada mudança exige ciclo de desenvolvimento Java, build de pacote e deploy no servidor, enquanto uma orquestração se ajusta no Studio.

Consumidor SOAP chama o Business Services Server; o published business service delega ao business service interno, que chama business functions; a chamada chega ao Enterprise Server por JDENET. Abaixo, o JDE como consumidor: business function, business service consumidor e serviço externo.
BSSV em duas direções: o JDE como provedor e como consumidor de web services.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
Servidores1 Business Services Server (WebLogic ou WebSphere) pelo Server Manager2 ou mais instâncias com balanceador, separadas dos HTML Servers
DesenvolvimentoJDeveloper na versão certificada, no cliente de desenvolvimentoPacotes com revisão de código e deploy padronizado por ambiente
SegurançaHTTPS e usuário JDEWS-Security, políticas no gateway ou no service bus, usuário por consumidor
OperaçãoLogs do WebLogicMonitoramento de tempo de resposta e de falhas por operação

Conhecimentos necessários

PerfilO que precisa saber
DesenvolvedorJava, JAX-WS, WSDL e XSD, JDeveloper, OMW, business functions chamadas
CNC e infraestruturaWebLogic ou WebSphere, Server Manager, deploy de pacotes, certificados
SegurançaWS-Security, SAML ou UsernameToken, políticas de serviço

Quando é útil

  • Integrações SOAP já existentes e estáveis.
  • Middleware SOA (Oracle SOA Suite, service bus) que espera contratos WSDL.
  • Lógica complexa em Java que não cabe bem num script Groovy.
  • Ambientes sem AIS Server. Em projetos novos, prefira o Orchestrator e planeje a migração dos BSSV existentes.

Exemplos

<!-- ilustrativo: chamada ao serviço de pedidos de venda (JP420000) -->
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <soapenv:Header>
    <wsse:Security> … usuário e token … </wsse:Security>
  </soapenv:Header>
  <soapenv:Body>
    <processSalesOrder>
      <header> <customer>4242</customer> <businessUnit>M30</businessUnit> </header>
      <detail> <item>220</item> <quantity>5</quantity> </detail>
    </processSalesOrder>
  </soapenv:Body>
</soapenv:Envelope>

Outro caso comum: um middleware SOA que já orquestra vários ERPs chama os serviços publicados de cliente e de item para manter cadastros sincronizados.

Real-Time Events (RTE)

Direção
Saída
Latência
Tempo real, assíncrono
Protocolo
XML sobre JMS, MQ ou HTTP
Posição da Oracle
Suportado

Explicação conceitual e técnica

Um real-time event é uma notificação de saída para um sistema terceiro de que uma transação de negócio ocorreu no JDE. [12] O modelo é publicar e assinar: o JDE publica o evento uma vez, e cada assinante recebe a sua cópia.

Tecnicamente, as business functions das transações geram o evento em XML (por exemplo, RTSOOUT para pedidos de venda). Os kernels de eventos do Enterprise Server passam o evento ao Transaction Server, que usa filas e tópicos JMS para garantir a entrega e roteia a informação para as filas de cada assinante com assinatura ativa. [12] Os transportes incluem JMS, MQ Series e conectores, e os assinantes são cadastrados no P90702A. [14]

Há três famílias de eventos: Z events, gerados a partir das Z-files de saída; real-time events, gerados pelas business functions no momento da transação; e XAPI, em que o JDE envia uma requisição e espera a resposta do sistema externo. [13] O destino pode ser uma fila JMS ou MQ, um web service via BSSV ou o Orchestrator, e nos Tools recentes as notificações do Orchestrator são uma alternativa mais simples para muitos casos.

Transação no JDE, business function gera o evento XML, kernels de eventos no Enterprise Server, Transaction Server com filas JMS e entrega garantida, e assinantes: fila JMS ou MQ, Orchestrator e web service via BSSV. Configuração nos programas P90701A e P90702A.
Um evento publicado, vários assinantes, cada um com entrega garantida.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
Servidores1 Transaction Server (WebLogic) e kernels de eventos ativos no Enterprise ServerStore JMS persistente em banco, alta disponibilidade do WebLogic e servidor dedicado
EventosEventos ativados no P90701A e assinantes no P90702ASó os eventos realmente consumidos, com dono e contrato (XSD) documentados
ConsumidoresUm middleware lendo a filaConsumidores idempotentes, fila de mensagens mortas e reprocessamento
OperaçãoConsole do WebLogicAlertas de profundidade de fila, idade da mensagem mais antiga e falhas de entrega

Conhecimentos necessários

PerfilO que precisa saber
Arquiteto de soluçãoMensageria: publicar e assinar, entrega pelo menos uma vez, ordenação, idempotência
DesenvolvedorXML e XSD dos eventos, consumo de JMS ou MQ
CNC e infraestruturaTransaction Server, JMS no WebLogic, jde.ini dos kernels de eventos
Analista de negóciosQuais transações importam para quem, e com que dados

Quando é útil

  • CRM, WMS ou e-commerce precisam saber na hora que um pedido foi criado, alterado ou faturado.
  • Sincronizar cadastros mestres (clientes, fornecedores, itens) com um MDM.
  • Alimentar um data lake ou uma plataforma de streaming com as transações.
  • Disparar workflows externos sem consultas periódicas ao banco.

Exemplos

<!-- ilustrativo: evento de pedido de venda entregue na fila do assinante -->
<jdeResponse type="realTimeEvent" environment="PD920">
  <event>
    <header> <eventName>RTSOOUT</eventName> <user>VENDAS01</user> </header>
    <detail> <orderNumber>12345</orderNumber> <orderType>SO</orderType> … </detail>
  </event>
</jdeResponse>

Um WMS assina o evento de pedido e, a cada pedido liberado, recebe a mensagem e cria a onda de separação, sem consultar o JDE.

UBEs customizados e Table Conversions

Direção
Entrada e saída
Latência
Lote
Protocolo
Arquivo texto, CSV, layout fixo
Posição da Oracle
Ferramenta padrão do JDE

Explicação conceitual e técnica

UBEs customizados e Table Conversions servem para leitura ou gravação de arquivos texto ou CSV, geração de flat files e conversões entre tabelas. Um UBE pode ler um arquivo, chamar as business functions de edição e gravar os dados. [15] [23] [24]

A Table Conversion é um tipo de programa em lote feito para mover e transformar dados: de tabela para tabela, de arquivo para tabela ou de tabela para arquivo, com mapeamento de colunas e event rules. O UBE escrito no Report Design Aid dá mais controle: lê o arquivo linha a linha, interpreta registros de cabeçalho, detalhe e trailer, chama business functions e gera um relatório de conferência.

Um padrão robusto é combinar as opções: o UBE ou a Table Conversion apenas converte o arquivo para a Z-file, e o processador padrão faz a validação e a gravação. Assim a regra de negócio continua com a Oracle, e o código customizado fica só com o layout.

É comum em interfaces bancárias (no Brasil, os layouts CNAB de remessa e retorno) e em arquivos fiscais ou de parceiros que não usam EDI.

Entrada: banco gera arquivo de retorno, que chega por SFTP; UBE ou Table Conversion lê o arquivo, business function de edição valida e grava nas tabelas JDE. Saída: tabelas JDE, UBE gera o arquivo numa pasta do Enterprise Server, que segue por SFTP com PGP para o banco ou o fisco.
Arquivos entram e saem por transferência segura; a regra continua nas business functions.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
ServidoresEnterprise Server com uma pasta acessívelPastas por ambiente e por interface (entrada, processados, erros), com retenção definida
TransferênciaCópia manual ou compartilhamento de redeSFTP ou MFT, criptografia PGP, verificação de integridade e antivírus
AgendamentoExecução manualScheduler do JDE, com dependências e alertas de falha
ControleRelatório do UBETotais de controle (trailer), nome de arquivo com data e hora e bloqueio de arquivo repetido

Conhecimentos necessários

PerfilO que precisa saber
DesenvolvedorReport Design Aid, event rules, Table Conversion, business functions de edição, codificação de caracteres
Analista de negóciosLayout do banco ou do órgão, regras de conciliação, códigos de ocorrência
CNC e infraestruturaSistema de arquivos, permissões, MFT, Scheduler
SegurançaChaves PGP e SSH, segregação de pastas, retenção

Quando é útil

  • Remessa de pagamentos e cobrança, retorno bancário e extratos.
  • Arquivos para órgãos fiscais ou para sistemas de terceiros com layout fixo.
  • Clientes e fornecedores que trocam planilhas CSV em vez de EDI.
  • Exportações para sistemas legados que só leem arquivos.

Exemplos

// ilustrativo: lógica de um UBE que lê o retorno bancário
Para cada linha do arquivo
   Se tipo de registro = "3" e segmento = "T"
      extrair nosso número, valor pago e data de crédito
      localizar a fatura em aberto (F03B11)
      chamar a business function de recebimento
      Se erro: gravar a linha na tabela de rejeitados
Fim
imprimir o resumo: linhas lidas, baixadas, rejeitadas, total

Na saída, um UBE agendado gera todo dia útil o arquivo de remessa de pagamentos aprovados, que o MFT envia ao banco já criptografado.

Business functions (BSFN em C ou NER)

Direção
Principalmente entrada
Latência
Depende de quem chama
Protocolo
Chamada interna do JDE
Posição da Oracle
Bloco de construção

Explicação conceitual e técnica

Business functions podem ser escritas em C ou em NER (Named Event Rules, que o JDE converte em C). As master business functions encapsulam uma transação inteira e seguem um ciclo: BeginDoc valida o cabeçalho e abre o cache, EditLine valida cada linha, EditDoc confere o documento e EndDoc obtém os next numbers e grava tudo. Para pedidos de venda, a família é F4211FSBeginDoc, F4211FSEditLine, F4211FSEditDoc e F4211FSEndDoc. [21] [22]

Até o EndDoc, os dados ficam no cache do JDE, o que permite validar o documento inteiro antes de gravar. O artigo Cache no JD Edwards explica esse mecanismo em detalhe. [20]

Normalmente as BSFNs são acionadas a partir de um UBE, do BSSV ou do Orchestrator, e não isoladamente por um sistema externo: elas precisam de um contexto de execução do JDE (usuário, ambiente, transação), que o programa hospedeiro fornece.

UBE, Orchestrator e BSSV chamam a sequência BeginDoc, EditLine repetido, EditDoc e EndDoc; o cache de cabeçalho e de detalhe guarda os dados até o EndDoc gravar em F4201, F4211 e tabelas relacionadas.
As master business functions são o ponto comum de quase todas as opções de entrada.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
ServidoresEnterprise Server e cliente de desenvolvimentoNada além do hospedeiro escolhido (UBE, AIS ou BSSV)
CódigoChamada direta às MBFs padrãoBSFN customizada só quando necessário, com revisão de código e testes de regressão
ErrosCódigo de erro de retornoLimpeza do cache em caso de falha (por exemplo, F4211ClearWorkFiles) e mensagens tratadas

Conhecimentos necessários

PerfilO que precisa saber
DesenvolvedorC e APIs do JDE, data structures, NER, cache, depuração de BSFN, OMW
Analista funcionalA transação, suas versões e opções de processamento

Quando é útil

  • Dentro de um UBE customizado que lê arquivo e precisa gravar uma transação.
  • Num passo de orquestração quando o form request não é adequado, por desempenho ou por uma tela complexa.
  • Na implementação de business services.

Exemplos

// ilustrativo: criação de um pedido de venda num UBE
F4211FSBeginDoc   (modo = incluir, versão P4210 = "ZJDE0001", cliente, filial) → número de job
Para cada linha
   F4211FSEditLine (número de job, item, quantidade, preço)
F4211FSEditDoc    (número de job)
F4211FSEndDoc     (número de job) → número do pedido gravado
Se erro em qualquer passo: F4211ClearWorkFiles e registrar a falha

EDI

Direção
Entrada e saída
Latência
Lote, em ciclos curtos
Protocolo
X12 ou EDIFACT via tradutor
Posição da Oracle
Padrão para B2B

Explicação conceitual e técnica

O módulo Data Interface for Electronic Data Interchange (sistema 47) é a interface entre os dados do JDE e o software tradutor. [17] O tradutor, externo ao JDE, converte as mensagens padronizadas (X12, EDIFACT) em arquivos planos e vice-versa; o JDE lê e grava as tabelas F47xxx.

Na entrada de um pedido do cliente (850), o tradutor grava o cabeçalho na F47011 e as linhas na F47012; o R47011 lê essas tabelas, valida e cria o pedido de venda nas F4201 e F4211. [18] Como as F47 são uma área de espera, é possível inspecionar e corrigir os dados antes de eles virarem um pedido real. Na saída, o R47042 extrai as faturas para as tabelas de saída (F47046 e F47047), que o tradutor converte em 810.

O EDI é indicado para troca de documentos padronizados com clientes e fornecedores, geralmente junto com um tradutor EDI e um canal de comunicação (VAN ou AS2).

Entrada: cliente envia 850 por VAN ou AS2, tradutor converte em arquivo plano e devolve 997, dados entram em F47011/F47012 e o R47011 cria o pedido. Saída: após o faturamento, o R47042 extrai para F47046/F47047, o tradutor gera o 810 e o cliente recebe.
O tradutor cuida do padrão; o JDE cuida da regra de negócio.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
ComponentesTradutor (software ou serviço em nuvem), canal VAN ou AS2 e troca de arquivos com o Enterprise ServerTradutor com monitoramento de confirmações (997 / CONTRL) e mapas versionados
ComunicaçãoVANAS2 com certificados e recibos (MDN), ou VAN gerenciada
ProcessamentoR47011 e R47042 agendadosCiclos curtos, alertas de documentos sem confirmação e revisão diária de pendências
TestesTeste com o parceiro em produçãoAmbiente de homologação por parceiro antes de cada novo documento

Conhecimentos necessários

PerfilO que precisa saber
Analista EDIX12 ou EDIFACT, mapas do tradutor, cadastro de parceiros
Analista funcional JDESistema 47, programas de entrada e saída, referências cruzadas de clientes e itens
Infraestrutura e segurançaAS2 ou VAN, certificados, transferência de arquivos
Analista de negóciosAcordos com cada parceiro, prazos e penalidades

Quando é útil

  • Varejo, distribuição, automotivo e grandes clientes que exigem EDI.
  • Alto volume de pedidos, avisos de embarque e faturas com o mesmo parceiro.
  • Quando o padrão do documento é imposto pelo parceiro e não negociável.

Exemplos

ISA*00*…~                            (envelope)
ST*850*0001~
BEG*00*SA*PO4500123**20260928~     pedido do cliente → F47011
PO1*1*10*EA*12.50**BP*ITEM220~    linha → F47012
CTT*1~
SE*5*0001~
depois: R47011 cria o pedido de venda; o tradutor devolve o 997 ao cliente

Conectores legados

Direção
Entrada e saída
Latência
Tempo real
Protocolo
JDENET, XML, Java, COM
Posição da Oracle
Não usar em projetos novos

Explicação conceitual e técnica

Os conectores legados incluem: [16] [15]

  • XML CallObject, XMLList, XMLTrans e XML Dispatch: documentos XML enviados ao Enterprise Server para chamar business functions, buscar listas ou gravar transações.
  • Dynamic Java Connector: aplicações Java chamam business functions dinamicamente, com bibliotecas do JDE no lado cliente.
  • COM Connector: integração com Visual Basic e VC++ por meio do modelo COM da Microsoft.
  • XPI: integração com o Oracle Fusion Middleware de gerações anteriores.

Ainda existem em ambientes antigos, mas não são recomendados para projetos novos: acoplam o cliente ao protocolo interno JDENET e às bibliotecas de um Tools Release específico, não trazem os mecanismos atuais de segurança e são difíceis de monitorar.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
RedePorta JDENET acessível ao clienteJDENET nunca acessível fora da rede dos servidores; se não houver alternativa, restringir por firewall a IPs conhecidos
EstratégiaManter o que existeInventário de chamadas e plano de migração para orquestrações

Conhecimentos necessários

Java, COM ou XML, conforme o conector; o protocolo JDENET; as business functions chamadas. Para a migração: Orchestrator e desenho de APIs REST.

Quando é útil

Apenas para manter integrações existentes enquanto a migração não acontece. Cada chamada inventariada costuma virar uma orquestração com o mesmo contrato de negócio.

Exemplos

<!-- ilustrativo: XML CallObject; repare na senha em texto dentro do documento -->
<jdeRequest type="callmethod" user="INTEGRA" pwd="********" environment="PD920">
  <callMethod name="GetEffectiveAddress" app="Integracao">
    <params> <param name="mnAddressNumber">4242</param> </params>
  </callMethod>
</jdeRequest>

Acesso direto ao banco (SQL)

Direção
Leitura
Latência
Imediata
Protocolo
SQL / JDBC / ODBC
Posição
Ler sim, gravar não

Explicação conceitual e técnica

Gravar direto no banco é tecnicamente possível, mas é desaconselhado. Um INSERT ou UPDATE ignora tudo o que a aplicação faz: validações contra o dicionário de dados e as UDCs, next numbers (F0002), tabelas relacionadas (compromissos de estoque na F41021, saldos contábeis na F0902), campos de auditoria (usuário, programa, data e hora), workflow e a segurança do JDE. O resultado costuma ser saldo que não fecha, número duplicado e registro órfão. A exceção é a própria Z-file, que foi feita para receber dados de fora.

Para leitura (relatórios, BI, views), é aceitável, desde que se respeitem as convenções do JDE:

  • Datas julianas no formato CYYDDD: 126271 é o dia 271 de 2026, 28/09/2026.
  • Decimais implícitos: valores são gravados como inteiros, com as casas definidas no dicionário de dados ou pela moeda. [25]
  • UDCs: códigos precisam ser traduzidos pela F0005.
  • Campos alinhados: a filial (MCU) tem 12 posições alinhadas à direita.
  • A segurança por linha e por coluna do JDE não se aplica a quem lê o banco.
Caminho suportado: integração passa pela aplicação ou master business function, que faz validações, next numbers, tabelas relacionadas, saldos, auditoria e segurança, e o banco fica consistente. INSERT ou UPDATE direto pula a camada de negócio e deixa o banco inconsistente. Leitura por views, réplica e usuário somente leitura é aceitável.
O que o SQL direto pula é exatamente o que mantém os números do JDE confiáveis.

Arquitetura mínima e recomendada

AspectoMínimaRecomendada
AcessoUsuário de banco somente leitura, restrito a viewsLeitura numa réplica ou num repositório analítico, sem carga no banco de produção
ModeloConsultas diretas às tabelasCamada semântica que converte datas, decimais e UDCs uma única vez; carga incremental pelos campos de data de atualização
Proteção de dadosControle de acesso ao usuárioMascaramento de dados pessoais (LGPD) e trilha de consultas

Conhecimentos necessários

SQL, modelo de dados do JDE (tabelas, business views, dicionário de dados), datas julianas, decimais implícitos e UDCs; do lado do DBA, réplicas e permissões. Para relatórios dentro do próprio JDE, o One View Reporting é uma alternativa que respeita a segurança do sistema. [26]

Quando é útil

  • Data warehouse, data lake e painéis de BI.
  • Consultas analíticas pesadas que não devem rodar dentro do JDE.
  • Conferências e auditorias pontuais.

Exemplos

-- Oracle Database: linhas de pedido com data convertida
SELECT SDDOCO AS pedido,
       SDDCTO AS tipo,
       TRIM(SDLITM) AS item,
       TO_DATE(TO_CHAR(SDTRDJ + 1900000), 'YYYYDDD') AS data_pedido,
       SDAEXP / 100 AS valor   -- 2 casas implícitas, conforme a moeda
FROM   PRODDTA.F4211
WHERE  SDNXTR < '999';           -- linhas ainda não encerradas

Comparativo, segurança e governança

OpçãoDireçãoLatênciaRegras do JDEEsforçoPara projetos novos
Orchestrator / AISEntrada e saídaTempo realSimBaixo a médioRecomendado
Z-filesEntrada e saídaLoteSimBaixoRecomendado para volume
BSSVEntrada e saídaTempo realSimAltoSó se já existir
RTESaídaTempo realSim, na origemMédioSim, para eventos
UBE / Table ConversionEntrada e saídaLoteSe chamar BSFN ou Z-fileMédioSim, para arquivos
Business functionsEntradaDo hospedeiroSimAltoComo bloco interno
EDIEntrada e saídaLoteSimMédio a altoSim, para B2B
Conectores legadosEntrada e saídaTempo realSimAltoNão
SQL diretoLeituraImediataNãoBaixoSó leitura

Segurança em todas as opções

  • Identidade: um usuário de serviço por integração, sem acesso interativo, com role mínima no Security Workbench; credenciais em cofre, nunca em scripts ou XML. [27]
  • Transporte: TLS em tudo (AIS, BSSV, Transaction Server, SFTP, AS2); o JDENET fica restrito à rede dos servidores.
  • Perímetro: API gateway ou proxy reverso, WAF, limite de requisições e lista de origens; servidores do JDE em zona interna.
  • Dados: mínimo de dados pessoais em Z-files e arquivos, purge periódico, criptografia de arquivos em repouso e mascaramento em réplicas, em linha com a LGPD.
  • Auditoria: campos de auditoria do JDE preenchidos com o usuário da integração, logs correlacionados e registro de quem aprovou cada orquestração.

Governança

  • Catálogo de interfaces: dono de negócio, dono técnico, método, volume, SLA e procedimento de erro de cada integração.
  • Fila de erros com responsável: Work Center, rejeitados de UBE e filas mortas precisam de alguém que olhe todo dia.
  • Regressão: cada atualização de Tools, ESU ou versão pode mudar uma regra; as integrações entram no plano de testes.
  • Custo total: além de licenças e servidores, conte as pessoas que operam e corrigem as interfaces.

Resumo

Para integrações novas e em tempo real, use o Orchestrator/AIS. Para volumes grandes em lote, as Z-files com os processadores padrão são o caminho mais seguro. Para avisar sistemas externos sobre eventos, use o RTE ou as notificações do Orchestrator.

Para fixar

  • As regras de negócio estão nas aplicações e business functions; toda gravação deve passar por elas.
  • Orchestrator: API REST montada no Studio, com as regras das telas.
  • Z-files: área de espera + processador padrão; erros ficam para corrigir e reprocessar.
  • BSSV e conectores legados: manter o que existe e planejar a migração.
  • RTE: o JDE avisa; os assinantes precisam ser idempotentes.
  • UBE e EDI: arquivos e documentos padronizados, com transferência segura.
  • SQL: ler sim, gravar não.

Revisão rápida

1. Quais são as três perguntas que definem o método de integração?

Se é tempo real ou lote, se o JDE envia ou recebe os dados, e qual Tools Release está em uso.

2. Por que o Orchestrator respeita as regras de negócio?

Porque os form requests executam as aplicações como um usuário, com as mesmas event rules, versões e opções de processamento.

3. O que acontece com um registro de Z-file que falha na validação?

Ele continua na Z-file, a mensagem vai para o Work Center, e o registro pode ser corrigido e reprocessado.

4. Qual opção usar para avisar um WMS de que um pedido foi liberado?

Real-Time Events (ou uma notificação do Orchestrator), com o WMS assinando o evento de pedido.

5. Por que um sistema externo não chama uma business function diretamente?

Porque ela precisa de um contexto de execução do JDE; quem fornece esse contexto é o hospedeiro: UBE, BSSV ou Orchestrator.

6. Quando o SQL direto é aceitável?

Só para leitura, de preferência em réplica e com usuário somente leitura, convertendo datas julianas, decimais e UDCs.

↑ Voltar ao topo

Referências

  1. Oracle, “JD Edwards EnterpriseOne Tools Orchestrator Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/cross-product/9.2/eotos/orchestrator-guide.pdf.
  2. Oracle, “Understanding the Orchestrator Studio and Orchestrations”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/cross-product/9.2/eotos/understanding-the-orchestrator-studio-and-orchestrations.html.
  3. Oracle, “JD Edwards EnterpriseOne Tools Application Interface Services Server Reference Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eoiis/application-interface-services-server-reference-guide.pdf.
  4. Oracle, “JD Edwards EnterpriseOne Tools System Overview Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/cross-product/9.2/eoihs/system-overview-guide.pdf.
  5. Oracle, “Orchestrator and Notification Enhancements, Learn JD Edwards EnterpriseOne”, acesso em 28/09/2026, docs.oracle.com/cd/E84502_01/learnjde/orchestrator-enhancements.html.
  6. Oracle, “REST API for JD Edwards EnterpriseOne AIS Server: Start All Scheduled Notifications and Orchestrations v2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/cross-product/9.2/rest-api/op-v2-scheduler-start-post.html.
  7. Oracle, “JD Edwards EnterpriseOne Applications Interoperability Fundamentals Implementation Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eoaai/interoperability-fundamentals-implementation-guide.pdf.
  8. Oracle, “Structuring Interface Tables, Interoperability Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eotin/structuring-interface-tables.html.
  9. Oracle, “Outbound Transactions, Interoperability Fundamentals”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eoaai/outbound-transactions-2.html.
  10. Oracle, “JD Edwards EnterpriseOne Tools Business Services Development Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eotde/toc.htm.
  11. Oracle, “Introduction to JD Edwards EnterpriseOne Business Services”, acesso em 28/09/2026, docs.oracle.com/cd/E16582_01/doc.91/e38040/intro_to_bssvs.htm.
  12. Oracle, “Overview of Transaction Server, System Overview Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/cross-product/9.2/eoihs/overview-of-transaction-server.html.
  13. Oracle, “Events, Interoperability Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eotin/events.html.
  14. Oracle, “E1: OUTBND: Getting Started with Transaction Server (Doc ID 1156395.1)”, My Oracle Support, requer login, support.oracle.com/knowledge/JD%20Edwards%20EnterpriseOne/1156395_1.html.
  15. Oracle, “JD Edwards EnterpriseOne Tools Interoperability Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eotin/interoperability-guide.pdf.
  16. Oracle, “JD Edwards EnterpriseOne Tools Connectors Overview”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/eotcn/jd-edwards-enterpriseone-tools-connectors-overview.html.
  17. Oracle, “JD Edwards EnterpriseOne Applications Data Interface for Electronic Data Interchange Implementation Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/supply-chain-manufacturing/9.2/eoadi/data-interface-for-electronic-data-interchange-implementation-guide.pdf.
  18. Oracle, “E1: 47: EDI 850 Inbound Purchase Orders (850/ORDERS) FAQ (Doc ID 1595999.1)”, My Oracle Support, requer login, support.oracle.com/knowledge/JD%20Edwards%20EnterpriseOne/1595999_1.html.
  19. Oracle, “JD Edwards EnterpriseOne Interoperability 9.2.x, índice dos guias”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/interoperability/9.2.x/guides.html.
  20. Giovani Perotto Mesquita, “Cache no JD Edwards”, JDECache.html.
  21. Oracle, “JD Edwards EnterpriseOne Tools APIs and Business Functions Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/development-tools/9.2.x/eotbf/apis-and-business-functions-guide.pdf.
  22. Oracle, “Business Function Event Rules, APIs and Business Functions Guide”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/development-tools/9.2.x/eotbf/business-function-event-rules.html.
  23. Oracle, “JD Edwards EnterpriseOne Tools Table Conversion Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/development-tools/9.2.x/eottc/table-conversion-guide.pdf.
  24. Oracle, “JD Edwards EnterpriseOne Tools Report Design Aid Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/reporting-analytics/9.2.x/eotrd/report-design-aid-guide.pdf.
  25. Oracle, “JD Edwards EnterpriseOne Tools Data Dictionary Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/development-tools/9.2.x/eotdd/data-dictionary-guide.pdf.
  26. Oracle, “JD Edwards EnterpriseOne Applications One View Reporting User Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/reporting-analytics/9.2.x/eoaov/one-view-reporting-user-guide.pdf.
  27. Oracle, “JD Edwards EnterpriseOne Tools Security Administration Guide 9.2”, acesso em 28/09/2026, docs.oracle.com/en/applications/jd-edwards/administration/9.2.x/eotsc/security-administration-guide.pdf.