CONECTIVIDAD SAP R/3 Un ejemplo de comunicación entre SAP R/3 y Microsoft Word mediante tecnología OLE2 |
||
A continuación se muestra cómo se procedería para abrir un fichero
|
REPORT zword. TABLES lfa1. DATA: BEGIN OF i_lfa1 OCCURS 0. INCLUDE STRUCTURE lfa1. DATA: END OF i_lfa1. ************************************************************************ * Include necesario para la declaracion de objetos OLE2 ************************************************************************ INCLUDE ole2incl. ************************************************************************ * Declaraciones para la llamada a WORD. DATA zword TYPE ole2_object. CLEAR zword. SELECT * FROM lfa1 UP TO 3 ROWS INTO TABLE i_lfa1. LOOP AT i_lfa1. AT FIRST. CREATE OBJECT zword 'WORD.BASIC'. * Se llamará a este método sólo si se desea que WORD quede visible CALL METHOD OF zword 'APPSHOW'. * Se abre el fichero que contiene la plantilla de la carta CALL METHOD OF zword 'FILEOPEN' EXPORTING #1 = 'C:\DOCS\PRUEBA.DOC'. * Se selecciona todo el texto del archivo PRUEBA.DOC CALL METHOD OF zword 'EDITSELECTALL'. * Se copia el texto seleccionado al portapapeles CALL METHOD OF zword 'EDITCOPY'. * Se crea un documento nuevo, al que WORD llama documento1 CALL METHOD OF zword 'FILENEW'. * Se pega el texto del portapapeles a documento1 CALL METHOD OF zword 'EDITPASTE'. ENDAT. * Posicionar al principio del documento CALL METHOD OF zword 'STARTOFDOCUMENT'. * Se reemplazan los campos de la carta por los datos de la tabla I_LFA1 CALL METHOD OF zword 'WW2_EDITREPLACE' EXPORTING #1 = '#cod_prov#' #2 = i_lfa1-lifnr. CALL METHOD OF zword 'WW2_EDITREPLACE' EXPORTING #1 = '#nom_prov#' #2 = i_lfa1-name1. * Se imprime el documento1 que ya contiene la carta CALL METHOD OF zword 'FILEPRINT' EXPORTING #1 = 'documento1'. * Posicionar al principio del documento CALL METHOD OF zword 'STARTOFDOCUMENT'. * Se selecciona todo CALL METHOD OF zword 'EDITSELECTALL'. * Se borra la selección CALL METHOD OF zword 'EDITCLEAR'. *Se incorpora el texto original de PRUEBA.DOC CALL METHOD OF zword 'EDITPASTE'. AT LAST. * Se cierra el documento activo, documento1 con opción de salir sin salvar CALL METHOD OF zword 'DOCCLOSE' EXPORTING #1 = 2. * Se cierra el documento activo PRUEBA.DOC con opción salir sin salvar CALL METHOD OF zword 'DOCCLOSE' EXPORTING #1 = 2. * Se cierra WORD CALL METHOD OF zword 'APPCLOSE'. * Se libera el objeto ZWORD FREE OBJECT zword. ENDAT. ENDLOOP. |