Regeneración de objetos

lunes, 9 de enero de 2012

Matrix - iPhone Background

¿Cuántos de vosotros no habéis visto alguna vez lo siguiente?


La primera vez que un usuario ejecuta una transacción tras un cambio realizado sobre dicha transacción SAP ejecuta un proceso de regeneración. Un cambio en una transacción (y la necesidad de regeneración) sucede cuando modificamos la parametrización asociada a una transacción, cuando modificamos el código ABAP asociado a su programa, cuando hacemos un upgrade del sistema, cuando implementamos una nota, etc. Sin embargo, una vez regenerada la transacción ya no volverá a aparecer este proceso nunca más.


No soy un experto pero hasta donde yo sabía y me habían explicado ABAP es un lenguaje de programación interpretado, no compilado. Así que nunca he entendido muy bien qué es lo que hace exactamente SAP cuando dice que está compilando la transacción. Sea como sea, SAP provee de una herramienta que nos permite, llamémosle regenerar, en forma masiva una transacción modificada.

Casos

Transacción: SGEN

La documentación de la propia transacción es abundante, pero voy a explicar solamente los casos con los que me he encontrado:
  • Generación de objetos todos de componentes de software seleccionados: se da cuando se instala por primera vez el sistema. Al seleccionar esta opción se regenerarán todos los objetos del sistema SAP.
  • Regeneración después de un upgrade de sistema SAP: se da cuando hemos cambiado de versión de SAP y deseamos regenerar todos los objetos modificados en la versión.
  • Generación de objetos de una orden de transporte: si hemos realizado una modificación de varios programas a la vez, agrupados en una sola orden, utilizaremos esta opción para regener todos los objetos incluidos dentro de la orden.

Ejemplo

Tomemos que queremos regenerar todos los programas que hemos modificado e incluido en una orden de transporte.
  • Llamamos a la transacción SGEN.
  • Indicamos nuestra orden de transporte.


  • Decidimos si lo queremos hacer online o en job de fondo. En este caso, lo hago en job de fondo.


Atención, mientras estemos realizando una regeneración de objetos no podemos hacer simultáneamente una segunda regeneración, aunque referencia a objetos distintos.

Es aconsejable hacer todas las regeneraciones en job de fondo.

Más información en la propia documentación de la transacción SGEN y en la nota 379918

Imagen inicial | Patrick Hoesly

No hay comentarios:

Publicar un comentario en la entrada