✒️ABAP La construcción del programa impresor
ABAP La construcción del programa impresor
CONSTRUCCIÒN DEL PROGRAMA IMPRESOR
1.- Construcciòn del programa impresor de un formulario SmartForm.
Los objetivos principales del programa impresor son:
- La selecciòn de los datos que se mostraràn en el formulario
- La invocaciòn o ejecuciòn del formulario.
"Si bièn dentro de un formulario Samartform podremos agregar sentencias de còdigo y secciones de datos, es sùmanente 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.- Slecciòn de los datos.
Vamos a crear el programa ABAP ZPRUEBA_SMARTFORMS_TF64C y dentro de este la subrutina SELECCION:DATOS, para modularizar la selecciòn de los datos. Utilizaremos la tabla base de datos ZTABLA:USUARIOS.
Los datos de esta selecciòn los almacenaremos en la tabla interna TI_USUARIOS, que tiene la misma estructura que la tabla base de datos ZTABLA_USUARIOS, pero sin el campo mandante,
3.- Invocaciòn del Formulario.
Con la transacciòn SMARTFORMS creamos el formulario ZFORMULARIO_PRUEBA_TF64C
Luego en el programa impresor ZPRUEBA:SMARTFORMS_TF64C, vamos a utilizar dos mòdulos de funciòn para ejecutarlo Primero la funciòn SSF:FUNCTION_MODULE_NAME, para averiguar el nombre de la funciòn SAP que ejecuta el formulario.
El nombre de la funciòn lo almacenamos en la variable V_NOMBRE_FORM tal como vemos en el siguiente còdigo.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formane = 'ZFORMULARIO_PRUEBA_TF64C'
IMPORTING
fm_name = v_nombre_form
EXCEPTIONS
no_form = 1
no_function_mòdule = 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.
Luego ejecutaremos la funciòn cuyo nombre contiene la variable V_NOMBRE_FORM, pasàndole como paràmetro de entrada/salida la tabla interna de usuarios TI_USUARIOS que obtuvimos de la tabla base de datos ZTABLA_USUARIOS en la subrutina SELEECCION_DATOS.
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.
"En las secciones EXPORTINGS y TABLES de la funciòn contenida en la variable V_NOMBRE_FORM es donde se especifican todos los paràmetros que enviaremos al formulario".
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Acosta Acosta, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Acosta Acosta
Profesión: Ingeniero de Sistemas - Ecuador - Legajo: TF64C
✒️Autor de: 238 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP SD Nivel Avanzado
- Carrera Consultor en SAP SD Nivel Inicial
- Máster ABAP for HANA
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Profesional de ingeniería de sistemas en computación e informática, con experiencia en la implantación y soporte de proyectos informáticos para empresas del sector industrial y financiero.
Certificación Académica de Miguel Acosta