You would not be able to hide the routines separately but you will be able to late bind them and load/unload when required.
Have a look at the following code.
When procedure rTeach is executed, it will request input of which routine to execute next. In basic only rTeach will be shown and rRoutine will only be active if it have been loaded already and not unloaded.
Code
MODULE NewTesting()
PROC rTeach()
VAR num selectedProc;
CONST string ModDir:="HOME:/";
TPErase;
TPReadFK selectedProc,"SELECT PROCEDURE","ROUTINE 1","ROUTINE 2","","","";
IF selectedProc=1 THEN
Load ModDir\File:="rRoutine"+".mod";
%"Routine1_Main"%;
UnLoad ModDir\File:="rRoutine"+".mod";
ExitCycle;
ELSEIF selectedProc=2 THEN
Load ModDir\File:="rRoutine"+".mod";
%"Routine2_Main"%;
UnLoad ModDir\File:="rRoutine"+".mod";
ExitCycle;
ENDIF
ENDPROC
ENDMODULE
Display More