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

 X 

✒️ABAP La construcción del programa impresor

ABAP La construcción del programa impresor

ABAP La construcción del programa impresor

CONSTRUCCION DEL PROGRAMA IMPRESOR DE UN FORMULARIO SMARTFORM

Objetivos principales:

La seleccion de los datos que se mostraran en el formulario.

La invocacion o ejecucion del formulario.

Si bien se pueden agragar sentencias de codigo y selecciones de datos, es sumamente conveniente minimizar codigo debido a una cuestion de performance y facilidad de mantenimiento de estos objetos.

--------------------------

SELECCION DE LOS DATOS

creamos el prgrama ABAP ZPRUEBA_SMARTFORMS y dentro de este la subrutina SELECCION_DATOS para modularizar la seleccion de los datos. Utilizamos la tabla base de datos ZTABLA_USUARIOS.

Los datos los almacenamos en la tabla interna TI_USUARIOS, que tiene la misma estructura que la tabla base de datos ZTABLA_USUARIOS pero sin el csmpo mandante.

------------------------------------

INVOCACION DEL FORMULARIO

Creamos el formulario ZFORMULARIO_PRUEBA ingresando a la transaccion SMARTFORMS y presionado el boton crear.

En el programa impresor ZPRUEBA_SMARTFORMS, vamos a utilizar dos modulos de funcion para ejecutarlo. Priemro la funcion SSF_FUNCTION_MODULE_NAME para averiguar el nombre de la funcion SAP que ejecuta el formulario.

El nombre de esta funcion lo almacenamos en la variable V_NOMBRE_FORM

En la tabla base de datos standar STXFADMI podemos encontrar los formularios smartforms existentes en el sistema SAP y de cada uno de ellos podemos ver el numero del modulo de funciones generado para la ejecucion del formulario en el campo FMNUMB.

Luego ejecutaremos la funcion cuyo nombre contiene la variable V_NOMBRE_FORM pasandole como paramtero de entrada/salida la tabla interna de usuarios TI_USUARIOS que obtuvimos de la tabla base dedatos ZTABLA_USUARIOS en la subrutina SELECCION_DATOS.

En las secciones EXPORTING y TABLES de la funcion contenida en la variable V_NOMBRE_FORM es donde se especifican todos los parametros que enviaremos al formulario.

*&---------------------------------------------------------------------* *& Report ZPRUEBA_SMARTFORMS *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zprueba_smartforms. * 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 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM cargar_datos . CLEAR ti_usuarios. REFRESH ti_usuarios. SELECT dni nombre_ape estado_usu direccion codigo_postal f_nacimiento estado_civil FROM ztabla_usuarios INTO CORRESPONDING FIELDS OF TABLE ti_usuarios. ENDFORM. " CARGAR_DATOS *&---------------------------------------------------------------------* *& Form INVOCAR_SMARTFORM *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* 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

Solución al Ejercicio de Práctica: Creamos el formulario ZFORMULARIO_PRUEBA en la transacción SMARTFORMS.

Creamos el programa ZPRUEBA_SMARTFORMS.

Para eliminar el diálogo con el usuario debemos seguir los siguientes pasos:

1-Declaramos las estructuras que completaremos con la configuración de la salida del formulario

DATA: output_options TYPE ssfcompop,

control_parameters TYPE ssfctrlop.

2-Completamos las estructuras con los parámetros correspondientes

output_options-tdpageslct = space. "Todas las páginas
output_options-tdnewid = 'X'. "Crear nuevo spool
output_options-tdcopies = p_copias. " copias
output_options-tddest = 'p_impre'. "Nombre de la impresora

control_parameters-preview = space.

control_parameters-no_dialog = 'X'. "Directo a la Impresora
* control_parameters-no_dialog = space. "Con Dialogo


3-Finalmente utilizamos dichas estructuras como parametros de entrada al momento de llamar a la función que ejecuta el smartform

call function '/1BCDWB/SF00000009'
exporting
output_options = output_options
user_settings = space
control_parameters = control_parameters
tables
t_work = t_work
exceptions
no_form = 1
no_function_module = 2

others = 3.


 

 

 


Sobre el autor

Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Oscar Guillermo Rodriguez Villate

Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P

✒️Autor de: 103 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Oscar Rodriguez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La construcción del programa impresor" de la mano de nuestros alumnos.

SAP Master

*************Lección: Construcción del programa impresor [ 4º de 11 ] La utilización del programa impresor, ofrece todas las bondades del lenguaje para poder cargar cualquier dato o información del sistema. Además resulta muy útil llamar solo una función para invocar el formulario Los objetivos del programa impresor son: .- La selección de los datos que se mostraran en el formulario. .- La invocación o ejecución del formulario. El formulario se crea ingresando a la transacción smartforms y presionando el botón crear.

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

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

SAP Master

creacion de un programa impresor los objetivos principales del programa impresor son: la seleccion de los datos que se mostraran y la ejecucion o invocacion del formulario. buena practica: minimizar el código que se coloca en los formularios debido a una cuestion de performance. y facilidad de mantenimiento de los objetos.

Acceder a esta publicación

Creado y Compartido por: Rainer Diaz

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

SAP Expert


