[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2006
    Beiträge
    112
    der code der function ist wie folgt:

    Code:
     
    H NOMAIN  
     
    FT3TABPK   IF   E           K DISK
     
     DSQL_FUNC         PR            21A      
     D MANDANT                        3       
     D KST                            4  0    
     D ART                            1       
     
    PSQL_FUNC         B                   EXPORT 
    DSQL_FUNC         PI            21A     
    D MANDANT                        3      
    D KST                            4  0   
    D ART                            1      
     
     C* //Initialisierung Work-Felder                   
     D TEXT3           S              3    INZ(*BLANKS) 
     D TABELLE         S             10    INZ('N0210') 
     D VERSION         S              1    INZ('1')     
     D KST15           S             15                 
     D STRING          S             21    INZ(*BLANKS) 
     C* 
     
     // Datei lesen..... usw.
     
     C                   RETURN    STRING                                
     C* -----------------------------------------------------------------
     C* ENDE der Prozedur                                                
     C* -----------------------------------------------------------------
     C                   CLOSE     T3TABPK                               
     PSQL_FUNC         E
    Es gibt dazu ein Modul und ein Serviceprogramm.

    Die Function an sich ist ja kein SQL, sondern normal RPG, ich verstehe nur nicht, warum man die nicht anders aufrufen kann ?

    MfG
    Mäxxchen

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.934
    Hallo,

    Eine (RPG-)Funktion ist eine Prozedur mit Rückgabe-Wert, die nicht mit CALLP sondern z.B. über EVAL oder IF oder DOU ... usw. wie eine Built-In-Funktion aufgerufen wird.

    Also z.B.

    PHP-Code:
    /Free
         Ergebnis 
    MyFunc(Param1Param2: ... ParamX);
         If 
    MyFunc2(Parm) > *Zeros;
         EndIf;
    /
    End-Free 
    Auch wenn eine RPG-Funktion als SQL-Funktion registriert ist, kann ich sie immer noch native aufrufen.

    Bei der Registrierung einer externen Funktion als SQL-Funktion wird dieser Funktion lediglich eine SQL-Kennung zugeordnet, über die diese Funktion aus SQL heraus aufgerufen werden kann.

    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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.748
    Die Funktion steckt in einem Service-Programm, also musst du die Funktion als externe Funktion und nicht als Programm deklarieren und anschließend mit dem Serviceprogramm binden.

    1. CRTRPGMOD
    2. CRTPGM ... BNDSRVPGM(...)
    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

  4. #4
    Registriert seit
    Jan 2006
    Beiträge
    112
    Vielen lieben Dank !

    Gruß
    Mäxxchen

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 11:15
  2. User defined function
    By KM in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-08-06, 11:34
  3. SQL UDF Function ausführung mit Fehler
    By jakarto in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 24-07-06, 14:41
  4. problem mit eigener sql function
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 26-05-06, 17:37
  5. CREATE SQL FUNCTION
    By Xanas in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 23-02-06, 11:29

Berechtigungen

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