[NEWSboard IBMi Forum]

Thema: CBLLE

  1. #1
    Registriert seit
    Jul 2001
    Beiträge
    24

    Post CBLLE

    Hallo zusammen,

    wer weiß, wie man in einem CL-Programm folgende Informationen bekommt, die über DSPOBJD für normale CBL-Programme zurückgegeben werden. Es geht um die Quellendatei, die Bibliothek und die Teildatei. Da wir ohne ein Modul zu erstellen mit CRTBNDCBL umwandeln, liefert uns dieser Befehl die o.g. Felder nicht zurück. Hat jemand eine Idee, wie das innerhalb eines CL gehen kann (DSPPGM liefert es, aber das nützt mir nichts, da ja keine Dateiausgabe möglich ist).

    mfg
    Claudia Lange

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    125

    Post

    Hallo,

    DSPOBJD mit Ausgabe *OUTFILE und DETAIL(*SERVICE) gibt die benötigten Angaben als Datei aus.
    *Nachtrag*: Stimmt ja gar nicht, nächstes mal lese ich die Frage auch bis zum Ende durch:-)

    Wie wärs aber mit DSPPGM Ausgabe *PRINT und die Spooldatei umwandeln und auslesen?

    Gruß

    Matthias

    [Dieser Beitrag wurde von Matthias.Hayn am 22. November 2001 editiert.]
    Gruss

    Matthias Hayn

  3. #3
    Registriert seit
    Jul 2001
    Beiträge
    24

    Post

    Hallo Matthias,

    leider hat der spool mit *PRINT nicht die gleichen Informationen wie *. Die Anzeige liefert diese Werte zurück!

    mfg
    Claudia Lange

  4. #4
    Registriert seit
    Nov 2001
    Beiträge
    28

    Talking

    Hallo,

    nimm DSPFD und ausgabe in Datei damit klappt es Parameter TYPE *MBR

    gruß René

  5. #5
    Registriert seit
    Jan 2001
    Beiträge
    22

    Post

    Hallo Claudia Lange,

    hast du schon mal überlegt, ob du mit RTVOBJD weiterkommst, dieser Command liefert die Informationen direkt in CL-Variablen.

    BSP:
    /* RETRIEVE MEMBER NAME */
    RTVOBJD OBJ(&OBJLIB/&OBJ) +
    OBJTYPE(&TYPE) +
    SRCF(&SRCFILE) +
    SRCFLIB(&SRCLIB) +
    SRCMBR(&SRCMBR)


    Gruß Andi

  6. #6
    Registriert seit
    Jul 2001
    Beiträge
    24

    Post

    Vielen Dank für die Tips,

    aber leider bringt mir der Befehl DSPFD nichts, denn die Programme stehen als Objekte in einer Bibliothek, eben nicht in einer Teldatei wie z.B. QLBLSRC. (Ich wil ja genau diese Information ermitteln).

    Und der Befehl RTVOBJD ist schön, aber bringt mir diesen Wert auch nicht zurück! Ich habe es eben ausprobiert.

    mfg
    Claudia Lange


  7. #7
    Registriert seit
    Dec 2000
    Beiträge
    450

    Post

    Ich finde den Tip von Andi ok und bei mir geht der auch.

    Gruß
    Bruno

  8. #8
    Registriert seit
    Jul 2001
    Beiträge
    24

    Post

    Bei den normalen Cobol-Programmen(Attribut CBL) liefert er mir ja die gewünschten Werte, aber es handelt sich hier bei dem erstellten Objekt nicht um das Attribut CBL, sondern um das Attribut CBLLE! Und das Programm wurde direkt mit CRTBNDCBL umgewandelt! Wenn Sie dieses Proramm-Objekt haben, liefert er mit RTVOBJD leider keinen Wert zurück! Es wurde nicht ein CRTCBLMOD und dann mit dem erstellten Modul ein CRTPGM durchgeführt, sondern die Source mit CRTBNDCBL umgewandelt(dieser Befehl macht beide Schritte intern, und da existiert das Modul nur tempörär).

    mfg
    Claudia Lange

  9. #9
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    Unter ILE ist das ein 2-Stufiger Prozess.

    1) mit DSPPGM eine Modulliste erzeugen
    2) dann für jedes Modul die Information abrufen

    Dafür gibt's auch API's :

    - Retrieve Program Information (QCLRPGMI) API

    - List Module Information (QBNLMODI) API

  10. #10
    Registriert seit
    Aug 2001
    Beiträge
    54

    Post

    Das Problem ist hier aber wohl, dass das Modul nur temporär existiert, wenn mit CRTBNDCBL gearbeitet wird, und der Befehl DSPMOD (Qtemp/modulname) natürlich nichts liefert.

    Heinz Bretthauer



    [Dieser Beitrag wurde von Heinz Bretthauer am 23. November 2001 editiert.]

  11. #11
    Registriert seit
    Jan 2001
    Beiträge
    340

    Post

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>... nur temporär existiert, wenn mit CRTBNDCBL gearbeitet wird ...[/quote]

    dann ist es aber auch nur ein einziges Modul und die gesuchten Informationen stehen bei den debug-info's. (mal 'nen dump ziehen ...) Wenn natürlich debug nicht aktiviert wurde ...

    Gruß Rolf

Similar Threads

  1. Static Storage size zu groß
    By schatte in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 14-08-06, 14:18

Berechtigungen

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