Clases Locales en ABAP

Prefacio – Esta publicación es parte del Programas ABAP .

En ABAP, es posible que haya aprendido a crear clases globales utilizando SE24, código de transacción. Pero en algún momento, existe el requisito de crear una clase local y su llamada de método por completo en un informe. En este artículo, aprenderemos cómo implementar clases locales en ABAP.

Introducción

Las clases locales en ABAP son como clases de Lenguaje de programación C/C++. Definimos lo siguiente al hacer la implementación de clases locales en ABAP:

  • Clase: Definimos una clase con diferente sección: Pública, Privada y Protegida
  • Método: Definimos parámetros de Importación, Exportación y Excepción para un Método
  • Crear Objeto: Esto también lo creamos para nuestras clases Globales, usado para crear un objeto para una Clase en nuestro programas ABAP
  • CALL METHOD: Para llamar a los métodos de la clase, utilizando el objeto creado anteriormente.
Clases locales en ABAP - Ilustración de imagen
Implementación de clase local en ABAP – Ilustración de imagen

 

Programa ABAP

Requisito del programa: Obtenga detalles básicos y salariales de un empleado de dos clases diferentes. Tome la identificación del empleado como entrada.

CLASE class_test DEFINICIÓN DIFERIDA. PARÁMETROS: p_empid TIPO char8. DATOS: wa_emp TIPO zBarry_emp, wa_emp2 TIPO zBarry_sal. DATOS: obj TIPO REF TO class_test. Interfaz de INTERFAZ. MÉTODOS: método2 IMPORTAR imp2 TIPO char8 EXPORTAR exp2 TIPO zBarry_sal. INTERFAZ TERMINAL. CLASE class_test DEFINICIÓN. SECCIÓN PÚBLICA. EVENTOS: evento1. INTERFACES: interfaz. MÉTODOS: método1 IMPORTAR imp TIPO char8 EXPORTAR exp TIPO zBarry_emp. MÉTODOS: manejador de eventos PARA EVENTO evento1 DE class_test. FIN DE CLASE. CREAR OBJETO obj. SET HANDLER obj->controlador de eventos FOR obj. LLAME AL MÉTODO obj->método1 EXPORTANDO imp = p_empid IMPORTANDO exp = wa_emp. MÉTODO DE LLAMADA obj->interface~method2 EXPORTANDO imp2 = p_empid IMPORTANDO exp2 = wa_emp2. ESCRIBE:/wa_emp. escribe:/wa_emp2-empid, wa_emp2-tid,wa_emp2-mon. *&------------------------------------------------ ---------------------* *& Clase (Implementación) class_test *&------------------- -------------------------------------------------- * * Texto *---------------------------------------------- ------------------------* CLASE class_test IMPLEMENTACIÓN. MÉTODO método1. SELECCIONE * DESDE zBarry_emp EN exp DONDE empid = imp. ENDSELECT. SI sy-subrc NE 0. AUMENTAR EVENTO evento1. TERMINARA SI. MÉTODO FINAL. MÉTODO interfaz ~ método2. SELECCIONE * DE zBarry_sal EN exp2 DONDE empid = imp2. ENDSELECT. MÉTODO FINAL. manejador de eventos METHOD. ESCRIBE:/ 'empid incorrecto'. MÉTODO FINAL. FIN DE CLASE. "prueba de clase

Explicación del código

En el código anterior, hemos realizado la siguiente implementación, paso a paso:

  1. Inicialmente, hemos definido parámetros para tomar la identificación del empleado como entrada, variables para definir el área de trabajo para almacenar datos de los detalles básicos del empleado y los detalles del salario y el objeto. obj 
  2. Implementación de una clase local y una interfaz.
  3. Exportar ID de empleado y obtener datos relevantes de estas clases/interfaz.
  4. Imprimiendo el resultado anterior usando la instrucción Write.

Autor


Comentarios

Deje un comentario

Su dirección de correo electrónico no será publicada. Las areas obligatorias están marcadas como requeridas *

Este sitio usa Akismet para reducir el correo no deseado. Descubra cómo se procesan los datos de sus comentarios.