✒️ABAP / Las Interfaces Por Jaime Gomez Arango

Selector Alummnos / Empresas

ABAP Las Interfaces

ABAP Las Interfaces

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 in different classes expand the public scope of the class with the same set of components. If the class doesn't have any specific public components of its own, then the interface completely describes the class's public scope.

Defining an Interface

Interfaces can be defined either globally in the R/3 Repository or locally in an ABAP program. The definition of a local interface consists of the code between the following statements:

INTERFACE <INTERFACE_NAME>.
...
ENDINTERFACE.

This definition contains the declaration of all components (attributes, methods, and events) of the interface. The same components can be defined in an interface as in a class.

Implementing Interfaces

When implementing an interface in a class, the interface's components are added to the rest of the components in the public section. A component of an interface can be addressed as if it were a member of the class under the following name:

<INTERFACE-COMPONENT>.

The class must implement the methods of all interfaces implemented in it. The implementation part of the class must contain the implementation of each method of the interface:

METHOD <INTERFACE-METHOD>.
...
ENDMETHOD.

References to Interfaces

Referenced variables allow access to objects. Instead of creating referenced variables with reference to a class, they can be created with reference to an interface.

To define a reference to an interface, the following addition is used:

TYPE REF TO <INTERFACE>.

A referenced variable with the referenced type to an interface is called a referenced variable to an interface or simply an interface reference.

An interface reference allows the user to use the following declaration:

<INTERFACE_REFERENCE>-><COMPONENT>.

Directing and Assigning Objects Using Interface References

First, we must declare a reference variable to the class to create an object of the class.

If the class implements an interface, the following assignment between the referenced variable to the class and an interface reference can be used to make the interface reference point to the same object as the class reference:

<INTERFACE_REFERENCE> = <CLASS_REFERENCE>.

Using the referenced variable to a class

To access an attribute, we'll use:

<CLASS_REFERENCE>-><INTERFACE-ATTRIBUTE>.

To access the method, we'll use:

CALL METHOD <CLASS_REFERENCE>-><INTERFACE-METHOD>.

Using the referenced variable to an interface

To access an attribute, we'll use:

<INTERFACE_REFERENCE>-><ATTRIBUTE>.

To access the method, we'll use:

CALL METHOD <INTERFACE_REFERENCE>-><METHOD>.

Whenever static components of interfaces are involved, only the interface name can be used to access constants:

To access a constant, we'll use:

<INTERFACE>=><CONSTANT>.

For all other static components of an interface, only object references or the class implementing the interface can be used:

To access a static attribute, we'll use:

<CLASS>=><INTERFACE-ATTRIBUTE>.

To call a static method, we'll use:

CALL METHOD <CLASS>=><INTF-METH>.

E.g

*&---------------------------------------------------------------------*
*& Report ZPRUEBA_INTERFACES
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zprueba_interfaces.

*----------------------------------------------------------------------*
* INTERFACE estado
*----------------------------------------------------------------------*
*
* Definición de la interfaz "estado" con un método para imprimir.
*----------------------------------------------------------------------*
INTERFACE estado.
METHODS imprimir.
ENDINTERFACE. "estado

*----------------------------------------------------------------------*
* CLASS contador DEFINITION
*----------------------------------------------------------------------*
*
* Definición de la clase "contador" que implementa la interfaz "estado".
*----------------------------------------------------------------------*
CLASS contador DEFINITION.
PUBLIC SECTION.
INTERFACES estado. " Implementa la interfaz estado.
METHODS incrementar.
PRIVATE SECTION.
DATA cuenta TYPE i.
ENDCLASS. "contador DEFINITION

*----------------------------------------------------------------------*
* CLASS contador IMPLEMENTATION
*----------------------------------------------------------------------*
*
* Implementación de la clase "contador" que incrementa la cuenta.
*----------------------------------------------------------------------*
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
*----------------------------------------------------------------------*
*
* Definición de la clase "bicicleta" que implementa la interfaz "estado".
*----------------------------------------------------------------------*
CLASS bicicleta DEFINITION.
PUBLIC SECTION.
INTERFACES estado. " Implementa la interfaz estado.
METHODS manejar.
PRIVATE SECTION.
DATA velocidad TYPE i.
ENDCLASS. "bicicleta DEFINITION

*----------------------------------------------------------------------*
* CLASS bicicleta IMPLEMENTATION
*----------------------------------------------------------------------*
*
* Implementación de la clase "bicicleta" que maneja la velocidad.
*----------------------------------------------------------------------*
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

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.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.

SAP Expert


Jaime Eduardo Gomez Arango

Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C

✒️Autor de: 149 Publicaciones Académicas

🎓Egresado de los módulos:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.

Certificación Académica de Jaime Gomez

✒️+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!