Debugging de un smartform en ABAP

En el post de hoy os mostraremos cómo realizar debugging de un smartform en ABAP.

En primer lugar, vamos a daros algo de información acerca de lo que es un smartform. Usaremos información de la web http://www.cvosoft.com/

Qué es un smartform?

Los Formularios son objetos de SAP que se utilizan para crear documentos que necesitan ser impresos, visualizados por pantalla o enviados por correo electrónico.

Ejemplos de formularios son Facturas, Remitos, Órdenes de compra, Solicitudes de pedido o cualquier otro documento que queramos crear como formulario SAP.

SAP posee varias tecnologías especialmente diseñadas para la creación de formularios. Ellas son:

  • SAPScripts: es la primera herramienta que creo SAP para el desarrollo de formularios. No es muy amigable y tampoco muy flexible pero todavía se continúan utilizando en muchos entornos de trabajo, principalmente donde encontramos las versiones más antiguas de SAP.
  • SmartForms: reemplazaron a los SAPScripts a partir de la versión 4.7 de SAP. Son los más amigables al desarrollador y los más flexibles a la hora de realizar cambios. Poseen muchas ventajas con respecto a sus antecesores.
  • AdobeForms: es la última tecnología de SAP en cuanto a formularios. Es producto de la alianza entre SAP y Adobe.

Para hacer debugging de un smartform deberemos seguir los siguientes pasos:

  1. Vamos a la transacción SMARTFORMS.
  2. Entramos en nuestros smartform. (ZFICHA_ANALISIS en nuestro caso).
  3. Arriba hacemos click en Entorno/Nombre del módulo de funciones.
  4. En nuestro caso nos devuelve este valor: /1BCDWB/SF00000029
  5. Pues para hacer debug del smartform, vamos a la SE38.
  6. Insertamos el nombre de nuestro módulo de funciones (/1BCDWB/SF00000029), pero le añadimos una L delante de la S y un F01 al final. (/1BCDWB/LSF00000029F01).
  7. Accederemos al código. Ya podemos poner un breakpoint en el código del smartform.

Otra forma, algo más rústica, sería la de incluir la sentencia BREAK-POINT en el código y así obligará al debug a parar en esa línea.

Tienes más tips de ABAP en el siguiente enlace.