PDA

Ver la Versión Completa : Tip de la semana - Como pasar el resultado de un report a pdf en sap


tracer
09/05/06, 07:54:49
A raíz de un mensaje enviado por Emmanuel en el que nos comentaba un programa estandar para pasar resultados de reports de sap a pdf he decidido hacer este post.

El report en cuestión es el RSTXPDFT4 y con el se consigue pasar cualquier oden spool generada a formato pdf de Adobe Acrobat.

http://www.mundosap.com/foro/images/pdf_icon.jpg

Para los profanos comentaros que las ordenes spool son números de 10 dígitos que identifican el resultado de un report cuando este se lanza en proceso de fondo.

De esta manera podemos guardar el resultado de un programa en una orden spool ejecutándolo en fondo y luego usar este programa para pasar este resultado a formato pdf. Su funcionamiento es muy sencillo. Solo tienes que introducir el número de la orden spool que podrás obtener en la transacción SP01 o SP02 e introducirlo en el programa RSTXPDFT4 junto con la ruta en donde desea almacenar el fichero.

http://www.mundosap.com/foro/images/report.jpg

Se ve exactamente igual de como se vería en la orden spool.

También creo recordar que existe otra procedimiento definiendo en sap una impresora a pdf. Con este método iríamos a imprimir el report pero definiríamos como destino de impresión esta impresora pdf el resultado sería la generación de un pdf en lugar de la impresión del documento.

Bueno espero que este tip os sea de utilidad, un saludo a todo el foro de sap :D .

Creative
10/05/06, 18:48:27
Este tip me saca de muchos problemas que tenia :)

alozars
16/05/06, 14:46:09
Hola!. Nosotros encontramos otra que tiene la ventaja de mostrar un explorador para seleccionar la carpeta en la que se va a generar el PDF...

google_adsense2

- Habria que instalar en el PC la impresiora CutePDF Writer (freeware)

- En SAP, cuando se vaya a imprimir seleccionar como impresion local LOCL y despues seleciconar esa impresora...

Gorka
14/07/06, 10:11:50
Os dejo un report desde el cual se puede bajar a PDF un mensaje de un pedido de venta, una entrega de venta, una factura de venta o un pedido de compra, sin necesidad de saber e ir a buscar el nº de orden spool, sino directamente introduciendo el número de documento, la clase de mensaje que queremos guardar en PDF y el path. El nombre del fichero es la concatenacion de la clase de mensaje y el número de documento.

Espero que os sirva a todos, no es por echarme flores, pero creo que es mucho mas practico que el programa estandar de SAP, ya que el usuario normalmente trabaja con números de pedido, facturas, etc, y no con números de ordenes spool.

Para cualquier duda aqui me teneis.

Saludos,

Gorka

tracer
14/07/06, 10:13:41
Gracias Gorka, en seguida lo pruebo.

Un saludo a todo el foro de sap :) .

Gorka
14/07/06, 10:56:57
Tracer, si quieres mas detalle de lo que hace te lo explico, aunque está más o menos documentado en el mismo programa. Hice el programa utilizando las funciones del programa estándar al que haces referencia aqui.

Ahora lo que estoy intentando es que además de generar el PDF poder enviarlo por email a un cliente o un proveedor, pero no se como se puede enviar documentos desde SAP por mail teniendo la direccion de correo electronico en el maestro de clientes o de proveedores.

¿Conoces algún report o alguna funcion que me pueda ayudar? ¿Hay que hacer algo a nivel de módulo básico?

Quiero hacer esto mismo para bajar un formulario a un documento de Word o con formato RTF, ¿conoces alguna función o algún report?

Gracias de antemano.

Saludos,

Gorka

Gorka
18/07/06, 09:36:49
¿Como te han ido las pruebas?
¿Puedes decirme algo de lo que te consulte?
Saludos,
Gorka

tracer
19/07/06, 07:56:30
Hola Gorka,

Perdona pero últimamente ando un poco liado en el proyecto y estre pitos y flautas no he podido probarlo todavía :o, pero te prometo que lo miraré :D .

Un saludo :)

Carlos J. Ortega González
19/07/06, 14:54:53
Hola Gorka,

Puedes ver en este foro el post "Envio de Email atraves de Outlook", en realidad la función que te presentan no solo es para outlook.


Saludos
CJ.

