[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2001
    Beiträge
    267

    Question Menü via CL erstellen

    Hallo,

    ich versuche, ein Menü via CL-PGM zu generieren. Dabei gibt es grössere Probleme.

    Hier die Quelle:

    PGM
    CRTDSPF FILE(XXX/TEST)

    DLTMSGF MSGF(XXX/TEST)
    MONMSG MSGID(CPF0000)
    CRTMSGF MSGF(XXX/TEST)

    CRTMNU MENU(XXX/TEST) TYPE(*DSPF) +
    CMDLIN(*SHORT) DSPKEY(*NO) CURLIB(*NOCHG) + PRDLIB(*NOCHG) REPLACE(*YES) DLTOVR FILE(*ALL)

    ENDPGM

    Folgende Objekte werden auch erstellt:

    Objekt Art Bibliothek Attribut

    TEST *MSGF XXX
    TEST *FILE XXX DSPF
    TEST *MENU XXX DSPF


    Nach dem Aufruf: GO MENU(XXX/TEST) erscheint dann folgende Fehlermeldung:

    Nachrichten-ID . . . . : CPD6ADF Bewertung . . . . . . : 30
    Nachrichtenart . . . . : Diagnose
    Sendedatum . . . . . . : 07.10.19 Sendezeit . . . . . . : 11:57:35

    Nachricht . . . : Bildschirmdatei TEST darf nicht von Menü verwendet werden.
    Ursache . . . . : Für Bildschirmdatei TEST in Bibliothek XXX ist kein separater Bezugszahlenbereich definiert. Bildschirmatei TEST wird von Menü TEST in Bibliothek XXX verwendet. Für Bildschirmdateien, die von Menüs
    verwendet werden, muss ein separater Bezugszahlenbereich definiert sein.
    Fehlerbeseitigung: Definition der Bildschirmdatei so ändern, dass ein separater Bezugszahlenbereich definiert wird. Hierzu Schlüsselwort INDARA in den Datendefinitionsspezifikationen für die Bildschirmdatei angeben.

    => wird das Menü über SDA erstellt, funktioniert alles einwandfrei. Und in der MNUDDS ist standardmäßig INDARA vorgegeben.

    Ich möchte erreichen, dass ich eine QMNUSRC via CL auslese und anhand der MNUDDS die Menüs generiere.
    Weiß jemand Rat?

    Gruß
    Bodo

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    SDA erstellt doch ein Beispiel.
    Nimm die DDS-Quelle des Menüs als Basis und baue deine Quelle genau so auf.
    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
    Apr 2001
    Beiträge
    267
    Hallo Baldur,

    dass ist nicht das Problem. Die Quellen wurden über SDA erstellt. Nun sollen in einer anderen Umgebung die Menüs mit den SDA-Quellen generiert werden. Und das möchte ich im CL automatisieren.

    Gruß
    Bodo

  4. #4
    Registriert seit
    Oct 2007
    Beiträge
    1

    Menu erstellen

    Hallo,
    alles richtig gemacht.
    Fehler liegt ziemlich sicher daran,
    dass ein ANDERES DSPF-Objekt mit dem Namen TEST
    zum Erstellungszeitpunkt in einer anderen Bibliothek(die sich auch in der Libliste befinden) existiert.
    Also zuerst mit WRKOBJ prüfen, wo überall TEST rumschwiert.

    Viel Glück.

  5. #5
    Registriert seit
    Apr 2001
    Beiträge
    267
    Hallo,

    es ist kein Problem mit gleichen Objekten in verschiedenen Bibliotheken, dass kann absolut ausgeschlossen werden.

    Problem hat eine andere Ursache. Trotzdem Danke.
    Vielleicht hat ja noch jemand eine Idee???

    Gruß
    Bodo

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    WICHTIG:
    Die DSPF muss als Satzformat den namen der DSPF enthalten.
    Prüfe das bei deiner Generierung !

    Bildschirmdatei (DSPF) - Hilfetext

    Gibt die Bildschirmdatei an, die zum Erstellen des
    Menüobjekts verwendet werden soll. Die Bildschirmdatei muß
    ein Satzformat enthalten, das denselben Namen hat wie die
    Bildschirmdatei selbst (genannt Menüformat). In der Datei
    können ebenfalls Hilfeformate enthalten sein.
    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
    Aug 2004
    Beiträge
    923
    Alles sehr merkwürden....

    Wir machen unsere Menüs mit nem eigenen CLP und das funktioniert supi.

    Also laut Handbuch wären die Erstellungbefehle für Deinen Fall wie folgt:
    CRTDSPF FILE(PERLIB/PERSMENU) +
    SRCFILE(USERLIB/SFPERS) +
    DFRWRT(*NO) +
    RSTDSP(*NO)

    CRTMSGF MSGF(PERLIB/PERSMENU) +
    TEXT('Message file of commands for menu PERSMENU.')

    CRTMNU MENU(PERLIB/PERSMENU) TYPE(*DSPF) DSPF(*MENU) +
    MSGF(*MENU) DSPKEY(*NO) CMDLIN(*LONG) +
    TEXT('Personnel menu')
    Versuch das mal genauso, nur eben die Namen der LIB und des Objektes ersetzen.

    Wenn Du schreibst dass bei Umwandlung durch automatik das funktioniert, dann prüfe doch mal die Umwandlungsliste, was da genau für Parameter gezogen werden.

    kuempi

  8. #8
    Registriert seit
    Apr 2001
    Beiträge
    267
    Wie schon erwähnt, sind die Quellen Original, also über SDA erstellt worden. Keine manuellen Änderungen vorgenommen. Die Quellen sind abolut einwandfrei.

    Objekte werden ja auch erstellt, aber Verwendung klappt nicht (siehe Fehlermeldung im Beitrag oben)

    Gruß
    Bodo

    (Nachsatz: Dies ist die Antwort auf die letzte Antwort von Baldur)

  9. #9
    Registriert seit
    Apr 2001
    Beiträge
    267
    Hallo Kuempi,

    nachdem ich Dein Handbuchzitat:

    CRTDSPF FILE(PERLIB/PERSMENU) +
    SRCFILE(USERLIB/SFPERS) +
    DFRWRT(*NO) +
    RSTDSP(*NO)

    geringfügig erweitert habe,

    CRTDSPF FILE(&SRCLIB/&MLNAME) +
    SRCFILE(&SRCLIB/&PFSRC) SRCMBR(&MLNAME) +
    TEXT(&MLMTXT) RSTDSP(*NO) DFRWRT(*NO)

    funktioniert es einwandfrei.

    Problem ist gelöst. Besten Dank an alle

    Gruß
    Bodo

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Also ich kann deinen Fehler leider nicht nachvollziehen.
    Ich habe mir per SDA ein Menü generieren lassen.
    Habe dann die Quellenart auf DSPF umgestellt (was den CRTDSPF nicht interessiert) und manuell die Texte geändert.
    Anschließend per CRTDSPF und CRTMNU die Objekte erstellt.
    Per GO MTEST kann ich das Menü problemlos aufrufen.

    Dann habe ich die DSPF-Quelle kopiert, den Namen des Satzformates angepasst, eine MSGF erstellt und wiederum CRTDSPF und CRTMNU aufgerufen.

    Der Aufruf von MTEST2 klappt nun auch.

    Ich weiß also nicht, was du da wo falsch machst.
    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

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  2. Hardcopies via Cl. Acc. 5250 Session unmöglich
    By federico in forum NEWSboard Drucker
    Antworten: 6
    Letzter Beitrag: 21-09-06, 09:55
  3. Bibliothekssicherungsliste via CL ändern
    By becama in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 23-06-06, 14:46
  4. DB2/400 Bibliothek erstellen via ftp
    By WPF in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 02-06-05, 10:06
  5. CL -Abfrage erstellen
    By Jelu1 in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 16-04-05, 00:21

Berechtigungen

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