The PROCEDURE instruction in REXX starts an internal subroutine and protects its variables by making them local to that subroutine. Without PROCEDURE, variables in a subroutine are global. PROCEDURE does not convert global variables to local - it creates a new local variable scope.