 |
UV Software has a complete solution for conversion of mainframe
MVS or VSE JCL, COBOL, & DATA batch systems to Unix, Linux, or Windows/SFU.
Over 50 successful conversions including global corporations & government agencies.
Please see demo conversions & detailed explanations at:
www.uvsoftware.ca
You may send samples of your files for conversion & return by email.
You may download 1 free utility from:
www.uvsoftware.ca/ libuvhd.htm
'uvhd' displays data files with packed/binary fields in 'vertical hexadecimal',
and includes many interactive functions (browse, search, select, update, print, etc).
|
 |
COBOL Services |
Travancore Software Solutions
offers winning mainframe COBOL strategies for:
- SOA Enablement
- Mainframe COBOL Migration
- Mainframe COBOL Application Development
- Mainframe Application Support & Maintenance
- Enterprise Application Integration
Contact us at sales@travancore.net. |
 |
COBOL Report Generator |
|
Print graphical COBOL reports in Windows with
RPV Reports.
Insert graphics (images, photos, logos, charts, etc.) into your COBOL reports
to improve the print quality of your COBOL reports.
See how RPV Reports can be used to preview or print graphical COBOL reports in Windows. |
 |
COBOL Documentation |
|
Are your mainframe COBOL applications properly documented?
DCD III
is a comprehensive COBOL documentation and application
understanding tool that will allow you to reduce COBOL maintenance,
development, and mainframe migration costs.
Learn more about how you can document and understand your mainframe COBOL
applications with DCD III. |
 |
COBOL Migration |
|
Migrate your batch mainframe COBOL applications to open systems platforms,
such as Windows, AIX and Linux, with
OpenSCL.
OpenSCL is a mainframe emulator that runs on a PC or
server with Windows and Unix-based operating systems.
OpenSCL is your batch mainframe COBOL applications migration solution. |
 |
Advertise With COBUG |
|
Advertise on the
COBUG website and reach tens of thousands of COBOL users. Increase
your COBOL sales leads.
Contact COBUG at advertise@cobug.com for advertising rates.
|
 |
|
 |
