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

 X 

✒️ABAP La conversión de un Smartform a PDF

ABAP La conversión de un Smartform a PDF

ABAP La conversión de un Smartform a PDF

CONVERTING A SMARTFORM TO PDF

  • STEP 1: Declaration of variables, structures, and internal tables we will work with.

* Nombre del modulo de funciones del formulario.
DATA: v_nombre_form(30) TYPE c.

DATA: ti_usuarios TYPE STANDARD TABLE OF zusuarios.

DATA: wa_control_parameters TYPE ssfctrlop,
wa_output_options TYPE ssfcompop,
wa_return TYPE ssfcrescl,
ti_otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,
ti_intab TYPE soli_tab,
ti_objbin TYPE solix_tab,
wa_intab TYPE LINE OF soli_tab,
wa_objbin TYPE LINE OF solix_tab,
ti_objpack TYPE STANDARD TABLE OF sopcklsti1 WITH HEADER LINE.

  • STEP 2: Within the subroutine INVOCAR_SMARTFORM, we execute the function SSF_FUNCTION_MODULE_NAME with the name of the Smartform, which returns the function name of the Smartform.

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.

  • STEP 3: Configuration of the output by setting three parameters:

* Configuramos la salida del formulario Smartform
wa_control_parameters-getotf = 'X'. "Retorno tab OTF Sin imprimir, visualizar
wa_control_parameters-no_dialog = 'X'. "Sin diálogo
wa_output_options-tdnoprev = 'X'. "Visualización de impresión no permitida

  • STEP 4: Execution of the Smartform function using the output configuration structures filled in earlier, and also the structure wa_return, which stores the Smartform output in OTF format.

* Enviar datos al formulario e imprimirlo
CALL FUNCTION v_nombre_form
EXPORTING
output_options = wa_output_options
control_parameters = wa_control_parameters
IMPORTING
job_output_info = wa_return
TABLES
ti_usuarios = ti_usuarios
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.

  • STEP 5: Populating the OTFDATA table with the Smartform output in OTF format.

IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
ti_otfdata[] = wa_return-otfdata[].
ENDIF.

  • STEP 6: Copying the content of the OTFDATA table to the INTAB table.

* En la tabla OTFDATA nos queda guardado el formulario en formato OTF
* Solo resta convertir el OTF a PDF
LOOP AT ti_otfdata.
wa_intab = ti_otfdata.
APPEND wa_intab TO ti_intab.
CLEAR wa_intab.
ENDLOOP.

  • STEP 7: Execution of the function SX_OBJECT_CONVERT_OTF_PDF to convert the OTF format to PDF. The conversion result is stored in the objbin table.

* Convertir el OTF a PDF
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = 'OTF'
format_dst = 'PDF'
CHANGING
transfer_bin = ti_objpack-transf_bin
content_txt = ti_intab
content_bin = ti_objbin
objhead = ti_intab
len = ti_objpack-doc_size
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

  • STEP 8: Execution of the GUI_DOWNLOAD method to download the PDF to our PC.

* En la tabla objbin nos queda guardado el PDF para salvarlo en un archivo local
* utilizando el metodo GUI_DOWNLOAD
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = 'C:Usersi0604226Desktopsalida.PDF'
filetype = 'BIN'
CHANGING
data_tab = ti_objbin[]
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

  • Run our program.

There is another way to convert our Smartform into PDF format, which involves sending the Smartform printout to the SPOOL. This will generate a spool order number, then we must execute the standard program RSTXPDFT4, enter the spool order number in the selection screen, check the option to download PDF file, and enter the path and name of the PDF file to be generated. Finally, after entering this data, we will have obtained our Smartform in PDF format.

E.g

*&---------------------------------------------------------------------*
*& Report ZTEST_ABAP_JEGA_I_2
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest_abap_jega_i_2.

* Nombre del modulo de funciones del formulario.
DATA: v_nombre_form(30) TYPE c.

DATA: ti_usuarios TYPE STANDARD TABLE OF zusuarios.

DATA: wa_control_parameters TYPE ssfctrlop,
wa_output_options TYPE ssfcompop,
wa_return TYPE ssfcrescl,
ti_otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,
ti_intab TYPE soli_tab,
ti_objbin TYPE solix_tab,
wa_intab TYPE LINE OF soli_tab,
wa_objbin TYPE LINE OF solix_tab,
ti_objpack TYPE STANDARD TABLE OF sopcklsti1 WITH HEADER LINE.

* ---------------------------------------------------------------------*
START-OF-SELECTION.
* ---------------------------------------------------------------------*
* Seleccionamos los datos de la tabla de usuarios
PERFORM seleccionar_datos.

* Llamada al formulario Smartform
PERFORM invocar_smartform.

*&---------------------------------------------------------------------*
*& Form SELECCIONAR_DATOS
*&---------------------------------------------------------------------*
*& Cargar datos en la tabla interna
*&---------------------------------------------------------------------*
FORM seleccionar_datos .

