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] suppressing rows with no data

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[Solved] suppressing rows with no data
 Login/Join
 
Member
posted
Hello,

I am trying to determine the correct syntax needed in my code to suppress rows with no data. The blank lines printing are through off the page break. I believe I need to use 'when exists', but not sure how it should be coded. Any help would be appreciated.

Here is my code:

DEFINE FILE ADVISING_QUESTIONNAIRE ADD
BLANKLINE/A10 = ' ';
ATTRACTLBL/A50 = 'New College Attraction';
SUBJMLBL/A50 = 'Subject(s) Most Enjoyed';
SUBJLLBL/A50 = 'Subject(s) Least Enjoyed';
CRSELBL/A50 = 'Course Choices';
AOCLBL/A50 = 'Areas of Concentration Considered';
CAREERLBL/A50 = 'Career Interest';
PREPROFLBL/A50 = 'Pre-Professional Interests';
OCSLBL/A50 = 'Study Abroad - OCS Interests';
ACADSTRLBL/A50 = 'Academic Strengths';
GOALSLBL/A50 = 'Academic Goals';
ACADNEEDLBL/A50 = 'Academic Skills in need of Strengthening';
SENTENCE1LBL/A85 = 'At New College, in addtion to earning a stellar education, I am looking forward to';
SENTENCE2LBL/A85 = 'Over the next four years, I expect New College to';
SENTENCE3LBL/A85 = 'In order to achieve my goals at New College, I will';
SENTENCE4LBL/A85 = 'As I look ahead to attending New College, I am most worried about';
ADVISORLBL/A50 = 'Advisor Qualities';
EXCURLBL/A50 = 'Extracurricular Interests';
SKILLSLBL/A50 = 'Course Choices';
EXTRALBL/A50 = 'Other Information';
-*
AOC_LINES/A1000 MISSING ON = PARAG(1000,AREA_OF_CONCENTRATION,'\',100,'A1000');
ADVISOR_LINES/A1000 MISSING ON = PARAG(1000,ADVISOR_QUALITIES,'\',100,'A1000');
EXCUR_LINES/A1000 MISSING ON = PARAG(1000,EXTRACURRICULAR_INTERESTS,'\',100,'A1000');
ACADSTR_LINES/A1000 MISSING ON = PARAG(1000,ACADEMIC_STRENGTHS,'\',100,'A1000');
ACADGOAL_LINES/A1000 MISSING ON = PARAG(1000,ACADEMIC_GOALS,'\',100,'A1000');
ACADNEED_LINES/A1000 MISSING ON = PARAG(1000,ACADEMIC_SKILLS,'\',100,'A1000');
EXTRA_LINES/A2000 MISSING ON = PARAG(2000,EXTRA_INFO,'\',100,'A2000');
ATTRACT_LINES/A2000 MISSING ON = PARAG(2000,ATTRACTION_NC,'\',100,'A2000');
SUBJM_LINES/A256 MISSING ON = PARAG(256,SUBJECT_MOST1,'\',100,'A256');
SUBJL_LINES/A256 MISSING ON = PARAG(256,SUBJECT_LEAST1,'\',100,'A256');
CAREER_LINES/A1000 MISSING ON = PARAG(1000,CAREER,'\',100,'A1000');
PREPROF_LINES/A256 MISSING ON = PARAG(256,PRE_PROF_INTEREST,'\',100,'A256');
OCS_LINES/A2000 MISSING ON = PARAG(2000,STUDY_ABROAD_OCS,'\',100,'A2000');
SENTENCE1_LINES/A1000 MISSING ON = PARAG(1000,COMPLETE_SENTENCE1,'\',100,'A1000');
SENTENCE2_LINES/A1000 MISSING ON = PARAG(1000,COMPLETE_SENTENCE2,'\',100,'A1000');
SENTENCE3_LINES/A1000 MISSING ON = PARAG(1000,COMPLETE_SENTENCE3,'\',100,'A1000');
SENTENCE4_LINES/A1000 MISSING ON = PARAG(1000,COMPLETE_SENTENCE4,'\',100,'A1000');
SKILLS_LINES/A2000 MISSING ON = PARAG(2000,SKILLS_TALENTS,'\',100,'A2000');
-*
AOC_L1/A200 = GETTOK(AOC_LINES,1000,1,'\',200,'A200');
AOC_L2/A200 = GETTOK(AOC_LINES,1000,2,'\',200,'A200');
AOC_L3/A200 = GETTOK(AOC_LINES,1000,3,'\',200,'A200');
AOC_L4/A200 = GETTOK(AOC_LINES,1000,4,'\',200,'A200');
AOC_L5/A200 = GETTOK(AOC_LINES,1000,5,'\',200,'A200');
-*
ADVISOR_L1/A200 = GETTOK(ADVISOR_LINES,1000,1,'\',200,'A200');
ADVISOR_L2/A200 = GETTOK(ADVISOR_LINES,1000,2,'\',200,'A200');
ADVISOR_L3/A200 = GETTOK(ADVISOR_LINES,1000,3,'\',200,'A200');
ADVISOR_L4/A200 = GETTOK(ADVISOR_LINES,1000,4,'\',200,'A200');
ADVISOR_L5/A200 = GETTOK(ADVISOR_LINES,1000,5,'\',200,'A200');
-*
ATTRACT_L1/A200 = GETTOK(ATTRACT_LINES,2000,1,'\',200,'A200');
ATTRACT_L2/A200 = GETTOK(ATTRACT_LINES,2000,2,'\',200,'A200');
ATTRACT_L3/A200 = GETTOK(ATTRACT_LINES,2000,3,'\',200,'A200');
ATTRACT_L4/A200 = GETTOK(ATTRACT_LINES,2000,4,'\',200,'A200');
ATTRACT_L5/A200 = GETTOK(ATTRACT_LINES,2000,5,'\',200,'A200');
-*
CAREER_L1/A200 = GETTOK(CAREER_LINES,1000,1,'\',200,'A200');
CAREER_L2/A200 = GETTOK(CAREER_LINES,1000,2,'\',200,'A200');
CAREER_L3/A200 = GETTOK(CAREER_LINES,1000,3,'\',200,'A200');
CAREER_L4/A200 = GETTOK(CAREER_LINES,1000,4,'\',200,'A200');
CAREER_L5/A200 = GETTOK(CAREER_LINES,1000,5,'\',200,'A200');
-*
SUBJM_L1/A100 = GETTOK(SUBJM_LINES,256,1,'\',100,'A100');
SUBJM_L2/A100 = GETTOK(SUBJM_LINES,256,2,'\',100,'A100');
SUBJM_L3/A100 = GETTOK(SUBJM_LINES,256,3,'\',100,'A100');
-*
SUBJL_L1/A100 = GETTOK(SUBJL_LINES,256,1,'\',100,'A100');
SUBJL_L2/A100 = GETTOK(SUBJL_LINES,256,2,'\',100,'A100');
SUBJL_L3/A100 = GETTOK(SUBJL_LINES,256,3,'\',100,'A100');
-*
PPROF_L1/A100 = GETTOK(PREPROF_LINES,256,1,'\',100,'A100');
PPROF_L2/A100 = GETTOK(PREPROF_LINES,256,2,'\',100,'A100');
PPROF_L3/A100 = GETTOK(PREPROF_LINES,256,3,'\',100,'A100');
-*
OCS_L1/A200 = GETTOK(OCS_LINES,2000,1,'\',200,'A200');
OCS_L2/A200 = GETTOK(OCS_LINES,2000,2,'\',200,'A200');
OCS_L3/A200 = GETTOK(OCS_LINES,2000,3,'\',200,'A200');
OCS_L4/A200 = GETTOK(OCS_LINES,2000,4,'\',200,'A200');
OCS_L5/A200 = GETTOK(OCS_LINES,2000,5,'\',200,'A200');
OCS_L6/A200 = GETTOK(OCS_LINES,2000,6,'\',200,'A200');
OCS_L7/A200 = GETTOK(OCS_LINES,2000,7,'\',200,'A200');
-*
ACADSTR_L1/A200 = GETTOK(ACADSTR_LINES,1000,1,'\',200,'A200');
ACADSTR_L2/A200 = GETTOK(ACADSTR_LINES,1000,2,'\',200,'A200');
ACADSTR_L3/A200 = GETTOK(ACADSTR_LINES,1000,3,'\',200,'A200');
ACADSTR_L4/A200 = GETTOK(ACADSTR_LINES,1000,4,'\',200,'A200');
ACADSTR_L5/A200 = GETTOK(ACADSTR_LINES,1000,5,'\',200,'A200');
-*
END
TABLE FILE ADVISING_QUESTIONNAIRE
PRINT
BLANKLINE AS '' OVER
ATTRACTLBL AS '' OVER
ATTRACT_L1 AS '' OVER
ATTRACT_L2 AS '' OVER
ATTRACT_L3 AS '' OVER
ATTRACT_L4 AS '' OVER
ATTRACT_L5 AS '' OVER
-*
BLANKLINE AS '' OVER
SUBJMLBL AS '' OVER
SUBJM_L1 AS '' OVER
SUBJM_L2 AS '' OVER
SUBJM_L3 AS '' OVER
-*
BLANKLINE AS '' OVER
SUBJLLBL AS '' OVER
SUBJL_L1 AS '' OVER
SUBJL_L2 AS '' OVER
SUBJL_L3 AS '' OVER
-*
BLANKLINE AS '' OVER
CRSELBL AS '' OVER
COURSE1 AS '' OVER
COURSE2 AS '' OVER
COURSE3 AS '' OVER
COURSE4 AS '' OVER
COURSE5 AS '' OVER
COURSE6 AS '' OVER
-*
BLANKLINE AS '' OVER
AOCLBL AS '' OVER
AOC_L1 AS '' OVER
AOC_L2 AS '' OVER
AOC_L3 AS '' OVER
AOC_L4 AS '' OVER
-*
BLANKLINE AS '' OVER
CAREERLBL AS '' OVER
CAREER_L1 AS '' OVER
CAREER_L2 AS '' OVER
CAREER_L3 AS '' OVER
CAREER_L4 AS '' OVER
CAREER_L5 AS '' OVER
-*
BLANKLINE AS '' OVER
PREPROFLBL AS '' OVER
PPROF_L1 AS '' OVER
PPROF_L2 AS '' OVER
PPROF_L3 AS '' OVER
-*
BLANKLINE AS '' OVER
OCSLBL AS '' OVER
OCS_L1 AS '' OVER
OCS_L2 AS '' OVER
OCS_L3 AS '' OVER
OCS_L4 AS '' OVER
OCS_L5 AS '' OVER
OCS_L6 AS '' OVER
OCS_L7 AS '' OVER
-*
BLANKLINE AS '' OVER
ACADSTRLBL AS '' OVER
ACADSTR_L1 AS '' OVER
ACADSTR_L2 AS '' OVER
-* ACADSTR_L3 AS '' OVER
-* ACADSTR_L4 AS '' OVER
-* ACADSTR_L5 AS '' OVER
-*

BLANKLINE AS '' OVER
ADVISORLBL AS '' OVER
ADVISOR_L1 AS '' OVER
ADVISOR_L2 AS '' OVER
ADVISOR_L3 AS '' OVER
ADVISOR_L4 AS '' OVER
ADVISOR_L5 AS ''
BY ID NOPRINT
ON ID PAGE-BREAK
WHERE TERM ='&BANNER_TERM';
HEADING
" for term ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='Letter',
SQUEEZE=OFF,
ORIENTATION=PORTRAIT,
$
TYPE=REPORT,
GRID=OFF,
FONT='ARIAL',
SIZE=9,
COLOR='BLACK',
BACKCOLOR='NONE',
STYLE=NORMAL,
$
TYPE=TITLE,
STYLE=BOLD,
$
TYPE=TABHEADING,
SIZE=12,
STYLE=BOLD,
$
TYPE=TABFOOTING,
SIZE=12,
STYLE=BOLD,
$
TYPE=HEADING,
SIZE=12,
STYLE=BOLD,
$
TYPE=FOOTING,
SIZE=12,
STYLE=BOLD,
$
TYPE=SUBHEAD,
SIZE=10,
STYLE=BOLD,
$
TYPE=SUBFOOT,
SIZE=10,
STYLE=BOLD,
$
TYPE=SUBTOTAL,
BACKCOLOR=RGB(210 210 210),
$
TYPE=ACROSSVALUE,
SIZE=9,
$
TYPE=ACROSSTITLE,
STYLE=BOLD,
$
TYPE=GRANDTOTAL,
BACKCOLOR=RGB(210 210 210),
STYLE=BOLD,
$
TYPE=REPORT,
COLUMN=C*,
WRAP=7.000000,
$
TYPE=REPORT, COLUMN=CRSELBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=AOCLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=ADVISORLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=EXCURLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=ACADSTRLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=ACADNEEDLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=EXTRALBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=ATTRACTLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SUBJMLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SUBJLLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=CAREERLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=PREPROFLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=OCSLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=GOALSLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SKILLSLBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SENTENCE1LBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SENTENCE2LBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SENTENCE3LBL, STYLE=BOLD,SIZE=10,$
TYPE=REPORT, COLUMN=SENTENCE4LBL, STYLE=BOLD,SIZE=10,$
ENDSTYLE
END


Thanks,

John

This message has been edited. Last edited by: Kathleen Butler,


WebFOCUS 7.6
Windows, All Outputs
 
Posts: 11 | Location: Florida | Registered: December 08, 2011Report This Post
Virtuoso
posted Hide Post
You can use a WHERE condition to limit the output to ID instances in which at least one of the "interesting" values is non-blank:
WHERE (this_col | that_col | another_col ...) NE ' ';
 
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005Report This Post
Member
posted Hide Post
This does work when limiting ID occurrences. However, I need to keep blank detail lines associated to an ID from printing.


WebFOCUS 7.6
Windows, All Outputs
 
Posts: 11 | Location: Florida | Registered: December 08, 2011Report This Post
Virtuoso
posted Hide Post
You have one data cell per line; I assume output is HTML.

You could add STYLE directives to conditionally assign a class to the items in question (for second data item and beyond in each group) -- e.g.:

TYPE=DATA,COLUMN=SUBJL_L2 ,
CLASS='hideme',
WHEN SUBJL_L2 EQ '',$

-- and use css or javascript to conditionally hide (or remove) the containing row when the page loads. (jquery would help)


But I find CLASS only gets set as specified in STYLE when WF is not otherwise setting a CLASS value.

[soapbox]
(That's silly: they should set
class="class_word_that_ibi_needs class_word_that_STYLE_specifies"
and have their css rules sense whether the class word list includes the specified word-value, rather then testing for exact equality on the entire class string.)
[/soapbox]
 
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005Report This Post
Member
posted Hide Post
Thanks j.gross, I'll give that a try.


WebFOCUS 7.6
Windows, All Outputs
 
Posts: 11 | Location: Florida | Registered: December 08, 2011Report This Post
Virtuoso
posted Hide Post
It will help if you post a snippet of the html output (from "view source"), showing the HTML that WF now generates. The snippet should cover a populated data-item followed by a few empty items, when there is no attempt to suppress blank lines.

Within code tags, of course.

Each row would include a TD pair containing the displayed value, within a TR pair of tags.
 
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005Report This Post
Virtuoso
posted Hide Post
Another idea....
MARKUP must be set ON in the StyleSheet for this to work in PDF.

DEFINE FILE CAR
 XSALES/A30    = IF (SALES EQ 0) THEN '<div style="display:none">' ELSE FPRINT(SALES,'D8','A10');
 BLANKLINE/A10 = ' '
END
-*
TABLE FILE CAR
 PRINT 
  BLANKLINE AS '' OVER
  COUNTRY   AS '' OVER
  CAR       AS '' OVER
  MODEL     AS '' OVER
  XSALES    AS ''
 ON TABLE SET STYLE *
  TYPE=REPORT, MARKUP=ON, $
  TYPE=DATA, COLUMN=XSALES, JUSTIFY=RIGHT, $
 ENDSTYLE
 ON TABLE PCHOLD FORMAT PDF
END


WebFOCUS 7.7.05
 
Posts: 1213 | Location: Seattle, Washington - USA | Registered: October 22, 2007Report This Post
Member
posted Hide Post
snippet of report (view source of html output)




































 






Arbetman
,
Laura

A
for term
201208

 

New College Attraction

The extremely unique academic environment. I love the idea of not having letter grades and being

able to explore classes.

 

 

 

 


WebFOCUS 7.6
Windows, All Outputs
 
Posts: 11 | Location: Florida | Registered: December 08, 2011Report This Post
Virtuoso
posted Hide Post
Please add [ code ] tags!

As I expected, WF is setting the class attribute of the TD tag holding the data --
<TR>
<TD NOWRAP class='x148'>
able to explore classes.</TD>
</TR>
<TR>
<TD NOWRAP class='x148'>
 </TD>
</TR>
<TR>
<TD NOWRAP class='x148'>
 </TD>
</TR>

-- so trying to set the class to something else, or to include an additional token, will be futile.

With a little help from jquery you still might be able to locate the empty rows (TR parent of TD tags whose innerHTML is '&nbsp;',) and hide or delete those table rows -- but if you want to retain the first row of each response, even when blank, that would be a challenge.
 
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 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     [Solved] suppressing rows with no data

Copyright © 1996-2020 Information Builders