A veces nos suele pasar que nuestro usuario no posee permisos para determinada transacción.
Hay una forma de burlar al sistema accediendo a una función por la trx SE37.
Es un peligro hacer esto en un ambiente productivo, pero si uno está realizando pruebas en ambientes de prueba y por determinadas cuestiones la asignación demora más de lo previsto, se puede recurrir a esta acción.
Es a conciencia de cada uno y dependiendo de la situación.
Aclaración: esto NO es aplicable a SAP Business One.
Aquí dejo el tutorial, paso por paso
#Cómo saltear permisos en el ambiente
Intento acceder a una transacción, la cual no tengo permisos.
Para poder ingresar, pese a no tener autorización, se debe ingresar a la transacción SE37 e ingresar el nombre de la siguiente función.
Presionar el botón visualizar.
Poner un break-point en la sentencia sy-subrc.
Ejecutar la función con F8.
Poner el nombre de la transacción que no podíamos ingresar.
En el debug, ingresamos el valor 0 en el sy-subrc (ver imagen).
Hecho esto, ya se puede ingresar.
##Resumen
CALL_TRANSACTION_AUTH. Con esta función, se debe ingresar el nombre de la transacción a la cual no tenemos permisos y al ejecutar, cuando el sistema de Sy-subrc = 4, modificamos el valor a 0 (con la edición de debug).
Luego, debemos continuar con la ejecución apretando F8 y ya tenemos acceso a la codiciada transacción.
Esto es lo que llamaría Hacking. Quizás sea útil para el caso en el que no tengas los permisos necesarios para realizar los demás pasos del debug, todavía no parezca la forma más elegante, por así decir, de hacerlo. Quizás sea bastante interesante también desde el punto de vista de seguridad de sistemas y/o auditoria.
Mucho cuidado con eso, SAP_ALL no es una opción, es un perfil de “super usuario”, mejor dicho super_administrador, y concede TODOS los permisos de SAP al usuario, así que si un usuario tiene SAP_ALL puede hacer TODO (sin límite).
No brindar SAP_ALL a usuarios inexpertos, pues podrían hacer cosas irreversibles en el sistema!
Magnífico tutorial @gastoncito!! Habrá que guardarlo como oro en paño y tener aun más cuidado jejeje
Una pregunta: ¿con esto se obtiene autorización para entrar en la transacción o se obtiene autorización total dentro de esa autorización? Me explico: a veces, hay transacciones que no tienen ningún tipo de restricción pero si que necesitas autorización para elegir ciertos valores en la pantalla de selección, por ejemplo la sociedad.
Fijate el método que usa en el módulo de funciones., es solo para CALL_TRANSACTION_AUTH, así que esto de “saltar permisos” aplica solo para ingresar a la transacción. Si no tienes permisos sobre valores en campos, no podrás hacer más nada (al menos con este método)
Dependiendo los permisos que tengas tú en productivo.
Pero pensa, si no tienes autorización a “x” transacción… ¿en serio harías esto para saltar los permisos?
Recuerda que en SAP la trazabilidad es muy buena.
Cualquier usuario puede (si tiene permisos) saber quién hizo qué y cuándo.
Si tú no tienes permisos para hacer “x” cosa, y saltas los permisos, para acceder a determinada información, alguien podría saberlo.
pues tengo permiso a todas las transacciones en sap y todos los centros pero luego debo probar usuarios y sus trx y luego no tengo las autorizaciones en esos usuarios y necesito ver que más necesitan en autorizaciones (centros, mov etc) y andar mandando uno por uno a que me den acceso
Ese es otro tema David., te recomiendo abrir un tema nuevo para que consultes cómo se hacen pruebas usando usuarios (de otros usuarios) valga la redundancia.
Pero así y todo NO debes usar este método para saltear permisos.
ok me parece bien , entonces como tal no hay complicaciones en cuanto a que genere algún error o complicación con alguna transacción o que deje de funcionar algo solo mas bien es una “mala practica”