Transportar registros de una tabla Z en una Orden de Transporte

Cómo transportar registros de una tabla Z en una Orden de Transporte.

Cómo crear una tabla y mover ciertos registros en una orden de transporte

Muchas veces en nuestros proyectos, nos enfrentamos a la necesidad de crear tablas transparentes Z que contengan registros que ayudan a modificar el comportamiento de un programa también Z. Estas tablas, cuando ya el programa queda listo, es necesario que se muevan con todos o algunos de sus registros de un mandante a otro, para que el programa en el nuevo ambiente de trabajo se comporte de la misma manera que en el mandante donde se diseñó.
Sin embargo, es muy común, que una vez que se mueve la tabla, solo se mueve el objeto vacío en una orden de Workbench, y que entonces, el funcional o el usuario clave, tengan que capturar manualmente registro a registro para que quede la información completa en dicha tabla y el comportamiento del programa no se altere. Obviamente hacer esto, además de implicar un retrabajo manual, conlleva el que se puedan cometer errores al capturar la información, creando discrepancias en las pruebas unitarias, integrales o incluso en las pruebas de aceptación de usuario (UAT), y son debidas por supuesto, no a una falla en el código, sino a un error de dedo al capturar los registros.
Por esta razón, explico en esta guía cómo podemos crear una tabla con una vista de mantenimiento, de tal manera que se puedan transportar los registros que uno seleccione incluyéndolos en una orden de transporte. Así que, comencemos.
Creación de la tabla
El primer paso, y solo para ejemplificar, será hacer la creación de nuestra tabla en la transacción SE11. Haremos una tabla muy sencilla, que incluya el mandante, una clave, el país, nombre y apellido de una persona (solo es un ejemplo). Después de construirla, haremos la vista de actualización, llenaremos la tabla con unos cuantos registros, y finalmente incluiremos dichos registros en una orden de transporte. Lo interesante de este artículo, es que haremos después una orden de transporte donde incluiremos sólo los registros cuyo país sea igual a MX (México) y luego otra orden en donde irán únicamente los registros cuyo país sea igual a AR (Argentina). Así pues, ¡manos a la obra!

Transportar registros de una tabla Z en una Orden de Transporte

Crearemos la tabla en la SE11 con nombre ZNOMBRES. Es muy importante que cuando la creemos, escojamos la Clase de entrega “C – Tabla customizing, actualizado por cliente, sin import SAP”, ya que de otra manera no nos va a permitir crear una orden de transporte cuando usemos la transacción SM30 con su vista de actualización.

Transportar registros de una tabla Z en una Orden de Transporte

En la actualización de tabla, escogemos Visualización/Actualización permitida. Nos quedaría entonces de este modo:

Transportar registros de una tabla Z en una Orden de Transporte

Ahora comenzamos a crear los campos:

Transportar registros de una tabla Z en una Orden de Transporte
A continuación, definimos la Categoría de ampliación de nuestra tabla:
Transportar registros de una tabla Z en una Orden de Transporte

Escogemos la opción Ampliable y de números o caracteres:

Transportar registros de una tabla Z en una Orden de Transporte

Grabamos y activamos nuestra tabla.

Transportar registros de una tabla Z en una Orden de Transporte
Transportar registros de una tabla Z en una Orden de Transporte

Escogemos crear una orden de transporte nueva para nuestro objeto de Workbench:

Transportar registros de una tabla Z en una Orden de Transporte

Y activamos nuestra tabla:

Transportar registros de una tabla Z en una Orden de Transporte

Aquí nos va a pedir la Clase de datos. Escogemos

Transportar registros de una tabla Z en una Orden de Transporte
Transportar registros de una tabla Z en una Orden de Transporte

Nuestra configuración de la tabla queda así:

Transportar registros de una tabla Z en una Orden de Transporte

Grabamos, y nuestra tabla queda ya activa.

Transportar registros de una tabla Z en una Orden de Transporte
Transportar registros de una tabla Z en una Orden de Transporte
Vista de actualización

El siguiente paso es crear la vista de actualización para poder introducir registros a través de la SM30 en nuestra tabla. Para esto, vamos al menú Utilidades→Generador actualiz. Tab

Transportar registros de una tabla Z en una Orden de Transporte

Aquí, llenamos como se muestra a continuación:
Grupo autorizaciones: &NC&
Grupo de funciones: ZNOMBRES (el mismo que el de nuestra tabla, por facilidad)
Rutina de grabación: Rutina de grabación estándar. Ojo: si no se selecciona esta opción, no nos va a permitir crear una orden de transporte para los registros cuando usemos la vista de actualización en la transacción SM30.

