✒️ABAP La conversión de un Smartform a PDF
ABAP La conversión de un Smartform a PDF
CONVERTIR SMARTFORM A PDFT
Para convertir un formulario SMARTFORM en un archivo PDF:
En el programa impresor hay que declarar las variables estructuras y tablas internas con las que trabajamos.
Estructuras completas
DATA: wa_control_parameters TYPE ssfctrlop,
wa_output_options TYPE ssfcompop,
wa_return TYPE ssfcrescl,
otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,
intab TYPE soli_tab,
objbin TYPE solix_tab,
wa_intab TYPE LINE OF soli_tab,
wa_objbin TYPE LINE OF solix_tab,
objpack TYPE STANDARD TABLE OF sopcklsti1 WITH HEADER LINE.
Modificamos tres parámetros
wa_control_parameters-getotf = ‘X’. “retorna tabla en otf, sin imprimir, visualizar
wa_control_parameters-no_dialog = ‘X’. “Sin dialogo
wa_output_options-tdnoprev = ‘X’. “sin visualización de impresión
Luego ejecutamos la función del SMARTFORM ustilizando los parámetros y almacenando la salida en una tabla.
CALL FUNCION v_nombre_form
EXPORTIN
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
internale_error =1
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
otfdata[] = wa_return-otfdata[].
ENDIF.
Pasamos el contenido de otfdata a intab
LOOP AT otfdata.
wa_intab = otfdata
APPEND wa_intab TO intab.
CLEAR wa_intab.
ENDLOOP.
CALL FUNCTION ‘SX_OBJECT_CONVERT_OTF_PDF’
EXPORTING
format_src = ‘OTF’
format_dst = ‘PDF’
devtype = ‘LOCL’
CHANGING
transfer_bin = objpack-transf_bin
context_txt = intab
contect_bin = objbin
objhead = intab
len = objpack-doc_size
EXCEPTIONS
err_conve_failed = 1
OTHERS = 2.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
filename = ‘E: ARCHIVOPDF.PDF’
filetype = ‘BIN’
CHANGING
data_tab = objbin[]
EXCEPTIONS
…
…
Otra forma es enviar al SPOOL el formulario generando un numero de orden de spool, luego ejecutamos el programa RSTXPDFT4 introducimos en la pantalla de selección el número de orden de spool y tildamos download de fichero pdf y la ruta y el nombre del archivo pdf.
 
 
 
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