Tutorial SAP IDOC: Definição, Estrutura, Tipos, Formato e Tabelas
O que é um IDOC?
IDOC é simplesmente um contêiner de dados usado para trocar informações entre
quaisquer dois processos que podem entender a sintaxe e a semântica dos dados.
Em outras palavras, um IDOC é como um arquivo de dados com um formato
especificado que é trocado entre 2 sistemas que sabem como interpretar esses dados.
IDOC significa " Documento intermediário".
Quando executamos um processo ALE ou EDI de saída, um IDOC é criado.
No sistema SAP, os IDOCs são armazenados no banco de dados. Cada IDOC possui
um número único (dentro de um cliente).
Neste tutorial, você aprenderá:
• O que é um IDOC?
• Estrutura de um IDOC
• Tipos IDOC
• O que é um segmento?
• Qual é o tipo de IDOC de extensão?
• Visualizações IDOC
• Perfis de parceiros
• Porta
• O Processo de Saída
• O processo de entrada
Características principais
• Os IDOCs são independentes dos sistemas de envio e recebimento. (SAP para
SAP, bem como não SAP)
• Os IDOCs são baseados nos padrões EDI, ANSI ASC X12 e EDIFACT. Em caso de
conflito no tamanho dos dados, ele adota um com comprimento maior.
• Os IDOCs são independentes da direção da troca de dados, por exemplo,
ORDERS01: Módulo de compras: entrada e saída
• Os IDOCs podem ser visualizados em um editor de texto. Os dados são
armazenados em formato de caractere em vez de formato binário.
Estrutura de um IDOC
A estrutura do Idoc consiste em 3 partes -
1. A parte de administração (Registro de Controle) - que contém o tipo de idoc,
tipo de mensagem, o status atual, o remetente, o destinatário etc. Isso é
conhecido como registro de Controle.
2. Os dados do aplicativo (registro de dados) - que contém os dados. Eles são
chamados de registros / segmentos de dados.
3. As informações de status (Registro de status) - fornecem informações sobre os
vários estágios pelos quais o idoc passou.
Você pode visualizar um IDOC usando a transação WE02 ou WE05
Como pode ser visto na imagem acima, o registro IDOC tem três partes: Controle,
Dados e Status. Vamos examiná-los em detalhes - Registro de controle
• Todos os dados do registro de controle são armazenados na tabela EDIDC. A
chave para esta tabela é o número IDOC
• Ele contém informações como o número do IDOC, a direção (entrada / saída),
remetente, informações do destinatário, canal que está usando, que porta está
usando, etc.
• A direção '1' indica saída, '2' indica entrada.
Registro de Dados
• O registro de dados contém dados do aplicativo, como informações do
cabeçalho do funcionário, detalhes semanais, detalhes do cliente, etc.
• Todos os dados do registro de dados são armazenados nas tabelas EDID2 a
EDID4 e EDIDD é uma estrutura onde você pode ver seus componentes.
• Ele contém dados como o número do idoc, nome e número do segmento no
idoc, a hierarquia e os dados
• Os dados reais são armazenados como uma string em um campo chamado
SDATA, que é um campo de 1000 caracteres.
Registro de status
• O registro de status é anexado a um IDOC em cada marco ou quando encontra
erros.
• Todos os dados de registro de status são armazenados na tabela EDIDS.
• Status 1-42 são para saída, enquanto 50-75 para entrada
Tipos IDOC
Um tipo I DOC, (Básico) define a estrutura e o formato do documento comercial que
deve ser trocado. Um IDOC é uma instância de um Tipo de IDOC, assim como o
conceito de variáveis e tipos de variáveis em linguagens de programação. Você pode
definir os tipos de IDOC usando WE30
O que é um segmento?
Um segmento define o formato e a estrutura de um registro de dados no I-DOC. Os
segmentos são componentes reutilizáveis.
Para cada segmento que a SAP cria
• Tipo de segmento (independentemente da versão)
• Definição de segmento (dependente da versão)
• Documentação do segmento
Os últimos 3 caracteres são a versão do segmento. As
definições continuam mudando de acordo com a versão, mas o tipo de segmento
permanece o mesmo.
Transação: WE31
Qual é o tipo de IDOC de extensão?
Um IDOC é de 2 tipos: -
1. Básico
2. Extensão
A SAP fornece muitos tipos de IDOC básicos predefinidos que não podem ser
modificados. No caso de você desejar adicionar mais dados a este tipo básico restrito,
você pode usar um tipo de extensão. Na maioria das vezes você NÃO usará extensão.
Documentação
Cada IDOC é completamente documentado na transação WE60
Tipo de mensagem
Uma mensagem representa um tipo específico de documento que é transmitido entre
dois parceiros. Ex. Pedidos, respostas de pedidos, faturas, etc.
Um tipo de idoc pode ser associado a muitos tipos de mensagem.
Além disso, um tipo de mensagem pode ser associado a diferentes tipos de
idoc. Transação WE81
Visualizações IDOC
Um tipo de IDOC pode ser usado para mais de um tipo de mensagem, o que resulta em
IDOCs contendo mais campos do que o necessário para um determinado tipo de
mensagem.
As visualizações de IDOC são usadas para melhorar o desempenho na geração de
IDOCs para garantir que apenas os segmentos relevantes sejam preenchidos com
dados. Visualizações IDOC são importantes apenas para processamento de saída.
Perfis de parceiros
Um parceiro é definido como um parceiro de negócios com o qual você conduz
negócios e troca documentos.
No perfil de parceiro de um parceiro com o qual trocamos Idocs, mantemos os
parâmetros necessários para a troca de dados. A transação usada é WE20 .
Porta
A porta define as características técnicas da conexão entre seu sistema SAP e o outro
sistema com o qual você deseja transferir dados (subsistema). A porta define o meio
no qual os dados são trocados entre os 2 sistemas.
Existem diferentes tipos de portas. Os 2 mais comumente usados são as portas
TRFC usadas em ALE e portas de arquivo que usa EDI.
Para portas TRFC, temos que fornecer o nome do destino lógico criado usando SM59 .
Ao usar a porta do arquivo, você pode especificar o diretório onde o arquivo IDOC
deve ser colocado. O outro sistema ou middleware coletará o arquivo aqui. O módulo
de função pode ser usado para gerar um nome de arquivo para o idoc. Durante o teste
você pode usar "Arquivo de saída" para especificar um nome de arquivo constante. A
guia "de saída " pode ser usada para fornecer informações se quisermos acionar algum
processamento no subsistema quando um idoc é criado neste local. Temos que
especificar o nome do arquivo de comando e o diretório que deve ser executado.
Isso é tão CONFUSO!
Vamos entender o processo de criação de um IDOC com um exemplo -
• Sempre que um pedido de compra (PO) é criado, queremos enviar o IDOC a um
fornecedor.
• O pedido de compra é enviado na forma de um IDOC ao fornecedor
(parceiro). Esse parceiro deve ser habilitado para EDI nesse sistema. A SAP deve
perceber que pode enviar documentos eletronicamente para esse fornecedor.
• O pedido de compra enviado como um idoc de saída pelo cliente será um idoc
de entrada para o fornecedor. O sistema SAP do lado do fornecedor pode
processar isso para criar um documento de aplicação (um pedido de venda) em
seu sistema.
• Cotação, RFQ, PO, SO, fatura, nota de entrega, etc. são alguns dos documentos
comumente trocados por meio do IDOC
O processo de transferência de dados para fora de seu sistema SAP é chamado
de processo de saída, enquanto o de dados que entram em seu sistema SAP é
chamado de processo de entrada. Como um desenvolvedor ou consultor que estará
envolvido na configuração desses processos para sua organização. Aqui estão as
etapas para configurá-los
O Processo de Saída
Etapas envolvidas -
1. Criar segmentos (WE31)
2. Crie um tipo de idoc (WE30)
3. Crie um tipo de mensagem (WE81)
4. Associe um tipo de mensagem ao tipo idoc (WE82)
5. Crie uma porta (WE21)
6. Se você for usar o método de controle de mensagem para acionar idocs, crie o
módulo de função para criar o idoc e associe o módulo de função a um código
de processo de saída
7. Caso contrário, crie o módulo de função ou programa autônomo que criará o
idoc
8. Crie um perfil de parceiro (WE20) com as informações necessárias nos
parâmetros de saída para o parceiro com o qual deseja trocar o idoc. Acione o
idoc.
O processo de entrada
Passos envolvidos-
1. Criação do tipo básico de Idoc (Transação WE30)
2. Criando tipo de mensagem (Transação WE81)
3. Associando o tipo de mensagem ao tipo básico de Idoc (Transação WE82)
4. Crie o módulo de função para processar o idoc
5. Defina as características do módulo de função (BD51)
6. Alocar o módulo de função de entrada para o tipo de mensagem (WE57)
7. Definindo o código do processo (Transação WE42)
8. Criação de perfil de parceiro (Transação WE20)