La funcionalidad de la transacción SHD0 es muy útil para personalizar y simplificar transacciones estándar mediante variantes de transacción y de pantalla. En ocasiones podemos necesitar inicializar campos con un valor determinado, impedir su modificación, que sean visibles o no, obligatorios, suprimir funciones de menú o atributos en los table control… funcionalidades que algunas de ellas podemos también customizar a través de la SPRO, pero dichos cambios afectarían a todos los usuarios. De esta manera, podemos adaptar una transacción para determinados usuarios, facilitando así su trabajo y mejorando su productividad.

Al crear una variante de transacción, el sistema simulará la transacción estándar y se podrán ir personalizando las diferentes pantallas que va mostrando durante el proceso, siempre respetando la lógica del estándar como validaciones, campos obligatorios…

Posteriormente, mediante el TCode SE93, crearemos una transacción Z tipo ‘Transacción con variantes’ que se asignará al rol del usuario, para que pueda ejecutar la variante de transacción creada. También se pueden asignar las variantes de transacción a las transacciones estándar de manera predefinida, pero este tema lo trataremos en la segunda parte de este artículo.

Vamos a ver algunos ejemplos para comprender mejor esta funcionalidad:

Creación de Pedido de Compra: campos con valores predeterminados

En este caso, un usuario es el encargado de introducir los pedidos a un determinado proveedor de madera, y para facilitarle el trabajo vamos a evitar que tenga que introducir el proveedor, organización de compras, grupo de compras y sociedad, que siempre son los mismos.

  • Transacción SHD0

Introducimos el código de transacción para la que vamos a crear la variante y el nombre de la variante y pulsamos en el icono ‘Crear’:

La grabación nos lleva por las diferentes dynpros de la transacción y vamos creando variantes de pantalla con nuestra personalización:

Al terminar con los cambios, pulsamos en ‘Finalizar y grabar’, nos muestra las diferentes variantes de pantalla que hemos creado, ponemos una descripción a la variante de transacción y grabamos.

  • Crear transacción con variantes

Mediante la SE93, creamos una transacción tipo ‘Transacción con variantes’ para que el usuario pueda ejecutar la variante de transacción creada:

Al ejecutar la transacción ZME21N_MADERA vemos cómo dichos campos se muestran con los valores predefinidos y no modificables:

Creación pedido de venta: omitir pantalla inicial

En este ejemplo, queremos que, al crear un pedido de ventas mediante la transacción VA01, no se muestre la primera pantalla, que tendrá valores fijos en los campos ‘Clase de pedido’, ‘Organización de ventas’, ‘Canal distribución’ y ‘Sector’.

  • Transacción SHD0

En la primera dynpro marcamos el flag ‘No visualizar imagen’ y ‘Con contenido’ en los cuatro campos que queremos que tengan un valor fijo:

  • Crear transacción con variantes

Creamos la transacción ZVA01, y al ejecutarla nos lleva directamente a la grabación del pedido:

Consulta Registro Info: desactivar opciones de menú ‘Crear’ y ‘Modificar’

Queremos impedir que ciertos usuarios puedan crear o modificar Registros Info desde la visualización mediante la transacción ME13.

  • Transacción SHD0

Pulsar botón ‘Funciones menú’:

Seleccionamos las funciones y pulsamos en el botón ‘Desactivar’:

Finalizar y grabar.

  • Crear transacción con variantes

Creamos la transacción con variantes ZME13 y al visualizar el Registro Info mediante esta transacción, vemos que las opciones ‘Crear’ y ‘Modificar’ están desactivadas:

Esperamos que este artículo haya sido de tu interés. Puedes leer la segunda parte aquí. Si tienes alguna duda, no dudes en ponerte en contacto con nosotros.