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] All sort keys are not in single top-to-bottom segment path

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[SOLVED] All sort keys are not in single top-to-bottom segment path
 Login/Join
 
Platinum Member
posted
Newbie question regarding using fields from a table that is brought in twice in a synonym created through the meta data canvas.

I am trying to bring in email addresses from a table goremal that contains lots of emal codes. I am bringing the table in twice to the synonym and specifying which email code to use for each in the join properties of the synonym. When I bring the table in once the report works fine. When I bring the table in a second time the report gives me the error in the subject field.

Below are the output from the initial procedure when I get the correct email out. Then I posted the error message. Below that is the coding for the second procedure when I am have added in the second goremal table and tried reporting out information from it.

TABLE FILE STUDENT
BY HIGHEST STUDENT.SPRIDEN.SPRIDEN_ID
BY HIGHEST STUDENT.SPRIDEN.FULLNAME_BANNER_FUNCTION
BY STUDENT.SPRIDEN.SPRIDEN_FIRST_NAME
BY STUDENT.SPRIDEN.SPRIDEN_LAST_NAME
BY HIGHEST 1 STUDENT.GOREMAL_1.GOREMAL_ACTIVITY_DATE
BY STUDENT.GOREMAL_1.StuEmail
BY STUDENT.SGBSTDN.SGBSTDN_STST_CODE
BY STUDENT.SGBSTDN.SGBSTDN_LEVL_CODE
BY STUDENT.SGBSTDN.SGBSTDN_STYP_CODE
WHERE ( STUDENT.SYVPER1.SYVPER1_SEX EQ &SYVPER1_SEX.(OR(FIND STUDENT.SYVPER1.SYVPER1_SEX IN STUDENT)).Gender. ) AND ( STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_1 EQ &SGBSTDN_MAJR_CODE_1.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_1 IN STUDENT)).Major. ) AND ( STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_CONC_1 EQ &SGBSTDN_MAJR_CODE_CONC_1.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_CONC_1 IN STUDENT)).Concentration. ) AND ( STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_MINR_1 EQ &SGBSTDN_MAJR_CODE_MINR_1.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_MINR_1 IN STUDENT)).Minor. ) AND ( STUDENT.SGBSTDN.SGBSTDN_STST_CODE EQ &SGBSTDN_STST_CODE.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_STST_CODE IN STUDENT)).Status. ) AND ( STUDENT.SGBSTDN.SGBSTDN_LEVL_CODE EQ &SGBSTDN_LEVL_CODE.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_LEVL_CODE IN STUDENT)).Level. );
WHERE STUDENT.SPRIDEN.ChangeInd;
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE SET ASNAMES ON
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/endeflt.sty,
$
ENDSTYLE
END
--------------------------------------------

0 ERROR AT OR NEAR LINE 25 IN PROCEDURE ADHOCRQ FOCEXEC * (FOC029) ALL SORT KEYS ARE NOT IN A SINGLE TOP-TO-BOTTOM SEGMENT PATH
---------------------------------------------



