[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jun 2005
    Beiträge
    98

    Negative Auswirkungen ACTGRP(*NEW)

    Hi

    ich müsste ein Programm rekursiv aufrufen. Gibt es außer der Ressourcennutzung noch andere negative Auswirkungen beim ACTGRP(*NEW) in einem Programm?

    Will nur nix übersehen und mir die Maschine abschiessen.

  2. #2
    Registriert seit
    Jun 2005
    Beiträge
    98
    Nachtrag:

    Was ich vorhabe ist folgendes

    ProgrammA:
    - läuft recht häufig
    - wird mit ACTGRP(*CALLER) erstellt
    - Ruft unter bestimmten Voraussetzungen Programm B auf

    ProgrammB:
    - läuft selten (1-2 x am Tag)
    - wird mit ACTGRP(*NEW) erstellt
    - Ruft imer Programm A auf

    Es ist sicher gestellt das ProgrammA nicht ProgrammB aufruft wenn es selbst von ProgrammB aufgerufen wurde, also kann keine Endlosschleife entstehen.

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... man muss halt die Nebenwirkungen, wie OVRSCOPE und CMTSCOPE im Auge behalten. Der etwas kleinere Hammer wäre ein Procedure Aufruf, der geht auch rekursiv in derselben ACTGRP.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Kanst du so machen, wir haben das auch oft.

    Allerdings läuft bei uns Pgm B auch in *caller und wird Über ein CL, das als Weiche fungiert und das in *new läuft, gerufen, wenn Rekursion gewünscht ist.
    So ist die Rekursion immer ein bewustes tun und kann nicht versehendlich ausgelöst werden.
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Jun 2005
    Beiträge
    98
    Zitat Zitat von BenderD Beitrag anzeigen
    ... man muss halt die Nebenwirkungen, wie OVRSCOPE und CMTSCOPE im Auge behalten. Der etwas kleinere Hammer wäre ein Procedure Aufruf, der geht auch rekursiv in derselben ACTGRP.

    D*B
    Uhm, jetzt steh ich auf dem Schlauch.

    Programm B ist ein ILE Programm und da wird ProgrammA über ein callp (bzw. eben nur über den Namen aus dem Prototyp) aufgerufen. Das ist aber scheinbar nicht das was Du meinst.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... entscheidend ist, was dann im Prototyp steht, EXTPRC oder EXTPGM. Bei EXTPGM wird ein *PGM Objekt aufgerufen und bei EXTPRC eine exportierte Procedure eines anderen Moduls. Procedure Aufrufe gehen (auch aus demselben Modul) gehen auch rekursiv.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Berechtigungen

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