Focal Point
[CLOSED]Burst Function with multiple BY fields

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

November 18, 2016, 10:35 AM
Krishna.edara
[CLOSED]Burst Function with multiple BY fields
Hi,

I have a requirement that need to Burst my report to multiple users, but I need to display all the BY fields in the report (4) as shown in bellow code,
I created a Distribution list and using BURST value
1) COUNTRY = England, Wildcard, email address: abc@yahoo.com
2) CAR = JAGUR, Wildcard, email: abc@gamil.com
3) MODEL = TR7, Wildcard, email: abc@hotmail.com
4) BODYTYPE = Sedan, Wildcard, email: abc@abc.com

 
SET &ECHO = ALL;
SET BYDISPLAY = ON
TABLE FILE CAR
PRINT SEATS DEALER_COST RETAIL_COST SALES LENGTH WIDTH HEIGHT WEIGHT
BY COUNTRY
BY CAR
BY MODEL
BY BODYTYPE
ON TABLE PCHOLD FORMAT EXL07
ON TABLE SET EMPTYREPORT ON
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
     PAGESIZE='Letter',
     ORIENTATION=LANDSCAPE,
$
TYPE=REPORT, TITLETEXT='', $
TYPE=REPORT,FONT='ARIAL',SIZE=8,COLOR='BLACK',GRID=OFF,BORDER-COLOR='GRAY',$
TYPE=TITLE, STYLE=BOLD,BACKCOLOR=RGB(86 160 211),COLOR='WHITE', JUSTIFY=CENTER,BORDER=LIGHT,BORDER-COLOR='GRAY',$
TYPE=DATA,BACKCOLOR=('WHITE' RGB(240 240 240)), BORDER=LIGHT,BORDER-COLOR='GRAY',$
TYPE=ACROSSVALUE,JUSTIFY=CENTER,STYLE=BOLD,BACKCOLOR=RGB(86 160 211),COLOR='WHITE',BORDER=LIGHT, BORDER-COLOR='GRAY',$
TYPE=GRANDTOTAL, BACKCOLOR=RGB(215 215 215), STYLE=BOLD,BORDER-TOP=HEAVY,BORDER-TOP-STYLE=DOUBLE, BORDER=LIGHT, BORDER-COLOR='GRAY',$
TYPE=HEADING,LINE=1,JUSTIFY=CENTER,STYLE=BOLD,COLOR='BLACK',$
ENDSTYLE
END
END
-RUN

END
-EXIT
 


getting the following error
BTP1010 Schedule Executed On Demand at apirapp01:18201
BTP1010 Job placed in the waiting queue at 2016-11-18 10:29:21.589-0500 (1,479,482,961,589)
BTP1010 Job started running at 2016-11-18 10:29:21.592-0500 (1,479,482,961,592)
BTP1010 Job remained in waiting queue for 0.0030 seconds
BTP1020 Starting task: Task 1
BTP1020 Task type: WebFOCUS Report
BTP1020 Task domain: Report_Caster_Jobs/
BTP1020 Retrieving WebFOCUS Report: IBFS:/WFC/Repository/Report_Caster_Jobs/CAR_BURST_TEST.fex
BTP1020 Connecting to server EDASERVE with static execution id at 2016-11-18 10:29:21.955-0500 (1,479,482,961,955)
BTP1020 Connection to the Reporting Server EDASERVE established at 2016-11-18 10:29:21.983-0500 (1,479,482,961,983)
BTP1020 The time to establish a connection to the Reporting Server EDASERVE was 0.028 seconds
BTP1020 Executing focexec.
BTP1020 PDF PPT XMLR EXL97 EXL2K EXL07 AHTML AFSWF APDF
BTP1020 Connection to the Reporting Server EDASERVE closed at 2016-11-18 10:29:22.143-0500 (1,479,482,962,143)
BTP1020 Job ran on the Reporting Server EDASERVE for 0.16 seconds
BTP1020 Task error: VALID VALUES ARE OFFLINE-FMT=OFF ALPHA STANDARD POSTSCRIPT HTML DHTML
BTP1010 No report to distribute.
BTP1010 Job finished at 2016-11-18 10:29:22.176-0500 (1,479,482,962,176)
BTP1010 Job time on distribution server after the report completed was 0.0010 seconds
BTP1010 Total running time was 0.584 seconds
BTP1010 Total elapsed time (including the queue time) was 0.587 seconds

Thanks,

This message has been edited. Last edited by: <Emily McAllister>,


WebFocus-8/Windows/HTML, PDF, EXCEL
November 18, 2016, 10:57 AM
WFDevConsultant
Bursting will take only the first BY field.

change your code to use ON TABLE ONLINE-FMT EXL07 instead of ON TABLE PCHOLD


