Figure 5. EGL program source (MyEGLPgm)
program MyEGLProg type BasicProgram {} function main() try SysLib.setRemoteUser("DDARNELL", "ROBUST"); parm rootStruct; call "MyRPGPgm" (parm); SysLib.writeStdout(parm.rootName); i_size int = size(parm.branches); for(i int from 1 to i_size by 1) SysLib.writeStdout(" |---" + parm.branches[i].branchName + " " + parm.branches[i].branchNbr); j_size int = size(parm.branches[i].items); for(j int from 1 to j_size by 1) SysLib.writeStdout(" |---" + parm.branches[i].items[j].itemName + + " " + parm.branches[i].items[j].itemNbr); end end onException(exception AnyException) SysLib.writeStdout("Error occurred on program call:"); SysLib.writeStdout(exception.message); end end end record rootStruct type BasicRecord 05 rootName char(20); 05 branches [50]; 10 branchNbr num(2, 0); 10 branchName char(20); 10 items [25]; 15 itemNbr num(2, 0); 15 itemName char(20); end