Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# cobol control-break question

Posted on 2000-04-12
Medium Priority
401 Views
I have a text file with6 fields
region            pic x 3
section           pic x 3
proj #            pic x 5
type               pic x 15
budget amt    pic 9(9)
actual amt      pic 9(9)

I have to create a report showing the following fields with thier proper
headings.  also I must show a variance (+, -) showing the difference
between budget and actual amts.     I am able to do this,  but at the bottom of the report I must show totals for sections, and totals for regions.
When I attempt to do this I loose my calculated variance field.  I know
I am doing this program incorrectly and am going nowhere.  if it will
help I can e-mail my .txt file and my code.

thank you.
0
Question by:qsysopr
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 3
• 2

LVL 3

Expert Comment

ID: 2711299
Keep 2 variables for Regiontot and Section tot (which will become 0 ,when the region changes.... )

Pseudo code (not in COBOL)

mregtot = 0
msectot = 0

AS long as !eof()
mregion = region
msection = section

if section changes
do control break (where U will print that section's total...
endif

if region changes
do control break (where U will print that region's total...
endif

Calculate variance for each detail....

-----------

In Control break  of section and region , reinitialise the respective totals to zero...

0

LVL 54

Accepted Solution

nico5038 earned 200 total points
ID: 2713325
You are trying to write a so called "level" program.

The solution arch great proposes is nearly OK but (as often) forgets to take the EOF situation in consideration.

Main processing is:

define an actual and a saved key:

01 WA-KEY.
03 WA-EOF      PIC X(01).
03 WA-SECTION  PIC X(03).
03 WA-REGION   PIC X(03).

01 WA-KEY-SECTION REDEFINES WA-KEY.
03 FILLER      PIC X(04).

01 WS-KEY.
03 WS-EOF      PIC X(01).
03 WS-SECTION  PIC X(03).
03 WS-REGION   PIC X(03).

01 WB-KEY-SECTION REDEFINES WB-KEY.
03 FILLER      PIC X(04).

PROCEDURE DIVISION.

PERFORM INIT-ROUTINE

PERFORM MAIN-ROUTINE UNTIL WB-EOF = "1"

MAIN-ROUTINE
MAIN01:
' Test no total
IF WA-KEY = WB-KEY
PERFORM PRINT-DETAIL
GOTO MAIN01
END
' Test region total
IF WA-KEY-SECTION = WB-KEY-SECTION
PERFORM PRINT-REGION-TOTAL
INIT region
PERFORM PRINT-DETAIL
GOTO MAIN01
END
' Test section total
IF WA-EOF = WB-EOF
PERFORM PRINT-REGION-SECTION-TOTAL
INIT section and region
PERFORM PRINT-DETAIL
GOTO MAIN01
END
' Hereyou get when WA-EOF is set
' Just print the last totals and ready !
PERFORM PRINT-REGION-SECTION-TOTAL
MOVE WA-EOF TO WB-EOF
END MAIN

COUNT region and section
MOVE WB-KEY TO WA-KEY
MOVE fields to WA
SET WA-EOF WHEN EOF OCCURS

INIT-ROUTINE
SET COUNT region and section TO ZERO
MOVE fields to WA
MOVE WA-KEY TO WB-KEY
SET WA-EOF WHEN EOF OCCURS
END INIT-ROUTINE

0

LVL 24

Expert Comment

ID: 2739389
I swear I won't cobol, but I am also sure that if I did and init routine I would also run a cleanup routine at the end.

More than likely I would use Eof to process some totalling code, then leaf out to cleanup of files and such.

>       PERFORM PRINT-DETAIL

yah, very nice and crisply done
0

LVL 54

Expert Comment

ID: 2739684
Sunbow,

Using a 'switch-value' for EOF in a "sortwork-key" offers the advantage that even multiple files can be "levelled" automatically and that those files having EOF are automatically skipped for pocessing by the value of this EOF field!
0

LVL 54

Expert Comment

ID: 2772434
How is the progress on the report ?
0

LVL 24

Expert Comment

ID: 2834518
did it work?
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn different types of Android Layout and some basics of an Android App.
The SignAloud Glove is capable of translating American Sign Language signs into text and audio.
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…
Simple Linear Regression
###### Suggested Courses
Course of the Month9 days, 3 hours left to enroll