#Caché

30 Followers · 4.6K Posts

  

InterSystems Caché is a multi-model DBMS and application server. See more details here.

Documentation.

Question Token Ibragimov · Mar 7, 2024

Hello!

How I can send Synchronous request ?

For example when I cannot call another process until my first business process do not finish.

ClassMethodset//Dont start until first process finish
4
0 300
Article Hiroshi Sato · Mar 7, 2024 1m read

InterSystems FAQ rubric

You can use the %IndexBuilder class to perform index rebuilding using multiple processes.

Here is an example for the purpose of defining the standard index HomeStateIdx for the Home_State (state information of contact address) column of Sample.Person.

The steps are as follows:

1. Hide the index name to be added/rebuilt from the query optimizer.

>write$system

2. Add %IndexBuilder to the rightmost superclass of the class definition that defines the new index.

3. Register the index name to be rebuilt in the INDEXBUILDERFILTER

0
1 349
Question Anna Golitsyna · Mar 5, 2024

The task for a file on disk is to open it, find a keyword (unique) and then read the file line by line, starting with the line with this keyword, then find the next keyword (also unique) and read from that location etc. I would think ObjectScript classes should be able to do that, but the solution eludes me. I probably need to use FindAt to get a position, but ReadLine does not seem to have a position argument. Any advice?

6
0 494
Article Lily Taub · Mar 19, 2019 9m read

Intro

Most server-client communication on the web is based on a request and response structure. The client sends a request to the server and the server responds to this request. The WebSocket protocol provides a two-way channel of communication between a server and client, allowing servers to send messages to clients without first receiving a request. For more information on the WebSocket protocol and its implementation in InterSystems IRIS, see the links below.

7
3 6269
Article Hiroshi Sato · Feb 29, 2024 1m read

InterSystems FAQ rubric

Global mappings can be registered using the system class Config.MapGlobals.

The method to globally map ^Sample.PersonD in a database SAMPLES other than the default database from the namespace USER is as follows (example executed in a terminal).

USER>zn"%SYS"

The third argument of the Create() method of the Config.MapGlobals class is passed by reference, so specify it by appending a period (.) to the variable name.

In addition to using the Config.MapGlobals class, you can also define using the installation manifest class.

0
1 390
Question Anna Golitsyna · Feb 27, 2024

The goal is to identify programmatically all SOURCE namespaces on a server to which the routines are mapped. In the example below from the Namespaces page in Management Portal the answer would be USER. But some other namespaces on the same server could be mapped to a different namespace or even mapped to itself.

This code snippet prints all namespaces and source namespaces for their routines.
zn "%SYS"
set statement=##class(%SQL.Statement).%New()
set status=statement.%PrepareClassQuery("Config.Namespaces","List")
set resultset=statement.%Execute()
while resultset.

6
0 385
Question Lowell Buschert · Feb 25, 2024

I am sending an httpRequest from ObjectScript to a python server.   I am not receiving a response in OS
 
OS config On the client side

// Create an HTTP request object
    Set httpRequest = ##class(%Net.HttpRequest).%New()
    
    // Set the server URL
    Set httpRequest.Server = "http://127.0.0.1:8080"
    
    // Set content type to JSON
    Set httpRequest.ContentType = "application/json"

    // Clear any existing entity body"{""name"": ""Lowell Buschert"", ""dob"": ""1970-12-09"", ""address"": ""XXXXX""}"
    do httpRequest.EntityBody.Clear()
    //Set httpRequest.

5
1 317
Question Token Ibragimov · Feb 28, 2024

Hello!

How I can call my Business process - "process.ReconciliationPayments" from method. Like this.

ClassMethod getReportPavlodarEnergoSbyt()
{

s sc = $$$OK

ensBS = ##class(Ens.BusinessService).%New()

requestObj.operationDate="2024-02-28"
requestObj.provider="Provider"
requestObj.processId=$SYSTEM.Util.CreateGUID()

ensBS.SendRequestAsync("process.ReconciliationPayments",requestObj"payment")

q sc

}

7
0 402
Question Shashvati Dash · Nov 30, 2023

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,"/"))
         s ok=ftp.Retrieve(file,.data)

1
1 333
Question david clifte · Dec 2, 2016

How to remove accentuation of a word?

Ex:

Árvore = Arvore

você = voce

Então = entao

The words above are in brazilian portuguese, I need to get rid with the accentuation such that I can compare two sentences.

Thanks in advance.

5
0 1028
Article Mihoko Iijima · Feb 22, 2024 2m read

InterSystems FAQ rubric

To remove InterSystems products installed on your Windows system, use Add or Remove Programs in Control Panel (in Windows 10, select Apps from Windows Settings).

Since we will be making changes to the system, you will need to log in as a user with administrator privileges.

1) Log in to the system as an administrator.

2) From the system tray, exit the launcher of the InterSystems product instance you want to uninstall (click launcher → exit).

0
0 548
Question Scott Roth · Feb 22, 2024

