Mi experiencia me dice que el tratamiento de objetos OLE desde SAP es un autentico infierno, yo utilizo dos caminos para solucionar estos temas
1.- Si el reporte que queremos generar en un excel formateado va a tener siempre la misma estructura se crear una plantilla excel que se depositara en el servidor y cuando queramos descargar los datos de la tabla simplemente haremos una copia del excel ya formateado y volcaremos los datos en el
2.- Si el formateo tiene que tener una logica algo complicada lo mejor es crearse una macro en el excel (esta macro se debe crear en el libro de macros personal para que este disponible en todos los excel) y desde SAP cargar los datos en el fichero y posteriormente invocar a dicha macro, es mucho mejor hacer las macros en el VBA de Excel porque te proporciona mucha ayuda, sin embargo en SAP puede ser que te estes confundiendo en una mayuscula o que te falte un punto en algun sitio y ya no funcione nada, como SAP no tiene ayuda nativa de OLE puedes tardar dias en descubrir el error, para invocar una macro desde SAP seria algo mas o menos asi
INCLUDE OLE2INCL.
data: go_Excel type ole2_object. "Este es tu objeto aplicacion de excel
CREATE OBJECT go_Excel 'EXCEL.APPLICATION'. "si ya esta instanciado esto "no te hace falta
CALL METHOD OF go_Excel 'RUN' "Aqui es donde ejecutas tu macro
EXPORTING #1 = "MACRO_FORMATEAR".
|