Man kann sich auch mit einem Zweizeiler eine User Defined Table Function (UDTF) schreiben, die man dann immer wenn man sie braucht über SQL aufrufen und verarbeiten kann:
Wenn das Skript ordnungsgemäß ausgeführt wurde, d.h. die UDTF erstellt wurde, kann man sie von überall und jederzeit mit dem folgenden SQL-Befehl aufrufen:Code:Create Or Replace Function YourLib/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 ''; Set CLCmd = 'DSPOBJD OBJ(*ALL/' concat Trim(ParPGM) concat ') ' Concat ' OBJTYPE(*PGM) ' Concat ' OUTPUT(*OUTFILE) ' Concat ' OUTFILE(QTEMP/TMPOBJD) ' Concat ' OUTMBR(*FIRST *REPLACE) '; Call QCMDEXC(CLCmd, Length(CLCmd)); Return Select ODLBNM, ODOBNM, ODOBTX From QTEMP/TMPOBJD; End ;
Anstatt PGMNAME kann natürlich auch eine (Host-)Variable eingesetzt werden.Code:select * From Table(FindLibPgm('PGMNAME')) x;
Birgitta
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks