This you can't do in RPG - have a method call itself. Sounds like something you would never use? Think again. See this small console program that recurses through directories to get a list of folders and files. When the method finds a directory, it calls itself with the sub folder as a parameter whereupon the File part of the IF statement is executed. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Recurse(@"c:\temp"); } public static void Recurse(string directory) { DirectoryInfo path = new DirectoryInfo(directory); FileSystemInfo[] files = path.GetFileSystemInfos( ); foreach (FileSystemInfo file in files) { if (file is DirectoryInfo) { Console.WriteLine("Folder-> " + ((DirectoryInf