I also feels it an issue of clearing ok_code.
Declare an ok code variable.
data : Ok_code like sy-ucomm.
In the PAI make the following changes.
ok_code = sy-ucomm.
CASE ok_code.
WHEN 'PAGEDOWN'.
IF idx > line.
idx = idx - 10. [idx = idx - n]
ENDIF.
WHEN'PAGEUP'.
IF idx <= 11.
idx = 1.
ELSEIF idx > 20.
idx = idx - 20.
ENDIF.
ENDCASE.
clear ok_code.