[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2012
    Beiträge
    12

    Verwendung einer MSGF im Serviceprogramm

    Hallo zusammen!

    Ich habe in zwei Nachrichtendateien (LNGENG(englisch) und LNGGER (deutsch)) die entsprechenden Texte für eine Bildschirmanzeige hinterlegt.
    In der DSPF sind folgende Zeilen:
    LNGMSGF 10A P TEXT('MESSAGEFILE')
    F1TPGMNAM 34A O 2 22MSGID(XXX 0026 &LNGMSGF)
    In meinem Programm fülle ich die Variable LNGMSGF entsprechend und alles funktioniert bestens.
    Jetzt mein Problem:
    Wenn ich das genauso in einem Serviceprogramm hinterlege (das ich z.B. aus verschiedenen Programmen heraus als Suchfunktion o.ä. benutze) funktioniert die Übergabe der Variable an die DSPF nicht - im Joblog erscheint die Meldung
    Nachrichtendatei in *LIBL nicht gefunden.
    Nachrichten-ID XXX0026 in Nachrichtendatei in *LIBL nicht gefunden.
    Wo ist hier der Unterschied zu einem "normalen" Programm?
    Wäre prima, wenn mir hier jemand helfen könnte!

    Vielen Dank!
    Claudia

  2. #2
    Registriert seit
    Jan 2001
    Beiträge
    835
    Hallo,

    dann hat der Job in dem das Serviceprogramm
    läuft eine andere Bibliotheksliste.

    Du kannst die Bibliohtheklsliste mit der
    Option 13 des Jobs prüfen.

    Gruß
    Michael

  3. #3
    Registriert seit
    Jul 2012
    Beiträge
    12
    Hallo Michael,

    nein, daran liegt es nicht, die Bibliotheksliste ist i.O. Das aufrufende Programm kann die MSGF umsetzen, das Serviveprogramm (gleiche Umgebung, gleiche LIBL) aber nicht?!
    Und in der Fehlernachricht des Joblogs ist die Variable ja auch leer, daher vermute ich eher, daß die Übergabe in die "P"-definierte Variable zum DSPF nicht klappt. Aber warum und wie muss ich es stattdessen machen?

    Grüße
    Claudia

  4. #4
    Registriert seit
    Jan 2001
    Beiträge
    835
    Zitat Zitat von claudia_669 Beitrag anzeigen
    Hallo Michael,

    nein, daran liegt es nicht, die Bibliotheksliste ist i.O. Das aufrufende Programm kann die MSGF umsetzen, das Serviveprogramm (gleiche Umgebung, gleiche LIBL) aber nicht?!
    Und in der Fehlernachricht des Joblogs ist die Variable ja auch leer, daher vermute ich eher, daß die Übergabe in die "P"-definierte Variable zum DSPF nicht klappt. Aber warum und wie muss ich es stattdessen machen?

    Grüße
    Claudia
    Hi,

    ich glaube da wären ein paar Codeschnipsel schon hilfreich.

    gruß
    Michael

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.878
    Erfolgt irgenwo ein OVRMSGF und Programm und Service-Programm laufen in unterschiedlichen Aktivierungsgruppen?

    Unglücklicherweise kann man beim OVRMSGF den Override Scope (Default Aktivierungsgruppe) nicht setzten (zumindest habe ich es noch nicht gefunden!)

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  6. #6
    Registriert seit
    Jul 2012
    Beiträge
    12
    Ein OVRMSGF kann ich nicht finden. Es wird eine reine Zuweisung in die Variable LNGMSGF über eine Funktion (Zugriff auf User-Datenbank mit hinterlegter Sprache) vorgenommen
    (die danach lt. Debugger auch korrekt gefüllt ist).
    Das Serviceprogramm wurde mit Aktivierungsgruppe *CALLER erstellt - das sollte dann doch die gleiche sein wie beim aufrufenden Programm, oder?

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.256
    Die Meldungen des Systems sind da auf jeden Fall eindeutig:

    Prüfe bitte den Inhalt der Variablen mal mit "eval MYVAR:X", der Name muss in Großbuchstaben sein und muss ggf. mit Leerzeichen gefüllt sein.

    Wenn du den Debugger an der Stelle anhältst, kannst du mit ich glaube F21 eine Kommandozeile öffnen und mal mit
    WRKMSGF MYMSGF
    prüfen ob die tatsächlich über *LIBL gefunden wird.
    Mittels WRKMSGD kannst du dann auch prüfen, ob die Nachricht tatsächlich vorhanden ist.

    Es gibt wirklich da keinen Unterschied zwischen Programm oder Serviceprogramm.
    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

  8. #8
    Registriert seit
    Jul 2012
    Beiträge
    12
    Das ist ja das seltsame, genau das habe ich alles schon überprüft:
    Libl ist korrekt, MSGF darin vorhanden, MSGD ebenfalls, Variable mit Großbuchstaben und ergänzenden Blanks richtig gefüllt, ABER der Inhalt kommt im DSPF in der P-Variablen offensichtlich nicht an! Das aufrufende Programm setzt alles korrekt um, dann drücke ich F4 für meinen Matchcode (-> Serviceprogramm) und die Nachrichten sind nur noch Fragezeichen...

    Noch irgendeine Idee?

    Aber vielen Dank schon einmal für die Hilfestellungen!
    Claudia

    Noch ein Nachtrag: mein Serviceprogramm ist übrigens in SQLRPG - könnte es damit etwas zu tun haben, gibt es da einen Unterschied?

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.878
    Auf welchem Release seid Ihr?
    Ist die Display-File global oder lokal (innerhalb einer Prozedur definiert)?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  10. #10
    Registriert seit
    Jul 2012
    Beiträge
    12
    Release ist V6.1

    Habe jetzt mehr aus Spielerei die DSPF mal mit SHARE *YES umgewandelt und nun geht es plötzlich.
    Die Erklärung dazu ist mir schleierhaft, aber immerhin....

    Also danke nochmal!

Similar Threads

  1. MSGF vergleichen mit MSGF
    By Miles in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 25-04-12, 07:01
  2. Message aus MSGF in RPG-ILE auslesen
    By TomWaf in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 24-08-10, 13:47
  3. Verwendung von Modulen
    By Stannek in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 23-01-07, 07:36
  4. Serviceprogramm QC3CTX???
    By jo400 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 17-11-06, 13:21
  5. Inhalt MSGF durchsuchen bzw. drucken
    By GEA in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 16-12-05, 12:06

Berechtigungen

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