Free Tutorials, Linux Command, Source Code Architecture,  Software Engineering, Intelligent Systems, RDBMS, Computer Accounting,  Operations Research, Discrete Mathematics, Network, SAD Lay Networks Lay Networks
Computer Science Networking Operating Systems Linux and Unix Source Code Script & Languages Protocols Glossary
Web laynetworks.com
Google
 


Cobol File system and programming
Contributed by K. L. Moorthi (TMA)

2

identification division.
program-id. depreciation.

environment division.
configuration section.
source-computer. ibm-pc.
object-computer. ibm-pc.

input-output section.
file-control.
select inrec assign to disk.
select sortrec assign to disk.
select sortedrec assign to disk.
select outrec assign to disk.

data division.
file section.
fd inrec
label records are standard
value of file-id is "deprn.dat"
data record is in-rec.

01 in-rec.
02 i-machine-no pic 9(5).
02 i-machine-name pic x(15).
02 i-machine-value pic 9(5).
02 i-year-purchase pic 9(4).
02 i-deprn-yrs pic 99.

fd outrec
label records are standard
value of file-id is "deprn1.dat"
data record is out-rec.

01 out-rec.
02 o-machine-no pic 9(5).
02 o-machine-name pic x(15).
02 o-machine-value pic 9(5).
02 o-year-purchase pic 9(4).
02 o-deprn-yrs pic 99.
02 o-deprn-value pic 9(5).

sd sortrec
data record is sort-rec.

01 sort-rec.
02 s-machine-no pic 9(5).
02 s-machine-name pic x(15).
02 s-machine-value pic 9(5).
02 s-year-purchase pic 9(4).
02 s-deprn-yrs pic 99.
02 s-deprn-value pic 9(5).

fd sortedrec
label records are standard
value of file-id is "sortdepn.dat"
data record is sorted-rec.

01 sorted-rec.
02 machine-no-s pic 9(5).
02 machine-name-s pic x(15).
02 machine-value-s pic 9(5).
02 year-purchase-s pic 9(4).
02 deprn-yrs-s pic 99.
02 deprn-value-s pic 9(5).

working-storage section.

01 heading.
02 head-ing pic b(18)x(22)b value spaces.
02 head-yrs pic z9b value zero.
02 filler pic x(7)b value "Year(s)".
02 head-asofrom pic x(5)b value spaces.
02 head-yr pic 9999b(18) value zero.

01 head.
02 filler pic x(3) value spaces.
02 filler pic x(12) value "Asset No : ".
02 h-machine-no pic zzzz9b(4) value zero.
02 filler pic x(14) value "Asset Name : ".
02 h-machine-name pic x(12)b(4) value spaces.
02 filler pic x(17) value "Asset Value :".
02 h-machine-value pic zz,zz9bbb value zero.

01 head1.
02 filler pic x(4) value spaces.
02 filler pic x(20) value "Year Purchased : ".
02 h1-year-purchase pic 9(4)b(5) value zero.
02 filler pic x(11) value "Life Yrs : ".
02 h1-deprn-yrs pic z9b(5) value zero.
02 filler pic x(20) value "Yly Deprn Value : ".
02 h1-deprn-value pic zz,zz9bbb value zero.

01 head2.
02 filler pic x(6) value spaces.
02 filler pic x(5)b(7) value "Year".
02 filler pic x(15)b(7) value "Depreciation".
02 filler pic x(15)b(7) value "Acc Deprn".
02 filler pic x(10)b(8) value "Bal Value".

01 head3.
02 filler pic x(80) value all "-".

01 head4.
02 filler pic x(23) value spaces.
02 filler pic x(20)b(10) value "End of Asset No : ".
02 h4-machine-no pic zzzz9b(22) value zero.

01 head5.
02 filler pic x(8) value spaces.
02 filler pic x(10) value "Sorted By".
02 sortname pic x(28)b(8) value spaces.
02 headname pic x(18)b(8) value spaces.

