MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
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 22/06/10, 10:55:23
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Exclamation RFC .- Archivos

Hola a todos,

Tengo que crear una rfc en la que ellos me mandandan unos datos para generar un informe en SAP, hasta ahí todo bien.

Ese informe lo tengo que generar en PDF, hasta ahí todo bien.

y aqui va mi cuestión: ¿El informe en PDF se lo puedo devolver al otro sistema en la propia RFC o se lo tendría que dejar en una ruta y que lo recojan ellos?

Muchas gracias de antemano y un saludo
Responder Con Cita
  #2  
Viejo 23/06/10, 11:30:33
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Puedes hacerlo de las dos maneras, podrias depositar el fichero en algun sitio y devolver la ruta como parametro o bien si quieres puedes mandar el fichero en una cadena

Asi a bote pronto se me ocurre que podrias crear una orden de spool con el pdf

Despues llamar a la funcion CONVERT_ABAPSPOOLJOB_2_PDF y obtendrias el pdf en una tabla

Esta tabla la puedes convertir con la funcion SX_TABLE_LINE_WIDTH_CHANGE y cambiarle la longitud de linea de 132 a 255

Despues llamarias a la funcion SCMS_BINARY_TO_XSTRING y en el parametro buffer obtendrias una cadena que repesenta el pdf

Luego el receptor del pdf podria tratar esa cadena y generar el fichero o hacer lo que necesitara
Responder Con Cita
  #3  
Viejo 15/07/10, 09:35:21
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Gracias Ballan, estoy con ello porque he estado liadilla con otros temas...

La RFC la he creado haciendo un submit al programa del que sacamos el listado, como recupero el número de la orden SPOOL? para realizar los siguientes pasos qeu me indicas.

Muchas gracias y un saludo,
Responder Con Cita
  #4  
Viejo 21/07/10, 07:41:51
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Exclamation

Buenos días,

Tengo creada ya la RFC donde hago un submit al al programa donde me genera el listado y la orden SPOOL, pero no consigo que la RFC reciba el xstring para que lo trate el otro sistema. En el submit al hacer el AT RETURN se lo puedo devolver?

En espera de vuestra ayuda muchas gracias,

Un saludo
Responder Con Cita
  #5  
Viejo 21/07/10, 11:13:13
Atlas Atlas is offline
Senior Member
 
Fecha de Ingreso: ago 2007
Mensajes: 107
tal vez esto te sirva

DATA list_tab TYPE TABLE OF abaplist.

SUBMIT report EXPORTING LIST TO MEMORY
AND RETURN.

CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
Responder Con Cita
  #6  
Viejo 21/07/10, 12:23:36
Avatar de melerogalan
melerogalan melerogalan is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Murcia
Mensajes: 142
Como bien dice mi compañero, es conveniente usar los MEMORY ID. Un ejemplo más sencillo.



El resultado será en pantalla
1234567890.

Saludos.

Úlima edición por melerogalan fecha: 21/07/10 a las 12:29:41.
Responder Con Cita
  #7  
Viejo 21/07/10, 12:56:57
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Pon el codigo para que veamos como haces la llamada, si estas haciendo submit y no has añadido el and return la rfc se va a quedar colgada en ese punto
Responder Con Cita
  #8  
Viejo 21/07/10, 13:28:33
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Hola gracias ante todo,

La llamada desde a la RFC al programa la tengo de la siguiente forma:



SUBMIT zsalo056_spool_2
WITH s_bukrs = bukrs
WITH s_filkd = filkd
WITH s_gsber = gsber
AND RETURN.

Los parametros de la RFC son:
IMPORTING
VALUE(BUKRS) TYPE BSID-BUKRS OPTIONAL
VALUE(FILKD) TYPE BSID-FILKD OPTIONAL
VALUE(GSBER) TYPE BSID-GSBER OPTIONAL
EXPORTING
VALUE(PDF) TYPE XSTRING.

En el programa le paso un parametro que se llama s_pdf al PDF de la RFC.

Un saludo y gracias de antemano,
Responder Con Cita
  #9  
Viejo 21/07/10, 14:27:15
Paola79 Paola79 is offline
Member
 
Fecha de Ingreso: oct 2006
Mensajes: 62
Muchas gracias ya lo he conseguido, pero ahora quieren que les pase un fichero plano (txt) porque dicen que el XSTRING no lo pueden leer. Esto con que función podría hacerlo?

Un saludo
Responder Con Cita
  #10  
Viejo 21/07/10, 14:37:12
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Hasta donde yo se un PDF no es texto sino que es una "imagen" del texto por lo que para convertir el xstring BINARIO que contiene el PDF tendrias que pasarlo por algun tipo de programa conversor de PDF a TXT o algo asi

Si lo que quieres es enviarles un fichero plano lo que tendras que hacer es que dentro de tu programa zsalo056_spool_2 tendras alguna tabla interna que contiene los datos necesarios para el fichero, tienes que exportar/importar esa tabla entre tu RFC y el programa zsalo056_spool_2

Puedes hacerlo de dos maneras

1.-

Haces el submit igual

Dentro de tu programa zsalo056_spool_2 añades la instruccion

EXPORT (aqui iria el nombre de la tabla interna) TO MEMORY ID 'TEST'

y luego en tu RFC despues de la llamada al submit and return haces

IMPORT (aqui iria el nombre de la tabla interna) FROM MEMORY ID 'TEST'

2.-

Haces submit con exporting list to memory

En tu RFC despues del submit llamas a la funcion LIST_FROM_MEMORY


Una vez que tengas tu tabla interna podras crear el fichero con GUI_DOWNLOAD o con OPEN DATASET
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á Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 22:14:48.


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