Olá Lukasz,
Como já mencionei, os bloqueios de dados de transações são estabelecidos com base no filtro estático usado em consultas ou funções de planejamento; as seções de dados não têm efeito nos bloqueios de dados de transações, pois são consideradas como um 'ajuste atual' que pode ser alterado a qualquer momento. Portanto, seria muito difícil estabelecer e ajustar a região de dados bloqueados com base na seção de dados, pois esta última pode mudar durante a execução.
O conceito de bloqueio está documentado aqui
https://help.sap.com/viewer/0ecf5244825c4742a7b062a89d11c2ac/7.5.16/en-US/4cb847b254182102e10000000a...
Você mencionou o Ano Fiscal como uma característica que poderia controlar se os usuários normais têm permissão ou não para planejar em contraste com um administrador; assim, você poderia usar uma variável que tenha uma substituição específica do usuário: para os usuários normais, você não usaria o valor para ser 'bloqueado', então esses usuários não estabeleceriam bloqueios que contenham esses valores (mas não use '*' que bloquearia todos os anos). Isso requer algum esforço e os usuários não gostariam de ver dados de anos incorretos ou nenhum dado de todo.
Outra opção é lançar a exceção CX_RSPLS_FAILED (apenas para usuários normais) no CONSTRUCTOR da sua seção de saída de dados; isso geraria um erro técnico, as consultas seriam definidas no modo de visualização em tempo de execução e a função de planejamento não deveria ser executada. Infelizmente, a mensagem de erro não teria uma mensagem 'agradável' para os usuários finais. Você pode tentar adicionar uma mensagem no controlador de mensagens OLAP: módulo de função RRMS_MESSAGE_HANDLING.
Saudações,
Gregor