thorsven
17/08/06, 13:08:29
¿ Ay una manera de ver los archivos PDF en SAP ?

Existe la clase CL_GUI_PDF_VIEWER pero no consiguo utilizarla.

Aqui el programa que he escrito.

program ztst MESSAGE-ID zz LINE-SIZE 110 LINE-COUNT 64
NO STANDARD PAGE HEADING.

*&---------------------------------------------------------------------*
*& Modulpool ZLISTDOC *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*


INCLUDE ZLISTDOCTOP . "

data : control type ref to CL_GUI_CUSTOM_CONTAINER,
pdf type ref to CL_GUI_PDF_VIEWER.

start-of-selection.

call screen 1000.

*&---------------------------------------------------------------------*
*& Module INIT OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE INIT OUTPUT.

if control is initial.
create object control
exporting
container_name = 'CONTAINER'
EXCEPTIONS cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
IF sy-subrc NE 0.
MESSAGE e208(00)
WITH 'The control HTML_CONTAINER could not be created'.
ENDIF.

create object pdf
exporting
parent = control
NATIVE_TOOLBAR = 'X'
NATIVE_SCROLLBAR = 'X'
NATIVE_CONTEXT_MENU = 'X'
EXCEPTIONS cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4.
IF sy-subrc NE 0.
MESSAGE e208(00)
WITH 'The control HTML_CONTAINER could not be created'.
ENDIF.


call method pdf->OPEN_DOCUMENT
exporting
FILE = 'c:\temp\factura_0073000002.pdf'
EXCEPTIONS cntl_error = 1
cntl_system_error = 2.
IF sy-subrc NE 0.
MESSAGE e208(00)
WITH 'The control HTML_CONTAINER could not be created'.
ENDIF.

call method pdf->CREATE_TOOLBAR
exporting
close_button = 'X'
EXCEPTIONS cntl_error = 1
cntl_system_error = 2.
IF sy-subrc NE 0.
MESSAGE e208(00)
WITH 'The control HTML_CONTAINER could not be created'.
ENDIF.

endif.

ENDMODULE. " INIT OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_1000 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_1000 INPUT.

case sy-ucomm.
when 'BACK'.
leave to screen 0 .
endcase.

ENDMODULE. " USER_COMMAND_1000 INPUT

amanns
25/08/06, 18:43:27
Tracer

Es muy buena la transacción, solo me queda una duda, al generar un spool con mas de 100 hojas, me pregunta si quiero ejecutarlo en proceso de fondo al responder que si me genera un nuevo spool, como se puede hacer para que al momento de ejecutarlo en proceso de fondo, guarde el archivo en el servidor

Saludos
amanns

mgomez
20/09/06, 16:42:58
Puedo convertir una Orden de Comopra a este formato ¨??

lamosquita
25/10/06, 16:33:58
Hola ! soy muy inexperta en el tema , quisiera saber si puedo pasar el listado que emito en el ALV aun archivo en pDF.

MUchas Gracias

Gorka
26/10/06, 06:18:34
Se puede convertir a formato PDF tanto una orden de compra como un listado ALV. Primero hay que generar una orden spool imprimiendo el pedido de compra o el listado ALV sin salida inmediata (para no sacarlo tb en papel, hay que cuidar nuestros bosques), y posteriormente utilizar el programa RSTXPDFT4 para pasar la información de la orden spool a PDF.

Saludos,

Gorka

lamosquita
27/10/06, 13:24:46
hola ! pero no tengo la esa ventana de impresion, me dijieron que podria largar un roceso de fondo ,alguien sabe comolo hago? y otra pregunta no se como escribir un nuevo tema en el foro porque necesitaria saber como encriptar un archivo con el algoritmo MD5.
Gracias.

joau_fedipe
31/10/06, 15:11:02
Amigos, por favor si alguien sabe indicar como asigno una ayuda (matchcode) creada a la transacción MIGO?

Nuez
22/11/06, 22:14:29
Asumo que ya resolviste tu problemita pero de todas maneras ahi va...
Para enviar el mail usas la funcion: SO_NEW_DOCUMENT_ATT_SEND_API1
en el parametro RECEIVERS incluyes los correos que reciben, en tipo pones 'U'
Para convertir el PDF a documento adjunto llenas el parametro: CONTENTS_BIN usando la funcion WS_UPLOAD para convertir el archivo binario a tabla interna.

