Page 1 of 1

Lesen einer XML-Message

PostPosted: Fri Aug 20, 2004 3:35 pm
by Alva1590
Hallo,
wir wollen mit einem Report (ABAP) nach Inhalte/Werte in einer XML-Message suchen.

Es existieren ja die Standard-Reports RSXMB_SELECT_MESSAGES und RSXMB_DISPLAY_MSG_WITH_VERS,
aber ich bin bis jetzt noch nicht dahintergestiegen, wie bzw. mit welchen Parameter/mit welcher Methode die Inhalten (Strings) der XML-Messages ausgelesen werden. Das Auslesen scheint über die Klassen cl_xml_persist und cl_xml_message abgewickelt zu werden - nur wie ist mir noch nicht klar.

Vielleicht hat jemand schon einmal ein ähnliches Problem gahabt und kann mir weiterhelfen.

Existieren denn noch weitere Tabellen neben den Tabellen SXMSPMAST und SXMSPVERS? (wo die eigentlcihen Inhalten stehen?)

Vielen Dank schon im voraus - bin für jeden Tipp dankbar.

Gruß
Lutz

PostPosted: Fri Aug 20, 2004 3:54 pm
by Fabian1957
Die Standardreports stammen von der XI-Basis. Eigentlich gibt es da bereits ein Monitoring-Tool, um sich die Inhalte von XML-Nachrichten anzeigen zu lassen (wenn das der Hintergrund der Frage ist).

Anschauen kann man sich das über die Transaktion SXMB_MONI. Man sieht hier sehr schön einerseits den Inhalt der Nachrichten und auch welche Nachrichten (von welchem System) verarbeitet wurden.

Hermann

PostPosted: Mon Aug 23, 2004 7:00 am
by Alva1590
Hintergrund der Frage war, wie das Lesen einer XML-Message (aus welcher Tabelle; mit welchen Methoden bzw. Klassen; in welchen Bereichen steht der String der XML-Message) durchgeführt wird. In unserem Report sollen Messages nach einem Wert/Inhalt durchsucht und die Treffer am Bildschirm angezeigt werden.

Das Lesen dieser XML-Messages ist nicht so ganz klar "erlesbar" aus den Standardreports (SXMB_MONI, etc.).

Gruß
Lutz

PostPosted: Mon Aug 23, 2004 9:21 am
by Alva1590
Schau mal ins Paket SXMSPERSIST (Transaktion SE80). Unter dem Bereich DDIC-Objekte befinden sich die relevanten DB-Tabellen.
z.B.: SXMSCLUP, SXMSCLUR

PostPosted: Mon Aug 23, 2004 9:28 am
by Emre397
Kann ich nur bestätigen. Die methode READ_PERSIST_TAB_ALL von der klasse CL_XMS_PERSIST macht ab zeile 150 nen zugriff auf die tabelle sxmsclup. Ist ne clustertabelle (dir vielleicht bekannt von den standard texten in sap systemen - deswegen der import in ne interne tabelle).

Eigentlich mußt du nur die methode aufrufen. Die ersten drei parameter hast du ja aus der SXMSPMAST der vierte importing (IM_VERION) bekommst du aus der SXMSPVERS.

Viel spaß!
8) Gruß Azreal