Deshabilitar historial para un campo concreto SAP
El historial de sap es una herramienta muy útil para el manejo de transacciones en cualquiera de los entornos, ya sea a nivel técnico o funcional.
Deshabilitar historial sap disablehistoryforfield.
En ocasiones y según el negocio puede ser contraproducente en según qué campos, por ejemplo, cuando se trata de campos de cantidad, no es lo mismo facturar 100 que 1000.
Para estos casos existe la posibilidad de evitar que aparezca el historial en un campo concreto, para ello utilizaremos el método:
cl_gui_frontend_services=>disablehistoryforfield
No se debe usar este método de manera recurrente, es decir, cuando tenemos una dynpro en el PBO solemos realizar un LOOP AT SCREEN para recorrer los campos de la pantalla y modificar o no sus atributos, que sean visibles, editables, etc. Este método no asignará una propiedad mientras estamos en esa dynpro, ni siquiera mientras estamos con la sesión abierta, lo que hará es desactivar el historial del campo de manera indefinida, hasta que lo volvamos activar con el uso del método.
Lo hará es ir al fichero que se guarda en nuestro PC de manera local, el cual contiene una base de datos relacional con el historial de cada campo. Es este:
Y lo marcará para que no se muestre. Este es el motivo por el que no se debe usar de manera recurrente, si se hace, por cada llamada al método realizará esta acción con la penalización en rendimiento que esto conlleva. A parte, no es necesario por lo comentado antes, una vez que se ejecute el campo ya no tendrá historial.
He creado una dynpro de pruebas con un solo campo para verificar el funcionamiento. En el PBO he puesto el método para que active el historial del campo llamado «PRUEBAS»:
Ejecutamos y vemos como el programa muestra historial:
Ahora ejecutamos con el párametro BDISABLED marcado.
Vemos dynrpo con campo sin historial.
Espero que os sea de utilidad.
Saludos.
Más documentación deshabilitar historial sap disablehistoryforfield.
Puedes encontrar más entradas sobre SAP en: