Combinar / Concatenar PDFs SAP ABAP.

A帽ado c贸digo de una rutina que permite Combinar Concatenar PDFs dos ficheros PDF en SAP ABAP.

Situaci贸n:

Se genera un fichero PDF en el directorio con factura, necesitamos que en ese PDF a parte de la factura tambi茅n est茅 a rengl贸n seguido el Albar谩n, pues debe quedar un 煤nico fichero que recibir谩 el destinatario con todos los documentos.

PDF.1 Est谩 alojado en un directorio de AL11.

PDF.2 Es un anexo (Business Document) de una Entrega.

Tenemos que conseguir tener ambos ficheros en tablas internas y convertir a formato XSTRING, con este formato podremos usar la clase CL_RSPO_PDF_MERGE la cual nos permitir谩 combinarlos, solo hay que ir a帽adiendo documentos con el m茅todo add_document y una vez est茅n todos usar el m茅todo merge_document.

En el tratamiento de ficheros es muy importante el formato de las tablas internas donde se vuelquen.

Para recuperar el fichero de la Entrega usaremos la funci贸n ARCHIVOBJECT_GET_TABLE que nos permitir谩 obtenerlo en binario dentro de una tabla interna lo cual nos obliga a usar la funci贸n SCMS_BINARY_TO_XSTRING para convertir binario a XSTRING necesario para el uso de la clase/m茅todos.

El segundo fichero lo tenemos en el servidor por lo que lo recuperaremos a trav茅s de un OPEN DATASET, importante utilizar la sentencia FOR INPUT IN BINARY MODE MESSAGE para traerlo al formato correcto.

Una vez lo ficheros en tablas es cuesti贸n de usar los m茅todos ADD_DOCUMENT para ir adicionando los documentos y una vez tenemos todos los documentos a帽adidos usamos MERGE_DOCUMENTS para combinarlos y que nos quede un fichero 煤nico con todos los anexos.

He subido un c贸digo de ejemplo para que se puedan ver las declaraciones y el tratamiento.

Combinar Concatenar PDFs SAP ABAP.

Adjunto rutina.  Pdf_merged_rutina

CL_RSPO_PDF_MERGE Combinar Concatenar PDFs SAP ABAP

Para m谩s art铆culos de inter茅s sobre SAP visita:
https://setevalapinsap.com

Enlace de inter茅s sobre este tema:
https://answers.sap.com/questions/10623366/how-to-merge-archived-pdf-files-in-one-file.html

Espero que os sirva saludos!

Etiquetas:, ,

A帽adir un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada.