A SUB subprogram cannot be executed unless linked with a main program unit. A SUB subprogram does not return a value except by way of a modifiable parameter (passed BY REF or BY DESC). SUB subprograms are called from the main program with the CALL statement. The SUB statement marks the beginning of a SUB subprogram and specifies its parameters by number and data type.