¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo crear un archivo ZIP lleno de PDFs usando OData

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 8 Vistas
0
Cargando...

Introducción


Hello friends ,

Recientemente recibí una solicitud para obtener múltiples PDFs del servicio que ya se estaba utilizando, y ya estaba utilizando el método 'GET_STREAM' para devolver un solo PDF. Ante esta solicitud, la solución más rápida y útil que se me ocurrió fue ¿por qué no agregar múltiples PDFs en un solo archivo ZIP y aquí estamos.

Les mostraré cómo crear un archivo ZIP lleno de PDFs usando OData.

Escenario


Utilizaremos el método 'GET_STREAM' de OData para obtener un solo archivo ZIP lleno de PDFs que crearemos a partir de Adobeform.

Requisitos previos:



  1. Conocimiento básico sobre Adobeform

  2. Conocimiento básico sobre OData

  3. Conocimiento básico sobre el uso de SAP Gateway


Procedimiento paso a paso:



  1. Crear el servicio Odata y redefinir el método 'GET_STREAM'

  2. Crear un archivo ZIP y llenarlo con PDFs

  3. Registrar el servicio OData y probarlo desde SAP Gateway


PASO 1:


Primero necesitamos crear nuestro servicio ODATA. Ve a SEGW y crea un proyecto OData.

Crea un ENTITY_TYPE según tus necesidades. No olvides elegir tu entidad como Media .


Imagen 1 - Generando Servicio, Tipos de Entidades


Ahora genera los artefactos en tiempo de ejecución y luego para redefinir el método 'GET_STREAM', ve a la sección DPC_EXT .


Imagen 2 - Redefinir el Método GET_STREAM



PASO 2:


Ahora hagamos lo que mejor sabemos, CODIFICAR . Para obtener un código más fácil de leer, prefiero usar Funciones. Estas son;

1. ' SO_PROFORMA_ZIP ' donde creo un archivo ZIP y lo convierto en una variable xstring

2. ' SO_GET_PDF_VALUE ' donde obtengo PDFs como xstring para agregar al archivo ZIP

3. ' SO_PROFORMA_GET_DATA ' donde obtengo mis datos para llenar los PDFs

En ' SO_GET_PDF_VALUE ' Función, estoy creando los PDFs y obteniendo sus valores xstring.
FUNCTION so_get_pdf_value.
*"----------------------------------------------------------------------
*"*"Interfaz local:
*"  IMPORTING
*"     VALUE(IV_VBELN) TYPE  VBELN
*"  EXPORTING
*"     VALUE(EV_VALUE) TYPE  FPCONTENT
*"----------------------------------------------------------------------

  DATA: ls_printout        TYPE so_proforma_st5,
        ls_fp_outputparams TYPE sfpoutputparams,
        lv_form_name       TYPE fpname,
        lv_fm_name         TYPE rs38l_fnam,
        ls_fp_docparams    TYPE sfpdocparams,
        ls_formoutput      TYPE    
            
Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?