✒️SAP BASIS / El proceso de importación Por Fernando Escola

Selector Alummnos / Empresas

SAP BASIS El proceso de importación

SAP BASIS El proceso de importación

El Proceso de Importación


Los pasos del proceso de importación

1. Secuencia de Procesamiento Colectivo (tp)

Cuando se importan múltiples órdenes de transporte de forma simultánea, el programa de control de transportes (tp) opera de manera colectiva y no individual. Esto significa que procesa un paso de importación específico para todas las órdenes que lo requieran antes de avanzar al siguiente paso de la secuencia general. El comando tp import all jamás procesará todos los pasos de una orden individual antes de pasar a la siguiente.

Los pasos requeridos por cada orden se gestionan en una tabla dentro del archivo de buffer de transporte, donde las columnas definen los pasos y los números indican si es necesario realizarlo o la cantidad de objetos involucrados. Por ejemplo, se ejecuta primero el paso DDIC para todas las órdenes correspondientes, luego el paso ACTIV para las mismas, posteriormente MAIN I para todo el conjunto, y así sucesivamente. Esto asegura la consistencia del sistema; si se corrige un error en un programa exportado y se vuelve a liberar, al usar import all las órdenes se importarán en el orden correcto sobrescribiendo el archivo defectuoso. Como el paso de generación de programas es el último, el sistema productivo solo generará la versión correcta final.

2. Los Cuatro Pasos Principales de la Importación

El proceso general se divide en cuatro grandes etapas consecutivas, intercalando la importación de datos con su gestión y activación:

  • Paso 1 - Importación de objetos del Diccionario (DDIC): Consiste en la importación de los objetos del Diccionario ABAP en estado inactivo mediante la herramienta R3trans. Al importarse de forma inactiva, este paso se puede realizar mientras el sistema SAP está activo sin interrumpir a los usuarios (sin tiempo de inactividad o downtime). Genera un archivo de log con la extensión H9.

  • Paso 2 - Gestionar objetos del diccionario (ACTIV): Es el momento donde comienza el tiempo de inactividad del sistema. Aquí se activan los objetos del Diccionario ABAP, se generan las descripciones en tiempo de ejecución (tablas de nombres o nametabs), se realiza la distribución, la conversión de estructuras si es necesario y el movimiento de los nombres de las tablas. Dependiendo del subpaso, se ejecutan herramientas y tareas de fondo específicas como Job RDDMASGL (para activación masiva, log A9), Job RDDIS0L (para distribución, log DS), Job RDDGEN0L (para conversión de estructuras, log N) y Job RDDMNTAB (para el movimiento de nametabs, log P).

  • Paso 3 - Importar otros objetos (MAIN I): Corresponde a la importación principal donde se transfieren todos los demás objetos y datos restantes del repositorio mediante la herramienta R3trans. Produce un archivo de log con extensión I9.

  • Paso 4 - Gestionar otros objetos: Incluye actividades posteriores a la importación principal. Abarca el versionamiento de los objetos de repositorio (ejecutado por el Job RDDVERSX si el parámetro VERS_AT_IMP está activo, log v9), la ejecución de reportes post-importación y métodos After Import (paso XPRA, ejecutado por el Job RDDEXECL, log R9), y finalmente la generación de los programas ABAP propiamente dichos (paso GENERA, ejecutado por el Job RDDDIC3L, log G9).

Para tecnologías complementarias, se pueden importar objetos no-ABAP mediante el Sistema de Modificación y Transporte Mejorado (CTS+), añadiendo un paso de despliegue posterior a la importación principal con la herramienta RDDEPLOY (log t9). Asimismo, la importación de contenido de SAP HANA se realiza con la herramienta SAP HANA Transport for ABAP, disparando un trabajo adicional llamado RDDHANAD para su despliegue.

3. Interacción entre las Herramientas tp y R3trans

R3trans es la herramienta de transporte que opera a nivel del sistema operativo para mover datos entre sistemas SAP y conectarse a la base de datos, guardando la información en un formato de transporte estándar e independiente de la plataforma. Sin embargo, el uso directo de R3trans no está soportado. Siempre se debe utilizar a través de tp.

tp actúa como el administrador de alto nivel: lee el buffer de transporte, decide la secuencia correcta según el tipo de objeto, invoca a R3trans de forma indirecta (mediante comandos del sistema operativo como fork en UNIX, CreateProcess en Windows o spawn en AS/400) y asegura que todos los pasos de exportación e importación se completen con éxito. Durante la exportación, R3trans almacena los objetos en el directorio de datos del transporte y, durante la importación, los lee para insertarlos o actualizarlos en la base de datos del sistema destino.

Al iniciar una importación masiva con el comando tp import all, el programa asegura que solo se procesen las órdenes que estaban en el buffer al comienzo fijando una marca con el comando tp setstopmark. Una vez concluido el proceso, se eliminan las órdenes del buffer con tp delstopmark y tp cleanbuffer. Si ocurre un error, el programa tp registra un código de retorno en el archivo de log ULOG y, por defecto, abortará la importación si una fase recibe un código mayor a 8 (configurable mediante el parámetro STOPONERROR). Si se soluciona el problema, tp puede reiniciarse y reanudará la ejecución exactamente en el punto donde falló.

4. Comunicaciones Internas en el Sistema SAP (Tablas TRBAT y TRJOB)

El proceso de importación requiere una comunicación constante entre el sistema operativo y la base de datos de SAP, la cual se realiza a través de las tablas de control TRBAT (órdenes en espera y estado de pasos) y TRJOB (control de tareas de fondo).

Para los pasos de importación que requieren la intervención de procesos internos de SAP (como los pasos 2 y 4 de gestión), el programa tp llama al despachador de importación, que es un job de fondo en SAP llamado RDDIMPDP. Para coordinar esto, tp escribe una entrada de cabecera en la tabla TRBAT con un código de retorno inicial de 9999 (que significa que el paso espera ejecución) y una marca 'B' (de begin) para solicitar que RDDIMPDP comience el procesamiento. Luego, tp utiliza la herramienta de sistema operativo sapevt para disparar el evento que despierta al job RDDIMPDP.

Una vez que RDDIMPDP se inicia, revisa la tabla TRBAT para determinar qué acciones están pendientes (como la activación masiva, distribución o conversión de tablas). Acto seguido, cambia el código de cabecera a 'R' (de run) e inicia los programas internos correspondientes como tareas de fondo (por ejemplo, RDDMASGL para activación, RDDEXECL para XPRAs, o RDDVERSL para versionamiento). Cada uno de estos trabajos asignados recibe un número de job único que se registra en la tabla TRJOB.

Cuando un programa de fondo de activación se activa, cambia el estado de su entrada correspondiente en la tabla TRBAT a "activo" con un código de retorno temporal de 8888. A medida que las tareas de fondo finalizan sus actividades, escriben sus códigos de retorno definitivos en la tabla TRBAT (donde un valor de 12 o menos indica que el paso concluyó) y se eliminan de la tabla TRJOB. Al completarse todas las acciones de las órdenes de transporte, los trabajos establecen la entrada de cabecera en la tabla TRBAT con una 'F' (de finished).

Finalmente, el programa tp monitorea de forma continua estas modificaciones en las tablas TRBAT y TRJOB. Al detectar la 'F' de finalización y confirmar que la tabla TRJOB está completamente vacía, tp copia los logs de los pasos completados desde el directorio temporal de transporte al directorio de logs definitivo y borra las entradas procesadas de la tabla TRBAT. Si durante el monitoreo tp detecta problemas o si un paso fue abortado, vuelve a disparar el job RDDIMPDP mediante la herramienta sapevt; RDDIMPDP reconocerá automáticamente si hay un proceso previo activo o si debe reiniciar el paso fallido.

