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     [CLOSED] Joins return no data after upgrading to 7.6

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[CLOSED] Joins return no data after upgrading to 7.6
 Login/Join
 
Member
posted
After our university upgraded to WebFOCUS 7.6, several fexes don't return data.
The fexes work in WebFOCUS 7.1. There seems to be an issue with the joins. In the example below, the cross reference field(FTVFUND_ORGN_CODE_DEF) is not a key field.

TABLE FILE FTVORGN
PRINT
FTVORGN_TITLE
BY FTVORGN_ORGN_CODE
BY HIGHEST 1 FTVORGN_NCHG_DATE
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE HOLD AS HOLDORG
END
JOIN
INNER HOLDORG.HOLDORG.FTVORGN_ORGN_CODE IN HOLDORG TO MULTIPLE FTVFUND.FTVFUND.FTVFUND_ORGN_CODE_DEF IN FTVFUND AS J0 END DEFINE FILE HOLDORG DEF_FUND_DATE/YYMD=HDATE( FTVFUND_NCHG_DATE, 'YYMD'); END

TABLE FILE HOLDORG
PRINT
FTVFUND_FUND_CODE
FTVFUND_TITLE
FTVFUND_ORGN_CODE_DEF
FTVORGN_TITLE
BY FTVFUND_PROG_CODE_DEF
WHERE DEF_FUND_DATE GE '20991201';
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT EXL2K
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,
FONT='TIMES NEW ROMAN',
SIZE=10,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
ENDSTYLE
END

This message has been edited. Last edited by: Kerry,
 
Posts: 5 | Registered: August 03, 2006Report This Post
Expert
posted Hide Post
I'd start by comparing the access and master files between the two environments, were they recreated for the new environment?


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
The meta data was not recreated. It was migrated from 7.1.
 
Posts: 5 | Registered: August 03, 2006Report This Post
Virtuoso
posted Hide Post
A couple things to try. First, try commenting out the WHERE clause and add DEF_FUND_DATE as a PRINT field and see if you get any data back. If you do, the problem isn't in the JOIN. Check the values of DEF_FUND_DATE and see what you're getting. I've seen weirder things using HDATE and think that might be a possible cause.

Also wanted to make a note that you are selecting on a virtual field instead of a real field (which is no-no in my book) but sometimes can't be avoided.

It would also be helpful to be able to see the MFDs for FTVORGN and FTVFUND.

I think there's something else happening, because in all the upgrades I've gone through, I've never seen a JOIN just stop working. Not to say it couldn't happen...


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Report This Post
Virtuoso
posted Hide Post
quote:
INNER HOLDORG.HOLDORG.FTVORGN_ORGN_CODE IN HOLDORG TO MULTIPLE FTVFUND.FTVFUND.FTVFUND_ORGN_CODE_DEF IN FTVFUND AS J0 END DEFINE FILE HOLDORG


In the above, is it really,
  
FTVFUND AS J0 
END 
DEFINE FILE HOLDORG


Or is it really all on one line?


Leah
 
Posts: 1317 | Location: Council Bluffs, IA | Registered: May 24, 2004Report This Post
Virtuoso
posted Hide Post
I was going to ask the same, but was just assuming the carriage returns somehow got lost in the cut-and-paste


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Report This Post
Member
posted Hide Post
Darin Lee & Leah,

No, it is not all on the same line. The carriage returns somehow got lost in the cut-and-paste.
 
Posts: 5 | Registered: August 03, 2006Report This Post
Guru
posted Hide Post
If its a virtual field (if this is the same as a defined field) don't you have to use 'with' in the join syntax?

i don't think this is the problem as the join would have failed before and also can't see that you are using one but thought i'd follow up on what Darin mentioned.

have you tried redoing the code as a match and running it on a subset of records to verify the commonality of the field you need to join on?


Developer Studio 7.64
Win XP
Output: mostly HTML, also Excel and PDF

"Never attribute to malice that which can be adequately explained by stupidity." - Heinlein's Razor
 
Posts: 285 | Location: UK | Registered: October 26, 2007Report This Post
Master
posted Hide Post
Cindy,
First I would run a test against whichever file contains FTVFUND_NCHG_DATE to see if there are values GE '20991201'. You don't need to define a field without the timestamp because you are doing a GE not EQ. (You could be returning all of the rows in your database and running out of space). Put a RECORDLIMIT EQ 10 on your request to limit the number of rows returned.

Second, I would backup the current Master and Access for both files and regenerate them. If you copy the MFD's (synonyms) into Word you can use the compare and merge feature to see if there are differences between the old and new.

Third, check your join fields to make sure they are in the same format. You can get your MFD from your hold by putting &FF HOLDORG after the END.

