✒️ABAP / La construcción del programa impresor Por Josep Lopez Moyano
ABAP La construcción del programa impresor
CONSTRUCCION DEL PROGRAMA IMPRESOR
Los objetivos principales son:
· La selección de los datos que se mostraran en el formulario
· La invocación o ejecución del formulario
NOTA: Se puede agregar sentencias de código y selección de datos dentro de un formulario SmartForm pero no es conveniente debido a peor performance y mantenimiento de código futuros.
SELECCIÓN DE DATOS
Se crea el programa y dentro de este la subrutina para modularizar la selección de los datos.
CLEAR ti_usuarios.
REFESH ti_usuarios.
SELECT dni nombre_ape estado_usu direccion codigo_postal
f_nacimiento estado_civil
FROM ztabla_usuarios
INTO TABLE ti_usuarios.
Los datos de la selección los guardamos en la tabla interna TI_USUARIOS que tiene la misma estrucutra que la tabla ZTABLA_USUARIOS pero sin campo mandante.
*& Report ZPRUEBA_SMARTFORMS
REPORT zprueba_smartforms.
* Nombre del modulo de funciones del formulatio
DATA v_nombre_form(30) TYPE c.
* Declaramos la tabla interna TI_USUARIOS del tipo ZUSUARIOS que hemos creado
* previamente en el diccionario.
DATA: ti_usuarios TYPE STANDARD TABLE OF zusuarios.
START OF SELECTION
PERFORM cargar_datos.
PERFORM invocar_smartform.
INVOCACION DEL FORMULARIO
Se utilizan dos modulos de funiones
SFF_FUNCTION_MODULE_NAME
Este se usa para averiguar el nombre de la función SAP que ejectua el formulario. El nombre de la misma lo almacenaremos en la variable v_nombre_form
CALL FUNCION ‘SFF_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 sv-msgv11 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
NOTA:
En la tabla base de datos standard STXFADMI podemos encontrar los formularios smartforms existentes en SAP, podemos ver el número de funciones generado en el campo FMNUMB
Después ejecutaremos la función cuyo nombre contiene la variable v_nombre_form y le pasaremos los parámetros TI_USUARIOS que contiene la selección de datos.
CALL FUNCTION v_nombre_form
TABLES
ti_usuarios = ti_usuarios
EXCEPCTIONS
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.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor SAP HCM Nivel Inicial
- Carrera Consultor SAP BASIS NetWeaver Nivel Avanzado
- Carrera Consultor SAP BASIS NetWeaver Nivel Inicial
- Master Funcional ABAP
- Master ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial






Disponibilidad Laboral: FullTime


















