Focal Point Banner


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.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     olap on causes agent crash?
Page 1 2 

Read-Only Read-Only Topic
Go
Search
Notify
Tools
olap on causes agent crash?
 Login/Join
 
Master
posted
I have a fex that was coded entirely without the GUI, and it results in an agent crash whenever OLAP is turned on.

Any ideas on what may be making this happen?
We have discovered that limiting the amount of drill down possibilities allows it to run with olap, but that's no good.

Is there a correlation between drill down's and OLAP so we can get this .fex to work with a bunch of drill downs as well as olap?

Thanks!


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Master
posted Hide Post
Jason

As a last resort - bear in mind this consumes a lot of resource - set all the traces on and look at the trace output to the server.

Start from the end of the trace and look backward and you may get an idea where its snagging.

There's a list of things under Agent Crash Help you could check for as well.

Good luck!

John



Server: WF 7.6.2 ( BID/Rcaster) Platform: W2003Server/IIS6/Tomcat/SQL Server repository Adapters: SQL Server 2000/Oracle 9.2
Desktop: Dev Studio 765/XP/Office 2003 Applications: IFS/Jobscope/Maximo
 
Posts: 888 | Location: Airstrip One | Registered: October 06, 2006Report This Post
Master
posted Hide Post
I've checked server logs and traces, and found nothing of consequence. It's so obvious, I know someone here has run into it before.

When we have
-OLAP OFF we can have as many DRILLMENUITEM information as we want in the stylesheet, but when change it to OLAP ON, we get an agent crash.

Here's what my DRILLMENUITEM section looks like...

TYPE=DATA,
DRILLMENUITEM='Show PL Info for this Cust Class',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH ='&BEGIN_MONTH' \
END_MONTH ='&END_MONTH' \
REP_GRP_CHRONO ='&REP_GRP_CHRONO' \
REP_GRP_LOCALE ='&REP_GRP_LOCALE' \
REP_GRP_ATTRIB ='PL' \
RETURN_EFFECT ='&RETURN_EFFECT' \
REP_SHOW_BUDGET ='&REP_SHOW_BUDGET' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
CUST_CLASS_CODE = CUST_CLASS_CODE \
),TARGET=_self,
DRILLMENUITEM='Show SAC Info for this Cust Class',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH ='&BEGIN_MONTH' \
END_MONTH ='&END_MONTH' \
REP_GRP_CHRONO ='&REP_GRP_CHRONO' \
REP_GRP_LOCALE ='&REP_GRP_LOCALE' \
REP_GRP_ATTRIB ='SACT' \
RETURN_EFFECT ='&RETURN_EFFECT' \
REP_SHOW_BUDGET ='&REP_SHOW_BUDGET' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
CUST_CLASS_CODE = CUST_CLASS_CODE \
),TARGET=_self,
DRILLMENUITEM='Show SAC Info for this Cust Class',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH ='&BEGIN_MONTH' \
END_MONTH ='&END_MONTH' \
REP_GRP_CHRONO ='&REP_GRP_CHRONO' \
REP_GRP_LOCALE ='&REP_GRP_LOCALE' \
REP_GRP_ATTRIB ='SACT' \
RETURN_EFFECT ='&RETURN_EFFECT' \
REP_SHOW_BUDGET ='&REP_SHOW_BUDGET' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
CUST_CLASS_CODE = CUST_CLASS_CODE \
),TARGET=_self,
$


If I delete the last 5 lines or so of the last drill menu item, the code works just fine with OLAP ON.
Here's what I delete...
RETURN_EFFECT ='&RETURN_EFFECT' \
REP_SHOW_BUDGET ='&REP_SHOW_BUDGET' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
CUST_CLASS_CODE = CUST_CLASS_CODE \

I've tried this on another drillmenuitem, so it has to be related to the number of characters or the Amount of information, or something?

Is there possibly a server variable, or a java timeout or something that we're hitting? My edaprint has the only english showing any problem that is at all discernable...
...
09/18/2007 13:25:14 processing cmrpip001388 u=jkelly,l=SRV
09/18/2007 13:25:27 request by edapmon to notify agent has crashed (tscomid=6)
09/18/2007 13:25:27 TCP session aborted by client
09/18/2007 13:25:27 disconnect FDS
09/18/2007 13:25:27 agent started (tscomid=27, pid=1984, svc=DEFAULT)
...

We've been staring at this for months, and we would really like it to work with both OLAP and with quite a few drill downs, no other way around it.

Thanks!


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
Jason,

I am still on 5.3.2 so this may be completely off-base, but it's worth giving a try. Add the following line to the top of your code:

-TYPE WEBFOCUS CGIVAR WF_BURST_OUTPTUT=OFF


quote:
WF_BURST_OUTPUT - Enables the WFServlet to send simple HTML reports to the WebFOCUS Client faster. If the request is being redirected, or if it is a complex ODP or OLAP report or a report with frames, this option should be turned off.


If it works, read this long-winded thread, if not, forget about what I suggested!

WF_BURST_OUTPTUT on/off

This message has been edited. Last edited by: Francis Mariani,


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
thanks Francis!
unfortunately, it didn't work.
first line of my fex is now
-TYPE WEBFOCUS CGIVAR WF_BURST_OUTPUT=OFF

Still crashes, without explanation.
I'm willing to try any other ideas that anyone has! I re-checked the posts on agent crashes, and no one else's posts seem relevant to my particular issue as it is OLAP based. Never hurts to investigate though.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Master
posted Hide Post
I'm going to add to this thread that this probably isn't easy to figure out.

We've had a case opened with IBI's tech support on this issue for months, 6 months... the case number is 30922518. Tech support passed it around for months, we eventually found someone in New York who acutally tried my .mas and some sample data and was able to replicate the issue after the case had been opened for a few months, and he passed it on to his betters. We haven't heard much other than "we'll get back to you" about it since. Last week, we took out the olap and discovered that was were the problem was for sure, so I added that to the case... no response.

We called back yesterday with the newly found information and opened case 32612020. We're hoping that it may get the attention of someone who can help us.

That said, anyone who can give us a direction on how to get OLAP to work with our multiple drill downs will receive a gazillion karma points and the great feeling of knowing that they have solved a solution that webfocus's new york office has stumbled on for over 6 months.

ANY ideas, no matter how silly they might be, will be considered. Wink


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
I haven't really worked with the OLAP tool, so I can't take you up on the challenge "ANY ideas, no matter how silly they might be, will be considered".

Is it possible to "view source" the OLAP screen? Could there be a JavaScript function in one of the linked JS files that limits the number of DrillMenu items?


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Silver Member
posted Hide Post
Hi Jason,

Is it possible for you to replicate this with car file


Madhu

WF Version 7.1 Windows, SQL Server Database
 
Posts: 36 | Location: Mississauga, Ontario | Registered: April 12, 2007Report This Post
Master
posted Hide Post
Madhu: yes. I just did...same error. I'm going to upload my .fex to the case we opened.