Requisitos y Mecanismo de Disparo de RDDIMPDP

Para que el programa de control tp pueda comunicarse con los diversos programas ABAP iniciados por los trabajos de fondo utilizando las tablas TRBAT y TRJOB, el sistema SAP exige como requisito indispensable tener configurados al menos dos procesos de trabajo de fondo (background work processes).

Cuando se ejecutan las importaciones, tp invoca al despachador de importación enviando de forma específica el evento SAP_TRIGGER_RDDIMPDP a nivel de sistema operativo, lográndolo mediante la herramienta sapevt.

Configuración Tradicional en Sistemas ABAP

En el esquema clásico de los sistemas basados en el Servidor de Aplicación ABAP (AS ABAP) de SAP Business Suite, la programación de este componente requiere ciertas pautas manuales:

  • El usuario DDIC debe programar (schedule) el job RDDIMPDP en el mandante 000 utilizando una configuración basada en eventos (event-based scheduling).

  • Para automatizar o facilitar esta tarea, se puede ejecutar el programa ABAP RDDNEWPP en el mandante 000. Esta ejecución debe realizarla un usuario que posea la autorización de administración del CTS (objeto de autorización S_CTS_ADMIN).

Variaciones en Otros Mandantes y Mejoras del Programa

Si se ejecuta el programa RDDNEWPP en mandantes distintos al 000, tradicionalmente se programaba el trabajo bajo el nombre RDDIMPDP_CLIENT_### (donde ### representa el número de mandante). Sin embargo, según se detalla en la Nota SAP 2687484, el job RDDIMPDP_CLIENT_### (que solía programarse automáticamente tras realizar una copia de mandante local o remota mediante las transacciones SCCL o SCC9) ya no es necesario.

Por otro lado, se introdujeron mejoras sustanciales en esta infraestructura (detalladas en la Nota SAP 3035580). Se incorporó un nuevo reporte llamado RDDNEWPP2 que supera a su predecesor (RDDNEWPP) al permitir especificar explícitamente qué usuario será el elegido para las ejecuciones programadas del job de fondo RDDIMPDP, evitando que corra obligatoriamente como DDIC. Para escenarios en S/4HANA, la Nota SAP 3217799 complementa esto recomendando el uso de un usuario diferente a través de SJOBREPO.

Automatización en SAP S/4HANA

El proceso cambia drásticamente en las plataformas modernas. En los sistemas SAP S/4HANA Server, gracias a la existencia del Job Repository y al parámetro de perfil rdisp/job_repo_activate_time, ya no es necesario ejecutar el reporte RDDNEWPP de forma manual en el mandante 000. El propio repositorio del sistema se encarga de la gestión de este despacho, aunque cabe señalar que el sistema podría demorar un breve período de tiempo hasta que el job se reprograma automáticamente por esta vía.








Los comandos para el transporte


1. Generalidades de los Comandos tp

El programa de control de transportes tp se ejecuta a nivel de sistema operativo en el subdirectorio de transporte bin por el usuario adm. Se utiliza para controlar los movimientos entre sistemas SAP, aplicar SAP Support Packages y realizar actualizaciones de versión (release upgrades). Su función principal es garantizar que las exportaciones e importaciones mantengan la secuencia correcta, logrando que los resultados en las colas de importación sean consistentes con lo gestionado desde el Transport Management System (TMS).

Las operaciones de exportación e importación se realizan por separado:

  • Fase de Exportación: Los objetos se extraen de la base de datos del sistema fuente inmediatamente después de que la orden de transporte es liberada, almacenándose en archivos independientes de la plataforma en el directorio de transporte mediante la herramienta R3trans.

  • Fase de Importación: Los objetos almacenados se añaden a la base de datos del sistema destino. Cabe destacar que no existe un mecanismo automático para importar una orden inmediatamente después de su exportación; siempre requiere una acción posterior.

