✒️ABAP La construcción del programa impresor
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
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.
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 en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial