Erstmal Danke an alle!! Bin durch Euch jetzt schon sehr viel weiter gekommen.

Zufällig hab ich auch noch das hier gefunden, das mir Qsh und FTP erspart. Das Programm konnte ich auch wunderbar erweitern (Dateiausgabe) Ich stelle es mal hier rein, vielleicht kann man es ja mal brauchen
Mann muss nur den Pfad (pathtolist)anpassen, dann tut das Teil.

Code:
 H DftActGrp(*No) Option(*SrcStmt : *NoDebugIO)
     D PATHTOLIST      C                   CONST('/home/jamie/')
     D*PATHTOLIST      C                   CONST('/')
     D*
     D* Directory Entry Structure (dirent)
     D*
     D*
     D p_dirent        s               *
     D dirent          ds                  based(p_dirent)
     D   d_reserv1                   16A
     D   d_reserv2                   10U 0
     D   d_fileno                    10U 0
     D   d_reclen                    10U 0
     D   d_reserv3                   10I 0
     D   d_reserv4                    8A
     D   d_nlsinfo                   12A
     D     nls_ccsid                 10I 0 OVERLAY(d_nlsinfo:1)
     D     nls_cntry                  2A   OVERLAY(d_nlsinfo:5)
     D     nls_lang                   3A   OVERLAY(d_nlsinfo:7)
     D     nls_reserv                 3A   OVERLAY(d_nlsinfo:10)
     D   d_namelen                   10U 0
     D   d_name                     640A

     D*------------------------------------------------------------
     D* Open a Directory
     D*
     D* DIR *opendir(const char *dirname)
     D*
     D*------------------------------------------------------------
     D opendir         PR              *   EXTPROC('opendir')
     D  dirname                        *   VALUE

     D*------------------------------------------------------------
     D* Read Directory Entry
     D*
     D* struct dirent *readdir(DIR *dirp)
     D*
     D*------------------------------------------------------------
     D readdir         PR              *   EXTPROC('readdir')
     D  dirp                           *   VALUE


     D* a few local variables...
     D dh              S               *
     D PathName        S            256A
     D Name            S            256A


     C* Step1: Open up the directory.
     c                   eval      PathName= PATHTOLIST + x'00'
     C                   eval      dh = opendir(%addr(PathName))
     C                   if        dh = *NULL
     c                   eval      Msg = 'Cant open directory'
     c                   dsply                   Msg              50
     c                   eval      *INLR = *ON
     c                   Return
     c                   endif

     C* Step2: Read each entry from the directory (in a loop)
     c                   eval      p_dirent = readdir(dh)
     c                   dow       p_dirent <> *NULL

     C* FIXME: This code can only handle file/dir names 256 bytes long
     C*         because thats the size of "Name"
     c                   if        d_namelen < 256
     c                   eval      Name = %subst(d_name:1:d_namelen)
     c                   movel     Name          dsply_me         52
     c     dsply_me      dsply
     c                   endif

     c                   eval      p_dirent = readdir(dh)
     c                   enddo

     C* Step3: End Program
     c                   dsply                   Pause             1
     c                   eval      *inlr = *On
der Link dazu display all tables in IFS directory