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'm doing a big complicated select and aggregation, and am using Hold files (format xfocus) to preprocess interim results. When I do joins to bring the data together I'm finding that I cannot use the fieldnames in the temporary master files.
I have to reference the alias tags, which are set to E01, E02, etc., instead of the name of the field.
This is fraught with peril for me, and I'm using Acrosses to generate columns so the fields are not in dependable positions.
Did they tighten up the compiler on something? Is there a setting that will fix this?This message has been edited. Last edited by: FP Mod Chuck,
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
So I'm having to "pre-process" any hold file that I want to use in a join. The join seems to be the issue.
If I take the hold file and then perform an immediate "PRINT *" on it and put it into a new hold file, that new hold file works. The 2 hold files look the same, but the second one works.
Somehow the first hold file is wonked, due to it being a SUM perhaps? Had the same problem a while back with a multi-verb, it appears that it wasn't just due to the complexity. I've never run into this before and I have 20 years in.
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
TABLE FILE ALL_CATS
SUM SERVICE_DT
CNT.CATEGORY AS 'ALL_DLS'
DLS_DOCS_ONLY
DLS_RENEWAL_DOC_SUBMISSION
DLS_RENEWAL
DLS_NEW_DOC_SUBMISSION AS 'DLS_NEW_DOC_SUBMISSION'
DLS_NEW
BY SERVICE_DT NOPRINT
BY DLS_UNIT_NAME
WHERE APPLICATIONDATETIME GE '&START_DATE_TIME' ;
ON TABLE SET ASNAMES ON
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE HOLD AS DLS_COLUMNS FORMAT XFOCUS INDEX SERVICE_DT DLS_UNIT_NAME
END
-RUN
? HOLD DLS_COLUMNS
TABLE FILE DLS_COLUMNS
PRINT ALL_DLS
DLS_DOCS_ONLY
DLS_RENEWAL_DOC_SUBMISSION
DLS_RENEWAL
DLS_NEW_DOC_SUBMISSION
DLS_NEW
BY SERVICE_DT
BY DLS_UNIT_NAME
ON TABLE HOLD AS DLS_COLUMNS_2 FORMAT XFOCUS INDEX SERVICE_DT DLS_UNIT_NAME
END
? HOLD DLS_COLUMNS_2
The first one does not work properly as the child of a join, the second one does. The two hold file definitions --
A FOCLIST field is added when you use PRINT instead of SUM. This to insure that each line is unique and this even if your BY fields make them unique.
Also in your second TABLE file you force to have SERVICE_DT and DLS_UNIT_NAME as the two BY fields in that order when in the first TABLE file SERVICE_DT is a SUM field. The BY SERVICE_DT NOPRINT, even if it is used to order the data it is not part of the output at first position (E01) but at second one (E02).
Based on that, you cannot have the same output for sure.
Now, to tell that something has changed from 8.2 previous version I can't say. For me all seems to work as it should based on the way the TABLE file are coded.
WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF In Focus since 2007
Posts: 2409 | Location: Montreal Area, Qc, CA | Registered: September 25, 2013
The combination NOPRINT and ON TABLE SET HOLDLIST PRINTONLY makes sure that the field will not be in the outputfile. Maybe there was a bug before that if you mentioned the field in an index that the field still showed up in the outputfile.
TABLE FILE ALL_CATS SUM CNT.CATEGORY AS 'ALL_DLS' DLS_DOCS_ONLY DLS_RENEWAL_DOC_SUBMISSION DLS_RENEWAL DLS_NEW_DOC_SUBMISSION AS 'DLS_NEW_DOC_SUBMISSION' DLS_NEW BY SERVICE_DT BY DLS_UNIT_NAME WHERE APPLICATIONDATETIME GE '&START_DATE_TIME' ; ON TABLE SET ASNAMES ON ON TABLE SET HOLDLIST PRINTONLY ON TABLE HOLD AS DLS_COLUMNS FORMAT XFOCUS INDEX SERVICE_DT DLS_UNIT_NAME END -RUN
I also notice that you have an AS for DLS_NEW_DOC_SUBMISSION. Why? Does it have a TITLE value in the master? Do any of the other fields without the AS phrase have TITLE values in the master? If you have ASNAMES ON, the fields without the AS phrase will use the TITLE values as the new field names.
In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.
Posts: 975 | Location: Oklahoma City | Registered: October 27, 2006
That source code has the remnants of attempts from me to correct the problem I was having. That's why you see AS entries that make no change, the Service Date included twice and NOPRINTed once, etc.
In the long run the only way I could fix it was to let it save the hold file, and then immediately do a PRINT * from that hold file to a new hold file, which miraculously rediscovered the names of the fields.
I'm seeing a couple of odd behaviors in 8.2, when 8.1 seems rock-solid. Don't know if it's just that I've been programmed to avoid the soft spots in 8.1. That may be the case.
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007
This reminds me of an answer I recently got from Tech Support for column titles when storing HOLD data in an RDBMS table.
This is what they said:
quote:
TABLE HOLD FORMAT dbms transfers to the created underlying table the following MFD attributes: - field TITLE; - field DESCRIPTION; - segment DESCRIPTION; - file REMARKS. CREATE SYNONYM on the underlying table gets the attributes values back.
SET HOLDATTR controls which attributes are transferred. SET HOLDATTR=ON(default): only field attributes are transferred; SET HOLDATTR=CUBE : all these attributes are transferred; SET HOLDATTR=OFF : none of these attributes are transferred
(...)
This was Implemented as of 7708m/8203M for the major adapters: SQLMSS/MSODBC, DB2, SQLIIA, SQLDBC, SQLORA, SQLMYSQL, SQLHYPG
Perhaps this applies to your case as well?
WebFOCUS 8.1.03, Windows 7-64/2008-64, IBM DB2/400, Oracle 11g & RDB, MS SQL-Server 2005, SAP, PostgreSQL 11, Output: HTML, PDF, Excel 2010 : Member of User Group Benelux :