Verwenden Sie zum Kopieren der eingehenden IDoc in die abgehende IDoc ESQL von einem Rechenknoten, und bearbeiten Sie die Nachricht.
Eine gültige IDoc-Nachricht wird aus SAP an den MQSeries-Link für R/3 gesendet.
Wenn diese IDoc erfolgreich an die ausgehende WebSphere MQ-Warteschlange übergeben wurde, liest sie der Empfangsknoten des Nachrichtenflusses aus dieser Warteschlange und generiert die Syntaxelementbaumstruktur.
Der Rechenknoten bearbeitet diese Syntaxelementbaumstruktur und leitet die Ausgabenachricht nach beendeter Bearbeitung an nachfolgende Knoten im Nachrichtenfluss weiter. Wenn die Nachricht den Sendeknoten erreicht, wird der IDOC-Parser aufgerufen, um den Bitstrom aus der Baumstruktur wiederherzustellen.
Der Nachrichtenfluss muss die Ausgabenachricht in einem ähnlichen Format wie die Eingabenachricht erstellen.
Unter Feldnamen der IDOC-Parserstrukturen finden Sie weitere Informationen zu Feldnamen in der DC (Steuerstruktur) und DD (Datenstruktur), die vom IDOC-Parser erkannt werden.
SET OutputRoot = InputRoot; SET OutputRoot.IDOC.DC[1].tabnam = 'EDI_DC40 '; SET OutputRoot.IDOC.DD[2].sdatatag.MRM.maktx = 'Buzzing all day';
Die erste Zeile des Codes kopiert die eingehende IDoc in die ausgehende IDoc.
Die zweite Zeile legt den tabname der ersten DC fest.
Die dritte Zeile verwendet das zweite DD-Segment, welches in diesem Beispiel das Format E2MAKTM001 hat, und legt das Feld maktx fest.
In einer ESQL-Anweisung folgt auf den Tag sdatatag der Tag MRM, der manuell eingegeben werden muss. Anschließend wird der Feldname bearbeitet. Geben Sie hier den Namen des Felds im Nachrichtensegment und nicht den Namen des Nachrichtensegments ein.
Durch den folgenden Code wird beispielsweise der Segmentname der IDoc festgelegt:
SET OutputRoot.IDOC.DD[I].segnam = 'E2MAKTM001';Im folgenden Beispielcode wird das Feld msgfn im Segment E2MAKTM001 gesetzt:
SET OutputRoot.IDOC.DD[I].sdatatag.MRM.msgfn = '006';