[NEWSboard IBMi Forum]

Thema: DLYJOB im CL

Hybrid View

  1. #1
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo,

    mit usleep geht's etwas einfacher. Funktioniert genauso wie sleep, nur dass man die Delay-Zeit in Mikrosekunden angibt. Nachfolgend ein Beispiel für fast 1 Sekunde:

    D uSleep PR 10I 0 ExtProc('usleep')
    D 10U 0 Value
    *
    C CallP uSleep(999999)

    Gruß,
    KM

  2. #2
    Registriert seit
    Jun 2006
    Beiträge
    5
    Ok, sleep() oder usleep() abhaengig davon wie genau man es haben moechte. Es funktioniert.

    Sleep well

    Gruss

    Helge Bichel

  3. #3
    Registriert seit
    Jul 2003
    Beiträge
    338

    Talking

    Ich habe das mit dem USLEEP ausprobiert, das klappt auch gut.

    Mir ist nicht ganz klar, wie die Zusammenhänge sind.
    Wird die Funktion vom Betriebssystem zur Verfügung gestellt ?

    Das Programm muss dann als Modul erstellt werden (Auswahl 15).
    Beim Binden braucht USLEEP dann nicht angegeben zu werden ?!

    mit WRKOBJ kann ich auch kein USLEEP finden ?

    Was steckt eigentlich dahinter ?

    mfg. Ludger

  4. #4
    Registriert seit
    Jun 2006
    Beiträge
    5
    Die sleep, usleep and vile andere funktionen sind C-funktionen und werden durch

    bnddir('QC2LE')

    ins rpg program eingebunden.

    Es ist nicht notwendig ein modul zu erstellen (PDM 15), einfach das program ganz normal mit PDM 14 kompilieren.

    Gruss
    Helge

  5. #5
    Registriert seit
    Jul 2003
    Beiträge
    338

    Cool

    Hallo Helge,

    ich habe es probiert, es funktioniert.

    Ich habe einige eigene Service-Programme und -Funktionen, sowie Module erstellt.

    Wäre es ratsam, dafür eine eigene *BNDDIR einzurichten und die eigenen Service-Programm etc. dort anzubinden ?

    Dann könnte ich evtl. verzichten auf eigene CLs, die das Binden jeweils durchführen. (Definition dann einfach in der H-Bestimmung.

    mfg. Ludger

  6. #6
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Du kannst Dein Programm ganz normal mit 14 kompilieren. Du musst es nicht als Modul erstellen. Die Prozeduren SLEEP und USLEEP sind externe Prozeduren, die vom Serviceprogramm QP0SSRV1 (Bibliothek QSYS) exportiert werden. Diese Prozeduren werden immer gefunden und Du musst dafür kein Binderverzeichnis angeben (auch nicht QC2LE). Da es sich um exportierte Prozeduren handelt, kannst Du sie auch nicht als Objekte finden.

    Gruß,
    KM

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Das Service-Programm QP0SSRV1, in dem sich die Funktionen sleep und usleep (Achtung Kleinschreibung!) ist im Binderverzeichnis QUSAPIBD hinterlegt.

    Das Binderverzeichnis QUSAPIBD wird von den Compileren automatisch eingebunden.

    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

Similar Threads

  1. Dynamisches SQL in einem CL erstellen
    By Sony in forum IBM i Hauptforum
    Antworten: 27
    Letzter Beitrag: 20-07-09, 21:48
  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. "Vary on" in CL
    By RLPforum in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-01-07, 14:58
  4. Suche Liste Ersatzoperatoren im CL
    By kuempi von stein in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 19-07-06, 14:34
  5. Übergabeparameter im CL Script
    By bo1 in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-06-06, 15:00

Berechtigungen

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