sábado, 3 de mayo de 2014

Personalizar transacciones estandar

En este post os voy a describir como podeis personalizar transacciones estandar. Os explicare la funcionalidad que nos ofrece la transacción SHD0. Nos puede ser muy útil en ocasiones en las que queremos personalizar el comportamiento de las transacciones estándar (o incluso la desarrolladas por nosotros mismos).
 
En muchas transacciones podemos por customizing o por opciones de usuario personalizar valores predeterminados al entrar en ellas (clase de documento en transacciones de contabilización, valores predeterminados en documentos de compras, parametros de memoria para datos de unidades organizativas (sociedad, organización de ventas, sector), etc).
Pero a traves de las variantes de transacciones y de pantalla, podemos personalizar y simplificar los procesos mediante:
§  la asignación previa de campos con valores (valores predefinidos en campos)
§  la supresión y modificación de la disponibilidad para entrada de los campos.
§  la supresión y modificación de los atributos de las columnas en los table control (tablas de introducción de datos en muchas de las transacciones estándar).
§  la supresión de las funciones de menú.
§  la supresión de todas las imágenes.
Algunas de estas funcionalidades pueden estar disponibles a través del customizing (por ejemplo, mostrar o suprimir determinados campos en el mantenimiento de datos maestros de clientes, proveedores, materiales, cuentas o en los procesos de compras, ventas, contabilidad, etc), pero son opciones globales que afectan a todos los usuarios. En cambio, con las variantes de transacción podemos personalizar los procesos de transacción según el tipo de tarea o funciones que realiza un usuario, para hacer la introducción de datos más rápida, concisa, eliminando campos, pantallas u opciones de menú innecesarias o inicializando los valores con valores propios o repetitivos para hacer más productivo el trabajo del usuario. Aunque es importante remarcar que esta personalización siempre tendrá que respetar la lógica de las aplicaciones: campos obligatorios, verificación de valores introducidos, etc, que nunca nos vamos a poder saltar.

Vamos a realizar 3 ejemplos sencillos de lo que podríamos configurar utilizando esta funcionalidad:



1. Grabación de apuntes contables fijando la clase de documento y un texto de cabecera.
Queremos dejar preparada la entrada de datos a un usuario de forma que siempre se le inicialice el valor de la clase de documento (que no será modificable) y le proponga un texto de cabecera del documento (si modificable).
Pasos a seguir:
a) Creación de la variante: entramos en la transacción SHD0, indicamos la transacción para la que vamos a crear la variante (la FB50), el nombre de la variante de transacción (ZAPUNTES_CAJA) y pulsamos el icono Crear (F5).
La grabación nos lleva a la transacción que estamos personalizando. Introducimos los diferentes valores y pulsamos Intro.
 
Se nos grabará una variante de pantalla por cada pantalla  que existiera en la dynpro de la transacción. En las variantes podremos indicar para cada campo, si mantiene el contenido introducido al grabar, si es visible o no, obligatorio o de solo salida (impedimos que se pueda modificar su contenido).
b) Ajuste de la variante: al salir de la transacción, se recogen todas las variantes de pantalla creadas, y se crea la variante de transacción propiamente dicha, a la que habrá que poner una descripción.
 
 
Aquí podremos ajustar los diferentes campos de las pantallas, adaptandolos a nuestras necesidades, tal y como hemos comentado (visibles o no, obligatorios, solo salida, etc).
c) Creación de una transacción: la transacción de variante hay que convertirla a una transacción para que pueda ser ejecutada directamente por los usuarios, incluirla en los menús estandar o de rol. La crearemos con la transaccion SE93, indicando un código de transacción (por ejemplo, ZFB50), una descripción y el tipo de transacción “Transacción con variantes”.

 
 
Al crear la transacción, indicaremos la transacción estándar y el nombre de la variante que hemos creado. Importante siempre marcar el flag Valido para todos los mandantes.
d) Inclusión en el arbol de menú con la transacción SE43N para el menú estandar o bien en los roles asignados al usuario (transacción PFCG), para que aparezca en sus menús de usuario.
Al entrar en la transacción ZFB50, ya nos aparece los campos personalizados según nuestra configuración.
 
 
Siguiendo el mismo procedimiento, vamos a preparar dos transacciones personalizadas mas.
2. Creación de pedidos de venta, omitiendo la primera pantalla donde se introduce clase de documento y organización de ventas.
Personalizamos la transacción VA01 con la diferencia del ejemplo anterior que en la variante de pantalla para la primera dynpro de la transacción, marcamos el flag “No visualizar imagen” y llenamos los campos de clase de documento, organización de ventas, canal de distribución y sector.
 
 
Cuando el usuario entre a la transacción personalizada, no pasará por esa pantalla y accederá directamente a la grabación del pedido, con los valores indicados predeterminados.
3. Personalización del table control en la grabación de pedidos de compras, omitiendo opciones de menú.
En este caso vamos a personalizar la transacción ME21N. Entramos en la SHD0 y nos quedamos en principio solo con la dynpro 1211, que es la que tiene el detalle de las posiciones de compras. 
 
 
En este caso, suprimimos un montón de campos del table control que no son relevantes (marcando el flag invisible). Ademas, de la barra de botones disponible, ponemos como solo salida los que permiten borrar o bloquear posiciones. Esta opción solo la podrán realizar determinados usuarios en la transacción estandar.

 
Estos son algunos ejemplos de lo que nos permiten las variantes de transacción. Sin duda, algo muy interesante y potente. Y con muchas posibilidades para aquellos caso de usuarios que utilizan pocas funcionalidades del sistema o para los que queremos evitar errores o mejorar de forma notable su productividad.
También podriamos haber ajustado las opciones de menú disponibles, tal y como os muestra en la siguiente imagen para la transacción VA05n (listado de pedidos de venta).
 
Seleccionando el botón Funciones de menú al crear la variante, nos aparecen las opciones de menú, que podemos activar o desactivar (tanto opciones de menús y submenus, como botones y barras).
NOTA: la transacción SHD0 también nos permite asignar las variantes de transacción creadas como variantes predefinidas en las transacciones estandar. Aunque esta es una opción que habrá que tratar con mucha cautela, pues puede producir mas problemas que ventajas.
La SHD0 solo esta disponible para transacciones con dialogo. Y en las transacciones que ejecutan reports, solo las podremos utilizar para ajustar las opciones de menú disponibles.
 


No hay comentarios:

Publicar un comentario