✒️ABAP / Las Interfaces Por Alex Lemos Collazos

Selector Alummnos / Empresas

ABAP Las Interfaces

ABAP Las Interfaces

1 | Introducción a Interfaces

Las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas

son la base de la programación orientada a objetos en ABAP.

Además, hay veces en las que es necesario para clases similares proporcionar funcionalidades similares pero que

están codificadas diferentes en cada clase, las cuales dan un punto de contacto común con el usuario.

Por ejemplo, podríamos tener dos clases similares, Cuenta corriente y Cuenta de ahorro,

las cuales tienen un método para calcular las comisiones del año.

Las interfaces y nombres de los métodos son los mismos pero la implementación es diferente.

El usuario de las clases y las instancias tiene que ser capaces de ejecutar el método

para todas las cuentas sin preocuparse del tipo de cada cuenta individual.

Con objetos ABAP esto es posible mediante el uso de las interfaces.

2 | ¿Qué son las Interfaces?

Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase.

El ámbito específico de una clase viene definido por sus componentes y sus secciones de visibilidad.

Por ejemplo, los componentes públicos de una clase definen su ámbito público,

ya que todos sus atributos y los parámetros de los métodos pueden ser utilizados por todos los usuarios.

Los componentes protegidos de una clase definen su ámbito en lo que se refiere a sus subclases.

Las interfaces extienden el ámbito de una clase añadiendo sus propios componentes a la sección pública.

Esto permite a los usuarios acceder a diferentes clases por medio de un punto de contacto común.

Las interfaces junto con la herencia proporcionan uno de los pilares básicos del polimorfismo,

ya que permiten que un sólo método con una interface se comporte distinto en diferentes clases.

3 | La definición de una Interface

Al igual que las clases, las interfaces se pueden definir o bien globalmente en el Repositorio R/3 o localmente en un programa ABAP.

La definición de una interface local es el código existente entre las sentencias siguientes:

INTERFACE <interface>.

ENDINTERFACE.

Imagen 3.1 - Sintaxis utilizada para la definición de una interface

La definición contiene la declaración de todos los componentes (atributos, métodos y eventos) de la interface.

Se pueden definir los mismos componentes en una interface que en una clase.

Los componentes de las interfaces no tienen que ser asignados a ninguna sección de visibilidad

ya que automáticamente pertenecen a la sección pública de la clase en la que la interface es implementada.

Las interfaces no tienen una parte de implementación ya que sus métodos son implementados en la clase que implementa la interface.

4 | La implementación de Interfaces

Cuando se implementa una interface en una clase, los componentes de la interface se añaden al resto de componentes de la sección pública.

Un componente de una interface puede ser direccionado como si fuese un miembro de la clase bajo el siguiente nombre:

<interface~componente>.

Imagen 4.1 - Accedemos al componente de una interface

La clase tiene que implementar los métodos de todas las interfaces implementadas en ella.

La parte de implementación de la clase debe contener la implementación de cada método de la interface:

METHOD <interface~componente>.

ENDMETHOD.

Imagen 4.2 - Sintaxis utilizada para la implementación de un método de una interface

Las interfaces pueden ser implementadas por diferentes clases.

Cada una de las clases es ampliada con el mismo conjunto de componentes,

aunque los métodos de la interface pueden ser implementados de manera distinta en cada clase.

5 | Las referencias a Interfaces

Las variables referenciadas permiten acceder a los objetos.

En lugar de crear variables referenciadas con referencia a una clase, se pueden crear con referencia a una interface.

Este tipo de variables referenciadas puede contener referencias a los objetos de las clases que implementen esa interface.

Para definir una referencia a una interface se usa la siguiente adición:

TYPE REF TO <interface>

Imagen 5.1 - Sintaxis utilizada para definir una referencia a una interface

La interface que utilicemos para definir la referencia debe haber sido declarada en el programa antes que esta declaración tenga lugar.

Una variable referenciada con el tipo referenciado a una interface se llama variable referenciada a una interface,

o referencia a interface simplemente.

Una referencia a interface permite al usuario usar la siguiente declaración:

<interface_refencia>-><componente>