|
|
| |
|
COBOL Language [
return
] |
|
From |
Message |
adarshr
9/20/2008 10:31:13
|
Subject: EMI Program in COBOL
Message: I need an urgent help. I am working in a financial organization and we are using the COBOL system from 1985. Currently we need an EMI system with the existing COBOL system. Any one can help me to generate an EMI chart like:
If principle Rs.100000 and period 5 years and rat of interest 12%. The chart should shown as 1)Month 2)Principle 3)Interest 4)EMI
Please help me to do a program in cobol to generate this chart
|
kenlundeen
12/23/2008 19:25:13
| RE: EMI Program in COBOL
Message: Hi, adarshr -
I don't know if you have received any solution for your EMI program, but I wrote a simple amortization program in COBOL a few years ago. Maybe it will serve as a starting point for you. The principal, interest rate, and number of years are entered online and the report is printed out.
The program is below. Hopefully, any line overflow problems will get resolved when you copy/paste the program to your source code location.
kenlundeen
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. AMORTIZE.
000300 ENVIRONMENT DIVISION.
000400 CONFIGURATION SECTION.
000500 SOURCE-COMPUTER. IBM-PC.
000600 OBJECT-COMPUTER. IBM-PC.
000700 INPUT-OUTPUT SECTION.
000800 FILE-CONTROL.
001100 SELECT AMORT-PRT ASSIGN TO 'AMORTPRT'
ACCESS IS SEQUENTIAL.
001200 DATA DIVISION.
001300 FILE SECTION.
002000 FD AMORT-PRT
002100 RECORDING MODE IS F
LABEL RECORDS ARE STANDARD
002200 RECORD CONTAINS 72 CHARACTERS
002300 DATA RECORD IS AMORT-PRT-RECORD.
002400 01 AMORT-PRT-RECORD.
002500 05 FILLER PIC X(72).
002600
002700 WORKING-STORAGE SECTION.
002800 01 WS-DETAIL-LINE.
002810 05 FILLER PIC X(01).
002900 05 WS-AMORT-NUMBER PIC 999.
003000 05 FILLER PIC X(03).
003100 05 WS-AMORT-MM PIC 99.
003110 05 WS-AMORT-SLASH PIC X.
003120 05 WS-AMORT-YY PIC 99.
003200 05 FILLER PIC X(06).
003300 05 WS-AMORT-PAYMENT PIC $ZZZ.99.
003310 05 FILLER PIC X(07).
003320 05 WS-AMORT-PRINCIPAL PIC $ZZZ.99.
003400 05 FILLER PIC X(07).
003500 05 WS-AMORT-INTEREST PIC $ZZZ.99.
003600 05 FILLER PIC X(07).
003610 05 WS-AMORT-REMAINING PIC $ZZZ,ZZZ.99.
003900 01 WS-ACCEPT-VALUES.
004000 05 WS-ACCEPT-PRINCIPAL PIC 9(6).
004100 05 WS-ACCEPT-YEARS PIC 9(2).
004110 05 WS-ACCEPT-START-MMYY.
004120 10 WS-ACCEPT-START-MM PIC 99.
004130 10 WS-ACCEPT-START-YY PIC 99.
004200 05 WS-ACCEPT-MONTHS PIC 9(3).
004300 05 WS-ACCEPT-RATE PIC XXXXX.
004400 05 WS-ACCEPT-RATE-N REDEFINES WS-ACCEPT-RATE PIC V99999.
004800 01 WS-SAVE-VALUES.
004900 05 WS-SAVE-PRINCIPAL-REMAIN PIC 9(6)V99.
004910 05 WS-SAVE-PAYMENT PIC 9(3)V99.
004911 05 WS-DISP-PAYMENT PIC $$$$.99.
004912 05 WS-SAVE-MO-PRIN PIC 9(3)V99.
004913 05 WS-SAVE-MO-INT PIC 9(3)V99.
004920 05 WS-SAVE-PRINCIPAL PIC 9(6).
005000 05 WS-SAVE-YEARS PIC 9(2).
005100 05 WS-SAVE-MONTHS PIC 9(3).
005110 05 WS-THIS-MONTH PIC 9(3).
005200 05 WS-SAVE-RATE PIC V9(8).
005210 05 LN-CNT PIC 999.
005220 05 PROD1 PIC 999V9(8).
005230 05 NUM1 PIC 999V9(8).
005240 05 DEN1 PIC 999V9(8).
005300
005500 01 WP-HEADLINE.
005600 05 FILLER PIC X(50) VALUE
005700 ' NUM MO/YY PAYMENT PRINCIPAL INTER'.
005800 05 FILLER PIC X(22) VALUE
005900 'EST REMAINING '.
006000* '12345678901234567890123456789012345678901234567890
006700
006800 PROCEDURE DIVISION.
006900 P200-MAIN-LOGIC SECTION.
007000 P200-1-BEGIN.
007100****
007200 MOVE SPACES TO WS-DETAIL-LINE.
007201 MOVE ZEROES TO WS-ACCEPT-VALUES
007202 WS-SAVE-VALUES.
007210 DISPLAY 'ENTER PRINCIPAL AMOUNT IN DOLLARS - 6 DIGITS'
007220 UPON CONSOLE.
007230 ACCEPT WS-ACCEPT-PRINCIPAL.
007240 MOVE WS-ACCEPT-PRINCIPAL TO WS-SAVE-PRINCIPAL-REMAIN
007250 WS-SAVE-PRINCIPAL.
007260 DISPLAY 'ENTER INTEREST RATE - 5 DECIMAL DIGITS'
007270 UPON CONSOLE.
007280 ACCEPT WS-ACCEPT-RATE.
007290 DIVIDE WS-ACCEPT-RATE-N BY 12 GIVING WS-SAVE-RATE ROUNDED.
007292 DISPLAY WS-SAVE-RATE ' MONTHLY RATE'.
007293 DISPLAY 'ENTER TERM OF LOAN IN YEARS - 2 DIGITS'
007294 UPON CONSOLE.
007295 ACCEPT WS-ACCEPT-YEARS.
007297 DISPLAY 'ENTER START DATE OF LOAN AS MMYY.'
007298 UPON CONSOLE.
007299 ACCEPT WS-ACCEPT-START-MMYY.
007301 MULTIPLY WS-ACCEPT-YEARS BY 12 GIVING WS-SAVE-MONTHS.
007302 MULTIPLY WS-SAVE-PRINCIPAL BY WS-SAVE-RATE GIVING NUM1
007303 ROUNDED.
007304 COMPUTE DEN1 ROUNDED = (1 + WS-SAVE-RATE) ** WS-SAVE-MONTHS.
007305 DIVIDE 1.000000 BY DEN1 GIVING PROD1 ROUNDED.
007306 COMPUTE WS-SAVE-PAYMENT ROUNDED = NUM1 / (1 - PROD1).
007307 MOVE WS-SAVE-PAYMENT TO WS-DISP-PAYMENT.
007308 DISPLAY WS-DISP-PAYMENT ' MONTHLY PAYMENT'.
007310* DISPLAY ' NUM 1 ' NUM1 ' DEN 1 ' DEN1.
007311* DISPLAY ' PROD 1 ' PROD1.
007340 OPEN OUTPUT AMORT-PRT.
007400 PERFORM P500-PRINT-LINES.
007410 DISPLAY LN-CNT ' LINES PRINTED'.
007500 CLOSE AMORT-PRT.
007700 STOP RUN.
007800 P200-EXIT.
007900 EXIT.
008000
008100 P500-PRINT-LINES SECTION.
008200 P500-1.
008800 WRITE AMORT-PRT-RECORD FROM WP-HEADLINE.
009400 MOVE SPACES TO WS-DETAIL-LINE.
009401 WRITE AMORT-PRT-RECORD FROM WS-DETAIL-LINE.
009403 PERFORM P500-2-LOOP WS-SAVE-MONTHS TIMES.
009404 GO TO P500-EXIT.
009405 P500-2-LOOP.
009410 ADD 1 TO WS-THIS-MONTH.
009411 MOVE WS-THIS-MONTH TO WS-AMORT-NUMBER.
009414 MOVE WS-ACCEPT-START-MM TO WS-AMORT-MM.
009415 MOVE WS-ACCEPT-START-YY TO WS-AMORT-YY.
009416 MOVE '/' TO WS-AMORT-SLASH.
009417 ADD 1 TO WS-ACCEPT-START-MM.
009418 IF WS-ACCEPT-START-MM IS EQUAL TO 13
009419 MOVE 01 TO WS-ACCEPT-START-MM
009420 ADD 01 TO WS-ACCEPT-START-YY.
009421 MOVE WS-SAVE-PAYMENT TO WS-AMORT-PAYMENT.
009423 MULTIPLY WS-SAVE-PRINCIPAL-REMAIN BY
009424 WS-SAVE-RATE GIVING WS-SAVE-MO-INT ROUNDED.
009425 SUBTRACT WS-SAVE-MO-INT FROM WS-SAVE-PAYMENT GIVING
009426 WS-SAVE-MO-PRIN.
009427 SUBTRACT WS-SAVE-MO-PRIN FROM WS-SAVE-PRINCIPAL-REMAIN.
009428 MOVE WS-SAVE-MO-INT TO WS-AMORT-INTEREST.
009429 MOVE WS-SAVE-MO-PRIN TO WS-AMORT-PRINCIPAL.
009430 MOVE WS-SAVE-PRINCIPAL-REMAIN TO WS-AMORT-REMAINING.
009500 WRITE AMORT-PRT-RECORD FROM WS-DETAIL-LINE.
009600 ADD 1 TO LN-CNT.
012600 P500-EXIT.
012700 EXIT.
012800
012900
013000 P500-PAGE-ADVANCE SECTION.
013100 P500-1.
013200 MOVE 3 TO LN-CNT.
013300* WRITE AMORT-PRT-RECORD FROM WP-HEADLINE AFTER ADVANCING 1.
013400 WRITE AMORT-PRT-RECORD FROM WP-HEADLINE.
013500 MOVE SPACES TO AMORT-PRT-RECORD.
013600 WRITE AMORT-PRT-RECORD.
013700 P500-EXIT.
013800 EXIT.
|
|
|
|
|
|
|
|
|
|
|
[ Go to Top of Page ]
|
|
 |
|