Hola Daniel..
Supongo que tienes dos funciones una que busca el archivo con el explorador y una que lee el archivo en si.
Se me ocurre que cuando mandes llamar tu start-of-selections antes de llamar tu función que lee el archivo valides que sea un pdf.
supongamos que el nombre de tu archivo esta en p_file, yo haria algo asi:
data: v_file1 type string,
v_file2 type string.
SPLIT p_file AT '.' INTO v_file1 v_file2.
if v_file2 NE 'pdf'.
"No lee el archivo
elseif v_file2 EQ 'pdf'.
"Lee el archivo
endif.
Bueno eso es lo que yo haria o algo asi
Saludos
Espero te ayude amigo abapero..