Article Gevorg Arutiunian · Oct 18, 2018 1m read

This code snippet uses %ZEN.Auxiliary.jsonSQLProvider. The namespace and string of SQL can be edited for different situations. The class method "test" runs the code:


Class eduardlebedyuk.passQuestionParams
{
	classmethod test(pValue = 50) {
		s ns = $Namespace
	    zn "samples"
	    s tSQL = "SELECT ID, Name FROM Sample.Person WHERE Id > ?"
	    s tPR = ##class(%ZEN.Auxiliary.jsonSQLProvider).%New()
	    s tPR.sql = tSQL
	    s tPR.%Format = "tw"
	    s tPR.maxRows = 100
    s tParam = ##class(%ZEN.Auxiliary.parameter).%New()
    s tParam.value = pValue
    d tPR.parameters.SetAt(tParam,1)
  
    d tPR.%DrawJSON() 
    //d ##class(%ZEN.Auxiliary.jsonSQLProvider).%WriteJSONFromSQL(,,,,,tPR)  //same thing
    zn ns
}

}

(Originally posted to Intersystems CODE by @Eduard Lebedyuk, 5/13/15)

Here's a link to the code on GitHub

0
0 350
Question Peter Kopp · Oct 17, 2018

I have a ZEN page with nine tablepanes. Each tablepane queries a table in the same SQLServer db. I have a single SQLGateWay(odbc) to this SQLServer db. I need to get better performance when I query all nine table at the same time. Would my performance improve if I had nine SQLGateWays(nine odbc configurations/connections), one for each query? I would appreciate any and all suggestions for getting the very best performance when using SQLGateWays. Thank you.

1
0 372
Question David Foard · Oct 17, 2018

I have created a view to stage some data in a different format and then want to reference that view in a SQL query from a table that filters the data from the view using a property of the table. 

Example:

select
   MsgId,
   FileName,
   (select
      ReportName
     from
      custom_view
     where
       MsgId = ReportId
    ) as ReportName
from
   main_table

Is this even possible? When I try this, I get an error table not found for the view?

David

1
0 339
Question William Proctor · Sep 27, 2016

All responses are appreciated.  I am new to both scripting and CACHE so please bear with me.  I am setting up a nightly backup script for freezing cache then backing it up and then thawing it back out.  Currently when I enter the freeze command I am getting a response of access denied even though my id has %all access.  I've tried passing the userid/password as a parameter in the externalfreeze command and passing it from a file.  I've used my id and lastly I used the _system id in the file.  What ID should I use for this or am I passing it wrong?

sample 1:  ..\bin\cache -s.

17
0 1264
Question Oliver Wilms · Oct 15, 2018

Hello, our Team is trying to develop Ensemble DTL to transform incoming X12 files into persistent data records.We created a persistent class and we can insert data using SQL.We tried to verify that %Save() gets called by adding %AddToSaveSet() method to persistent class and there writing to a global.We had to extend our persistent class with Ens.VDoc.Interface class or we could not see %Save() being called from Ensemble DTL.We suspect that %Save() gets some kind of error.We tried to debug by overwriting Transform() method in our DTL class.

3
0 945
Question Danillo Aquino · Oct 15, 2018

I would like to know how to choose the "Development" installation type in silent mode.

When performing a normal installation:

Please review the installation options:
------------------------------------------------------------------
Instance name: CACHE
Destination directory: /cache
Cache version to install: 2015.2.1.705.0.17420
Installation type: Development

When I perform a silent install:

Please review the installation options:
------------------------------------------------------------------
Instance name: CACHE
Destination directory: /cache
Cache version to install: 2015.2.1.705.0.17420
Installation

3
0 594
Question Bill Asby · May 20, 2016

Hi,

I ran the Cache ODBC Driver installer as Administrator on my Windows 7 PC this morning. It completed successfully with o indication of any issues. When I check installed programs and features via Win 7 Control Panel, I see it listed as Intersystems ODBC Driver 1.00.000.

However, when I try to configure the driver via Control Panel - Administrative Tools - Data Sources (ODBC), I cannot find it. The only driver listed under the Drivers Tab is SQL Server.

I am not sure how to proceed.

I appreciate any suggestions.

Thanks,

Bill

5
0 1712
Question Anne Kantola · Oct 15, 2018

