Avalados por :

Como resolver problemas de execução de funções de planejamento no SAP usando Data Slice e bloqueio de usuário

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 9 Vistas
0
Cargando...

Olá, preciso executar uma função de planejamento (tipo Customer Exit) que faz um cálculo em todas as combinações para um único ano. Atualmente, tenho o problema de não poder executar a função assim que um usuário abrir uma consulta de entrada de dados. Portanto, criei um Data Slice, com base em uma classe de saída (objeto de bloqueio = Ano Fiscal). Nesta classe de saída, verifico o nome de usuário e, se não for o usuário "CENTRAL", marco a combinação como inválida. -> isso funciona perfeitamente, os dados são exibidos apenas em modo de visualização.

No entanto, o servidor de bloqueio contém um bloqueio de entrada para o usuário, que tem apenas visualização (devido ao Data Slice), e, portanto, minha função de planejamento não pode ser executada sem retirar o usuário do sistema.

Alguém pode me dar uma dica de como resolver esse problema?

Obrigado

Dieter

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá Gregor,

Obrigado pela sua resposta. Estou procurando uma maneira de permitir que o usuário visualize os dados no "modo de visualização" sem criar um bloqueio de entrada. Não quero executar uma função de planejamento enquanto outro usuário estiver bloqueando os dados. Quero evitar que um usuário estabeleça um bloqueio nos dados de transação quando eu precisar executar uma função de planejamento central. Tentei criar uma mensagem do tipo "A" ou "X" na classe de saída de segmento de dados (apenas para remover o usuário do sistema), mas todas as mensagens que não são S, I ou W são definidas como W.

Você pode me dar uma dica de qual é a forma "não clara"?

Obrigado

Dieter

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Dieter,

Se uma consulta estabelece bloqueios ou não depende se a consulta é iniciada no modo de mudança ou no modo de visualização. As divisões de dados não têm influência nos bloqueios de dados de transações.

Parece que seu cenário envolve processar uma função de planejamento com uma prioridade mais alta que outras funções (por exemplo, planejamento manual). Infelizmente, não há uma forma (limpa) de executar a função de maior prioridade quando outros usuários ainda estão bloqueando os dados. Mas com o conceito de bloqueios mestres, você pode garantir que nenhum outro usuário possa bloquear partes da sequência de planejamento, ou seja, pode-se garantir que a sequência não será interrompida devido a outros usuários bloqueando os dados.

Você pode encontrar mais informações na documentação:

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/45/946677f8fb0cf2e10000000a114a6b/frameset.htm

(seção Função do Bloqueio Mestre) e

http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/11fa9af97b4aa5e10000000a421937/frameset.htm

e o botão de informações na última aba de RSPLSE.

Saudações,

Gregor

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá Dieter,

não há outra solução para o seu problema além de fazer com que os usuários saiam do planejamento com ou sem salvar seus dados antes de executar a função.

O que costumo fazer é mostrar uma lista de usuários que estão atualmente bloqueando dados e o usuário que deseja iniciar a sequência deve saber que precisa entrar em contato primeiro com esses usuários para fazê-los abandonar a consulta.

Atenciosamente

Cornelia

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

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

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?