Suerte y gracias por el aporte anterior ;)

mmacias
04/12/06, 14:15:15
:D para la satisfacción de todos los usuarios imposibles jejeje gracias chicos. ;)

Andresf
21/02/07, 14:30:42
Hola a todos.

Si queréis ver los pdf dentro de SAP, debéis crearos la aplicación en el customizing desde Componentes multiaplicaciones >>> gestion de documentos >>> datos generales >>> definir aplicacion de estacion de trabajo, al definir aplicación en red, añadir la entrada %AUTO%, y enlazar los ficheros PDF que queráis a un registro info de documento y a su vez enlazar este a un objeto de negocio SAP. Así al pinchr desde un pedido de compra, elemnto PEP, material, etc.... en visualziar fichero veréis el PDF.

htiburon
23/02/07, 12:51:06
Os dejo un report desde el cual se puede bajar a PDF un mensaje de un pedido de venta, una entrega de venta, una factura de venta o un pedido de compra, sin necesidad de saber e ir a buscar el nº de orden spool, sino directamente introduciendo el número de documento, la clase de mensaje que queremos guardar en PDF y el path. El nombre del fichero es la concatenacion de la clase de mensaje y el número de documento.

Espero que os sirva a todos, no es por echarme flores, pero creo que es mucho mas practico que el programa estandar de SAP, ya que el usuario normalmente trabaja con números de pedido, facturas, etc, y no con números de ordenes spool.

Para cualquier duda aqui me teneis.

Saludos,

Gorka

Esto me interesa mucho, pero lamentablemente no soy programador SAP, sino usuario yo trabajo en el area de VD, que transaccion y que programa puedo utilizar para obtener esta informacion en PDF?, espero me ayuden porque me serviria un monton, gracias.

kabronet
23/03/07, 08:33:41
Hola!. Nosotros encontramos otra que tiene la ventaja de mostrar un explorador para seleccionar la carpeta en la que se va a generar el PDF...

google_adsense2

- Habria que instalar en el PC la impresiora CutePDF Writer (freeware)

- En SAP, cuando se vaya a imprimir seleccionar como impresion local LOCL y despues seleciconar esa impresora...
Tengo la impresora CUTE PDF Writer instalada en mi sistema y he probado a imprimir desde SAP utilizando LOCL pero el PDF que se crea sale totalmente en blanco. ¿Hay algún paso intermedio que he olvidado?

bisonye
27/03/07, 14:12:12
No hay paso intermedio, si la orden de spool tiene datos la impresion te debería salir bien. Si no el problema igual lo tienes en la impresora cute pdf.

Saludos

grisel
30/03/07, 18:15:05
Excelente el tip.
Alguien sabe como pasar un SAPscript o form (no spool) a un pdf??? o algun uso de las funciones CONVERT_OTF* ???

Gracias y saludos!

bmontes
16/04/07, 10:41:20
hay un post que tiene un archivo zip (para el tema de la impresion pdf) y no puedo bajarlo porque no tengo permisos????

Alguien puede decirme porque?

bisonye
16/04/07, 11:28:31
Excelente el tip.
Alguien sabe como pasar un SAPscript o form (no spool) a un pdf??? o algun uso de las funciones CONVERT_OTF* ???

Gracias y saludos!

Bueno no domino los sapscript pero si generan la orden de spool da igual que sean sapscript o smartform.

Comprueba que generan orden de spool y si es asi en este post creo que se dice como generarlos. Si no te aclaras pregunta.
Si no genera orden de spool lo siento pero no puedo ayudarte...

inspiron
07/11/07, 17:21:47
como lo haces si son más de 100 hojas ya que al lanzarlo de fondo genera un spool no descarga el resultado al directorio como pdf...

JMORENOMORENO
01/12/07, 17:18:59
He leido tu report y lo tengo implementado en desarrollo, pero no me funciona, te explico lo que he hecho he bajado tu report lo he activado , me presenta la pantalla de seleccion de documento pero veo que en el directorio que debiera dejar el documento no aparece nada
¿ Que estoy haciendo mal ?

Cafecito
21/01/08, 16:19:35
Pues es algo tan sencillo como que te instales una impresora Virtual, en mi caso tengo PrimoPDF (Freeware) y a la hora de imprimir en el menu de impresoras y faxes de Windows la pongas como predeterminada y listo, ahora todo lo que mandes a la impresora configurada como local en SAP te lo hara en PDF.

