
Definir um procedimento (PROCEDURE).
[STATIC] PROC[EDURE] [<nome>]
STATIC declara uma PROCEDURE que somente será invocada por rotinas descritas na mesma fonte.
<nome> representa o nome do procedimento.
Define que a fonte é de um PROCEDURE do usuário e que será gerado um arquivo-objeto após sua compilação. Este arquivo-objeto terá o nome definido por <nome> mais a extensão ".o" (".obj" no WINDOWS) ou o nome do fonte com a extensão ".o" no lugar de ".f", quando <nome> não for definido.
Utilizam-se procedimentos estáticos para limitar a visibilidade do nome da função, restringindo o acesso a esta, e permitindo que o sistema seja composto de subsistemas específicos, sem a necessidade de batizar cada procedimento com um nome diferente do outro.
O exemplo a seguir mostra-nos o conteúdo do arquivo-fonte, cujo nome é "proc1.f". O arquivo objeto quando gerado terá o nome "proc1.o" .
PROC
? "PROCEDURE proc1"
RETURN
$LIBRARY, DO, EXTERNAL, FUNCTION, PARAMETERS, PRIVATE, PROGRAM, RETURN, SET KEY, STATIC e &S( ).
