PROMO SEPTIEMBRE en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️ABAP La ejecución y el debug de un formulario Smartform

ABAP La ejecución y el debug de un formulario Smartform

ABAP La ejecución y el debug de un formulario Smartform

Executing a SmartForm

To execute a Smartform, we need to run the form printing program. Every printing program follows similar steps:

  • Data retrieval and loading into one or more internal tables.
  • Retrieve the function module name that executes the form using the SSF_FUNCTION_MODULE_NAME function.
  • Execute the function module whose name we retrieved in the previous step.
  • Configure the form's print screen. Various aspects can be informed here:
  • Form title.

  • Direct execution of printing without passing through the spool first.

  • Determination of the number of copies to print.

  • Storage Mode allows determining whether we only print or also save the print in the spool.

  • In Cover Page Settings, we can decide whether to print the SAP cover page on the same sheet.

  • Mandatory printer output notification even if a preview is performed.

*&---------------------------------------------------------------------*
*& Form INVOCAR_SMARTFORM
*&---------------------------------------------------------------------*
* Inicializar a imprimir smartform
*----------------------------------------------------------------------*
FORM invocar_smartform .

IF NOT ti_usuarios[] IS INITIAL.

* Inicializar el formulario.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZFORMULARIO_PRUEBA'
IMPORTING
fm_name = v_nombre_form
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.

IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* Enviar datos al formulario e imprimirlo
CALL FUNCTION v_nombre_form
TABLES
ti_usuarios = ti_usuarios
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.

IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDIF.

ENDFORM. " INVOCAR_SMARTFORM

Debugging a SmartForm

We go to the Smartforms transaction, enter the form name, and click the modify button.

We create a code lines object in the desired page's first window. The code will be the breakpoint statement, and we activate the form. Upon re-executing the form, it will stop where we placed the breakpoint.

Alternatively, we can execute the transaction SMARTFORM_TRACE. In the selection screen, we activate tracing by clicking the activate button and set the trace level. The following levels are available:

  • Warning or error.
  • Document information.
  • Pages.
  • Windows.

Then, we inform the form printing program. Once the form is displayed, we return to the SMARTFORM_TRACE transaction, search for the trace of our execution, and upon entering it, we will see all detected errors.

E.g

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_I_1
*&---------------------------------------------------------------------*
*& Ejemplo smartform program
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_i_1.

* Nombre del modulo de funciones del formulario.
DATA: v_nombre_form(30) TYPE c.

DATA: ti_usuarios TYPE STANDARD TABLE OF zusuarios.
*Previamente creamos en el Diccionario de datos la estructura ZUSUARIOS
*con los mismos campos de ZTABLA_USUARIOS a excepción del Mandante

* ---------------------------------------------------------------------*
START-OF-SELECTION.
* ---------------------------------------------------------------------*

* Seleccionamos los datos de la tabla de usuarios
PERFORM cargar_datos.

* Llamada al formulario Smartform
PERFORM invocar_smartform.


*&---------------------------------------------------------------------*
*& Form CARGAR_DATOS
*&---------------------------------------------------------------------*
* cargar datos en la tabla interna
*----------------------------------------------------------------------*
FORM cargar_datos .

CLEAR ti_usuarios.
REFRESH ti_usuarios.

SELECT dni nombre_ape estado_usu direccion
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios.

ENDFORM. " CARGAR_DATOS
*&---------------------------------------------------------------------*
*& Form INVOCAR_SMARTFORM
*&---------------------------------------------------------------------*
* Inicializar a imprimir smartform
*----------------------------------------------------------------------*
FORM invocar_smartform .

IF NOT ti_usuarios[] IS INITIAL.

* Inicializar el formulario.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZFORMULARIO_PRUEBA'
IMPORTING
fm_name = v_nombre_form
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.

IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* Enviar datos al formulario e imprimirlo
CALL FUNCTION v_nombre_form
TABLES
ti_usuarios = ti_usuarios
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.

IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDIF.

ENDFORM. " INVOCAR_SMARTFORM


 

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La ejecución y el debug de un formulario Smartform" de la mano de nuestros alumnos.

SAP Senior

LA EJECUCION Y EL DEBUG DE UN FORMULARIO SMARTFORM. 1) La ejecución de un formulario Smartform para ejecutar un formulario Smartform tendremos que ejecutar el programa impresor. Para ello, vamos a visualizar el programa impresor y vamos a colocar un breakpoint para analizar su comportamiento. 2) El debug de un formulario Smartform Tal como mencionamos en las lecciones anteriores, es recomendable que todo el código ABAp que creamos para trabajar con un formulario Smartform se encuentre dentro del programa impresor y no dentro del Smartform. Para realizar el debug del formulario Smartform vamos a escribir dentro de la línea de código que acabamos de crear la palabra reservada BREAK-POINT y luego vamos a activar el Smartform....

Acceder a esta publicación

Creado y Compartido por: Luis Enrique Romero Pinto

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Lección 10: Video - Ejecución de un Formulario SmartForm Ejecución del formulario Smartform desde el programa impresor. Para ejecutar el formulario en el programa impresor creado en la lección 4, ejecutamos el programa impresor en modo debug, para ver como se ejecuta el formulario. Primero entramos al programa para colocar un breakpoint en la subrutina CARGAR_DATOS, ejecutamos el programa y entramos a la subrutina que invoca el Smartform INVOCAR_SMARTFORM, y es aquí en donde se ejecutará el formulario. Como debuguear un Smartform. Ejecutamos la transacción Smartforms en modo debug (/nsmartforms) y creamos dentro de la ventana DIRECCION una línea de código en la cual agregamos...

Acceder a esta publicación

