Excercise 4 - Calcolatrice
• Definire un parametro per Operando1 ed un parametro per Operando2
• Definire un radiobutton per la selezione della operazione
• Implementare con ABAP OOP il calcolo del risultato
• Istanziare Operando1 e Operando2, istanziare il risultato
• Calcolare il risultato con un metodo e visualizzarlo con un altro metodo
REPORT Z_CALCOLATRICE.
PARAMETERS: p_op1 TYPE i,
p_op2 TYPE i.
PARAMETERS: p_1 RADIOBUTTON GROUP g1, "+
p_2 RADIOBUTTON GROUP g1, "-
p_3 RADIOBUTTON GROUP g1, "*
p_4 RADIOBUTTON GROUP g1. "/
*---------------------------------------------------------------------*
* CLASS calcolatrice DEFINITION
*---------------------------------------------------------------------*
CLASS calcolatrice DEFINITION.
PUBLIC SECTION.
METHODS: somma IMPORTING value(op1) TYPE i value(op2) TYPE i,
sottr IMPORTING value(op1) TYPE i value(op2) TYPE i,
molt IMPORTING value(op1) TYPE i value(op2) TYPE i,
div IMPORTING value(op1) TYPE i value(op2) TYPE i,
result EXPORTING value(va_res) TYPE i.
PRIVATE SECTION.
DATA va_result TYPE i.
ENDCLASS. "calcolatrice DEFINITION
*---------------------------------------------------------------------*
* CLASS calcolatrice IMPLEMENTATION
*---------------------------------------------------------------------*
CLASS calcolatrice IMPLEMENTATION.
METHOD somma.
va_result = p_op1 + p_op2.
ENDMETHOD. "somma
METHOD sottr.
va_result = p_op1 - p_op2.
ENDMETHOD. "sottr
METHOD molt.
va_result = p_op1 * p_op2.
ENDMETHOD. "molt
METHOD div.
va_result = p_op1 / p_op2.
ENDMETHOD. "div
METHOD result.
va_res = va_result.
ENDMETHOD. "result
ENDCLASS. "calcolatrice IMPLEMENTATION
START-OF-SELECTION.
DATA: Calc type ref to calcolatrice.
data: va_result type i.
CREATE OBJECT Calc.
IF p_1 EQ 'X'.
CALL METHOD calc->somma
EXPORTING
op1 = p_op1
op2 = p_op2.
ELSEIF p_2 EQ 'X'.
CALL METHOD calc->sottr
EXPORTING
op1 = p_op1
op2 = p_op2.
ELSEIF p_3 EQ 'X'.
CALL METHOD calc->molt
EXPORTING
op1 = p_op1
op2 = p_op2.
ELSEIF p_4 EQ 'X'.
CALL METHOD calc->div
EXPORTING
op1 = p_op1
op2 = p_op2.
ENDIF.
CALL METHOD calc->result IMPORTING va_res = va_result .
WRITE: va_result.
END-OF-SELECTION.