[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von malzusrex Beitrag anzeigen
    PHP-Code:
    Declare CLCmd VarChar(256Not Null Default '';                
    Declare 
    CLCmdL DEC(155Not Null Default 0,0;                
    Set CLCmd 'DSPOBJD OBJ(*ALL/' concat Trim(ParPGMconcat ') '
                 
    Concat  ' OBJTYPE(*PGM) '                         
                 
    Concat  ' OUTPUT(*OUTFILE) '                      
                 
    Concat  ' OUTFILE(QTEMP/TMPOBJD) '                
                 
    Concat  ' OUTMBR(*FIRST *REPLACE) ';              
    Set CLCmdL Length(CLCmd);                                    
    Call QCMDEXC(CLCmdCLCmd);
    Return 
    Select ODLBNMODOBNMODOBTX     
           From QTEMP
    /TMPOBJD;               
    End 
    Kann es sein dass du im 2. Parameter die Falsche Variable angiebst?

    Call QCMDEXC(CLCmd, CLCmdL);

    statt

    Call QCMDEXC(CLCmd, CLCmd);


    lg Andreas

  2. #14
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich hatte die Funktion gestern Abend auf einem System mit 7.1 erstellt. Dabei hatte ich wohl einiges verwendet, das erst mit Release 7.1 und PTFs dazugekommen ist (Or Replace und Übergabe von Ausdrücken beim Aufruf von Stored Procedures.

    Die folgende Version habe ich gerade auf einem System mit V5R4 erstellt und ausgeführt.
    Code:
    Create Function WrkBHA/FindLibPGM           
           (ParPGM        VarChar(10))                  
           Returns Table (ObjLib       Char(10)     ,   
                          Obj          Char(10)     ,   
                          ObjDescr     Char(50)      )  
                            
           Language SQL                                 
           Modifies SQL Data                            
           Called On NULL Input                         
           Disallow Parallel                            
           Not Fenced                                   
     Begin                                                           
        Declare CLCmd VarChar(256) Not Null Default '';
        Declare CmdLen Dec(15, 0) Not Null Default 0;              
                                                                     
        Set CLCmd = 'DSPOBJD OBJ(*ALL/' concat Trim(ParPGM) concat ') '  
                     Concat  ' OBJTYPE(*PGM) '                      
                     Concat  ' OUTPUT(*OUTFILE) '                   
                     Concat  ' OUTFILE(QTEMP/TMPOBJD) '           
                     Concat  ' OUTMBR(*FIRST *REPLACE) ';           
                                                     
        Set CmdLen = Length(CLCmd);               
        Call QCMDEXC(CLCmd, CmdLen);                         
                                                                    
        Return Select ODLBNM, ODOBNM, ODOBTX
               From QTEMP/TMPOBJD;                                
    End  ;
    Aufruf: Ermittelt alle Programme in allen Bibliotheken, die mit HS anfangen. (unter System Naming und IBM i Navigator - Eine SQL Prozedur ausführen - die Bibliothek in der die UDTF erstellt wurde sollte in der Bibliotheksliste sein)
    Code:
    Select * from Table(FindLibPGM('HS*')) x;;
    STRSQL macht allerdings auch bei mir Probleme. (ist ja stabilized!!!)

    Einbindung in embedded SQL wiederum sollte problemlos funktionieren, da ich jede Menge von diesen UDTFs in meinen Programmen und Prozeduren (auch unter V5R4) verwende.

    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. #15
    Registriert seit
    May 2002
    Beiträge
    1.121
    Jo, so geht es.

    Hatte da 2 mal die gleiche Variable drin

    Danke Euch

    Ronald

Similar Threads

  1. Parameter eines Programms ermitteln?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 16
    Letzter Beitrag: 14-02-13, 18:59
  2. Parameter des aurufenden Programms ermitteln
    By GreatEMU in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 29-03-07, 10:39
  3. Fixtexte in Bildschirmdateien ermitteln
    By ulbrecht in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 06-12-06, 17:06
  4. LPAR Prozessor Leistung Ermitteln
    By Weki in forum NEWSboard Server Software
    Antworten: 6
    Letzter Beitrag: 29-08-06, 09:09
  5. SQL Select mit SUM aus einer DB
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 30-03-06, 12:33

Berechtigungen

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