CLEAR ti_usuarios.
REFRESH ti_usuarios.

SELECT dni nombre_ape estado_usu direccion
FROM ztabla_usuarios
INTO CORRESPONDING FIELDS OF TABLE ti_usuarios.

ENDFORM. " SELECCIONAR_DATOS

*&---------------------------------------------------------------------*
*& Form INVOCAR_SMARTFORM
*&---------------------------------------------------------------------*
*& Inicializar a imprimir smartform
*&---------------------------------------------------------------------*
FORM invocar_smartform .

IF NOT ti_usuarios[] IS INITIAL.

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.

* Configuramos la salida del formulario Smartform
wa_control_parameters-getotf = 'X'. "Retorno tab OTF Sin imprimir, visualizar
wa_control_parameters-no_dialog = 'X'. "Sin diálogo
wa_output_options-tdnoprev = 'X'. "Visualización de impresión no permitida

* Enviar datos al formulario e imprimirlo
CALL FUNCTION v_nombre_form
EXPORTING
output_options = wa_output_options
control_parameters = wa_control_parameters
IMPORTING
job_output_info = wa_return
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.
ELSE.
ti_otfdata[] = wa_return-otfdata[].
ENDIF.

* En la tabla OTFDATA nos queda guardado el formulario en formato OTF
* Solo resta convertir el OTF a PDF
LOOP AT ti_otfdata.
wa_intab = ti_otfdata.
APPEND wa_intab TO ti_intab.
CLEAR wa_intab.
ENDLOOP.

* Convertir el OTF a PDF
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = 'OTF'
format_dst = 'PDF'
CHANGING
transfer_bin = ti_objpack-transf_bin
content_txt = ti_intab
content_bin = ti_objbin
objhead = ti_intab
len = ti_objpack-doc_size
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

* En la tabla objbin nos queda guardado el PDF para salvarlo en un archivo local
* utilizando el metodo GUI_DOWNLOAD
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = 'C:Usersi0604226Desktopsalida.PDF'
filetype = 'BIN'
CHANGING
data_tab = ti_objbin[]
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
not_supported_by_gui = 22
error_no_gui = 23
OTHERS = 24.

IF sy-subrc <> 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


 

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computaci?n - Espa?a - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computaci?n con 8 a?os de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "La conversión de un Smartform a PDF" de la mano de nuestros alumnos.

SAP Master

Lección 11: Video - Conversión de un SmartForm a PDF Pasos para hacer la conversión a PDF: Declaración de variables. Ejecución de la función SSF_FUNCTION_MODULE_NAME. Configuración de la salida. Ejecución de la función del Smartform. Completamos la tabla otfdata. Completamos la tabla intab. Ejecución de la función SX_OBJET_CONVERT_OTF_PDF. Ejecución del método GUI_DOWNLOAD.

Acceder a esta publicación

Creado y Compartido por: Calixto Guti?rrez

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

SAP Master


I.11.1. Conversión de un SmartForm a PDF La conversión de un SmartForm a un formato PDF es un requerimiento muy solicitado en los entornos de trabajo de SAP, debido a la gran portabilidad de los documentos PDF. Un documento PDF (Portable Document Format) es un formato de almacenamiento de documentos digitales independiente de plataformas de software o hardware. Este formato es de tipo compuesto (imagen vectorial, mapa de bits y texto). Suele ser utilizado como formato estándar cuando se genera un archivo en el sistema que debe ser enviado por e-mail, o en los casos donde se desea documentar cierta información y se adjunta a un documento propio de SAP. En general, los pasos a seguir para realizar la conversión...

Acceder a esta publicación

Creado y Compartido por: Gianfranco Pasqua Indiano / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Master

CONVERTIR UN SMARTFORM A PDF. Ejecutar el programa impresor Paso 1 Declarar variables, tablas y estructuras internas con las que se va a trabajar. Paso 2 Ejecución de la función SSF_FUNCTION_MODULE_NAME. Dentro de la subrutina invocar smartform. *Inicializar el formulario. Paso 3 Configuración de la salida. * Configuramos la generación del formulario Smartform. Paso 4 Ejecución de la función del smartform. *Ejecutamos la función que imprime el formulario smartform. Paso 5 Completar la tabla otfdata. **otfdata[] = wa_return-otfdata[]. Paso 6 Completamos la tabla intab Paso 7 Ejecución de la función SX_OBJECT_CONVERT_OTF_PDF. El resultado de la conversión se almacenará...

Acceder a esta publicación

Creado y Compartido por: Walter Giovanny Montoya Garc?a

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

SAP Expert


