OLE2 en SAP R/3

OLE:

Es una tecnología que permite la interconexión entre procesos iguales o diferentes, entre las características de los objetos OLE hay para vincular( Linked ), incrustar( Embbeded ) y arrastrar y soltar( drag and drop ).  En sus principios OLE se refería a un número mayor de tecnologías, muchas de las cuales han sido sustituídas por la terminología ActiveX.  Si un entorno o herramienta permiten la Automatización OLE se podrán construir aplicaciones sumamente potentes con un minimo esfuerzo, un ejemplo típico son los exploradores de internet desde los que se puede abrir una ventana en la que se muestra el entorno de una aplicación con toda su potencia( como por ejemplo MS-Excel ).

OBJETO:

Es una entidad con una personalidad y comportamiento propio, la personalidad está representada por los atributos o propiedades del objeto y la capacidad que este tiene para realizar cosas mediante los metodos. El comportamiento está representado por la reacción del objeto ante acciones llevadas a cabo por ajentes externos y se represena por los eventos. En cuanto a los lenguajes de programación orientados a objetos, estos se corresponden con las clases. Un ejemplo tipico es el Visual Basic, con el que se crean formularios y se dibujan controles sobre estos. Tanto los formu larios como los controles son objetos de clases distintas y que cada uno tiene sus propias propiedades y metodos.

El siguiente ejemplo desarrollado en Visual Basic usa el Objeto Word para automatizar la escritura de una carta usando MS-Word 97.

Option Explicit
Public objWord As Object

Function constructor()
Dim n As Integer
Set objWord = CreateObject("Word.application")
objWord.Visible = True
objWord.Documents.Add
objWord.Selection.TypeText "Francisco Reyes de la Rosa"
objWord.Selection.TypeParagraph
objWord.Selection.TypeText "Castellana 200,1ºC"
objWord.Selection.TypeParagraph
objWord.Selection.TypeText "28001-MADRID"
objWord.Selection.TypeParagraph
objWord.Selection.TypeParagraph
objWord.Selection.TypeText Chr$(9) + Chr$(9)
objWord.Selection.TypeText "Dos tabulaciones"
' objWord.Documents.Close
End Function


A partir de la versión 3.0 el lenguaje ABAP se enriqueció con nuevas instrucciones que permiten la comunicación OLE2 con otros programas, como por ejemplo las aplicaciones de la  suite Office 97 de Microsoft. Las sentencias OLE2 de ABAP son las siguientes:

Sentencia Función
CREATE OBJECT Crea un objeto
SET PROPERTY Asigna valor a una propiedad del objeto
GET PROPERTY Obtiene( lee ) el valor de una propiedad del objeto
CALL METHOD Invoca la ejecución del un metodo del objeto
FREE OBJECT Mata al objeto para liberar la memoria que este ocupa

Debe tenerse en cuenta que existen otroas técnicas de comunicación entre SAP R/3 y otros entornos.  Por ejemplo es posible crear aplicaciones en Visual Basic for Applications( VBA ) desde Excel o Word que realicen llamadas RFC a SAP R/3.

El siguiente es un programa cuya función es similar al escrito en Visual Basic al inicio de este documento.

REPORT ZFROBJETOSWORD NO STANDARD PAGE HEADING.
* --------------------------------------------------------------------
* --------------------------------------------------------------------
* Programa : zfrobjetosword
* autor  : Francisco Reyes
* fecha : 13 de abril del 2000
* objetivo : Imprimir cartas de exceso creditos
* --------------------------------------------------------------------
* tablas de los objetos utilizadas
* objeto descripción
* objword objeto tipo word.application
* doc objeto tipo objword.documents
* sel objeto tipo doc.selection
* --------------------------------------------------------------------
* Descripción del proceso
* 1.- Se establece el include de ole2incl para la definicion de objetos
* 2.- Crean los objetos necesarios objword, doc y sel
* 3.- Alimenta las propiedades necesarias y llama los metodos a usar
* --------------------------------------------------------------------
* --------------------------------------------------------------------
INCLUDE OLE2INCL.

DATA: OBJWORD TYPE OLE2_OBJECT,
DOC TYPE OLE2_OBJECT,
SEL TYPE OLE2_OBJECT.

DATA: N1 TYPE I,
N2 TYPE I,
R TYPE I, RESULTADO(3), TEXTOACARTA(80),
X TYPE X VALUE '09'.

N1 = 6. N2 = 2. R = N1 * N2. RESULTADO = R.

CONCATENATE 'Esta es la mejor prueba de I+D de la UAX,'
'resultado es:'
RESULTADO
INTO TEXTOACARTA
SEPARATED BY SPACE.

CREATE OBJECT OBJWORD 'Word.Application'.

SET PROPERTY OF OBJWORD 'Visible' = 1.
CALL METHOD OF OBJWORD 'Documents' = DOC.
CALL METHOD OF DOC 'Add'.

CALL METHOD OF OBJWORD 'Selection' = SEL.
CALL METHOD OF SEL 'TypeText'
EXPORTING # = 'Francisco Reyes de la Rosa'.
CALL METHOD OF SEL 'TypeParagraph'.
CALL METHOD OF SEL 'TypeParagraph'.

CALL METHOD OF SEL 'TypeText'
EXPORTING # = 'Castellna 100,1ºC'.

CALL METHOD OF SEL 'TypeParagraph'.
CALL METHOD OF SEL 'TypeParagraph'.
CALL METHOD OF SEL 'TypeText'
EXPORTING # = TEXTOACARTA.

CALL METHOD OF SEL 'TypeParagraph'.
CALL METHOD OF SEL 'TypeParagraph'.
CALL METHOD OF SEL 'TypeText'
EXPORTING # = X.
CALL METHOD OF SEL 'TypeText'
EXPORTING # = 'Un tabulador'.

*ALL METHOD OF doc 'Close'.

 

Regresar a mi HomePage

Página mantenida por Francisco A. Reyes