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've never setup a scheduled report with a pre-process, but this one in particular has a goofy schedule. They want it run only on the 7th business day of the month, so I've done my research and setup a pre-process FEX that includes the following code:
I set this up as a pre-process to my main FEX in the scheduler, however when run the process doesn't get past this pre-process when I run it, I see the following in the log: -Executing pre-rpc... -Task error: IBFSException 32027: local error -No report to distribute
When I run the pre-processing FEX on it's own with the addition of:
I see the proper date values set and KILL_RPC is properly set to N.
Am I missing something? In my research i've seen KILL_RPC used as single amper and double amper variables, and i've tried both with no difference in processing. The error isn't very descriptive and I really didn't find much searching the forum, and there aren't enough lines to try EXIT debugging. So I'm not really sure if I'm using KILL_RPC properly, or if perhaps I have something setup in the schedule incorrectly.
Any advice would be appreciated.
Thanks, JCThis message has been edited. Last edited by: jcannavo,
JC WebFOCUS Dev Studio / App Studio 8.2.01 Windows 7
Thanks for the reply. I looked at that post and tried to set the KILL_RPC without the "IF" statement and still no resolution, also tried the "NEXTSTEP" option you had given to no avail. The other part of that post looks to be the fact that it was a bug in 8.1.03 but seemingly fixed in 8.1.05 in which we are on.
JC WebFOCUS Dev Studio / App Studio 8.2.01 Windows 7
I have a very similar problem - First I was unable to even set up a pre-process because when I clicked on the button to select a procedure, I got an error that it couldn't find the server. IBI's response to that was to just enter the procedure name manually, which I did. Then when I tried my schedule, it acted a lot like what you described (without the FOC error) - I even had all kinds of -TYPE statements in my code and nothing got written to the scheudule log.
I have a remote session scheduled with IBI today to get this resolved. If I can remember, I'll let you know what happens.
Thanks for the information. If you find anything out from IBI please let me know. Right now I've setup the schedule sans the pre-process and set it to run on the 9th of every month since that is more or less the correct business day in most months this year. But it would be really nice to actually have it scheduled properly.
JC WebFOCUS Dev Studio / App Studio 8.2.01 Windows 7
I have several jobs that use a pre-processing fex to determine if the job is to run or not, one almost exactly like this one except it runs on the 3rd business day of the month and it runs just fine. Been working since WebFOCUS ver 5. Here's the pre-processing fex.
-*
-* Run job if the current date is the 3rd business day of the month
-*
-SET &&KILL_RPC_ERR=N;
-SET &RUNDT=DATECVT(DATEADD(DATEMOV(DATECVT(&YYMD,'I8YYMD','YYMD'),'BOM'),'BD',2),'YYMD','I8YYMD');
-IF &RUNDT EQ &YYMD THEN GOTO FINISHED;
-*
-SET &&KILL_RPC=Y;
-*
-FINISHED
Just for the record, in Dialogue Manager, in a -SET statement, I never use quotes on a string unless there are embedded spaces or special characters.
Also, if the RC job has multiple tasks, the pre-processing fex must be included in every task. Over a year ago I asked for a new && variable that when set to 'Y' would kill the current task and all following tasks. I think it is going to be in 8.2.This message has been edited. Last edited by: jgelona,
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
Thank you for the suggestion. I had seen many of your posts regarding this sort of topic and tried a few things. I just tried setting my pre-process exactly like you have it here:
Again, when I run this FEX on it's own the value of &&KILL_RPC does change when I alter the number of business days so I know the FEX is working properly. But when I run the schedule it hits that same 32027 error and never gets to the main FEX.
There is only one task on this schedule within RC. Run the main FEX, pending this pre-process.
JC WebFOCUS Dev Studio / App Studio 8.2.01 Windows 7
Well, I just found out that my problem is a bug in 8.103, and it's fixed in 8.105. But your signature shows you on 8.105 already, so maybe your problem is different from mine.
You need to fix your DM code, and, research Business Days and incorporate those rules; WebFOCUS doesn't know what BD's are. IBI basically excludes Sat/Sun as a default...
Output is: DT_Today= 42073; DT_Check_BD= 42073; KILL_RPC= N; KILL_RPC_ERR= N;
Even going through the GUI in a define if you go through the DATEADD function process you have the option of selecting Business Days as the unit of measure.
JC WebFOCUS Dev Studio / App Studio 8.2.01 Windows 7
Thanks for the clarification Tom, I think I misunderstood your first post.
I know the data I'm getting back isn't a date, rather it's a numeric representation of the date. That is easily fixed with a CVT, but even though it may not be formatted correctly my code is still comparing the dates in the format they are in and able to flip the KILL_RPC flag based upon proper inputs.
That's the main problem I'm running into and am looking into workarounds to fix.
JC WebFOCUS Dev Studio / App Studio 8.2.01 Windows 7
Do you have a holiday file? If not, try creating one and see if that helps. We've had one forever, since before DATEADD and DATEDIF. According to the documentation:
Business day. When using the business day unit, DATEADD uses the BUSDAYS parameter setting and holiday file to determine which days are working days and disregards the rest. If Monday is not a working day, then one business day past Sunday is Tuesday. See Specifying Holidays for more information.
I don't know if the "and" means both are required but it might. Just something to try.
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
Thanks for all the suggestions, but I just couldn't get it to work. Rather came up with a work around.
Instead of leveraging the kill switch, I'm using the same logic as earlier only now leveraging INCLUDES.
So I do the check for the business day, if the business day is the desired to send out the report then I include the FEX which runs the report, otherwise end. This also eliminates the need for the pre-process FEX.