Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8378

Required Suggestion/Help in Object Oriented Programming

$
0
0

Dear Friends,

I have a query related to Object Oriented program where I have to maintain customer's record i.e. customer id, customer name, and respective balance amount. As I have crafted a small program can anybody tell me is this the correct way which I have developed? Or any alteration required / or how to develop such kind of OO programs especially we have to manage more complex records (insert/update/delete).

In this program I have created 2 customers with respective amount i.e.

 

ID-NAME-BALANCE

1-CUSTOMER1-1000

2-CUSTOMER2-500

 

And withdraw amount from customer1's account

(Pl. suggest me in program - Am I right or not the way of writing a code)

 

REPORT  ZTEST_AVI.

CLASS CUSTOMER DEFINITION.
PUBLIC SECTION.
METHODS : CREATECUST IMPORTING VALUE(CID) TYPE I VALUE(CNM) TYPE CHAR50,
DISPCUST
EXPORTING VALUE(DCID) TYPE I VALUE(DCNM) TYPE CHAR50.

PRIVATE SECTION.
DATA : ID TYPE I,
NM
TYPE CHAR50.

ENDCLASS.

CLASS CUSTOMER IMPLEMENTATION.
METHOD CREATECUST.
ID = CID.
NM = CNM.
ENDMETHOD.

METHOD DISPCUST.
DCID = ID.
DCNM = NM.
ENDMETHOD.

ENDCLASS.

CLASS BANK DEFINITION.
PUBLIC SECTION.
METHODS : DEPOSIT IMPORTING VALUE(DPAMT) TYPE I,
WITHDRAW
IMPORTING VALUE(WDAMT) TYPE I,
DISPLAY
EXPORTING VALUE(BLN) TYPE I.
PRIVATE SECTION.
DATA : BALANCE TYPE I.

ENDCLASS.

CLASS BANK IMPLEMENTATION.
METHOD DEPOSIT.
BALANCE = BALANCE + DPAMT.
ENDMETHOD.

METHOD WITHDRAW.
BALANCE = BALANCE - WDAMT.
ENDMETHOD.

METHOD DISPLAY.
BLN = BALANCE.
ENDMETHOD.

ENDCLASS.

DATA :
C1
TYPE REF TO CUSTOMER,
B1
TYPE REF TO BANK .
DATA :
" FOR MULTIPLE CUSTOMER'S RECORD STORAGE
BEGIN OF ITAB OCCURS 0,                                      
C1
TYPE REF TO CUSTOMER,
B1
TYPE REF TO BANK,
END OF ITAB.

START-OF-SELECTION.


" CREATE CUSTOMER AND THEIR DEPOSIT AMOUNT

CREATE OBJECT: C1,B1.
CALL METHOD C1->CREATECUST EXPORTING CID = 1 CNM = 'CUSTOMER1'.
CALL METHOD B1->DEPOSIT EXPORTING DPAMT = 1000.
ITAB-C1 = C1.
ITAB-B1 = B1.
APPEND ITAB.
CLEAR:C1,B1.


CREATE OBJECT: C1,B1.
CALL METHOD C1->CREATECUST EXPORTING CID = 2 CNM = 'CUSTOMER2'.
CALL METHOD B1->DEPOSIT EXPORTING DPAMT = 500.
ITAB-C1 = C1.
ITAB-B1 = B1.
APPEND ITAB.
CLEAR:C1,B1.



DATA : EID TYPE I,
ENM
TYPE CHAR50,
BAL
TYPE I.

" WITHDRAW AMOUNT FROM CUSTOMER'S ACCOUNT (CUSTOMER ID = 1)

LOOP AT ITAB.                                                          
C1 = ITAB-C1.
B1 = ITAB-B1.
CALL METHOD C1->DISPCUST IMPORTING DCID = EID DCNM = ENM.
IF EID EQ 1.
CALL METHOD B1->WITHDRAW EXPORTING WDAMT = 100.
ENDIF.
ENDLOOP.


" DISPLAY RECORDS
LOOP AT ITAB.                                                          
C1 = ITAB-C1.
B1 = ITAB-B1.

CALL METHOD C1->DISPCUST IMPORTING DCID = EID DCNM = ENM.
CALL METHOD B1->DISPLAY IMPORTING BLN = BAL.
WRITE : / EID,ENM,BAL.

ENDLOOP.



-Thanks,


Viewing all articles
Browse latest Browse all 8378

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>