mcervantes
31/01/08, 18:08:51
Hola compañeros, buen dia...

Alguien sabe como se da de alta la impresora en sap para la generación de los archivos en PDF? y el proceso correspondiente para concluir la configuración para que los documentos Ordenes de Compra sean los que les otorguen la opción al usuario de elegir la impresora, les agradezco de antemano su apoyo y orientación al respecto.

Saludos

Mary

LAVR
15/04/08, 02:25:59
Cuando ejecuto el programa RSTXPDFT4, ¿cómo identifico él número del spool de impresión?

Gracias

Jesus
15/04/08, 09:09:36
Hola LAVR:

Entra en la tx. SP02 y ves tus ordenes de Spool. Mira el numero de la que necesitas y ya está.

Carlos J. Ortega González
22/04/08, 17:33:43
Aqui mando unas rutinas, esto recupera el número de spool, convierte el spool a PDF, abre el Outlook, y agrega el archivo a un mail.

Lo importante de esta rutina son las funciones utilizadas.


Saludos
CJOG ;)




*&---------------------------------------------------------------------*
*& Form OKCODE_CPDF
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM okcode_cpdf.
REFRESH i_rsporq.
CLEAR vc_user.
CONCATENATE 'ZSDSAPMV7' sy-uname(3) INTO vc_user.
CALL FUNCTION 'RSPO_FIND_SPOOL_REQUESTS'
EXPORTING
allclients = '410'
rq2name = vc_user "'ZSDSAPMV7CIP'
rqowner = sy-uname
TABLES
spoolrequests = i_rsporq.
IF i_rsporq[] IS INITIAL.
MESSAGE i998(sp01r)
WITH 'Es necesario mandar a imprimir previamente'.
ELSE.
IF s_kunnr-high NE space.
MESSAGE i532(ou) WITH text-m01.
sy-lsind = sy-lsind - 1.
IF NOT i_rsporq[] IS INITIAL.
PERFORM borra_spool.
ENDIF.
EXIT.
ENDIF.
LOOP AT i_rsporq.
MOVE i_rsporq-rqcretime(8) TO vd_fecha.
IF vd_fecha LT sy-datum.
DELETE i_rsporq INDEX sy-tabix.
CONTINUE.
ELSE.
MOVE: i_rsporq-rqident TO vi_spool,
i_rsporq-rqident TO st_spool-rqident.
CONCATENATE 'C:\P' i_rsporq-rqident '.PDF'
INTO vc_file.
* SUBMIT rstxpdft4
* WITH spoolno = vi_spool
* WITH download = 'X'
* WITH p_file = vc_file "skip selection-screen
* AND RETURN.
CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = vi_spool
no_dialog = ' '
IMPORTING
pdf_bytecount = v_lines
pdf_spoolid = vc_spool
btc_jobname = vc_jobnm
btc_jobcount = vi_jobcn
TABLES
pdf = i_pdf
EXCEPTIONS
err_no_abap_spooljob = 1
err_no_spooljob = 2
err_no_permission = 3
err_conv_not_possible = 4
err_bad_destdevice = 5
user_cancelled = 6
err_spoolerror = 7
err_temseerror = 8
err_btcjob_open_failed = 9
err_btcjob_submit_failed = 10
err_btcjob_close_failed = 11
OTHERS = 12.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
CALL FUNCTION 'RSPO_IDELETE_SPOOLREQ'
EXPORTING
spoolreq = st_spool.
CONCATENATE 'C:\' i_rsporq-rqident '.PDF'
INTO vc_file.
CONDENSE vc_file.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_lines
filename = vc_file
filetype = 'BIN'
TABLES
data_tab = i_pdf.
IF sy-subrc EQ 0.
READ TABLE s_kunnr INDEX 1.
MOVE s_kunnr-low TO vc_kunnr.
CLEAR: kna1, adr6.
SELECT SINGLE adrnr name1 name2
INTO (kna1-adrnr, kna1-name1, kna1-name2)
FROM kna1
WHERE kunnr EQ vc_kunnr.
IF sy-subrc EQ 0.
SELECT SINGLE smtp_addr INTO adr6-smtp_addr
FROM adr6
WHERE addrnumber EQ kna1-adrnr
AND persnumber EQ space
AND date_from GT '00010101'
AND consnumber EQ '001'.
ENDIF.
CLEAR vc_fecha.
CONCATENATE sy-datum+6(2) '/' sy-datum+4(2) '/'
sy-datum(4) INTO vc_fecha.
CONCATENATE 'al' vc_fecha INTO vc_fecha
SEPARATED BY space.
CONCATENATE text-r01 vc_fecha
INTO vc_subject SEPARATED BY space.
CONCATENATE kna1-name1 kna1-name2 ':'
INTO i_body-line SEPARATED BY space.
APPEND i_body.
CLEAR i_body.
APPEND i_body.
MOVE text-r02 TO i_body-line.
APPEND i_body.
CLEAR i_body.
MOVE text-r03 TO i_body-line.
APPEND i_body.
CLEAR i_body.
MOVE text-r04 TO i_body-line.
APPEND i_body.
CLEAR i_body.
MOVE adr6-smtp_addr TO i_address.
APPEND i_address.
CLEAR i_address.
MOVE vc_file TO i_attachs.
APPEND i_attachs.
CLEAR i_attachs.
CALL FUNCTION 'Z_OUTLOOK'
EXPORTING
subject = vc_subject
TABLES
email_body = i_body
email_address = i_address
email_attachments = i_attachs
EXCEPTIONS
invalid_pathname = 1
download_failed = 2
execution_failed = 3
OTHERS = 4.
CLEAR: v_lines, vc_file.
REFRESH: i_pdf, i_body, i_address, i_attachs.
ENDIF.
CLEAR: vd_fecha, v_lines, i_pdf, vc_file.
REFRESH i_pdf.
ENDIF.
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
sy-lsind = sy-lsind - 1.
ENDFORM. " OKCODE_CPDF


************************************************
************************************************

FUNCTION z_outlook.
*"----------------------------------------------------------------------
*"*"Interfase local
*" IMPORTING
*" REFERENCE(SUBJECT) TYPE C OPTIONAL
*" TABLES
*" EMAIL_BODY STRUCTURE SOLI OPTIONAL
*" EMAIL_ADDRESS STRUCTURE SOLI OPTIONAL
*" EMAIL_ATTACHMENTS STRUCTURE SOLI OPTIONAL
*" EXCEPTIONS
*" INVALID_PATHNAME
*" DOWNLOAD_FAILED
*" EXECUTION_FAILED
*"----------------------------------------------------------------------
*- Documentación.-
* Mediante esta función podemos enviar a través del Outlook un mail
* indicando el Asunto, Destinatarios, Cuerpo del mensaje, Archivos adj.
* Tan solo es necesario pasar los parámetros que queramos y automát.
* nos dejará en la pantalla de envio de mensajes de Outlook con todos
* los datos rellenos
CONSTANTS: BEGIN OF con_hex,
tab(1) TYPE x VALUE '09',
END OF con_hex.
DATA: g_file(120),
g_translate(2),
t_vbs LIKE STANDARD TABLE OF soli WITH HEADER LINE,
g_last,
g_vbs_filename LIKE rlgrap-filename,
commandline(1000).
*- Prepara un código para traducir una comilla en hexadecimal
*- para que pueda ser traducido de nuevo en comillas dobles.
CONCATENATE '"' con_hex-tab INTO g_translate.
APPEND: 'Dim myolapp ' TO t_vbs,
'Dim olNamespace ' TO t_vbs,
'Dim myItem ' TO t_vbs,
'Dim myRecipient ' TO t_vbs,
'Dim myAttachments ' TO t_vbs,
' ' TO t_vbs,
'Set myolapp = CreateObject("Outlook.Application") '
TO t_vbs,
'Set olNamespace = myolapp.GetNamespace("MAPI") '
TO t_vbs,
'Set myItem = myolapp.CreateItem(olMailItem) '
TO t_vbs,
' ' TO t_vbs.
*- Destinatarios del mensaje
LOOP AT email_address.
IF email_address = space.
CONTINUE.
ENDIF.
CONCATENATE 'Set myRecipient = myItem.Recipients.Add("'
email_address '")' INTO t_vbs.
APPEND t_vbs.
ENDLOOP.
*- Asunto del mensaje
CONCATENATE 'myItem.Subject = "' subject '"' INTO t_vbs.
APPEND t_vbs.
*- Archivos adjuntos
APPEND 'Set myAttachments = myItem.Attachments' TO t_vbs.
*- Chequeo de existencia de archivos adjuntos
LOOP AT email_attachments.
g_file = email_attachments-line.
CALL FUNCTION 'WS_QUERY'
EXPORTING
filename = g_file
query = 'FE'
EXCEPTIONS
inv_query = 1
no_batch = 2
frontend_error = 3
OTHERS = 4.
IF sy-subrc EQ 0.
CONCATENATE 'myAttachments.Add("' email_attachments
'")' INTO t_vbs.
APPEND t_vbs.
ELSE.
MESSAGE i000(38) WITH 'No se ha podido adjuntar el archivo'
email_attachments.
ENDIF.
ENDLOOP.
*- Cuerpo del email
CLEAR: g_last, t_vbs.
APPEND t_vbs.
LOOP AT email_body.
AT FIRST.
APPEND 'myitem.body = _' TO t_vbs.
ENDAT.
AT LAST.
g_last = 'X'.
ENDAT.
*- Comillas dobles(") causan un error en VBScript
*- Reemplzar con un hexadecimal y luego reemplaza con
*- 2 comillas dobles ("")
TRANSLATE email_body USING g_translate.
WHILE sy-subrc EQ 0.
REPLACE con_hex-tab WITH '""' INTO email_body.
ENDWHILE.
IF g_last = 'X'.
CONCATENATE '"' email_body '" &vbCrLf '
INTO t_vbs.
ELSE.
CONCATENATE '"' email_body '" &vbCrLf &_'
INTO t_vbs.
ENDIF.
APPEND t_vbs.
ENDLOOP.
APPEND 'myItem.Display' TO t_vbs.
* -- Posibilidad de mostrar un MsgBox al abrir el Outlook
* APPEND 'Dim myVar' TO t_vbs.
* DATA: aux(255).
* aux = 'Aquí podemos poner el mensaje que queramos'.
* CONCATENATE 'myVar = MsgBox ("' aux '", 0, "Advertencia")' INTO aux.
* APPEND aux TO t_vbs.

*- Prepara el nombre de archivo vbscript para descargarlo
*- y ejecutarlo, llamando a la variable de entorno de Windows
*- TEMP
CLEAR g_vbs_filename.
CALL FUNCTION 'WS_QUERY'
EXPORTING
environment = 'TEMP'
query = 'EN'
IMPORTING
return = g_vbs_filename
EXCEPTIONS
inv_query = 1
no_batch = 2
frontend_error = 3
OTHERS = 4.
IF sy-subrc GT 0.
RAISE invalid_pathname.
ENDIF.
CONCATENATE g_vbs_filename '\mail.vbs' INTO g_vbs_filename.
commandline = g_vbs_filename.
PERFORM sapgui_progress(rstxldmc) USING 10
'Realizando download de fichero...'.
*- Descarga el archivo vbscript
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = g_vbs_filename
filetype = 'DAT'
mode = 'S'
TABLES
data_tab = t_vbs
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
OTHERS = 8.
IF sy-subrc GT 0.
RAISE download_failed.
ENDIF.
* Abre el Outlook
PERFORM sapgui_progress(rstxldmc) USING 50
'Abriendo Outlook... Espere por favor'.
CALL FUNCTION 'WS_EXECUTE'
EXPORTING
commandline = commandline
program = 'WSCRIPT.EXE'
EXCEPTIONS
frontend_error = 1
no_batch = 2
prog_not_found = 3
illegal_option = 4
OTHERS = 5.
IF sy-subrc GT 0.
RAISE execution_failed.
ENDIF.
MESSAGE s000(38) WITH 'Abriendo Outlook... Espere por favor'.
ENDFUNCTION.

jamostos
03/06/08, 16:55:05
Habeis conseguido alguno generar un PDF que contengan varias ordenes SPOOL???

bisonye
03/06/08, 16:58:56
Si por cada orden de spool consigues una tabla interna con los datos lo único que tienes que hacer es copiar todas las tablas con las órdenes en una sola.
Debería funcionar...

jamostos
04/06/08, 07:17:07
Pues no ya lo intente pero solo me guarda la ultima orden, vamos que me machaca las anteriores

bisonye
04/06/08, 07:23:33
No me has entendido. Lo que tienes que hacer es guardar en diferentes tablas las diferentes órdenes de spool y luego esas tablas las juntas en una sola,

Saludos

jamostos
04/06/08, 07:56:45
No no si ya he realizado eso, me he hecho un loop con un append y al final paso la tabla global al la funcion, el tamaño del fichero es el correcto ( la suma de todos) pero solo contiene la ultima orden spool de las anteriores nada de nada. No se si cada fichero contiene un EON y un EOF y al intentar meterlo en uno solo me machaca los anteriores o que....

bisonye
04/06/08, 08:01:50
Vaya, el que no te había entendido era yo.
Pues es muy posible que tengas un principio y fin de fichero. El problema va a ser reconocerlo...
¿Con que función descargas el PDF?
Veo que en la GUI download hay un parámetro que es APPEND que por defecto tiene space. Prueba a marcarlo con X y haces tantos downloads como ordenes de spool tengas añadiendo al mismo archivo.
Creo que los datasets tambien tenían algún parámetro que indicaba si el archivo se sobreescribía o se anexaba.

A ver si así funciona.

cramr
19/08/08, 10:58:59
Vale, y pongamos que adjunto el archivo correctamente, pero como puede hacer para darle un nombre, en que parametro de que tabla pongo el nombre que aparecerá a posteriori en el email??

Y una duda, en la tabla "object_header" que se le pasa?

muchas gracias

ABPdelCerro
25/08/09, 10:02:26
Hola.
Creo que en este tema siempre se está hablando de dejar el PDF en local. ¿Alguien sabe como se podría dejar en el servidor?

Gracias a todos.

Fernando_García_ARG
27/08/09, 15:07:58
Un mes de libro diario en nuestra empresa pueden ser 90000 páginas.
acá veo que si ejecuto este programa por proceso de fondo, genera un dUMP con un RAISE_EXCEPTION
con lo cual está lindo para primer plano pero no me es útil para background.
lo que terminamos haciendo es instalar una impresora pdf
si alguien sabe como hacer andar lo que digo, gracias!!
saludos.

lpuga
02/12/09, 23:07:11
Hola a todos!

Soy bastante nuevo en esto de SAPear =) se me ha encargado el envío de OdC vía mail, lo he hecho a través de orden spool y despues el envío lo hago a través del menú Orden SPOOL -->Transmitir--> Enviar mediante SAPoffice

