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 have report to distribute different users through report caster bursting. When ever the data is present it is working fine for me. When ever the user do not have any data for that particular period at this need to send empty repot.
Can any i have any suggestions?
Thanks in advance....!
WF799,xpThis message has been edited. Last edited by: Kerry,
The above code will work if there is nodata. But my concern is two users are having some data and remaining two users are not having any data. In this situation I need to send the empty report to them.
If you're getting an empty report, there won't be any values in the first BY column upon which to burst the report anyway.
The way to force at least one relevant "BY" value to show up (existing data or not) is to create a list of the unique BY values your business expect and left outer join that to whatever results you'd regularly obtain. That way, you won't get an empty report anymore. Just your BY values (the ones from the list) plus a whole bunch of MISSING stuff, but enough to have something ReportCaster can use to burst.
I don't know if WebFOCUS 7.7.03 has something more "automated" to make sure burst works on empty reports but that's how I did it in my good old WF 5.3 days
After reading your last comment it becomes clear what you actually needed to do.
That is still in line with what I suggested.
If you need to make sure 8 people always get their "piece" of a report every day, then you have to make sure that the BY value you use to burst *always* exists in your output, whether there is data for it or not.
So, the same principle applies. Create a HOLD file (or whatever file) with the list of BY values you always have to burst, be them cost center codes, branch id's or whatever you use to burst. I'll use branch ID for simplicity.
Left outer join those lists to your actual data on branch ID. The nature of the join will make it so if no data is present, at least you'll get the branch ID from the "left" table (your list of branches) and everything else will be MISSING but at least there will be output and that's what Caster needs.
If you indeed have data for that branch, the join will just retrieve it and you'll get all of the records you need for that one branch, not more, not less. Caster will then burst this one out.
There you go, give it a try and let us know how it worked for you.
1) I have created empty lines to each user and appended the lines to the output. So I am able to burst the report with columns names now. But in the report I have some packed decimal values and they are showing zeros(0.000). But it should be showed me as empty space. 2) The same report(consalidated) I need to send. This time I am finding some empty lines which I created. How can I bring this empty lines to last rows.
Note: I am using the same report for bursting and consolidated report.
For 1), how did you create the "empty lines"? If you just defined some dummy fields and appended them to the data make sure they have the "MISSING ON NEEDS ALL" attribute and make them equal to MISSING.
DEFINE FILE blah
DUMMY1/P11 MISSING ON NEEDS ALL = MISSING;
...
END
If on the contrary your output file is a text (ALPHA) file and you're just -WRITing to it, make sure the master file has the MISSING=ON attribute for the fields you intend to read as MISSING.
For 2) Create an additional "sort" field in your HOLD structure. Your "actual" records can have a value of 0, and your dummy records a value or 1.
You can then sort by that field (NOPRINT) to make sure your empty rows go to the end, or better yet, filter them out altogether with WHERE SORT_FLD EQ 0 if you don't need to show them.