[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2004
    Beiträge
    14

    Jobschalter lesen

    Hallo *All,
    wir verwenden teilweise noch /36er-Programme, die mit Jobschaltern gesteuert werden.
    Wir wollen jetzt aus einem RPG-Programm diese Jobschalter auslesen. Geht das? Müssen wir evtl. über CLP gehen?
    Vielen Dank im voraus!

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    *INU1 - *INU8 sind die Jobschalter !
    Aber: mittels "eval *INUn = *on | *off" wird tatsächlich der Jobschalter über PGM-Grenze hinaus verändert !
    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

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    Hallo,

    gehen tut viel, aber deshalb muss man es nicht immer machen. Ich würde das rausmaskieren, wenn ich so ein Programm anfasse: sprich das Programm auf Parameter mit sprechenden Namen umstellen und ein kleines Programm dazwischen, dass dies Zwutsch Kram in den entsprechenden Parameter umsetzt und dann aufruft.

    mfg

    Dieter Bender

    Zitat Zitat von sannefinger
    Hallo *All,
    wir verwenden teilweise noch /36er-Programme, die mit Jobschaltern gesteuert werden.
    Wir wollen jetzt aus einem RPG-Programm diese Jobschalter auslesen. Geht das? Müssen wir evtl. über CLP gehen?
    Vielen Dank im voraus!
    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
    2.044
    Moin zusammen.

    ich versuche grade in einer, sagen wir mal gewachsenen Umgebung, einen Jobschalter zu setzen
    Eval *inu8 = *on
    anschl. call CL-PGM
    Das soll bestimmte Teile machen / überspringen, wenn U8 an ist.
    U8 geht aber nicht an

    @Dieter
    ja, ich weis.
    Aber 14.000 Zeilen CL 'aufräumen' ist nicht witzig!!

    Kann ich aus RPG die U-Schalter nicht setzen ?

    Danke
    Robi (der sich nicht an seine letzten Arbeiten mit U-Schaltern erinnern kann)
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  5. #5
    Registriert seit
    Jul 2002
    Beiträge
    218

    Thumbs up

    Hi Robi,

    gerade mal ausprobiert:


    rpgle eval u8=*On
    cl: dcl swc *char len(8)
    rtvjoba sws(&switch)
    if cond(&switch *eq '00000001') Do
    /* was auch immer */
    enddo


    hat funktioniert.

    lg Hans-Joachim

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Die U-Schalter werden erst beim Ende des RPG's gesetzt.
    Setzt du den U-Schalter und rufst im selben Programm ein anderes auf, wird der U-Schalter noch nicht aktualisiert.

    Ggf. must du erst ein weiteres RPG'chen aufrufen, dass nur den U-Schalter setzt.
    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

  7. #7
    Registriert seit
    Jul 2002
    Beiträge
    218
    und das Programm nur mit return (ohne *INLR zu setzen) verlassen bringt auch nicht den gewünschten Erfolg.

  8. #8
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    @jajonowak
    danke, danke
    aber ich schreib hier ja, weil es NICHT funktioniert!!

    und wenn dein RPG das CL ruft geht es nicht.
    bei LR / Return bin ich dann noch gar nicht angekommen!

    @Fuerchau
    Irgend so eine Sch...lechte Umsetzung hab ich mir gedacht.

    Also mit 'Umweg'
    Danke

    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  9. #9
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Ein RPG-Programm hält anscheinend eine lokale Kopie der Jobschalter, und diese wird erst beim Programmende mit gesetztem LR in den Job zurückgeschrieben.

    Siehe hier: RPG IV Indicators - External Indicators

  10. #10
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    .. hier was für die Huddeler:
    call qcmdexc(''CHGJOB SWS(11110000)' : x'000000002100000F')

    D*B,

    den's grauselt

    Die Oberhärte ist natürlich, wenn man den obigen CHGJOB für andere Jobs macht, die solche Wackelhaufen drin haben
    CHGJOB JOB(123456/MAGINET/WACKELH) SWS(11111111)
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  11. #11
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    @dieter
    Recht hast du, so wärs am einfachsten gewesen.

    Gruß
    Robi
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nun ja, was das Lesen der Jobschalter im RPG angeht so gilt hier das selbe wie beim Schreiben.
    Gelesen werden diese nur innerhalb von *INZSR, also nur beim 1. Aufruf.

    Der CHGJOB bleibt also für bereits geladene bzw. aktive RPG's (*INLR=*OFF) weiterhin unverändert.

    Um also die wirklich aktuellen Schalter zu setzen/erhalten benötigt man auf jeden Fall ein Unterprogramm (CLP bzw. RPG).
    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

Similar Threads

  1. Jobschalter werden nicht gesetzt
    By edig in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 26-07-05, 13:10

Berechtigungen

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