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.



Read-Only Read-Only Topic
Go
Search
Notify
Tools
Need help with date
 Login/Join
 
Gold member
posted
How can I get the following done:
I am running a focexec 5 days aweek which is monday thru friday that produces huge data file each run. the data file is named with the date it runs on.
I need to add into my fex to find the data file from yesterday run and change it to a different extension, then delete the older data files. to do that, first I have this DOWK function finding the day of the week. If monday, goes back 3 days to get to friday otherwise, go back previous day. This works fine if we are in the middle of the month without any problem. But when first day of the month is monday (or any other day) for example, then how do I have the fex to set up to go back the previous month and find the last friday of that previous month?
any easier way to do this? any help is appreciated!
 
Posts: 71 | Registered: May 23, 2004Report This Post
<Vipul>
posted
Use business day as in the following examples from ibi:

Example: Setting Business Days
Business days are traditionally Monday through Friday, but not every business has this schedule. You can determine which days are considered business days and which days are not. For example, if your company does business on Sunday, Tuesday, Wednesday, Friday and Saturday, you can tailor business day units to reflect that schedule.

Then when you use DATEADD, DATEDIF, or DATEMOV, these functions ignore dates that are not business days.


Syntax: How to Set Business Days
SET BUSDAYS = smtwtfs
where:

smtwtfs
Is the seven-character list of days that represents your business week. The list has a position for each day from Sunday to Saturday.

If you want a day of the week to be a business day, enter the first letter of that day in that day's position.

If you want a day of the week not to be a business day, enter an underscore (_) in that day's position.

If a letter is not in its correct position, or if you replace a letter with a character other than an underscore, you receive an error message.

Vipul
 
Report This Post
Guru
posted Hide Post
To expand on what Vipul said, here is another solution:
DEFINE FILE CAR
TODAY_YYMD/YYMD = 'AUG 02 2004';
TODAY_W/W = TODAY_YYMD;
OFFSET/I03 = DECODE TODAY_W (1 3 2 1 3 1 4 1 5 1);
LAST_RUN/YYMD = DATEADD(TODAY_YYMD,'D',-OFFSET);
END
TABLE FILE CAR
PRINT TODAY_YYMD LAST_RUN
COUNTRY NOPRINT
WHERE RECORDLIMIT IS 1
END
 
Posts: 252 | Location: USA | Registered: April 15, 2003Report This Post
Expert
posted Hide Post
Kmafu, you're probably going to want to do this in dialog manager;
here's how i do it:
to begin, remember that &YYMD is a sytem variable
(in win2k), so whatever plaform you're on, use whatever is the approp. system variable for today.

-SET &DAY = DOWK(&YYMD,'A3');
-SET &ADJ = DECODE &DAY('MON' 3 'TUE' 1 'WED' 1 'THU' 1 'FRI' 1 'SAT' 1 'SUN' 2);
-SET &ADJ = -1 * &ADJ ;
-SET &MYDATE = AYMD(&YYMD, &ADJ, 'I8YYMD');
-SET &MYDATE1 = EDIT(&MYDATE,'$$999999');
-SET &MYFILE = 'FN' | &MYDATE1 | '.FOC';
-SET &OUTFILE = 'FN' | &MYDATE1 | '.OLD';
CMD COPY &MYFILE &OUTFILE
-RUN
-* so what ive done is use the DOWK function to figure out the Day of Week, and the AYMD function to add a number (in this case a negative number) to a date and keep it in smartdate form. (Adding -1 to August 1st gets you July 31st.) Then i make a string that is my filename using the adjusted date.
Then i copy (or rename) the file, remember to put the approp. directory syntax in.
Any help?
 
Posts: 3811 | Location: Manhattan | Registered: October 28, 2003Report This Post
Gold member
posted Hide Post
Susannah,excellent help! exactly what I am looking for! thanks a ton!
 
Posts: 71 | Registered: May 23, 2004Report This Post
Gold member
posted Hide Post
THANKS everybody for all the help and suggestions!
thanks very much!
 
Posts: 71 | Registered: May 23, 2004Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic


Copyright © 1996-2020 Information Builders