[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jun 2004
    Beiträge
    5

    libl ändern in UDF

    Hallo,

    ist es möglich in einer UDF die Bibliotheksliste zu ändern.

    Hintergrund:
    Ich habe eine UDF die ein Programm aufruft, welches wiederrum eine bestimmte Umgebung (DTAARAS, LIBL) braucht.

    Ich will die UDF folgendermaßen aufrufen:

    SELECT mylib.myudf('Umgebung', Parm1, Parm2) from mylib.mytable

    Abhängig von Umgebung sollte die entsprechnde Bibliotheksliste eingestellt werden.

    Dann ein Programm gestartet werden, welches voraussetzt, dass die Bibliotheksliste passt und best. Datenbereiche richtig versorgt sind.

    Mein Problem ist, dass die Befehle Chglibl, Addlible nicht sicher für mehrere Threats sind.

    Ich hoffe es war halbwegs verständlich was ich vorhabe.

    Danke für Eure Mühe.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Als UDF läßt sich das auch nicht realisieren.
    Threadsicher bedeutet im Falle eines Select's, dass die Daten ggf. von mehreren Threads parallel selektiert werden.
    Das heißt auch, dass das aufzurufende Programm Threadsicher sein muss !!
    Wird die UDF als SQL-Prozedur erstellt ist sie auch Threadsicher. Ist die UDF ein externes Programm ist sie je nach Sprache threadsicher oder auch nicht.

    Deine UDF müsste also die LIBL des Jobs temporär ändern und nach Aufruf des externen Programmes auch wieder zurückändern. Durch die Parallelität könnte aber der eine Thread die LIBL für den anderen Thread zerstören, da die Libl ja Job- und nicht threadspezifisch ist.

    Neben den Performanceaspekten und der Parallelausführung von Select's würde ich mir da ein anderes Konzept überlegen.
    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,

    das klingt zwar alles abenteuerlich und nach schlechtem Design, aber an der Threadsicherheit stirbt das nicht. In dem Beispiel wird nix aufgethreaded und dann passiert auch nix. Überdies lässt sich das abschalten per: Compile Option des RPG.

    mfg

    Dieter Bender

    Zitat Zitat von waro
    Hallo,

    ist es möglich in einer UDF die Bibliotheksliste zu ändern.

    Hintergrund:
    Ich habe eine UDF die ein Programm aufruft, welches wiederrum eine bestimmte Umgebung (DTAARAS, LIBL) braucht.

    Ich will die UDF folgendermaßen aufrufen:

    SELECT mylib.myudf('Umgebung', Parm1, Parm2) from mylib.mytable

    Abhängig von Umgebung sollte die entsprechnde Bibliotheksliste eingestellt werden.

    Dann ein Programm gestartet werden, welches voraussetzt, dass die Bibliotheksliste passt und best. Datenbereiche richtig versorgt sind.

    Mein Problem ist, dass die Befehle Chglibl, Addlible nicht sicher für mehrere Threats sind.

    Ich hoffe es war halbwegs verständlich was ich vorhabe.

    Danke für Eure Mühe.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. Antworten: 11
    Letzter Beitrag: 18-07-16, 09:49
  2. UDF nicht verwendbar
    By Peder in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 06-12-06, 08:15
  3. udf ohne ergebniss
    By ILEMax in forum NEWSboard Programmierung
    Antworten: 25
    Letzter Beitrag: 18-09-06, 13:39
  4. SQL UDF Function ausführung mit Fehler
    By jakarto in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-07-06, 13:41
  5. SQL UDF Prob mit leeren Feldern
    By HACHIMAN in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-05-06, 09:48

Berechtigungen

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