Sure, why not.
- Log in to post comments
Sure, why not.
Thank you!
Looks like exactly what I need.
Go to System > Journals, choose any 1GB journal which was just created and press Profile.
Now recalculate by size and you'll see which globals created the most journal records.
.png)
is there a way for me to execute in SQL for the above?
Of course!
Queries are TVFs, you can CALL them or SELECT from them:
SELECT * FROM %SYSTEM.License_ConnectionAppList()
.png)
Summary:
SELECT * FROM %SYSTEM.License_Counts()
You need a Reply Code Action, E=S or something more specific.
Check:
Check %SYSTEM.License queries. There are queries which provide summary and detailed information on license consumption. You can than create a task which runs every minute and if license consumption exceeds say 80%, store current license users into a separate table with a timestamp. Later you can use this table to analyze usage patterns.
I need for this operation to run in a same, separate process (on which I need to do bookkeeping) so InProc mode won't work for my use case.
¯\_(ツ)_/¯
Do you have SMP access? If so:
/csp/user.For a test try to give R to others on CSP.ini and restart Apache.
You could try submitting the message to the head of the queue
How do I do that?
Check the permissions/ownership on:
<IRIS>/csp/bin/CSP.iniMost likely irisusr is unable to access this file.
Congratulations!
Got it
Code must be executed in the Business Operation process, I can't offload it to another process.
Looks like, that you have some data generated, which you should care about, but with some delay.
Yes.
how about creating some custom adaptor,
How would this adapter be triggered every X seconds?
Alternatively, you could create a function that writes the alerts to an internal table, and then poll that table every x minutes to generate a single detailed alert message?
Sounds promising. I don't know - just wanted to use alerts as that seemed like a tool for a job but maybe a custom solution would be better.
Welcome back, Sean!
What do you want your $list to look like?
If you want the end result to be like this:
$lb("das", "is", "wp", "dsa", "nmk")try this code (assumes dir is shorter that 3 641 144 chars):
ClassMethod test(dir = "test.txt")
{
set file = ##class(%Stream.FileCharacter).%New()
set file.LineTerminator = $c(1)
do file.LinkToFile(dir)
set str = file.Read($$$MaxStringLength)
kill file
set separator = $c(13,10)
do {
set newstr = str
set str = $replace(str, separator _ separator, separator)
} while newstr'=str
set:$e(str, 1, $l(separator))=separator str=$e(str, 1 + $l(separator), *)
set:$e(str, *-$l(separator)+1, *)=separator str=$e(str, 1, *-$l(separator))
set list = $lfs(str, separator)
quit list
}This is a naive implementation assuming you don't care about the speed.
Faster solution would go through file line by line.
Thanks for your question -- we will communicate with you via DM.
You have to include a slash before EmergencyId :
It depends on OS. In Linux there's no slash. Windows is with slash.
You need to:
After that you'll be able to start your new production.
There are two parts to it.
1. Create a trigger after INSERT/UPDATE/DELETE. Triggers can work for both sql and object access:
Trigger NewTrigger1 [ Event = INSERT/UPDATE/DELETE, Foreach = row/object, Language = objectscript, Time = AFTER ]
{
set ^dbg={fieldname*N}
}2. In the trigger code send an SMS. You can either use an API (a lot of them available) or talk to a GSM modem.
First you need to create corresponding classed. You can do that by either importing the XSD or manually.
Here's a manual approach:
Class test.mensajeWS Extends (%RegisteredObject, %XML.Adaptor) {
Parameter NAMESPACE = "https://wslexnet.webservices.lexnet/3.22";
Property respuestaEnvioMensaje As respuestaEnvioMensaje;
}
Class test.respuestaEnvioMensaje Extends (%RegisteredObject, %XML.Adaptor) {
Property idEnvio As %Integer;
Property tamBloque As %Integer;
Property bytesMIME As %VarString;
}After that in your BS convert incoming XML string like this:
set reader = ##class(%XML.Reader).%New()
set sc = reader.OpenString(pRequest.EnviarIniciadoresGeneralOut)
quit:$$$ISERR(sc) sc
do reader.Correlate("mensajeWS","test.mensajeWS")
do reader.Next(.mensajeWSObj,.sc)
quit:$$$ISERR(sc) sc
// Process mensajeWSObjGreat article.
Some comments on formatting:
button.On the article itself my only issue is you create 5 methods per class:
That's a lot of code even for 4 classes, but what about a case where there are 10 classes? 50? 100? Generally I would recommend writing 5 methods which would process objects of any allowed class (see RESTForms2).
I think the preferred way is to use $SYSTEM.OBJ.Export (or even better - VCS) instead of direct global manipulation to export code.
Set in the BP/BPL classes:
Parameter SKIPMESSAGEHISTORY = 1;it would improve journaling.
Update to a more recent version.