Para acceder a todos los componentes visibles de la interface del objeto al cual la referencia está apuntando.

Esto permite al usuario acceder a todos los componentes del objeto que fueron añadidos a su definición al implementar la interface.

6 | ¿Cómo direccionar y asignar objetos usando referencias a interfaces?

Para crear un objeto de la clase primero se tiene que haber declarado una variable referenciada con referencia a la clase.

Si la clase implementa una interface, se puede usar la siguiente asignación entre la variable referenciada a la clase

y una referencia a interface, para hacer que la referencia a interface apunte al mismo objeto que la referencia a clase en:

<interface_refencia>-><componente_referencia>

Imagen 6.1 - La referencia a interface apunta al mismo objeto que la referencia a clase

Si la interface contiene un atributo dependiente de instancia y un método dependiente de instancia se puede

direccionar los componentes de la interface como describimos a continuación:

Usando la variable referenciada a una clase:

Para acceder a un atributo utilizaremos lo siguiente:

<crefencia>-><interface~referencia>

Imagen 6.2 - Accedemos al atributo dependiente de instancia

Para acceder al método utilizaremos lo siguiente:

CALL METHOD <crefencia>-><interface~metodo>.

Imagen 6.3 - Accedemos al método dependiente de instancia

Usando la variable referenciada a una interface:

Para acceder a un atributo utilizaremos lo siguiente:

<irefencia>-><atributo>

Imagen 6.4 - Accedemos al atributo dependiente de instancia mediante la referencia a interface

Para acceder al método utilizaremos lo siguiente:

CALL METHOD <irefencia>-><metodo>.

Imagen 6.5 - Accedemos al método dependiente de instancia mediante la referencia a interface

Siempre que los componentes estáticos de las interfaces estén implicados,

sólo se puede usar el nombre de la interface para acceder a las constantes:

Para acceder a una constante utilizaremos lo siguiente:

<interfaz>=><constante>

Imagen 6.6 - Accedemos a una constante mediante la referencia a interface

Para todos los demás componentes estáticos de una interface,

sólo se pueden usar referencias a objetos o la clase que implementa la interface:

Para acceder a un atributo estático utilizaremos lo siguiente:

<clase>-><interface~atributo>

Imagen 6.7 - Accedemos al atributo estático mediante la referencia a interface

Para llamar a un método estático utilizaremos lo siguiente:

CALL METHOD <clase>-><interface~metodo>.

Imagen 6.8 - Accedemos al método estático mediante la referencia a interface

7 | Ejemplo de Interfaces

A continuación veremos un ejemplo de un programa ABAP que utiliza interfaces.

Aquí declaramos la interface ESTADO y las clases CONTADOR y BICICLETA.

Dentro de la sección pública de ambas clases declaramos la interface ESTADO.

INTERFACE estado.

METHODS imprimir.

ENDINTERFACE. "estado

CLASS contador IMPLEMENTATION.

METHOD estado~imprimir.

WRITE: / 'La cuenta en el contador es: ', cuenta.

ENDMETHOD. "estado~imprimir

METHOD incrementar.

ADD 1 TO cuenta.

ENDMETHOD. "incrementar

ENDCLASS. "contador IMPLEMENTATION

CLASS contador IMPLEMENTATION.

METHOD estado~imprimir.

WRITE: / 'La cuenta en el contador es: ', cuenta.

ENDMETHOD. "estado~imprimir

METHOD incrementar.

ADD 1 TO cuenta.

ENDMETHOD. "incrementar

ENDCLASS. "contador IMPLEMENTATION

CLASS bicicleta DEFINITION.

PUBLIC SECTION.

INTERFACES estado.

METHODS manejar.

PRIVATE SECTION.

DATA velocidad TYPE i.

ENDCLASS. "bicicleta DEFINITION

CLASS bicicleta IMPLEMENTATION.

METHOD estado~imprimir.

WRITE: / 'La velocidad de la bicicleta es: ', velocidad.

ENDMETHOD. "estado~imprimir

METHOD manejar.

ADD 10 TO velocidad.

ENDMETHOD. "manejar

ENDCLASS. "bicicleta IMPLEMENTATION