Esto ha sido una solución para mi gusto sencilla pero el usuario final no está acostumbrado a las ordenes SPOOL.

Me gustaría saber el total de los pasos y requisitos para configurar un mensaje y con ello facilitarle la vida al usuario final :D

Muchas gracias !! hasta pronto ;)

jomice
22/04/10, 21:50:12
Tracer

Cual es la transacción que permite pasar a PDF una orden spool. Ingrese RSTXPDFT4 y sale que esta transacción no existe.

Gracias

bisonye
23/04/10, 06:16:19
Tracer

Cual es la transacción que permite pasar a PDF una orden spool. Ingrese RSTXPDFT4 y sale que esta transacción no existe.

Gracias

Hola Jomice,

Eso es un report tienes que ejecutarlo por la SE38, no tiene transacción asociada.

MARIMANRIQUE
11/05/10, 19:51:16
Podrias aclararme una duda: Puedo importar desde excel para crear una Cotizacion u Oferta a cliente en Bussines one

bealoal
25/03/11, 07:22:02
Hola Gorka,
He probado tu programa y está muy bien, solo tengo un problema y es que además de generar el pdf (que lo hace perfecto) me saca una copia también por la impresora y ésto es lo que quiero evitar. ¿Como podría hacer para que no me ocurra ésto?

