第五节:测试程序的实现
*&---------------------------------------------------------------------*
*& Report ZBOBO_OO_SAPLINK_004
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBOBO_OO_SAPLINK_004.
INCLUDE ZBOBO_OO_EMPLOYEE_CLASS.
INCLUDE ZBOBO_OO_BOSS_CLASS.
INCLUDE ZBOBO_OO_COMWORKER_CLASS.
INCLUDE ZBOBO_OO_PIWORKER_CLASS.
*定义引用变量
DATA:
EM_REF TYPE REF TO EMPLOYEE,
BO_REF TYPE REF TO BOSS,
CO_REF TYPE REF TO COMMISSIONWORKER,
PI_REF TYPE REF TO PIWORKER.
DATA:
EARNS TYPE F.
START-OF-SELECTION.
*创建boss对象
CREATE OBJECT BO_REF
EXPORTING BOSS_A = 'Jhon'
BOSS_B = 'Smith'
S = '800.00'.
*narrowing cast
EM_REF = BO_REF.
*输出到屏幕
CALL METHOD EM_REF->PRINT.
EARNS = EM_REF->EARNINGS( ).
WRITE: / 'Earned: $',EARNS DECIMALS 2 EXPONENT 0.
*下面的代码基本上和上面的相同
CREATE OBJECT CO_REF
EXPORTING A = 'Sue'
B = 'Jones'
C = '800.00'
D = '3.0'
E = 150.
EM_REF = CO_REF.
CALL METHOD EM_REF->PRINT.
EARNS = EM_REF->EARNINGS( ).
WRITE: / 'Earned: $',EARNS DECIMALS 2 EXPONENT 0.
CREATE OBJECT PI_REF
EXPORTING A = 'BOB'
B = 'LEWIS'
W = '2.5'
Q = 200.
EM_REF = PI_REF.
CALL METHOD EM_REF->PRINT.
EARNS = EM_REF->EARNINGS( ).
WRITE: / 'Earned: $',EARNS DECIMALS 2 EXPONENT 0.