PDA

View Full Version : Message IDs in physische Datei schreiben



Seiten : [1] 2 3

Matthias182
29-01-08, 14:27
Hallo Leute,

ich habe folgendes Problem.

Ich möchte die Messages in einer Message-Datei in eine physische Datei schreiben, so dass ich sie später mit SQL / Query verarbeiten kann.

Dabei habe ich das Problem, dass ich es nur schaffe, einen spool zu erzeugen und diesen mit cpysplf dann in eine Datei zu schreiben. Leider gibt es in dem Spool immer Header informationen, die ich nur manuell gelöscht bekomme.

Habt ihr eine Idee, wie ich das noch anstellen könnte.

Ich habe bisher den folgenden Command benutzt:

DSPMSGD RANGE(*FIRST *LAST) MSGF(*LIB/*FILE) DETAIL(*BASIC) FMTTXT(*YES) OUTPUT(*PRINT)

Vielen Dank

Matthias

weidenhammer
29-01-08, 14:36
Hallo Leute,

ich habe folgendes Problem.

Ich möchte die Messages in einer Message-Datei in eine physische Datei schreiben, so dass ich sie später mit SQL / Query verarbeiten kann.

Dabei habe ich das Problem, dass ich es nur schaffe, einen spool zu erzeugen und diesen mit cpysplf dann in eine Datei zu schreiben. Leider gibt es in dem Spool immer Header informationen, die ich nur manuell gelöscht bekomme.

Habt ihr eine Idee, wie ich das noch anstellen könnte.

Ich habe bisher den folgenden Command benutzt:

DSPMSGD RANGE(*FIRST *LAST) MSGF(*LIB/*FILE) DETAIL(*BASIC) FMTTXT(*YES) OUTPUT(*PRINT)

Vielen Dank

Matthias

Hallo,

schau Dir mal die API
QMHRTVM an.....


Du weisst jeoch, dass Du mittels CL keine Files schreiben kannst?

Matthias182
29-01-08, 14:48
Hallo,

um ehrlich zu sein, ich bin ein ziemlicher Newbie was die iSeries angeht.

Stehe also immer wieder vor so kleinen Problemen und auch Verständnisschwierigkeiten.

Was meinst du mit API?

Und dass ich mit CL keine Files schreiben kann ist für mich auch nicht ganz klar.


Gruß

Matthias

Pikachu
29-01-08, 15:00
Das Programm QMHRTVM (http://publib.boulder.ibm.com/html/as400/v4r5/ic2924/info/apis/QMHRTVM.htm) ist hier beschrieben.

Aus einem CL-Programm kann nicht bzw. nur umständlich in eine physische Datei geschrieben werden. Einfacher geht's z.B. aus einem RPG-Programm.

weidenhammer
29-01-08, 15:07
API = Application Programming Interface
Damit kommst du z.B. an Systemfunktionen dran usw.

In CL gibt es gein 'write' statement oder ähnliches. du kannst ein File, und nur eines maximal lesend verarbeiten.

D.h. selbst wenn du an die Nachrichten dran kommst, hast du keine direkte Möglichkeit, diese in eine Datei zu schreiben.

Vielleicht geht es umständlich mittels 'RUNSQLSTM' oder mit nem QM-Query mit übergebenen Parametern.

Aber das wird dann schon exotisch.

Gruss

Alexander

Fuerchau
30-01-08, 08:11
Um MSGF's auszulesen (alle Nachrichten, von-bis) gibt es leider kein AS/400-CMD.

Hier hilft tatsächlich nur das API (s.o.).
Allerdings wird die ganze Sache mit CLP tatsächlich sehr kompliziert.
Für diese API's benötigt man doch besser ILERPG, mit RPG ist das auch z.T. sehr mühsam.

prsbrc
30-01-08, 08:48
Wenn wir gerade dabei sind: Du könntest dir auch eine Liste der MSGD mittels DSPMSGD (DSPMSGD RANGE(*FIRST *LAST) MSGF(LIBL/MSGF) DETAIL(*BASIC) OUTPUT(*PRINT) ausgegeben lassen und das erzeugte Soolfile danach mit dem CPYSPLF-COmmand in eine Tabelle kopieren.
Ist zwar auch umständlich, würde aber funktionieren...

Mfg
Christian

kuempi von stein
30-01-08, 09:37
Wenn wir gerade dabei sind: Du könntest dir auch eine Liste der MSGD mittels DSPMSGD (DSPMSGD RANGE(*FIRST *LAST) MSGF(LIBL/MSGF) DETAIL(*BASIC) OUTPUT(*PRINT) ausgegeben lassen und das erzeugte Soolfile danach mit dem CPYSPLF-COmmand in eine Tabelle kopieren.
Ist zwar auch umständlich, würde aber funktionieren...

Mfg
Christian

Sowas (Spool produzieren und wieder einlesen) habe ich mir schon lange abgewöhnt.
Da tuts ein OVR drumrumgebaut viel besser finde ich.
Dann hat man auch gleich die "richtige Spooldatei" am Wickel sprich in einer Datei...

kuempi

Spateneder
30-01-08, 12:06
Wenn Du Interesse hast, kann ich Dir ein Programm (aus einer älteren NewSolutions-Ausgabe) zukommen lassen, das alle Nachrichten einer MSGF mit dem API QMHRTVM liest und in eine Subfile-Anzeige schreibt (mit Suchfunktion). Ich denke, dieses Programm könntest Du leicht für Deinen Zweck anpassen.
Ist auch zum schnellen Durchsuchen von Message Files sehr praktisch.
Gruß
M. Spateneder

AS400.lehrling
30-01-08, 12:21
Wenn Du Interesse hast, kann ich Dir ein Programm (aus einer älteren NewSolutions-Ausgabe) zukommen lassen, das alle Nachrichten einer MSGF mit dem API QMHRTVM liest und in eine Subfile-Anzeige schreibt (mit Suchfunktion). Ich denke, dieses Programm könntest Du leicht für Deinen Zweck anpassen.
Ist auch zum schnellen Durchsuchen von Message Files sehr praktisch.
Gruß
M. Spateneder

Daran hätte ich auch Interesse:)

Währe nett wenn du mir was per eM@il zuschicken könntest.

Gruß AS400.lehrling