Es posible que en alguna ocasión te hayas visto en la necesidad de traspasar los datos de una tabla entre diferentes mandantes, o incluso entre sistemas que se encuentran aislados sin posibilidad de realizar transportes entre ellos. O que antes de lanzar algún proceso que afecta directamente a una o varias tablas sea necesario realizar un backup de ellas por si fuese necesaria una vuelta atrás, evitando tener que recuperar un backup completo de BBDD (en caso de no contar con un sistema de backup que permita una recuperación granular a nivel de tabla). Si la respuesta es afirmativa continúa leyendo este post donde te enseñamos a exportar e importar tablas con R3load, seguramente este será de tu interés.
La herramienta R3trans
El ejecutable R3trans, que reside dentro del kernel de SAP, será el programa que nos permitirá realizar el export e import de los datos de la tabla. Habitualmente esta herramienta se suele llamar desde otros programas de actualización/migración, pero en este caso lo utilizaremos para el traspasado de datos para tablas.
Las opciones de llamada al R3trans son las siguientes:
Ficheros de configuración
Para un correcto proceso de export/import necesitaremos configurar los ficheros de control que gobernarán estas tareas. El fichero de export tendrá la siguiente estructura, cuyo objetivo será el de exportar la tabla ZTESTEXPORT en el mandante 000:
export client = 000 SELECT * from ZTESTEXPORT
El fichero de import debería tener este aspecto para importar el contenido anteriormente exportado en el mandante 100 haciendo uso del contenido del fichero trans.dat generado en el paso anterior, y que contendrá las entradas de la tabla ZTESTEXPORT:
import file = '/usr/sap/trans/trans.dat' client = 100
Como realizar el export/import
Por último veamos cómo funciona todo el proceso en su conjunto, y para ello nada mejor que un ejemplo. Como decíamos más arriba, usaremos la tabla ZTESTEXPORT que únicamente tiene un registro y se encuentra en el mandante 000:
A continuación crearemos el fichero exp.ctl en el directorio /usr/sap/trans por ejemplo, con el contenido del punto anterior, y lanzaremos el siguiente comando desde Sistema Operativo y con el usuario administrador de SAP <sidadm> que exportará los datos:
R3trans -w exp.log exp.ctl
El comando finaliza correctamente, y si nos fijamos encontramos que se han generado en el directorio dos ficheros nuevos, uno de log del export, y otro un fichero .dat con los datos de la tabla:
Si revisamos el contenido del log, vemos todos el resumen de los datos relevantes de la operación:
Ahora realizaremos el import con el fichero de control con el contenido descrito más arriba y con el siguiente comando en Sistema Operativo con el usuario <sidadm>:
R3trans -w imp.log imp.ctl
La ejecución del comando finaliza correctamente aunque con un warning:
Como podemos apreciar en el log se ha actualizado una entrada:
Verificaciones
El último paso será comprobar que la entrada importada es correcta. Para ello iremos al mandante 100 y comprobaremos como en efecto, la entrada exportada ya se ve reflejada en el contenido de la tabla:
Ahora ya sabes como exportar e importar tablas con R3load.
Esperamos que esta entrada te haya servidor de ayuda y si tienes cualquier duda o necesitas ayuda, puedes contactar con nosotros aquí.