[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    425
    Na ja, ich denke wenn

    select PNESU31('xxx' 1 , 2 , 3 , 4, 'xx') from DATEI

    mit LibList LibA (wie beim create) geht, müsste LibB auch gehen.

    select PNESU31('xxx' 1 , 2 , 3 , 4, 'xx') from LibA/DATEI geht ja auch.

    Werde Montag nochmal nachsehen (sysreq / offene Dateien) is ja auch ne gute Idee

    Danke
    Max

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ach jaaa.

    Du machst eine Funktion in LibA die später nicht in der Libl ist.
    Mach einen "select liba/PNESU31(...", qualifiziere also den Funktionsnamen.
    Oder pack die LibA ans Ende deiner aktuellen Libl oder kopiere (SAVOBJ/RSTOBJ) deine Funktion in LibB.
    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
    Sep 2005
    Beiträge
    425

    einigermaßen ok

    So, hab nun neu getestet.

    Create ... return(select ...
    from DATEI_OHNE_LIB ...

    und anschließend

    select Funktion(...) from DATEI_OHNE_LIB (in der selben Sitzung) geht.

    select Funktion(...) from LIB/DATEI geht nur, wenn LIB auch in Liblist vorhanden ist. Ein 'Mitnehmen' (wie ich es mir gewünscht hätte) der fest angegebenen Lib in die Funktion geht nicht.

    mit SAVOBJ / RSTOBJ übertragen geht auch.

    Hab also was gelernt, bin nicht ganz zufrieden, aber kann mir zukünftig wieder ein wenig besser helfen.

    Vielen Dank allen beteiligten Helfern !

    gruß
    Max

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Ein "mitnehmen" einer LIB wäre auch fatal.

    Wenn ich

    Select ... from fileA
    inner join LIBX/fileB ...

    soll schließlich LIBX nicht für fileA verwendet werden.
    Was anderes würdest du bei deiner Funktion nämlich nicht verlangen.
    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
    Sep 2005
    Beiträge
    425
    Hm, das seh ich anders

    unqualifizierte Dateiangaben IN der Funktion übernehmen die qualifizierten Dateiangaben AUßERHALB der Funktion.

    Natürlich nicht 'blind' Dateiübergreifend sondern schon auf der Qualifizierung DATEINAME

    aber Egal
    Max

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da eine Funktion nur mit Parametern aufgerufen wird, kann sie von der Datei ausserhalb gar nichts wissen !

    select MyFunc(Parm)
    from LibA/F1 ...
    join LibB/F2 ...
    join LibC/F3 ...

    oder

    Set :MyVar = MyFunc(:Parm)

    Woher soll die Funktion nun erfahren, aus welcher Lib die Daten kommen sollen ?

    Dies wird nun mal zur Laufzeit durch die Umgebung gesteuert:
    Bei *SYS eben *LIBL
    Bei *SQL eben der aktive User bzw. die "User"LIB zur Compilezeit

    Alles andere wäre vollkommen unklar.

    Ansonsten baue die Funktion als externes Programm, gib die Lib als Parameter mit und mach einen dynamischen SQL draus.
    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. 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. SQL UDF Function ausführung mit Fehler
    By jakarto in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-07-06, 13:41
  4. SQL UDF Prob mit leeren Feldern
    By HACHIMAN in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 22-05-06, 09:48
  5. libl ändern in UDF
    By waro in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 13-05-05, 18:02

Berechtigungen

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