Shmuel is of course correct. &DISP(R1) is an incorrect reference to the "R1" element of &DISP which is not valid syntax, contrast with &DISP(1) for example. With the trailing period, &DISP.(R1) says to substitute &DISP and then append (R1).
But why write this macro at all? In what was does the z/OS-provided CALL macro not do exactly what you're trying to do? Peter Relson z/OS Core Technology Design