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 29/06/07, 09:04:18
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Crear y maquetar .slx desde SAP

Buenas a todos.

Estoy intentando crear y maquetar un Excel para descergar una serie de datos de forma automatica. He leido algo de un servicio que es 'OLE' pero la verdad es que no termino de comprender su funcionalidad y despues de crear una maqueta de programa, no puedo ver si hace algo o no, entre otras cosas porque no parece que lo grave.

* Así sucesivamente por cada celda ….
* Al final ....
* Protejo el libro y lo grabo con el nombre elegido
CALL METHOD OF excel 'ActiveWorkbook' = libro_activo.
CALL METHOD OF excel 'ActiveSheet' = hoja_activa.
CALL METHOD OF hoja_activa 'Protect' EXPORTING #1 = 'sap'.
CALL METHOD OF libro_activo 'SaveAs' EXPORTING #1 =
'C:\MFP\prueba_mjf.xls'.

El caso es que no devuelve error ni nada parecido pero no lo grava.

Acepto cualquier sugerencia, informacion, manual, etc. (ya que no se por donde seguir y me corre muchisima prisa)


Otra cosita. ¿Sabeis como puedo dercargar y gravar en mi maquina y no en el servidor?



Muchas Gracias un saludo a todos.
Responder Con Cita
  #2  
Viejo 29/06/07, 09:11:17
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Ok, solucionado, aunque solo en parte. Realmente el Xls te lo genera en tu maquina y la ruta tiene que existir.Con lo que cambio la pregunta ¿como grabaria yo en el servidor? quiza tenga que programar y lanzarlo en job ¿si es en job, generara el fichero en la maquina de SAP?


Por otro lado sigo en busca de mas informacion y manuales de OLE.


Muy agradecido por todo lo que nos ayudais.
Responder Con Cita
  #3  
Viejo 29/06/07, 09:43:53
carlosalcala carlosalcala is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 46
Hola,

Prueba a poner en la ruta la del servidor, suele reconocerla a través de las barras, ej. '/usr/sap/tmp/', sino puedes probar con la función 'archiv*file*client' para subirlo o alguna 'gui_upload'. Los objetos OLE hay que liberarlos de memoria ya que luego da error el excel al abrirlo independientemente y se queda residente en memoria, debes hacerlo en orden inverso, creo recordar y es con FREE libro_activo.
FREE hoja_activa, mira los sy-subrc para ver que sea correcto y si no prueba cambiando el orden.
Manuales tienes si buscas un poco por internet con 'call method of ... exporting' de sap aunque no están muy completos. Todo es probar o grabar una macro y sacar el código el cual es el método utilizado en sap.
__________________
Salu2

Carlos!
Responder Con Cita
  #4  
Viejo 29/06/07, 09:57:06
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Muchisimas gracias. Me aclara bastante, aunque el report empieza a funcionar poco a poco. He leido varias veces lo que me dices de generar una macro y ver el codigo y la verdad, diculpen mi ignorancia, pero creo que todo se refiere a excel y no tengo ni idea de excel.

¿alguna explicacion breve?



Saludo y de verdad muchisimas gracias.
Responder Con Cita
  #5  
Viejo 29/06/07, 10:07:00
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Pues que yo sepa para dejar un ficharo excel en servidor puedes hacer dos cosas:

1.- Crear el fichero normal y transferirlo con las funciones de ftp
2.- Esta es mas complicada, un fichero excel realmente es un fichero txt separado por tabuladores, entonces con SAP se puede "simular" algo parecido, te pongo un ejemplo

esta es la tabla del excel que quiero descarga

data: begin of gt_excel occurs 0,

vbeln like vbak-vbeln,
tabulador1 type x,
posnr like vbap-posnr,
tabulador2 type x,
kwmeng like vbap-kwmeng,
carry_return type x,
line_feed type x,
end of gt_excel.

es muy importante que entre cada par de campos incluyas en tu tabla un campo tabulador de type hexadecimal al que le pasaras el valor '09' que es el tabulador (te estoy hablando de memoria a lo mejor es otro codigo pero puedes mirarlo por internet) luego los codigos del cr y lf son 10 y 13 respectivamente pero los tienes que poner en hexadecimal ('0A' 'OD')

despues solo te quedaria enviar el fichero normalmente con un open dataset y transfer, dejandolo en el servidor con extension xls

si tienes algun problema dilo aqui y aver si podemos ayudarte

Un saludo
Responder Con Cita
  #6  
Viejo 29/06/07, 11:27:01
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
Vale, he conseguido generar la macro en excel pero no se muy biencomo pasarla a codigo abap.

¿Alguien me podria dar algunas pincelada, una clase rapida?


Sub Macro1()
'
' Macro1 Macro
' Macro recorded 29/06/2007 by Accenture
'
' Keyboard Shortcut: Ctrl+a
'
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:="ANTUNEZF"
End Sub



Muchas gracias
Responder Con Cita
  #7  
Viejo 03/07/07, 13:43:46
BY_MY BY_MY is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Mensajes: 130
hola a todos.


Gracias por la ayuda, ya he conseguido generar el excel y aunque no me convence la solución creo que tirare para delante con ella y luego quiza busque otra, por ello me gustaria saber si alguien controla este tema para depurar un par de cosillas o alguien tiene un manual bueno sobre esto.


saludos.
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 10:20:37.


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