In Cache 2018, we were using a macro in a query that looked like this:

select $$GetExtraSQL^GetExtra('B',bddtl.odnumb,bddtl.odsnum,bddtl.oddsc1) as "Description", * from sqluser.bddtl

We could save that query as a view, and there was no problem with it.

In IRIS, if we put that query into SQL in the management portal, it still works, but if we save that query as a view, when we try to run a query on that view, we get a big error message:

0 1
0 249

I found the thread that discusses object mapping, in particular mapping a common global among more than one namespace. The example that is given is a simple one when it's ^global(sub1, ^global(sub2, etc. However I'm having trouble getting this to compile/work when the global has a fixed subscript amongst variable ones.

I have this global in namespaces LAB and ARK in the following format:

^CB(1,sub1)=....

^CB(1,sub2)=...

^CB(1,sub3)=...

Here is what I have for this. In it's current state it throws tons of errors:

0 4
0 230

Hi All,

Is there any cache command which can give who all has compiled a classes from the day it has been created. Specifically I want the 2 information username and time of compilation of class.

I tried with $$DATE^%R("TEST.1.INT"), but it only gives the last compilation time.

Thanks in advance !!

0 3
0 229

Hi.

We are going to have basic patient demographic data coming in to Cache via a webservice. I thought that I should define the input as XML something like the FHIR format (with UK extensions).

In the past we've input XML streams and used the %XML.Reader to convert them to matching classes successfully, so I thought it would be easy. However, I've found that the FHIR format stores everything in attributes like:

0 5
0 227
Question
· Feb 1, 2023
NEED NUMBER ROWS IN SQL SELECT

Hi guys,

I'm trying find a way to create a row with the number of each row.

For example:

In the SQL above, i want a way to create a collum with the number of corresponding row, in this case:

1

2

3

In SQl SERVER i can use FOR, RANK or ROM_NUMBER to do this, but, i can't find a way to do the same in cache SQL.

Can someone help me?

Thank you.

0 3
0 224

Dear experts,
Please, could you help me?

Im trying import a global:

ACB> K ^GlobalManualSend
ACB> D $System.OBJ.Load("C:\Users\BNAPC\GlobalManualSend.xml")
ACB> Set sc = ##class(%Studio.Project).InstallFromGbl("^GlobalManualSend","fv")

But is returning a error about version:

Please, could you help me about it?

Thank you.

0 5
0 224

Hi all,

We are doing a SQL server upgrade to SQL server v.15 from a legacy server which had v.10 . I have our Cache server as a linked server int order to pull data from our system. When building out the ROWSPEC, I have my fields typed as %String with various lengths with one field having a max length of 15000. The SQL server is trying to interpret this as a text data type instead of varchar(n). Text is a depracated data type since SQL server 2008. The error below is produced when trying to query from this view

0 1
0 221
Question
· Sep 20, 2022
Linux and links

If I create a link does root use it? (it’s in profile.d dir)

I'm trying to use a shortcut for a filepath as such: anyone have any thoughts?

PROCAUTO = /JRNDSK/ProcAuto_share

yet in the application it isn't recognizing it.

Here’s the scenario. (link is in place) that my manager thinks maybe an issue.

0 4
0 220

Hi I am trying to run a debugger in VS Code. I have the settings.json file and the launch.json file. I am trying to debug code using the attach to a process method, however when I run the debugger I get the following error.

Launch.json code

