[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Zitat Zitat von Franz.Rung Beitrag anzeigen
    Vielen Dank für die rasche Antwort.

    Dazu reichen woll mein Kenntnisse nicht aus wie der Befehl ist hier ein CL z.B. alle Stunde zu starten.

    Rest wäre mir klar.
    Warum machst Du nicht ein Endlos-Programm, das in einer Schleife das eigentliche CL-Programm aufruft und dann mit DLYJOB eine Stunde wartet, bevor der nächste Aufruf erfolgt?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  2. #2
    Registriert seit
    Mar 2010
    Beiträge
    54
    Hallo,

    leider bin ich kein Programmierer daher bekomme ich das wohl erstmals selbst nicht hin.

    oder kannst du mir hier helfen ?

    Danke
    Franz

  3. #3
    Registriert seit
    Mar 2010
    Beiträge
    54
    Hallo,

    das konnte ich an anderer Stelle finden.

    Wäre dies korrekt ?

    PGM
    START:
    CALL PGM(R4CV00ST) PARM('1' '000' '')
    DLYJOB DLY(600)
    GOTO CMDLBL(START)
    ENDE: ENDPGM



    jetzt rufe ich einfach den Job auf oder muss ich das zusätzlich über den Jobfahrplan machen - am Wochenende soll der Job nämlich nicht laufen.

    Danke

    Franz

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Eigentlich ja, aber du solltest ein definiertes Jobende einbauen.
    Entweder die Anzahl Wiederholungen beschränken oder den Endestatus per "RTVJOBA ENDSTS(&STS)" abfragen.
    Sonst läuft dein Job ewig und wird nur bei ENDJOB/ENDSBS abgewürgt, was auch innerhalb des aufgerufenen Programmes passieren kann und dort ggf. zu inkonsistenten Zuständen deiner Datenbank führt.
    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
    Mar 2010
    Beiträge
    54
    Vielen Dank für die Hilfe.

    Nur wie setze ich das konket um bzw. wie genau ist der Syythax ?

    Die Anforderung wäre:

    Montag -Freitag
    Zwischen 6 Uhr und 15 Uhr alle Stunde

    Gruss
    Franz

  6. #6
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Schaut korrekt aus.
    Das Programm kannst du entweder über SBMJOB oder mit dem Job-Planungseintrag übergeben lassen.

    Du könntest im JOBSCDE das Programm täglich aufrufen und das Wochendend vom Aufruf ausschließen.

    Allerdings solltest du in der Schleife deines Programms ein Ende einbauen, sonst hast du den Job am nächsten Tag mehrfach vorhanden.

    Mit diesem Code-Teil verabschiedet sich das Programm ab 23 Uhr.
    Code:
    DCL        VAR(&ZEITC)   TYPE(*CHAR) LEN(6)
    DCL        VAR(&ZEITI)   TYPE(*int)
    
    RTVSYSVAL  SYSVAL(QTIME) RTNVAR(&ZEITC)
    CHGVAR     VAR(&ZEITI) VALUE(&ZEITC)
    
    if   (&ZEITI > 230000) Then(goto ENDE)
    lg Andreas

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... die erste Idee war schon die beste, für jede Zeit einen Eintrag und fertig ist.
    Wenn denn CL, dann einmal morgens um 5:00 Uhr in die Schedule den Aufruf folgenden CLs stellen:

    PGM
    SBMJOB CMD(CALL PGM(EBBES)) JOB(EBBES) SCDTIME('06:00:00')
    ...
    SBMJOB CMD(CALL PGM(EBBES)) JOB(EBBES) SCDTIME('15:00:00')

    alles andere sind doch FerzMitKrücke, die in irgendeiner Konstellation schief gehen können...

    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/

  8. #8
    Registriert seit
    Mar 2010
    Beiträge
    54
    Wow super danke für deine Hilfe.

    Dann wäre das eben das Programm was ich über den Jobfahrplan dann ganz normal von Mo-Fr. aufrufen kann ?

    PGM
    DCL VAR(&ZEITC) TYPE(*CHAR) LEN(6)
    DCL VAR(&ZEITI) TYPE(*INT)
    START:
    CALL PGM(R4CV00ST) PARM('1' '000' '')
    DLYJOB DLY(600)
    GOTO CMDLBL(START)

    RTVSYSVAL SYSVAL(QTIME) RTNVAR(&ZEITC)
    CHGVAR VAR(&ZEITI) VALUE(&ZEITC)
    IF (&ZEITI > 230000) THEN(GOTO ENDE)


    ENDE: ENDPGM

    Gruss
    Franz

  9. #9
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Genau, so kannst du es aufrufen.
    Allerdings beachte, dass das Delay erst anfängt sobald das aufgerufende Programm beendet ist.

    Wenn also um 6 Uhr das PGM aufgerufen wird und 20 min benötigt, so wird der nächste Aufruf erst um 6:20 Uhr stattfinden.
    Wenn du sicher gehen willst, dass pünktlich jede Stunde der Aufruf stattfindet, wären die 10 separaten Job-Einträge eine Überlegung Wert. (Solange es im überschaubaren Bereich ist).

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    GOTO CMDLBL(START)

    Sollte nach der Zeitabfrage stehen, sonst kommst du da nie hin.
    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

  11. #11
    Registriert seit
    Mar 2010
    Beiträge
    54
    Vielen Dank für euere Hilfe - habe es jetzt einfach mit den separaten Einträgen gemacht.

    Wusste nicht das man hier im SBMJOB auch die Uhrzeit mitgegeben kann.

    Danke !

  12. #12
    Registriert seit
    Apr 2001
    Beiträge
    267
    Hallo,

    also ich würde einen SCDE-Job erstellen, der von Mo-Fr zu einer bestimmten Uhrzeit startet, dass dann ein CL-Pgm aufruft, dass zuerst die Uhrzeit ermittelt, 2 Stunden draufrechnen und dann den SCDE-Job mit der neuen Uhrzeit ändert. Gewisse Randbedingungen hinsichtlich der neuen Startzeit, ist der Job noch vom vorherigen Aufruf (Abbruch etc.) aktiv usw. müssen natürlich berücksichtigt werden. Aber das muss natürlich auch bei den anderen Varianten gemacht werden.

    Habe selbst solche SCDE-Jobs generiert und finde, diese Lösung elegant und sie bietet auch einige Vorteile.

    Gruß
    Bodo

Similar Threads

  1. Jobfahrplan - WKKJOBSCDE
    By Franz Karl in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 16-12-11, 13:12
  2. wrkjobscde Objekt
    By KingofKning in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 18-08-08, 18:23
  3. "del" Befehl als WRKJOBSCDE
    By usafft in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 16-06-05, 10:47
  4. WRKJOBSCDE stündlich starten
    By Herbie in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 09-12-04, 10:36
  5. wrkjobscde
    By sirdidi in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 15-07-04, 07:47

Berechtigungen

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