MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Trucos, Consejos y Advertencias
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 16/04/07, 11:28:31
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635

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...
Responder Con Cita
  #2  
Viejo 07/11/07, 17:21:47
inspiron inspiron is offline
Junior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 23
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...
Responder Con Cita
  #3  
Viejo 31/01/08, 18:08:51
mcervantes
 
Mensajes: n/a
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
Responder Con Cita
  #4  
Viejo 15/04/08, 02:25:59
LAVR LAVR is offline
Junior Member
 
Fecha de Ingreso: abr 2008
Mensajes: 2
¿Número de Spool?

Cuando ejecuto el programa RSTXPDFT4, ¿cómo identifico él número del spool de impresión?

Gracias
Responder Con Cita
  #5  
Viejo 15/04/08, 09:09:36
Jesus Jesus is offline
Moderator
 
Fecha de Ingreso: jun 2006
Localización: Madrid - Spain
Mensajes: 610
Hola LAVR:

Entra en la tx. SP02 y ves tus ordenes de Spool. Mira el numero de la que necesitas y ya está.
__________________
Salu2
Responder Con Cita
  #6  
Viejo 03/08/12, 12:33:22
Avatar de Lefar
Lefar Lefar is offline
Member
 
Fecha de Ingreso: oct 2011
Localización: Mallorca
Mensajes: 51
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
Responder Con Cita
  #7  
Viejo 22/04/08, 17:33:43
Avatar de Carlos J. Ortega González
Carlos J. Ortega González Carlos J. Ortega González is offline
Junior Member
 
Fecha de Ingreso: jun 2006
Mensajes: 28
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.
Responder Con Cita
  #8  
Viejo 03/06/08, 16:55:05
jamostos jamostos is offline
Junior Member
 
Fecha de Ingreso: feb 2006
Mensajes: 6
Varias Ordenes SPOOL

Habeis conseguido alguno generar un PDF que contengan varias ordenes SPOOL???
Responder Con Cita
  #9  
Viejo 03/06/08, 16:58:56
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
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...
Responder Con Cita
  #10  
Viejo 04/06/08, 07:17:07
jamostos jamostos is offline
Junior Member
 
Fecha de Ingreso: feb 2006
Mensajes: 6
Pues no ya lo intente pero solo me guarda la ultima orden, vamos que me machaca las anteriores
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está On
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:28:20.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web