Question Yakov Berger · Mar 1, 2020

Hi,

I created a BS with a SQL Inbound Adapter.

Query = "SELECT rowid, fname ,lname,datesent  
                   FROM labs
                   WHERE datesent IS NOT  NULL"

DeleteQuery = " update labs set datesent  =  Getdate() where rowid = ?"

KeyFieldName = "rowid"

i am getting the following errors.

"NOT assuming network disconnect error based on: Gateway failed: DropStatement."

"Skipping previously errored row '235'"

"Assuming network disconnect error based on: SQLState: (HY000) NativeError: [0] Message: [Microsoft][SQL Server Native Client 11.0]Connection is busy with results for anoth

1
0 386
Question Ali Chaib · Feb 28, 2020

Do you have any clue how to create a list of messages in studio ?

Example :

I can define one message that is called DoctorInfoMsg such as 

set DoctorInfoMsg= ##class(PKGNotification.InDoctorInfo).%New()

Where PKGNotification.InDoctorInfo is composed of 

Property UserName As %String;

Property ListOfPatients As list Of %String;

How to define a list of PKGNotification.InDoctorInfo messages ?

How to get UserName of the first message?

6
0 297
Article Peter Steiwer · Mar 2, 2020 2m read

This error is sometimes seen while viewing a listing in InterSystems IRIS Business Intelligence:
ERROR #5540: SQLCODE: -99 Message: User <USERNAME> is not privileged for the operation (4)  

As the error suggests, this is due to a permission error. To figure out which permissions are missing/needed, we can take a look at the SQL query that is generated. We will use a query from SAMPLES as an example.

SELECT TOP 1000 %ID, DateOfSale, Outlet->City, %EXTERNAL(Channel) AS Channel, Product->Name AS Product, UnitsSold, AmountOfSale AS Revenue, (Discount * 100) || '%' AS Discount, Comment FROM HoleFo

0
0 1279
Question Michel Liberado · Mar 1, 2020

Hi,

I have a production with a BS calling a BP calling another BP and so on and finally a BO. All calls are made using SendRequestSync.

The initial request is passed by value. The response is passed by ref and I allocate memory for it in the BO, hoping that it will go back to the initial caller in the BS, but it does not.

It looks like the following:

// In BS, do not allocate response, call BP1
Set tSC = SendRequestSync(request, .response)
// In BP1, call BP2. Now I don't know if .response is a reference to a reference
Set tSC = SendRequestSync(request, .response)
// In BP2, call BP3. Now I do

3
0 433
Announcement Anastasia Dyubaylo · Jan 13, 2020

Dear Community,

 We're pleased to invite you to the InterSystems Benelux Symposium 2020, which will take place from February 11th to 12th in Antwerp, Belgium!

At the Symposium, both InterSystems experts and external thought leaders will discuss what it takes to make your IT innovation work. You're more than welcome to join us in the Radisson Blu Astrid Hotel in Antwerp.

 

Fastest Path to Possible - With Digital Innovation

5
0 635
Question Ilmija Asani · Feb 18, 2020

Hello,

we are trying to figure out if there's a way to create a SOAP Envelope by using SOAP classes.

Right now we use a string to define the envelope element.

The string looks like :

<soap:Envelope xmlns:soap='http://www.w3.org/2003/05/soap-envelope' xmlns='urn:oasis:names:tc:SAML:2.0:assertion'>
    <soap:Header>
        <add:Action xmlns:add='http://www.w3.org/2005/08/addressing'>urn:rve:AuthenticateAndGetAsserti…;
        <add:MessageID xmlns:add='http://www.w3.org/2005/08/addressing'>urn:uuid:_MessageID_</add:Message…;
        <add:To xmlns:add='http://www.w3.org/2005/
2
0 885
Announcement alex kosinets · Feb 8, 2020

Ladies and gentlemen, good news for our town.

It finally happened  - M was put in the cell.

And feels great there. Maybe it not a prison but an Excel cell.

Being there, he leads the whole M-gang. As well as conditional formatting in EXCEL.

Close integration of excel with the database provides a new convenient design tool.

Interactive reports, input forms, diagrams are generated only by m-commands in cells, without classical programming.

More detailed on https://github.com/mx-alex/MX

We will monitor the development of the situation and answer your questions.

best wishes

Alex

19
1 1670
Article alex kosinets · Feb 29, 2020 4m read

There is a special Query for reporting, it takes one cell of Excel. Example :