Imagen 7.1 - Definición e implementación de las clases CONTADOR y BICICLETA y la interface ESTADO

Luego dentro del evento START-OF-SELECTION creamos los objetos CUENTA y BICI.

Ejecutamos los métodos CUENTA->INCREMENTAR y BICI->MANEJAR,

almacenamos los resultados en la tabla TI_ESTADO y recorremos la tabla llamando al método IMPRIMIR.

DATA: cuenta TYPE REF TO contador,

bici TYPE REF TO bicicleta,

estado TYPE REF TO estado,

ti_estado TYPE TABLE OF REF TO estado.

START-OF-SELECTION.

CREATE OBJECT: cuenta, bici.

DO 5 TIMES.

CALL METHOD: cuenta->incrementar,

bici->manejar.

ENDDO.

APPEND: cuenta TO ti_estado,

bici TO ti_estado.

LOOP AT ti_estado INTO estado.

CALL METHOD estado->imprimir.

ENDLOOP.

Imagen 7.2 - Visualizamos el resto de la lógica abap dentro del START-OF-SELECTION

La salida por pantalla del programa será la siguiente:


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Las Interfaces" de la mano de nuestros alumnos.

SAP Master


Las Interfaces Introducción y motivación Las clases, instancias y objetos, junto con variables de referencia, son la base de la programación orientada a objetos en ABAP. Cuando varias clases similares deben ofrecer la misma funcionalidad (p. ej., cálculo de comisiones en cuentas corriente y de ahorro) pero con implementaciones distintas, las interfaces proporcionan un punto de contacto común para el usuario. El usuario puede invocar el mismo método sin preocuparse del tipo concreto de la clase, gracias a la abstracción que ofrece la interfaz. Definición y componentes de una interfaz Una interfaz es una estructura independiente...

Acceder a esta publicación

Creado y Compartido por: Juan Ignacio Romero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert



Las interfaces en SAP permiten el intercambio de información entre SAP y otros sistemas, internos o externos, garantizando la integración y coherencia de datos. Se usan para automatizar procesos, evitar duplicidad y reducir errores. Pueden ser síncronas (respuesta inmediata) o asíncronas (procesamiento en diferido). Entre las tecnologías más usadas están IDocs, BAPIs, RFCs, Web Services y APIs. Los IDocs facilitan la comunicación masiva y estructurada; las BAPIs permiten acceder a funciones de negocio de forma controlada; los RFCs conectan sistemas SAP o no SAP. Las interfaces se diseñan según requerimientos de negocio, volumen de datos, seguridad y formato (XML, JSON, CSV)....

Acceder a esta publicación

Creado y Compartido por: David Ibarra / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

• Introducción a Interfaces Las interfaces en ABAP son fundamentales para la Programación Orientada a Objetos (POO), ya que extienden la funcionalidad de las clases y proporcionan un punto de contacto común para el usuario. Son útiles cuando clases similares necesitan ofrecer funcionalidades parecidas pero con implementaciones distintas, permitiendo a los usuarios interactuar con ellas de forma unificada sin preocuparse por los detalles específicos de cada tipo de cuenta. â—¦ Clases similares con funcionalidades similares pero código diferente: Necesidad de un punto de contacto común para interactuar con ellas. â—¦ Ejemplo de cuentas bancarias: Un método para calcular comisiones...

Acceder a esta publicación

Creado y Compartido por: Roberto Fluder Ahumada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Las interfaces en ABAP son una forma de definir un conjunto de métodos que las clases pueden implementar. Son útiles para garantizar que diferentes clases compartan ciertos comportamientos sin necesidad de herencia. En ABAP, las interfaces se definen con la palabra clave INTERFACE, seguida del nombre de la interfaz. Dentro de la interfaz, se declaran los métodos que las clases que la implementarán deberán definir. Por ejemplo: INTERFACE z_mi_interfaz. METHODS metodo1. METHODS metodo2. ENDINTERFACE. Las clases que implementan esta interfaz deben proporcionar la lógica para metodo1y metodo2. Para implementar una interfaz en ABAP, primero define una clase y usas la palabra clave INTERFACES seguida del...

