✒️ABAP / La construcción del programa impresor Por Oscar Rodriguez Villate

Selector Alummnos / Empresas

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.


 

Escanear / Compartir

 

 


Sobre el autor

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

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 Senior

El tema central es la construcción de un programa impresor para un formulario Smartform en ABAP. Los objetivos principales de este programa son dos: primero, la selección de los datos que se van a mostrar en el formulario, y segundo, la propia invocación o ejecución del formulario. Es importante destacar que, aunque dentro de un Smartform se pueda agregar código, se recomienda minimizarlo por una cuestión de rendimiento y para facilitar el mantenimiento futuro. Para implementar esto, se crea un programa ABAP llamado ZPRUEBA_SMARTFORMS. Dentro de él, se modulariza la selección de datos en una subrutina llamada SELECCIONAR_DATOS. Esta subrutina se encarga de leer los datos desde la tabla...

Acceder a esta publicación

Creado y Compartido por: Mara Fadua Romero Hernandez

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

SAP Master


La Construcción del programa impresor Se establece como objetivo principal la selección de datos a mostrar y la ejecución del formulario smartphone. Se recomienda minimizar la cantidad de código en los formularios para mejorar el rendimiento y facilitar el mantenimiento. Selección y procesamiento de datos Se creará el programa ABAP denominado ZPRUEBA_SMARPHONES. Dentro del programa, la subrutina SELECCIONAR_DATOS se encargará de modularizar la selección de datos. Se utilizará la tabla base de datos ZTABLA_USUARIOS, que fue empleada previamente en otro módulo. Los datos seleccionados se almacenan en...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

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

SAP Master

Introducción: El programa impresor en SmartForms maneja la selección de datos y ejecución del formulario. Su objetivo es minimizar código dentro del formulario para optimizar rendimiento y mantenimiento. Componentes Clave del Programa Impresor 1. Selección de Datos Subrutina SELECCIONAR_DATOS: Estructura ti_usuarios: Mismos campos que ZTABLA_USUARIOS excepto MANDT. Campos: USUARIO, NOMBRE, DEPARTAMENTO. 2. Ejecución del Formulario Paso 1: Obtener nombre del módulo de función: Paso 2: Ejecutar formulario: Flujo de Ejecución Lanzamiento: Ejecutar programa ZPRUEBA_SMARTFORMS (transacción...

Acceder a esta publicación

Creado y Compartido por: Oscar Aravena Muller / Disponibilidad Laboral: FullTime

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

SAP Expert



La construcción del programa impresor en SAP En SAP, un programa impresor (también conocido como Print Program) es un componente clave dentro del proceso de impresión de documentos empresariales, como facturas, órdenes de compra, pedidos de ventas, albaranes, entre otros. Su función principal es extraer datos del sistema, procesarlos y enviarlos a un formulario que puede ser impreso o enviado digitalmente. Estos formularios suelen estar desarrollados en tecnologías como SAPscript, Smart Forms o Adobe Forms. Propósito del programa impresor El objetivo del programa impresor es preparar los datos requeridos y comunicarlos al formulario. No es simplemente un reporte, sino un programa orientado a eventos,...

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

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

Lección: La construcción del programa impresor Esta lección se enfoca en cómo construir el programa ABAP que interactúa con un Smartform, específicamente en la selección de datos y la invocación del formulario para su ejecución. 1. Objetivos Principales del Programa Impresor Puntos Importantes: Selección de Datos: El programa impresor es el encargado de seleccionar los datos que se van a mostrar en el formulario. Invocación/Ejecución del Formulario: Su otra función crucial es invocar o ejecutar el Smartform. Puntos Secundarios: Aunque es posible agregar sentencias...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

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

SAP Senior

La construcción del programa impresor 1. La consutrucción del programa impresor de un formulario Smarform 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. 2. La selección de los datos Crear el programa ZPRUEBA_SMARTFORMS con una subrutina seleccionar_datos para modularizar la selección de los datos. Utilizaremos a tabla base de datos ztabla_usuarios. 3. La invocación del formulario Crear el formulario Smartform ZPRUEBA_FORMULARIO en la transacción SMARTFORMS haciendo clic en el botón "Crear" Se usarán 2...

Acceder a esta publicación

Creado y Compartido por: Yeny Gisela Yanes Bautista

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

SAP Junior

Función del Programa Impresor: El programa impresor es fundamental para la selección de datos y la ejecución del formulario Smart Form. Su objetivo principal es obtener la información que se mostrará en el formulario y luego activar el formulario para su visualización o impresión. En la práctica, aunque se puede agregar código en el formulario, se prefiere minimizarlo por rendimiento y mantenimiento. Selección de Datos: La selección de datos se realiza dentro del programa impresor, preferiblemente en una subrutina separada (ejemplo: subrutina "seleccionar_datos" en el programa "Z_prueba_smartphones")....

Acceder a esta publicación

Creado y Compartido por: Miguel Angel Campo Velasco

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

SAP Expert


En tabla base datos estandar stxfadmi podemos encontrar los formularios smartform 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. Es la tecnología de SAP utilizada para la creación de formularios. Los formularios 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 realizar cambios. Al igual de lo que sucede con los SAPScripts, el desarrollo de Formularios SmartForms consta de 2 dos pasos: Primero lo que vamos a hacer es crear el programa impresos que dispara la ejecución del Smartfoms. Aqui es...

Acceder a esta publicación

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

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

SAP Senior

La construcción del programa impresor de un Smartform son: 1) La selección de los datos que se mostrarán en el formulario. 2) la invocación o ejecución. 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 es los formularios debido a una cuestión de performance y facilidad de mantenimiento futuro de estos objetos. En los secciones EXPORTING y TABLES del módulo de funciones contenido de la varible V_NOMBRE_FORM es donde se especifica todos los parámetros que enviaremos al formulario.

Acceder a esta publicación

Creado y Compartido por: Luis Enrique Romero Pinto

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

SAP Senior

La construcción del programa impresor de un formulario Smartform: Los objetivos principales del progama impresor de formularios Smartform son: La lecció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 a una cuestión de performance y facilidad de mantenimiento futuro de estos objetos. La selección de los datos Creamos el programa ABAP ZPRUEBA_SMARTFORMS y dentro de esta subrutina SELECCIONAR_DATOS para modularizar la selección de los datos....

Acceder a esta publicación

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

 


 

👌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!