[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2009
    Beiträge
    3

    Nachrichtendatenfeldformate

    Hallo zusammen,

    vielleicht kann mir jemand helfen.

    Wie komme ich in einem CL-Programm an die Nachrichtendatenfeldformate (FMT) einer Nachricht, wenn ich die MSG-ID habe.

    Mit RCVMSG komme ich ja an die Nachrichtendaten. Dies ist ja ein "langer String". Wenn ich diesen String nun aufteilen möchte, dann benötige ich die
    entsprechenden Nachrichtendatenfeldformate, oder?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Genau.
    Der DSPMSGD kannst du dir den Feldaufbau ansehen.
    In der Beschreibung steht &1 für das 1. Feld, &2 für das 2. usw.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Willst du die Nachricht selber wieder ausgeben? Vielleicht genügt dir ja ein RTVMSG, dem du die Nachrichtendatenfeldwerte mit übergibst?

  4. #4
    Registriert seit
    Apr 2009
    Beiträge
    3
    Zuerst danke für die antworten.

    Das Problem liegt im Zusammenspiel zwischen JAVA und COBOL Programmen.
    Aus interaktiven Java-Programmen unter Websphere werden ILE-Cobol Programme aufgerufen. Diese ILE-Cobol Programme schreiben ihre Fehlermeldungen in ihre Programmnachrichtenwarteschlange.
    Nun habe ich mir das so vorgestellt, daß am Ende des ILE-Cobol Programms ein "Fehlerhandlingsprogramm" aufgerufen wird. Diese liest alle Nachrichten in der Jobnachrichtewarteschlange aus (egal ob eigene oder Systemmeldungen) ermittelt sich bei den eigenen die Nachrichtendaten und konvertiert diese wie z.B. bei einer CSV-Datei. Sprich die Felddaten werden nicht als einen String an die Java-Programme zurückgegeben, sondern mit z.B. Simikolon getrennt. Die Java Programme können damit ihre Nachrichten aufbereiten und an die Benutzer weitergeben.

    Dazu muß ich aber an die Feldinformationen der Nachrichten kommen, um die Nachrichtendaten "zerlegen" zu können.

    Mit den "normalen" Commands wie z.B. DSPMSGD komme ich nur über den Umweg *PRINT ==> kopieren in die Datenbank ==> Auslesen und ermitteln der Felddaten ran.

    Als weitere Möglichkeit habe ich nun das API QMHRTVM im Forum gefunden. Geht das mit dem, oder gibt es noch eine andere Möglichkeit?

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    - gegen DSPMSGD output(*PRINT) ... spricht, dass das nicht Sprach- und Release-fest ist.
    -QMHRTVM ist wohl die richtige Ecke, aber wenn ich mir das Ding genauer ansehe, würde es mir wahrscheinlich mehr Spass machen, die COBOL Funktionen in Java neu zu schreiben, aber manchmal wird nach Spass nicht gefragt und man hat keine Wahl, viel Spass also mit QMHRTVM...

    D*B

    Zitat Zitat von TROJANB Beitrag anzeigen
    Zuerst danke für die antworten.

    Das Problem liegt im Zusammenspiel zwischen JAVA und COBOL Programmen.
    Aus interaktiven Java-Programmen unter Websphere werden ILE-Cobol Programme aufgerufen. Diese ILE-Cobol Programme schreiben ihre Fehlermeldungen in ihre Programmnachrichtenwarteschlange.
    Nun habe ich mir das so vorgestellt, daß am Ende des ILE-Cobol Programms ein "Fehlerhandlingsprogramm" aufgerufen wird. Diese liest alle Nachrichten in der Jobnachrichtewarteschlange aus (egal ob eigene oder Systemmeldungen) ermittelt sich bei den eigenen die Nachrichtendaten und konvertiert diese wie z.B. bei einer CSV-Datei. Sprich die Felddaten werden nicht als einen String an die Java-Programme zurückgegeben, sondern mit z.B. Simikolon getrennt. Die Java Programme können damit ihre Nachrichten aufbereiten und an die Benutzer weitergeben.

    Dazu muß ich aber an die Feldinformationen der Nachrichten kommen, um die Nachrichtendaten "zerlegen" zu können.

    Mit den "normalen" Commands wie z.B. DSPMSGD komme ich nur über den Umweg *PRINT ==> kopieren in die Datenbank ==> Auslesen und ermitteln der Felddaten ran.

    Als weitere Möglichkeit habe ich nun das API QMHRTVM im Forum gefunden. Geht das mit dem, oder gibt es noch eine andere Möglichkeit?
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    QMHRTVM, Format RTVM0300 ist das einzige API, mit dem du die Formate auslesen kannst.
    Zu beachten ist, dass du Dezimalfelder, Binärfelder, variable Felder beliebig mischen kannst.
    Das Trennen in z.B. CSV-Format macht auch hier wenig Sinn, da du ja trotzdem den Nachrichtentext bzw. die Bedeutung (MSGID) der Inhalte benötigst.
    Mit RCVMSG und RTVMSG erhältst du direkt den formatierten Text, was wohl erheblich sinnvoller ist.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  7. #7
    Registriert seit
    Apr 2009
    Beiträge
    3
    Danke Fuerchau.

    Das Problem ist die Sprache. Der Java Banutzer arbeitet in einer Sprache. Die COBOL Programme (existieren alle schon lange) werden mit einem technischen Benutzer aufgerufen. Die Nachrichten, die die COBOL-Programme ausgeben, sind ja von der Jobumgebeung abhängig. Diese wird über die JOBD im Benutzerprofil bestimmt.
    An die Java Programme übergebe ich eine MSG-ID (diese Nachricht wird in der Javaumgebung verwaltet) und die entsprechenden Werte mit z.B Simikolon getrennt. Das Java-Programm baut dann die Java-Meldung in der entsprechenden Sprache zusammen.

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Die Toolbox der AS/400 erlaubt auch Zugriffe auf Nachrichtendateien.
    Man kann je nach Sprache ja eine andere MSGF verwenden und per RTVMSG ja aus der entsprechenden Benutzersprache lesen.
    Dann hat man auch nicht das Problem mit dem Auseinandernehmen und neu zusammenbauen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •