SAP Tutorial sugli IDOC in ABAP: guida passo passo

⚡ Riepilogo intelligente

SAP IDoc (Intermediate Document) è un contenitore di dati standardizzato che trasferisce informazioni aziendali tra SAP e nonSAP Sistemi tramite ALE ed EDI. Questo tutorial ne illustra la definizione, la struttura, i tipi, le tabelle, i profili dei partner, le porte e i processi end-to-end in entrata e in uscita.

  • 📦 Definizione di base: IDoc è un contenitore di dati indipendente dal sistema, basato su standard EDI quali ANSI ASC X12 e EDIFACT.
  • 🧱 Struttura in tre parti: Ogni IDoc è costituito da un record di controllo, record di dati e record di stato, ciascuno memorizzato in tabelle di database dedicate.
  • 🆚 Gerarchia dei tipi: I tipi IDoc di base vengono forniti con SAP e non possono essere modificati; i tipi di estensione aggiungono campi personalizzati quando necessario.
  • 🔁 Diagrammi di flusso dei processi: Il modulo Outbound crea e invia gli IDoc; il modulo Inbound li riceve e li invia tramite moduli funzione collegati.
  • 🤖 Abilitazione dell'IA: Gli strumenti di monitoraggio basati sull'IA rilevano tempestivamente gli errori IDoc e mappano automaticamente i campi SAP e nonSAP partner.

SAP Tutorial IDOC

Che cos'è un IDoc?

IDoc è semplicemente un contenitore di dati utilizzato per scambiare informazioni tra due processi qualsiasi in grado di comprendere la sintassi e la semantica dei dati.

In altre parole, un IDoc è come un file di dati con un formato specifico che viene scambiato tra due sistemi che sanno come interpretare quei dati.

IDoc sta per “Documento intermedio".

Quando esegui un in uscita Nel processo ALE o EDI, viene creato un IDoc. SAP Sistema, gli IDoc sono memorizzati nel database e ogni IDoc ha un numero unico all'interno di un cliente.

Funzionalità principali

  • Gli IDoc sono indipendente dai sistemi di invio e di ricezione (SAP-To-SAP nonché non-SAP).
  • Gli IDoc sono basati su EDI Standard, ANSI ASC X12 e EDIFACT. In caso di conflitto nelle dimensioni dei dati, IDoc adotta quello con la lunghezza maggiore.
  • Gli IDoc sono indipendentemente dalla direzione dello scambio dei datiAd esempio, ORDERS01 nel modulo Acquisti supporta sia gli ordini in entrata che quelli in uscita.
  • Gli IDoc possono essere visualizzati in un Editor di testo perché i dati sono memorizzati in formato carattere anziché in formato binario.

Struttura di un IDoc

Struttura di un IDoc

La struttura IDoc è composta da tre parti:

  1. La parte amministrativa (Registro di controllo) — Contiene il tipo di IDoc, il tipo di messaggio, lo stato corrente, il mittente, il destinatario e metadati simili. Questo viene definito Record di controllo.
  2. I dati dell'applicazione (record di dati) — contiene i dati aziendali. Questi sono chiamati record di dati o segmenti.
  3. Le informazioni sullo stato (Status Record) — fornisce informazioni sulle varie fasi attraversate dall'IDoc.

È possibile visualizzare un IDoc tramite transazione WE02 or WE05.

Record IDoc che mostra Controllo, Dati e Stato

Come si può vedere nello screenshot qui sopra, il record IDoc è composto da tre parti: Controllo, Dati e Stato. Ciascuna parte viene analizzata in dettaglio di seguito.

Registrazione di controllo

  • Tutti i dati del record di controllo sono memorizzati nel EDIDC tabella. La chiave di questa tabella è il numero IDoc.
  • Contiene informazioni quali il numero IDoc, la direzione (in entrata/in uscita), il mittente, le informazioni sul destinatario, il canale utilizzato e la porta utilizzata.
  • La direzione “1” indica la direzione in uscita e la direzione “2” indica la direzione in entrata.

Record di dati

  • Il record dati contiene dati applicativi come informazioni di intestazione del dipendente, dettagli settimanali, dettagli del cliente e così via.
  • Tutti i dati dei record sono memorizzati nelle tabelle EDID2 a EDID4e EDIDD è una struttura di cui si possono vedere i componenti.
  • Contiene dati come il numero IDoc, il nome e il numero del segmento nell'IDoc, la gerarchia e i dati stessi.
  • Il payload effettivo viene memorizzato come stringa in un campo chiamato DATI SD, che è un campo di 1000 caratteri.

