Cos'è un IDOC?
IDOC è semplicemente un contenitore di dati utilizzato per scambiare informazioni tra due processi in grado di comprendere la sintassi e la semantica dei dati.
In altre parole, un IDOC è come un file di dati con un formato specificato che viene scambiato tra 2 sistemi che sanno come interpretare quei dati.
IDOC sta per " documento intermedio"
Quando eseguiamo un processo ALE o EDI in uscita , viene creato un IDOC.
Nel sistema SAP, gli I DOC sono archiviati nel database. Ogni IDOC ha un numero univoco (all'interno di un client).
In questo tutorial imparerai:
- Cos'è un IDOC?
- Struttura di un IDOC
- Tipi IDOC
- Cos'è un segmento?
- Che cos'è il tipo IDOC di estensione?
- Visualizzazioni IDOC
- Profili dei partner
- Porta
- Il processo in uscita
- Il processo in entrata
- Gli IDOC sono indipendenti dai sistemi di invio e ricezione. (Da SAP a SAP e non SAP)
- Gli IDOC sono basati sugli standard EDI, ANSI ASC X12 e EDIFACT. In caso di conflitto nella dimensione dei dati, ne adotta uno di lunghezza maggiore.
- Gli IDOC sono indipendenti dalla direzione dello scambio di dati, ad esempio ORDERS01: modulo di acquisto: in entrata e in uscita
- Gli IDOC possono essere visualizzati in un editor di testo . I dati vengono memorizzati in formato carattere anziché in formato binario.
Struttura di un IDOC
La struttura I doc è composta da 3 parti:
- La parte di amministrazione ( Record di controllo ) - che ha il tipo di idoc, il tipo di messaggio, lo stato corrente, il mittente, il destinatario, ecc. Questo è indicato come il record di controllo.
- I dati dell'applicazione ( record di dati ) - che contiene i dati. Questi sono chiamati record / segmenti di dati .
- Le informazioni sullo stato ( Status Record ) - Queste forniscono informazioni sulle varie fasi attraverso cui l'idoc è passato.
È possibile visualizzare un I-DOC utilizzando la transazione WE02 o WE05
Come si vede lo screenshot sopra, il record IDOC ha tre parti Controllo, Dati e Stato. Esaminiamoli in dettaglio: Control Record
- Tutti i dati del record di controllo vengono memorizzati nella tabella EDIDC. La chiave di questa tabella è il numero IDOC
- Contiene informazioni come il numero IDOC, la direzione (in entrata / in uscita), il mittente, le informazioni sul destinatario, il canale che sta utilizzando, la porta che sta utilizzando ecc.
- La direzione "1" indica in uscita, "2" indica in entrata.
Record di dati
- Il record di dati contiene i dati dell'applicazione come le informazioni sull'intestazione dei dipendenti, i dettagli settimanali, i dettagli del cliente, ecc
- Tutti i dati dei record di dati vengono memorizzati nelle tabelle da EDID2 a EDID4 e EDIDD è una struttura in cui è possibile vedere i suoi componenti.
- Contiene dati come il numero idoc, il nome e il numero del segmento nell'idoc, la gerarchia e i dati
- I dati effettivi vengono memorizzati come stringa in un campo denominato SDATA, che è un campo lungo 1000 caratteri.
Record di stato
- Il record di stato viene allegato a un I-DOC ad ogni milestone o quando si verificano errori.
- Tutti i dati del record di stato vengono memorizzati nella tabella EDIDS.
- Gli stati 1-42 sono per l'uscita mentre 50-75 per l'entrata
Tipi IDOC
Un tipo I DOC, (Base) definisce la struttura e il formato del documento commerciale che deve essere scambiato. Un IDOC è un'istanza di un tipo IDOC , proprio come il concetto di variabili e tipi di variabili nei linguaggi di programmazione. È possibile definire i tipi di IDOC utilizzando WE30
Cos'è un segmento?
Un segmento definisce il formato e la struttura di un record di dati in I-DOC. I segmenti sono componenti riutilizzabili.
Per ogni segmento creato da SAP
- Tipo di segmento (indipendente dalla versione)
- Definizione del segmento (dipendente dalla versione)
- Documentazione del segmento
Gli ultimi 3 caratteri sono la versione del segmento Le
definizioni continuano a cambiare in base alla versione ma il tipo di segmento rimane lo stesso.
Transazione: WE31
Che cos'è il tipo IDOC di estensione?
Un IDOC è di 2 tipi: -
- Di base
- Estensione
SAP fornisce molti tipi di IDOC di base predefiniti che non possono essere modificati . Nel caso in cui desideri aggiungere più dati a questo tipo di base limitato, puoi utilizzare un tipo di estensione. La maggior parte delle volte NON userete l'estensione.
Documentazione
Ogni IDOC è accuratamente documentato nella transazione WE60
Tipo di messaggio
Un messaggio rappresenta un tipo specifico di documento che viene trasmesso tra due partner Es. Ordini, risposte agli ordini, fatture, ecc.
Un tipo di idoc può essere associato a molti tipi di messaggi
Inoltre, un tipo di messaggio può essere associato a diversi tipi di idoc. Transazione WE81
Visualizzazioni IDOC
Un tipo IDOC può essere utilizzato per più di un tipo di messaggio, il che si traduce in IDOC contenenti più campi di quelli richiesti per un particolare tipo di messaggio.
Profili dei partner
Un partner è definito come un partner commerciale con il quale si conducono affari e si scambiano documenti
Nel profilo del partner di un partner con cui scambiamo Idoc, manteniamo i parametri necessari per lo scambio dei dati. La transazione utilizzata è WE20 .
Porta
La porta definisce le caratteristiche tecniche della connessione tra il tuo sistema SAP e l'altro sistema con cui vuoi trasferire i dati (sottosistema). La porta definisce il supporto in cui i dati vengono scambiati tra i 2 sistemi.
Esistono diversi tipi di porte. Le 2 più comunemente utilizzate sono le porte TRFC utilizzate nelle porte ALE e File utilizzate da EDI.
Per le porte TRFC dobbiamo dare il nome della destinazione logica creata utilizzando SM59 .
Quando si utilizza la porta file, è possibile specificare la directory in cui deve essere posizionato il file IDOC. L'altro sistema o il middleware preleverà il file da qui. Il modulo Funzione può essere utilizzato per generare un nome file per l'idoc. Durante il test è possibile utilizzare "File in uscita" per specificare un nome file costante. La scheda " trigger in uscita " può essere utilizzata per fornire informazioni se si desidera attivare un'elaborazione sul sottosistema quando viene creato un idoc in questa posizione. Dobbiamo specificare il nome del file di comando e la directory che deve essere eseguita.
Questo è così CONFONDENTE!
Comprendiamo il processo di creazione di un IDOC con un esempio:
- Ogni volta che viene creato un ordine di acquisto (PO), desideriamo inviare l'IDOC a un fornitore.
- L'ordine di acquisto viene inviato sotto forma di IDOC al venditore (partner). Quel partner deve essere abilitato EDI in quel sistema. SAP dovrebbe rendersi conto che potrebbe inviare documenti a questo fornitore elettronicamente.
- L'ordine di acquisto inviato come idoc in uscita dal cliente sarà l'idoc in entrata per il fornitore. Il sistema SAP dal lato del fornitore può elaborarlo per creare un documento dell'applicazione (un ordine di vendita) sul proprio sistema.
- Quotazione, RFQ, PO, SO, Fattura, bolla di consegna ecc.Sono alcuni dei documenti comunemente scambiati tramite IDOC
Il processo di trasferimento dei dati dal tuo sistema SAP è chiamato processo in uscita , mentre quello dei dati che si spostano nel tuo sistema SAP è chiamato processo in entrata . Come sviluppatore o consulente che sarà coinvolto nell'impostazione del processo di tesi per la tua organizzazione. Ecco i passaggi su come configurarli-
Il processo in uscita
Passaggi coinvolti -
- Crea segmenti (WE31)
- Crea un tipo di idoc (WE30)
- Crea un tipo di messaggio (WE81)
- Associa un tipo di messaggio al tipo idoc (WE82)
- Crea una porta (WE21)
- Se intendi utilizzare il metodo di controllo dei messaggi per attivare gli idoc, crea il modulo funzione per creare l'idoc e associa il modulo funzione a un codice di processo in uscita
- Altrimenti, crea il modulo funzione o il programma autonomo che creerà l'idoc
- Crea un profilo partner (WE20) con le informazioni necessarie nei parametri di uscita per il partner con cui vuoi scambiare l'idoc. Attiva l'idoc.
Il processo in entrata
Fasi coinvolte
- Creazione del tipo di Idoc di base (Transazione WE30)
- Creazione del tipo di messaggio (Transazione WE81)
- Associazione del tipo di messaggio al tipo di Idoc di base (transazione WE82)
- Crea il modulo funzione per l'elaborazione dell'idoc
- Definire le caratteristiche del modulo funzione (BD51)
- Assegna il modulo funzione in entrata al tipo di messaggio (WE57)
- Definizione del codice di processo (Transazione WE42)
- Creazione del profilo del partner (Transazione WE20)