⟩ Explain the difference between External subroutine and subprogram?
An External Subroutine has got access to the Caller's GDA
where in the subprogram does not have.
The subprogram is like blackboxes as they are not aware of
the caller's environemnt. They take only the parameters and
process it and return the values. e.g. One natural
subprogram can be called through middle tiers like Entirex
and Vitria from a different environment(Lets say a dot net
or java developed web interface).However a similar
interface can not call a natural external subroutine.
As far as calling is concerned you use callnat for
subprogram and perform for external subroutine.