Comparing dates in IPA - PfiWorkUnit StartDate

 3 Replies
 2 Subscribed to this topic
 52 Subscribed to this forum
Sort:
Author
Messages
Preston Burdwell
Advanced Member
Posts: 33
Advanced Member
    I have a simple flow where I am trying to find all Failed workunits from a previous day using StartDate within Landmark Node, PfiWorkunit object. I don't seem to be able to get the correct formatting to lookup a calculated variable on the Start Node, [ie: today1 = getDateAGS(AddDay(today(),-1))] and compare to PfiWorkunit Object in the Landmark Node [ie: StartDate > & ]. Any suggestions? Thanks!!
    Preston Burdwell Systems Analyst CHRISTUS St. Vincent Med CTR
    Woozy
    Veteran Member
    Posts: 709
    Veteran Member
      Hi Preston Burdwell,

      Unfortunately, it's more complicated than that. The Landmark query returns WorkUnit.StartDate as a string in the format of ccyyhhmmhhmmssss (the timestring is very odd - I'm not sure what it's doing). However, it is not returned as a jsDate but as a string. However, today() is returned as a jsDate which includes the timestring. What I think you need to do is convert both to AGS format (ccyymmdd) and then compare those. You can't compare them as jsDate because of the timestring difference:

      StartDateAGS (string) = getDateAGS(pfDate(lmGetWorkUnit_StartDate,'yyyymmdd'))
      YesterdayAGS (string) = getDateAGS(AddDay(today(),-1))
      WUYesterday (Boolean) = (StartDateAGS == YesterdayAGS)

      Good Luck!
      Kelly Meade
      J. R. Simplot Company
      Boise, ID
      Tim Cochrane
      Veteran Member
      Posts: 154
      Veteran Member
        you've got a couple options here:
        1. do a substring on the PfiWorkunit.startdate to return a CCYYMMDD format (variable name = StartDdate.substr(0,8), then run the results thru some of the routines that Woozy has shown
        2. query PfiWorkUnit for "DaysInElapsedTime" field. it'll return a whole number, which SHOULD work for you...i'm trying to think it thru on the fly, but Day = 1 should be what you want...just add the "& failed" logic.
        Tim Cochrane - Principal LM/IPA Consultant
        Preston Burdwell
        Advanced Member
        Posts: 33
        Advanced Member
          Awesome suggestions! I placed an Assign node after the LM Node and assigned the Landmark StartDate (TimeStamp) to the following: StartDateAGS (string) = getDateAGS(pfDate(lmGetWorkUnit_StartDate,'yyyymmdd'))
          Comparing the StartDateAGS variable to my calculated "Yesterday" variable gives me the workunits I need. Thanks!!
          Preston Burdwell Systems Analyst CHRISTUS St. Vincent Med CTR