go to post Mark O'Reilly · Jun 29, 2020 Thanks the GetHostSettingValue() from your answer does work. I thought i tested both before replying previously. Set archiveFilePath=##class(Ens.Director).GetHostSettingValue("ReadPDFFileService","ArchivePath",.status) w archiveFilePath\\penn-data\archived_letters$\
go to post Mark O'Reilly · Jun 26, 2020 Neither option seem to work. We hope to within the next few months get up to date with our healthshare environment. Nothing in the Production def left over When try the set and write for either line of code when on default returns nothing When i change it off default it works- but as this changes between environments want to be keeping this as a system defualt
go to post Mark O'Reilly · Jun 24, 2020 Thanks for this the outcome was: There was a field with nulls or 0's that must not have been in our development environment (guess). This could be seen by looking at the D Global for the table in the globals this value or viewing SQL in logical mode. The option would have been for us- -Remove new row info add back in the old column and add the new one -Accept the mistake and set value to null for the old data We went with the later. The code that used to set this old field also seemed to not be in our dev or live environment nor this column that was overwritten being any use. Just a lesson in check your code when you're overwritting, check the class definition for a table especially the bit at the end with the words Value ect that explain the order of the data, look at the GlobalD for the class as well to see the data stored in a comma seperated value.
go to post Mark O'Reilly · Jun 23, 2020 New rows is does display null The problem is old rows of type Rejected This does not apply to old items of status "Sent"
go to post Mark O'Reilly · May 28, 2020 Hi: Your property undefined means you are using a variable not referenced in code. There is no reference to any tResponse it looks like in your code. Have you checked the case on this variable i.e. you declared it as tresponse instead of tResponse? Are you sure it is tResponse and not a pResponse? Mark
go to post Mark O'Reilly · May 27, 2020 Thanks this looks great and when i try this again with code from scratch i will use this. Ended up using the Length method as above but this sounds correct to know in the future which won't be long :)
go to post Mark O'Reilly · Apr 30, 2020 It's still not right. Might just use $length as can't figure it out set LastChecked= docs.RelayedDocuments.GetAt(1).StatusLastChecked$$$TRACE("Date Added "_docs.RelayedDocuments.GetAt(1).DateAdded)$$$TRACE("Date Last Checked "_docs.RelayedDocuments.GetAt(1).StatusLastChecked)$$$TRACE(LastChecked)$$$TRACE("LastChecked value is: '" _ LastChecked _ "', compare: " _ (LastChecked="undefined"))if LastChecked= "" {$$$TRACE("blank")}else{$$$TRACE("not blank " _$LENGTH(LastChecked) )}if $L(LastChecked)<2 {$$$TRACE("Blank")} might just use the length as at least it does work (length when blank was 1)
go to post Mark O'Reilly · Apr 30, 2020 Hi Eduard. Sorry my bad for not including that in my original snippet my full snippet is #dim docs As Penn.EDT.XML.RelayedDocument// docs now contains our results. Create a EDT document message for eachfor i=1:1:docs.RelayedDocuments.Count() {set LastChecked= ""set LastChecked= docs.RelayedDocuments.GetAt(i).StatusLastCheckedif LastChecked="undefined" {$$$TRACE("Gotcha")} $$$TRACE(LastChecked) The LastChecked value trace prints out "undefined" as per the screenshot but if i say if Lastchecked="undefined" it doesn't work. Should see the trace Gotcha before it prints out the last checked date
go to post Mark O'Reilly · Apr 30, 2020 Thanks on further testing it looks like E=S was added to a business operation that called a sync request to another business operation as well as the one that was being called from the business Process. As the BPL sync call is an a-syncronous call with a sync block after simply adding this to the business operation that is called from BPL will do the job. Previously when this was tested the endpoint system was still down. This should be a more out of the box way to do the suspend queues.
go to post Mark O'Reilly · Mar 23, 2020 I have a call to an ITK sender. The target Operation may fail. it goes to a Wrapper object to send to an ITK It is a sync request so want basically the business process to continue on where there is an error but to be retrying any failed messages again in an hours time. Trying any E=RS on the operations caused the BP to not accept any more messages in I think due to the suspension.
go to post Mark O'Reilly · Feb 18, 2020 Hi: The file gets automatically archived using the archive path. It gets passed to a bp which then validates the filename and then copies the document to a working directory before it converts the document to a tiff file. It fails as it tries to copy the file to the working directory. I do assume it is a fileshare availability/network issue but it is something we need contigency for to minimise manual intervention. Have logged to WRC. Mark
go to post Mark O'Reilly · Feb 17, 2020 Usually you have to disable and enable classes for newly compiled code to be enabled, so perhaps you need to do the same for a DTL?