If you still haven't found the problem I would I would pull the data from FTVFUND where FTVFUND_NCHG_DATE GE '20991201' sorted by FTVFUND_ORGN_CODE_DEF BY FTVFUN_NCHG_DATE and hold it FORMAT FOCUS INDEX FTVFUND_ORGN_CODE_DEF. Then join the two Focus files. OR I would do a SQL pass thru to pull the data.

Since your join was apparently working before the upgrade, you shouldn't have to go to that extreme.

Good Luck


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
 
Posts: 755 | Location: TX | Registered: September 25, 2007Report This Post
Member
posted Hide Post
P Brightwell,

The fex will work if I do the following: I pulled the data from FTVFUND where FTVFUND_NCHG_DATE GE '20991201' sorted by FTVFUND_ORGN_CODE_DEF BY FTVFUN_NCHG_DATE and held it FORMAT FOCUS INDEX FTVFUND_ORGN_CODE_DEF. Then joined the two Focus files.
I still don't understand why the old fex worked in 7.1 and is not working in 7.6.
 
Posts: 5 | Registered: August 03, 2006Report This Post
Expert
posted Hide Post
Cindy,

I would open a case if I were you. If you are telling us that nothing changed except the version of the software, then that needs to be investigated to at least find out why the code no longer works.

We had a lot of issues like that when we went from 5.3.3 to 7.6.2. I opened cases on many of them and occasionally I had discovered a bug.

Even if it is not a bug, maybe you will find out why the code is not working.

Then you can tell the rest of us. Wink


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
 
Posts: 2723 | Location: Ann Arbor, MI | Registered: April 05, 2006Report This Post
Master
posted Hide Post
quote:
In the example below, the cross reference field(FTVFUND_ORGN_CODE_DEF) is not a key field.


There may be a clue in the above. Since you are joining to ALL on a field that is not a key I am almost surprised it worked in the first place. What database are you using? Can you do a view?


Pat
WF 7.6.8, AIX, AS400, NT
AS400 FOCUS, AIX FOCUS,
Oracle, DB2, JDE, Lotus Notes
 
Posts: 755 | Location: TX | Registered: September 25, 2007Report This Post
Expert
posted Hide Post
If people are suggesting there's something wrong with the JOIN in the first place, perhaps you should trace the SQL generated by WebFOCUS.

I have the following code in a focexec that I ALWAYS INCLUDE in ALL my focexecs that read SQL tables:

-*-- Set up SQL tracing --------------------------------------------------------

-*-- Deactivate SQL tracing --------------------------------
SET TRACEOFF = ALL

-*-- Show Commands and data exchange between the -----------
-*-- physical and the logical layers of the data adapter
-*SET TRACEON = SQLCALL

-*-- Enable Trace for the SQL Translator -------------------
SET TRACEON = SQLTRANS

-*-- Show SQL statements -----------------------------------
SET TRACEON = STMTRACE//CLIENT

-*-- Show Optimization information -------------------------
SET TRACEON = SQLAGGR//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 = 78

-*-- Activate SQL tracing ----------------------------------
SET TRACEUSER = ON
-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
Expert
posted Hide Post
That is an excellent suggestion, Francis. However as a caution, I would not recommend leaving the trace commands active in a production program as it writes the trace files to edatemp and they must be deleted manually. You could wind up using up a lot of space that way.

So, once your program is debugged and working well, I recommend that you comment out the trace commands.


Ginny
---------------------------------
Prod: WF 7.7.01 Dev: WF 7.6.9-11
Admin, MRE,self-service; adapters: Teradata, DB2, Oracle, SQL Server, Essbase, ESRI, FlexEnable, Google
 
Posts: 2723 | Location: Ann Arbor, MI | Registered: April 05, 2006Report This Post
Member
posted Hide Post
I have been working with IBI Tech Support trying to resolve this problem.
Our WebFOCUS Administrator inserted the following in the edasprof.prf file: ENGINE SQLORA SET ORACHAR VAR.
The fexes that I was having problems with in 7.6 are now working.
The IBI tech stated that there were changes internally on how they read VARCHAR fields -- which unlike fixed length fields, can vary in length. This can cause problems especially when producing HOLD files, or doing -Reads.

Thanks to everyone for your assistance.
 
Posts: 5 | Registered: August 03, 2006Report This Post
Virtuoso
posted Hide Post
We ran into this EXACT same issue moving from 5.3.x to 7.1.x.

This is an excellent example of why it is important to list your platforms, releases, and databases in your signatures. It helps people recognize the problems quicker who have experience with those resources.

Also, the first post in response to the question would have led to this conclusion and saved some time. The MAS files must have been recreated for the new environment and a comparison would have shown the format An in the old MAS and AnV in the new MAS.


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Report This Post
Expert
posted Hide Post
I think the amount of lines added by a SQL trace are negligible compared to whatever else gets written to the trace file.


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  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] Joins return no data after upgrading to 7.6

Copyright © 1996-2020 Information Builders