How can I pass the current date from one PA to another in UniQuery? A colleague taught me the trick of having the date written by cron to a file and using a inline prompt to read it with <<F(HOLD,X.DATE.TODAY,1)>>
, but that adds extra parts that can fail and I would rather keep it simple (aka one time the file didn't get updated, oops).
I basically need something like this.
AE VOC MY.PROCESS.TODAY
001: PA
002: MY.PROCESS ?????
To run my second PA with the current date.
AE VOC MY.PROCESS
001: PA
002: SELECT PERSON WITH PER.CHANGE.DATE EQ <<I2,Enter Date:>>
This does work, MY.PROCESS <<F(HOLD,X.DATE.TODAY,1)>>
, but is there anyway I could pass the results using something more reliable like DATE()
as the argument into the second paragraph?
You will likely get answers saying "don't do that in a paragraph", and to some extent that's right - anything except for a simple list of commands can get complicated.
That said, the below works for me:
From: https://docs.rocketsoftware.com/nxt/gateway.dll/RKBnew20/unidata/v8.2.1/unidata_userguide_v821.pdf
I use the
I
option while testing: "The I and S options are similar to the C option. The In option prompts for text if n is not specified, and the Sn option passes the value of n to called paragraphs."Also read the section just above that "Always prompting with an inline prompt", to explain why CLEARPROMPTS is needed. Without that, if you don't pass a parameter it will gladly use the last one provided.
[Edit: to provide BASIC option] Paragraphs are great for really simple things, and there's probably a way to finagle things. But it's a one-line basic program to get something working:
Is there a hard requirement that MY.PROCESS.TODAY be a paragraph? If you compile and catalog this one-line program as BP MY.PROCESS.TODAY then it will work exactly as needed.