!/usr/bin/ksh error

Usually we use !/usr/bin/ksh at the start of the script.But if I am having this stuff in the scripts and calling one script from other its not working.What may be the reason behind it ?

xyz.ksh
#!/usr/bin/ksh
echo "Hi"

abc.ksh
#!/usr/bin/ksh
echo "I am fine"
ksh xyz.ksh

Its giving error " !/usr/bin/ksh: not found"

---------- Post updated at 07:15 PM ---------- Previous update was at 07:14 PM ----------

cat xyz.ksh
#!/usr/bin/ksh
echo "Hi"

cat abc.ksh
#!/usr/bin/ksh
echo "I am fine"
ksh xyz.ksh

xyz.ksh and abc.ksh are two files here

Try this

#!/usr/bin/ksh
echo "I am fine"
./xyz.ksh

i found the solution...we can run the code very well if we remove !/usr/bin/ksh .... but i want to understand the reason for this.

Both the scripts are working individually and if i invoke ksh shell again in the middle of the script why it is not running

On what platform?
If removing the #!/usr/bin/ksh from your script lets in run could mean you have no Korn Shell..

To get that exact error message the hash would have to be missing from the shebang line.
i.e

!/usr/bin/ksh
instead of the correct
#!/usr/bin/ksh