✒️ABAP POO El tratamiento de Objetos
ABAP POO El tratamiento de Objetos
Bueno, yo hice el ejercicio un poco diferente a como muestra la solución. Lo probé en SE38 y funciona bien.
Se los copio...esencialmente me salió igual. Lo bueno es que logré
IMPORTANTE. Cuando compilé, el control de sintaxis me indicó que para llamar a un método de un objeto debo hacerlo:
objeto->metodo( )
sin necesidad de usar CALL METHOD.
y si es de una clase, debo usar:
clase=>metodo( )
también sin usar CALL METHOD.
Debe ser por la versión de SAP que tengo.
Va el programa fuente. Funciona!!
SPAN {
font-family: "Courier New";
color: #000000;
background: #FFFFFF;
}
.L0S31 {
font-style: italic;
color: #808080;
}
.L0S32 {
color: #3399FF;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}
.L0S55 {
color: #800080;
}
.L0S70 {
color: #808080;
}
*&---------------------------------------------------------------------*
*& Report ZPRUEBA_OBJETOS_RQ48L
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZPRUEBA_OBJETOS_RQ48L.
include ZPRUEBA_OBJETOS_MAIN_RQ48L.
Data:
oAvion Type REF TO avion,
lista_aviones Type Table of REF TO avion.
Data:
cTipo Type SAPLANE-PLANETYPE,
cNombre Type String,
nCantAv Type I.
START-OF-SELECTION.
avion=>mostrar_n_o_aviones( ).
Do 3 times.
Case sy-index.
when 1.
cNombre = 'LH Berlin'.
cTipo = 'A321'.
when 2.
cNombre = 'AA New York'.
cTipo = '747-400'.
when 3.
cNombre = 'US Hercules'.
cTipo = '747-500'.
EndCase.
Create OBJECT oAvion.
oAvion->definir_atributos( pNombre = cNombre pTipoAv = cTipo ).
append oAvion to Lista_aviones.
oAvion->MOSTRAR_ATRIBUTOS( ).
ENDDO.
avion=>mostrar_n_o_aviones( ).
nCantAv = avion=>obtener_n_o_aviones( ).
Write:/ 'Cant.Aviones Leida:',nCantAv.
SPAN {
font-family: "Courier New";
color: #000000;
background: #FFFFFF;
}
.L0S31 {
font-style: italic;
color: #808080;
}
.L0S32 {
color: #3399FF;
}
.L0S33 {
color: #4DA619;
}
.L0S52 {
color: #0000FF;
}
.L0S55 {
color: #800080;
}
.L0S70 {
color: #808080;
}
*&---------------------------------------------------------------------*
*& Include ZPRUEBA_OBJETOS_MAIN_RQ48L
*&---------------------------------------------------------------------*
CLASS AVION DEFINITION.
PUBLIC SECTION.
METHODS: DEFINIR_ATRIBUTOS
IMPORTING pNombre Type String
pTipoAv Type SAPLANE-PLANETYPE,
MOSTRAR_ATRIBUTOS.
CLASS-METHODS: MOSTRAR_N_O_AVIONES,
OBTENER_N_O_AVIONES
RETURNING VALUE(RE_COUNT) Type I.
PRIVATE SECTION.
DATA: NOMBRE Type String,
Tipo_avion Type SAPLANE-PLANETYPE.
CLASS-DATA: N_O_AVIONES Type I.
ENDCLASS.
CLASS AVION IMPLEMENTATION.
METHOD DEFINIR_ATRIBUTOS.
nombre = pNombre.
tipo_avion = pTipoAv.
me->N_O_AVIONES = me->N_O_AVIONES 1.
ENDMETHOD.
METHOD MOSTRAR_ATRIBUTOS.
Write: / NOMBRE, Tipo_avion.
ENDMETHOD.
METHOD MOSTRAR_N_O_AVIONES.
Write: / 'Cant.Aviones',N_O_AVIONES.
ENDMETHOD.
METHOD OBTENER_N_O_AVIONES.
re_count = n_o_aviones.
ENDMETHOD.
 
 
 
Sobre el autor
Publicación académica de Alfredo César, en su ámbito de estudios para el Máster ABAP POO.
Alfredo César
Profesión: Analista de Sistemas - Argentina - Legajo: RQ48L
✒️Autor de: 33 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Alfredo César