Thank you @boopathi.sivakumar .
What's the difference between ncParameters and ncProgram.parameters? I can't find it in the help file. My script uses ncParameters.
example:
for setup in setups:
ncIpt: adsk.cam.NCProgramInput = ncPrograms.createInput()
ncIpt.displayName = setup.name
ncParameters = ncIpt.parameters
# Set the filename to the same as the setup parameter
ncParameters.itemByName('nc_program_filename').value.value = setup.parameters.itemByName('job_programName').value.value
ncParameters.itemByName('nc_program_openInEditor').value.value = False
ncParameters.itemByName('nc_program_useMachineConfig').value.value = True
ncParameters.itemByName('nc_program_comment').value.value = setup.parameters.itemByName('job_programComment').value.value
#ncProgram.parameters.itemByName('nc_program_orderByTool').value.value = False