Focal Point
[SOLVED] Focus report

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/6337056776

August 05, 2015, 11:26 AM
vasukasu
[SOLVED] Focus report
Hi,
My requirement is I have region,agent name and airline codes and booking tickets count. I want to create report by reading file though focus for mainframes.


Input file
Chicago Tom Delta 10
Chicago Tom AA 05
Chicago Jack AA 04
Newyork Jenny AF 01

Report file:
Region: Chicago
Agent: Tom
Airline: Delta
Booking count: 10

Region : chicago
Agent : All
Airline : Delta
Booking count : 10

Region : Chicago
Agent : Tom
Airline: AA
Booking count : 05

Region : Chicago
Agent : jack
Airline : aa
Booking count:04

Region : Chicago
Agent : all
Airline : AA
Booking count : 09

Region : Chicago
Agent : ALL
Airline : ALL
Booking count : 19

Similarly for New York region etc.please help me.

This message has been edited. Last edited by: <Kathryn Henning>,


Focus 7.6
August 05, 2015, 11:52 AM
SDALSTON
Try:
TABLE FILE master_file_name
PRINT BOOKING_COUNT NOPRINT
BY REGION NOPRINT
BY AGENT NOPRINT
BY AIRLINE NOPRINT
BY BOOKING_COUNT NOPRINT
ON BOOKING_COUNT SUBHEAD
"Region: "Agent: "Airline: "Booking count: " "
END
August 05, 2015, 01:03 PM
Tomsweb
I love the OVER command.


Tomsweb
WebFOCUS 8.1.05M, 8.2.x
APP Studio, Developer Studio, InfoAssist, Dashboards, charts & reports
Apache Tomcat/8.0.36
August 05, 2015, 01:28 PM
SDALSTON
For some reason post did not come out correctly. Basically after the colon(Smiler space, there is a less than sign then the name of the field.

ON BOOKING COUNT SUBHEAD
"Region: <REGION"
"Agent: <AGENT"
"Airline: <AIRLINE"
"Booking Count: <BOOKING_COUNT"
" "

August 05, 2015, 03:04 PM
vasukasu
Thanks for quick response.
Code: Below code is creating duplicate on every airline last record.
TABLE FILE MPARLN

"Region <33 : <35 "Agent <33 : <35 "Airline CODE <33 : <35 "--------------------------------- ---------------------"
" "
"# OF BOOKED TICKETS : <35 "# OF REFUNDED TICKETS : <35
BY Region-NAME NOPRINT PAGE-BREAK
BY Agent-LST-NAME NOPRINT PAGE-BREAK
BY AIRLINE-CODE NOPRINT PAGE-BREAK
ON AIRLINE-CODE SUBFOOT
""Region <33 : <35 "Agent <33 : <35 ALL"
"Airline CODE <33 : <35 "--------------------------------- ---------------------"
" "
"# OF BOOKED TICKETS : <35 "# OF REFUNDED TICKETS : <35 ON Region-NAME SUBFOOT
""Region <33 : <35 "Agent <33 : <35 ALL"
"Airline CODE <33 : <35 ALL"
"--------------------------------- ---------------------"
" "
"# OF BOOKED TICKETS : <35 "# OF REFUNDED TICKETS : <35 ON TABLE SUBFOOT
""Region <33 : <35 ALL"
"Agent <33 : <35 ALL"
"Airline CODE <33 : <35 ALL"
"--------------------------------- ---------------------"
" "
"# OF BOOKED TICKETS : <35 "# OF REFUNDED TICKETS : <35
The order i should display in report was.
Input file:
CHICAGO TOM DELTA 10
CHICAGO TOM AA 05
CHICAGO JACK AA 04
NEW YORK BOB AF 20

Report:

1. Read first record from input file and write to report, next read second record
If REC2.REgion = REC1.Region and REC2.Airline= REC1.Airline and Agent name is different(Agent name will be different for same region). Write second record to report.
ELSE IF REC2.Region = REC1.Region and REC2.Airline <> REC1.Airline and agent name is different then

Region: CHICAGO //* FIRST RECORD WRITTEN//
AGENT: TOM
AIRLINE: DELTA
--------------------------------
OF BOOKED TICKETS : 10

Region: CHICAGO //* SINCE 2nd REC AIRLINE IS DIFFERENT WE HAVE TO SUM ALL AGENTS TKTS FOR DELTA FOR REGION CHICAGO and hardcode Agent = ALL//
AGENT: ALL
AIRLINE: DELTA
--------------------------------
OF BOOKED TICKETS : 10

Now write second
Region: CHICAGO //* SECOND RECORD WRITTEN//
AGENT: TOM
AIRLINE: AMERICAN AIRLINES
--------------------------------
OF BOOKED TICKETS : 05

Since REC3.Region = REC2.Region and REC3.Airline = REC2.Airline and agent name is different write third record to report file.

Region: CHICAGO //* THIRD RECORD WRITTEN//
AGENT: JACK
AIRLINE: AMERICAN AIRLINES
--------------------------------
OF BOOKED TICKETS : 04

Now REC4.REGION <> REC3.REGION, sum all REC1 american airline records.

Region: CHICAGO //* SINCE SECOND RECORD AIRLINE IS SAME AS THIRD AIRLINE WE HAVE TO SUM ALL AGENTS TICKETS FOR AA for region CHICAGO//
AGENT: ALL
AIRLINE: AMERICAN AIRLINES
--------------------------------
OF BOOKED TICKETS : 09

Region: CHICAGO //* SUM OF ALL TICKETS BOOKED IN CHICAGO FOR ALL AIRLINES.
AGENT: ALL
AIRLINE: ALL
--------------------------------
OF BOOKED TICKETS : 19(delta= 10 and aa=9 => 19)

Write record4 record.

Region: NEW YORK //* FIRST RECORD WRITTEN//
AGENT: BOB
AIRLINE: AIR FRANCE
--------------------------------
OF BOOKED TICKETS : 20


Region: NEW YORK //*SUM ALL AGENTS TKTS FOR AF FOR REGION NEWYORK and hardcode Agent = ALL//
AGENT: ALL
AIRLINE: AIR FRANCE
--------------------------------
OF BOOKED TICKETS : 20


Region: NEW YORK //* SUM OF ALL TICKETS BOOKED IN NEWYORK FOR ALL AIRLINES.
AGENT: ALL
AIRLINE: ALL
--------------------------------
OF BOOKED TICKETS : 20


Region: ALL //* SUM OF ALL TICKETS BOOKED IN ALL REGIONS//
AGENT: ALL
AIRLINE: ALL
--------------------------------
OF BOOKED TICKETS : 39(CHICAGO = 19 + NEWYORK= 20 = 39)


Focus 7.6