When using the STRTCPFTP command in a CL program, use the source type CLP, not CLLE if you want it to compile. We're on V4R4 and even if the command is allowed in batch, it won't compile. This was not in the documentation -- nor on the IBM Web site -- so it was quite frustrating to figure it out. It would have saved me a couple hours if I'd known.
PGM PARM(&FNAME) DCL VAR(&FNAME) TYPE(*CHAR) LEN(10) CLRPFM FILE(MXPGM/QCLLESRC) MBR(FTPOUTPUTI) CLRPFM FILE(MXPGM/QCLLESRC) MBR(MX0512F) CALL PGM(MX0513C) PARM(&FNAME) OVRDBF FILE(INPUT) TOFILE(MXPGM/QCLLESRC) MBR(MX0512F) OVRDBF FILE(OUTPUT) TOFILE(MXPGM/QCLLESRC) + MBR(FTPOUTPUTI) STRTCPFTP RMTSYS('xxx.xxx.xxx.xx') endpgm