go to post Julius Kavay · Dec 11, 2022 Oh, this is a misunderstanding. I thought, the screenshot is coming from a (not showed) link, and anticipated the link points to some ISC site.Anyway, ChatGPT and other ChatBots (nowadays, they often pop up on various sites, mainly on those of big companies) tries to mimic a human and often end up only with an reference to FAQs or with a wrong (inappropriate) answer.They all base upon AI (some says: AI=artificial intelligence, others say: AI=absent intelligence). My bottom line is, AI is for some areas already "usable" and for others, it still "will require some more time".
go to post Julius Kavay · Dec 10, 2022 You can't access the class name alone write $system.Version // is just a class name, something like write ##class(SYSTEM.Version) // (hence both lines gives you a syntax error) You have to specify a property or a method. Because $System.Version is an abstract class, you can specify a method only write $system.Version.GetVersion() Hope this clarifies things
go to post Julius Kavay · Dec 10, 2022 To be honest, I was also impressed, but not about ChatGPT rather about the suggested solution! I have no idea, who at ISC wrote this recommendation, but the five clicks on my IRIS-2021.1 end up in NOTHING. On the right-side panel I see 'System Information' but this can't be clicked, below is 'View System Dashboard', here you see everithing, except a version info. So dear ChatGPT, if someone asks you again, the (better) answer is:- login to management portal- click on 'About' (here you see the version and much much more)This works for all IRIS versions (until now) and for all Cache versions which have a Management Portal. For the older (over 20 years) Cache versions right-click on the cube and select 'Config Manager' (on Windows, of course. In that times, I didn't worked on other platforms, hence no advices).
go to post Julius Kavay · Dec 9, 2022 Did you read this article, especially the answer from Vitaliy Serdtsev ?
go to post Julius Kavay · Nov 17, 2022 First, the suggestion of Victor Gordillo is correct. do ##class(Some.Class).%BuildIndices() solves most index related problems. Second, there are a couple of things, we do not know, but you- did you made an in-place-upgrade or a clean install + data transfer- the class in question is the same on IRIS and Cache (i.e. no change was made)- is the class re-compiled (on IRIS)- what do you exactly mean when you say "Not opening an instance...": (1) you get an NULL-OREF or (2) you get an error- what do you provide as a NULL value: (1) "", (2) $c(0), (3) " " or something else as open parameter A shortened class definition (we don't need the whole definition) would be also helpfull, something like this Class Problem.Class extends %Persistent { Property Field1 as %String; Property Filed2 As %String; Index composite on (Field1, Field2) [ Unique]; }
go to post Julius Kavay · Nov 16, 2022 If your serial class is named Data.Serial (as in your example code) then you should use the same name for the serial property too Class Data.Persistent Extends %Persistent { Property MPID as %Integer; Property Name as Data.Serial; <--- !!!!! } The correct way to set the values Set Obj=##Class(Data.Persistent).%New() Set Obj.MPID=MPID Set Obj.Name.FirstName=FirstName ; <---- Set Obj.Name.LastName=LastName ; <---- Set tSC=Obj.%Save()
go to post Julius Kavay · Nov 14, 2022 I think, I have a solution for you ClassMethod GetImage() { s req=##class(%Net.HttpRequest).%New() s req.Server="www.distrelec.de" s req.SSLConfiguration="SSL" s req.ReadRawMode=1 // <<---- this is your solution d req.Get("/Web/WebShopImages/landscape_medium/_t/if/sortimentsboxen-1.jpg") q req.HttpResponse } To get the image s rsp=##class(Some.Class).GetImage() i rsp.StatusCode=200 { s file="c:\temp\imageName.jpg" o file:"nwu":0 i $t u file d rsp.Data.Rewind(),rsp.Data.OutputToDevice() c file } That's all...
go to post Julius Kavay · Nov 14, 2022 No, you can't revert, because the first chars (3 x '?') are replacement-chars. You could try to contact WRC.
go to post Julius Kavay · Nov 14, 2022 To download that image, you need just a few lines of code Class Some.Class Extends %RegisteredObject { ClassMethod GetImage() { s req=##class(%Net.HttpRequest).%New() s req.Server="www.distrelec.de" s req.SSLConfiguration="SSL" // use your SSL-Config-Name d req.Get("/Web/WebShopImages/landscape_medium/_t/if/sortimentsboxen-1.jpg",1) q req.HttpResponse } } So your code is more or less OK, but the rest of the process is ominous set rsp=##class(Some.Class).GetImage() zw rsp rsp=7@%Net.HttpResponse ; <OREF> +----------------- general information --------------- | oref value: 7 | class name: %Net.HttpResponse | reference count: 3 +----------------- attribute values ------------------ | ContentBoundary = "" | ContentInfo = "charset=UTF-8" | ContentLength = 17759 | ContentType = "image/jpeg;charset=UTF-8" | Data = "8@%Stream.GlobalCharacter" |Headers("CACHE-CONTROL") = "max-age=0" |Headers("CONTENT-LENGTH") = 17759 |Headers("CONTENT-TYPE") = "image/jpeg;charset=UTF-8" | Headers("DATE") = "Mon, 14 Nov 2022 10:57:10 GMT" | Headers("ETAG") = "a919e895229c7883864aecbfa2717516" |Headers("LAST-MODIFIED") = "Thu, 01 Jan 1970 00:00:01 GMT" |Headers("SET-COOKIE") = "visid_incap_2373370=1U8JalxbRJOzRFviQpi05AYfcmMAAAAAQUIPAAAAAADRm" |Headers("STRICT-TRANSPORT-SECURITY") = "max-age=31536000; includeSubDomains; preload" | Headers("X-CDN") = "Imperva" | Headers("X-IINFO") = "5-19652015-0 0CNN RT(1668423430526 51) q(0 -1 -1 0) r(0 -1)" | HttpVersion = "HTTP/1.1" | ReasonPhrase = "OK" | StatusCode = 200 | StatusLine = "HTTP/1.1 200 OK" +----------------------------------------------------- The sender says, content type is "image/jpeg", which is OK, but charset=UTF-8 is, I think, a problem. A jpeg-image usually starts with (hex) bytes: FF D8 FF E0 00 10 4A 46 49 46 ... The HTTP-Response gives us do rsp.Data.Rewind() zzdump rsp.Data.Read(10) 3F 3F 3F 10 4A 46 49 46 00 01 ???.JFIF.. But I'm in no way a web-expert, but it seems to me, Cache tries to decode (according to content-type =image/jpg; charset=UTF-8) the incomming raw (jpeg) data. The first byte, FF, will already give an error (no utf-8 encoded byte can start with FF) and returns an "?" char as a replacement. The next two "?" (hex: 3F) chars are also arised from (inpossible) decoding. Why the same page works, if you try it with Chrome or Firefox: I think, they either ignore the charset=UTF-8 or just show the raw data after the first decoding error.
go to post Julius Kavay · Nov 12, 2022 OK, no punctuation, no empty words, etc.... My lowest bid: 74 chars ClassMethod Order(s) { f s p=$p(s," ",$i(i)),w=$tr(p,1/17),$p(z," ",$tr(p,w))=w ret:p=w $g(z) } By the way, the following three variants all have the same size of 74 f s p=$p(s," ",$i(i)),w=$tr(p,1/17),$p(z," ",$tr(p,w))=w ret:p=w $g(z) f{s p=$p(s," ",$i(i)),w=$tr(p,1/17),$p(z," ",$tr(p,w))=w ret:p=w $g(z)} 1 s p=$p(s," ",$i(i)),w=$tr(p,1/17),$p(z," ",$tr(p,w))=w q:p=w $g(z) g 1