Caché has a nice example in namespace SAMPLES how to upload a stream of any length:
/csp/samples/upload.csp.
- Log in to post comments
Caché has a nice example in namespace SAMPLES how to upload a stream of any length:
/csp/samples/upload.csp.
If it's just pure import / export the .TIF you may access it as %Stream.FileBinary
But if you need some more sophisticated processing and have some working method (eg. in Python)
you may use it in some near future with the promised embedded Python [@Bob Kuszewski ]
Until then you may take a look to my example in OEX about using Python methods & classes over CPIPE
Is there a way or tool available to take the source files and create an XML file which can be used for deployment to Ensemble?
YES:
$system.OBJ.Export(....)
$system.OBJ.Load(...)
docs & details
This works on Caché/Ensemble not just IRIS
your code is :
Set mgr.TableName = SchemaName_"."_TableName
Set mgr.ClassName = classname
The class to Export: Class Persistent.PersonBackup Extends %Persistent
BUT you call it:
do setupExportImport^uTask12440("Export","PERSISTENT","PERSONBACKUP")
There is no class PERSISTENT.PERSONBACKUP
Try instead:
do setupExportImport^uTask12440("Export","Persistent","PersonBackup")
So the generator can find your class
Oh, dear!
I saw something similar ~'86 running on VAX/VMS (or was it RSX-11/M ?) with some specialised keyboard
indeed 66 , THANKS! ![]()
BINGO! ![]()
@Sergei Shutov $e(112345678) prevents you to pass N>9
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
123456781087654321
123456781187654321
123456781287654321
123456781187654321
123456781087654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
@Julius Kavay similar issue, but limit is 16
My interpretation was N>9 is any number >9
for on "" is great, but just <=9
UTC: 2021-01-10 21:39:34
N<=9 : 73 chr
f i=1:1:N w ! f j=1:1:i,i-1:-1:1 w !?N-j f l=1:1:j {w l} f r=l-1:-1:1 w rN>9 : 78 chr
f i=1:1:N w ! f j=1:1:i,i-1:-1:1 w !?N-j f l=1:1:j {w l#10} f r=l-1:-1:1 w r#10eg: N=14
1
1
121
1
1
121
12321
121
1
1
121
12321
1234321
12321
121
1
1
121
12321
1234321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
1234567890987654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
1234567890987654321
123456789010987654321
1234567890987654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
1234567890987654321
123456789010987654321
12345678901210987654321
123456789010987654321
1234567890987654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
1234567890987654321
123456789010987654321
12345678901210987654321
1234567890123210987654321
12345678901210987654321
123456789010987654321
1234567890987654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1
1
121
12321
1234321
123454321
12345654321
1234567654321
123456787654321
12345678987654321
1234567890987654321
123456789010987654321
12345678901210987654321
1234567890123210987654321
123456789012343210987654321
1234567890123210987654321
12345678901210987654321
123456789010987654321
1234567890987654321
12345678987654321
123456787654321
1234567654321
12345654321
123454321
1234321
12321
121
1in your ClassMethod you operate on Server side.
the equivalent to zenPage on Client side is %page on Server side.
And methods on Server side all start with %.. and strings use double quotes.
It is ISOS/COS not JS !
try:
set ref=%page.%GetComponentById("clinic")
Ahh! never seen before!
seems to be in $$$IFDEFAULTHLTAGS
in %IFinclude.inc:
#define IFDEFAULTHLTAGS "<b>,<font color=""red"">"
where does '<b>' come from? Is it HTML text?
Ah! you look for isolated "ABC" and exclude it in context.
So you might need a ClassMethod as SQL Procedure to get the exact & isolated occurrence
instead of $LENGTH().
Probably requiring some Regular Expression
or plain looping on $FIND() and checking the borders
try to extend your SQL statement like this
SELECT SUM(count)
(SELECT
$LENGTH(TEXT,'ABC')-1 as count,
Text
FROM Post
WHERE %ID %FIND search_index("TextIndex",'ABC')
)write $translate($zdt($h,8)," :")
20201231090429
That's the way it works. You consume it once.
You'll get a mail once processed. But probably not this year![]()
I just added a new and more actual example of using the traditional CPIPE device.
It has my personal preference over %Net.Remote.Utility as I feel to have more direct control.
Here is the link to Open Exchange
The link points to the leaderboard of 2019
this is 2020 leaderboard as seen above.
OK. The first time I followed to the end.
The code I was forced to produce by time pressure is so ugly and dirty that I refuse to publish it.
Nevertheless a clear demonstration for what was ISOS (aka COS) NOT designed for:
Higher mathematical calculus, matrix transformations, arrays with independent dimensions, ....
[ Though I have to admit that I encountered tensors, rotors, matrix transformations, Mr. Fermat's theories, ... only at university 50+ years ago. And I didn't miss it in between
]
There was no demand for the real strengths of IRIS!
In addition, I verified my personal credo that writing some code in ISOS/COS
only because it is possible makes no sense and is of no commercial value.
Especially with the broad range of options in IRIS to include external code.
Instead of fiddling into system internals, you may just map ^ERROR or better just the annoying part
to a different DB to see the impact. Then you clean up this one on a regular basis this DB,
Just Kill this branch.
Or map it to IRISTEMP. It is cleaned at every restart.
It is written by the standard ERROR logger ^%ETN.int used allover system routines.
You can see it in SMP/ application errors. And it might be wise to examine it if it is growing so fast.
A GREAT improvement! ![]()
Though a challenge to the voters: They have to make a decision ! ![]()
THX. Just verified it.
Hmm. The link to GM says:
Sorry friend, looks like this challenge is no longer available.
My title: " Never say IMPOSSIBLE with IRIS "
.png)
I fully support you.
Out of tradition, there is a tendency to implement already existing solutions though better
and well-positioned on the markets.
@Dmitry Maslennikov :
- you might remember times when even a webserver was written inside Caché
- or various text editors, source manager packages, and ..., and ... and ...
JUST because it was possible.
Decades back you had your globals and your language and not even an OS below.
But this was in previous millenium. This time is definitely over.
I missed this during a migration from Caché to IRIS.
There were roughly 1500 routines and ~2000 classes. grown over >15 years.
The point was to find out dependencies and estimate the impact of changes.
The key issue I see is: Is there a Related XML schema available.
If YES:
- you can generate a package with the existing tools
- import the file with %XML.Reader
- do an %JSON... export
The XML schema is necessary because straight XML is just TEXT with no datatypes
while JSON has data types. For XML the type of data is documented in XML Schema.
If NO:
You may call any of the public available XML to JSON converters.
They may guess rather easy for numerics vs. strings in most cases.
But detecting Boolean (true /false ) vs. Integer is somewhat mysterious to me.
My personal opinion: re-inventing this wheel is not worth the effort.
Writing an adapter makes sense