How can one delete a line in a stream? I do not see anything resembling a stream.DeleteLine method.
InterSystems Caché is a multi-model DBMS and application server. See more details here.
InterSystems Caché is a multi-model DBMS and application server. See more details here.
How can one delete a line in a stream? I do not see anything resembling a stream.DeleteLine method.
As we've all heard 2016.2 draws near and brings the removal of system methods with it.
There are two ways to make the code compatible with 2016.2:
How to run cache programs(studio) from the command prompt?
Say you have a global in one database that you instead want to map from a different database. If you just create a global mapping to the new database, the existing global will become inaccessible because it still lives on the old database. The documentation notes this problem here but doesn't give details on how to fix it.
When you create the global mapping you need to explicitly move the existing global to the new database. This is possible using the merge command along with extended global reference.
Hi,
I am wondering if there is a way I can change the GUID of an instance. The use case is that I am restoring from a backup on an alternate host and start the instance there. However, the restored instance ends up with same GUID as that of source. Is there a way I can tell this newly restored instance to use a different GUID?
Thanks,
Raghu
Hi I'm hoping the community will once more help me out with a question!
Right I have a production that takes an attachment from an email and processes it, sending out a hl7 message at the end. This works ok.
Now I just need to take the email and send it back out to a 'backup' email address, basically giving
a) A backup incase there is a problem with the email or something else further down the line.
b) A log of the emails receieved.
So I thought the best thing to do is have an operation with an email adapter and to send that my message.
That gave me some code that's basically like this.
I wanted to run the cache programming from the windows command line promt and also with linux commands. Please let me know the procedure.
Hi Everybody,
I'm trying to restore database to a 2016.2.2.853 caché version but i've some problems ...
Into my backup file, i've 6 namespaces. After use the Do ^DBREST and configure all namespace into the portal, I can only reach 2 of 6.
when I write zn "blabla" into the terminal, i've got this error message :
ZN "blabla"
^
<DIRECTORY> *r:\data\blabla
Of course, Database and namespace are correctly define.
I've try this on a previous version of caché (2015.2.2.811) and it's working fine.
So, do you already got this kind of issue with your caché server ?
Tanks a lot for your help!
Sam
The last version of Caché, Ensemble released for VSI OpenVMS is 2017.1. Unlike HP OpenVMS (Alpha and Itanium), VSI OpenVMS on Itanium continues to be supported. This means that critical corrections or changes required to support customer’s hardware purchases will all be based on 2017.1 or earlier versions.
Related announcement: https://community.intersystems.com/post/platform-compatibility-hp-open-…
Hi ,
We are trying to import file using %installer . But we are getting error.
CODE:
Include %occInclude Class User.InsClass { // You can see generated method in zsetup+1^App.Installer.1 XData Install [ XMLNamespace = INSTALLER ] {
Prompted by this post about accessing a global at its original location after you have changed a mapping, here's a tip about one specific dropdown in Portal that's sometimes useful.
I heed to his a callback method after all REST call. I have already found a method to call before REST call, but after eludes me. Here's the code:
Class Test.REST Extends %CSP.REST
{
XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>
<Route Url="/:classname" Method="GET" Call="TEST" Cors="true"/>
</Routes>
}
/// This method Gets called prior to dispatch of the request. Put any common code here
/// that you want to be executed for EVERY request. If pContinue is set to 0, the
/// request will NOT be dispatched according to the UrlMap.Hello all,
When I call a WSDL in php, look this code :
// Standard SOAP header for username/password
// From http://stackoverflow.com/questions/13465168/php-namespaces-in-soapheader-child-nodes
class WSSESecurityHeader extends SoapHeader {
public function __construct($username, $password)
{
$wsseNamespace = 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-sece….
We finished our last lesson with our Widgets Direct page iterating over a list of widgets, displaying an ID and a Name value. While we have been able to achieve this with only a small amount of coding, the page itself is not the most visually appealing place to be. The AngularJS framework is providing a powerful Model-View-Controller framework for our structure and logic, but it does not implement anything that will provide a nice UI experience. For that we need to implement a UI toolkit.
hi
I want to find the journal records that indicate the insert/update/delete operation for my table. I can read the journal file but there is so many records and I want to know is there some method or property which can judge one journal record for insert/update/delete operation for my table?
thanks
Has anyone created Delegated Authentication using the Windows Certificate Store? Thank you for any feedback.
We are building a bunch of rest based services using Ens 2016.2 to serve our browser based application (Angular 4).
Two questions:
1. The initial authentication seems only work if credentials are placed in the url parameters. Trying to use the Authorization header instead, the client code immediately complains about Access-Control-Allow-
2. After initial authentication, what is the proper way to send subsequent rest calls without having to include credential every time?
I have Parameter UseSession As Integer = 1 in my service class, but what else do I need to do?
If your application is raising <PROTECT> errors and you're finding it hard to work out why, here's a way to get additional information.
First, if auditing is not already enabled, turn it on:

Then use "Configure System Events" (highlighted above) and locate the event named %System/%Security/Protect. In the screenshot below I used the Filter field to do this (type "protect" - highlighted below - and press TAB):

Notice that the Enabled column shows a value "No". By default <PROTECT> errors are not logged in the audit.
when the "/apps/docmatic/%CSP.SysConnection.cls" gets hit. If some page hit the above (%CSP.SysConnection) it consume license or not?
WebSockets look to be supported reasonably well in Cache. I have yet to use them in production so I am wondering how well it has worked for other developers.
In particular what happens when the browser does not support WebSockets, or when a firewall blocks the connection.
Have you had to write your own long polling fall-back?
I've read the documentation and found this interesting article...
https://community.intersystems.com/post/asynchronous-websockets-quick-tutorial
but no mention of long polling fall-backs that I can see.
Having tinkered around with sockjs and
I am using a %Stream.FileCharacter object and LinkToFile API to write to a file on a folder. The file is written line by line . Something like below:-
Set tStream = ##class(%Stream.FileCharacter).%New()
Set tStatus =tStream.LinkToFile("MyFileName")
For i=1:1:X { Set result = ..process(i) Do tSream.WriteLine(result) }
An external process then picks up the file at a designated time.
hi
I backup one database and restore it to antoher new Caché server with ^DBREST, but I cannot view this db in the portal, why?
If I need some more operation?
I am working in Cache Objectscript where I need to process around 0.2 million data.
I am executing SQL query through "%Library.ResultSet"
Code Example:
Set tsRSet=##class(%Library.ResultSet).%New("<query name>")
Set status = tsRSet.Execute(<param 1>,<param2>)
While tsRSet.Next()
{
Business Logic
}
Is there any limitation of the above code when the number of records the query is fetching is high.
If the query returns 0.5 million to 1 million record will my code work properly or it may break due to high volume of data.
I have 4 GB RAM and 2 GB global buffer in my production system.
At the end of our last lesson, we ended with our page displaying a nice (but garish) Angular Material Toolbar, and our Widget data displaying in a list of Material cards. Our page feels a bit static, and we already know that the large number of Widgets that we will be dealing with will not be especially usable on a static list. What can we do to help?
A filtering function would be very helpful, so let's add a text input to the top of the page. We will bind this to a variable in the $scope - widgetFilterText so that Angular has access to the value we type in.
Hi,
We have a application developed in CSP and JS. Is there any way to make this application available in multiple language like Spanish etc.
We are ready to re-write the code in Zen also if it supports that feature.
Could any one of you please assist/advice a Solution to reach the required goal using Cache technologies, it will be a great help if someone has any sample code for the same.
Thanks
Paras
I wonder if you could help me? I have a regular cache class that accepts a variable number of arguments in one of the methods. It works fine so I decided to add a method to my web service to make the call to the cache class. I get a compile error on the web service with error#5130.
Here is the cache class
class method GenerateFileFromSQL(file As %String, sql As %String, delimiter As %String = "", args...) As %Status
and here is the web service code that calls it:
ClassMethod GenerateFileFromSQL(file As %String, sql As %String, delimiter As %String = "",
Hi All -
I was wondering if the below query could be enhanced to automatically look back 24 hours from the current datetime the query is run. As is now I, of course, have to update the date range in the WHERE clause manually.
The query is just getting all MessageBodyClassNames, counting them and then doing an AVG on TimeCreated and TimeProcessed. Nothing too complex.
SELECT MessageBodyClassName, count(ID) as Count_Of_Messages, avg(datediff(ss, TimeCreated, TimeProcessed)) as avg_processing_time_in_seconds
FROM %PARALLEL Ens.
Awhile back we had someone write some code to Log messages like we did in eGate but with Ensemble.
ClassMethod LogIt(pComponent As %String, pMsgIn As %String)
{
set vDIR="/ensemble/"_^OSUWMCInstance_"/logs/"
set fs=##class(%Stream.FileCharacter).%New()
set fs.Filename=vDIR_pComponent_".log"
do fs.MoveToEnd()
set vTM=$PIECE($ZDATETIME($HOROLOG)," ",2)
//$ZTIME($PIECE($H,",",2),1)
do fs.WriteLine(vTM_" : "_pMsgIn)
do fs.%Save()
set fs = "" // Close file
}
We found that the IO on this was slowing messages down, and those Operations that had high volume of message would fall behind.
Hi All,
I use SQL function JSON_OBJECT to get data as a JSON object.
However, sometimes I get error with function JSON_OBJECT when values contain [, ], { or }.
Error:
[SQLCODE: <-400>:<Fatal error occurred>]
Unexpected error occurred in JSON_OBJECT() function execution of <JSON_OBJECT>.%FromJSON().Parsing error
For example,
Query: SELECT JSON_OBJECT('idSQL':id, 'content':content) FROM DocBook.