[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    OVRSCOPE(*JOB) !!!

    Das Problem:
    QCMDEXC ist ein OPM-Programm und läuft daher in einer anderen Aktivierungsgruppe als dein ILERPG.
    Der Default ist leider *ACTGRPDFN.
    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

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    309
    ahhhh !!!!

    und was heist das jetzt für mich?


    kann ich das irgendwie umgehen, wenn ja wie?

  3. #3
    Registriert seit
    Aug 2004
    Beiträge
    923
    Hello,

    damit ist wohl z.B. der Parameter aus den OVR-Befehlen für die *ACTGRPDFN gemeint.
    Zum Beispiel eben in OVRPRTF der Parameter.

    Erklärung in Englisch gemopst von http://faq.midrange.com/data/cache/94.html


    Using overrides in ILE is somewhat different from using them in OPM:

    In ILE an override (again, using the default OVRSCOPE) will work for all other programs in the activation group in which the override is issued. It will not be automatically removed when the issuing prorgram ends; it will exist until it is explicitly removed with DLTOVR or until the activation group ends.
    If you want an override to be visible through different activation groups (as in calling an OPM program from an ILE program), you will have to use OVRSCOPE(*JOB). The override will be in effect for all programs in the job, regardless of activation group, until it is removed or the job ends. OVRSCOPE(*CALLLVL) is for getting the 'old' behaviour in ILE: the override will be removed when the call level, i.e. the issuing program, ends.


    OVRSCOPE



    Falls die Spielerei mit den Aktivirungstruppen nicht gleich geht, gibts es glaube ich auch noch ne altherkömmliche Methode?
    So übern CL erst den OVR absetzen und dann den CALL.
    Bin mir da aber gerade nicht sicher wegen alten Releasestand hier.

    k.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Also zusammengefasst:
    Den OVRSCOPE musst du an den OVRPRTF anhängen.

    Das mit dem CLP ist auch nicht so einfach:

    - Zu beachten ist die Aufrufhierarchie
    - Besonders zu berücksichtigen ist QCMDEXC
    - ILE-Umgebung

    *ACTGRPDFN
    Funktioniert nur, wenn das CMD direkt (also nicht per QCMDEXC) aufgerufen wird oder der nachfolgende Open in einem OPM-Programm erfolgt

    *CALLLVL
    Das ist die Aufrufebene, die den OVR durchführt, dabei betrachtet sich QCMDEXC nicht als Aufrufebene, kann also vernachlässigt werden.
    Aber beim Ablauf PGM->CLP->OVR ist der OVR wieder weg, wenn in das PGM zurückgekehrt wird.

    *JOB
    Ist eigentlich selbsterklärend.

    Zur Vorgensweise bei *JOB/*ACTGRPDFN:
    OVR->OPEN->DLTOVR->Verarbeitung
    Da der OVR nur für den Open relevant ist, kann der OVR ja nach Open wieder entfernt werden. Somit ist er auch nach Programmabbruch (was wir ja nicht hoffen) auf jeden Fall wieder weg ist.
    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

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    309
    so, hab jetzt meinen Source-Code so abgändert:

    PHP-Code:
    C                   CallP     QCMDEXC('OVRPRTF FILE(MONTAUPR) ' +          
    C                                     'DEV(PRTCM4200) OVRSCOPE(*JOB)' 52)
    C                   Open      MontAuPR                                     
    C                   Write     LabelE                                       
    C                   Close     MontAuPR
    C                   CallP     QCMDEXC
    ('DLTOVR FILE(MONTAUPR) ' +
    C                                     'LVL(*JOB)' 31
    der OVRPRTF wird zwar ausgeführt
    (wenn ich Pgm mit DEBUG und an entsprechender Stelle mit WRKJOB prüfe)
    aber die Druckausgabe kommt trotzdem auf dem Standartdrucker (so wie in der PrinterFile angegeben) !!!!

  6. #6
    Registriert seit
    Jan 2003
    Beiträge
    759
    Für mich sieht das so aus, als würde nur der QCMDEXC ausgeführt, nicht aber der OVRPRTF (Joblog?).

    'string' + 'string' : len sehen für mich wie drei Parameter aus.

    lass mal die beiden ' um das plus weg oder EVALuiere vorher einen String in einer Variable: CALLP QCMDEXC(CMDSTRG:37)

Similar Threads

  1. RCVMSG nach QCMDEXC
    By flytokiwi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 29-03-06, 13:49
  2. Objektnamen dynamisch dem SAVOBJ im CL zuordnen
    By becama in forum IBM i Hauptforum
    Antworten: 12
    Letzter Beitrag: 11-08-05, 15:05
  3. Nachrichtenbehandlung nach QCMDEXC in COBOL/400
    By Lichtblitz in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 25-07-05, 12:44
  4. V5R3 & QCMDEXC
    By Freezer in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 02-12-04, 13:38
  5. QCMDEXC und Parameterlänge
    By fabax in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 27-02-04, 11:10

Berechtigungen

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