Robert Cemper · Feb 18, 2021 go to post

What I asked for:

In your Method written in Objectscript, after 
&sql(update X_X.X  set LocalEnvironment=1 where %ConfigName IN('X_X_X''Y_Y_Y'))

Variable SQLCODE holds a success / failure code.  That's what I asked for.
see this example: 
https://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=GSQL_esql#GSQL_esql_syntax_ampsql
or 
https://docs.intersystems.com/iris20201/csp/docbook/Doc.View.cls?KEY=GSQL_esql#GSQL_esql_code_literals
and
https://docs.intersystems.com/iris20201/csp/docbook/DocBook.UI.Page.cls?KEY=RERR_sql#RERR_C136606

Robert Cemper · Feb 18, 2021 go to post

You may stick with '/' and run $TRANSLATE(record,"/","~")
just before writing the record to your file.DAT

Robert Cemper · Feb 18, 2021 go to post

did you try ! or  ? instead of ~ 
since ~ might be a reserved default separator to HL7

Robert Cemper · Feb 18, 2021 go to post

What does SQLCODE tell you after your embedded SQL query?
What is your real $ZV ?

Robert Cemper · Feb 8, 2021 go to post

I was searching this but looked for ManagerDirectory  instead of InstallDirectory

Robert Cemper · Feb 8, 2021 go to post

write $replace(##class(%File).ManagerDirectory(),"mgr","lib")

independent of OS!

Robert Cemper · Feb 8, 2021 go to post

All %R* routines are hidden in IRIS for good reasons.
And they just survived for backward compatibility not for common use.
And they use ZS ZI, ...  and $Compile() function. ... and a bunch of $ZU(..)  
Manipulating routines from Terminal is not covered. VScode or Studio is expected and supported 

Robert Cemper · Feb 8, 2021 go to post

If you edit .INT routines from the terminal in the old MUMPS style using
             ZLOAD, ZSAVE, edit by  X ^%
you operate at a lower level than Studio, VScode, Atelier,... 
and deeper than any Source Control Hooks. 
Neither belt nor suspenders are available anymore.

It's like heart surgery: Either you fix it or your patient is gone.  

Robert Cemper · Feb 5, 2021 go to post

the second line of the error msg tells you that SQLserver raised error 102

This error occurs when Adaptive Server detects a syntax error in a Transact-SQL® command or query. This error can occur when: A keyword is misspelled. ... You used a variable for a database name and your query contains a parser errorerror 102 is raised because the batch was never executed.
from:
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00729.1500/html/errMessageAdvRes/CHDGFCCJ.htm
suggestion: Check the SQL-name of the generated class samples.people

Robert Cemper · Feb 5, 2021 go to post

Developing in the production environment is "high-risk extra class".
This doesn't exclude to do development on the production SERVER (e.g by lack of HW)
The most simple option is to have 3 namespaces in parallel. PRODUCTION (aka WORK), TEST, DEVELOPMENT.
A better variant is to have a 2nd instance on the same SERVER machine for  TEST & DEVELOPMENT.
Git doesn't care which Instance you use.
ZMP is not availaible in Caché.
Docker is theoretically possible but quite an effort as you need to build your own image especially for a WIN environment and get the appropriate license for it.

Robert Cemper · Feb 3, 2021 go to post

set diff=3600   ; time in sec
set new=$zdth($zdt($h,-2)-diff,-2) ; new $h - 1 hour
Robert Cemper · Feb 2, 2021 go to post

Thank you for the link.
My urgency has changed meanwhile and I don't have access to the data source anymore. 
Nevertheless, the problem is a general one.

Robert Cemper · Feb 2, 2021 go to post

Line 1: 

<?xml version="1.0" encoding="UTF-8"?>

Check all <?   tags if they only contain ASCII characters  (no UTF yet)
Offset 106  indicates that it is rather at the end of line.
Could be some windows newline <CR><LF> instead of  Linux/Unix newline <LF> or similar

Robert Cemper · Feb 1, 2021 go to post
  • I run apt-get during development
  • I edit various files
  • and I WANT TO HAVE FULL CONTROL over my environment at any level
  • and I hate any limiting in MY code

So, what's wrong with that? 

Robert Cemper · Feb 1, 2021 go to post

irisowner just has no root access 

So i usually extend my Dockerfile this way:

ARG IMAGE=containers.intersystems.com/.......
FROM $IMAGE
USER root   
RUN echo "root:iris-2101" | chpasswd


and then with su root  I get all rights I need. 
doesn't help to limit CPUs

Robert Cemper · Feb 1, 2021 go to post

Good Old VMware Player would allow selecting processors, memory, access rights, ..
Docker is definitely no replacement to it. Just a hack.

Robert Cemper · Feb 1, 2021 go to post

You can't run a SQL statement from the console prompt.
You need to start the SQL shell first:

SAMPLES>do $system.SQL.Shell()
SQL Command Line Shell
----------------------------------------------------
 
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]SAMPLES>SELECT . . . . your statement
Robert Cemper · Jan 29, 2021 go to post

Sorry,
I probably don't understand what you try to achieve.
To my understanding ZPM is targeted to IRIS and its applications and
NOT to the underlying operating system.
- Though I admit that a lot of "hacking" into the OS is possible from IRIS. 
With the broad range of operating systems supported by IRIS, 
I rate this as a rather questionable approach, that I wouldn't support. 
 

Robert Cemper · Jan 27, 2021 go to post
##class(Ens.Util.Time).ConvertDateTime($e(source.{ORCgrp(1).RXA:DateTimeStartofAdministratio}_"000000",1,14),"%Y%m%d%H%M%S","%d/%m/%Y",,.tSC)

should save your problem. then default time is 00:00:00

Or without any time

##class(Ens.Util.Time).ConvertDateTime($e(source.{ORCgrp(1).RXA:DateTimeStartofAdministratio},1,8),"%Y%m%d","%d/%m/%Y",,.tSC)