Registro di stato

  • A ogni passaggio intermedio o in caso di errore viene allegato un record di stato.
  • Tutti i dati del record di stato sono memorizzati nel EDIDS tabella.
  • Gli stati da 1 a 42 si riferiscono alle spedizioni in uscita, mentre quelli da 50 a 75 alle spedizioni in entrata.

Tipi di IDoc

Un tipo IDoc (base) definisce la struttura e il formato del documento aziendale da scambiare. Un IDoc è un'istanza di un tipo IDoc, proprio come il concetto di variabili e tipi di variabili in linguaggi di programmazioneI tipi IDoc possono essere definiti tramite transazione WE30.

Che cos'è un segmento?

Un segmento definisce il formato e la struttura di a Record di dati in un IDoc. I segmenti sono componenti riutilizzabili.

Per ogni segmento, SAP crea i seguenti componenti.

  • Tipo di segmento (indipendente dalla versione)
  • Definizione del segmento (dipende dalla versione)
  • Documentazione del segmento

Gli ultimi tre caratteri rappresentano la versione del segmento. Le definizioni possono cambiare al variare della versione, ma il tipo di segmento rimane lo stesso. Transazione: WE31.

Segmento in IDoc

Che cos'è un tipo IDoc di estensione?

Un IDoc è di due tipi:

  1. Basic
  2. Estensione

Tipi IDoc di base ed estensione

SAP fornisce molti tipi IDoc di base predefiniti che non può essere modificatoSe devi aggiungere altri dati a un tipo base limitato, puoi utilizzare un tipo di estensione. Nella maggior parte dei casi lo farai non è un servono estensioni.

Illustrazione del tipo di IDoc di estensione

Documentazione

Ogni IDoc è documentato in modo esaustivo nella transazione WE60.

Documentazione IDoc in WE60

Tipo di messaggio

Un messaggio rappresenta un tipo specifico di documento che è transmittransazioni tra due partner, ad esempio ordini, risposte agli ordini e fatture.

Un tipo IDoc può essere associato a molti tipi di messaggio. Viceversa, un tipo di messaggio può essere associato a diversi tipi IDoc. Transazione: WE81.

Tipo di messaggio in IDoc

Viste IDoc

Un tipo IDoc può essere utilizzato per più di un tipo di messaggio, il che comporta che gli IDoc contengano più campi di quelli necessari per un particolare tipo di messaggio.

Le viste IDoc migliorano le prestazioni nella generazione di IDoc garantendo che vengano compilati con dati solo i segmenti pertinenti. Le viste IDoc sono importanti solo per l'elaborazione in uscita.

Viste IDoc

Profili partner

Un partner è un socio in affari con cui si intrattengono rapporti commerciali e si scambiano documenti.

Nel profilo del partner con cui vengono scambiati gli IDoc, si mantengono i parametri necessari per lo scambio dei dati. La transazione utilizzata è WE20.

Profili dei partner in IDoc

Porto

La Porta definisce le caratteristiche tecniche della connessione tra il tuo SAP Il sistema e l'altro sistema con cui si desidera trasferire i dati (sottosistema). La porta definisce il mezzo attraverso il quale i dati vengono scambiati tra i due sistemi.

Esistono diversi tipi di porte. Le due più comunemente utilizzate sono Porte TRFC utilizzato in ALE e porte file utilizzato da EDI.

Per le porte TRFC, è necessario specificare il nome della destinazione logica creata utilizzando SM59Quando si utilizza una porta File, è possibile specificare la directory in cui deve essere posizionato il file IDoc. L'altro sistema o middleware preleva quindi il file da lì. È possibile utilizzare un modulo funzione per generare un nome file per l'IDoc. analisi, puoi usare “File in uscita” per specificare un nome file costante. La scheda “innesco in uscita" può essere utilizzato per fornire informazioni se si desidera attivare un'elaborazione sul sottosistema quando viene creato un IDoc in questa posizione. Specificare il nome del file di comando e la directory da eseguire.

Porta in IDoc

Transazione IDoc comune Codes

operazione Code Missione
WE02 / WE05 Visualizzare e monitorare gli IDoc
WE30 Crea o modifica il tipo IDoc
WE31 Crea o modifica il segmento
WE20 Gestisci il profilo del partner
WE21 Gestisci le porte
WE42 Definire il processo in entrata Code
WE57 Assegna il modulo funzione in entrata al tipo di messaggio
WE60 Documentazione IDoc
WE81 / WE82 Crea tipo di messaggio / associa al tipo IDoc
BD51 Definire le caratteristiche del modulo funzionale
SM59 Mantenere le destinazioni RFC

Processo IDoc: un esempio concreto

