Buenas a todos Saper@s!! hoy les traigo una curiosidad que he aprendido hace poco y es digno de contarlo, tiene que ver con la función developer_key_check. ¿Para que sirve esta Función? para saltarse el control de si un usuario es Developer o no. Por lo que tengan mucho cuidado al utilizar este truco que les contaré hoy, debido a que es MUY delicado y podría acarrearte problemas! Pero usado con sabiduría puede salvarte de muchos problemas!
¿Mi usuario es Desarrollador?
Hay tablas que registran la información de los usuarios que son desarrolladores y que usuarios no. En SAP existe la tabla DEVACCESS que es la encargada de guardar la información de las claves de registro de cada uno de los usuarios developers del sistema. Esta tabla se puede ver desde la SE16N (¿ No conoces esta transacción? En este post te explico su utilización Transacción SE16N Modificación de tablas )
¿Cómo puedo saltarme este control si quiero realizar modificaciones al sistema y no soy desarrollador?
Bueno.. esta pregunta es complicada… pero como bien saben, en SAP nada es imposible.
Advertencia: a partir de aquí es responsabilidad del consultor las modificaciones que se realicen en el sistema sin ser desarrollador. Hay que tener cuidado debido a que si existe una auditoría puede acarrear problemas para el cliente o tu empresa.
Una vez dicho esto, vamos a ver como podemos realizar este «hackeo» del sistema.
Lo primero que tendremos que hacer es comprobar que nuestro usuario no es developer, como me imagino que mucho de ustedes habrán comprobado:
- Seleccionamos el programa z a modificar y pulsamos modificar:
- Al pulsar modificar, veremos el siguiente pop-up
Esto es lo que nos indicará que no somos programadores, o que el número de licencia es erróneo.
Modulo de Funciones developer_key_check
Una vez realizado las comprobaciones pertinentes, el siguiente paso que tenemos que hace es ir a la función DEVELOPER_KEY_CHECK. Esta función es la encargada de realizar las comprobaciones necesarias para saber si un usuario es desarrollador en nuestro sistema. Lo que haremos es crear un punto de ruptura o break-point ( si no controlas los break-point, no te preocupes, entra en Primeros pasos en debugging para dar tus primeros pasos!) tal que así:
- Entramos en la transacción SE37.
- Introducimos «DEVELOPER_KEY_CHECK»
- Pulsamos Visualizar y ponemos el break-point como en la siguiente imagen:
Ahora con el usuario que no es desarrollador, vamos a realizar alguna modificación al sistema:
- Como antes, vamos a la transacción se38, seleccionamos el programa a modificar y pulsamos «modificar».
- El sistema hará las comprobaciones necesarias, entre las cuales se encuentra la llamada a la función «developer_key_check», lo cual, gracias a nuestro Break-point (que ya sabemos usarlo muy bien debido al anterior post), hará una parada. Esto nos permitirá realizar lo siguiente:
- Seleccionamos sy-subrc y modificamos el valor introduciendo «0». Esto lo haremos haciendo doble click en sy-subrc o escribiéndolo en la parte derecha de nuestro debugeador, esto quedará de la siguiente forma
- Una vez hecho esto, para poder modificar el valor tendrémos que pulsar el botón que se muestra en el recuadro marrón de la foto anterior, esto hará que se ponga en modo modificación y te abra el recuadro «Val.» una vez hecho esto, introduciremos el valor «0»:
- Pulsamos enter y le damos a «F8». Una vez realizado esto, veremos como el programa nos permitirá modificar en el código:
- Seleccionamos sy-subrc y modificamos el valor introduciendo «0». Esto lo haremos haciendo doble click en sy-subrc o escribiéndolo en la parte derecha de nuestro debugeador, esto quedará de la siguiente forma
Recuerda:
Si quieres esta página siga en pié pudiendote ayudar en el día a día, dona, cualquier donativo hará que pueda ayudarte más.