Unix command "echo $?" shows the Returncode of the last command executed in the Shell. This might return a 3 instead of a 0.
Reason for that is that the so called "Sticky bits" SETUID and SETGID are missing from the file attributes of command xcomtcp. This might happen if you have copied this file from somewhere. When you copy xcomtcp it loosed the bits SETUID and SETGID.
A ls-command shows the difference:
/opt/CA/XCOM/bin> ls -la xcomtcp
-rwsr-sr-x 1 root xcomadm 1752097 18. Aug 11:31 xcomtcp
After the file was copied:
-rwxr-xr-x 1 root xcomadm 1752097 18. Aug 11:31 xcomtcp
If the bits SETUID and SETGUID are missing you may logon as root and put them back with this command:
/opt/CA/XCOM/bin> chmod 6755 xcomtcp