Hi Community!

Sometimes I meet a method which accepts 10+ parameters.

And often I need only the 8th parameter to pass. And I call the method something like:

do ##class(Some.Feature).Method(,,,,,,,"flag")

And I don't like this method when I call it like this cause, you know, often I just miss the number of commas and raise some other flag I wanted.

How do you avoid this situations?

If you meet such a code, how do you call it and sure that you didn't miss the number of ","?

What is a good number of parameters in a method and f you need to pass more parameters in a method what do you do?

3 27
1 1.7K
Question
· Aug 27, 2019
Tools to find a class

Good morning,
I'm working with a persistent data class and need to know which classes are evoquing it.
Is there a tool in the system to do it, similar to use the F12 key to follow a class?

0 2
0 239

I am trying out Atelier. I have installed it and managed to get it to connect to a cache instance to test it. I have created a local project and I am trying to copy the server files to it using the "Copy to Project" item on the popup menus. I can copy both classes and routines to the project without issue, but when I try to copy the CSP files, I get the following message:

com.intersystems.atelier.utils.CheckedExceptionWrapper: Input length = 1

0 3
0 259
Question
· Feb 28, 2016
Mocking tools for Unit Testing

Hello everyone!

Does anyone know of a library that can be used to create Mock objects for Objectscript classes?

Right now, my team has been building mock objects by hand to help circumvent dependencies when writing and executing unit tests, but I always wondered if someone had ever created a Mock library like Mockito to help quicken the process.

Thanks!

3 4
0 1.1K
Question
· Oct 2, 2018
Terminal Access Denied

HI,

I have been using evaluation version of Cache 2017.2, it was working fine and I was using Cache studio, SMP & Cache Terminal/console till yesterday.

Today, cache was in shutdown status, then I restarted. But, Cache terminal is not working and showing as Access Denied while otherthings like studio and SMP is working as expected. I checked all security level services on SMP, all are fine and enabled.

Can anyone help me to diagnose the problem and make it working.

Thanks.

0 9
0 2K

EDIT: This article has been updated with up-to-date information about the Port project, which now includes a tutorial for basic usage.

The Port project is something that I've introduced more than two years ago but I hadn't enough room to elaborate a tutorial on how to use it till now.


First, the motivation:

5 5
2 719

The .NET Core Identity model has an IPasswordHasher<> interface for for

  • Hashing a password so that it can be stored in a database
  • Verifying a provided plain-text password matches a previously stored hash.

I am getting invalid password errors during the login process when the .NET Core Identity model computes a hash from a plain text input and compares it to a password hash value I've returned from Caché. The default hashing algorithm is PBKDF2 with HMAC-SHA256, 128-bit salt, 256-bit subkey, and 10,000 iterations (detailed article on .NET Core Identity PasswordHasher). The algorithm Caché uses is probably different which may be why I am getting errors.

0 6
1 2.8K

Our team is reworking an application to use REST services that use the same database as our current ZEN application. One of the new REST endpoints uses a query that ran very slowly when first implemented. After some analysis, we found that an index on one of the fields in the table greatly improved performance (a query that took 35 seconds was now taking a fraction of a second).

3 4
0 487
Question
· Aug 15, 2019
Error on Trakcare Report

Hi,

I am trying to create a new report on Trakcare. I created a class file and corresponding crystal report . It works fine and data is populating when I try to run on crystal environment. But when I make a setup on Trakcare and click on print option, I am getting an error on print history " VB error in tkCrystalJob] Error number[-2147417848] Method '~' of object '~' failed [at line 421]". If I click on print preview option its going to empty browser. Inorder to setup new report, already made set up on report manager and menu manager.

0 1
0 510

I'm a DBA and support Caché databases on AIX. I coded shell scripts for monitoring journaling status, databases size, license end date.

We recently got a new instance of Caché on Windows. I'm just curious to know whether anyone coded database monitoring scripts on Windows using PowerShell or any other scripting language.

If yes, please share the details.

Thanks & Regards,

Bharath Nunepalli.

0 3
0 523
Question
· Aug 14, 2019
upload file to FTP

Hi

I am trying to upload a file to a ftp site using following code.
Problem is file is getting upload but there is no data. Can you plz advise where I am getting lost.
Also my files are with big data, 2+ GB, as far as know this ftp upload will not effect on my cache.dat size. Plz correct if my understanding is not correct.

0 3
0 628

Hi Developers!

InterSystems IRIS stores everything in globals and if we use ObjectScript classes to persist data class documents globals it uses in storage. But if you use globals for calculations, temporary storages, for special indexes or for some other purposes - how do you document it?

Possible options which come to my mind:

1. Macro

#define Array ^MyGlobal

usage:

s $$$Array(1)=1

2. Class parameter

Parameter Array ="^MyGlobal";

Usage:

0 3
0 359

Object Synchronization is a feature that has been around for a while, since Caché days, but I wanted to explore a bit more how it works. I've always thought that database automatic synchronization is complex by nature but, for some particular scenarios shouldn't be so hard. So I considered a very simple use case (OK, perhaps the typical one, I'm not discovering anything... but if it's common and it works, it's good wink ).

6 1
2 499

Hi,

Is there any way to set environment variables in Linux from Cache?

I see a way to get an environment variable with: $system.Util.GetEnviron()

Essentially I am converting from VMS (DCL) to Linux.

In VMS we used $ZF(-1,"SETSYM") in Cache to a value and then interpreted that value in a DCL procedure.

0 2
0 863
Article
· Jul 18, 2017 2m read
Old/New Dynamic SQL Cheat Sheet

The newer dynamic SQL classes (%SQL.Statement and %StatementResult) perform better than %ResultSet, but I did not adopt them for some time because I had learned how to use %ResultSet. Finally, I made a cheat sheet, which I find useful when writing new code or rewriting old code. I thought other people might find it useful.

First, here is a somewhat more verbose adaptation of my cheat sheet:

8 35
4 2.4K
Question
· Aug 15, 2019
List property

I have a list property that I query from the database to get the values contained in that list using $LISTFROMSTRING() when the list is returned the list values contain a rectangle like character similar to when you copy past something to the Terminal and it has a preceding space .The problem is I need to compare those values to other values and they do not match because of this value I have tried to use $EXTRACT(value,*W) and *P but this is not striping the preceding character how do I get rid of this character any ideas please.

0 3
0 594
Question
· Jul 24, 2019
Using Relationships

In Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2018.1.2 (Build 309U) Mon Mar 4 2019 15:07:46 EST

I have a master record that has a relationship to a table with multiple transactions, and the transaction table has a relationship to another transaction table with multiple other transactions.

IE Item to Physcal to Physical Report

Item Master:

0 5
0 455
Question
· Aug 12, 2019
write #

Hi

Is there any way to control what control sequence is sent to a device when a "write #" is executed?

I have an application that establishes a banner at the top of the terminal window and when we do a "write #" the banner disappears. I need to be able to recreate the banner line as part of the screen clear.

Thanks

Jenna

0 3
0 383