?$$omQuery 113^oPeat | Country   Country:Province   Date   Product:Date   Date:Product:-zr   | tn EURO | zrzr| | if Date'<%XD81,Date'>%XD82 |  set zrzr=zr,EURO=summa

The omQuery sets the structure and content of the required documents as well as filters and data processing procedures.

In one request, up to 9 reports are created, with subtotals by group. (5 here , 3 with:subtotals )

All issued documents retain the interactivity property - any manipulations with cells are displayed in excel and in virtual m-excel s

0
0 266
Question Stefan Rieger · Feb 23, 2020

trying import ClassDefinition File via <IRISClient.Ado.IRIS> result with error: 

InterSystems.Data.IRISClient.IRISException (0x80004005): Exception thrown on server (code = 1242) : <REMOTE EXECUTE INVALID WRITE>Load+19^%apiOBJ

running: IRIS for Windows (x86-64) 2020.1 (Build 197U) Thu Jan 23 2020 09:56:09 EST

am i missing something?

        public void LoadClass()
        {
            
            // import/ update <Installer.Package> to %SYS NameSpace
            using (var c = new IRISConnection("SERVER=127.0.0.1;PORT=51773;NAMESPACE=%SYS;USER ID=_system;PASSWORD=SYS;"))
            {
   

5
0 594
Article Robbie Luman · Feb 28, 2020 3m read

Our company is in the process of converting our software for use in Intersystems IRIS and one of the major sections of the software makes use of a custom statically-linked C library using the $ZF("function-name") functionality. During this, I found out that the process for setting up the C library to be used within the database platform has changed significantly between Cache and IRIS.

If you have used or still use the C Callout Gateway with Cache, then you will know that in order for Cache to be made aware of any functions provided in a custom C library to be used with $ZF("function-name"),

0
0 408
Question Larry Pinsky · Feb 28, 2020

I have a code block in a BPL.  I have the below SQL and code.  All variables have been declared and set.  When I run the SQL, if there are no values returned, I get 100 for the value of SQLCODE when I perform the FETCH, which is correct.  If values are returned, I get a -400 error when I perform the first FETCH.  I've investigated, but cannot find the reason for a -400 error.  Hoping someone out here understands this and knows what's wrong.


   &sql(DECLARE D1 CURSOR FOR SELECT A.SHIPMENTTRACKINGNO, A.SERIALNO, A.CDWACCNO, A.CDWINVOICENO, A.CDWORDERNO, A.CDWPARTNO INTO :context.ShipmentTrackin

2
0 2090
Announcement Olga Zavrazhnova · Feb 28, 2020

Hi Community,

As you know we have a Global Masters program — InterSystems Data Platform Advocacy Hub

All Global Masters members (Advocates) can achieve various levels of advocacy which depends on contributions on Developer Community and activity in Global Masters. Every new level opens new types of challenges (tasks) and new types of rewards.

Recently we introduced a new level of advocacy with the name "Ambassador".  Ambassadors and VIPs will have unique privileges and opportunities. 

0
0 222
Announcement Anastasia Dyubaylo · Feb 14, 2020

Dear Community,

In advance of the upcoming release of InterSystems IRIS 2020.1 and InterSystems IRIS for Health 2020.1, we're pleased to invite you to the “Office Hours: InterSystems IRIS 2020.1 Preview” webinars. These Q&A sessions will provide a forum for you to ask questions and learn about the latest product features in the upcoming releases. 

The webinar will feature members of InterSystems product management team who will answer questions and provide additional information about the new features and enhancements. 

We will be hosting two sessions on Thursday, February 20, 2020. Reserve your spot by clicking one of the buttons below for the appropriate time slot.

➡️ 8AM (EST) WEBINAR

➡️ 1PM (EST) WEBINAR

2
1 501
Announcement Derek Robinson · Feb 26, 2020

In Episode 4 of Data Points, we welcome @Benjamin De Boe to the pod to discuss some of the things you can do to optimize your SQL queries in InterSystems IRIS. We've all heard — either from ourselves or from others — the "this runs too slowly" complaint. I thought Benjamin did a great job walking through many of the things within IRIS you can look at with your queries to see what can be improved.

0
0 266
Question Paul Dawson · Feb 24, 2020

Hello, 

I have a class I'm working on that is extending a base class that contains the %GetComponentByID method and a section of the new code I'm writing uses %GetComponentByID but when I attempt to compile the class I'm getting an error that says the method doesn't exist. 

Am I missing something to be able to include the GetComponent method in an extended class? 

7
0 300
Question Akshat Vora · Jan 23, 2020
   try{
        ....
        ....
        ....

        Set tSC = method_invocation()

        If $$$ISERR(tSC) {
            Quit tSC
        }

        ....
        ....
        ....

}

On compiling the above, I get an error saying "QUIT argument not allowed : 'tSC' ".

  • When I replace Quit tSC with Return tSC, it compiles
  • On replacing Quit tSC with Quit $$$OK, I get the error: QUIT argument not allowed : '1'
  • On replacing Quit tSC with Quit, it compiles
  • A 'Quit tSC' statement outside of the try-catch block does not cause a compile-time error.

The reason this happens is

9
0 1204
Question Barry Veach · Feb 16, 2020

Created a record map to read a flat-file of lab results.

Have multiple lines that represent result components for a given order per pt MRN.

Grouping these records together based upon the order number in a custom service to create a single XML message.

Within the XML message, there are some fields that occur once and some that occur one or more times.

Within the record map, the fields/properties that occur once are configured as "As %String. The fields/properties that occur more than once are configured as "As List of %String. 

To evaluate the data that occurs once within the routing rule,

8
1 820
Question Joaquin Montero · Feb 25, 2020

Hello,

I've always worked with typical web applications (a bunch of code files that sit in a server that connects to an RDS). Now our team is responsible for different IRIS for Health environments. We are currently working to set up the local dev environment and this is the current scenario:

* IRIS for Health local development server is running in a container

* Developers are using VSCode with the objectScript plugin

* GitHub as a version control system for the code and configuration.

Our goal is to be able to keep track of the entire code and configuration of the IRIS instance. From what

1
1 609
Question Yone Moreno · Feb 14, 2020

Hello,

We need to convert this structure, where we observe empty component separators "^":

MSH|^~\&|sistemaExterno|anonymized^anonymized|anonymized|anonymized|anonymized||RSP^K22^RSP_K21|anonymized|P|2.5^&^&|1||AL|AL||ASCII
MSA|AA||AA
QAK||OK
QPD|Q22^^Find Candidates||anonymized
PID|1|anonymized^1^^^^^^^^|35018^^^anonymized^PI^^^^^~anonymized^1^^TISR^HC^^^^^~292213^2^^12^JHN^^^^^~6339140^^^MPI^CIP^^^^^~""^^^MI^PPN^^^^^~""^^^MI^NNESP^^^^^|292213^^^^^^^^^|ApellidoUno35018^Nombre35018^^^^^^^&^&^^&^&|ApellidoDos35018^^^^^^^^&^&^^&^&|19541111000000|M|||""&AVDA EL PUENTE 64PLB4B&""^""^380374^38^38700^


4
0 1004
Question Amnon Magen · Feb 25, 2020

Hi

I'm trying to create a form on a csp page, with input elements binding to data using the cspbind attribute.

All is working fine when i use string literal as in

cspbind="UserName"

But trying  to set the attribute to runtime expression  doesn't work for me, i.e:

cspbind= #(..EscapeHTML(query1.GetData(col)))#

 The same rt expression produce the desired string when used in other elements, i.e:

<p> #(..EscapeHTML(query1.GetData(col)))# </p>  

-> will produce 'UserName' on page.
 

Are there any known limitations for this attribute?   

I'm using version:

Cache for Windows 
3
0 420
Article Peter Steiwer · Feb 25, 2020 1m read

Preview Mode was added to InterSystems IRIS Business Intelligence to give designers a quick view of what their resulting Pivot Table will look like without needing to wait for the results to fully execute. This can be beneficial when designing pivot tables because if you are dragging and dropping elements to see how they look/work in your pivot table and seeing if they have the desired data. Since you are exploring and designing, you don't necessarily care about the results at the moment, but you would still like to see how your table looks with the changes you have made.

0
0 438
Question Akshat Vora · Feb 22, 2020

I need to convert an array with an unknown number of indices to a JSON string for transmission (which is why it isn't possible to iterate through it using $ORDER). Does ObjectScript provide functionality to convert an array to a JSON string?

Edit 1: As Joel mentioned, the array is subscripted and has an arbitrary structure like:

a(1)="a"
a(3,4)="b"
a(3,6)="c"
a(5,6,7)="d"

which needs to be converted to

{"1":"a", "3":{"4":"b","6":"c"}, "5":{"6":{"7":"d"}}}

I had considered using a combination of $Query (to traverse the array) and $Order (to retrieve property names) but was wondering

6
0 1892