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     [SOLVED] 8.2 Hold Files -- Did something change?

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[SOLVED] 8.2 Hold Files -- Did something change?
 Login/Join
 
Virtuoso
posted
Second time I've bumped into this in 8.2

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, 2007Report This Post
Virtuoso
posted Hide Post
I've not seen any change in behavior in hold. Are these reports that used to run but fail now in 8.2? Do you have ASNAME and HOLDLIST set?


WebFOCUS 8206, Unix, Windows
 
Posts: 1853 | Location: New York City | Registered: December 30, 2015Report This Post
Virtuoso
posted Hide Post
Both of those set, yes.

I'm in the process of pulling the source back to 8.1. I really have a mess on my hands. The compiler is throwing really strange things at me.



 
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007Report This Post
Virtuoso
posted Hide Post
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, 2007Report This Post
Virtuoso
posted Hide Post
I am curios John, are you able to reproduce that using legacy files ?

At least, can you show us your code ?


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, 2013Report This Post
Virtuoso
posted Hide Post

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 --


04/16/2019 13:59:11    LOCAL_8121            0DEFINITION OF HOLD FILE: DLS_COLU
04/16/2019 13:59:11    LOCAL_8121            0FIELDNAME                         ALIAS         FORMAT
04/16/2019 13:59:11    LOCAL_8121            DLS_UNIT_NAME                     E01           A30
04/16/2019 13:59:11    LOCAL_8121            SERVICE_DT                        E02           YYMD
04/16/2019 13:59:11    LOCAL_8121            ALL_DLS                           E03           I5
04/16/2019 13:59:11    LOCAL_8121            DLS_DOCS_ONLY                     E04           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_RENEWAL_DOC_SUBMISSION        E05           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_RENEWAL                       E06           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_NEW_DOC_SUBMISSION            E07           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_NEW                           E08           I9C
04/16/2019 13:59:11    LOCAL_8121            1
04/16/2019 13:59:11    LOCAL_8121            0 NUMBER OF RECORDS IN TABLE=    19869  LINES=  19869
04/16/2019 13:59:11    LOCAL_8121            0DEFINITION OF HOLD FILE: DLS_COLU
04/16/2019 13:59:11    LOCAL_8121            0FIELDNAME                         ALIAS         FORMAT
04/16/2019 13:59:11    LOCAL_8121            SERVICE_DT                        E01           YYMD
04/16/2019 13:59:11    LOCAL_8121            DLS_UNIT_NAME                     E02           A30
04/16/2019 13:59:11    LOCAL_8121            FOCLIST                           E03           I5
04/16/2019 13:59:11    LOCAL_8121            ALL_DLS                           E04           I5
04/16/2019 13:59:11    LOCAL_8121            DLS_DOCS_ONLY                     E05           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_RENEWAL_DOC_SUBMISSION        E06           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_RENEWAL                       E07           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_NEW_DOC_SUBMISSION            E08           I9C
04/16/2019 13:59:11    LOCAL_8121            DLS_NEW                           E09           I9C




In this final form they are just a shade bit different (field ordering, and a FOCLIST entry), but earlier they had identical ordering.



 
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007Report This Post
Virtuoso
posted Hide Post
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, 2013Report This Post
Guru
posted Hide Post
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.


Test: WF 8.2
Prod: WF 8.2
DB: Progress, REST, IBM UniVerse/UniData, SQLServer, MySQL, PostgreSQL, Oracle, Greenplum, Athena.
 
Posts: 454 | Location: Europe | Registered: February 05, 2007Report This Post
Virtuoso
posted Hide Post
Oh the fields are there, they just don't get their names attached to them.



 
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007Report This Post
Master
posted Hide Post
If it were me, I would have this:

quote:
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, 2006Report This Post
Virtuoso
posted Hide Post
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, 2007Report This Post
Virtuoso
posted Hide Post
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 :
 
Posts: 1669 | Location: Enschede, Netherlands | Registered: August 12, 2010Report 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     [SOLVED] 8.2 Hold Files -- Did something change?

Copyright © 1996-2020 Information Builders