🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 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

CONVERSION DE UN SMARTFORM A PDF

Para ello modificarmeos el programa impresor del formulario smartform, con una serie de pasos muy faciles de realizar. cabe destacar que este requerimiento es muy solicitado en los entornos de trabajo de SAP debido a la gran protabilidad de los documentos PDF.

Pasos

1. Ir al programa impresor zprueba_smartforms y declaramos las variables estructuras y tablas internas,

2. dentro de la subrutina invocar smartform ejecutamos la funcion ssf_function_name con el nombre del formulario smartform y nos devolvera la funcion del smartform

3. Configurar la salida setenado tres parametros de la misma que son:

getotf obtenr la salida en formato otf

no_dialog para que no se tenga dialogo

tdnoprev visualizacion de impresion no permitida

4. ejecucion de la funcion del smartform utilizando las estructuras de configuracion de la salida que completamos antes y la estructura wa_return almacenara la salida del smartform en formato otf

5. Completamos la tabla otfdata con la salida en otf del smartform

otfdata[] = wa_return-otfdata[].

6. Completamos la tabla intab

loop at otfdata

........

endloop

7. ejecucion de la funcion SX_OBJECT_CONVERT_OTF_PDF

convertir otf a pdf el resultado se alamcena en la tabla objbin[]

ejecutamos y da los bytes transferidos code page 0000 que significa ok

Existe otra forma de convertir a pdf, consiste en enviar al spool la impresion del formualrio smartform asi generamos un numero de orden de spool luego ejecutamos el programa estandar RSTXPDFT4 introducimos en la pantalla de seleccion el numero de la orden de spool luego tildamos la opcion hacer download del fichero pdf e introducios la ruta y el nombre del archivo pdf que generaremos luego de introducir estos datos obtenemos el archivo en formato pdf.

*&---------------------------------------------------------------------* *& Report ZPRUEBA_SMARTFORMS_PDF *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT zprueba_smartforms_pdf. * Nombre del modulo de funciones del formulario. DATA: v_nombre_form(30) TYPE c. DATA: ti_usuarios TYPE STANDARD TABLE OF zusuarios. *Previamente creamos en el Diccionario de datos la estructura ZUSUARIOS *con los mismos campos de ZTABLA_USUARIOS a excepción del Mandante 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. * ---------------------------------------------------------------------* START-OF-SELECTION. * ---------------------------------------------------------------------* * Seleccionamos los datos de la tabla de usuarios PERFORM cargar_datos. * Llamada al formulario Smartform PERFORM invocar_smartform. *&---------------------------------------------------------------------* *& Form CARGAR_DATOS *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM cargar_datos . CLEAR ti_usuarios. REFRESH ti_usuarios. SELECT dni nombre_ape estado_usu direccion codigo_postal f_nacimiento estado_civil FROM ztabla_usuarios INTO CORRESPONDING FIELDS OF TABLE ti_usuarios. ENDFORM. " CARGAR_DATOS *&---------------------------------------------------------------------* *& Form INVOCAR_SMARTFORM *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM invocar_smartform . IF NOT ti_usuarios[] IS INITIAL. * Inicializar el formulario. 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 generación del formulario Smartform wa_control_parameters-getotf = 'X'. "Retorno tab.OTF. Sin imprimir, visualizar o enviar por fax wa_control_parameters-no_dialog = 'X'. "Sin diálogo wa_output_options-tdnoprev = 'X'. "Visualización de impresión no permitida * Ejecutamos la función que imprime el formulario smartform 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. otfdata[] = wa_return-otfdata[]. ENDIF. * En la tabla otfdata nos queda guardado el formulario en formato OTF, * sólo resta convertir el OTF en PDF LOOP AT otfdata. wa_intab = otfdata. APPEND wa_intab TO intab. CLEAR wa_intab. ENDLOOP. * Convertimos el OTF en PDF CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF' EXPORTING format_src = 'OTF' format_dst = 'PDF' devtype = 'LOCL' CHANGING transfer_bin = objpack-transf_bin content_txt = intab content_bin = objbin objhead = intab len = objpack-doc_size EXCEPTIONS err_conv_failed = 1 OTHERS = 2. * En la tabla objbin nos queda guardado el PDF, para salvarlo en una archivo local * de la PC, utilizamos el método GUI_DOWNLOAD CALL METHOD cl_gui_frontend_services=>gui_download EXPORTING filename = 'E: ARCHIVO_SALIDA9.pdf' filetype = 'BIN' CHANGING data_tab = 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 Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


Oscar Guillermo Rodriguez Villate

Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P

✒️Autor de: 103 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Certificación Académica de Oscar Rodriguez

✒️+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 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

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

Acceder a esta publicación

Creado y Compartido por: Jose Angel Valles Bustos

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

SAP Master

