#Beginner

6 Followers · 518 Posts

Beginner tag unites articles and questions for those who are getting started with InterSystems Data Platform

Question tom whalen · Sep 7, 2018

Ive been asked to investigate Intersystems Cache' for a new software initiative and was hoping to be able to download a limited-use or dev license to kick the tires but I need it for a couple of specific OS builds.  AIX and Linux (CENTOS).  I don't see a place to download specific versions, other than Windows, various builds of Unix and that's about it.  Can someone give me some guidance on how to make sure I'm downloading the right item to build some test instances with?  

thank you in advance :)

tom

3
0 364
Question Eduard Lebedyuk · Aug 28, 2018

Let's say I have a list structure:

set list = $lb("stri,ng", $c(0), 2)

I want to replace all $c(0) elements with empty elements, so my list would look like:

set list = $lb("stri,ng", , 2)

What's the fastest way to do that?

13
0 722
Question Eduard Lebedyuk · Aug 29, 2018

I have a list

set list=$lb(1,$c(0),2)

How do I replace $c(0) with an empty element?

My list should look like this:

set list=$lb(1,,2)

I tried using $list but it either replaces the element with an empty string:

set $list(list,2)=""
zw list

Resulting in:

Or removes the element altogether:

Resulting in:

2
0 477
Question Stefan Cronje · Aug 4, 2018

Hey folks,

I am new to IRIS and cloud platforms. I've done the InterSystems IRIS Experience on the learning site and read a lot of the online documentation. What I am unable to figure out is which type of package or option you will use on the cloud provider.

AWS for example, has AWS EC2, Elastic Beanstalk and some other products geared towards Docker containers.
Azure has Kubernetes and some other options.

Is IRIS and Docker deployed using the "Docker" products of the cloud providers, or should one get VM's on which CentOS is installed and Docker on top of that?

5
0 732
Question Virginia Rogers · Jul 24, 2018

I have a web application and one of the CSP pages contains the following snippets:

<script language='javascript'>
function SubmitForm(pid,sid) {
//code to process form

alert ("study saved");

self.document.location="newpage.csp";

}

<form name="Studyform"  method="post" onsubmit='return SubmitForm(#(SubjObj.%Id())#,#(StudyObj.%Id())#);' >
<!-- form contents -->

The form is correctly processed, the object is saved, and the alert appears, but the new page does not get loaded and I cannot figure out why.

Any suggestions?

5
0 569
Question Scott Underwood · Mar 31, 2017

Is there a way to graphically edit BPL processes, or do we still need to use Studio for doing that? 

Looking at the documentation, it appear there should be an Atelier BPL editor option available under Open With, but all I have is Atelier Class, HTML, INT, and MAC editors. 

There is a BPL editor in the list, but it throws a "Bad editor input" error when trying to open the class file. 

I'm running version 1.0.263 that was installed from the WRC distribution of 1.0.262 and then updated.  The only other plugins installed are the Eclipse XML Editors.

9
1 1338
Article Niyaz Khafizov · Jul 19, 2018 4m read

Hi all. Today we are going to use k-means algorithm on the Iris Dataset.

Note: I have done the following on Ubuntu 18.04, Apache Zeppelin 0.8.0, python 3.6.5.

Introduction

K-Means is one of the simplest unsupervised learning algorithms that solves the clustering problem. It groups all the objects in such a way that objects in the same group (group is a cluster) are more similar (in some sense) to each other than to those in other groups. For example, assume you have an image with a red ball on the green grass. K-Means will split all pixels into two clusters.

0
3 9863
Question Jasenko Donlagic · Jul 3, 2018

Hi everyone,

I am still learning the platform for a student project and have to do some streaming and data analysis next. Since for my case I have no "live api" I wanted to just stream json files and output the data as it comes in from the files. (basically to emulate a incoming data scenario)

So thanks to the documentation and community posts I have figured how to create a stream and read data from a JSON but since I'm also new to JSON I have some parsing problems. I don't know how to access subarrays/sub-objects via objectscript.

2
1 2968
Question Ewan Whyte · Jun 29, 2018

I'm trying to add an Operation to store DICOM files but each time I add a Operation using the class EnsLib.DICOM.Operation.TCP it reverts into Services and I cannot work out why this is happening. I've tried following the guide online (link at the bottom) but the Operation still reverts to a Service.

Any pointers would be appreciated,

Thank you.

https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KE…

1
0 398
Question Thembelani Mlalazi · Jun 22, 2018

I have a service that takes a file and pass it through to the production .While I am passing the file through I get the file stream and set it to a variable within my message and the variable is of type %Ens.StreamContainer. But after all processing and I need to write out my file to a pdf format The file gets written but is a corrupt file since I can not read it I have tried this with asimple pass through everything is fine .But here I do not know what I am doing wrong here is the operation code

 set pInput=pRequest.FileStream
     ;the variable to hold the status for the method
 #dim status as %Status=$$$OK
 ;clear the pResponse
  kill pResponse
     set pResponse=$$$NULLOREF
 ;set the file name to the sequence number
  set ..Filename=pRequest.NewFileName
 
  ;the filepath set on the settings of this OPERATION
   set origDirectory = ..Adapter.FilePath
  ;the file directory to drop the file
  set ..Adapter.FilePath = ..Adapter.FilePath_"\"_..StubDirectory
  
 ;start writing out file data to the file in filename