Acceder a esta publicación

Creado y Compartido por: Exequiel Eduardo Acevedo / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Introducción a interfaces: Las clases, sus interfaces (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objetos en ABAP. Interfaces: son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. Las interfaces extienden el ámbito de una clase añadiendo sus propios componentes a la sección pública. Esto permite a los usuarios acceder a diferente clases por medio de un punto de contacto común. Las interfaces junto con la herencia proporciona uno de los pilares básicos del polimorfismo, ya que permite que un sólo método con una interface se comporte distinto en...

Acceder a esta publicación

Creado y Compartido por: Javier Miguel Angel Barcelo / Disponibilidad Laboral: PartTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las interfaces permiten usar diferentes clases de una manera uniforme aprovechando las referencias de las interfaces, es decir, el polimorfismo por ejemplo las interfaces implementadas en diferentes clases amplían el ámbito público de la clase en el mismo conjunto de componentes, si la clase no tiene ningún componente publico especifico de ella misma entonces las interfaces describe completamente el ámbito público de la clase. Las interfaces son tipos de objetos que se pueden definir localmente en un programa ABAP o bien globalmente a través del repositorio R/3 en la transacción SE24 tal como veremos más adelante en detalle para las clases. Si se definen las clases globalmente...

Acceder a esta publicación

Creado y Compartido por: Jose Medina / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

INTRODUCCIÓN A INTERFACES Las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la programación orientada a objetos en ABAP. QUE SON LAS INTERFACES. Son estructuras independientes que se pueden implementar en una clase para extender el ámbito de esa clase. El ámbito especifico de una clase viene definido por sus componentes y sus secciones de visibilidad, ya que todos sus atributos y los parámetros de los métodos pueden ser utilizados por todos los usuarios. Las interfaces junto con la herencia proporcionan uno de los pilares básicos del polimorfismo, ya que permiten que un solo método con una interface se comporte distinto en...

Acceder a esta publicación

Creado y Compartido por: Gerardo Jose Campos Tovar / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Interfaces Interfaces are standalone structures that can be implemented within a class to extend its scope. A class's specific scope is defined by its components and visibility sections. Protected components of a class define its scope concerning its subclasses. Interfaces expand a class's scope by adding their own components to the public section. This facilitates users accessing different classes through a common contact point. Interfaces, coupled with inheritance, provide a fundamental pillar of polymorphism. They enable a single method with an interface to behave differently in different classes. Interfaces allow for the uniform use of different classes by leveraging references to interfaces, i.e., polymorphism. For example, interfaces implemented...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


Las Interfaces 1 - Intro a las interfaces. Las clases, sus instancias y el acceso a los objetos usando variables referencias son la base de POO. clase similares, codificadas diferentes en cada clase. 2 - Qué son las interfaces? son estructuras independientes que se pueden implementar en una clase para extender el ambito de esa clase (definido por sus componentes y sus secciones de visibilidad). Las interfaces extienden el ambito de una clase añadiendo sus propios componentes a la seccion publica. Permite al usuario acceder a diferentes clases por medio de un punto de contacto comun. Las interfaces junto con la herencia proporcionan uno de los pilares basico del polimorfismo. Audio: las interfaces...

Acceder a esta publicación

Creado y Compartido por: Pablo Adrian Oggero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Las Interfaces Introducción a Interfaces Las clases, sus instancias (los objetos) y el acceso a los objetos usando variables referenciadas son la base de la POO en ABAP. Además, hay veces en las que es necesario para clases similares proporcionar funcionalidades similares pero que están codificadas diferentes en cada clase, las cuales dan un punto de contacto común con el usuario. Por ejemplo, podríamos tener 2 clases similares, Cuenta corriente y Cuenta de ahorro, las cuales tiene un método para calcular las comisiones del año. Las interfaces y nombres de los métodos son os mismos pero la implementación es diferente. El usuario de las clases y las instancias tiene que ser capaces...

Acceder a esta publicación

Creado y Compartido por: Lisimaco Prieto Herrera

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:


🔎Googlear en CVOSOFT:
Googlear: "ABAP - Las Interfaces"

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!