Creazione di modello di messaggi per il programma di analisi IDoc

Per utilizzare la capacità di WebSphere Message Broker di trasformare i dati SAP IDoc, è necessario creare il modello dei dati del segmento di IDoc in WebSphere Message Broker.

I messaggi inviati alle e ricevuti dalle applicazioni SAP sono elaborati dal programma di analisi IDoc, che richiede un modello di messaggio per interpretare i dati correttamente. Questo argomento illustra come creare il modello di messaggio. Un esempio di versione precostituita di un modello di messaggio è fornito in SupportPac IA0F.

Acquisizione di IDoc

Utilizzare la seguente procedura per creare un file di importazione dei dati IDoc richiesti per l'uso da parte del Message Brokers Toolkit:
  1. Collegarsi ad un sistema SAP
  2. Eseguire la transazione fornita we60 che estrae i dati IDoc come file di intestazione C:
    1. Per ObjectName selezionare il tipo di IDoc prescelto, ad esempio MATMAS02.
    2. Selezionare la versione del tipo di record. Un IDoc versione 4 è di tipo 3.
    3. Selezionare C-header dal menu di documentazione.
    4. Immettere il nome file per l'output dalla transazione quando richiesto. La rappresentazione C di IDoc viene salvata in questo file.
  3. Utilizzare lo script Perl hdrfiddle.pl, fornito in SupportPac IA0F, per garantire che il file di output creato sia del formato corretto per l'importazione nel Message Brokers Toolkit.

Creazione di un modello dell'IDoc

Utilizzare la seguente procedura per creare il proprio modello di messaggio:

  1. Utilizzare la procedura guidata Nuovo progetto della serie di messaggi per creare una serie di messaggi per IDoc, ad esempio matmas02 e per creare un formato fisico CWF (Custom Wire Format).
  2. Utilizzare l'editor della serie di messaggi per modificare la proprietà della serie di messaggi Programma di analisi di runtime in IDOC.
  3. Utilizzare la procedura guidata Nuovo file di definizione dei messaggi o il comando mqsicreatemsgdefs per importare la rappresentazione C di IDoc nella nuova serie di messaggi. Quando si utilizza la procedura guidata o il comando, specificare le seguenti impostazioni:
    • Creare messaggi per i segmenti che compaiono in IDoc.
    • Utilizzare l'opzione Codifica String per importare gli array char come stringhe a lunghezza fissa.
    • Utilizzare l'opzione Carattere di riempimento per String per fare dello spazio (" ") il carattere di riempimento utilizzato.
    Importazione da C contiene informazioni sull'utilizzo della procedura guidata Nuovo file di definizione dei messaggi.
  4. Ridenominare ogni messaggio con il nome del segmento che rappresenta in lettere maiuscole. Ad esempio, per un segmento denominato E2MARAMM il messaggio deve essere denominato E2MARAMM.

La serie di messaggi deve essere aggiunta a un file bar (broker archive) e distribuita a un gruppo di esecuzione del broker, poiché il programma di analisi IDoc utilizza il programma di analisi MRM per analizzare i segmenti IDoc definiti.

La proprietà Programma di analisi di runtime, il nome della serie di messaggi e il nome Custom Wire Format sono utilizzati quando si crea un flusso di messaggi per elaborare un IDoc. Essi compaiono come valori delle proprietà Dominio messaggi, Serie di messaggi e Formato del messaggio rispettivamente di un nodo MQinput. Non fornire una proprietà Tipo messaggio nel nodo MQInput, poiché il programma di analisi IDoc utilizza il contenuto del segnam del campo DD IDoc definito di SAP per fornire il nome del messaggio.

Accesso ai campi di IDoc utilizzando ESQL

È possibile utilizzare Content Assist dell'editor ESQL per compilare i campi definiti da SAP di IDoc. Richiamare Content Assist dal menu Modifica o, su certi sistemi, premendo Ctrl+Spazio se questa combinazione di tasti non è stata assegnata ad un'altra funzione.

Quando si arriva alla tag sdatatag in un'istruzione ESQL, la tag successiva è MRM, che deve essere immessa manualmente e quindi il nome del campo da manipolare. Specificare qui il nome del campo all'interno del segmento del messaggio, invece del nome del segmento del messaggio.

Ad esempio, il seguente codice imposta il nome del segmento di IDoc:

SET OutputRoot.IDOC.DD[I].segnam  = 'E2MAKTM001';
Il seguente esempio imposta il campo msgfn all'interno del segmento E2MAKTM001:
SET OutputRoot.IDOC.DD[I].sdatatag.MRM.msgfn = '006';     
Informazioni particolari | Marchi | Download | Libreria | Supporto | Commenti
Copyright IBM Corporation 1999, 2006 Ultimo aggiornamento: ago 17, 2006
ac20030_