Saludos,
Bea.

gabrielmartinez_1976
23/04/12, 14:10:59
Buen dia amigos. Con respecto a este tema, creo que la funcion para pasar una orden SPOOL a PDF es la siguiente: " zgenpdf ", se ingresa la orden de spool que uno desea convertir y luego el lugar donde grabar en la pc tal archivo.
Espero sea util.
Saludos

Gabriel

javimes
02/05/12, 13:01:20
:)

SI señor, muy bueno

Mar_83
25/06/12, 07:56:54
Buenas,

ya conseguido pasar un report a PDF y enviarlo por mail.

Sabriais como encriptarlo el PDF?

Saludos.

nicol
25/06/12, 14:52:49
Buenas,
ya conseguido pasar un report a PDF y enviarlo por mail.
Sabriais como encriptarlo el PDF?
Saludos.

Para encriptar un archivo en PDF deberás tener la versión de "paga" para que puedas realizar eso (esto se debería de hacer en Edición -> Protección -> Propiedades del documento -> en la pestaña de seguiridad deberás tener habilitado el ícono de mostrar detalles, si no lo tienes, no podrás encriptarlo).

Pero si tienes un archivo en Word y lo quieres convertir a PDF y lo querras encriptar deberás hacer lo siguiente:

Archivo -> Guardar como -> seleccionas Guardar como tipo -> (PDF).