Creado y Compartido por: Calixto Guti?rrez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Lección: Video - Ejecución de un Formulario SmartForm [ 10º de 11 ] Ejecución del formulario Smartform desde el programa impresor. Para ejecutar el formulario en el programa impresor creado en la lección 4, ejecutamos el programa impresor en modo debug, para ver como se ejecuta el formulario. Primero entramos al programa para colocar un breakpoint en la subrutina CARGAR_DATOS, ejecutamos el programa y entramos a la subrutina que invoca el Smartform INVOCAR_SMARTFORM, y es aquí en donde se ejecutará el formulario. Como debuguear un Smartform. Ejecutamos la transacción Smartforms en modo debug (/nsmartforms) y creamos dentro de la ventana DIRECCION una línea de código en...

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Ejecución de un formulario Smartform Para ejecutar el formulario se ejecuta el programa impresor y podemos colocar un break-point para ver su ejecución. Se entra primero a la subrutina cargar datos que se encarga de recuperar los datos de la tabla y son almacenados en una tabla interna. Luego se ejecuta la subrutina que invoca el formulario. También podemos colocar la palabra break-point dentro del código del smartform y así hacer el debug.

Acceder a esta publicación

Creado y Compartido por: Dairy Alejandra Torrenegra Cera

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

LA EJECUCIÓN Y EL DEBUG DE UN FORMULARIO: 1) La ejecución de un formulario SmartForm: Para ejecutar un formulario smartform, se tiene que ejecutar el programa impresor. Al programa impresor se le puede agregar un BreackPoint, si se quiere visualizar en la fase de pruebas la ejecución y verificar el comportamiento del programa impresor. Se debe considerar que para los programas impresores de formularios smartform, básicamente se definen o escriben dos (2) subrutinas: Seleccionar_Datos e Invocar_Smartform. En la subrutina Seleccionar_Datos, se inicializan las tablas internas y las variables, se leen los campos de la tabla base de datos que corresponda y se almacena o llena la tabla interna. Por ejemplo, se leen los...

Acceder a esta publicación

Creado y Compartido por: Carmelo Salom?n Ortiz Gonz?lez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

LA EJECUCIÓN DE UN FORMULARIO SMARTFORM. Primero tendremos que ejecutar el programa impresor. Para ello vamos a visualizar el programa impresor y vamos a colocar en breakpoint para analizar su comportamiento. Luego ejecutamos el programa presionando f8. Al ejecutarse la subrutina comprobamos que se recuperan registros de la tabla base de datos y se almacenan en la tabla interna. Luego dentro de la subrutina invocar_smartform lo que primero hacemos es ejecutar el modulo de funciones estándar SSF_FUNCTIN_MODULE_NAME con el nombre de nuestro formulario SmartForms como parámetro de entrada. Y recuperamos el parámetro de salida, el nombre del módulo de funciones que ejecuta el SmartForm. Luego ejecutamos el...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

La ejecucioón de unformulario Smartform: tenemos que ejecutar el programa impreso. Para ello, vamos a visualizar el programa impresor y vamos a colocar un breakpoint para analizar su comportamiento. Luego ejecutamos el programa haciendo clic en el icono ejecutar o también podemos precionar la tecla F8. A ejecutar la subrutina seleccionar_datos comprobamos que se recuperan registros de la tabla base de datos ZTABLA_USUARIOS y se almacenan en la tabla interna TI_USUARIOS. Luego dentro de la estructura invocar_smartform lo que primero hacemos es ejecutar el módulo de funciones estándar SSF_FUNCTION_MODULE_NAME con el nombre de nuetro formulario Smartform como parámetro de entrada. Y recuperamos el parámetro...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master


I.10.1. Ejecución de un Formulario SmartForm Para ejecutar un formulario SmartForm tendremos que ejecutar el programa impresor del formulario. TIPS: Para depurar un formulario SmartForm podemos utilizar la transacción estándar SMARTFORM_TRACE, al ejecutar la transacción en la pantalla de selección deberemos activar la traza mediante el botón activar, y definir el nivel de la traza, el cual puede ser: Advertencia o error Información de documento Páginas Ventanas Otras opciones Luego ejecutamos el programa impresor de nuestro formulario SmartForm, el cual imprimirá el formulario en la pantalla. Volvemos a visualizar la transacción SMARTFORM_TRACE, particularmente...

Acceder a esta publicación

Creado y Compartido por: Gianfranco Pasqua Indiano / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


La ejecución y el debug de un formulario Smartform Ejecucion del smartform. Se debe ejecutar el programa impresor. La subrutina seleccionar datos recupera la tabla de la base de datos y se almacena en la TI. La subrutina invocar_smartform, se ejecuta el modulo de funciones SSF_FUNCTION_MODULE_NAME, con el nombre de nuestro form. Debug del smartform. Recomendable que todo codigo abap se haga en el programa impresor. Si tenemos codigo en el smartform: crear/logica proceso/lineas de programa-- se debe poner explicitamente la palabra break ponit y luego activar el form y ejecutarlo. audio1: para depurar un form se puede usar la transaccion smartform-trace

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Para depurar un formulario SmartForm podemos utilizar la transaccion estandar smartform_trace al ejecutar la transaccion en la pantalla de seleccion debemos activar la traza mediante el boton activar y definir el nivel de la traza el cual puede ser advertencia y error, informacion de documento, paginas, ventanas entre otras opciones mas. Luego ejecutamos el programa IMPRESOR de nuestro formulario SmartForm el cual imprimira el formulario en la pantalla, volvemos a visualizar la transaccion SMARTFORM_TRACE particularmente veremos la tabla que se muestra en la parte inferior de la pantalla la cual habra registrado la fecha actual de la traza, la hora, el usuario, el nivel de la traza y demas datos. Al visualizar la traza correspondiente de nuestro...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 80.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!