;this bit works fine
    set:$$$ISOK(status) status= ..Adapter.PutLine(..Filename_"."_..stubExtension,
  $CHAR(34)_ pRequest.ClientID_$CHAR(34)_$CHAR(44)_$CHAR(34)_pRequest.UserId_$CHAR(34)_$CHAR(44)_$CHAR(34)_
  pRequest.DocumentType _$CHAR(34)_$CHAR(44)_$CHAR(34)_pRequest.Title_$CHAR(34)_$CHAR(44)_$CHAR(34)_pRequest.Description_$CHAR(34)_$CHAR(44)_$CHAR(34)_pRequest.Author _$CHAR(34)_$CHAR(44)_$CHAR(34)_pRequest.DocumentDate_$CHAR(34)_$CHAR(44)_$CHAR(34)_pRequest.FinalRevision_$CHAR(34))
 
 if ($$$ISOK(status))
 {
  ;set back to the operation settings
  set ..Adapter.FilePath = origDirectory
    ;set the file name  to write out to
  set ..Filename=pRequest.NewFileName_"."_..DocExtension
  ;set the filepath on the production settings to this variable
  set origDirectory = ..Adapter.FilePath
  ;set the new filepath
  set ..Adapter.FilePath = ..Adapter.FilePath_"\"_..DocumentDirectory
     
 
  //here I turn to write out but file is corrupt
  
   Quit:'$IsObject(pInput.Stream) $$$ERROR($$$EnsErrGeneral,"No Stream contained in StreamContainer Request")
 Set tFilename=..Adapter.CreateTimestamp(##class(%File).GetFilename(pInput.OriginalFilename),..Filename)
 Set status=..Adapter.PutStream(..Filename, pInput.Stream)
 Do pInput.%Save() ; re-save in case PutStream() optimization changed the Stream filename
 
 
 
 
   set ..Adapter.FilePath = origDirectory
  
   if ($$$ISOK(status))
 {
  set pResponse=##class(BSMHFT.DocumentUpload.GenericRESP).%New()
  set pResponse.Process="RiOFileOPRN_files Written to their respective directories"
  set pResponse.Status=status
  set status=pResponse.%Save()
 }
  
 }
 
 return status
}
11
0 1014
Question Eduard Lebedyuk · Jun 25, 2018

I have this local, containing a list of books of arbitrary length:

set books=2
set books(1, "author") = "Alice"
set books(1, "title") = "Hello"
set books(1, "pages") = "123"
set books(2, "author") = "Bob"
set books(2, "title") = "World"
set books(2, "pages") = "456"

And I want to generate this PDF (there could be more than two tables), each book is a separate table:

The header is always the same (Author, Title, Page) but the number of tables would be different.

ZEN reports sounds relevant, but I'm not sure how to pass data from local there and how to draw a separate table for each result.

3
0 988
Question Confused Developer · Aug 3, 2017

Hi,

While accessing Trakcare in IE 11 i am getting error:

The Trakcare Layout Editor is not functioning.Please check your browser security setting for scripts and ActiveX controls.You must have ensemble installed locally to use this application.

2
0 1527
Question Pilar Guerrero · Jun 18, 2018

Hello,

I need to access the value of a setting I created (ex: name_BO) within the logic of my BP.

Property name_BO As %String(MAXLEN = "");

/// Additional Settings 
Parameter SETTINGS = "name_BO:Basic:selector?context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId}";

But the class is common and the production item names will change.

Example -> Class name: My.BP.Common

Items in the production:

Item 1:

  • name: My.BP.AA
  • use the class My.BP.Common
  • value of setting name_BO : My.BO.AA


Item 2:

  • name: My.BP.BB 
  • use the class My.BP.Common
  • value of setting name_BO : My.BO.BB

Where My.

1
1 609
Question Eduard Lebedyuk · May 22, 2018

The code I'm researching loosely follows this flow:

  1. My first callback
  2. Black box
  3. My second callback

I can modify 1 and 3 no problem but modifying 2 is difficult.

However I think that step 2 has some optimization problems, namely:

  • instantiates lots of objects
  • throws/catches lots of exceptions (not logged)

Is there a way to count these two metrics?

3
0 330
Question Minsu Kim · May 9, 2018

Hello Global masters.

I am junior developer about Intersystems cache in South Korea.

I want to develop process management program on server.

My code :

TESTPID(IP)    ;
    #include %syPidtab
    Set Rset = ##class(%ResultSet).%New("%SYS.ProcessQuery:ListPids")
    d Rset.Execute()
    &sql(SELECT ClientIPAddress, Pid INTO :ClientIPAddress, :Pid
    FROM %SYS.ProcessQuery 
    WHERE ClientIPAddress = :IP)
    While Rset.Next() 
    {
​    i SQLCODE'=0 w !,"SQL Error "_SQLCODE continue ; 100 means process does not exist (halted)
    I Rset.GetData(1) = Pid D
    . w !,Rset.GetData(1)," ",ClientIPAddress," ",Pid
            //Set rs=$SYSTEM.Process.Terminate(Pid)
            //If rs'=1 {
            //    Write "Terminate Fialure "_" Pid "_Pid,!
            //}
            //Else {
            //    W "Sucess",!
        //    }
    //    }
    }
    d Rset.Close()
    Q
5
0 429