En esa misma ventana le darás click al icono de herramientas -> Opciones generales y darás pass.

Mar_83
26/06/12, 12:45:40
Gracias....

Y aun suponiendo que lo tenga de "pago".....

Como consigo que desde mi report que es desde donde tengo que enviar el mail con el adjunto del PDF, este vaya ya encriptado??

Para encriptar un archivo en PDF deberás tener la versión de "paga" para que puedas realizar eso (esto se debería de hacer en Edición -> Protección -> Propiedades del documento -> en la pestaña de seguiridad deberás tener habilitado el ícono de mostrar detalles, si no lo tienes, no podrás encriptarlo).

Pero si tienes un archivo en Word y lo quieres convertir a PDF y lo querras encriptar deberás hacer lo siguiente:

Archivo -> Guardar como -> seleccionas Guardar como tipo -> (PDF).

En esa misma ventana le darás click al icono de herramientas -> Opciones generales y darás pass.

Lefar
03/08/12, 12:33:22
Hola
si lo han dicho ya disculpad, pero con el programita pdfcreator tambien se pueden pasar los reports de SAP a pdf sin problemas

saludos

luis 333
17/09/13, 13:06:58
hola como puedo certificarme en sap

Kary Abarca Paredes
28/11/13, 14:20:04
Yo tengo una consulta, cuando realizo cotizaciones con la VA01 quiero exportarlas a PDF pero no me deja. Tampoco tengo autorizacion para la SE38 por lo que estoy bastante limitada con respecto a este tema
Ayuda por favor ya me canse de imprimir la coti y escanearla:mad:

paul111
16/01/14, 08:43:16
How can i have test it

Marcelo Espasandin Ponce
05/06/14, 14:46:15
Estimados, como hago para que en SAP el punto "." de mi teclado numérico me sirva ( al igual que en excel ) como "," coma (separador de decimales) ???
Gracias desde ya.:confused:

gdmj1107
02/06/15, 14:21:16
Hola a todos, el reporte RSTXPDFT4 permite convetir desde la cola de spool a pdf. Cuando se tiene mas de 999 líneas el reporte solicita si se va a hacer el proceso en fondo o en linea. En el caso de que se elija realizarlo en proceso de fondo, nuevamente se genera una orden spool pero el resultado está en binario. Yo no quiero imprimir el resultado quiero llevarlo a un medio magnético externo, como puedo hacerlo?

Gracias. por su colaboracion

WILFREDO VASQUEZ
17/08/15, 16:56:28
Mis conocimientos son a nivel de modulos, FI,AP,AR. Leyendo he aprendido algunos atajos de teclado. pero viendo MUndo Sap me doy cuenta que hay muchas otras cosas mas que se pueden hacer. Por lo pronto, cuando imprimo un documento con FB03, bajo la pantalla se observa un numero spool. Ahora el punto es, como diantre, ejecuto el programa RSTXPDFT4. El SAP que uso es el /erp500. gracias

FniCoconut
30/03/17, 08:40:12
Buenas!

Hace poco descubrí una sencillísima manera de pasar a pdf un smartforms, seguramente la conozcan algunos y puede que aparezca en algún hilo.

Se trata de la transacción "PDF!" una vez muestre la salida del smartform, intro y voilá!

Un saludo:)

SandyMoon
19/05/20, 13:53:29
No encuentro esa transaccion que dices para pasar a PDF.

kiloosmaladsa
21/02/22, 08:37:49
Este tip me saca de muchos problemas que tenia

kiloosmaladsa
23/10/22, 09:50:11
Puedes ver en este foro el post "Envio de Email atraves de Outlook", en realidad la función que te presentan no solo es para outlook.