Focal Point
[CLOSED] Creating duplicates focus report

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

August 05, 2015, 09:20 PM
vasukasu
[CLOSED] Creating duplicates focus report
Code: Below code is creating duplicate on every airline last record.Please help me.I am running out of timeSmiler

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)

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


Focus 7.6
August 07, 2015, 02:47 AM
Ram Prasad E
Check if this helps.

FILEDEF MAS_MPARLN DISK mparln.mas
FILEDEF MPARLN DISK mparln.ftm
-RUN
-WRITE MAS_MPARLN FILENAME=MPARLN, SUFFIX=COM, $
-WRITE MAS_MPARLN SEGNAME=MPARLN, $
-WRITE MAS_MPARLN FIELDNAME=REGION, FORMAT=A20, ACTUAL=A20, $
-WRITE MAS_MPARLN FIELDNAME=AGENT, FORMAT=A10, ACTUAL=A10, $
-WRITE MAS_MPARLN FIELDNAME=AIRLINE, FORMAT=A10, ACTUAL=A10, $
-WRITE MAS_MPARLN FIELDNAME=TICKETS, FORMAT=I5, ACTUAL=I5, $
-WRITE MPARLN CHICAGO,TOM,DELTA,10,$
-WRITE MPARLN CHICAGO,TOM,AA,5,$
-WRITE MPARLN CHICAGO,JACK,AA,4,$
-WRITE MPARLN NEW YORK,BOB,AF,20,$
-RUN

TABLE FILE MPARLN
SUM
TICKETS AS 'TOT_REGION'
BY REGION
SUM
TICKETS AS 'TOT_REGION_AIRLINE'
BY REGION
BY AIRLINE
SUM
TICKETS
BY REGION
BY AIRLINE
BY AGENT
ON TABLE HOLD
ON TABLE SET ASNAMES ON
END
DEFINE FILE HOLD
AIRLINE_AGENT/A20=AIRLINE||AGENT;
END
TABLE FILE HOLD
BY REGION NOPRINT
BY AIRLINE NOPRINT
BY AGENT NOPRINT
BY AIRLINE_AGENT NOPRINT
BY TOT_REGION NOPRINT
BY TOT_REGION_AIRLINE NOPRINT
BY TICKETS NOPRINT
ON REGION SUBFOOT 
"Region: <REGION"
"Agent: ALL"
"Airline: ALL"
"Tickets Count: <TOT_REGION"
ON AIRLINE SUBFOOT 
"Region: <REGION"
"Agent: ALL"
"Airline: <AIRLINE"
"Tickets Count: <TOT_REGION_AIRLINE"
ON AIRLINE_AGENT SUBFOOT 
"Region: <REGION"
"Agent: <AGENT"
"Airline: <AIRLINE"
"Tickets Count: <TICKETS"
ON TABLE SUBFOOT
"Region: ALL"
"Agent: ALL"
"Airline: ALL"
"Tickets Count: <TOT.TICKETS"
END

Thanks,
Ram


WebFOCUS 8.1.05
Windows
http://ibiwebfocus.wordpress.com
https://www.facebook.com/groups/ibi.webfocus/