As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
I stumbled across an issue yesterday and wondered if anyone else had a similar issue. In my report fex I am looping through my presentation step to deliver 4 different reports by WTD, PTD, QTD, and YTD. The report runs fine if I run it from DS, but if I schedule it via Report Caster I only get the first report. Below is an example that I put together using the car file and the RC log shows that it loops 5 times, but I only get Report 1. I have a work around for this, but I found it quite strange that RC can’t handle a loop in presentation.
Any thoughts?
Thanks
-SET &ECHO ='ALL';
-REPEAT EndOfLoop FOR &LoopCntr FROM 1 TO 5 ;
TABLE FILE CAR
HEADING
"REPORT NUMBER &LoopCntr"
SUM DCOST RCOST BY COUNTRY
END
-EndOfLoop
Report Caster Log:
Schedule Executed On Demand at WDWBFV01:8200 Starting task: Task 1 Task type: EDA RPC Procedure name: matttest/car_sort Connecting to server EDASERVE with execution id admin Executing focexec. -REPEAT EndOfLoop FOR LoopCntr FROM 1 TO 5 ; TABLE FILE CAR HEADING "REPORT NUMBER 1" SUM DCOST RCOST BY COUNTRY END -REPEAT EndOfLoop FOR LoopCntr FROM 1 TO 5 ; TABLE FILE CAR HEADING "REPORT NUMBER 2" SUM DCOST RCOST BY COUNTRY END -REPEAT EndOfLoop FOR LoopCntr FROM 1 TO 5 ; TABLE FILE CAR HEADING "REPORT NUMBER 3" SUM DCOST RCOST BY COUNTRY END -REPEAT EndOfLoop FOR LoopCntr FROM 1 TO 5 ; TABLE FILE CAR HEADING "REPORT NUMBER 4" SUM DCOST RCOST BY COUNTRY END -REPEAT EndOfLoop FOR LoopCntr FROM 1 TO 5 ; TABLE FILE CAR HEADING "REPORT NUMBER 5" SUM DCOST RCOST BY COUNTRY END -REPEAT EndOfLoop FOR LoopCntr FROM 1 TO 5 ; -EndOfLoop SET DISTRIBUTE=OFF 0 HOLDING HTML FILE ON PC DISK ... Task finished.This message has been edited. Last edited by: MattC,
-SET &ECHO ='ALL';
-REPEAT EndOfLoop FOR &LoopCntr FROM 1 TO 5 ;
-SET &OPEN_CLOSE = IF &LoopCntr EQ 1 THEN 'OPEN' ELSE
- IF &LoopCntr EQ 5 THEN 'CLOSE' ELSE '';
TABLE FILE CAR
HEADING
"REPORT NUMBER &LoopCntr"
SUM DCOST RCOST BY COUNTRY
ON TABLE PCHOLD FORMAT HTML &OPEN_CLOSE
END
-RUN
-EndOfLoop
-EXIT
Compound Reports are used for PDF and Excel, I want the format to be HTML. I think there is just an issue with Looping and what Report Caster can send.
-* File 1_excel_graph.fex
APP PREPENDPATH IBISAMP
-RUN
-SET &ECHO=ALL;
-**************************************
-* CHANGE TO YOUR SERVER IP ADDRESS *
-**************************************
-SET &SERVER = '150.108.28.XXX:8080';
-SET &PDF_URL = &SERVER || &FOCEXURL;
-SET &FMT = 'EXL2K';
-SET &APPFOLDER = 'baseapp/';
-SET &USERID = GETUSER('A8');
-SET &LC_USER = LOCASE(8, &USERID, 'A8');
-SET &GIF_FILE1 = &LC_USER || 'graph1' || '.jpg' ;
-SET &PATH = &APPFOLDER || &GIF_FILE1;
APP FI GRAPH2 DISK &PATH
-RUN
GRAPH FILE CAR
SUM
RETAIL_COST AS ''
ACROSS COUNTRY
ON GRAPH SET GRAPHDEFAULT OFF
ON GRAPH SET HAXIS 520
ON GRAPH SET VAXIS 205
ON GRAPH SET UNITS PIXELS
ON GRAPH SET LOOKGRAPH PIE
ON GRAPH SET GRMERGE ON
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 2
ON GRAPH HOLD AS GRAPH2 FORMAT JPEG
ON GRAPH SET STYLE *
TYPE = REPORT, FONT=VERDANA, SIZE=9, $
TYPE = HEADING, FONT=VERDANA, SIZE=10, STYLE=BOLD, $
ENDSTYLE
ON GRAPH SET GRAPHSTYLE *
setTemplateFile("/images/tdg/template/IBISouthWestern.txt");
setFontName(getDataText(),"Verdana");
setDepthAngle(65);
setPieDepth(45);
restoreAllSlices();
setPieFeelerTextDisplay(2);
setPieTilt(25);
setPieLabelDisplay(0);
setDisplay(getPieLabel(),true);
setLegendAutomatic(false);
setFontStyle(getLegendText(),2);
setFontStyle(getPieSliceLabel(),2);
setTextFormatPreset(getPieSliceLabel(),5);
setFontSizeInPoints(getTitle(),12);
setFontSizeAbsolute(getPieSliceLabel(),true);
setFontSizeInPoints(getPieSliceLabel(),8);
setFontSizeAbsolute(getLegendText(),true);
setFontSizeInPoints(getLegendText(),9);
setTextFormatPattern(getDataText(),"$#,###,###,###.##");
setFontSizeInPoints(getO1Label(),9);
setFontSizeInPoints(getY1Label(),9);
setFontSize(getDataText(),10);
setFontSizeAbsolute(getTitle(),true);
setFontSizeInPoints(getTitle(),12);
setLegendMarkerPosition(0);
setTransparentBorderColor(getChartBackground(),true);
setRect(getPieFrame(), new Rectangle(-15500,-13500,27000,27000));
setRect(getFrame(), new Rectangle(-10400,-10000,25000,30000));
setTextString(getTitle(),"TOTAL RETAIL COST BY COUNTRY");
ENDSTYLE
END
-RUN
-SET &GIF_FILE2 = &LC_USER || 'graph2' || '.jpg' ;
-SET &PATH = &APPFOLDER || &GIF_FILE2;
APP FI GRAPH2 DISK &PATH
-RUN
GRAPH FILE CAR
SUM
COMPUTE PROFIT/P13.2M = RETAIL_COST-DEALER_COST; AS ' '
ACROSS COUNTRY
ON GRAPH SET GRAPHDEFAULT OFF
ON GRAPH SET HAXIS 520
ON GRAPH SET VAXIS 205
ON GRAPH SET UNITS PIXELS
ON GRAPH SET LOOKGRAPH PIE
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 2
ON GRAPH HOLD AS GRAPH2 FORMAT JPEG
ON GRAPH SET STYLE *
TYPE = REPORT, FONT=VERDANA, SIZE=9, $
TYPE = HEADING, FONT=VERDANA, SIZE=10, STYLE=BOLD, $
ENDSTYLE
ON GRAPH SET GRAPHSTYLE *
setTemplateFile("/images/tdg/template/IBISouthWestern.txt");
setFontName(getDataText(),"Verdana");
setDepthAngle(65);
setPieDepth(45);
restoreAllSlices();
setPieFeelerTextDisplay(2);
setPieTilt(25);
setPieLabelDisplay(0);
setDisplay(getPieLabel(),true);
setLegendAutomatic(false);
setFontStyle(getLegendText(),2);
setFontStyle(getPieSliceLabel(),2);
setTextFormatPreset(getPieSliceLabel(),5);
setFontSizeInPoints(getTitle(),12);
setFontSizeAbsolute(getPieSliceLabel(),true);
setFontSizeInPoints(getPieSliceLabel(),8);
setFontSizeAbsolute(getLegendText(),true);
setFontSizeInPoints(getLegendText(),9);
setTextFormatPattern(getDataText(),"$#,###,###,###.##");
setFontSizeInPoints(getO1Label(),9);
setFontSizeInPoints(getY1Label(),9);
setFontSize(getDataText(),10);
setFontSizeAbsolute(getTitle(),true);
setFontSizeInPoints(getTitle(),12);
setLegendMarkerPosition(0);
setTransparentBorderColor(getChartBackground(),true);
setRect(getPieFrame(), new Rectangle(-15500,-13500,27000,27000));
setRect(getFrame(), new Rectangle(-10400,-10000,25000,30000));
setTextString(getTitle(),"TOTAL PROFIT BY COUNTRY");
ENDSTYLE
END
-RUN
SET GRAPHSERVURL = 'http://' || '&SERVER.EVAL' || '/ibi_apps/IBIGraphServlet'
SET FOCEXURL = 'http://' || '&SERVER.EVAL' || '/ibi_apps/WFServlet'
-RUN
DEFINE FILE CAR
IMAGE1/A200='<img src=http://' || '&SERVER.EVAL' || '/approot/baseapp/&GIF_FILE1>';
IMAGE2/A200='<img src=http://' || '&SERVER.EVAL' || '/approot/baseapp/&GIF_FILE2>';
X1A/A15 = '<TABLE>';
X1B/A15 = '<TR>';
X1C/A20 = '</TR>';
X1D/A10 = '</TABLE>';
X1E/A30 = '<TD COLSPAN=5 align="left">';
X_END/A5 = '</TD>';
X2A/A30 = '<TD COLSPAN=5 align="right">';
END
TABLE FILE CAR
HEADING
-IF &FMT EQ 'PDF' GOTO SKIP_LINE1A;
"<X1A<X1B<X1E<IMAGE1<X_END<X2A<IMAGE2<X_END<X1C<X1D"
-SKIP_LINE1A
"</14 "
SUM
DEALER_COST/P13.2M AS 'Dealer Cost'
RETAIL_COST/P13.2M AS 'Retail Cost'
COMPUTE PROFIT/P13.2M = RETAIL_COST-DEALER_COST; AS 'Profit'
SALES/P13.2M AS 'Sales'
BY COUNTRY AS 'Country'
BY CAR AS 'Car'
BY MODEL AS 'Model'
BY BODYTYPE AS 'Body Style'
ON COUNTRY SUBFOOT
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET HTMLCSS ON
ON TABLE PCHOLD FORMAT &FMT OPEN
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='Letter',
LEFTMARGIN=0.0400000,
RIGHTMARGIN=0.050000,
TOPMARGIN=0.000000,
BOTTOMMARGIN=0.000000,
ORIENTATION=LANDSCAPE,
SQUEEZE=ON,
$
TYPE=TITLE, STYLE=BOLD, SIZE=10, FONT=VERDANA,$
TYPE=REPORT, TITLETEXT='Report 1',$
-IF &FMT NE 'PDF' GOTO SKIP_IMAGE1;
TYPE=HEADING, IMAGE='&GIF_FILE1.EVAL', POSITION=(+5.0 +0.00), SIZE=(5.00 2.25), $
TYPE=HEADING, IMAGE='&GIF_FILE2.EVAL', POSITION=(+0.0 +0.00), SIZE=(5.00 2.25), $
-SKIP_IMAGE1
ENDSTYLE
END
-RUN
-SET &ECHO=ALL;
-SET &APPFOLDER = 'baseapp/';
-SET &USERID = GETUSER('A8');
-SET &LC_USER = LOCASE(8, &USERID, 'A8');
-SET &GIF_FILE1 = &LC_USER || 'graph1' || '.jpg' ;
-SET &PATH = &APPFOLDER || &GIF_FILE1;
APP FI GRAPH2 DISK &PATH
-RUN
GRAPH FILE CAR
SUM
RETAIL_COST AS ''
ACROSS COUNTRY
ON GRAPH SET GRAPHDEFAULT OFF
ON GRAPH SET HAXIS 520
ON GRAPH SET VAXIS 205
ON GRAPH SET UNITS PIXELS
ON GRAPH SET LOOKGRAPH PIE
ON GRAPH SET GRMERGE ON
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 2
ON GRAPH HOLD AS GRAPH2 FORMAT JPEG
ON GRAPH SET STYLE *
TYPE = REPORT, FONT=VERDANA, SIZE=9, $
TYPE = HEADING, FONT=VERDANA, SIZE=10, STYLE=BOLD, $
ENDSTYLE
ON GRAPH SET GRAPHSTYLE *
setTemplateFile("/images/tdg/template/IBISouthWestern.txt");
setFontName(getDataText(),"Verdana");
setDepthAngle(65);
setPieDepth(45);
restoreAllSlices();
setPieFeelerTextDisplay(2);
setPieTilt(25);
setPieLabelDisplay(0);
setDisplay(getPieLabel(),true);
setLegendAutomatic(false);
setFontStyle(getLegendText(),2);
setFontStyle(getPieSliceLabel(),2);
setTextFormatPreset(getPieSliceLabel(),5);
setFontSizeInPoints(getTitle(),12);
setFontSizeAbsolute(getPieSliceLabel(),true);
setFontSizeInPoints(getPieSliceLabel(),8);
setFontSizeAbsolute(getLegendText(),true);
setFontSizeInPoints(getLegendText(),9);
setTextFormatPattern(getDataText(),"$#,###,###,###.##");
setFontSizeInPoints(getO1Label(),9);
setFontSizeInPoints(getY1Label(),9);
setFontSize(getDataText(),10);
setFontSizeAbsolute(getTitle(),true);
setFontSizeInPoints(getTitle(),12);
setLegendMarkerPosition(0);
setTransparentBorderColor(getChartBackground(),true);
setRect(getPieFrame(), new Rectangle(-15500,-13500,27000,27000));
setRect(getFrame(), new Rectangle(-10400,-10000,25000,30000));
setTextString(getTitle(),"TOTAL RETAIL COST BY COUNTRY");
ENDSTYLE
END
-RUN
-SET &GIF_FILE2 = &LC_USER || 'graph2' || '.jpg' ;
-SET &PATH = &APPFOLDER || &GIF_FILE2;
APP FI GRAPH2 DISK &PATH
-RUN
GRAPH FILE CAR
SUM
COMPUTE PROFIT/P13.2M = RETAIL_COST-DEALER_COST; AS ' '
ACROSS COUNTRY
ON GRAPH SET GRAPHDEFAULT OFF
ON GRAPH SET HAXIS 520
ON GRAPH SET VAXIS 205
ON GRAPH SET UNITS PIXELS
ON GRAPH SET LOOKGRAPH PIE
ON GRAPH SET GRMULTIGRAPH 0
ON GRAPH SET GRLEGEND 0
ON GRAPH SET GRXAXIS 2
ON GRAPH HOLD AS GRAPH2 FORMAT JPEG
ON GRAPH SET STYLE *
TYPE = REPORT, FONT=VERDANA, SIZE=9, $
TYPE = HEADING, FONT=VERDANA, SIZE=10, STYLE=BOLD, $
ENDSTYLE
ON GRAPH SET GRAPHSTYLE *
setTemplateFile("/images/tdg/template/IBISouthWestern.txt");
setFontName(getDataText(),"Verdana");
setDepthAngle(65);
setPieDepth(45);
restoreAllSlices();
setPieFeelerTextDisplay(2);
setPieTilt(25);
setPieLabelDisplay(0);
setDisplay(getPieLabel(),true);
setLegendAutomatic(false);
setFontStyle(getLegendText(),2);
setFontStyle(getPieSliceLabel(),2);
setTextFormatPreset(getPieSliceLabel(),5);
setFontSizeInPoints(getTitle(),12);
setFontSizeAbsolute(getPieSliceLabel(),true);
setFontSizeInPoints(getPieSliceLabel(),8);
setFontSizeAbsolute(getLegendText(),true);
setFontSizeInPoints(getLegendText(),9);
setTextFormatPattern(getDataText(),"$#,###,###,###.##");
setFontSizeInPoints(getO1Label(),9);
setFontSizeInPoints(getY1Label(),9);
setFontSize(getDataText(),10);
setFontSizeAbsolute(getTitle(),true);
setFontSizeInPoints(getTitle(),12);
setLegendMarkerPosition(0);
setTransparentBorderColor(getChartBackground(),true);
setRect(getPieFrame(), new Rectangle(-15500,-13500,27000,27000));
setRect(getFrame(), new Rectangle(-10400,-10000,25000,30000));
setTextString(getTitle(),"TOTAL PROFIT BY COUNTRY");
ENDSTYLE
END
-RUN
DEFINE FILE CAR
IMAGE2/A200='<img src=http://' || '&SERVER.EVAL' || '/approot/baseapp/&GIF_FILE1>';
IMAGE1/A200='<img src=http://' || '&SERVER.EVAL' || '/approot/baseapp/&GIF_FILE2>';
X1A/A15 = '<TABLE>';
X1B/A15 = '<TR>';
X1C/A20 = '</TR>';
X1D/A10 = '</TABLE>';
X1E/A30 = '<TD COLSPAN=5 align="left">';
X_END/A5 = '</TD>';
X2A/A30 = '<TD COLSPAN=5 align="right">';
END
TABLE FILE CAR
HEADING
-IF &FMT EQ 'PDF' GOTO SKIP_LINE1AB;
"<X1A<X1B<X1E<IMAGE1<X_END<X2A<IMAGE2<X_END<X1C<X1D"
-SKIP_LINE1AB
"</14 "
SUM
DEALER_COST/P13.2M AS 'Dealer Cost'
RETAIL_COST/P13.2M AS 'Retail Cost'
COMPUTE PROFIT/P13.2M = RETAIL_COST-DEALER_COST; AS 'Profit'
SALES/P13.2M AS 'Sales'
BY COUNTRY AS 'Country'
BY CAR AS 'Car'
BY MODEL AS 'Model'
BY BODYTYPE AS 'Body Style'
ON COUNTRY SUBFOOT
" "
ON TABLE SET PAGE-NUM OFF
ON TABLE SET HTMLCSS ON
ON TABLE PCHOLD FORMAT &FMT CLOSE
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='Letter',
LEFTMARGIN=0.0400000,
RIGHTMARGIN=0.050000,
TOPMARGIN=0.000000,
BOTTOMMARGIN=0.000000,
ORIENTATION=LANDSCAPE,
SQUEEZE=ON,
$
TYPE=TITLE, STYLE=BOLD, SIZE=10, FONT=VERDANA, $
TYPE=REPORT, TITLETEXT='Report 2',$
-IF &FMT NE 'PDF' GOTO SKIP_IMAGE2;
TYPE=HEADING, IMAGE='&GIF_FILE2.EVAL', POSITION=(+5.0 +0.00), SIZE=(5.00 2.25), $
TYPE=HEADING, IMAGE='&GIF_FILE1.EVAL', POSITION=(+0.0 +0.00), SIZE=(5.00 2.25), $
-SKIP_IMAGE2
ENDSTYLE
END
-RUN
This message has been edited. Last edited by: Tom Flynn,
You have to get a little inventive for HTML output because, as Francis states, Report Caster can only generate one report.
Try this simple code to give you an idea of what can be done -
SET ASNAMES = ON
FILEDEF COMBDATA DISK COMBDATA.FTM (APPEND
DEFINE FILE GGSALES
WTD/D12.2C = IF DATE LE '19960101' THEN DOLLARS ELSE 0;
MTD/D12.2C = IF DATE LE '19960301' THEN DOLLARS ELSE 0;
QTD/D12.2C = IF DATE LE '19960601' THEN DOLLARS ELSE 0;
YTD/D12.2C = IF DATE LE '19961201' THEN DOLLARS ELSE 0;
SOURCE1/A3 = 'WTD';
SOURCE2/A3 = 'MTD';
SOURCE3/A3 = 'QTD';
SOURCE4/A3 = 'YTD';
END
TABLE FILE GGSALES
SUM WTD AS VALUE
BY SOURCE1 AS SOURCE
BY REGION
BY PRODUCT
WHERE DATE LE '19961231'
ON TABLE HOLD AS COMBDATA FORMAT ALPHA
END
-RUN
TABLE FILE GGSALES
SUM MTD AS VALUE
BY SOURCE2 AS SOURCE
BY REGION
BY PRODUCT
WHERE DATE LE '19961231'
ON TABLE HOLD AS COMBDATA FORMAT ALPHA
END
-RUN
TABLE FILE GGSALES
SUM QTD AS VALUE
BY SOURCE3 AS SOURCE
BY REGION
BY PRODUCT
WHERE DATE LE '19961231'
ON TABLE HOLD AS COMBDATA FORMAT ALPHA
END
-RUN
TABLE FILE GGSALES
SUM YTD AS VALUE
BY SOURCE4 AS SOURCE
BY REGION
BY PRODUCT
WHERE DATE LE '19961231'
ON TABLE HOLD AS COMBDATA FORMAT ALPHA
END
-RUN
DEFINE FILE COMBDATA
SORT_ORD/I1 = DECODE SOURCE('WTD' 1 'MTD' 2 'QTD' 3 'YTD' 4 ELSE 9);
END
TABLE FILE COMBDATA
SUM VALUE
BY SORT_ORD NOPRINT PAGE-BREAK
BY REGION
BY PRODUCT
HEADING
"Data for <SOURCE"
ON TABLE SET PAGE NOLEAD
ON TABLE SET STYLE *
ENDSTYLE
END
-RUN
Should be able to be run in RC for HTML output OK.
Alternatively have a parameterised report for your WTD etc. and have a number of tasks each using a successive parameter value.
T
In FOCUS since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2
WebFOCUS App Studio 8.2.06 standalone on Windows 10
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004
Thanks Tony for the suggestion and thanks Francis for letting me know that RC only does one HTML report. It threw me for a loop there.
I had an alternative lined up, by ending my loop sonner, then using "USE" to combine the 4 reports together and then in the report presentation sorting them by a sort key as well as using that sort key as a SUBHEAD to seperate our the 4 reports.