CONVERSIÒN DE UN SMARTFORM A PDF Como convertir un formulario smartform a PDF.- con el programa impresor ZPRUEBA_SMARTFORM_TF64C Primer paso: Declarar las variables y estructuras con las que vamos a trabajar Dentro de la subrutina invocar smartform ejecutamos la funciòn SSF_FUNCTION_MODULE_MAME con el nombre del formulario smartform y nos devolverà el nombre de la funciòn del smartform, luego vamos a configurar la salida seteando 3 paràmetros de la misma que son: wa_control_parameters-getotf .- Retorno tab.OTF. Sin imprimir, visualizar wa_control_parameters-np_dialog.- Sin diàlogo wa_control_parameters-tdnoprev.- Visualizaciòn de impresiòn no permitida. Luego se ejecuta la funciòn...

Acceder a esta publicación

Creado y Compartido por: Miguel Angel Acosta Acosta / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


LA CONVERSIÓN DE UN SMARTFORM A PDF Primeramente utilizamos el programa impresor y realizamos los siguientes pasos: PASO 1: Declaración de variables, estructuras y tablas internas con las que vamos a trabajar. PASO 2: Dentro de la subrutina INVOCAR_SMARTFORM ejecutamos la función SSF_FUNCTION_MODULE NAME con el nombre del formulario Smartform y nos devolverá el nombre de la función del smartform. PASO 3: Configuración de la salida seteando 3 parámetros de la misma que son: Getotf para obtener la salida en formato otf. no_dialog para que no haya dialogo con el usuario. tdnoprev para que la visualización de la impresión no se permita. PASO 4: Ejecución...

Acceder a esta publicación

Creado y Compartido por: Ducelvis Lolimar Arcia Cova / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


Conversión de un Smartform a PDF Se puede hacer de 2 maneras: Modificando el código del programa impresor. Enviar al SPOOL la impresión del formulario SMARTFORM (se generará un número de orden SPOOL) luego ejecutamos el programa estándar RSTXPDFT4 introduciendo en la pantalla de selección el número de orden SPOOL y colocamos la ruta y nombre del archivo que generaremos.

Acceder a esta publicación

Creado y Compartido por: Jos? Luis Zevallos Mamani

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

SAP Master

Lección 11: Converisón de un smartform a PDF La conversión a formato PDF, se realiza mediante el programa impresor. Los pasos que hay que hacer son los siguientes: Declaración de variables, estructuras y tablas internas con las que trabajar. Ejecución de la función “SSF_FUNCTION_MODULE_NAME” con el nombre de la función Smartform. Configuración de la salida resetenado tres parámetros, que son: - Getotf, para obtener la salida en formato OTF. - No_dialog, para que no se establezca diálogo con el usuario. - Tdnoprev, para que la visualización de la impresión no se permita. Ejecución de la función del...

Acceder a esta publicación

Creado y Compartido por: Felipe Roca Molina

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

SAP Senior

Lección: Video - Conversión de un SmartForm a PDF Existe otra forma de convertir un formulario smartform al formato PDF , esta consiste en enviar al spool la impresión del formulario smartform, de esta forma estaremos generando un número de orden de spool, luego deberemos ejecutar el programa estandar rstxpdft4 introduciendo en la pantalla de selección el número de la orden de spool, luego tildamos la opción acer dowloand de ficheros pdf e introducimos la ruta y el nombre del archivo pdf que generaremos , finalmente luego de introducir estos datos habremos obtenido nuestro smartform en formato pdf. Para ello utilizamos el programa impresor zprueba_smartforms: 1er paso: declarar las variables,...

Acceder a esta publicación

Creado y Compartido por: Aida Cortina Fernandez

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

SAP Master

LA CONVERSACIÓN DE UN FORMULARIO SMARTFORM A PDF. 1-La declaración de variables Lo que vamos a hacer como primer paso es declarar las variables, estructuras y tablas internas con las que vamos a trabajar. 2-La ejecución del módulo de funciones SS_FUNCTION_MODULE_NAME Ejecutamos el modulo de funciones SS_FUNCTION_MODULE_NAME con el nombre del formulario SmartForm y nos devuelve el nombre del módulos de funciones que genera el SmartForm. 3-La configuración de la salida Vamos a configurar la salida asignando tres parámetros de la misma, que son getotf para obtener la salida en formato OTF, no_dialog para que no haya diálogo con el usuario y tdnoprev para que la visualizacion de la impresión...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

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

SAP Expert


1 | Video En este video vamos a aprender a convertir un formulario Smartform en un PDF, ya que es muy solicitado actualmente en el ámbito laboral, para ello vamos a utilizar el programa impresor zprueba_smartforms con el que venimos trabajando. Lo que vamos a realizar primero será declarar las variables, estructuras y tablas internas con las que vamos a trabajar Dentro de la subrutina, invocar smartform ejecutamos la función SSF_FUNCTION_MODULE_NAME con el nombre del formulario Smartform y nos devolverá el nombre de la función del Smartform, Luego vamos a configurar la salida registrando 3 parámetros de la misma que son: GETOTF: Para obtener la salida en formato OTF...

Acceder a esta publicación

Creado y Compartido por: Alex Francisco Lemos Collazos

 


 

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