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
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
    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
      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
        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
          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
            Posts: 129
            Veteran Member
              Thanks Sam, let me consider your tips and will get back with the result.
              David Williams
              Veteran Member
              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
                Posts: 129
                Veteran Member
                  thanks David. I now have a starting point.
                  Sam Simpson
                  Veteran Member
                  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
                    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)