Hi,

You need use Persistent class.
https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic....

Community article.
https://community.intersystems.com/post/art-mapping-globals-classes-1-3

Like this.(Display ^Hban global on Dbeaver what used SQL.)

Class Gbl.Hban Extends %Persistent [ SqlRowIdPrivate, StorageStrategy = MyGlobalStorage ]
{

/// Index
Index KeyIndex On (year, key) [ IdKey, Unique ];

/// first key
Property year As %Integer [ Required, SqlColumnNumber = 2 ];

/// second key
Property key As %String [ Required, SqlColumnNumber = 3 ];

/// third key
Property data As %String;

Storage MyGlobalStorage
{
<Description>
<![CDATA[]]></Description>
<SQLMap name="GblMap">
<Data name="data">
<Delimiter>"^"</Delimiter>
<Piece>1</Piece>
</Data>
<Global>^Hban</Global>
<RowIdSpec name="1">
<Expression>{L1}</Expression>
<Field>year</Field>
</RowIdSpec>
<RowIdSpec name="2">
<Expression>{L2}</Expression>
<Field>key</Field>
</RowIdSpec>
<Subscript name="1">
<Expression>{year}</Expression>
</Subscript>
<Subscript name="2">
<Expression>{key}</Expression>
</Subscript>
<Type>data</Type>
</SQLMap>
<StreamLocation>^Gbl.TestS</StreamLocation>
<Type>%Storage.SQL</Type>
}

}

Hi.

I implement CI/CD pipeline of IRIS in AWS without container!
I use CodeCommit what is git service and CodeDeploy what is deploy service.

When source code(cls files) was pushed to CodeCommit, CodeDeploy executes to pull source files from CodeCommit, and deploy to application server.
Application server is installed IRIS, and use Interoperability for monitor deploy files.

When Interoperability detects files, executes $SYSTEM.OBJ.DeletePackage(path) and $SYSTEM.OBJ.ImportDir(path, "*.cls;*.mac;*.int;*.inc;*.dfi", flag).

I think same issue as https://githubmemory.com/repo/intersystems/language-server/issues/186?pa... .

@pvdmm Thanks for the log, I think that your problem is due to a couple of missing DLLs: msvcp120.dll and msvcr120.dll

These can be installed using the Visual C++ 2013 redistributable package available from https://support.microsoft.com/en-us/topic/update-for-visual-c-2013-redistributable-package-d8ccd6a5-4e26-c290-517b-8da6cfdf4f10

This is a link to an page talking about a bugfix update but it is the latest version (5) of these tools, linked from a Microsoft page titled "The latest supported Visual C++ downloads".

Please install this and then try running VSCode again.

If this fixes your problem the Language Server team can work out the best way to fix this issue for future installations of the extension.

Hi!

I use ScrollableResultSet class in this case.
This class is enable to use Previous() method, and it's able to reset Cursor by using repeatedly.
Like this.

Set query = "YOUR SQL"
Set result = ##class(%ScrollableResultSet).%New("%DynamicQuery:SQL")
Set sts = result.Prepare(query)
If ($$$ISERR(sts)) {
    // ERROR
}

Do result.Execute()

If (result.%SQLCODE < 0) {
    // ERROR
}

// Show get column data.
While (result.%Next()) {
  Wrtie result.%GetData(1)
}

// Reset cursor index.
While (result.%Previous() > 0) {
  // Do nothing.
}

// Show get column data again.
While (result.%Next()) {
  Wrtie result.%GetData(1)
}