Transportar registros de una tabla Z en una Orden de Transporte
Hacemos clic en el botón Buscar No imágenes y escogemos la opción Proponer No imágenes.
Transportar registros de una tabla Z en una Orden de Transporte

Hecho esto, hacemos clic en el ícono de Crear (o presionamos F6):

Transportar registros de una tabla Z en una Orden de Transporte

Nos pide de nuevo el paquete donde guardamos los cambios:

Transportar registros de una tabla Z en una Orden de Transporte

Hacemos clic en el botón Guardar. Posiblemente nos envíe un mensaje de que el objeto no existe. Volvemos a hacer clic en Guardar, y nos va a mostrar la orden de transporte en donde guardamos la tabla.

Transportar registros de una tabla Z en una Orden de Transporte

Confirmamos haciendo clic en ENTER o en la palomita verde. Nos va a volver a pedir el paquete:

Transportar registros de una tabla Z en una Orden de Transporte

¡Y listo! Ya nuestra vista de actualización se creó correctamente.

Transportar registros de una tabla Z en una Orden de Transporte
Llenado de registros en la tabla

El siguiente paso consiste en llenar algunos registros en nuestra tabla recién creada. Para tal efecto, ejecutamos la transacción SM30, como se muestra a continuación.

Transportar registros de una tabla Z en una Orden de Transporte

Introducimos el nombre nuestra Tabla/Vista: ZNOMBRES, escogemos la opción “Sin restricciones” y hacemos clic en el botón “Actual.” Para introducir registros a nuestra tabla Z.

Transportar registros de una tabla Z en una Orden de Transporte

Hacemos clic en el botón Entradas nuevas, y comenzamos a llenar con unos cuantos registros:

Transportar registros de una tabla Z en una Orden de Transporte

De manera que los registros de nuestra tabla queden como sigue (este es un ejemplo, en tu tabla tú llenarás los registros pertinentes). La idea es que después filtremos por la clav del país (MX para México, y AR para Argentina).

Transportar registros de una tabla Z en una Orden de Transporte
Creación de orden de transporte para registros seleccionados

Ahora, vamos de nuevo al inicio de nuestra transacción SM30. Aquí, introducimos de nuevo el nombre de nuestra Tabla/Vista: ZNOMBRES, pero ahora seleccionamos Indicar condición, y finalmente el botón Transporte.

Transportar registros de una tabla Z en una Orden de Transporte

Aquí nos va a salir el mensaje:

Transportar registros de una tabla Z en una Orden de Transporte

Hacemos clic en el botón de confirmación, y entonces nos va a pedir que seleccionemos cómo vamos a escoger los registros para generar el transporte. Escogemos Clave de país (1), y hacemos clic en el botón de confirmar (2).

Transportar registros de una tabla Z en una Orden de Transporte

Aquí en donde dice De: introducimos el valor MX, y hacemos clic en el botón de confirmar.

Transportar registros de una tabla Z en una Orden de Transporte

Nos sale un mensaje:

Transportar registros de una tabla Z en una Orden de Transporte

Nos dice si metemos la orden en la que teníamos creada previamente (es una orden en la que yo trabajaba, pero vamos a seleccionar una nueva):

Transportar registros de una tabla Z en una Orden de Transporte

Hacemos clic en el ícono de Crear orden:

Transportar registros de una tabla Z en una Orden de Transporte
Transportar registros de una tabla Z en una Orden de Transporte

Con esto nos asigna otra orden al hacer clic en Grabar:

Transportar registros de una tabla Z en una Orden de Transporte

Y nos muestra primero los registros seleccionados:

Transportar registros de una tabla Z en una Orden de Transporte

Seleccionamos los registros, y luego hacemos clic en el botón Incluir en la orden.

Transportar registros de una tabla Z en una Orden de Transporte

Nos aparece abajo este mensaje:

Transportar registros de una tabla Z en una Orden de Transporte

Hacemos clic en Grabar:

Transportar registros de una tabla Z en una Orden de Transporte

Nos confirma que se modificó la orden con nuestros registros.

Podemos confirmar en la SE10 que nuestros datos ya quedaron en una orden, yendo a ver las órdenes de transporte de Workbench que creamos:

Transportar registros de una tabla Z en una Orden de Transporte
Si queremos hacer otra orden, pero ahora para la clave País = AR, repetimos los pasos y creamos una nueva orden, para tener los datos separados.
Transportar registros de una tabla Z en una Orden de Transporte