[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2008
    Beiträge
    56

    Variablen in COBOL-Programm werden ungewollt initialisiert.

    Ein COBOL-Programm wird von einem RPG-Programm mehrmals aufgerufen. Beim 1. Aufruf werden Dateien geöffnet, verschiedene Variablen mit Werten befüllt und dann das Programm mit GOBACK verlassen. Beim 2. Aufruf erwartet das COBOL-Programm, dass die Dateien noch immer geöffnet und die Variablen befüllt sind, aber die Dateien sind geschlossen und alle Variablen initialisiert. Früher muss das aber offensichtlich so funktioniert haben, denn die Programme sind schon jahrelang im Einsatz. Woran kann es liegen, dass sich das Verhalten verändert hat?

  2. #2
    Registriert seit
    Feb 2008
    Beiträge
    104
    prüf doch mal, in welcher Aktivierungsgruppe die Programme laufen. Wenn es nicht die gleiche ist, dann kann das schon die Ursache sein, bei Verlassen einer Aktivierungsgruppe werden nämlich alle offenen Dateien geschlossen, etc.

    Beispiel RPG (ILE)

    Programm . . . . . . . : xxxpgm
    Attribut der Aktivierungsgruppe . . . . . . . : *DFTACTGRP

    die Aktivierungsgruppe muss bei beiden Programmen die selbe sein.

    Karl-Heinz

  3. #3
    Registriert seit
    Jun 2006
    Beiträge
    356
    Handelt es sich um ILE Programme, dann kannst du dir die Aktivierungsgruppe mit DSPPGM anzeigen.

    Mögliche Werte sind z.B. QILE, *CALLER, *NEW.

    Gruß
    Matthias

  4. #4
    Registriert seit
    Oct 2008
    Beiträge
    56

    Thumbs up Dank

    Vielen Dank für die Hinweise, das hat mir sehr weitergeholfen!

    Wenn sowohl das aufrufende als auch das aufgerufene Programme mit dem Parameter ACTGRP(*CALLER) compiliert werden, dann funktioniert es wieder wie gewohnt und gewollt.

    MfG
    Roland

  5. #5
    Registriert seit
    Jun 2006
    Beiträge
    356
    Wenn sowohl das aufrufende als auch das aufgerufene Programme mit dem Parameter ACTGRP(*CALLER) compiliert werden, dann funktioniert es wieder wie gewohnt und gewollt.
    Genau, weil dann die Aktivierungsgruppe vom vorherigen Programm übernommen wird.

Similar Threads

  1. Programm auf "ferner" AS400 ausführen.
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 13-05-09, 19:50
  2. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  3. Cobol <> RPGLE
    By Xanas in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 13-12-06, 13:38
  4. cobol programm auf as400 speichern
    By activ in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 24-05-02, 07:32
  5. Cobol Programm mit DUMP beenden
    By Wirnitzer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 09-08-01, 10:31

Berechtigungen

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