Pasos para convertir un smartform a pdf: Paso1: Declarar las variables, estructuras y tablas internas con la que vamos a trabajar. Paso2: Dentro de la subrutina invocar smartform ejecutamos la función "SSF_FUNCTION_MODULE_NAME" con el nombre del formulario smartform y nos dvuelve el nombre de la función. Paso3: Configuramos la salida seteando tres parametros que son: getotf para obtener la salida en formato Otf. no_dialog para que no haya dialogo con el usuario y tdnoprev para que la visualización de la impresión no se permita. Paso4: En la estructura wa_return se almacena la salida del smartform en formato otf. Completamos la tabla otfdata con la salida tf del smartform. Pasamos el contenido de la tabla...

Acceder a esta publicación

Creado y Compartido por: Maria Ysabel Colina De Magdaleno

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

SAP Master

Conversion de un SMARTFORM a PDF: ZPRUEBA_SMARTFORMS. Funcion SSF_FUNCTION_MODULE_NAME con el nombre del formulario smartform y nos devuelve el nombre de la funcion del smartform. Luego configuramos la salida seteando los parametros de salida GET_OTF, para obtener la salida en formato OTF, NOT_DAIALOG, para no tener dialogo con el usuario y TD_NOT_PREV para que la visualizacion de la impresion no se permita. Funcion SX_OBJECT_CONVERT_OTF_PDF para convertir el formato OTF a formato PDF. Mediante el metodo GUI_DOWNLOAD descargamos el formulario a la PC. Se puede convertir el formulario a PDF enviando la impresion al formulario, generando una orden de spool, mediante el programa RSTXPDFT4 con el nro de la orden de spool...

Acceder a esta publicación

Creado y Compartido por: Jose Ignacio Rodini

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

SAP Master

Paso 1: Declaración de Variables, Estructuras y Tablas Internas Paso 2: Ejecución de la Función SSF_FUNCTION_MODULE_NAME en la Rutina de Inicialización del Formulario para que nos devuelva el Nombre de la Función de Nuestro Smartform en la variable v_nombre_func. Paso 3: Configuración de la Salida seteando 3 parámetros wa_control_parameters-getotf = 'X' "Retorno tab. OTF. Sin Imprimir, Visualizar o Envío por Fax wa_control_parameters-no_dialog = 'X' "Sin Diálogo con el Usuario wa_output_options-tdnoprev = 'X' " Visualización No Permitida Paso 4: Ejecución de la Función de Nuestro Smartform utilizando...

Acceder a esta publicación

Creado y Compartido por: Victor Norberto Levi

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

SAP Master

CONVERTIR A PDF Primera manera de convertir a PDF. Usando en nuestro programa standar de carga de datos la función 'SX_OBJECT_CONVERT_OTF_PDF' La otra forma de generar un PDF de nuestro smartform es la siguiente: Envíamos al SPOOL nuestra impresión del formulario Smartform, de esta manera estaremos generando un número de orden de spool, luego deberemos de ejecutar el programa estandar RSTXPDFT4, INTRODUCIENDO EL NUMERO DE LA ORDEN DE SPOOL Y ESPECIFICAMOS NOMBRE Y RUTA DEL PDF, DESPUES DE ESTO HABREMOS OBTENIDO NUESTRO FORMULARIO EN FORMATO PDF

Acceder a esta publicación

Creado y Compartido por: Gustavo Alberto Ramirez Franco

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

SAP Master

CONVERSIÓN DE UN FORMULARIO A PDF. PASO 1: Declarar todas las variables, tablas y estructuras que vamos a utilizar. PASO 2: Invocar a la función SSF_FUNCTION_MODULE_NAME con el nombre del formulario y nos retorna el modulo de función del formulario. PASO 3: Configuración de los parametros de salida, seteamos tres parametros. GETOTF = 'X' NO_DIALOG = 'X' TDNOPREV = 'X' PASO 4: Ejecución de la función del formulario. PASO 5: Completar la tabla OTFDATA. PASO 6: Completamos la tabla INTAB. PASO 7 Ejecutar la función SX_OBJECT_CONVERT_OTF_PDF esta función convierte el formulario de OTF a PDF esta conversión se almacena en la tabla OBJBIN. PASO 7: Ejecución del metodo GUI_DOWNLOAD...

Acceder a esta publicación

Creado y Compartido por: Juan Santamaria Borja

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

SAP Master

Para guardar el smartform com PDF Opción 1 * CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' * CALL FUNCTION v_nombre_form * CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF' Obtenemos el formulario en formato OTF y lo convertimos a PDF con esta función. * CALL METHODO 'GUI_DOWLOAD' Para guardar el archivo PDF Opción 2 * Enviar impresión del smartform al SPOOL. * RSTXPDFT4 Con el número de la orden de spool y la ruta en la que lo guardaremos

Acceder a esta publicación

Creado y Compartido por: Helen Silva Ruiz

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

SAP Master

Convertir un smartforms a PDF para ellos se modifica el programa impresor del formulario smartform, con una serie de pasos muy faciles de realizar. 1) declarar variables, estructuras y tablas internas a utilizar 2) captura del nombre del formulario ssf_function_module_name 3)configuracion de salida getotf no_dialog tdnoprev

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

 


 

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