Tutorial SAP IDOC: Definição, Estrutura, Tipos, Formato & Mesas

Índice:

Anonim

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 I DOCs 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 Parceiro
  • 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 I doc 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 I-DOC 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 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 de registro de dados são armazenados em 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 I-DOC a cada marco ou quando encontra erros.
  • Todos os dados de registro de status são armazenados na tabela EDIDS.
  • Os 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 (independente 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 conforme 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 . Caso queira 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 é totalmente 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 Parceiro

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

The port defines the technical characteristics of the connection between your SAP system and the other system you want to transfer data with (subsystem). The port defines the medium in which data is exchanged between the 2 systems.
There are different types of ports. The 2 most commonly used are the TRFC ports used in ALE and File ports which EDI uses.
For TRFC ports we have to give the name of the logical destination created using SM59.
When using file port you can specify the directory where the IDOC file should be placed. The other system or the middleware will pick up the file from here. The Function module can be used to generate a file name for the idoc. While Testing you can use "Outbound file" to specify a constant file name. The tab "outbound trigger" can be used to supply information if we want to trigger some processing on the subsystem when an idoc is created at this location. We have to specify the command file name and the directory which has to be run.


This is so CONFUSING!

Let's understand the process of creating an IDOC with an example -

  • Whenever a Purchase Order (PO) is created we want to send the IDOC to a vendor.
  • The PO is sent in the form of an IDOC to the vendor (partner). That partner has to be EDI enabled in that system. SAP should realize that it could send doc to this vendor electronically.
  • The PO sent as an outbound idoc by the customer will be inbound idoc for the vendor. The SAP system on the vendor's side can process this to create an application document (a sales order) on their system.
  • Quotation, RFQ, PO, SO, Invoice, delivery note etc are some of the commonly exchanged documents through IDOC

The process of data transfer out of your SAP system is called the Outbound process, while that of data moving into you SAP system is called Inbound process. As a developer or a consultant who will be involved in setting up theses process for your organization. Here are the steps how to set them up-

The Outbound Process

Steps Involved -

  1. Create segments(WE31)
  2. Create an idoc type(WE30)
  3. Create a message type (WE81)
  4. Associate a message type to idoc type(WE82)
  5. Create a port(WE21)
  6. If you are going to use the message control method to trigger idocs then create the function module for creating the idoc and associate the function module to an outbound process code
  7. Otherwise, create the function module or stand-alone program which will create the idoc
  8. Create a partner profile(WE20) with the necessary information in the outbound parameters for the partner you want to exchange the idoc with.Trigger the idoc.

The Inbound Process

Steps Involved-

  1. Creation of basic Idoc type (Transaction WE30)
  2. Creating message type (Transaction WE81)
  3. Associating the Message type to basic Idoc type (Transaction WE82)
  4. Create the function module for processing the 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)