go to post Ashok Kumar · Nov 6 Hello @Enrico Parisi I just a generated text by executing this set data="" for i=1:1:400 set data=data_"a"_i and it's 1492 characters long and it's not other JPEG or other file formats. But this text is not compressed. However, If I use random text/place holder text more than 1500 characters and that text was compressed automatically.
go to post Ashok Kumar · Sep 19 You're right. I just add as a sample. There is no direct end of month option to execute. Just select monthly and 1 to 31 dates or 1st to 5th week option. If really go with schedule option then follow your below code
go to post Ashok Kumar · Sep 19 Hello Warren, You can use "Schedule Specifications" in production to schedule running your business host. First select your business host(service) and go to additional setting and check "Schedule" option click the magnifier. It opens the "Schedule Spec Editor" and create your schedule ex: "monthend_9to930" and click add action. Then select START and STOP action this action is basically "action:YYYY-MM-DDThh:mm:ss" . Refer the below sample and documentation START *-*-31T09:00:00 STOP *-*-31T09:30:00 Note: this is suitable only for 31 days of month
go to post Ashok Kumar · Sep 16 Hello John, I guess it may changed to method modify can you check that!
go to post Ashok Kumar · Sep 13 anyway when I keep my native python scripts under "IRISinstalldirectory\mgr\python" and import my code as module and it's working because it's running inside the IRIS not using the python "driver" ClassMethod CallPyscripts() { set ap = "mypyap" set pyImport = ##class(%SYS.Python).Import(ap) set builtin = $SYSTEM.Python.Builtins() do builtin.help(pyImport) write pyImport.irisversion,! write pyImport."Execute_Classmethod1"() } #__init__.py import iris from .irisembdpyth2024 import * irisversion = iris.execute('return $zv') # irisembdpyth2024.py file import iris def Execute_Classmethod1(): print(iris.cls('MyLearn.EmbeddedPython').test1())
go to post Ashok Kumar · Sep 13 Hello @Guillaume Rongier Thanks for the feedback! I go over your pretty useful article. I just write python code inside the ObjectScript itself by using language mode because of it's small code snippets. I actually facing some issues while writing IRIS in native python script. From my pervious community question. First I install this intersystems_irispython-3.2.0-py3-none-any.whl in python and there is no cls, execute, routine, gref, ref or other IRIS script functions available. As you recommend from the post. I install the official driver https://github.com/intersystems-community/intersystems-irispython/releases/download/3.8.0/intersystems_iris-3.8.0-py3-none-any.whl file and I could use the IRIS functions for embedded python cls, execute, routine, gref, ref etc... However, I got this ImportError: DLL load failed while importing pythonint: The specified module could not be found." error while executing the .py scripterror while executing my script script is nothing but simple class method invocation. import iris def Execute_Classmethod(): print(iris.cls('MyLearn.EmbeddedPython').test1()) Execute_Classmethod()
go to post Ashok Kumar · Sep 3 Hello @José Pereira I believe so. As per documentation this feature is not supported for some operating system.
go to post Ashok Kumar · Sep 2 Hello @Evgeny Shvarov I'm trying implement the embedded python syntax in native python.
go to post Ashok Kumar · Aug 30 Thanks!. Definitely, However if I intstall https://github.com/intersystems-community/intersystems-irispython package I got some errors while ( seems some packages are overwritten) in my machine. So, I will try the both Another option is to use the iris wrapper : https://pypi.org/project/iris-embedded-python-wrapper/
go to post Ashok Kumar · Aug 30 Hello @Guillaume Rongier You Bet! I use web server port instead of super server port Thanks for pointing!
go to post Ashok Kumar · Aug 29 And I'm trying to execute these lines from post and git in to my .py source file. This functions are not available in iris library package.So, Is this code snippet is only applicable for embedded python. Please correct me If I'm doing wrong If the below syntax works in python source file, What changed I need to do in my package. # switch namespace to the %SYS namespace iris.system.Process.SetNamespace("%SYS") # set credentials to not expire iris.cls('Security.Users').UnExpireUserPasswords("*") print(iris.cls('dc.python.ObjectScript').Test()) Thanks!
go to post Ashok Kumar · Aug 28 Hello @Raj Singh Certainly. There is no issue in the python installation in my different machine (windows). I'm using my IRIS local instance to connect in both. No major difference except the port number and I'm using the super server port number in both cases.
go to post Ashok Kumar · Aug 28 Thanks @Luis Angel Pérez Ramos It works. I downloaded and installed in python. However I got timeout error while trying to connect the IRIS in one machine and it works in another machine. IDK pyodbc is required anyway it is also installed. import iris # Open a connection to the server args = {'hostname':'127.0.0.1', 'port':52773, 'namespace':'USER', 'username':'_SYSTEM', 'password':'SYS' } try: conn = iris.connect(**args) # Create an iris object irispy = iris.createIRIS(conn) except Exception as e: # Handling the exception and printing the error print(f"An error occurred: {e}") error mesage conn = iris.connect(**args) ^^^^^^^^^^^^^^^^^^^^ File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_IRISNative.py", line 167, in connect connection._connect(hostname, port, namespace, username, password, timeout, sharedmemory, logfile, sslcontext, autoCommit, isolationLevel, featureOptions) File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_IRISConnection.py", line 282, in _connect raise e File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_IRISConnection.py", line 190, in _connect self._in_message._read_message_sql(sequence_number) File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_InStream.py", line 46, in _read_message_sql is_for_gateway = self.__read_message_internal(expected_message_id, expected_statement_id, type) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_InStream.py", line 59, in __read_message_internal self.__read_buffer(header.buffer, 0, iris._MessageHeader._MessageHeader.HEADER_SIZE) File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_InStream.py", line 133, in __read_buffer data = self._device.recv(length) ^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\HP\AppData\Local\Programs\Python\Python312\Lib\site-packages\iris\_Device.py", line 40, in recv return self._socket.recv(len) ^^^^^^^^^^^^^^^^^^^^^^ TimeoutError: timed out Thanks!
go to post Ashok Kumar · Aug 5 Hello @Tommy Heyding Thank you for pointing ToList in %SYS.Python It works for $LIST only not for the dynamicarray. Yes I believe the same convert the dynamic array to $LIST and send to the python. I grab the sample from doc set clist = $lb(123, 456.789, "hello world") set plist = ##class(%SYS.Python).ToList(clist)
go to post Ashok Kumar · Jul 29 You can use BPL or Businessrules to utilize your DTL in Business process
go to post Ashok Kumar · Jul 29 Hello, Have you tried use the record map persistent class directly in the DTL as a source class and use SDA class as Target class. I use Allergy SDA for sample. DTL sample Record mapping
go to post Ashok Kumar · Jul 24 You can able to export/Import the web apps to various ways. One of the way is Export method in Security.Application class write ##Class(Security.Applications).Export(,1)
go to post Ashok Kumar · Jul 21 Thanks Robert, The validateIndices() and absolutely It's useful. For the first point. As far of my understanding both existing/newly created index both are set as "not selectable" at the time of building BUILD Index/%BuildIndices(). As per the documentation about the live system "not selectable" by default in BUILD INDEX. So, Does it applicable for programmatic %BuildIndices() as well?