Sei sulla pagina 1di 3

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.

Potrebbero piacerti anche