1) Construcción del programa Impresor Los objetivos del programa impresor de un formulario Smartform son: La selección de los datos que mostrará el formulario La invocación o ejecución del formulario 2) Selección de datos Se creará el programa ZPrueba_Smartforms y dentro se colocara la subrutina Seleccion_Datos y se leerá la tabla Ztabla_usuarios que serán almacenados en la tabla interna TI_USUARIOS. 3) Invocación del formulario Ingresar en la transacción Smartform el nombre del formulario y darle crear Regresar al programa impresor, y se utilizará el módulo de función SSF_FUNCTION_MODULE_NAME para saber el nombre de la función...

Acceder a esta publicación

Creado y Compartido por: Maria Guadalupe Gonzalez Sanchez

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

SAP Senior

Lección: Construcción del programa impresor 1) Construcción del programa impresor de un formulario Smartform Los objetivos principales del programa impresor de un formulario SmartForm son: La selección de los datos que se mostrarán en el formulario La invocación o ejecución del formulario Si bien dentro de un formulario Smartform podremos agregar sentencias de código y selecciones de datos, es sumamente conveniente minimizar el código que se coloca en los formularios debido a una cuestión de performance y facilidad de mantenimiento futuro de estos objetos 2) Selección de los datos Crearemos el programa ABAP ZPRUEBA_SMARTFORMS y dentro de este la subrutina SELECCION_DATOS...

Acceder a esta publicación

Creado y Compartido por: Aida Cortina Fernandez

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

SAP Master

Lección 4: Construcción del programa impresor. 1.- Construcción del programa impresor de un Formulario Smartform. Los objetivos principales de este punto son: Selección de los datos que se mostrarán en el formulario. Invocación o ejecución del formulario. 2.- Selección de datos. Creación del programa ZPRUEBA_SMARTFORM y dentro del programa crear la subrutina SELECCION_DATOS. Se utiliza la tabla ZTABLA_USUARIOS creada en el curso nivel inicial. Los datos seleccionados se almacenan en la tabla interna TI_USUARIOS, la cual tiene la misma estructura que la tabla ZTABLA_USUARIOS, pero sin el mandante. 3.- Invocación del formulario. Creación del formulario...

Acceder a esta publicación

Creado y Compartido por: Calixto Gutiérrez

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

SAP Senior

CONSTRUCCIÓN DEL PROGRAMA IMPRESOR. Objetivos: ** Selección de los datos que se mostrarán en en formulario. ** Invocación o ejecución del formulario. --> Dentro de un smartform se puede agregar código, se debe evitar o minimizar esta práctica por cuestión de performance y facilidad de mantenimiento futuro. 1. Se crea un programa ABAP, con la transacción SE38. -->Para usar modularizarización, se pone una subrutina para tratar la selección de datos de una tabla Z. Se utiliza una tabla interna que se define con la misma estructura de la tabla Z, pero sin el campo mandante. --> En el START-OF-SELECTION se ejecutan las subrutinas. 2. Invocación del formulario....

Acceder a esta publicación

Creado y Compartido por: Elda Martinez Soto

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

SAP Master


Construcción del programa impresor de un formulario SMARTFORM: - Objetivos del programa impresor: La selección de los datos que se mostrarán en el formulario. La invocación o ejecución del formulario. - Selección de los datos: dentro del programa se crea la subrutina SELECCION_DATOS para modularizar la selección. Los datos de esta selección serán almacenados en la tabla interna TI_USUARIOS que tienen la misma estructura que la tabla base de datos ZTABLA_USUARIOS pero sin el campo mandante. - Invocación del formulario: a la transacción SMARTFORMS presionamos Crear. Luego en el programa impresor ZPRUEBA_SMARTFORMS se utiliza dos módulos de función...

Acceder a esta publicación

Creado y Compartido por: Lluís Culí Duran

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

SAP SemiSenior

Construcción del Programa Impresor 1. La selección de los datos que se mostrarán en el formulario: SELECT dni nombre_ape estado_usu direccion codigo_postal f_nacimiento estado_civil FROM ztabla_usuarios INTO CORRESPONDING FIELDS OF TABLE ti_usuarios. 2. La invocación o ejecución del formulario - Transaccion: smartforms

Acceder a esta publicación

Creado y Compartido por: Enmanuel Vargas Sanchez

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

SAP Master

CONSTRUCCIÓN DEL PROGRAMA IMPRESOR. Los objetivos de este programa son dos: 1- La selección de los datos que se mostraran en el formulario. 2- La invocación o ejecución del formulario. Nota: Si bien podemos incluir sentencias de código dentro de un formulario no es recomendable por cuestiones de performance y mantenimiento de estos objetos. SSF_FUNCTION_MODULE_NAME: Función estándar de SAP que se utiliza para la ejecución de formularios. STXFADMI: Tabla estándar de SAP donde se encuentran todos los formularios existentes en SAP y podemos ver el módulo de funciónes generado en el campo FMNUMB.

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

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

SAP Master

Los objetivos del programa impresor son: .- La selección de los datos que se mostraran en el formulario. .- La invocación o ejecución del formulario. El formulario se crea ingresando a la transacción smartforms y presionando el botón crear. Luego en el programa impresor tenemos que utilizar dos funciones. Primero la función SSF_FUNCTION_MODULE_NAME, para conocer el nombre de la función SAP que ejecuta el formulario., y luego llamaremos a la función cuyo nombre averiguamos en la función anterior pasandole como parametros los datos que se van a imprimir.

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

 


 

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