{

// Use IntelliSense to learn about possible attributes.

// Hover to view descriptions of existing attributes.

0 1
0 216

Hello,

I have a form from named otpForm from where I post data to actionCheck.csp and redirect it to another csp file cmain.csp after form post and the redirect is not working. I tried to debug and check the value in the cmain.csp but noticed that redirec t is not working.

Do you know if window.location.href = "cmain.csp"; is working with CSP?

Can someone guide me what to do here please

Thank you

Here is what I did:

//post and redirect form data

0 1
0 214

We have a machine that serves 4 instances of Cache on VMS systems, one of them is password protected and works fine as they all do. we decided we wanted something beefier and copied it to a server, well all but the one you have to login to works so 3 of the 4 do. and the odd part is I can no longer get to the management page from anywhere on any machine, http://localhost/csp/bin/Systems/Module.cxw I get a 404.8 error, I have tried adjusting security and same thing. and a server availability error.

0 4
0 212

In trying to define a Class Parameter that I can use in SQLComputeCode I can't seem to get any of the syntaxes for the using of the parameter where the SQL compute code will actually evaluate the parameter values. There is nothing specific that I can find in the docs about SQLCompute Code and Parameter usage.

Is there some specific syntax for accessing a class defined parameter in the SQL Compute Code that works?

This is on: IRIS for Windows (x86-64) 2022.1.1 (Build 374U) Tue Oct 18 2022 17:37:34 EDT

0 4
0 208

I have a module that sends EMAIL from a Cache INT routine (listed below).

In order to make sure the columns align in the body of the message that the recipient receives I want to force the setting of the FONT and SIZE in the body.

Does anyone know what I need to insert in this code in order to control font and size?

Alternatively is there a way to send mail from within Cache that will keep column data aligned?

Thanks.

________________________________________________________

s server=##class(%Net.SMTP).%New()

0 2
0 208

I am trying to execute a program from within cache using a $zf call

S X=$ZF(-1,"C:\""Program Files (x86)""\Car-Part\Messaging\iCPM.exe")

For the sake of this post I changed it to open notepad

S X=$ZF(-1,"C:\Windows\notepad.exe")

If I call it directly from terminal notepad opens and all is happy.

If I add it to a program we use to run certain tasks once an hour or even every 10 minutes it will fire off notepad but it will be in the background.

1 2
1 207
Question
· Jul 13, 2023
$zu(96,9) Not working

Suppose you have routine ^A loaded in your partition in programmer mode and you call routine ^B. Routine ^B finds the value of $ZU(96,9) which should be the calling routine.

But $ZU(96,9) now returns null, as does $SYSTEM.Process.CallingRoutine()

Works on 2018.1.7 but not 2018.1.8

$ROLES= %All on both systems

More precisely I have line label ZZPP in ^%ZLANGC00 which needs to identify the original routine in the partition and do some work on it. When I type ZZPP I get nothing on the later version. Here's the line of code:

1 4
0 206

I'm dealing with a situation that leaves in doubt what I understand about CACHE.WIJ (C:\Roche\CobasInfinity\HealthShare\mgr)..
Journal files store records already written to the base.. and CACHE.WIJ records not yet written to the base..
theoretically, the data contained in CACHE.WIJ is temporary... until the record is written to the base (consequently generating journal).

0 4
0 203

Hello Developers.

I have a question regarding X12 834 file for Payers.

We have a client thats sending X12 834 file with single ST SE block and has thousands of members in one single block and X12 process is throwing STORE error when processing this file.

Has anyone ran into this issue and has a way of splitting 834 file into single <ST> <SE> block?

Thank you in advance

Sheetal

0 2
0 197

Hi,

I have created two CSP pages. One is the Login page and the other page show the patient details from the database.

I want to set the session dynamically just after the successful login and after login it will be redirected to the Patient Details page. If session timeout, then wants to redirect back to the login page.

Thanks in advance.

Vinay Purohit

0 1
0 195

Good morning,

First of all we would like to thank you for your time reading, thinking and aswering this question.

We have been developing a Transformation to convert a source ORU_R01 to a target ORU_R01. For each OBX segment we need to check an if, and then, if it is true we just need to put this OBX and continue to the next iteration, otherwise, if it is false, we need to put (copy) the ORC + OBR + TQ1 before this OBX, and then put this OBX, and after that, the SPM.

0 4
0 190
Question
· Jan 19, 2023
CSP Page error

First of all thank you for your time in reading this question and writing a response,

We would need some help, I have created a csp page, but the first time I access it, it gives me this error:

5918 You are logged out, and can no longer perform that action

When I refresh the page, it works ... Why?

Thank you in advance!

0 3
0 190

I have a question about how to modify a XData Block programmatically . Assume i have a impl.cls and there is a XData Block (like XData OpenAPI [ MimeType = application/json ]) in the impl.cls. In other class, can i write a fucntion to modify the context in the XData Block?

Ps: The document already show how to read the XData blcok, if i want to insert something into the block and save it back, how can i do this programmatically (eg write a method and read the block from other class, write something into the block and save it ) ??

Thanks

0 3
0 188

Hi,

in our system we usually display an information if someone locks data that another user tries to edit. Like: "Data locked by <user>/<program>"

We have a global that is set at userlogin with following information:

^BA020(0,3,$job) = "<user>;<program>"

We show that information by getting the jobnr/owner from the locktable ^$LOCK("<ref>","OWNER") and looking at ^BA020.

0 1
1 188

s ftp=##class(%Net.FtpSession).%New()

s ok=ftp.Connect(server,user,password,port)
s ftp.Timeout = 100

i ok {

s ok=ftp.SetDirectory(directory)
i ok {
n files,file

s ok=ftp.NameList(directory,.files)
i ok {
f i=1:1:files.Count() {
s file=files.GetAt(i)
i (ftp.SetDirectory(file)) {
d ftp.SetToParentDirectory()
continue
}
s fname=$p(file,"/",$l(file,"/"))

1 1
1 185
How to translate below code from C to COS?

void encode_value (unsigned char value, unsigned char *tx)

{

tx [1] = ((value & 0xf0) >> 4) + 0x20;

tx [0] = (value & 0x0f) + 0x20;

}

unsigned char decode_value (unsigned char *rx)

{ unsigned char temp_value = 0; temp_value = (rx [1] - 0x20) << 4;

return (temp_value + rx [0] - 0x20);

}

0 2
0 185