Function Date=pfDate is a non-date?

 9 Replies
 0 Subscribed to this topic
 52 Subscribed to this forum
Sort:
Author
Messages
JudeBac
Veteran Member Send Private Message
Posts: 129
Veteran Member
Hi all,

We are using ProcessFlow 8.03 Pro and j2sdk1.4.2_16. In the Start node, I declared a variable var_date as type Date and tried to assign the function Date=pfDate(var1,'mm/dd/yyy'). However I am getting an error "Cannot assign non-date expression to Date type variable". If I declare a string variable, this function gets assigned!

I am revising a processflow (from another company) that was able to assign function Date=pfDate(var1,'mm/dd/yyy') to a date variable. What do I need to do?

Help!
David Williams
Veteran Member Send Private Message
Posts: 1127
Veteran Member
You should have a value assigned to var1 in order to use this function. Do you?
David Williams
JudeBac
Veteran Member Send Private Message
Posts: 129
Veteran Member
I do, apologies, I should have mentioned it earlier. The value I am using is from a query. The field is REVIEW.ACTUAL_DATE, variable name is Review_ACTUAL_DATE.
JudeBac
Veteran Member Send Private Message
Posts: 129
Veteran Member
Additional info: the function Date=pfDate(var1,'mm/dd/yyy') (ex: var1 replaced by today()). If I declare a variable of type string, assign it to pfDate(today(),'mm/dd/yyy') it will work. I cannot assign this to a date type variable.
Sam Simpson
Veteran Member Send Private Message
Posts: 239
Veteran Member
Here's some tips is getting the right date format. Ask your dba what's the date format of ACTUAL-DATE in your REVIEW table. It could be in AGS (yyyymmdd) or DME (mm/dd/yyyy) formats. Also remember that when you use pfDate javascript function it will always result in a javascript date format which is very long. Having said that, declare var1 as string then after you query REVIEW do an ASSIGN node where:

var1=pfDate(Review_ACTUAL_DATE,'mm/dd/yyyy) or
var1=pfDate(Review_ACTUAL_DATE,'yyyymmdd') then
var1=getDateDME(var1) or var1=getDateAGS(var1)

So now you have a date in var1 and you could still convert var1 into another date variable.
JudeBac
Veteran Member Send Private Message
Posts: 129
Veteran Member
Thanks Sam, let me consider your tips and will get back with the result.
David Williams
Veteran Member Send Private Message
Posts: 1127
Veteran Member
The 2nd option in pfDate(var1,'yyyymmdd') corresponds with the format of the 'var1' variable not how the date is returned so like Sam said, you need to know the format (AGS or DME) of your variable. If your variable's format is like yyyymmdd then that's the function you choose.

The system returns the JavaScript date once it evalutes the value of your variable. var1 is usually a String variable (which is how the value is returned in your DME call).
David Williams
JudeBac
Veteran Member Send Private Message
Posts: 129
Veteran Member
thanks David. I now have a starting point.
Sam Simpson
Veteran Member Send Private Message
Posts: 239
Veteran Member
Just a reminder and not to be confused if you are using var1 as a variable. It is perfectly okay to use it as a variable but just remember this is the default node name for MsgBuilder. So don't be confused between the two.
JudeBac
Veteran Member Send Private Message
Posts: 129
Veteran Member
Thanks for the help. Just thought I need to share what I did.

declare datevar=DATE, datestringAGS=STRING
datevar=pfDate(Review_SCHED_DATE,'mm/dd/yyyy')
datestringAGS=getDateAGS(datevar)