¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¿Cuál es la diferencia entre ST01 y SU53 en SAP?

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

¿Cuál es la diferencia entre ST01 y SU53?

Editado por: Julius Bussche el 19 de mayo de 2010 a las 10:30 PM

PD: Este es el único caso conocido de puntos en SDN que haya llevado a un exitoso desarrollo funcional de SAP. Gracias a Pradeep Gali (también conocido como kinglokar rao)...

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

4 Respuestas

0
Cargando...

Hola Wolfgang,

>> No. Una verificación de AUTORIDAD con SY-SUBRC = 0 se define como "exitosa".

>> Pero lo más probable es que quieras expresar algo diferente: ..

Sí, eso es lo que quería decir. Por supuesto, tienes una ventaja porque ustedes en Walldorf pueden ver lo que está sucediendo en el núcleo. Mis medios son más limitados (por ejemplo, ST01, en realidad rara vez lo uso...). ¿Eso también podría sugerir por qué muchos usuarios tienen más autorizaciones de las que realmente necesitan para los contextos de transacción a los que pueden acceder? (es decir, si el USUARIO A tiene AUTORIDAD B y sy-subrc es establecido en 0 por el núcleo, entonces ¿cómo se sabría que podría ser retirado de USUARIO A?). No conozco ninguna herramienta que ayude en este caso, aparte de las ventanas emergentes de depuración del sistema y tratar de entender el kernel de SAP (y leer muchos documentos y notas OSS).

Mi comprensión de esto (y la imaginación de cómo funciona su núcleo) es que la verificación de autoridad no se satisface para el usuario (por lo tanto, dije "fallida"), pero alguna fuerza mayor (no solo limitada a SU24/SE97/SU25) determina que para esas condiciones, el sy-subrc se restablece en 0 (o 2... o lo que sea). Si las condiciones que el núcleo espera no se cumplen en ningún lugar, entonces la verificación de autoridad sigue siendo <> 0 => fallida.

Su comentario sobre las verificaciones del núcleo también es bueno porque además de SU53 y ST01, también hay varios módulos de funciones "de ayuda" que se pueden utilizar para ver esas verificaciones "codificadas invisiblemente". (Me refiero a las funciones VIEW_AUTHORITY ). Uno puede ver las verificaciones de autoridad del núcleo que son invocadas por ciertas sentencias ABAP, etc... y también reaccionar ante ellas antes de que el usuario tenga que tropezar con un volcado horrible o simplemente obtener una pantalla en blanco o que el archivo esté vacío... Alternativamente, uno también puede enviar al núcleo esas autorizaciones que está buscando para que sy-subrc sea 0 (o 8, o lo que sea... no estoy seguro...).

Para ser honesto, encuentro que la documentación de SAP y las notas de SAP al respecto son informativas y aceptables, pero es un camino largo y difícil para un principiante (o consultor de fuerza mayor) llegar a entender.

Estoy seguro de que la discusión abierta aquí en SDN es de gran ayuda para todos.

Saludos,

Julius

PD: ¿Podrías cambiar los "deseos cálidos" por "-1°C, deseos de sol y nieve en polvo"? Tengo que conducir más de 1 hora para llegar a esquiar debido al "calor"

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

> SU53: Un truco útil para acercarse a la verificación de autenticación real es crear un acceso directo (hacer clic derecho en el escritorio -> acceso directo .sap) con la transacción (tipo) /nsu53 en él. Luego puedes arrastrarlo y soltarlo en el sapgui (por ejemplo, directamente en el mensaje de error) sin tener que hacer clic para cerrarlo y aumentar el riesgo de que fallen más verificaciones de autoridad para determinar el programa de pantalla (para volver a él).

Sí, es ligeramente mejor (especialmente en situaciones donde tienes una ventana emergente - sin la capacidad de lanzar transacciones). Por la misma razón, un "acceso directo de depuración" puede ser útil. Pero de todos modos: a veces una aplicación podría primero enviar un AUTHORITY-CHECK (que falla) y luego enviar otro (probablemente con requisitos menos estrictos) que tiene éxito. Si luego se envía otro AUTHORITY-CHECK que falla, solo ese último AUTHORITY-CHECK fallido se puede analizar con SU53.

> ST01: El código de retorno también puede ser 0 aunque la verificación de autorización haya fallado (es decir, porque no hay requisito para que pase (por ejemplo, S_TCODE en una relación de llamada, o indicador de verificación SU24 desactivado).

No. Un AUTHORITY-CHECK con SY-SUBRC = 0 se define como "exitoso". Pero lo más probable es que quieras expresar algo diferente: un AUTHORITY-CHECK puede ser exitoso por varias razones, por ejemplo, el usuario está equipado con la autorización requerida (o una aún más poderosa), o está asignado a un usuario de referencia que tiene esa autorización requerida (o un superconjunto de ella) o la verificación ha sido deshabilitada en ese contexto (SU24 / SU24 / SE97) o en general (SU25).

> ST01 también es útil para buscar si una verificación de autorización podría estar disponible en el programa.

Yo lo habría expresado ligeramente diferente: ST01 te permite navegar al código ABAP donde se invocó ese AUTHORITY-CHECK (si existe tal código ABAP; algunos AUTHORITY-CHECKs son invocados por el kernel; en ese caso, ese enfoque no conducirá al éxito; tales verificaciones también están protegidas contra eludir DEBUG/REPLACE).

Saludos, Wolfgang

PD: una cálida bienvenida especial a Julius - en el Año Nuevo 2007

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

Algunas cosas que he notado:

SU53: Un truco útil para acercarse a la verificación real de autenticación fallida es crear un acceso directo (hacer clic derecho en el escritorio -> acceso directo .sap) con la transacción (tipo) /nsu53 en él. Luego puedes arrastrarlo y soltarlo en el sapgui (por ejemplo, directamente en el mensaje de error) sin tener que hacer clic para cerrarlo y aumentar el riesgo de que más verificaciones de autorización fallen al determinar el programa de pantalla (para retroceder).

ST01: El código de retorno también puede ser 0 aunque la verificación de autorización haya fallado (es decir, porque no hay necesidad de que pase (por ejemplo, S_TCODE en una relación de llamada, o indicador de verificación SU24 desactivado).

ST01 también es útil para buscar si una verificación de autorización podría estar disponible en el programa. Pero aún así debes mirar el programa (hay una función útil para saltar de la traza al programa) o depurarlo para ver qué hace con el resultado de la verificación de autorización y si hay verificaciones de autorización disponibles que solo se alcanzan cuando existe alguna condición para ello (por ejemplo, se ha colocado un grupo de autorización en la cuenta / programa, etc.).

Saludos,

Julius

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

Hola,

SU53 se utiliza para encontrar la autorización faltante.

ST01 se utiliza para autorizaciones faltantes repetitivas.

En SU53 se muestra el objeto de autorización y el valor faltante, mientras que en el rastreo se muestra el objeto de autorización, el código de retorno y el campo, así como el valor probado.

En el rastreo, el código de retorno es el factor importante. Si retcode = 0, entonces la verificación es exitosa; de lo contrario, no lo es.

Nota: Debes actualizar antes de capturar exactamente SU53, de lo contrario mostrará el último valor en lugar del que estás intentando capturar.

Chav

Pradeep.Gali

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?