根本的な解決をしようとすると、少し面度にはなりますが下記のように3つの文字列 : CPYF FROMFILE .... ' + &STRG + ') FMTOPT ...' をこのようにして結合したものを API: QCMDEXC で実行させることです。この方法であれば &STRG にどのような値が入っていても正しく希望通りに動作します。0001.00 PGM PARM(&STRG) 0002.00 DCL VAR(&STRG) TYPE(*CHAR) LEN(22) 0003.00 DCL VAR(&CMD) TYPE(*CHAR) LEN(512) 0004.00 DCL VAR(&CMDLEN) TYPE(*DEC) LEN(15 5) VALUE(512) 0005.00 0006.00 CHGVAR VAR(&CMD) VALUE('CPYF + 0007.00 FROMFILE(FILEA) + 0008.00 TOFILE(FILEB) MBROPT(*ADD) + 0009.00 CRTFILE(*YES) INCCHAR(*RCD 10 *EQ ''' + 0010.00 *CAT &STRG *CAT ''') FMTOPT(*NOCHK)') 0011.00 CALL PGM(QCMDEXC) PARM(&CMD &CMDLEN) 0012.00 ENDPGM