This is a series of programming challenges for beginners and experienced Caché programmers.

For an introduction : go to article https://community.intersystems.com/post/advent-code-2016-day1-no-time-ta...

The challenge today is about some basic cryptography : you will have to generate data for a one-time pad (OTP) (see https://en.wikipedia.org/wiki/One-time_pad for more info).

0 0
0 455
Question
· Nov 27, 2017
"Contains" operation for bitstring

aa=$zwc(411,1,1,3)/*$bit(1,3,5)*/
bb=$zwc(403,1,0,2)/*$bit(1,3)*/

Is there a handy function to test wether one bit string is covered by another one bitstring? For example, "bb" is covered by "aa".

I currently implement this by one AND operation and then do a bitcount, I just want to know any default function is already out there.

Thanks.

0 3
0 395

I'm looking for a way to get the message header ID for the current message in a Request to a Business Process.

I've located some code that gives me what I need, but it runs the risk of violating the "abstraction layer" ISC has in place around such things. And while I very much appreciate their efforts at keeping things simple for me ... well, sometimes you just have to dig through the guts to get what you want.

Is there a documented, deprecation-resistant method for getting at %Ensemble("%Process").%PrimaryRequestHeader.%Id() from within a BP?

0 6
0 1.1K

Hi All,

Just wondering if anyone had got this working.

In the documentation it says to set the username and password properties of the connection object but these properties don't exist and without authentication I can't connect to the MQ queue.

Any help would be greatly appreciated,

Dave Moss

0 4
0 379
Question
· Sep 6, 2018
list Of %String problem

I am trying to initialize a list of %string property to an empty list, and after add eleements.

d ##class(Test.Test).Test("hello") ; works perfectly
d ##class(Test.Test).Test("") ; does not work, the list stays empty

How can I do that. Thank you so much

0 1
0 601

Today in docs I found this example using NULL:

 WRITE $LISTVALID($LB(NULL)),!

simplified

zzdump $LB(NULL)

and NULL can be case-insensitive:

zzdump $LB(null)

seems the same as just:

zzdump $LB()

But if null variable is defined then list would contain value from variable. Case sensitive in that situation.

Does anyone have any Idea what is this? Is NULL used anywhere besides as a list element?

0 5
0 386

Hi guys!

As you know there are two (at least) ways to get the stored value of the property of InterSystems IRIS class if you know the ID of an instance (or a record).

1. Get it by as a property of an instance with "Object access":

ClassMethod GetPropertyForID(stId As %Integer) As %String

{

set obj=..%OpenId(stId)

return obj.StringData

}

2. Get it as a value of a column of the record with "SQL access":

0 18
0 1.2K

Hello,

I am working on Ensemble 2017.2.1 .
I need to export my security settings into an extern database, in order to make a report.

I've created a Business Operation with an SQL Adapter into a Namespace, but I don't know how to get every security data from "%SYS" Namespace ( SQLPrivileges , Resources , Roles , Services , Users ... ).

I dont't want to use the terminal and the ^SECURITY routine, because i don't want to store a XML file on the server.

0 2
0 359

Hey Developers,

New "Coding Talk" video was specially recorded by @Evgeny Shvarov for the IRIS Programming Contest:

How to Create and Submit an Application for InterSystems IRIS Online Programming Contest 2020

https://www.youtube.com/embed/qyUT195Pic0
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 6
0 331
Question
· Mar 26, 2020
Merge two lists?

Hello,

We are developing a method to take two messages which have a list of data types. It is being defined as:

Class Mensajes.Response.HistoriaClinica.ConsultaCitasResponse Extends Ens.Response [ ProcedureBlock ]
{

0 1
0 691

I have java language experence. If I need parse a binary tcp packet . like following format

encoded string and send it to peer by tcp

1byte msg type + 4 byte(unsigned int) + raw byte(body)

To parse this package , Some Java code like this:

byte[] data = new byte[1024];

Bytebuf buf = new ByteBuf(data)

byte type = buf.read()

int len = buf.ReadInt()

0 1
0 368
Question
· Dec 4, 2020
SQL Query returns x00

Hey Intersystems Community-Member,

Following Issue: When I update a SQL table like (update OnlineV3Admin.ParameterApp set popuptext = '' where ID = '1') and then read it for my Json WebService there is a /"x00" in my Json.

What is the best option to disable that? I need here a empty String and not /x00.

Any ideas?

Best regards,

Florian Hansmann

0 1
0 301
Question
· May 14, 2021
Luhn Mod N in Cache?

Hi all

I'm trying to recreate this method below in Cache/IRIS.

https://en.wikipedia.org/wiki/Luhn_mod_N_algorithm ISO-7812-1 (LUHN-10)

I've been following the javascript example. It seems simple in theory but i'm struggling with which cache methods to pick.

$LENGTH, $System.SQL.FLOOR() - seem ok

$EXTRACT - I think for .charAt (though may need to correct base)

$FIND - for .indexOf

Any suggestion which would be the best ones for the job?

0 5
0 259

Hi!

Does anyone have a cleaner approach than this for looping through grouped NTE segments in order to set the segment ID in an ORM? I am aiming to avoid the NTE segments that may follow the PID segment and find the NTE's that follow the OBR segment. By using the below If statement in the While loop, I'm finding NTE's that have comments in the fourth field (PID NTE's tend not to have these in the messaging I'm seeing, I'm awaiting confirmation on this), as well as finding my newly inserted NTE segment using $FIND to locate the colon (I've concatenated some values).

0 3
0 514

Hello,

I'm experiencing a recurrent problem that I haven't found the way to solve, so I'm coming here with the hope somebody can give me a new approach.

To make it short: we are creating categories on-demand to be able to place the maximum numbers of workers in memory, avoiding the limits established by system categories. But from time to time, one of this creation fails and system is no able to start the queue. The error we are getting is:

0 1
0 296