TABLE FILE STUDENT
BY HIGHEST STUDENT.SPRIDEN.SPRIDEN_ID
BY HIGHEST STUDENT.SPRIDEN.FULLNAME_BANNER_FUNCTION
BY STUDENT.SPRIDEN.SPRIDEN_FIRST_NAME
BY STUDENT.SPRIDEN.SPRIDEN_LAST_NAME
BY HIGHEST 1 STUDENT.GOREMAL_1.GOREMAL_ACTIVITY_DATE
BY STUDENT.GOREMAL_1.StuEmail
BY HIGHEST 1 STUDENT.GOREMAL.GOREMAL_ACTIVITY_DATE
BY STUDENT.GOREMAL.HomeEmail
BY STUDENT.SGBSTDN.SGBSTDN_STST_CODE
BY STUDENT.SGBSTDN.SGBSTDN_LEVL_CODE
BY STUDENT.SGBSTDN.SGBSTDN_STYP_CODE
WHERE ( STUDENT.SYVPER1.SYVPER1_SEX EQ &SYVPER1_SEX.(OR(FIND STUDENT.SYVPER1.SYVPER1_SEX IN STUDENT)).Gender. ) AND ( STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_1 EQ &SGBSTDN_MAJR_CODE_1.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_1 IN STUDENT)).Major. ) AND ( STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_CONC_1 EQ &SGBSTDN_MAJR_CODE_CONC_1.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_CONC_1 IN STUDENT)).Concentration. ) AND ( STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_MINR_1 EQ &SGBSTDN_MAJR_CODE_MINR_1.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_MAJR_CODE_MINR_1 IN STUDENT)).Minor. ) AND ( STUDENT.SGBSTDN.SGBSTDN_STST_CODE EQ &SGBSTDN_STST_CODE.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_STST_CODE IN STUDENT)).Status. ) AND ( STUDENT.SGBSTDN.SGBSTDN_LEVL_CODE EQ &SGBSTDN_LEVL_CODE.(OR(FIND STUDENT.SGBSTDN.SGBSTDN_LEVL_CODE IN STUDENT)).Level. );
WHERE STUDENT.SPRIDEN.ChangeInd;
ON TABLE SET PAGE-NUM NOLEAD
ON TABLE SET ASNAMES ON
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
INCLUDE = IBFS:/EDA/EDASERVE/_EDAHOME/ETC/endeflt.sty,
$
ENDSTYLE
END

This message has been edited. Last edited by: <Kathryn Henning>,


WF8
Windows
 
Posts: 117 | Registered: May 28, 2015Report This Post
Virtuoso
posted Hide Post
One of the fundamental rules of hierarchical structures (which you're creating with your joins in the metadata) is that the fields you sort on in your select need to follow a single path down through the hierarchy. You can't do a

sort on parent,
sort on left child,
sort on right child.

It doesn't actually make sense from a mathematical point of view.

Two ways to solve this --

1. Change your joins so that each segment pulls one child along behind it. That is, turn parent, left child, right child into parent, left child, left child's child. Have the joins put all three segments in a straight line instead of in a forking structure.

2. Take two passes at the data. Pass one builds a hold file with the Sort fields available in the parent and left child, then join the resulting hold file with the source again and select the Sort fields available in the right child.

Clear as mud? This is a pretty down-in-the-weeds concept.



 
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007Report This Post
Expert
posted Hide Post
Also do not forget that you can use CHECK FILE xxxxxx PICT after your JOIN to see a "representation" of your structure.

This will often help you understand the explanation that John has provided.

T



In FOCUS
since 1986
WebFOCUS Server 8.2.01M, thru 8.2.07 on Windows Svr 2008 R2  
WebFOCUS App Studio 8.2.06 standalone on Windows 10 
 
Posts: 5694 | Location: United Kingdom | Registered: April 08, 2004Report This Post
Platinum Member
posted Hide Post
I guess then my followup question is...

since this is data that is to be used over and over again in quite a few applications and I need to get this flattened out structure of most recent email types and addresses all the time would it be better, performancewise, to create a new table in a database using WF with the flattened data in it. Then use this new table/synonym in my applications. I would update the table nightly through report caster. Any other suggestions on how best to do this would be greatly appreciated.


WF8
Windows
 
Posts: 117 | Registered: May 28, 2015Report This Post
Virtuoso
posted Hide Post
Sounds like you have the right plan worked out already!

If this is for a reporting application, you want to spend the time up front to make the maintenance of code as simple and inexpensive as possible. Flattening out the data structure into a dedicated table for the purpose is an excellent idea.



 
Posts: 1012 | Location: At the Mast | Registered: May 17, 2007Report This Post
Platinum Member
posted Hide Post
[CLOSED]


WF8
Windows
 
Posts: 117 | Registered: May 28, 2015Report 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] All sort keys are not in single top-to-bottom segment path

Copyright © 1996-2020 Information Builders