[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2004
    Beiträge
    19

    [SOLVED] CHAIN im Modul macht mich Wahnsinnig

    Hi ihr Leidensgenossen :-)

    Ich bin gerade dabei mir eine kleine Modul-Sammlung in RPG anzulegen. Ein Modul allerdings streikt.
    Wenn ich einen CHAIN mache erzaehlt es mir immer das kein passender Satz vorhanden ist. Erstelle ich die Source als ganz normales Programm laeuft alles wie geplant.

    Das ganze ein wenig gekuerzt sieht in etwa so aus:

    F PGML2 IF E K DISK
    C KEYPGM KLIST
    C KFLD PGMNA
    C KFLD PGMSUB
    C*
    C EVAL PGMNA = 'PRGNAM1 '
    C EVAL PGMSUB = ' '
    C*
    C KEYPGM CHAIN PGMP2 66
    C If *in66 = *on
    C clear PgmDS
    C EndIf
    C move *on *inlr

    Als MODULE compiliert geht *IN66 immer an, als Program compiliert klappt es bestens.

    Habt ihr evtl. eine Loesung fuer mein Problem?

    mfg
    Guido

  2. #2
    Registriert seit
    Mar 2004
    Beiträge
    181
    Hi Guido,

    hast Du schonmal die Bezugszahl 60 durch "%found" ersetzt?

    C KEYPGM CHAIN PGMP2
    C If %found(PGMP2)

    Gruß Michael

    Zitat Zitat von VisioX
    Hi ihr Leidensgenossen :-)

    Ich bin gerade dabei mir eine kleine Modul-Sammlung in RPG anzulegen. Ein Modul allerdings streikt.
    Wenn ich einen CHAIN mache erzaehlt es mir immer das kein passender Satz vorhanden ist. Erstelle ich die Source als ganz normales Programm laeuft alles wie geplant.

    Das ganze ein wenig gekuerzt sieht in etwa so aus:

    F PGML2 IF E K DISK
    C KEYPGM KLIST
    C KFLD PGMNA
    C KFLD PGMSUB
    C*
    C EVAL PGMNA = 'PRGNAM1 '
    C EVAL PGMSUB = ' '
    C*
    C KEYPGM CHAIN PGMP2 66
    C If *in66 = *on
    C clear PgmDS
    C EndIf
    C move *on *inlr

    Als MODULE compiliert geht *IN66 immer an, als Program compiliert klappt es bestens.

    Habt ihr evtl. eine Loesung fuer mein Problem?

    mfg
    Guido

  3. #3
    Registriert seit
    Dec 2004
    Beiträge
    19
    Hi

    ich habe schon %found probiert. Vor lauter langeweile hab ich auch schon %eof, %error und was auch immer getestet.
    Selbst das CHAIN habe ich schon durch SETLL und READE ersetzt.
    Das gleiche Ergebniss. :-(

    Aber so wie es aussieht hat die Maschine hier wohl eh ein paar Probleme mit Modules und Service-Programm. Beim Compilieren eines Programmes erzaehlt er mir jetzt was von Doppeldefinitionen.... "DEFINITION SUPPLIED MULTIPLE TIMES FOR SYMBOL 'PGMNDS'"
    Angeblich 2 mal als EXPORT definiert. Dabei ist es nur im Modul als EXPORT definiert, im Serviceprogram als IMPORT.

    Guido

    Zitat Zitat von Muchi
    Hi Guido,

    hast Du schonmal die Bezugszahl 60 durch "%found" ersetzt?

    C KEYPGM CHAIN PGMP2
    C If %found(PGMP2)

    Gruß Michael

  4. #4
    Registriert seit
    Dec 2004
    Beiträge
    19
    Hi Ho

    Hab's hinbekommen. Hatte ausversehen mein Service program als *MODULE und *SRVPGM im BNDDIRE stehen. Nachdem ich den eintrag fuer das *SRVPGM geloescht habe klappt alles wie am Schnuerchen ;-)

    Danke,
    Guido

Similar Threads

  1. Debug Modul ohne Quelle
    By Marimari1009 in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 22-11-06, 14:48
  2. Prozedur, in welchem Modul
    By loeweadolf in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 06-11-06, 15:05
  3. RPG und Modul
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 14-06-06, 09:59
  4. update or delete without prior READ or CHAIN
    By newcomer in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 30-05-05, 10:12
  5. Modul <-> Programm
    By Tobse77 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 16-05-05, 17:12

Berechtigungen

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