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 Send Private Message
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 Send Private Message
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 Send Private Message
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 Send Private Message
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