Our 3M Computer Assisted Coding system goes down on a regular basis for updates, the Applications folks like us to Disable the Business Operations when this happens and start them back up when they page the on-call person. The Business Operations have to be started in a sequence to guarantee that all the ADT being sent it processed before we start sending everything else.

0
0 238
Question omer · Feb 13, 2024

I want to create a datatype that Extends from String and in its set and get it will parse the string or do whatever - my GET works, my SET doesn't.

A deeper explanation of what i am trying to do: Basically none of the usual LogicalToStorage and other functions listed in Datatype creation in the manual is helpful to me, So i wanted to write the Get and Set functions in the Datatype so when compiled each property in other class that is of that type would get its PropertySet() and PropertyGet() overridden, That way i can implement any behaviour of that datatype as i please - "behind the scenes".

7
0 425
Question Colin Brough · Feb 13, 2024

Does the GetValueAt method of an EnsLib.HL7.message object change the contents of the HL7 message?

We want to do two things, given an incoming HL7 message, in our production:

  • transform the HL7 to XML, where the class TNHS.Utils.HL7toXML provides the same methods as, for example, EnsLib.HL7.Util.FormatSimpleXMLv2:
    set""""

     

  • extract a value from a particular field in the message: 

If we sequence these as (1) generate XML, (2) extract value using GetValueAt, it works.

3
0 584
Article Hiroshi Sato · Feb 15, 2024 2m read

InterSystems FAQ rubric

The $ZF(-100) command is used in the following format.

$ZF100

The "/shell" flag is required when running OS commands.
For example, use mkdir like this:

 // mkdir C:\temp\newdir


If a command has multiple arguments, enclose them in double quotes and separate them with commas, as in the example below.

Also, use synchronous/asynchronous execution as follows.

Please see the document below for details.

How to use $ZF(-100) [IRIS]

How to use $ZF(-100)

0
3 412
InterSystems Official Fabiano Sanches · Feb 14, 2024

InterSystems announces the Maintenance Release (MR) of CachéEnsemble and Health Connect HSAP 2018.1.9. This is a maintenance release with many updates across a wide variety of areas.

Caché and Ensemble

Full product installation kits can be downloaded from the WRC Software Distribution website:

For information about the corrections in this release, refer to the Release Changes Notes. The documentation for Caché and Ensemble includes these as well as the Supported Platforms document, the Class Reference, and a full set of guides, references, tutorials, and articles.

0
0 309
Question Logan Kitchen · Jan 11, 2024

I have some databases in my cache instance that were created from an online backup file (.cbk). I would like to see the information for these databases in the Databases and SQL sections of Management Portal, but they only appear in the Classes section. I can navigate to the files in my cache instance terminal and see the CACHE.DAT files, and a check in the terminal shows that they are mounted.
This is what I see in the terminal for each database when I check to see if the databases are mounted:
%SYS>set db="/path/for/mydatabase"
%SYS>w ##class(SYS.Database).%OpenId(db).

10
0 350
Job Malcolm King · Feb 10, 2024

My name is Malcolm King and I’m an experienced IT Professional seeking full time employment.
I have 25 years of experience in the software development industry, with a wide variety of skills and knowledge. I have been involved in writing both front and back end code, along with interfacing to multiple systems, using multiple languages such as Cache Objectscript, C#, Java, Javascript and SQL.
I have experience with SOAP services and RESTful APIs as well as database design, implementation and administration.

0
0 248
Question Yone Moreno · Feb 9, 2023

Good afternoon! 👋 We would be very grateful if you are kind enough to read and respond to our request 😊.

We need given an Authentication request issued towards our OAuth 2.0 authorization server; that in case of error, the responded message is customized.

Currently if we point from POSTMAN to:
https://[IP]:[Port]/oauth2/token?grant_type=client_credentials&scope=my/scope

Username: Erroneous
Password: Erroneous

We get:
{
    "error": "server_error",
    "error_description": "ERROR #5002: Cache error: <INVALID OREF>zAuthorize+28^OAuth2.Server.Token.

2
0 309
Question Logan Kitchen · Feb 5, 2024

I am exporting data from Cache using the SQL export wizard. This is on a docker image of Cache hosted on a Linux server.
I select my database, schema, and table, make sure that all columns are being exported, check other settings, and then finish the export.
All server settings look correct and permissions are rwe on the directory. I have tried various directories, including a system level directory. I tried creating the file before I do the export in case there was an issue with creating the files, and I also made sure the created files had rwe permisisons.

0
0 213
Question Farman Ullah · Feb 4, 2024

Hello,

As Intersystems Cache for Windows comes with a custom Apache version (2.4.52) and has some security risks, so not advised to be used for Production servers/environments. I want to install the new version of Apache (2.4.58) and replace it with the built-in version of it. Is there an easy and convenient way to perform this upgrade? My target is to completely replace the built-in version and replace it with a new version so that it passes the security scan.

Here is the link to the security risk mentioned by Intersystems:

https://www.intersystems.

1
0 287