01 write-rec.

02 filler pic x(6) value spaces.
02 w-year pic zzz9b(11) value zero.
02 w-deprn pic zz,zz9b(14) value zero.
02 w-acc-deprn pic zz,zz9b(16) value zero.
02 w-bal-amt pic zz,zz9 value zero.

01 ctr pic 9.
01 ctr1 pic 99.
01 cfm pic x.
01 eof pic 9.
01 pyear pic 9999.
01 reqd-yrs pic 99.

01 deprn pic 9(5).
01 add-acc-deprn pic 9(5).
01 m-value pic 9(5).
01 temp pic 99.
01 addyr pic 9999.
01 deprn-yrs-chart pic 99.

01 yps pic 9(4).
01 mvs pic 9(5).

screen section.
01 clrscr.
02 blank screen.

procedure division.

* Main *

main.

display clrscr.
move 0 to ctr.
display "Main Menu".
display "1 Entry".
display "2 Calculation".
display "3 View".
display "4 Exit".
display "Choice (1 / 2 / 3 / 4)".
accept ctr.

if ctr > 0 and ctr < 5
go to entry
calc
sort1
eoj depending on ctr
else
go to main.

* Input *

entry.

open extend inrec.
move "y" to cfm.
perform init thru inputacc until cfm = "n".
close inrec.
go to main.

init.

move zero to i-machine-no
i-machine-value
i-year-purchase
i-deprn-yrs.
move spaces to i-machine-name.

inputacc.

display clrscr.
display "Entries".
display "Asset Number :".
accept i-machine-no.
display "Asset Name :".
accept i-machine-name.
display "Asset Value :".
accept i-machine-value.
display "Year Purchased :".
accept i-year-purchase.
display "Life in Years :".
accept i-deprn-yrs.
write in-rec.
display "Continue y / n :".
accept cfm.

* calculation *

calc.

open input inrec
output outrec.
move 0 to eof
ctr1.
perform read1.
perform move1 until eof = 1.
close inrec
outrec.
go to main.

read1.

read inrec at end move 1 to eof.

move1.

move 0 to deprn.
compute deprn rounded = (i-machine-value / i-deprn-yrs).
move i-machine-no to o-machine-no.
move i-machine-name to o-machine-name.
move i-machine-value to o-machine-value.
move i-year-purchase to o-year-purchase.
move i-deprn-yrs to o-deprn-yrs.
move deprn to o-deprn-value.
write out-rec.
perform read1.

* sorting *

sort1.

display clrscr.
move 0 to ctr.
move spaces to sortname.
move "Machine Number" to sortname
sort sortrec on ascending key s-machine-no
using outrec
giving sortedrec.
go to disp.

* view *

disp.

open input sortedrec.
move 0 to eof
pyear.
display clrscr.
display "Current year YYYY (ex. 1989) :".
accept pyear.
perform disp1.
perform multidisp.
close sortedrec.
go to main.

multidisp.

display clrscr.
move 0 to ctr.
display "Order of View".
display "01 All - As of the Year Entered".
display "02 Obsolete".
display "03 No of Years Required".
display "Choice (1 / 2 / 3) :".
accept ctr.

if ctr = 1
move "= > All Items" to headname
display head5
perform allitems until eof = 1

else

if ctr = 2

move "= > Obsolete Items" to headname
display head5
perform obsolete until eof = 1

else

if ctr = 3

display clrscr
move 0 to reqd-yrs
display "Enter No of Yrs Required :"
accept reqd-yrs
move "= > Active Items" to headname
display head5
perform reqdyrsonly until eof = 1

else

go to multidisp.


disp1.

read sortedrec at end move 1 to eof.

initialize1.

move 0 to addyr
ctr1
temp
m-value
add-acc-deprn
h4-machine-no
h-machine-no
h-machine-value
h1-year-purchase
h1-deprn-yrs
h1-deprn-value
deprn-yrs-chart.
move spaces to h-machine-name.

yr-calc1.

