Jenna Makin · Jan 9, 2023 go to post

Are you looking to count nodes that have data?   Will your global always be sequencially and numerically subscripted like your example?

Jenna Makin · Jul 25, 2020 go to post

Hi Ken

In ObjectScript an abstract class simply means that you can not instantiate it.   You MUST subclass it and instantiate the subclass.

The concept you understand is supported in Objectscript but it requires that you declare the method itself as abstract.

The two (abstract class keyword and abstract method keyword) work independently of each other.

Does this explain what you are seeing better?

Jenna Makin · Apr 15, 2020 go to post

Hi Yakov

First, I wouldn't implement this kind of logic in a business service.  I would have a business service that immediately passes a message to a business operation and then perform these functions there (or possibly in business operations).   Services should not be long-running which building and querying a staging table seems like it might take some time.

Jenna Makin · Mar 31, 2020 go to post

My stream definition is

Property Streams As list Of %CSP.CharacterStream;
 

I used the %CSP.CharacterStream because that is what was being created in the %request object and I figured it would be simpler to just add that stream to my collection.  

I understand why this would be stored in CacheStream as it it created by the CSP engine.   I think my solution is to use a %Stream.Character and actually copy the contents from the %CSP.CharacterStream rather than storing itself.

Jenna Makin · Mar 26, 2020 go to post

I think I may have it.  Basically I. Base64.encoding the file on the client side and will need to decide it on the server.  

I need to do a little more testing and debugging in the morning and will post the solution.

Jenna Makin · Mar 26, 2020 go to post

No.    There is another page that is the target of the HTTPRequest POST which takes the file data passed in request and stores the file into the database.   Problem is that the binary files aren't  received properly

Jenna Makin · Feb 13, 2020 go to post

If it is desirable to have the customized setting heading with distinct separate words (like in the HL7FTPService) in the production configuration view then the global CacheMsg should be updated in the related namespace (e.g. Ensemble) where the production will be running as it is shown below for the RemoteArchivePath:

  Ensemble>set ^CacheMsg("EnsColumns","en","RemoteArchivePath")="Remote Archive Path"

After that change the RemoteArchivePath setting name is shown in the view as ‘Remote Archive Path’.

Jenna Makin · Feb 6, 2020 go to post

I must not have had enough coffee today because it looks right to me.

:)

Jenna Makin · Feb 6, 2020 go to post

Interesting.   I did get this to work but don't believe it's calling the %iFind.Utils:Highlight method.   The reason I say this is that the method has extra parameters that don't correspond to the SQL %Fimd.Highlight SQL function.

Jenna Makin · Feb 6, 2020 go to post

Eduard,

I had seen that in the docs and have tried various flavors of it.  I am using embedded SQL in a classmethod here to do my search.   Here's the method

ClassMethod Search(pSessionId As %String, pSearchString As %String) As %Stream.GlobalCharacter
{
    set tTags="<span style='background-color:yellow;'>"
    &sql(
    SELECT %iFind.Highlight(Text , :pSearchString , '' , :tTags) into :results 
    FROM SSA_OCR.TempSearchable)
    quit results
}

When I try to use this, I get:

SSA>s rs=##class(SSA.OCR.TempSearchable).Search(20, "Cough")
 
 quit results }
 ^
<UNDEFINED>zSearch+7^SSA.OCR.TempSearchable.1 *results
SSA 2e1>w results
 
W results
^
<UNDEFINED>^SSA.OCR.TempSearchable.1 *results
SSA 2e1>w %objlasterror
0 àŠ=<CLASS DOES NOT EXIST>zApplyTransformation+6^%iFind.Utils.1”SSAŠ*^zApplyTransformation+6^%iFind.Utils.1^15d^zPrepareTransformations+27^%iFind.Filer.Basic.1^1(d^zFileIndex+33^%iFind.Filer.Basic.1^1*d^zFileIndex+8^%iFind.Filer.Semantic.1^1*d^zFileIndex+5^%iFind.Filer.Analytic.1^1"d^zHighlight+17^%iFind.Utils.1^1,e^%0JmCm3l4tudf^SSA.OCR.TempSearchable.1^41e^%0JmBuncommitted+1^SSA.OCR.TempSearchable.1^1(d^zSearch+6^SSA.OCR.TempSearchable.1^1e^^^0
SSA 2e1>d $System.OBJ.DisplayError(%objlasterror)
 
ERROR #5002: ObjectScript error: <CLASS DOES NOT EXIST>zApplyTransformation+6^%iFind.Utils.1
SSA 2e1>

Any thoughts on why this is erroring?

Jenna Makin · Dec 21, 2019 go to post

Ben

Check %SYSTEM.INetInfo.   I think it probably contains a method to serve your purpose 

Jenna Makin · Dec 19, 2019 go to post

The proper way to do this would be

if the %OnNew is going to error you should throw an exception-  If you did this, the thrown exception should be caught by your try/catch block that calls the %New() method.  Then in the catch block you can examine either %objlasterror or perhaps some specific error variable you create for your purposes.

Jenna Makin · Dec 11, 2019 go to post

Hi-

Even in a http POST, url variables are found in %request.Data.  The content stream will contain the body of your post.

Jenna Makin · Nov 23, 2019 go to post

I'm not really familiar with this service but it looks like there's a format problem with some content field.   Maybe Telephone 

Jenna Makin · Nov 15, 2019 go to post

When studio opens a class, routine, or CSP file it takes out a lock.    I've seen cases where if Studio crashes the lock doesn't get removed.

Jenna Makin · Nov 14, 2019 go to post

Task manager seems very appropriate here.

VA is doing some of this with their productions.   Auto disabling services after one execution.

Jenna Makin · Nov 14, 2019 go to post

Install on local workstation and create a connection that points to the cloud server

Jenna Makin · Nov 14, 2019 go to post

If  you want to q global search and replace you can use the %RCHANGE utility from a terminal session.

Jenna Makin · Nov 12, 2019 go to post

I'm going to allow someone more familiar with Docker answer this.   It's clearly a permissions issue biut is it a issue inside or outside the container?   I don't know

Jenna Makin · Nov 12, 2019 go to post

What user is IRIS running a

Do a ps -ef and make sure the user listed for all of the Iris processes has write permissions to the directory.

Do you have anyone that has worked with ISC technology before or Linux?   If not I would suggest perhaps getting someone with a little experience here.

Jenna Makin · Nov 12, 2019 go to post

This is a permission issue.   The ^ZUSET routine needs to be able to write to the database and cant because it was mounted read-only because of the IRIS.lck issue.   There is a permission issue at the linux level on the directory where your database is stored.   Need to make sure it's set properly so that the user which IRIS runs under has write permissions to the directory.
Then you can unmount and remount the database and it should solve your problem.

Jenna Makin · Nov 11, 2019 go to post

You could do one of a couple things.

1.Export all the ROUTINES to a file using %RO and then use a linux tool or something else to make the global replace

or

2.Simply use the %RCHANGE utility at the IRIS command prompt to do the global routine change.   I certainly would recommend verifying each change.

Jenna Makin · Nov 8, 2019 go to post

Now you need to create a Namespace that uses your RPMS database for routines and globals.

Refer to the doc link I sent earlier on Creating Namespaces.