SUBROUTINE TEST( STATUS )
INCLUDE 'SAE_PAR'
INCLUDE 'PAR_PAR'
INTEGER STATUS
CHARACTER*(PAR__SZNAM) NAME
IF (STATUS.NE.SAI__OK) RETURN
* Get the action name
CALL TASK_GET_NAME( NAME, STATUS )
* Call the appropriate action routine
IF (NAME.EQ.'TEST1') THEN
CALL TEST1(STATUS)
ELSE IF (NAME.EQ.'TEST2') THEN
CALL TEST2(STATUS)
ELSE IF (NAME.EQ.'TEST3') THEN
CALL TEST3(STATUS)
END IF
END
To run such a monolith from a Unix shell, link the required action name to the monolith, then execute the linkname (possibly via an alias). For example:
% ln -s $KAPPA_DIR/kappa add % add
Separate Interface Files are required for each action run from the shell - a monolithic Interface File is required for monoliths run from ICL.
ADAM