compute deprn-yrs-chart = pyear - year-purchase-s.

* All Items *

allitems.

perform initialize1.
perform yr-calc1.

if deprn-yrs-chart < deprn-yrs-s

compute deprn-yrs-chart = deprn-yrs-chart + 1
move deprn-yrs-chart to temp

else

move deprn-yrs-s to temp.

perform proc.


* Obsolete Items Only *

obsolete.

perform initialize1.
perform yr-calc1.

compute deprn-yrs-chart = deprn-yrs-chart + 1.

if deprn-yrs-s < deprn-yrs-chart

move deprn-yrs-s to temp
perform proc

else

perform disp1.

* Required Number of Years *

reqdyrsonly.

perform initialize1.
perform yr-calc1.

compute deprn-yrs-chart = pyear - year-purchase-s.

compute deprn-yrs-chart = deprn-yrs-chart + 1.

if ( deprn-yrs-s < reqd-yrs or deprn-yrs-s = reqd-yrs ) and
( deprn-yrs-s > deprn-yrs-chart or
deprn-yrs-s = deprn-yrs-chart )

move deprn-yrs-s to temp
perform proc

else

if deprn-yrs-chart = deprn-yrs-s
move 0 to yps mvs

compute deprn-yrs-chart = deprn-yrs-s - reqd-yrs
compute yps = year-purchase-s + deprn-yrs-chart
compute mvs = machine-value-s -
( deprn-value-s * deprn-yrs-chart )
perform move4
move reqd-yrs to temp
head-yrs
move deprn-yrs-chart to ctr1
move yps to addyr
head-yr
move mvs to h-machine-value
m-value
perform head50

else
perform disp1.

proc.

perform move4.
perform head50.

move4.

* head1

move "Depreciation Chart for " to head-ing.

if ( ctr = 1 or ctr = 2 )

if deprn-yrs-chart > deprn-yrs-s

move deprn-yrs-s to head-yrs
move "As of" to head-asofrom
move pyear to head-yr

else

move deprn-yrs-chart to head-yrs
move "As of" to head-asofrom
move pyear to head-yr

else

if ctr = 3

move deprn-yrs-s to head-yrs
move "From " to head-asofrom
move year-purchase-s to head-yr.

* head2

move machine-value-s to h-machine-value
m-value.
move machine-no-s to h-machine-no

* tail1
h4-machine-no.

move machine-name-s to h-machine-name.

* head3

move year-purchase-s to h1-year-purchase.
move deprn-yrs-s to h1-deprn-yrs.
move deprn-value-s to h1-deprn-value.

* head4

* body

* tail2

* general

move year-purchase-s to addyr.

head50.

display clrscr.
display head3
heading
head3
head
head3
head1
head3
head2
head3.
perform loop1 temp times.
display head3
head4
head3.
display " ".
perform disp1.

loop1.

compute ctr1 = ctr1 + 1.

if ctr1 = deprn-yrs-s

move m-value to w-deprn
compute add-acc-deprn = add-acc-deprn + m-value
compute m-value = m-value - m-value

else

move deprn-value-s to w-deprn
compute add-acc-deprn = add-acc-deprn + deprn-value-s
compute m-value = m-value - deprn-value-s.

move addyr to w-year.
move add-acc-deprn to w-acc-deprn.
move m-value to w-bal-amt.

add 1 to addyr.
display write-rec.


**************
* end of job *
**************

eoj.

stop run.

--------------------------------------------------------------------------------

Contributed by praveen kumar agarwal.

comments: solution for cs-03 tma problem no:2