Consideriamo l'esempio dell'invio di un ordine di acquisto a un fornitore tramite IDoc.

  • Ogni volta che viene creato un ordine di acquisto (PO), il sistema deve inviare un IDoc al fornitore.
  • L'ordine di acquisto viene inviato al fornitore (partner) sotto forma di IDoc. Tale partner deve essere abilitato all'EDI nel sistema. SAP riconosce di poter inviare il documento a questo fornitore in formato elettronico.
  • L'ordine di acquisto inviato come IDoc in uscita dal cliente diventa un IDoc in entrata per il fornitore. SAP Il sistema del fornitore può elaborare queste informazioni per creare un documento applicativo (un ordine di vendita) nel proprio sistema.
  • Preventivi, richieste di offerta, ordini di acquisto, ordini di vendita, fatture e bolle di consegna sono alcuni dei documenti più comunemente scambiati tramite IDoc.

Il processo di trasferimento dei dati dal tuo SAP il sistema è chiamato il Processo in uscita, mentre i dati vengono spostati nel tuo SAP il sistema è chiamato il Processo in entrataIn qualità di sviluppatore o consulente incaricato di configurare questi processi per la vostra organizzazione, di seguito sono descritti i passaggi necessari per configurarli.

Il processo in uscita

Passaggi coinvolti:

  1. Creare segmenti (WE31).
  2. Creare un tipo IDoc (WE30).
  3. Creare un tipo di messaggio (WE81).
  4. Associa il tipo di messaggio al tipo di IDoc (WE82).
  5. Creare una porta (WE21).
  6. Se si utilizza il metodo di controllo dei messaggi per attivare gli IDoc, creare il modulo funzione che genera l'IDoc e collegarlo a un processo in uscita. Code.
  7. In alternativa, crea un modulo funzione o un programma autonomo che crei direttamente l'IDoc.
  8. Crea un profilo partner (WE20) con le informazioni necessarie nei parametri in uscita per il partner con cui scambi l'IDoc e avvia l'IDoc.

Il processo in entrata

Passaggi coinvolti:

  1. Creare il tipo IDoc di base (transazione WE30).
  2. Creare il tipo di messaggio (transazione WE81).
  3. Associa il tipo di messaggio al tipo IDoc di base (transazione WE82).
  4. Creare il modulo funzione per l'elaborazione dell'IDoc.
  5. Definire le caratteristiche del modulo funzione (BD51).
  6. Assegnare il modulo funzione in entrata al tipo di messaggio (WE57).
  7. Definire il processo Code (Transazione WE42).
  8. Creare il profilo del partner (transazione WE20).

DOMANDE FREQUENTI

IDoc è asincrono, utilizzato per la messaggistica da sistema a sistema tramite ALE o EDI. BAPI è sincrono, utilizzato per l'accesso in tempo reale a SAP oggetti aziendali. L'IDoc viene messo in coda; la BAPI restituisce immediatamente.

Un tipo IDoc definisce la struttura tecnica di segmenti e campi. Un tipo di messaggio definisce il significato aziendale, come ad esempio ordini o fatture. Un tipo IDoc può essere associato a molti tipi di messaggio e viceversa.

Utilizzare la transazione WE02 o WE05 per visualizzare gli IDoc e controllare i record di stato. Per gli IDoc in uscita vengono utilizzati i codici di stato da 1 a 42; per quelli in entrata quelli da 50 a 75. La transazione BD87 rielabora gli IDoc con errori.

Il campo SDATA che memorizza il payload in ogni record di dati è lungo 1000 caratteri. Un IDoc può contenere molti record di dati, quindi il payload totale è proporzionale al numero di segmenti.

Sì. Gli IDoc sono indipendenti dal sistema e seguono gli standard EDI come ANSI ASC X12 e EDIFACT. Non-SAP i sistemi possono produrre o consumare file IDoc tramite porte file o middleware come SAP PI/PO.

I record di controllo si trovano nella tabella EDIDC, i record di dati nelle tabelle da EDID2 a EDID4 e i record di stato in EDIDS. Il numero IDoc è la chiave che collega tutte e tre le tabelle per un determinato IDoc.

Gli strumenti di monitoraggio basati sull'intelligenza artificiale raggruppano gli errori IDoc ricorrenti, prevedono i guasti in base ai modelli storici e raccomandano soluzioni per i problemi con stato 51 o 56, riducendo significativamente i tempi di rielaborazione manuale.

Sì. Mappa basata sull'intelligenza artificiale.ping i motori confrontano le definizioni dei segmenti SAP e sistemi partner, propongono mappatura del campopinge imparare dalle correzioni passate, riducendo drasticamente la configurazione manuale nei progetti ALE e EDI.

Riassumi questo post con: