Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

banking project

Former Member
0 Likes
640

hi,

i need to do a banking project as a part of my course curriculum..

can anyone help me out giving me ideas of what can be done in this project, considering i have ABAP knowledge.

please oblige me,

regards,

abbas.

hi,

i need to do a banking project as a part of my course curriculum..

can anyone help me out giving me ideas of what can be done in this project, considering i have ABAP knowledge.

please oblige me,

regards,

abbas.

3 REPLIES 3
Read only

SantoshKallem
Active Contributor
0 Likes
557

i too practiced with bank proj, but it is long back.

this is the program i have..

go through it..

u will get an idea.

PROGRAM ZBANK_APPLI MESSAGE-ID ZBANK .

************************************************************************

  • Program Name:

  • Author :

  • Transport Request no :

  • Request By :

  • Date :

  • Purpose:

*

*

************************************************************************

  • Change Log

************************************************************************

  • User | Date | Change Description *

************************************************************************

************************************************************************

  • Tables Declaration

************************************************************************

TABLES :ZBANK1 , " BANK DETAILS

ZDETAILS . " CUSTOMER DETAILS

************************************************************************

  • Internal Tables

************************************************************************

  • Internal table to hold BANK Information

DATA: F1(14) ,

F2(14),

FDATE TYPE D,

TDATE TYPE D.

DATA: IT_BANK LIKE STANDARD TABLE OF ZBANK1 WITH HEADER LINE.

DATA: IT_DETAILS LIKE STANDARD TABLE OF ZDETAILS WITH HEADER LINE.

data: it_bal type standard table of zbank1 with header line.

DATA : BALANCE(10) TYPE N.

DATA : V_FLAG(4) TYPE C.

DATA : V_SAC(9) TYPE C,

V_ACCNO(12) TYPE C.

DATA : DATE(10) TYPE C.

DATA: AC(6) TYPE C VALUE 1000.

DATA : IND TYPE C.

CONSTANTS : V_BANKS(6) TYPE C VALUE 'S10071',

V_BANKC(6) TYPE C VALUE 'C10071'.

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE USER_COMMAND_0100 INPUT.

CASE SY-UCOMM.

WHEN 'LOGIN'.

IF F1 = ' ' AND F2 = ' '.

CALL SCREEN 200.

ENDIF.

ENDCASE.

ENDMODULE. " USER_COMMAND_0100 INPUT

&----


*& Module USER_COMMAND_0200 INPUT

&----


  • text

----


MODULE USER_COMMAND_0200 INPUT.

CASE SY-UCOMM.

WHEN 'CSAC'.

CALL SCREEN 300.

WHEN 'CCAC'.

CALL SCREEN 300.

WHEN 'MODI'.

CALL SCREEN 400.

WHEN 'DEBIT'.

v_flag = 'D'.

clear it_bank.

clear balance.

CALL SCREEN 500.

WHEN 'CREDIT'.

v_flag = 'C'.

clear it_bank.

clear balance.

CALL SCREEN 500.

WHEN 'REPO'.

SUBMIT ZBANK_REPORT VIA SELECTION-SCREEN AND RETURN.

  • CALL SCREEN 700.

when 'BACK'.

CALL SCREEN 100.

ENDCASE.

ENDMODULE. " USER_COMMAND_0200 INPUT

&----


*& Module USER_COMMAND_0300 INPUT

&----


  • text

----


MODULE USER_COMMAND_0300 INPUT.

SET PF-STATUS 'ZBANK'.

CASE SY-UCOMM.

WHEN 'BACK'.

CALL SCREEN 200.

WHEN 'SAVE'.

ZDETAILS = IT_DETAILS.

INSERT ZDETAILS.

IF SY-SUBRC = 0.

IT_BANK-ACCTNO = IT_DETAILS-ACCTNO .

ZBANK1 = IT_BANK.

insert zbank1.

IF SY-SUBRC = 0.

MESSAGE I002 WITH 'RECORD CREATED SUCCESSFULLY' ZDETAILS-ACCTNO.

ELSE.

MESSAGE I002 WITH 'RECORD NOT INSERTED'.

endif.

ENDIF.

ENDCASE.

ENDMODULE. " USER_COMMAND_0300 INPUT

&----


*& Module STATUS_0200 OUTPUT

&----


  • text

----


MODULE STATUS_0200 OUTPUT.

SET PF-STATUS 'ZBANK'.

*SET PF-STATUS 'ZBANK'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0200 OUTPUT

&----


*& Module USER_COMMAND_0400 INPUT

&----


  • text

----


MODULE USER_COMMAND_0400 INPUT.

CASE SY-UCOMM.

when 'SAVE'.

ZDETAILS = IT_DETAILS.

MODIFY ZDETAILS.

IF SY-SUBRC EQ 0.

MESSAGE I002 WITH 'RECORD MODIFIED SUCCESFULLY' ZDETAILS-ACCTNO.

ELSE.

MESSAGE I002 WITH 'RECORD NOT MODIFIED ' ZDETAILS-ACCTNO.

ENDIF.

