go to post Evgeny Shvarov · Aug 27, 2019 Sorry Vivek. My code provides you the Id of objExternalUser you save (possible create) above. It's 1).It's not the latest inserted record. I thought you need:I need RowId of inserted record.Out of curiosity: why do you need the latest record?
go to post Evgeny Shvarov · Aug 27, 2019 Hi Vivek!Instead of &sql ... you can do: write objExternalUser.%Id()
go to post Evgeny Shvarov · Aug 27, 2019 I agree. I don't know the reasons which caused to limit the MAXLEN to 50 characters... It steals months (if not more) of developers time to find out what was the bug and why this doesn't work because of MAXLEN=50;
go to post Evgeny Shvarov · Aug 27, 2019 As I see in your code you already do some "error handling". So you can continue:Change your code Do objExternalUser.%Save() to the following: set stat=objExternalUser.%Save() if $$$ISERR(stat) { #; error handling d $System.OBJ.DisplayError(stat) } HTH. Out of curiosity - you have empty Try-Catch block. Why don't use it? you could embrace your code into the following: $$$TOE(objExternalUser.%Save()) And catch your error with status in catch then.
go to post Evgeny Shvarov · Aug 27, 2019 Hi @Vivek Nayak!Always check the status of %Save - it could result in an error. And I think this what was happened in your case.90% of my "it doesn't save" with %Save caused by MAXLEN of %String property. %String property goes with MAXLEN=50 by default and it's often not enough. Check you have a such ;)
go to post Evgeny Shvarov · Aug 26, 2019 Thanks, @ED Coder! Thank you! Happy to work with such people! Great team, perfect Community!
go to post Evgeny Shvarov · Aug 26, 2019 Thanks, @Herman Slagman!If you want to share this and other items on DC-Innovations issues? Would be great.These are current requests.
go to post Evgeny Shvarov · Aug 26, 2019 Dear @retolik frolki !If you ask your question on the Spanish Community you have more chances to get an answer.
go to post Evgeny Shvarov · Aug 21, 2019 That's why I like to develop with IRIS docker containers - every time you have clean IRIS with no garbage code, cache, temp globals, whatever... - you have only what you setup in a build dockerfile script.
go to post Evgeny Shvarov · Aug 19, 2019 Hi Salma!If you import this file from this Open Exchange project it can do the export classes in folders:Once imported call this to setup a folder: USER>do ##class(dev.code).workdir("my/workdir/src") Call this to export all classes, macro, deepsee resources in a given workdir. USER> do ##class(dev.code).export() You also can import the whole package too. HTH
go to post Evgeny Shvarov · Aug 18, 2019 Global name is in the var already. Here is the code I needed it for: ClassMethod InvertList(from, to) As %Status { set iter=$o(@from@("")) while iter'="" { set value=@from@(iter) set @to@(value)=iter set iter=$O(@from@(iter)) } }
go to post Evgeny Shvarov · Aug 18, 2019 Says #1038: Private variable not allowed : 'gniter=$na(from)' : Offset:21 [zInvertList+1^Example.Globals.1] for ClassMethod InvertList(from, to) As %Status { #define ForAll(%in,%gn) s gn%in=$na(%gn) s %in="" f { s %in=$o(@gn%in@(%in)) q:%in="" #define EndFor } $$$ForAll(iter,from) set value=@from@(iter) set @to@(value)=iter $$$EndFor }
go to post Evgeny Shvarov · Aug 18, 2019 Maks, thanks for that project!Do you want to add a sort of "For Each" for a global?Suppose a have a global ^A(index)=valueAnd I need to go through all the indexes to do something with the value. Currently, I do the following in Objectscript to perform this: s iter=$Order(^A("")) while iter'="" { set value=^A(iter) /// do something with value set iter=$O(^A(iter)) } Would be great to change this to something like that: zforeach(iter,^A) { set value=^A(iter) /// do something with value }
go to post Evgeny Shvarov · Aug 15, 2019 Hi Kevin!Thanks for the feedback!This is a good point. Submitted an issue. If this describes the problem right?
go to post Evgeny Shvarov · Aug 14, 2019 Updated the ObjectScript code blocks in your post a bit. And don't see any DeepSee cubes here - is this DeepSee related?