I'm still accepting any ideas. I can post my entire fex, built against the car file, if anyone wants to see it!


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
Jason, would love to see the entire fex.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
-*-*-TYPE WEBFOCUS CGIVAR WF_BURST_OUTPUT=OFF
-SET TRACEON=ALL;
-SET TRACEUSER=ON;
-SET &ECHO=ALL;
-* // Default the value for when nothing is passed.
-DEFAULT &CHR = 'BYMONTH';
-DEFAULT &LOC = 'IGGY';
-DEFAULT &TRIB = 'IGGY';
-DEFAULT &RETURN_EFFECT = 'C';
-DEFAULT &BEGIN_MONTH = 200609;
-DEFAULT &END_MONTH = 200709;
-DEFAULT &FACILITY_CODE = 'FOC_NONE';
-DEFAULT &STORE_CODE = 'FOC_NONE';
-DEFAULT &CUST_CLASS_CODE = 'FOC_NONE';
-DEFAULT &CUST_NUMBER = 'FOC_NONE';
-DEFAULT &PL_NUMBER = 'FOC_NONE';
-DEFAULT &SALES_ACCT_CODE = 'FOC_NONE';
-DEFAULT &GROUP_NUMBER = 'FOC_NONE';
-DEFAULT &SUB_GROUP_NUMBER = 'FOC_NONE';
-DEFAULT &ITEM_NUMBER = 'FOC_NONE';
-DEFAULT &CUST_CLASS_CODE = 'FOC_NONE';
-DEFAULT &YEAR_COUNT = '1';
-DEFAULT &MTD_PRORATE = 'True';
-DEFAULT &USE_VIEWER = 'False';
-DEFAULT &SBGT = 'True';
-DEFAULT &STRTRAIL = 'FOC_NONE';
-SET &TIT_RETEFF = IF &RETURN_EFFECT EQ 'C' THEN '' ELSE IF &RETURN_EFFECT EQ 'R' THEN ' Returns Excluded' ELSE IF &RETURN_EFFECT EQ 'S' THEN ' Sales Only';
-SET &TIT_DIV = IF &FACILITY_CODE EQ 'FOC_NONE' THEN '' ELSE ' For Division ' | &FACILITY_CODE;
-SET &TIT_STORE = IF &STORE_CODE EQ 'FOC_NONE' THEN '' ELSE ' For Store ' | &STORE_CODE;
-SET &TIT_CUST_CL = IF &CUST_CLASS_CODE EQ 'FOC_NONE' THEN '' ELSE ' For Cust Class ' | &CUST_CLASS_CODE ;
-SET &TIT_CUST_NUM = IF &CUST_NUMBER EQ 'FOC_NONE' THEN '' ELSE ' For Customer ' | &CUST_NUMBER;
-SET &TIT_PL_NUM = IF &PL_NUMBER EQ 'FOC_NONE' THEN '' ELSE ' For PL ' | &PL_NUMBER;
-SET &TIT_SALES_ACCT = IF &SALES_ACCT_CODE EQ 'FOC_NONE' THEN '' ELSE ' For Sales Acct Code ' | &SALES_ACCT_CODE;
-SET &TIT_GROUP_NUM = IF &GROUP_NUMBER EQ 'FOC_NONE' THEN '' ELSE ' For Group ' | &GROUP_NUMBER;
-SET &TIT_SUB_GRP = IF &SUB_GROUP_NUMBER EQ 'FOC_NONE' THEN '' ELSE ' For Subgroup ' | &SUB_GROUP_NUMBER;
-SET &TIT_ITEM_NUM = IF &ITEM_NUMBER EQ 'FOC_NONE' THEN '' ELSE ' For Item ' | &ITEM_NUMBER;
-SET &TIT_CUSTCL = IF &CUST_CLASS_CODE EQ 'FOC_NONE' THEN '' ELSE ' For CustClass ' | &CUST_CLASS_CODE;
-SET &TIT_BEGIN_MONTH = IF &BEGIN_MONTH EQ 'FOC_NONE' THEN ' ' ELSE ' For ' | &BEGIN_MONTH;
-SET &TIT_END_MONTH = IF &END_MONTH EQ 'FOC_NONE' THEN ' ' ELSE ' to ' | &END_MONTH;
-SET &TIT_MTD_PRORATE = IF &MTD_PRORATE EQ 'FOC_NONE' THEN ' ' ELSE ' Figures Prorated for all Prior Years based on Todays Date ';
-* because html forms pass quoted values and graphs don't.
-SET &QT = '''';
-SET &FACILITY_CODE1 = IF &FACILITY_CODE OMITS &QT AND &FACILITY_CODE NE 'FOC_NONE' THEN &QT | &FACILITY_CODE | &QT ELSE &FACILITY_CODE;
-SET &STORE_CODE1 = IF &STORE_CODE OMITS &QT AND &STORE_CODE NE 'FOC_NONE' THEN &QT | &STORE_CODE | &QT ELSE &STORE_CODE;
-SET &CUST_NUMBER1 = IF &CUST_NUMBER OMITS &QT AND &CUST_NUMBER NE 'FOC_NONE' THEN &QT | &CUST_NUMBER | &QT ELSE &CUST_NUMBER;
-SET &PL_NUMBER1 = IF &PL_NUMBER OMITS &QT AND &PL_NUMBER NE 'FOC_NONE' THEN &QT | &PL_NUMBER | &QT ELSE &PL_NUMBER;
-SET &GROUP_NUMBER1 = IF &GROUP_NUMBER OMITS &QT AND &GROUP_NUMBER NE 'FOC_NONE' THEN &QT | &GROUP_NUMBER | &QT ELSE &GROUP_NUMBER;
-SET &SUB_GROUP_NUMBER1 = IF &SUB_GROUP_NUMBER OMITS &QT AND &SUB_GROUP_NUMBER NE 'FOC_NONE' THEN &QT | &SUB_GROUP_NUMBER | &QT ELSE &SUB_GROUP_NUMBER;
-SET &ITEM_NUMBER1 = IF &ITEM_NUMBER OMITS &QT AND &ITEM_NUMBER NE 'FOC_NONE' THEN &QT | &ITEM_NUMBER | &QT ELSE &ITEM_NUMBER;
-SET &CUST_CLASS_CODE1 = IF &CUST_CLASS_CODE OMITS &QT AND &CUST_CLASS_CODE NE 'FOC_NONE' THEN &QT | &CUST_CLASS_CODE | &QT ELSE &CUST_CLASS_CODE;
-SET &LOC_DEST = 'LOC_' | &LOC;
-SET &A_DEST = 'A_' | &LOC | &TRIB;
-SET &STRTRAIL = &STRTRAIL || &LOC || &TRIB;
-SET &STRTRAIL_D = IF &STRTRAIL EQ 'FOC_NONE' THEN ' ' ELSE ' Trail ' | &STRTRAIL;
-* // -------------------------------------------------------------------------------------
-* // ---- STEP 1 GOTO - FOR TABLE FILE MATRIX_DIV_MTD OR MATRIX_DIV_MONTHLY -----
-* // -------------------------------------------------------------------------------------
-IF &USE_VIEWER NE 'True' THEN GOTO USE_OLAP ELSE GOTO USE_VIEWA;
-USE_OLAP
-OLAP ON -* SET BACK ON SOME OTHER TIME
-GOTO MY_START;
-USE_VIEWA
ON TABLE SET WEBVIEWER ON
-GOTO MY_START;
-MY_START
TABLE FILE CAR
-* // -------------------------------------------------------------------------------------
-* // ---- STEP 2 GOTO - HANDLE RETURN EFFECT CRITERIA AND ALSO BUDGET INFO -----
-* // -------------------------------------------------------------------------------------
-ADD_DETAILS
SUM
RETAIL_COST/P11BM AS 'Sales,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1SALES ELSE GOTO BGT_START;
-P1SALES
RETAIL_COST/P11BM AS 'Sales,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2SALES ELSE GOTO BGT_START;
-P2SALES
RETAIL_COST/P11BM AS 'Sales Two,Yrs Prior'
-IF &YEAR_COUNT GE '3' THEN GOTO P3SALES ELSE GOTO BGT_START;
-P3SALES
RETAIL_COST/P11BM AS 'Sales Three,Yrs Prior'
-IF &YEAR_COUNT GE '4' THEN GOTO P4SALES ELSE GOTO BGT_START;
-P4SALES
RETAIL_COST/P11BM AS 'Sales Four,Yrs Prior'
-BGT_START
-IF &SBGT EQ 'True' THEN GOTO BGT_INFO ELSE GOTO COMM_START;
-BGT_INFO
DEALER_COST/P11BM AS 'Projected Sales,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1BGT ELSE GOTO COMM_START;
-P1BGT
DEALER_COST/P11BM AS 'Projected Sales,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2BGT ELSE GOTO COMM_START;
-P2BGT
DEALER_COST/P11BM AS 'Projected Sales,Two Yrs Ago'
-IF &YEAR_COUNT GE '3' THEN GOTO P3BGT ELSE GOTO COMM_START;
-P3BGT
DEALER_COST/P11BM AS 'Projected Sales,Three Yrs Ago'
-IF &YEAR_COUNT GE '4' THEN GOTO P4BGT ELSE GOTO COMM_START;
-P4BGT
DEALER_COST/P11BM AS 'Projected Sales,Four Yrs Ago'
-COMM_START
LENGTH/P11BM AS 'Net Comm,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1COMM ELSE GOTO MRGPRC_STRT;
-P1COMM
LENGTH/P11BM AS 'Net Comm,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2COMM ELSE GOTO MRGPRC_STRT;
-P2COMM
LENGTH/P11BM AS 'Net Comm,Two Yrs Prior'
-IF &YEAR_COUNT GE '3' THEN GOTO P3COMM ELSE GOTO MRGPRC_STRT;
-P3COMM
LENGTH/P11BM AS 'Net Comm,Three Yrs Prior'
-IF &YEAR_COUNT GE '4' THEN GOTO P4COMM ELSE GOTO MRGPRC_STRT;
-P4COMM
LENGTH/P11BM AS 'Net Comm,Four Yrs Prior'
-MRGPRC_STRT
COMPUTE bdy_ty_margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP) / RETAIL_COST ) * 100;
AS 'Margin %,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1MRGPRC ELSE GOTO MRGDL_STRT;
-P1MRGPRC
COMPUTE bdy_1y_margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP) / RETAIL_COST ) * 100;
AS 'Margin %,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2MRGPRC ELSE GOTO MRGDL_STRT;
-P2MRGPRC
COMPUTE bdy_2y_margin_perc/D12.2B = ( (RETAIL_COST - P2FUEL_CAP) / RETAIL_COST ) * 100;
AS 'Margin %,Two Yrs Prior'
-IF &YEAR_COUNT GE '3' THEN GOTO P3MRGPRC ELSE GOTO MRGDL_STRT;
-P3MRGPRC
COMPUTE bdy_3y_margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP) / RETAIL_COST ) * 100;
AS 'Margin %,Three Yrs Prior'
-IF &YEAR_COUNT GE '4' THEN GOTO P4MRGPRC ELSE GOTO MRGDL_STRT;
-P4MRGPRC
COMPUTE bdy_4y_margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP) / RETAIL_COST ) * 100;
AS 'Margin %,Four Yrs Prior'
-MRGDL_STRT
COMPUTE bdy_ty_margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP);
AS 'Margin $,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1MRGDOLL ELSE GOTO ACMRGP_STRT;
-P1MRGDOLL
COMPUTE bdy_1y_margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP);
AS 'Margin $,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2MRGDOLL ELSE GOTO ACMRGP_STRT;
-P2MRGDOLL
COMPUTE bdy_2y_margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP);
AS 'Margin $,Two Yrs Prior'
-IF &YEAR_COUNT GE '3' THEN GOTO P3MRGDOLL ELSE GOTO ACMRGP_STRT;
-P3MRGDOLL
COMPUTE bdy_3y_margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP);
AS 'Margin $,Three Yrs Prior'
-IF &YEAR_COUNT GE '4' THEN GOTO P4MRGDOLL ELSE GOTO ACMRGP_STRT;
-P4MRGDOLL
COMPUTE bdy_4y_margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP);
AS 'Margin $,Four Yrs Prior'
-ACMRGP_STRT
COMPUTE bdy_ty_AC_Margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP - LENGTH) / RETAIL_COST ) * 100;
AS 'AC Margin %,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1ACMRGP ELSE GOTO ACMRGD_STRT;
-P1ACMRGP
COMPUTE bdy_1y_AC_Margin_perc/D12.2B = ( (RETAIL_COST -FUEL_CAP - LENGTH) / RETAIL_COST ) * 100;
AS 'AC Margin %,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2ACMRGP ELSE GOTO ACMRGD_STRT;
-P2ACMRGP
COMPUTE bdy_2y_AC_Margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP - LENGTH) / RETAIL_COST ) * 100;
AS 'AC Margin %,Two Yrs Prior'
-IF &YEAR_COUNT GE '3' THEN GOTO P3ACMRGP ELSE GOTO ACMRGD_STRT;
-P3ACMRGP
COMPUTE bdy_3y_AC_Margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP - LENGTH) /RETAIL_COST ) * 100;
AS 'AC Margin %,Three Yrs Prior'
-IF &YEAR_COUNT GE '4' THEN GOTO P4ACMRGP ELSE GOTO ACMRGD_STRT;
-P4ACMRGP
COMPUTE bdy_4y_AC_Margin_perc/D12.2B = ( (RETAIL_COST - FUEL_CAP - LENGTH) / RETAIL_COST ) * 100;
AS 'AC Margin %,Four Yrs Prior'
-ACMRGD_STRT
COMPUTE bdy_ty_AC_Margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP - LENGTH);
AS 'AC Margin $,This Yr.'
-IF &YEAR_COUNT GE '1' THEN GOTO P1ACMRGD ELSE GOTO ADD_GROUPBY;
-P1ACMRGD
COMPUTE bdy_ty_AC_Margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP - LENGTH);
AS 'AC Margin $,Prior Yr.'
-IF &YEAR_COUNT GE '2' THEN GOTO P2ACMRGD ELSE GOTO ADD_GROUPBY;
-P2ACMRGD
COMPUTE bdy_ty_AC_Margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP - LENGTH);
AS 'AC Margin $,Two Yrs Prior'
-IF &YEAR_COUNT GE '3' THEN GOTO P3ACMRGD ELSE GOTO ADD_GROUPBY;
-P3ACMRGD
COMPUTE bdy_ty_AC_Margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP - LENGTH);
AS 'AC Margin $,Three Yrs Prior'
-IF &YEAR_COUNT GE '4' THEN GOTO P4ACMRGD ELSE GOTO ADD_GROUPBY;
-P4ACMRGD
COMPUTE bdy_ty_AC_Margin_doll/P11BM = ( RETAIL_COST - FUEL_CAP - LENGTH);
AS 'AC Margin $,Four Yrs Prior'
-GOTO ADD_GROUPBY;
-* // END !TODO! ADD IF FOR THE COMBINED/SALES/RETURNS HERE...CHANGE THE COLUMN NAMES
-* //*********************************************************************************//
-* // STEP 1.1A GOTO - PICKS THE GROUP BY OPERATION BASED ON CONCATENATION //
-* // OF THE WORD 'FAST' WITH THE REP_PARM INPUT //
-* //*********************************************************************************//
-ADD_GROUPBY
-*MAX.FACILITY_CODE NOPRINT
-*MAX.STORE_BUDGETED_NUMBER NOPRINT
-*MAX.PL_NUMBER NOPRINT
-*MAX.SALES_ACCT_CODE NOPRINT
-*MAX.CUST_CLASS_CODE NOPRINT
-*MAX.DETAIL_CUST_NUMBER NOPRINT
-*MAX.GROUP_NUMBER NOPRINT
-*MAX.SUBGROUP_NUM NOPRINT
-*MAX.ITEM_NUM NOPRINT
-*MIN.YEARMONTH NOPRINT
-*MAX.YEARMONTH NOPRINT
-IF &CHR EQ 'BYMONTH' THEN GOTO BS_BYMONTH ELSE GOTO MY_ONE;
-BS_BYMONTH
BY HIGHEST MODEL AS 'Month'
-GOTO LOCALE;
-MY_ONE
-IF &CHR EQ 'BYYEAR' THEN GOTO BS_BYYEAR ELSE GOTO LOCALE;
-BS_BYYEAR
BY HIGHEST BODYTYPE AS 'Year'
-GOTO LOCALE;
-LOCALE
-IF &LOC EQ 'IGGY' THEN GOTO NOW_ATTRIB ELSE GOTO &LOC;
-* STEP 1.2A - RUN THE GROUP BY OPERATION
-STR
BY BODYTYPE AS 'Store'
-GOTO NOW_ATTRIB;
-DIVSTR
BY MODEL AS 'Div'
BY BODYTYPETYPE AS 'Store'
-GOTO NOW_ATTRIB;
-STRDIV
BY BODYTYPE AS 'Store'
BY MODEL AS 'Div'
-GOTO NOW_ATTRIB;
-DIV
BY MODEL AS 'Div'
-GOTO NOW_ATTRIB;
-* STEP 1.2B - RUN THE GROUP BY OPERATION
-* THESE NEXT TWO GROUPS ARE ADDED BASED ON SELECT1 FROM HTML FORM.
-* THE IDEA IS TO SEPERATE THE GROUP BY'S
-* ONE FOR MONTH/ FACILIY/ STORE/ FACILITYSTORE
-* SECOND FOR ALL OTHER DETAIL STUFF LIKE CUSTOMER INFO
-NOW_ATTRIB
-IF &TRIB EQ 'IGGY' THEN GOTO NOW_STYLE ELSE GOTO &TRIB;
-CL
BY CUST_CLASS AS 'Cust,Class'
-GOTO NOW_STYLE;
-CLPL
BY CUST_CLASS AS 'Cust,Class'
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Desc'
-GOTO NOW_STYLE;
-CUST
BY DETAIL_CUST_NAME AS 'Customer Name'
BY DETAIL_CUST_NUMBER AS 'Cust,Num'
-GOTO NOW_STYLE;
-CUSTPL
BY DETAIL_CUST_NUMBER AS 'Cust,Num'
BY CUST_CLASS AS 'Cust,Class'
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Desc'
-GOTO NOW_STYLE;
-SACT
BY SALES_ACCT_CODE AS 'SAC'
BY SALES_ACCT AS 'Sales,Acct'
-GOTO NOW_STYLE;
-SACTPL
BY SALES_ACCT_CODE AS 'SAC'
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Desc'
-GOTO NOW_STYLE;
-SACTCUST
BY SALES_ACCT_CODE AS 'SAC'
BY DETAIL_CUST_NUMBER AS 'Cust,Num'
BY DETAIL_CUST_NAME AS 'Customer Name'
-GOTO NOW_STYLE;
-PL
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Desc'
-GOTO NOW_STYLE;
-PLCUST
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Desc'
BY DETAIL_CUST_NUMBER AS 'Cust,Num'
BY DETAIL_CUST_NAME AS 'Customer Name'
-GOTO NOW_STYLE;
-PLCL
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Desc'
BY CUST_CLASS_CODE AS 'Class,Code'
BY CUST_CLASS AS 'Cust,Class
-GOTO NOW_STYLE;
-PLSACT
BY PL_NUMBER AS 'PL'
BY PL_DESCRIPTION AS 'PL Description'
BY SALES_ACCT_CODE AS 'SAC'
-GOTO NOW_STYLE;
-GR
BY GROUP_NUMBER AS 'Grp'
BY GROUP AS 'Group'
-GOTO NOW_STYLE;
-SG
BY SUBGROUP_NUM AS 'SGrp'
BY SUBGROUP AS 'Subgroup'
-GOTO NOW_STYLE;
-ITEM
BY ITEM_NUM AS 'Item'
BY ITEM_DESCRIPTION AS 'Item,Description'
-GOTO NOW_STYLE;
-NOW_STYLE
HEADING
"Matrix Report &TIT_DIV &TIT_STORE &TIT_CUST_CL &TIT_CUST_NUM &TIT_PL_NUM &TIT_SALES_ACCT &TIT_GROUP_NUM &TIT_SUB_GRP &TIT_ITEM_NUM"
"&TIT_BEGIN_MONTH &TIT_END_MONTH"
"&STRTRAIL_D"
-* WHERE YEARMONTH GE &BEGIN_MONTH;
-* WHERE YEARMONTH LE &END_MONTH;
-* WHERE FACILITY_CODE EQ &FACILITY_CODE1;
-* WHERE STORE_BUDGETED_NUMBER EQ &STORE_CODE1;
-* WHERE DETAIL_CUST_NUMBER EQ &CUST_NUMBER1;
-* WHERE PL_NUMBER EQ &PL_NUMBER1;
-* WHERE GROUP_NUMBER EQ &GROUP_NUMBER1;
-*-* WHERE SUBGROUP_NUM EQ &SUB_GROUP_NUMBER1;
-* WHERE CUST_CLASS_CODE EQ &CUST_CLASS_CODE1;
-* WHERE ITEM_NUM EQ &ITEM_NUMBER1;
-IF &RETURN_EFFECT EQ 'S' THEN GOTO SALES_ONLY ELSE GOTO BS_RETONLY;
-SALES_ONLY
-* WHERE ORDER_CLASS NE 'R';
-GOTO NOW_PRORATE
-BS_RETONLY
-IF &RETURN_EFFECT EQ 'R' THEN GOTO RET_ONLY ELSE GOTO NOW_PRORATE;
-RET_ONLY
-* WHERE ORDER_CLASS EQ 'R';
-GOTO NOW_PRORATE
-NOW_PRORATE
-IF &MTD_PRORATE EQ 'True' THEN GOTO MTD_ALL ELSE GOTO MTD_SINGLE;
-MTD_ALL
-* WHERE ( MTD_FLAG LE 50 );
-GOTO NOW_STYLE2
-MTD_SINGLE
-* WHERE ( MTD_FLAG EQ 50 ) OR ( MTD_FLAG EQ 55 );
-GOTO NOW_STYLE2
-NOW_STYLE2
-IF &USE_VIEWER EQ 'True' THEN GOTO USE_VIEWER ELSE GOTO NOW_STYLE3;
-USE_VIEWER
ON TABLE SET WEBVIEWER ON
-NOW_STYLE3
ON TABLE SET PAGE-NUM OFF
ON TABLE SET BYDISPLAY ON
-*ON TABLE NOTOTAL
ON TABLE COLUMN-TOTAL AS 'TOTAL'
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET OLAPPANE HIDDEN
ON TABLE SET STYLE *
UNITS=IN,
SQUEEZE=ON,
WRAP=OFF,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
TYPE=DATA,COLUMN=N1,
-* -GOTO &LOC_DEST;
-* -LOC_IGGY
-IF &STRTRAIL OMITS 'DIV' THEN GOTO ASTART ELSE GOTO AEND;
-ASTART
DRILLMENUITEM='Show by Division',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = 'DIV' \
TRIB = '&TRIB' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO ADIV1 ELSE GOTO ADIV2;
-ADIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO ADIVE
-ADIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-ADIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO ASTR1 ELSE GOTO ASTR2;
-ASTR1
STORE_CODE = '&STORE_CODE' \
-GOTO ASTRE
-ASTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-ASTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO ACL1 ELSE GOTO ACL2;
-ACL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO ACLE
-ACL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-ACLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO ACUST1 ELSE GOTO ACUST2;
-ACUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO ACUSTE
-ACUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-ACUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO APL1 ELSE GOTO APL2;
-APL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO APLE
-APL2
PL_NUMBER = MAX.PL_NUMBER \
-APLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO ASACT1 ELSE GOTO ASACT2;
-ASACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO ASACTE
-ASACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-ASACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO AGR1 ELSE GOTO AGR2;
-AGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO AGRE
-AGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-AGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO ASG1 ELSE GOTO ASG2;
-ASG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO ASGE
-ASG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-ASGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO AITEM1 ELSE GOTO AITEM2;
-AITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO AITEME
-AITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-AITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-AEND
-IF &STRTRAIL OMITS 'STR' THEN GOTO BSTART ELSE GOTO BEND;
-BSTART
DRILLMENUITEM='Show by Store',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = 'STR' \
TRIB = '&TRIB' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO BDIV1 ELSE GOTO BDIV2;
-BDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO BDIVE
-BDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-BDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO BSTR1 ELSE GOTO BSTR2;
-BSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO BSTRE
-BSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-BSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO BCL1 ELSE GOTO BCL2;
-BCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO BCLE
-BCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-BCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO BCUST1 ELSE GOTO BCUST2;
-BCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO BCUSTE
-BCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-BCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO BPL1 ELSE GOTO BPL2;
-BPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO BPLE
-BPL2
PL_NUMBER = MAX.PL_NUMBER \
-BPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO BSACT1 ELSE GOTO BSACT2;
-BSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO BSACTE
-BSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-BSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO BGR1 ELSE GOTO BGR2;
-BGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO BGRE
-BGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-BGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO BSG1 ELSE GOTO BSG2;
-BSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO BSGE
-BSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-BSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO BITEM1 ELSE GOTO BITEM2;
-BITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO BITEME
-BITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-BITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-BEND
-IF &STRTRAIL OMITS 'CL' THEN GOTO CSTART ELSE GOTO CEND;
-CSTART
DRILLMENUITEM='Show By Customer Class',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'CL' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO CDIV1 ELSE GOTO CDIV2;
-CDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO CDIVE
-CDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-CDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO CSTR1 ELSE GOTO CSTR2;
-CSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO CSTRE
-CSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-CSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO CCL1 ELSE GOTO CCL2;
-CCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO CCLE
-CCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-CCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO CCUST1 ELSE GOTO CCUST2;
-CCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO CCUSTE
-CCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-CCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO CPL1 ELSE GOTO CPL2;
-CPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO CPLE
-CPL2
PL_NUMBER = MAX.PL_NUMBER \
-CPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO CSACT1 ELSE GOTO CSACT2;
-CSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO CSACTE
-CSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-CSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO CGR1 ELSE GOTO CGR2;
-CGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO CGRE
-CGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-CGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO CSG1 ELSE GOTO CSG2;
-CSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO CSGE
-CSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-CSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO CITEM1 ELSE GOTO CITEM2;
-CITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO CITEME
-CITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-CITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-CEND
-IF &STRTRAIL OMITS 'PL' THEN GOTO DSTART ELSE GOTO DEND;
-DSTART
DRILLMENUITEM='Show By Product Line',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'PL' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO DDIV1 ELSE GOTO DDIV2;
-DDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO DDIVE
-DDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-DDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO DSTR1 ELSE GOTO DSTR2;
-DSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO DSTRE
-DSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-DSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO DCL1 ELSE GOTO DCL2;
-DCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO DCLE
-DCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-DCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO DCUST1 ELSE GOTO DCUST2;
-DCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO DCUSTE
-DCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-DCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO DPL1 ELSE GOTO DPL2;
-DPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO DPLE
-DPL2
PL_NUMBER = MAX.PL_NUMBER \
-DPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO DSACT1 ELSE GOTO DSACT2;
-DSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO DSACTE
-DSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-DSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO DGR1 ELSE GOTO DGR2;
-DGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO DGRE
-DGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-DGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO DSG1 ELSE GOTO DSG2;
-DSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO DSGE
-DSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-DSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO DITEM1 ELSE GOTO DITEM2;
-DITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO DITEME
-DITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-DITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-DEND
-IF &STRTRAIL OMITS 'GR' THEN GOTO ESTART ELSE GOTO EEND;
-ESTART
DRILLMENUITEM='Show By Group',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'GR' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO EDIV1 ELSE GOTO EDIV2;
-EDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO EDIVE
-EDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-EDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO ESTR1 ELSE GOTO ESTR2;
-ESTR1
STORE_CODE = '&STORE_CODE' \
-GOTO ESTRE
-ESTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-ESTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO ECL1 ELSE GOTO ECL2;
-ECL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO ECLE
-ECL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-ECLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO ECUST1 ELSE GOTO ECUST2;
-ECUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO ECUSTE
-ECUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-ECUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO EPL1 ELSE GOTO EPL2;
-EPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO EPLE
-EPL2
PL_NUMBER = MAX.PL_NUMBER \
-EPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO ESACT1 ELSE GOTO ESACT2;
-ESACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO ESACTE
-ESACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-ESACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO EGR1 ELSE GOTO EGR2;
-EGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO EGRE
-EGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-EGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO ESG1 ELSE GOTO ESG2;
-ESG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO ESGE
-ESG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-ESGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO EITEM1 ELSE GOTO EITEM2;
-EITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO EITEME
-EITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-EITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-EEND
-IF &STRTRAIL OMITS 'SG' THEN GOTO FSTART ELSE GOTO FEND;
-FSTART
DRILLMENUITEM='Show By SubGroup',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'SG' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO FDIV1 ELSE GOTO FDIV2;
-FDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO FDIVE
-FDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-FDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO FSTR1 ELSE GOTO FSTR2;
-FSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO FSTRE
-FSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-FSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO FCL1 ELSE GOTO FCL2;
-FCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO FCLE
-FCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-FCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO FCUST1 ELSE GOTO FCUST2;
-FCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO FCUSTE
-FCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-FCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO FPL1 ELSE GOTO FPL2;
-FPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO FPLE
-FPL2
PL_NUMBER = MAX.PL_NUMBER \
-FPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO FSACT1 ELSE GOTO FSACT2;
-FSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO FSACTE
-FSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-FSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO FGR1 ELSE GOTO FGR2;
-FGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO FGRE
-FGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-FGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO FSG1 ELSE GOTO FSG2;
-FSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO FSGE
-FSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-FSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO FITEM1 ELSE GOTO FITEM2;
-FITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO FITEME
-FITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-FITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-FEND
-IF &STRTRAIL OMITS 'SACT' THEN GOTO GSTART ELSE GOTO GEND;
-GSTART
DRILLMENUITEM='Show By Sales Acct Code',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'SACT' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO GDIV1 ELSE GOTO GDIV2;
-GDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO GDIVE
-GDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-GDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO GSTR1 ELSE GOTO GSTR2;
-GSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO GSTRE
-GSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-GSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO GCL1 ELSE GOTO GCL2;
-GCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO GCLE
-GCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-GCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO GCUST1 ELSE GOTO GCUST2;
-GCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO GCUSTE
-GCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-GCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO GPL1 ELSE GOTO GPL2;
-GPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO GPLE
-GPL2
PL_NUMBER = MAX.PL_NUMBER \
-GPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO GSACT1 ELSE GOTO GSACT2;
-GSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO GSACTE
-GSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-GSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO GGR1 ELSE GOTO GGR2;
-GGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO GGRE
-GGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-GGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO GSG1 ELSE GOTO GSG2;
-GSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO GSGE
-GSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-GSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO GITEM1 ELSE GOTO GITEM2;
-GITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO GITEME
-GITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-GITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-GEND
-IF &STRTRAIL OMITS 'CUST' THEN GOTO HSTART ELSE GOTO HEND;
-HSTART
DRILLMENUITEM='Show By Customer',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'CUST' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO HDIV1 ELSE GOTO HDIV2;
-HDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO HDIVE
-HDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-HDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO HSTR1 ELSE GOTO HSTR2;
-HSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO HSTRE
-HSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-HSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO HCL1 ELSE GOTO HCL2;
-HCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO HCLE
-HCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-HCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO HCUST1 ELSE GOTO HCUST2;
-HCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO HCUSTE
-HCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-HCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO HPL1 ELSE GOTO HPL2;
-HPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO HPLE
-HPL2
PL_NUMBER = MAX.PL_NUMBER \
-HPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO HSACT1 ELSE GOTO HSACT2;
-HSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO HSACTE
-HSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-HSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO HGR1 ELSE GOTO HGR2;
-HGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO HGRE
-HGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-HGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO HSG1 ELSE GOTO HSG2;
-HSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO HSGE
-HSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-HSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO HITEM1 ELSE GOTO HITEM2;
-HITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO HITEME
-HITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-HITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-HEND
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO JSTART ELSE GOTO JEND;
-JSTART
DRILLMENUITEM='Show By Item',
FOCEXEC=app/wcqrgj18.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
CHR = '&CHR' \
LOC = '&LOC' \
TRIB = 'ITEM' \
-IF &STRTRAIL OMITS 'DIV' THEN GOTO JDIV1 ELSE GOTO JDIV2;
-JDIV1
FACILITY_CODE = '&FACILITY_CODE' \
-GOTO JDIVE
-JDIV2
FACILITY_CODE = MAX.FACILITY_CODE \
-JDIVE
-IF &STRTRAIL OMITS 'STR' THEN GOTO JSTR1 ELSE GOTO JSTR2;
-JSTR1
STORE_CODE = '&STORE_CODE' \
-GOTO JSTRE
-JSTR2
STORE_CODE = MAX.STORE_BUDGETED_NUMBER \
-JSTRE
-IF &STRTRAIL OMITS 'CL' THEN GOTO JCL1 ELSE GOTO JCL2;
-JCL1
CUST_CLASS_CODE = '&CUST_CLASS_CODE' \
-GOTO JCLE
-JCL2
CUST_CLASS_CODE = MAX.CUST_CLASS_CODE \
-JCLE
-IF &STRTRAIL OMITS 'CUST' THEN GOTO JCUST1 ELSE GOTO JCUST2;
-JCUST1
CUST_NUMBER = '&CUST_NUMBER' \
-GOTO JCUSTE
-JCUST2
CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
-JCUSTE
-IF &STRTRAIL OMITS 'PL' THEN GOTO JPL1 ELSE GOTO JPL2;
-JPL1
PL_NUMBER = '&PL_NUMBER' \
-GOTO JPLE
-JPL2
PL_NUMBER = MAX.PL_NUMBER \
-JPLE
-IF &STRTRAIL OMITS 'SACT' THEN GOTO JSACT1 ELSE GOTO JSACT2;
-JSACT1
SALES_ACCT_CODE = '&SALES_ACCT_CODE' \
-GOTO JSACTE
-JSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Master
posted Hide Post
Even when built against the CAR file, if I remove all but a few lines of the 'DRILLMENUITEM's it runs fine with OLAP ON, OR I can have as many DrillMenuItem's as I want as long as OLAP is OFF.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
Jason, is it possible that the complete program isn't in your posting - perhaps there's a limit to the number of posting lines. If so, just post the rest of the code (from -JSACT2 onwards).


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
-JSACT2
SALES_ACCT_CODE = MAX.SALES_ACCT_CODE \
-JSACTE
-IF &STRTRAIL OMITS 'GR' THEN GOTO JGR1 ELSE GOTO JGR2;
-JGR1
GROUP_NUMBER = '&GROUP_NUMBER' \
-GOTO JGRE
-JGR2
GROUP_NUMBER = MAX.GROUP_NUMBER \
-JGRE
-IF &STRTRAIL OMITS 'SG' THEN GOTO JSG1 ELSE GOTO JSG2;
-JSG1
SUB_GROUP_NUMBER = '&SUB_GROUP_NUMBER' \
-GOTO JSGE
-JSG2
SUB_GROUP_NUMBER = MAX.SUBGROUP_NUM \
-JSGE
-IF &STRTRAIL OMITS 'ITEM' THEN GOTO JITEM1 ELSE GOTO JITEM2;
-JITEM1
ITEM_NUMBER = '&ITEM_NUMBER' \
-GOTO JITEME
-JITEM2
ITEM_NUMBER = MAX.ITEM_NUMBER \
-JITEME
RETURN_EFFECT ='&RETURN_EFFECT' \
SBGT ='&SBGT' \
YEAR_COUNT ='&YEAR_COUNT' \
MTD_PRORATE ='&MTD_PRORATE' \
USE_VIEWER ='&USE_VIEWER' \
STRTRAIL ='&STRTRAIL' \
),TARGET=_self,
-JEND
-IF &STRTRAIL CONTAINS 'CUST' THEN GOTO JOBDET_S ELSE GOTO JOBDET_E;
-JOBDET_S
DRILLMENUITEM='Show Job information for this Customer',
FOCEXEC=app/job_detail.fex( \
BEGIN_MONTH =MIN.YEARMONTH \
END_MONTH =MAX.YEARMONTH \
DETAIL_CUST_NUMBER = MAX.DETAIL_CUST_NUMBER \
), TARGET=_self,
-JOBDET_E
-EXIT_LOC
$
-* dollar sign added above to end drill down section.
TYPE=REPORT,COLUMN=YEAR,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=MONTH,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=FACILITY_CODE,SQUEEZE=.25,$
TYPE=REPORT,COLUMN=FACILITY,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=STORE_CODE,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=STORE_BUDGETED,SQUEEZE=1.25,$
TYPE=REPORT,COLUMN=SALES_ACCT_CODE,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=CUST_CLASS_CODE,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=CUST_CLASS,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=CUST_NUMBER,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=DETAIL_CUST_NAME,SQUEEZE=2.25,$
TYPE=REPORT,COLUMN=DETAIL_CUST_NUM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=PL_NUMBER,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=PRODUCT_LINE,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=GROUP_NUMBER,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=GROUP,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=SUB_GROUP_NUMBER,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=SUB_GROUP,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=ITEM_NUMBER,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=ITEM_DESCRIPTION,SQUEEZE=3.00,$
TYPE=REPORT,COLUMN=SALES_DOLLARS_SALES,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=SALES_DOLLARS_CM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=SALES_DOLLARS_NET,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=ACT_COST_SALES,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=ACT_COST_CM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=ACT_COST_NET,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=MARGIN_DOLLARS,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_MARGIN_DOLLARS,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=COMM_EARNED_SALES,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=COMM_EARNED_CM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=COMM_EARNED_NET,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=AC_MARGIN_DOLLARS,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_AC_MARGIN_DOLLARS,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_SALES_DOLLARS_SALES,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_SALES_DOLLARS_CM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_SALES_DOLLARS_NET,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_ACT_COST_SALES,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_ACT_COST_CM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_ACT_COST_NET,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_COMM_EARNED_SALES,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_COMM_EARNED_CM,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=P_COMM_EARNED_NET,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=bdy_ly_margin_perc,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=bdy_ty_margin_perc,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=bdy_ly_ac_margin_perc,SQUEEZE=.75,$
TYPE=REPORT,COLUMN=bdy_ty_ac_margin_perc,SQUEEZE=.75,$
TYPE=TITLE, STYLE=BOLD, JUSTIFY=LEFT, COLUMN=STORE_BUDGETED,$
TYPE=TITLE, STYLE=BOLD, JUSTIFY=RIGHT,$
TYPE=HEADING, SIZE=10, STYLE=BOLD, BACKCOLOR=RGB(210 210 210),$
TYPE=DATA, BACKCOLOR=( 'WHITE' RGB(222 224 239) ), JUSTIFY=RIGHT, SIZE=8,$
-* //! SET THE BY FIELDS TO LOOK BETTER
TYPE=DATA, COLUMN=MONTH, JUSTIFY=LEFT, STYLE=BOLD,$
TYPE=DATA, COLUMN=YEAR, JUSTIFY=LEFT, STYLE=BOLD,$
TYPE=DATA, COLUMN=FACILITY_CODE, JUSTIFY=LEFT, STYLE=ITALIC,$
TYPE=DATA, COLUMN=FACILITY, JUSTIFY=LEFT, STYLE=ITALIC,$
TYPE=DATA, COLUMN=STORE_BUDGETED, JUSTIFY=LEFT, STYLE=BOLD+ITALIC,$
TYPE=DATA, COLUMN=STORE_CODE, JUSTIFY=LEFT, STYLE=BOLD+ITALIC,$
TYPE=DATA, COLUMN=SALES_ACCT_CODE,STYLE=ITALIC,$
TYPE=DATA, COLUMN=CUST_CLASS_CODE,STYLE=ITALIC,$
TYPE=DATA, COLUMN=CUST_CLASS,STYLE=ITALIC,$
TYPE=DATA, COLUMN=CUST_NUMBER,STYLE=ITALIC,$
TYPE=DATA, COLUMN=DETAIL_CUST_NAME,STYLE=BOLD+ITALIC,$
TYPE=DATA, COLUMN=DETAIL_CUST_NUM,STYLE=ITALIC,$
TYPE=DATA, COLUMN=PL_NUMBER,STYLE=ITALIC,$
TYPE=DATA, COLUMN=PRODUCT_LINE,STYLE=ITALIC,$
TYPE=DATA, COLUMN=GROUP_NUMBER,STYLE=ITALIC,$
TYPE=DATA, COLUMN=GROUP,STYLE=ITALIC,$
TYPE=DATA, COLUMN=SUB_GROUP_NUMBER,STYLE=ITALIC,$
TYPE=DATA, COLUMN=SUB_GROUP,STYLE=ITALIC,$
TYPE=DATA, COLUMN=ITEM_NUMBER,STYLE=ITALIC,$
TYPE=DATA, COLUMN=ITEM_DESCRIPTION,STYLE=ITALIC,$
-* //! SET THE PRIOR YEAR NUMBERS ITALIC TO LOOK BETTER
TYPE=DATA, COLUMN=P_SALES_DOLLARS_SALES,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_SALES_DOLLARS_CM,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_SALES_DOLLARS_NET,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_ACT_COST_SALES,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_ACT_COST_CM,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_ACT_COST_NET,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_COMM_EARNED_SALES,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_COMM_EARNED_CM,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_COMM_EARNED_NET,STYLE=ITALIC,$
TYPE=DATA, COLUMN=bdy_ly_margin_perc,STYLE=ITALIC,$
TYPE=DATA, COLUMN=bdy_ly_ac_margin_perc,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_MARGIN_DOLLARS,STYLE=ITALIC,$
TYPE=DATA, COLUMN=P_AC_MARGIN_DOLLARS,STYLE=ITALIC,$
TYPE=GRANDTOTAL,
BACKCOLOR=RGB(210 210 210),
STYLE=BOLD,
$
ENDSTYLE
-NOW_END
END


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Master
posted Hide Post
This is built off the 7.6.2 CAR file... do you have a different version of the CAR file that has less fields?

I know this .fex looks about worthless, I had to change the fieldnames to CAR fieldnames to get it from giving me errors of "fieldname not found" if it were using the fieldnames in my company, it would make more sense.

If you were to just cut/paste this into a .fex and try it (if your CAR file is same as mine) then that would be very helpful. It would tell us it's a limitation with our server. (IBI was able to duplicate the issue against a sample of our data and our master file on their servers)

Thanks so much. I look forward to hearing any ideas from anyone. Remember, we've been staring at this issue for 6 months, it's completely necessary as of a few hours ago when I showed it to coworkers who asked "how do we sort it like your other reports?"


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
So far, I was getting an agent crash with OLAP ON. I wasn't getting the drill-down items until I limited the number of them to 4. Then I determined that the reason for that is the length of the URL for the drill-down item, meaning if less parameters are passed, more drill-down items can be displayed. One thing I sometimes do is to give very short names to the variables that are passed, ie:
IN=MAX.ITEM_NUMBER \
You can then revert to the long name if you like in the called program.

But this is all in WF 5.3.2 so it may not apply.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
Francis,
You're absolutely right. In 7.6.2 we actually did abbreviate our names and they do show up. It sounds like 5.3.2 has an even shorter requirement for drill downs. We're actually at the limit, if I add even another drill down (even with shortened variable names and values) none of them show up. It took me over an hour to figure that out. Smiler

If you were getting a crash as well, then there's a problem with WF, not with our server config...and that is extremely helpful.

Still, any other ideas? maybe there's some silly syntax problem or something that's making it into runtime that causing the crash. I guess it's been known to happen. Smiler

This message has been edited. Last edited by: Jason K.,


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
My guess is that there's something fundamentally wrong with OLAP (at least in 5.3.2, that is).

This works:
TABLE FILE CAR
SUM SALES
BY COUNTRY
ON TABLE SET STYLESHEET *
TYPE=REPORT, GRID=OFF, FONT='ARIAL', SIZE=8, $
ENDSTYLE
END

This works:
-OLAP ON
TABLE FILE CAR
SUM SALES
BY COUNTRY
END

This triggers an error:
-OLAP ON
TABLE FILE CAR
SUM SALES
BY COUNTRY
ON TABLE SET STYLESHEET *
TYPE=REPORT, GRID=OFF, FONT='ARIAL', SIZE=8, $
ENDSTYLE
END

NUMBER OF RECORDS IN TABLE=       18  LINES=      5
ERROR AT OR NEAR LINE      8  IN PROCEDURE MULTIDRILL3
(FOC3245) ERROR ON PARSING TABLE IN OLAP


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
Francis,
from what you just posted, it looks like you're using the simplest of stylesheets.

I'm amazed that it triggered an error, because we use more complicated stylesheets with some of our olap enabled reports.

I really don't know what to do next. I don't think putting pressure on ibi's tech support is working so well, they just keep saying essentially "we're working on it."

Is there some other way to give folks the olap-type functionality like the sort funtions and what not?


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
This I should be selling!

I use column title colours to indicate the sort direction (highest/lowest) - it could get fancier by using the same images as used by OLAP (though they're ugly)

-*-- sortdemo1.fex -------------------------------------------------------------

-SET &ECHO=ALL;

-DEFAULT &SORT     = 'COUNTRY';
-DEFAULT &PREVSORT = 'COUNTRY';
-DEFAULT &SORTDIR = 'HIGEST';

-SET &RNDM = EDIT(HHMMSS('A8'),'99$99$99');

-SET &SORTDIR  = IF &SORT EQ &PREVSORT AND &SORTDIR EQ 'LOWEST' THEN 'HIGHEST' ELSE 'LOWEST';
-SET &DIRCOLOR = IF &SORTDIR EQ 'LOWEST' THEN 'RED' ELSE 'GREEN';

SET PAGE = NOLEAD
-RUN

TABLE FILE CAR
PRINT
COUNTRY
CAR
MODEL
SALES
BY &SORTDIR &SORT NOPRINT

ON TABLE SET STYLESHEET *
TYPE=REPORT, GRID=OFF,FONT='ARIAL', SIZE=8, $

TYPE=TITLE, COLUMN=&SORT(2), COLOR=&DIRCOLOR, $

TYPE=TITLE, COLUMN=P1, FOCEXEC=SORTDEMO1( \
SORT='COUNTRY' \
PREVSORT='&SORT' \
SORTDIR='&SORTDIR' \
RNDM=&RNDM \
), $

TYPE=TITLE, COLUMN=P2, FOCEXEC=SORTDEMO1( \
SORT='CAR' \
PREVSORT='&SORT' \
SORTDIR='&SORTDIR' \
RNDM=&RNDM \
), $

TYPE=TITLE, COLUMN=P3, FOCEXEC=SORTDEMO1( \
SORT='MODEL' \
PREVSORT='&SORT' \
SORTDIR='&SORTDIR' \
RNDM=&RNDM \
), $

TYPE=TITLE, COLUMN=P4, FOCEXEC=SORTDEMO1( \
SORT='SALES' \
PREVSORT='&SORT' \
SORTDIR='&SORTDIR' \
RNDM=&RNDM \
), $

ENDSTYLE
END
-RUN


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Member
posted Hide Post
This may or may not work. But one thing I've done in the past for drill down is to by pass the style sheet way of doing it. What I do is this.

Any focexec is submitted from a form. So I build an html page to hold the report that has a form on it. This form will submit a focexec the name of which will be passed. It also has all the variables that might be needed. This whole thing is hidden.

Then I write the report so that certain fields are wrapped in html code that will pass the focexec name and any variable information that may be needed. There is a java script that runs it when the link is triggered.

This might get you pass the agent crash since if I remember correctly it opens a new agent.
 
Posts: 9 | Registered: August 20, 2007Report This Post
Master
posted Hide Post
nice Francis!
it's a pretty sweet deal, but we really need the other stuff too, like the ability to save reports.

I'm really just rambling now, I think it's time to give up on OLAP and tell folks they just can't sort anything or save their reports and get it rolled out. maybe they could use Excel to sort their reports or filter them... but then why did we buy webfocus? This definitely isn't going to get many oohs and ahhs like the fancy gauge clusters for the Century Corp demo. We're a family operated lumber yard in Kansas... we really can't just say "well, sorry it doesn't do what we thought it would" without getting some pretty angry responses.
I'm going to quietly sit on this problem for a while longer, maybe IBI will pull this one out of their hat but I'm not holding my breath, it's already been almost 6 months since we originally opened the case and told them about the issue.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
The only thing I can suggest is to keep prodding them, with a 2x4, of which you have plenty of.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Silver Member
posted Hide Post
This works


-OLAP ON
TABLE FILE CAR
SUM SALES
BY COUNTRY
HEADING
"OLAP REPORT"
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, FONT='ARIAL', SIZE=8, $
ENDSTYLE
END


Madhu

WF Version 7.1 Windows, SQL Server Database
 
Posts: 36 | Location: Mississauga, Ontario | Registered: April 12, 2007Report This Post
Expert
posted Hide Post
Well, that's interesting!

The syntax for starting a style sheet:

ON TABLE SET STYLE[SHEET] *


In 5.3.2, "STYLESHEET" generates an error when turning OLAP on, but it doesn't generate an error when using "STYLE".


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
very interesting indeed francis. Thanks madhu.

We're breaking ground, I'm getting a
(FOC3245) ERROR ON PARSING TABLE IN OLAP
when I use set STYLESHEET, when it's set STYLE it just crashes like a pinto on mountain pass.

After searching webfocus help for the FOC3245 error, I find very little that applies to what we're trying to do. We aren't using a where/in or a by/on, but I found this article... which is over my head.
http://techsupport.informationbuilders.com/sps/11102066.html

There's some mention of flushing the focstack before doing olap dimensioning. Our dimensions are created at the .mas level rather than in my .fex, so I deleted the dimensions (no big deal) in the .mas... same 'parsing error'

At least now I'm getting an error message, which is Great!

This message has been edited. Last edited by: Jason K.,


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Expert
posted Hide Post
My last stab at this.

In 5.3.2, it appears that OLAP and multi-drilldown are mutually exclusive, illustrated by the following code:

-SET &ECHO=ALL;
-OLAP ON
TABLE FILE CAR
SUM SALES
BY COUNTRY
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, FONT='ARIAL', SIZE=8, $
TYPE=TITLE, STYLE=BOLD, $
TYPE=DATA, COLUMN=COUNTRY,
DRILLMENUITEM='DrillDown 1',
FOCEXEC=MULTIDRILL3DD( \
COUNTRY=COUNTRY \
),
DRILLMENUITEM='DrillDown 2',
FOCEXEC=MULTIDRILL3DD( \
COUNTRY=COUNTRY \
),
$
ENDSTYLE
END
-RUN

Comment the OLAP line and the multi-drilldowns work. Remove the comment on the OLAP line and the multi-drilldowns do not work.


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Master
posted Hide Post
Thanks for you help Francis.
I find it hard to believe that nobody uses multiple drill downs and the olap functionality at the same time.

We're going to sit tight and wait for suggestions here or from IBI, I just don't know enough about what's going on under the cover of the webfocus software to figure out where there's a limitation.


Prod: Single Windows 2008 Server running Webfocus 7.7.03 Reporting server Web server IIS6/Tomcat, AS400 DB2 database.
 
Posts: 611 | Registered: January 04, 2007Report This Post
Silver Member
posted Hide Post
This seems to work


-OLAP ON
-* File drilldownmain.fex
TABLE FILE GGSALES
SUM
DOLLARS/D12.2CM
BUDDOLLARS/D12.2CM
BY ST
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE SET ONLINE-FMT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET AUTODRILL ON
ON TABLE SET OLAPPANE TOP
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='SCREEN',
LEFTMARGIN=0.000000,
RIGHTMARGIN=0.000000,
TOPMARGIN=0.000000,
BOTTOMMARGIN=0.000000,
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
RIGHTGAP=0.125000,
TOPGAP=0.013889,
BOTTOMGAP=0.027778,
$
TYPE=DATA,
COLUMN=N1,
TARGET='_self',
DRILLMENUITEM='DrillDown 1',
FOCEXEC=DRILLDOWN(PARAMETER=N1),
DRILLMENUITEM='DrillDown 2',
FOCEXEC=DRILLDOWN(PARAMETER=N1),
$
TYPE=TITLE,
STYLE=BOLD,
$
TYPE=TITLE,
COLUMN=N1,
TARGET='_self',
DRILLMENUITEM='DrillDown 1',
FOCEXEC=DRILLDOWN(PARAMETER=N1),
DRILLMENUITEM='DrillDown 2',
FOCEXEC=DRILLDOWN(PARAMETER=N1),
$
TYPE=TABHEADING,
SIZE=12,
STYLE=BOLD,
$
TYPE=TABFOOTING,
SIZE=12,
STYLE=BOLD,
$
TYPE=HEADING,
SIZE=12,
STYLE=BOLD,
$
TYPE=FOOTING,
SIZE=12,
STYLE=BOLD,
$
TYPE=SUBHEAD,
SIZE=10,
STYLE=BOLD,
$
TYPE=SUBFOOT,
SIZE=10,
STYLE=BOLD,
$
TYPE=SUBTOTAL,
BACKCOLOR=RGB(210 210 210),
$
TYPE=ACROSSVALUE,
SIZE=9,
$
TYPE=ACROSSTITLE,
STYLE=BOLD,
$
TYPE=GRANDTOTAL,
BACKCOLOR=RGB(210 210 210),
STYLE=BOLD,
$
ENDSTYLE
END




-* File drilldown.fex
TABLE FILE GGSALES
PRINT
DOLLARS/D12.2CM
BUDDOLLARS/D12.2CM
BY ST
WHERE ST EQ '&PARAMETER';
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE SET ONLINE-FMT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='SCREEN',
LEFTMARGIN=0.000000,
RIGHTMARGIN=0.000000,
TOPMARGIN=0.000000,
BOTTOMMARGIN=0.000000,
SQUEEZE=ON,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
RIGHTGAP=0.125000,
TOPGAP=0.013889,
BOTTOMGAP=0.027778,
$
TYPE=TITLE,
STYLE=BOLD,
$
TYPE=TABHEADING,
SIZE=12,
STYLE=BOLD,
$
TYPE=TABFOOTING,
SIZE=12,
STYLE=BOLD,
$
TYPE=HEADING,
SIZE=12,
STYLE=BOLD,
$
TYPE=FOOTING,
SIZE=12,
STYLE=BOLD,
$
TYPE=SUBHEAD,
SIZE=10,
STYLE=BOLD,
$
TYPE=SUBFOOT,
SIZE=10,
STYLE=BOLD,
$
TYPE=SUBTOTAL,
BACKCOLOR=RGB(210 210 210),
$
TYPE=ACROSSVALUE,
SIZE=9,
$
TYPE=ACROSSTITLE,
STYLE=BOLD,
$
TYPE=GRANDTOTAL,
BACKCOLOR=RGB(210 210 210),
STYLE=BOLD,
$
ENDSTYLE
END


Madhu

WF Version 7.1 Windows, SQL Server Database
 
Posts: 36 | Location: Mississauga, Ontario | Registered: April 12, 2007Report This Post
Expert
posted Hide Post
In 5.3.2, either the multi-drilldown or the OLAP works - not both Frowner


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
  Powered by Social Strata Page 1 2  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     olap on causes agent crash?

Copyright © 1996-2020 Information Builders