Para interactuar con tp, se utiliza una sintaxis estricta compuesta por el ejecutable, el comando, los argumentos y las opciones. Siempre es obligatorio especificar la ruta de acceso completa y cualificada al archivo de parámetros mediante la opción pf=, apuntando al archivo de perfil del dominio de transporte (por ejemplo, pf=<ruta a>/TP_nombre del dominio.PFL).

2. Comandos de Utilidad e Información General

El programa tp cuenta con comandos específicos para consultar el estado del entorno y la configuración del transporte:

  • tp help: Muestra información general sobre la sintaxis de las llamadas. Si se usa junto a un comando específico sin más opciones (por ejemplo, tp <comando>), detalla la sintaxis y función de dicha instrucción.

  • tp count <SID>: Cuenta la cantidad de órdenes de transporte registradas para importación en un sistema destino específico.

  • tp connect <SID>: Prueba la conexión a la base de datos del sistema SAP indicado para verificar si es exitosa.

  • tp checkimpdp <SID>: Muestra el estado de programación (scheduling) del despachador de importación RDDIMPDP en el sistema destino.

  • tp showparams <SID>: Expone todas las configuraciones actuales leídas desde el archivo de parámetros para el sistema SAP especificado.

3. Comandos de Acceso y Manipulación del Buffer

El contenido del archivo de buffer de transporte (ubicado en el subdirectorio de transporte buffer) funciona como una cola estructurada que almacena la información de cada orden de transporte, incluyendo sus modos incondicionales y acciones específicas. Para manipular esta cola, tp dispone de las siguientes instrucciones:

  • tp showbuffer <SID>: Muestra detalladamente todas las entradas registradas en el buffer del sistema indicado.

  • tp addtobuffer <orden> <SID>: Registra una orden de transporte al final de la cola de importación del sistema destino.

  • tp delfrombuffer <orden> <SID>: Elimina una orden de transporte individual del archivo de buffer del sistema destino.

  • tp cleanbuffer <SID>: Elimina del buffer todas las órdenes de transporte que ya han sido importadas con éxito. Esta misma acción puede ejecutarse de manera gráfica en la transacción STMS siguiendo la ruta de menú para borrar las peticiones importadas dentro de la cola.

4. Comandos para el Control de Marcas de Detención (Stopmarks)

Para gestionar importaciones masivas y asegurar que solo se procesen los transportes presentes al inicio de la acción, se emplean marcas de detención en el buffer:

  • tp setstopmark <SID>: Coloca una marca de detención (stopmark) al final del buffer de transporte actual, garantizando que los comandos de importación masiva posteriores solo procesen las órdenes que se encuentran antes de dicha marca.

  • tp mvstopmark <orden> <SID>: Mueve la marca de detención exactamente antes de la orden de transporte especificada en el buffer.

  • tp delstopmark <SID>: Elimina la marca de detención del archivo de buffer del sistema indicado.

5. Ejecución de Importaciones a Nivel de Sistema Operativo

La ejecución de importaciones mediante comandos directos en el sistema operativo debe restringirse a casos excepcionales (por ejemplo, si el TMS no está disponible o se requieren comandos muy específicos). Existen dos modalidades principales:

  • Importación Masiva (Importar Todas las Órdenes): Se ejecuta mediante el comando tp import all <SID> client=<número_mandante> pf=<archivo_parámetros>. Es el equivalente al botón "Importar Todas las Órdenes" en el TMS e importa la totalidad de las peticiones pendientes respetando la secuencia correcta.

  • Importación Individual de una Orden: Se realiza con la sintaxis tp import <orden> <SID> client=<número_mandante> u<modos> pf=<archivo_parámetros>. Es análogo al botón "Importar Orden" del TMS. Importa una única petición manteniéndola en la cola para una importación posterior si se desea. Sin embargo, se debe tener precaución: realizar importaciones individuales de forma regular puede alterar la secuencia correcta de los objetos, provocando que versiones más nuevas sean sobrescritas por versiones antiguas. Para evitar esto, es mandatorio utilizar el modo incondicional 0 (u0). Esta acción es similar a la "importación preliminar" del TMS, donde la orden se ejecuta pero permanece en la lista para consolidarse de manera automática en la secuencia de la cola cuando se realice el transporte masivo regular.

