First of all, user have authority. Other users can see the datas when enter the terms in the program but X user cannot see it. Why could this be? I checked the codes but I'm not so good debug part. If I change @sy-uname user name that the person with F8 can I see the problem like that user? Or is there a way to view it as that user?
Based on your code, It looks like the user to him the Data is not displayed because, no roles were assigned to that user. To confirm that go to SE16N - and give table name as AGR_USERS & for the field User / Uname - give that user name. Did you see any records?
Also give Role & Name and see if you see any records for the Same role 'BLABLA'. The Reason why you are not getting records for that particular user because
Ask user to execute the transaction and to call transaction SU53 (or call yourself SU53 and select user clicking on F5 - Display fpr different user)
If actually no difference, no missing authorization, you could also check user parameters such as date format or initial parameters list.
Or just change your code if you didn't use AUTHORITY-CHECK (d'oh!)
where agr_name like 'BLABLA%'