[CLOSED] Parse FOCEXEC only (just want the system messages)
I have a unique request. Is there a way to only parse a WebFOCUS focexec? Not run it, per se. More to the point, I want to see the system messages that get printed when running a report, but don't need the report output (just the messages). I'm thinking that this might be better on the server/database and speed up the results if I didn't have to wait around for output.
Some background, I have a large project with an extraordinary amount of potentially impacted programs due to a massive database upgrade that will deprecate tables/columns, change data types, change field sizes, etc. I have MFDs built pointing to the test system. I know that I will have a lot of false positives of programs that could be affected and am trying to determine a methodology for testing whether a program will need remediation.
- ABTThis message has been edited. Last edited by: Kerry,
The XRETRIEVAL parameter previews the format of a report without actually accessing any data. This parameter enables you to perform TABLE, TABLEF, or MATCH requests and produce HOLD Master Files without processing the report.
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
January 30, 2013, 01:58 PM
Francis Mariani
I would also add SQL tracing to each report (via an INCLUDE):
-*** Deactivate SQL tracing
SET TRACEOFF = ALL
-*** Show Optimization information
SET TRACEON = SQLAGGR//CLIENT
-*** Show SQL statements
SET TRACEON = STMTRACE//CLIENT
-*** Show SQL generated statement trace
-*SET TRACEON = STMTRACE/1/CLIENT
-*** Show SQL generated sub-statement trace
SET TRACEON = STMTRACE/2/CLIENT
-*** Disable the trace stamp (Date/Time etc)
SET TRACESTAMP = OFF
-*** Set trace line wrapping - # of characters
SET TRACEWRAP = 132
-*** Activate SQL tracing
SET TRACEUSER = ON
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
January 30, 2013, 02:46 PM
ABT
Tried that before I posted and it didn't work as I hoped (at least on an unmodified program). This program in particular has MRNOEDIT INCLUDEs, multi-steps/holds, multi-joins, compound PDF output, etc. It is representational of what I will see "in the wild".
It fails for a variable assignment that occurs in the first MRNOEDIT INCLUDE.
Unfortunately, if there are -READ or -READFILE statements that generate Dialogue Manager variables that are subsequently used, XRETRIEVAL=OFF breaks them.
SET XRETRIEVAL=OFF only turns off data retrieval, but that can break other things. the MRNOEDIT INCLUDE must have code that retrieves data and puts it in DM variables...
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
January 30, 2013, 04:03 PM
Dan Satchell
A global record limit can be set:
SET RECORDLIMIT = nn
This might at least reduce run times in most cases.
WebFOCUS 7.7.05
January 30, 2013, 05:39 PM
ABT
Not a bad idea, I'll keep this in mind.
I've noticed that RECORDLIMIT does not pass any SQL based limits via the generated query where READLIMIT does (TOP # for SQL Server data sources and ROWNUM <= # for Oracle data sources). I tried SET READLIMIT = 0 and dumped the HTML and did not see any code appended [making me think it does not work as a global.
I have been told the intrinsic difference is that READLIMIT is faster because it off loads the limiter to the RDBMS, whereas RECORDLIMIT is managed by FOCUS and carries some overhead with it.
- ABT
quote:
Originally posted by Dan Satchell: A global record limit can be set:
SET RECORDLIMIT = nn
This might at least reduce run times in most cases.
Originally posted by Francis Mariani: Unfortunately, if there are -READ or -READFILE statements that generate Dialogue Manager variables that are subsequently used, XRETRIEVAL=OFF breaks them.
SET XRETRIEVAL=OFF only turns off data retrieval, but that can break other things. the MRNOEDIT INCLUDE must have code that retrieves data and puts it in DM variables...