Very complex report with numerous matches and holds along the way and I'm reaching a point where the output is supposed to simply do a print out of the current fields and what I get says:
HOLDING ... >>>
It never seems to hold the file I'm trying to hold..just gets stuck right there. Does anyone have any ideas I can try? The name of the hold file doesn't seem to matter nor does the length of the name...This is technically on UNIX FOCUS, although I can repeat the error on WebFOCUS as well.
I'd love some 'debug' ideas as we've played with it for a day or so.This message has been edited. Last edited by: Kerry,
April 23, 2010, 01:17 PM
GinnyJakes
It would be helpful if you pasted your code so we can see it.
As far as debug ideas, put -EXIT in the program starting near the beginning and moving down until you can exactly pinpoint where the error is. Then start commenting out lines and adding them back one at a time. I know this is brute force, but without seeing your code, it is difficult to offer advice.
It is about 6000 lines of code so I'm not going to post the entire thing, but here is a piece right where it is getting stuck:
-**********************
MATCH FILE MLST_B10 PRINT ML10_MO1 ML10_MO2 ML10_MO3 ML10_MO4 BY IR_PER AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B9 PRINT ML9_MO1 ML9_MO2 ML9_MO3 ML9_MO4 BY IR_PER AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B8 PRINT ML8_MO1 ML8_MO2 ML8_MO3 ML8_MO4 BY IR_PER AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B7 PRINT ML7_MO1 ML7_MO2 ML7_MO3 ML7_MO4 BY IR_PER AFTER MATCH HOLD AS ST11 OLD-OR-NEW END -RUN TABLE FILE ST11 PRINT * BY IR_PER ON TABLE HOLD AS STAN01 END
-* MATCH FILE MLSTN_B6 PRINT ML6_MO1 ML6_MO2 ML6_MO3 ML6_MO4 BY IR_PER -* AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B5 PRINT ML5_MO1 ML5_MO2 ML5_MO3 ML5_MO4 BY IR_PER -* AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B4 PRINT ML4_MO1 ML4_MO2 ML4_MO3 ML4_MO4 BY IR_PER -* AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B3 PRINT ML3_MO1 ML3_MO2 ML3_MO3 ML3_MO4 BY IR_PER -* AFTER MATCH HOLD OLD-OR-NEW RUN -* FILE MLSTN_B2 PRINT ML2_MO1 ML2_MO2 ML2_MO3 ML2_MO4 BY IR_PER -* AFTER MATCH HOLD AS OLD-OR-NEW RUN -* FILE MLSTN_B1 PRINT ML1_MO1 ML1_MO2 ML1_MO3 ML1_MO4 BY IR_PER AFTER MATCH HOLD AS ST22 OLD-OR-NEW END -RUN TABLE FILE ST22 PRINT * BY IR_PER ON TABLE HOLD AS STAN02 END -RUN
MATCH FILE ST11 PRINT * BY IR_PER RUN FILE ST22 PRINT * BY IR_PER -*WHERE IR_PER CONTAINS '328554' OR '615493' OR '486555' AFTER MATCH HOLD AS BLOB OLD-OR-NEW END -RUN TABLE FILE BLOB PRINT * BY IR_PER ON TABLE HOLD AS GRET END -RUN
-* -* Now sort all the records to make an ordered file. -* TABLE FILE GRET PRINT ML1_MO1 ML1_MO2 ML1_MO3 ML1_MO4 ML2_MO1 ML2_MO2 ML2_MO3 ML2_MO4 ML3_MO1 ML3_MO2 ML3_MO3 ML3_MO4 ML4_MO1 ML4_MO2 ML4_MO3 ML4_MO4 ML5_MO1 ML5_MO2 ML5_MO3 ML5_MO4 ML6_MO1 ML6_MO2 ML6_MO3 ML6_MO4 ML7_MO1 ML7_MO2 ML7_MO3 ML7_MO4 ML8_MO1 ML8_MO2 ML8_MO3 ML8_MO4 ML9_MO1 ML9_MO2 ML9_MO3 ML9_MO4 ML10_MO1 ML10_MO2 ML10_MO3 ML10_MO4 BY E01 AS 'IR_PER' ON TABLE HOLD AS MLST_ALL FORMAT FOCUS INDEX IR_PER -END -****************************
It gets through everything up to this final ON TABLE HOLD statement and at that point it just hangs. We've tried it with the FORMAT FOCUS, without it, FILEDEF'ing it...You name it...Here is how the last few lines of output look: >>
MERGE: RECORDS= 159 LINES= 159
NUMBER OF RECORDS SELECTED= 159 LINES= 159
MERGE: RECORDS= 953 LINES= 953
MERGE: RECORDS= 1906 LINES= 1906
MERGE: RECORDS= 2859 LINES= 2859
MERGE: RECORDS= 3812 LINES= 3812
MERGE: RECORDS= 3906 LINES= 3906
NUMBER OF RECORDS SELECTED= 3906 LINES= 3906
LINES OF MATCH OUTPUT = 3954
HOLDING... >>
MERGE: RECORDS= 565 LINES= 565
MERGE: RECORDS= 1130 LINES= 1130
MERGE: RECORDS= 1695 LINES= 1695
MERGE: RECORDS= 2260 LINES= 2260
MERGE: RECORDS= 2825 LINES= 2825
MERGE: RECORDS= 3390 LINES= 3390
MERGE: RECORDS= 3954 LINES= 3954
NUMBER OF RECORDS IN TABLE= 3954 LINES= 3954
HOLDING... >>>
April 23, 2010, 02:33 PM
Dan Satchell
You need an END statement at the end not -END.
WebFOCUS 7.7.05
April 23, 2010, 02:54 PM
Stan
Sometimes it is the forehead slapper kinds of errors - Two of us looking at it all morning and neither of us catches what amounts to a Typo - "Doh".
Thanks everyone!
April 23, 2010, 05:30 PM
Dan Satchell
Not to worry ... we've all done it more than we'd like to admit!