identification division.
program-id. deprcalc.
environment division.
data division.
working-storage section.
01 dep-table.
02 item-no occurs 10 times.
03 item-name pic a(20).
03 purchase-price pic 9(6).
03 yr-purchase pic 9(4).
03 remain-val pic 9(5).
03 useful-life pic 9.
77 depreciation pic 9(6) usage is comp-3.
77 i pic 9.
77 depr-year pic 9(4).
77 no-of-year pic 9 value 1.
77 intr pic x.
screen section.
01 blank-screen.
03 blank screen.
01 screen-display.
03 blank screen.
03 line 1 column 1 value "__________________________________
- "_______________".
03 line 2 column 20 value "DEPRECIATION TABLE".
03 line 3 column 1 value "__________________________________
- "_______________".
03 LINE 4 COLUMN 1 VALUE "DEPRECIATION PURCHASE EXPIRY
- "SALVAGE DEPR".
03 LINE 5 COLUMN 1 VALUE " AMOUNT YEAR LIFE
- "VALUE YEAR".
03 line 6 column 1 value "__________________________________
- "_______________".
procedure division.
mainpara.
move 1 to i.
move i to lin.
perform read-depr 10 times.
move 1 to i.
move 7 to lin.
display screen-display.
perform disp-table 10 times.
stop run.
read-depr.
display (1, 10) "accept item name".
accept (1, 40) item-name(i).
display (2, 10) "accept purchase price".
accept (2, 40) purchase-price(i).
display (3, 10) "accept year purchased".
accept (3, 40) yr-purchase(i).
display (4, 10) "accept remaining value".
accept (4, 40) remain-val(i).
display (5, 10) "accept useful life of asset".
accept (5, 40) useful-life(i).
add 1 to i.
display blank-screen.
add 1 to lin.
disp-table.
if lin > 24
display blank-screen
display screen-display
move 7 to lin
move 1 to no-of-year.
perform calc-depr.
if useful-life(i) > 5
move 5 to no-of-year
else
move useful-life(i) to no-of-year.
perform disp-depr no-of-year times.
* no-of-year = useful-life(i) or
* no-of-year = 5 times.
add 1 to i.
add 2 to lin.
calc-depr.
compute depreciation = (purchase-price(i) - remain-val(i) )
/ useful-life(i).
move yr-purchase(i) to depr-year.
disp-depr.
display (lin, 3) depreciation.
display (lin, 16) yr-purchase(i).
display (lin, 26) useful-life(i).
display (lin, 37) remain-val(i).
display (lin, 44) depr-year.
add 1 to depr-year, lin, no-of-year.
if lin > 24
display (23, 10) "press any key to continue"
accept intr
display blank-screen
move 1 to lin.


Top

Back
FDDI Frequently Asked Questions (FAQ), The function and frame format of FDDI,Aloha,Comparative analysis between two types of ATM Switches,Knockout Switch,Barcher-Banyan Switch,Various popular standards for compressing multimedia data,Distributed Multimedia Survey: Standards, ASCII to hex value chart,Comparative analysis - TCP - UDP, Addressing Formats and QoS parameters, Bellman Ford's Algorithm Lay networks, free, java, java script, asp, vb, linux, ignou, tutorial, Unix commands, System Analysis, System Design, Ipv6, quiz, download, free, Computer Architecture, Object Oriented System, Relational Database Management Systems, Object Oriented System, Operating Systems, Software Engineering, Communications and Networks, Discrete Mathematics, Intelligent Systems, Operations Research, Accounting and Finance on Computersmca, networking, protocols, glossary, assignment, project, tma, programming source code, programming, source code, unix, free
 
Book Mark/Share this site at BlinkBits BlinkList Blogmarks co.mments Delicious Digg Fark Furl it! Google Ma.gnolia Netvouz NewsVine RawSugar Reddit Shadows Simpy Stumble Technorati YahooMyWeb

Copyright © 2000- 2007 Lay Networks All rights reserved. 
This website is best viewed in Firefox 1.0.1 above.

Web Hosting sponsored by Customized Software Company India
Web Site Designed by Web Designing, Flash Animation, Multimedia Presentations, Broacher/catalogue designing, Web Promotion 
Refer to your freind About Us Legal IGNOU Contact Us Feedback Donate to laynetworks.com Download Management Tutorials Tutorials History Search here