WHEN 'BACK'.

CALL SCREEN 200.

WHEN 'DISP'.

CALL SCREEN 800.

ENDCASE.

ENDMODULE. " USER_COMMAND_0400 INPUT

&----


*& Module USER_COMMAND_0500 INPUT

&----


  • text

----


MODULE USER_COMMAND_0500 INPUT.

DATA : V_LIN(10) TYPE C.

CASE SY-UCOMM.

WHEN 'UPDA'.

ZBANK1 = IT_BANK.

INSERT ZBANK1.

IF SY-SUBRC = 0.

MESSAGE I002 WITH 'RECORD UPDATE SUCESSFULY' ZBANK1-ACCTNO.

ELSE.

MESSAGE I002 WITH 'RECORD NOT UPDATED' ZBANK1-ACCTNO.

ENDIF.

WHEN 'DISPLAY'.

SELECT AMOUNT IND

FROM ZBANK1

INTO TABLE IT_BANK

WHERE ACCTNO = IT_BANK-ACCTNO

AND IND = 'D' .

DESCRIBE TABLE IT_BANK LINES V_LIN.

READ TABLE IT_BANK INDEX V_LIN.

WRITE IT_BANK-AMOUNT TO BALANCE.

WHEN 'BACK'.

CALL SCREEN 200.

ENDCASE.

ENDMODULE. " USER_COMMAND_0500 INPUT

&----


*& Module STATUS_0300 OUTPUT

&----


  • text

----


MODULE STATUS_0300 OUTPUT.

SET PF-STATUS 'ZBANK'.

DATA : V_LINES(10) TYPE C,

V_LINE(12) TYPE C,

V_ACCNO1(12) TYPE C.

CLEAR IT_DETAILS.

CASE SY-UCOMM.

WHEN 'CSAC'.

V_FLAG = 'S'.

CLEAR IT_DETAILS.

SELECT acctno

FROM ZDETAILS

INTO TABLE IT_DETAILS

WHERE ACCTNO LIKE 'S%'.

IF SY-SUBRC = 0.

SORT IT_DETAILS BY ACCTNO.

DESCRIBE TABLE IT_DETAILS LINES V_LINES.

READ TABLE IT_DETAILS INDEX V_LINES.

v_accno = IT_DETAILS-ACCTNO+6(4).

V_ACCNO = v_accno + 1.

condense v_accno.

CONCATENATE V_BANKS V_ACCNO INTO V_ACCNO.

condense v_accno.

clear IT_DETAILS.

refresh IT_DETAILS.

IT_DETAILS-ACCTNO = V_ACCNO.

DATE = SY-DATUM.

IT_DETAILS-DATE1 = DATE.

write DATE to IT_DETAILS-DATE1.

ELSE.

V_ACCNO = 1000.

V_ACCNO = v_accno + 1.

condense v_accno.

CONCATENATE V_BANKS V_ACCNO INTO V_ACCNO.

condense v_accno.

IT_DETAILS-ACCTNO = V_ACCNO.

ENDIF.

WHEN 'CCAC'.

SELECT acctno

FROM ZDETAILS

INTO TABLE IT_DETAILS

WHERE ACCTNO LIKE 'C%'.

IF SY-SUBRC = 0.

SORT IT_DETAILS BY ACCTNO.

DESCRIBE TABLE IT_DETAILS LINES V_LINES.

READ TABLE IT_DETAILS INDEX V_LINES.

v_accno = IT_DETAILS-ACCTNO+6(4).

V_ACCNO = v_accno + 1.

condense v_accno.

CONCATENATE V_BANKC V_ACCNO INTO V_ACCNO.

condense v_accno.

clear IT_DETAILS.

refresh IT_DETAILS.

DATE = SY-DATUM.

IT_DETAILS-DATE1 = DATE.

write DATE to IT_DETAILS-DATE1.

  • IT_DETAILS-ACCTNO = V_ACCNO.

ELSE.

V_ACCNO = 1000.

V_ACCNO = v_accno + 1.

condense v_accno.

CONCATENATE V_BANKC V_ACCNO INTO V_ACCNO.

condense v_accno.

ENDIF.

IT_DETAILS-ACCTNO = V_ACCNO.

ENDCASE.

ENDMODULE. " STATUS_0300 OUTPUT

&----


&----


*& Module STATUS_0400 OUTPUT

&----


  • text

----


MODULE STATUS_0400 OUTPUT.

clear it_details.

DATE = SY-DATUM.

IT_DETAILS-DATE1 = DATE.

write DATE to it_details-date1.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0400 OUTPUT

&----


*& Module STATUS_0500 OUTPUT

&----


  • text

----


MODULE STATUS_0500 OUTPUT.

SET PF-STATUS 'ZBANK'.

DATA : V_LLINES(6) TYPE C,

V_TRANSACTION(6) TYPE C.

  • SELECT TRANSACTIONNO FROM ZBANK1 INTO TABLE IT_BANK.

*

*

  • IF SY-SUBRC = 0.