In our language we have scandic letters like ä (a with two dots on it).

In Angular we use login like this:

let headers = new Headers();

password = Base64.fromBase64(password);

headers.append('Authorization', 'Basic ' + Base64.encode(username + ':' + password));

let options = new RequestOptions({ headers: headers, withCredentials: true });

return this._http.get(_param.baseUrl + this._loginUrl, options)

.map((res: Response) => {

It works, but not with these letters.

In other cases we convert data on server side like

set:tValue'="" tValue=$ZCONVERT(tValue,"I","UTF8")
 

but in this case we can't do this on

3
0 425
Question Sabarinathan M · Mar 13, 2018

Hi All,

I need some help with sending PDF files to printer using cache instead of using third party tools(Adobe, foxit reader, etc..).
Sometime i getting access issue with the exe files.

Can able to send text data to printer using below code.

Set Dev="|PRN|PrinterName"
OPEN Dev:(/DATATYPE="TEXT"):80
USE Dev Write "Test printing",!
CLOSE Dev


Any suggestions on sending PDF to printer?

3
0 1006
Question Vivek Ranjan · Sep 28, 2018

Method1(){

Set OID1=##class(Table).%OpenId(100)

// do Kill OID

}

&SQL(Update Table Set  Column=88)

Method2(){

Set OID2=##class(Table).%OpenId(100)

// Or do %Reload()

Set OID.Column=99

Do OID.%Save()

}

// Column 1 still holds value as 1

For getting the updated value I should do Kill OID in Method1

4
0 706
Question Anne Kantola · Mar 5, 2018

Hi, 

 
have you any working example of authentication and services in Angular 4 (2-5) and Cache 2017.1?
 
We have authentication, but we don't want CacheUsername and CachePassword to be in url (this works), but in header (we have not get this work, Problem 1).
We have REST services and they work with CacheUserName and CachePassword, but we want them work with cookie after authentication is done (we have not get this work, Problem 2).

How to code the client and what all we have to code and set on server?
 
We've tried last this (asked also WRC /Tomas, but not got the answer).
 
    private _loginUrl =
10
0 2084
Article Alexey Maslov · Nov 23, 2017 12m read

It's well-known that namespace global mapping helps us to write code independent on database storage details (Caché instance name, directory path). But sometimes we can face problems accessing an unsubscripted global which has subscript level mapping (SLM) defined. Most of such cases are evident and associated with administrative tasks that should be done on database level, but some of them can confuse even an experienced developer. Just to start:

  • We can't export such a global using Caché Block format (a.k.a. GOF).
  • We can't kill such a global.

Maybe you can continue this list.

Each of these

8
0 1497
Article Mark Bolinsky · Oct 12, 2018 31m read

Google Cloud Platform (GCP) provides a feature rich environment for Infrastructure-as-a-Service (IaaS) as a cloud offering fully capable of supporting all of InterSystems products including the latest InterSystems IRIS Data Platform. Care must be taken, as with any platform or deployment model, to ensure all aspects of an environment are considered such as performance, availability, operations, and management procedures.  Specifics of each of those areas will be covered in this article.

0
3 4700
InterSystems Official RB Omo · Oct 12, 2018

October 12, 2018 – Advisory: VMWare vSphere and Data Integrity

Clients running vSphere 5.5 or later should review a very important article that VMware published on October 9, 2018.  The article describes the possibility of file system and database corruption, which can lead to outages and possible data loss.  We have confirmed that this has caused data integrity problems for InterSystems clients. Therefore, we encourage you to act on this as soon as possible.

The VMWare knowledge base article is titled:

Virtual Machines running on an SEsparse snaposhot may report guest data inconsistencies

0
0 419
Question Timothy Rea · Oct 12, 2018

Hello,

I'm wondering what the path is to learning healthshare & ensemble?   I've looked on the learning page and its minimally helpful.   I've found that as a long time mumps programmer that new jobs are requiring this.  I've just been using mumps to assist with epic emr.   Everything I'm seeing is either VistA or Healthshare.  Does someone know where do I go to learn these apps?  Seems like a catch 22.  You need to know these prior to getting a job but you can't get a job where you can learn them.    Frustrating.

4
0 680
InterSystems Official RB Omo · Oct 12, 2018

October 12, 2018 – Alert: Ordering of XML Sibling Elements

InterSystems has corrected a defect that can cause a reordering of sibling elements in an XML document. This issue is limited to sibling elements that are represented in the database as objects in a relationship.

This problem exists on all platforms for the following products:

  • InterSystems IRIS Data Platform 2018.1.0 and above
  • InterSystems IRIS for Health 2018.1.2
  • Caché and Ensemble 2017.2.0 and above
  • Health Connect/HSAP based on Caché/Ensemble 2017.2.0 and above

Note: HealthShare functionality has been reviewed and is not impacted by this

2
0 490
Question David Foard · Sep 7, 2018

Is there any out of the box capability in Ensmeble to remove an FHS segment from a batch file? We have a client that is creating a batch of HL7 messages and they insert an FHS but there is no trailing FTS.

We are hoping to avoid custom COS code to handle this scenario.

2
1 483
Question Udo Guengerich · Sep 26, 2018

Upgrade of custom application

Dear community,

we are a company located in central Germany working with Intersystems Caché since 2003 (Jesus, that's actually a long time in IT).

As we struggle to keep pace with outside development we still operate on Caché 2013.1 surprise

We are, of course, aware that we need to upgrade Caché and therefor plan an upgrade to 2017.2.

Now my question to you bold ObjectScript warriors:

  • Did anyone do this with a legacy application (still have macro routines, the old style)?
  • Has anyone experienced any bigger issues with a move like this?
  • Are there existing checklists apart
4
0 490
Question Lou Pizza · Oct 11, 2018

Hi,

I am trying to have the output of a field in sql have double quotes around them. The script is in Studio and I am accessing It through a task.

I have tried """"tect"""" and others...Please help

Aloha

Lou

4
0 1171
Question Ravi Nagpal · Oct 10, 2018

Hi, 

Can we create a new class in the studio using any command rather then using the Menu Item Option from Menu Bar in Studio . 

Requirement : Create/Draft a new class and able to extends the other classes using  a command in Cache Class .

In other words , I want to Dig in the Menu Item class from which Menu bar is created in studio and option are provided  Like New..., Open..., etc 

Thanks, 

Ravi 

1
0 307
Question Laura Cavanaugh · Oct 3, 2018

I'm running this code in our application, and in the terminal:

>set query="SELECT * FROM PMG_Data_Private.RemitInstance  WHERE  (VoucherNumber %INLIST ? SIZE ((10)))"

>set tRS = ##class(%ResultSet).%New("%DynamicQuery:SQL")

>set ok=tRS.Prepare(query)

>d $system.Status.DisplayError(ok)
 
ERROR #5540: SQLCODE: -76 Message: Cardinality mismatch between the SELECT-list and INTO-list
SQLTEXT: SELECT * FROM PMG_Data_Private.RemitInstance  WHERE  (VoucherNumber %INLIST ? SIZE ((10)))

It's not really a problem with the query, since there's no INTO keyword int he query, and I'm not getting it on QA or a

5
0 1805
Question Mauri Kaatrasalo · Oct 10, 2018

Hi!

We would like to retry message so that it's restored to end of operation's queue. This is in situation where order of messages is not needed to be handled by Ensemble, there is version number in message data and receiving application can ignore incoming message if necessary.

We would try to send message until it's accepted (or manually suspended), but this should not block operation's queue.

We have already this in actions:

D - Disable the Operation, log an error and restore the message to the front of the Operation's queue.

Would be nice to have one like this:

Q - Disable the Operation, log an

1
0 1008
Question sansa stark · Oct 9, 2018

Hi all,By using LDAP cache method ##Class(%SYS.LDAP).GetValuesLen(LD,CurrentEntry,Attribute) we get the list of attributes but in "ObjectSid" attribute have the SID in binary format(objectSid^U¤:c@ãºþÕLCP]). how to convert to the readable format from the binary format in cache side. Please help us to proceed further

3
0 474
Question Tom Philippi · Aug 22, 2017

I have been building Business Processes in Ensemble for a few months and in a process i'd use a combination of data from the request that started the process and context variables that where filled by earlier calls in the process as input for a data transformation. I do not know how to achieve that.

What I do currently is that in my process I first call a data transformation and then make a call to an operation.For the data transformation I use as input the request that started the business process and as output the request that I will use to initiate the call to the operation.

6
0 1626