You should not need to manually complete jobs/applications.Can you check the agentparm.txt file on the server and note the setting of oscompoment.noexitcode.
oscomponent.noexitcodeSpecifies the exit code that tells the agent not to send a completion code to the scheduling manager host.Limits: 1-255Default: 255 for UNIX, 127 for WindowsIf the oscomponent.noexitcode is not present in the agentparm.txt then the default value of 255 is used.
If a script exits with 255 or -1 the job will not be marked complete.Also check the transmitter.log to see what is sent/not sent from agent.
Prior to making any changes I would recommend what the script/program exited with.If it exits with a 255 or a -1 the job will remain in the Processing/Executing state.Are you able to determine how the script/program exited?Does the program log it's exit status?
I have also set oscomponent.noexitcode=256.
If you create a simple test job you can test before making the change and after to confirm things work as expected.
This is an example for CA Workload Automation ESP Edition:
CMDNAME <valid shell>
USER <valid user>
ARGS -c 'exit %USER1'
You will need to provide a <valid shell> and a <valid user>.
Trigger event USER1 is agent, USER2 is exit code.