6. Modos Incondicionales de Importación

Los modos incondicionales son opciones especiales que modifican el comportamiento de tp para forzar la ejecución de acciones ignorando ciertas reglas estándar del Sistema de Modificación y Transporte (CTS). Su uso requiere extrema precaución para no generar inconsistencias graves y difíciles de diagnosticar en el sistema destino. Se representan mediante un dígito o carácter y se añaden a la línea de comandos con la letra u (por ejemplo, u2). También es posible utilizarlos directamente configurándolos desde el TMS.

Las funciones asociadas a cada dígito son las siguientes:

  • Modo 0 (Durante la Importación): Deja la orden de transporte en la cola para una importación posterior. Se utiliza en importaciones preliminares, ya que importa el contenido desde el buffer sin eliminarlo de allí, estableciendo además el modo incondicional 1 en el buffer para disparar de forma segura la siguiente importación.

  • Modo 1 (Durante la Exportación): Ignora el estado incorrecto de una orden de transporte, permitiendo su procesamiento.

  • Modo 1 / 1 (Durante la Importación): Fuerza la importación de la orden de transporte de nuevo, ignorando si la orden ya fue importada previamente en el sistema SAP, lo que obliga a importar todo desde el principio.

  • Modo 2 (Durante la Importación): Fuerza la sobrescritura de los objetos originales (overwrite originals). Por ejemplo, el comando tp import DEVK900132 QAS u2 procesará dicha orden en el sistema QAS obligando a reemplazar los elementos existentes.

  • Modo 3 (Durante la Importación): Ignora las relaciones de predecesor, permitiendo importar la orden aunque sus transportes previos no se hayan aplicado.

  • Modo 4 (Durante la Importación): Ignora las versiones de componentes no válidas (invalid component version).

  • Modo 6 (Durante la Importación): Sobrescribe objetos en reparaciones que aún no han sido confirmadas (unconfirmed repairs).

  • Modo 8 (Durante la Exportación): Ignora la clase de tabla no válida, permitiendo la selección y exportación de tablas que forman parte de objetos complejos y que habitualmente no se exportan solas.

  • Modo 8 (Durante la Importación): Ignora la clase de tabla no válida, omitiendo la restricción resultante de las clasificaciones de tablas e importando todas las entradas en los mandantes especificados.

Modo 9 (Durante la Importación): Ignora los tipos de transporte no válidos (invalid transport type).


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Fernando Escola, en su ámbito de estudios para la Carrera Consultor SAP BASIS S/4HANA.

SAP Senior

Fernando Escola

Profesión: Especialista en Infraestructura It - Argentina - Legajo: SJ78C

✒️Autor de: 58 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy un profesional de tecnología con más de 25 años de experiencia en infraestructura it, soporte técnico y administración de entornos corporativos. a lo largo de mi carrera trabajé brindando soporte

Certificación Académica de Fernando Escola

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El proceso de importación" de la mano de nuestros alumnos.

SAP Senior

El Proceso de Importación Los pasos del proceso de importación 1. Secuencia de Procesamiento Colectivo (tp) Cuando se importan múltiples órdenes de transporte de forma simultánea, el programa de control de transportes (tp) opera de manera colectiva y no individual. Esto significa que procesa un paso de importación específico para todas las órdenes que lo requieran antes de avanzar al siguiente paso de la secuencia general. El comando tp import all jamás procesará todos los pasos de una orden individual antes de pasar a la siguiente. Los pasos requeridos por cada orden se gestionan en una tabla dentro del archivo de buffer de transporte, donde las columnas definen los pasos...

Acceder a esta publicación

Creado y Compartido por: Fernando Escola / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!