*

  • SORT IT_BANK BY TRANSACTIONNO.

  • DESCRIBE TABLE IT_BANK LINES V_LLINES.

  • READ TABLE IT_BANK INDEX V_LLINES.

*

*

  • V_TRANSACTION = V_LLINES + 1.

*

    • clear IT_BANK.

    • refresh IT_BANK.

  • IT_BANK-TRANSACTIONNO = V_TRANSACTION.

*

  • ELSE.

    • CLEAR IT_BANK.

  • V_TRANSACTION = 0.

  • V_TRANSACTION = V_TRANSACTION + 1.

*

  • IT_BANK-TRANSACTIONNO = V_TRANSACTION.

*

*

  • ENDIF.

*

  • DATE = SY-DATUM.

  • IT_BANK-DATE1 = DATE.

  • write DATE to IT_BANK-DATE1.

*

    • SET PF-STATUS 'xxxxxxxx'.

    • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0500 OUTPUT

&----


*& Module USER_COMMAND_0700 INPUT

&----


  • text

----


MODULE USER_COMMAND_0700 INPUT.

SET PF-STATUS 'ZBANK'.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE TO SCREEN 0 .

  • WHEN 'REPO'.

  • SUBMIT ZBANKAPPLI VIA SELECTION-SCREEN AND RETURN.

ENDCASE.

ENDMODULE. " USER_COMMAND_0700 INPUT

&----


*& Module USER_COMMAND_0800 INPUT

&----


  • text

----


MODULE USER_COMMAND_0800 INPUT.

CASE SY-UCOMM.

WHEN 'DISP'.

SELECT * FROM

ZDETAILS

INTO table IT_DETAILS

WHERE ACCTNO = IT_DETAILS-ACCTNO.

if sy-subrc = 0.

read table it_details index 1.

endif.

  • APPEND IT_DETAILS.

  • ENDSELECT.

ENDCASE.

ENDMODULE. " USER_COMMAND_0800 INPUT

&----


*& Module STATUS_0800 OUTPUT

&----


  • text

----


MODULE STATUS_0800 OUTPUT.

SET PF-STATUS 'ZBANK'.

CASE SY-UCOMM.

WHEN 'BACK'.

CALL SCREEN 400.

ENDCASE.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0800 OUTPUT

&----


*& Module STATUS_0900 OUTPUT

&----


  • text

----


MODULE STATUS_0900 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

ENDMODULE. " STATUS_0900 OUTPUT

&----


*& Module hide_buttons OUTPUT

&----


  • text

----


MODULE hide_buttons OUTPUT.

loop at screen.

IF V_FLAG = 'D'.

IND = 'D'.

WRITE IND TO IT_BANK-IND.

IF SCREEN-GROUP1 = '111'.

screen-invisible = '1'.

MODIFY SCREEN.

endif.

endif.

if V_FLAG = 'C'.

IND = 'c'.

WRITE IND TO IT_BANK-IND.

IF SCREEN-GROUP1 = '222'.

screen-invisible = '1'.

MODIFY SCREEN.

endif.

endif.

endloop.

ENDMODULE. " hide_buttons OUTPUT

&----


*& Module test INPUT

&----


  • text

----


MODULE test INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE TO SCREEN 200.

ENDCASE.

ENDMODULE. " test INPUT

&----


*& Module TEST1 INPUT

&----


  • text

----


MODULE TEST1 INPUT.

CASE SY-UCOMM.

WHEN 'BACK'.

LEAVE TO SCREEN 200.

ENDCASE.

ENDMODULE. " TEST1 INPUT

&----


*& Module display_balance OUTPUT

&----


  • text

----


MODULE display_balance OUTPUT.

if not it_bank-acctno is initial.

select *

from zbank1

into table it_bal

where acctno = it_bank-acctno.

if sy-subrc = 0.

clear balance.

loop at it_bal.

if it_bal-ind = 'D'.

balance = balance + it_bal-amount.

elseif it_bal-ind = 'C'.

balance = balance - it_bal-amount.

endif.

endloop.

endif.

endif.

ENDMODULE. " display_balance OUTPUT

<b> reward if useful </b>

Read only

0 Likes
557

hey,

thanks for the code, however it would be really helpful if u would tell me what transactions ur project had, for eg. i am planning to put three, trnsactions namely, Deposit, Withdraw, and transction statements,,

can u give me an idea of what more can be done..

if u have the documentation and screen shots, that wud really give me an idea of how to go about doing it..

ur hints and tips are most welcome,

regards,

abbas

Read only

SantoshKallem
Active Contributor
0 Likes
557

i did it long back.

i did't have documentation,screen shots.

it was not much good project. did't took all the transactions into picture.

as we did in it is.

account may have saving and current.

if it is savings account, number should start with SA(and some number)

like SA20000. and for current account CA20000.

by the way , in this project there are ztables.

for the first time account creation that 20000 should be hardcoded.

from second tie onwards it should be autogenerated.

by fetching previous account number and adding to it.

for more clarification go with code..

i did't remember all....

before starting. first put it on paper (for more ideas)

regards..