8.2.06
Windows, All Formats
November 18, 2016, 11:49 AM
Krishna.edara
Is their any workaround for this to achieve to display all the columns?


WebFocus-8/Windows/HTML, PDF, EXCEL
November 18, 2016, 02:51 PM
WFDevConsultant
I meant to say, it will use the BY field for bursting but on the report it will show all the BY fields.


8.2.06
Windows, All Formats
November 19, 2016, 06:26 PM
George Patton
WFDevConsultant is correct. Reportcaster will use only the first BY field for bursting. So in your example case this is COUNTRY. That means your distribution list would have to look like:
ENGLAND abc@xyz.com
GERMANY def@xyz.com
FRANCE ghi@xyz.com

He is also correct that you don't want PCHOLD in there. You can use plain HOLD instead.

There is a way to distribute a report to a list that doesn't use the built-in bursting of reportcaster. In that case you can set up the BY fields any way that you like because the distribution is completely separate from the report generation.

There are two scenarios:

1) The same report is sent to all the recipients
2) The report is recipient specific - for example, a salesperson should only receive a report specific to his/her own sales territory, not a report that shows all the sales for other salespersons.

In both cases you create a distribution list as usual

In the first case you create the report and HOLD it in a specific location, such as BASEAPP with a specific file name. You then create a REPEAT loop that READs the distribution list line by line and uses EDAMAIL to send the report to the recipient.

In the second case the order of processing is different: You set up the REPEAT loop first, read the distribution list to get the identifier (such as salespersonID), run the report inside the loop using the salespersonID as a report parameter and use EDAMAIL to distribute it. What happens in this case is that a new report is generated for each salesperson. If there were 100 of them it means the server would be doing 100 times the work that it would do in the first case, so it would depend on the computing capacity available.

I have detailed this approach a couple of times in the past, so you should be able to search on my name and find the references for further detail.


WebFOCUS 7.7.05 Windows, Linux, DB2, IBM Lotus Notes, Firebird, Lotus Symphony/OpenOffice. Outputs PDF, Excel 2007 (for OpenOffice integration), WP
November 21, 2016, 11:48 AM
eric.woerle
Personally, I would define one by field that relates to the distribution list, use noprint to hide it, and then burst off of that. This way you can continue to use standard reportcaster capabilities, the end user never sees the field used to burst the report and you don't have to do things that might break in the next version of webfocus. Win win win...


Eric Woerle
8.1.05M Gen 913- Reporting Server Unix
8.1.05 Client Unix
Oracle 11.2.0.2
November 22, 2016, 08:57 AM
George Patton
You are right Eric (of course). But I got the impression from the original post that that wasn't possible - there's nothing inherently in the data to burst with.

I should add that my technique is also very useful in the case where you want to use the BYTOC command to create separate sheets in EXL07 output. In that case the first BY has to be used to create the sheets/tabs and cannot be used for the bursting unless the burst value coincides with the sheet value.

For example, I had a report that created data with one sheet per month, so the first BY generated the month. I couldn't then use it to distribute the report to the various sales reps and had to use the loop method I described.

I'm not sure what you mean by breaking the next version of WF though. Repeat loops and EDAPRINT are pretty standard.


WebFOCUS 7.7.05 Windows, Linux, DB2, IBM Lotus Notes, Firebird, Lotus Symphony/OpenOffice. Outputs PDF, Excel 2007 (for OpenOffice integration), WP
November 22, 2016, 10:11 AM
Diane
Create a define field in your report which will permit the burst to work correctly based on your requirements. then create a dynamic distribution list, and in the fex for the dynamic distribution list, use the same define to tell ReportCaster what value to burst on.


WebFOCUS 8.1.0.5m
November 23, 2016, 11:05 AM
eric.woerle
George,

I got a bit of that impression to. Ultimately I think its a matter of perspective (or bad direction by whoever said they weren't allowed to hide fields). What the challenge might be is that burst value A and burst value B might have overlapping information. Which would make it seem like you couldn't use a single by field to burst off of. In that case I would use MacGyver to duplicate the records that need to be bursted out for different values. Problem solved.


Eric Woerle
8.1.05M Gen 913- Reporting Server Unix
8.1.05 Client Unix
Oracle 11.2.0.2
November 23, 2016, 11:08 AM
eric.woerle
quote:
I'm not sure what you mean by breaking the next version of WF though. Repeat loops and EDAPRINT are pretty standard


-INCLUDE was pretty standard too... Things always change I guess, so the more custom you go, the more likely it won't work. But you may be right. It might not be an issue. But for me I just prefer to work within RC more, and less dependent on EDAMAIL I guess


Eric Woerle
8.1.05M Gen 913- Reporting Server Unix
8.1.05 Client Unix
Oracle 11.2.0.2