Avalados por :

Cómo resolver problemas de ejecución de funciones de planificación en SAP utilizando Data Slice y bloqueo de usuario

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

Hola, tengo que ejecutar una función de planificación (tipo Customer Exit) que realiza un cálculo en todas las combinaciones para un solo año. Actualmente tengo el problema de que no puedo ejecutar la función tan pronto como un usuario haya abierto una consulta de entrada de datos. Por lo tanto, creé una Data Slice, basada en una clase de salida, (objeto de bloqueo = Año Fiscal). En esta clase de salida pregunto por el nombre de usuario y si no es el usuario "CENTRAL", pongo la combinación como inválida. -> esto funciona perfectamente, los datos solo se muestran en modo de visualización.

Pero el servidor de bloqueo contiene una entrada de bloqueo para el usuario, que solo tiene visualización (debido a la Data Slice), y por lo tanto, mi función de planificación no puede ejecutarse sin sacar al usuario del sistema.

¿Alguien puede darme una pista de cómo resolver tal problema?

Gracias

Dieter

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

4 Respuestas

0
Cargando...

Hola Gregor,

Gracias por tu respuesta. Estoy buscando una posibilidad donde el usuario pueda ver los datos en "modo de visualización" sin crear una entrada de bloqueo. No quiero ejecutar una función de planificación mientras otro usuario está bloqueando los datos. Quiero evitar que un usuario establezca un bloqueo en los datos de transacción cuando tengo que ejecutar una función de planificación central. Intenté crear un mensaje de tipo "A" o "X" en la clase de salida de segmento de datos (solo para sacar al usuario del sistema), pero todos los mensajes que no son S, I o W se establecen en W.

¿Puedes darme una pista de cuál es la forma "no clara"?

Gracias

Dieter

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

Hola Dieter,

Si una consulta establece bloqueos o no depende de si la consulta se inicia en modo de cambio o en modo de visualización. Las divisiones de datos no tienen influencia en los bloqueos de datos de transacciones.

Parece que tu escenario es procesar una función de planificación con una prioridad más alta que otras funciones (por ejemplo, planificación manual). Desafortunadamente, no hay una forma (limpia) de ejecutar la función de mayor prioridad cuando otros usuarios aún están bloqueando los datos. Pero con el concepto de bloqueos maestros, puedes asegurarte de que ningún otro usuario pueda bloquear partes de la secuencia de planificación, es decir, se puede garantizar que la secuencia no se detendrá debido a que otros usuarios bloqueen los datos.

Puedes encontrar más información en la documentación:

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

(sección Función del Bloqueo Maestro) y

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

y el botón de información en la última pestaña de RSPLSE.

Saludos,

Gregor

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

Hola Dieter,

no hay otra solución para tu problema que hacer que los usuarios abandonen la planificación con o sin guardar sus datos antes de ejecutar la función.

Lo que suelo hacer es mostrar una lista de usuarios que actualmente están bloqueando datos y el usuario que desea iniciar la secuencia debe saber que debe contactar primero a estos usuarios para hacer que abandonen la consulta.

Saludos cordiales

Cornelia

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

Hola Lukasz,

Como ya mencioné, los bloqueos de datos de transacciones se establecen en función del filtro estático utilizado en consultas o funciones de planificación; las secciones de datos no tienen efecto en los bloqueos de datos de transacciones, ya que se consideran como un 'ajuste actual' que puede cambiarse en cualquier momento. Como resultado, sería muy difícil establecer y ajustar la región de datos bloqueados en función de la sección de datos, ya que esta última puede cambiar en tiempo de ejecución.

El concepto de bloqueo está documentado aquí

https://help.sap.com/viewer/0ecf5244825c4742a7b062a89d11c2ac/7.5.16/en-US/4cb847b254182102e10000000a...

Mencionaste el Año Fiscal como una característica que podría controlar si a los usuarios normales se les permite o no planificar en contraste con un administrador; por lo que podrías usar una variable que tenga un reemplazo específico del usuario: para los usuarios normales no usas el valor para ser 'bloqueado', por lo que estos usuarios no establecerían bloqueos que contengan estos valores (pero no uses '*' que bloquearía todos los años). Esto requiere cierto esfuerzo y para los usuarios no sería agradable ver datos de años incorrectos o ningún dato en absoluto.

Otra opción es lanzar la excepción CX_RSPLS_FAILED (solo para usuarios normales) en el CONSTRUCTOR de tu sección de datos de salida; esto desencadenaría un error técnico, las consultas se establecerían en modo de visualización en tiempo de ejecución, y la función de planificación no debería ejecutarse. Desafortunadamente, el mensaje de error no contendría un mensaje 'agradable' para los usuarios finales. Puedes intentar agregar un mensaje en el controlador de mensajes OLAP: módulo de función RRMS_MESSAGE_HANDLING.

Saludos,

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?