#ObjectScript

1 Seguidor · 131 Postagens

InterSystems ObjectScript é uma linguagem de script que opera com dados, usando qualquer modelo de dados da Plataforma de Dados InterSystems (Objetos, Relacionais, Chave-valor, Documentos, Globais) e, desenvolve a lógica de negócios para aplicações de servidor na Plataforma de Dados InterSystems.

Documentação.

Artigo Heloisa Paiva · Set. 8, 2024 1m read

Rubrica InterSystems FAQ

Isso pode ser conseguido usando o procedimento CSV() da classe %SQL.Util.Procedures .
Abaixo está o exemplo de uso do código. (Assumindo que o arquivo test.csv está em c:\temp.)

 Set rowtype="Name VARCHAR(50),UID VARCHAR(50), PHONE VARCHAR(50)"
 Set filename="c:\temp\test.csv"
 Set result=##class(%SQL.Statement).%ExecDirect(,"call %SQL_Util.CSV(,?,?)",.rowtype,.filename)
 Set rset =result.%NextResult()
 
 // To display all results, use do rset.%Display()
 While rset.%Next() {
     Write "Name:",rset.%GetData(1)," UID:",rset.%GetData(2)," PHONE:",rset.%GetData(3),!
0
0 70
Artigo Heloisa Paiva · Jul. 16, 2024 2m read

Olá!

Recentemente estive investigando uma situação incômoda enquanto editava classes ou rotinas ObjectScript no VSCode. O que acontecia era que, como estava escrevendo as linhas de código na minha classe (por exemplo: a adição de um novo método, mudança da assinatura de classe ou de um bloco de código) isso ocasionava uma rápida revisão da sintaxe, reformatação e compilação - e inevitavelmente (já que eu estava apenas na metade da escrita), isso gerava erros de compilação.

0
0 212
Anúncio Danusa Calixto · Jul. 15, 2024

O Visual Studio Code lança novas atualizações todo mês com novos recursos e correções de bugs, e a versão de junho de 2024 já está disponível.

A Versão 1.91 inclui: 

0
0 93
Artigo Heloisa Paiva · Jun. 17, 2024 5m read

image

Olá Comunidade

Nesse artigo, vou introduzir minha aplicação irisChatGPT construída no LangChain Framework.

Primeiramente, vamos ter uma breve visão geral desse framework.
O mundo inteiro está falando sobre o ChatGPT e como as Large Language Models (LLMs - Grandes modelos de linguagem) se tornaram tão poderosas e tem performado além das expectativas, oferecendo conversas quase humanas. Isso é só o começo de como isso pode ser aplicado em qualquer empresa e qualquer domínio!

0
0 275
Artigo Heloisa Paiva · Jun. 12, 2024 4m read

Olá a todos! 

Trabalho há muitos anos com Excel e, ultimamente, foquei no tratamento de bases de dados.

Realmente minha experiencia com Excel foi para trabalhos financeiros, não tanto analíticos de dados em si, mas em um projeto recente pude trabalhar muito com SQL e me interessei um pouco pelo tema (não sou nenhuma uma especialista, já aviso!)

Me perguntei como poderia unir vários excels em um para, por exemplo, entregá-lo à Análise de dados utilizando a tecnologia InterSystems. Juntei toda a informação em um pequeno artigo. Espero que seja útil e, é claro, estou aberta a correções.

0
0 79
Artigo Heloisa Paiva · Jun. 11, 2024 3m read

Traduzido do Concurso de Artigos da Comunidade Espanhola 

Seguindo o último concurso de programação no OEX (Open EXchange) eu tive algumas observações surpreendentes.
Havia aplicações quase exclusivas baseadas numa combinação de IA (Inteligência Artificial) com módulos Python "pré-cozidas".
Porém, indo mais a fundo, todos os exemplos usaram os mesmos fatores técnicos do IRIS.

Considerando o ponto de vista do IRIS, foi praticamente a mesma coisa seja buscando por textos, ou imagens, ou outro tipo de padrão. Acabou em métodos quase intercambiáveis.

0
0 50
Anúncio Heloisa Paiva · Maio 6, 2024

 

O Visual Studio Code lança novas atualizações todo mês com novos recursos e correção de bugs, e o lançamento de Abril 2024 já está disponível.

0
0 558
Artigo Danusa Calixto · Abr. 4, 2024 3m read

Olá, Desenvolvedores!

Suponha que você tenha uma classe persistente com dados e queira ter uma IU Angular simples para visualizar os dados e fazer operações CRUD.

Recentemente, @Alberto Fuentes descreveu como desenvolver uma IU Angular para seu aplicativo do InterSystems IRIS usando RESTForms2. 

Neste artigo, quero explicar a você como obter uma IU Angular simples para fazer operações CRUD e visualizar seus dados de classes do InterSystems IRIS automaticamente em menos de 5 minutos.

Vamos lá!

0
0 106
Artigo Heloisa Paiva · Mar. 15, 2024 6m read

Introdução

Nas próximas semanas, meus colegas de trabalho estão planejando começar a usar VSCode para programar com os produtos InterSystems. Entre as várias vantagens disso, eu gostaria de salientar a possibilidade de se conectar com outras tecnologias, como o GitHub, com facilidade. Além disso, o VSCode também oferece uma extensa loja de extensões, onde você pode achar vários recursos adicionais gratuitos que fazem a programação mais rápida e eficiente. Por último e não menos importante, para conquistar os corações de todo desenvolvedor, é Open Source.

0
0 226
Pergunta Daniela R · Mar. 11, 2024

Olá a todos!

 

Estou com o seguinte problema

Em uma rotina chamei o método da seguinte forma:

;
;
;
write !, "Informe uma palavra ou frase para verificar: "
;
read str
;
set sc = $$ValidarPalindromo^YYHORG001(str)
;
;
write !, sc
;
quit

 

Método da classe YYHORG001

 

Method ValidarPalindromo(string)
{
set textoOriginal = $zconvert(string, "l")
set textoOriginalLimpo = $translate($translate(textoOriginal, " "), ".,;:?!\'", "")
set textoInvertidoLimpo = $translate($translate($zconvert($reverse(string), "l"), " "), ".,;:?!\'", "")
;
;
if textoInvertidoLimpo = textoOriginalLimpo {
;write !, textoInvertidoLimpo,

5
0 117
Pergunta Daniela R · Mar. 7, 2024

Preciso fazer  o seguinte exercício:

"Crie uma regra/método que solicite 10 números ao usuário e no final apresente-os em tela, ordenados do menor para o maior."

Porém já li e reli a documentação, e não consigo entender como criar regra/método no Caché.

Eu crio conforme a doc, mas não executa nada quando chamo a rotina no terminal.

Alguém pode me ajudar por favor?

Tentei function, procedure e subroutine também.

7
0 105
Anúncio Danusa Calixto · Fev. 21, 2024

Recentemente, percebi que já faz muito tempo que não falo sobre os recursos mais recentes da extensão ObjectScript da InterSystems para Visual Studio Code.

Tenho o prazer de anunciar a versão 2.12.1 da extensão ObjectScript, contendo diversas melhorias que facilitam a vida do desenvolvedor. Alguns destaques são descritos abaixo, incluindo o recurso nº 1 solicitado pelo Global Summit – importação de XML!

Como sempre, encontre a lista completa de modificações no CHANGELOG, incluindo muitas correções de bugs e vulnerabilidades.

0
0 125
Artigo Danusa Calixto · Fev. 9, 2024 13m read

Talvez você não perceba isso, mas sua conta de login da InterSystems pode ser usada para acessar uma ampla variedade de serviços da InterSystems que ajudam você a aprender e usar o InterSystems IRIS e outras tecnologias da InterSystems de maneira mais eficaz.  Continue lendo para saber mais sobre como descobrir novos conhecimentos técnicos e ferramentas usando sua conta de login da InterSystems.  Além disso, após a leitura, participe da Enquete na parte inferior, para que possamos ver como este artigo foi útil para você!

O que é uma conta de login da InterSystems?

0
0 163
Artigo Danusa Calixto · jan 11, 2024 3m read

Sejam todos bem-vindos!

Neste breve artigo, quero apresentar um exemplo de uso que vários de vocês que trabalham com o IRIS como back-end para seus web applications devem ter enfrentado mais de uma vez: como enviar um arquivo do front-end para o servidor.

Em geral, a maneira mais simples que encontrei de realizar essa tarefa é transformar o arquivo do front-end para o formato Base64 e fazer uma chamada POST para o servidor anexando o Base64 obtido a uma mensagem JSON onde é indicado o nome do arquivo em um parâmetro e os dados codificados em outro.

0
0 160
Artigo Danusa Calixto · jan 10, 2024 12m read

Temos um delicioso conjunto de dados com receitas escritas por vários usuários do Reddit, porém, a maioria das informações é texto livre, como o título ou a descrição de um post. Vamos descobrir como carregar o conjunto de dados facilmente, extrair algumas características e analisá-las usando recursos do modelo de linguagem grande da OpenAI no Embedded Python e no framework Langchain.

Carregando o conjunto de dados

Primeiro de tudo, precisamos carregar o conjunto de dados ou podemos só nos conectar a ele?

0
0 116
Artigo Danusa Calixto · Dez. 6, 2023 2m read

Com certeza, você já se deparou com esta situação:

  • Há um bug em um Sistema que você não consegue reproduzir localmente
  • Você precisa executar algumas linhas na instância afetada
  • Você ganha acesso completo ao Portal de Gerenciamento de Sistemas
  • Mas não há terminal, console nem acesso com o Studio, Atelier ou VSCode
  • Como executar algumas linhas para teste ???
0
0 86
Artigo Danusa Calixto · Dez. 4, 2023 1m read

InterSystems FAQ

Ao executar comandos do sistema operacional, use $ZF(-100).

do $ZF(-100,"",program,args) // Execute the Windows command [synchronously].
do $ZF(-100,"/ASYNC",program,args) // Executes a Windows command [asynchronously].

Ao executar comandos do shell do sistema operacional, como mkdir e copy, especifique também /SHELL.

do $zf(-100,"/shell /async","mkdir","c:\temp\x")

Consulte os seguintes documentos para obter detalhes:

Sobre $ZF(-100) [IRIS]
Sobre $ZF(-100)

0
0 94
Anúncio Danusa Calixto · Nov. 29, 2023

Olá Comunidade,

Sabemos que você está esperando ansiosamente esse momento há um ano inteiro (e até recebemos mensagens perguntando se isso está acontecendo 😉)... Bom, o momento chegou!

Junte-se ao Advent of Code 2023 com a InterSystems e participe de nosso concurso de ObjectScript para ter a chance de ganhar prêmios fabulosos!


0
0 77
Artigo Danusa Calixto · Nov. 27, 2023 3m read

Oi, pessoal,

Publiquei um novo pacote no OEX.

Resumindo, é um tipo de dados de string que oferece várias opções de configuração e flexibilidade.

Caso de negócio

  1. Você tem algumas classes de bibliotecas e outras estruturas reutilizáveis que usa em vários sistemas.
  2. Você tem um ambiente "multi-tenant" em que uma base de código é compartilhada entre vários inquilinos, sendo que cada um tem seu próprio namespace configurado.
    1. Regras específicas e processos de negócios são armazenados no namespace desse inquilino.
    2. As estruturas de classes principais são as mesmas.
0
0 85
Artigo Danusa Calixto · Set. 1, 2023 3m read

Olá, desenvolvedores. No momento, estou realizando uma demonstração sobre o desenvolvimento de uma IU front-end fazendo análise de dados e configurando um teste de desempenho com grandes objetos de dados. Portanto, o uso do utilitário Populate pode me ajudar a gerar automaticamente alguns dados de amostra com que eu possa brincar.

Neste post, gostaria de compartilhar minha experiência ao usar o utilitário Populate, incluindo o parâmetro POPSPEC.

0
0 118
Artigo Danusa Calixto · Set. 1, 2023 2m read

Peço desculpas se isso for óbvio para programadores Python, mas, para aqueles que estão saindo do ObjectScript, esta pode ser uma dica útil.

O cenário é o desenvolvimento de alguns comandos do Embedded Python.

Testando se a funcionalidade está sendo confirmada pelo shell:

$SYSTEM.Python.Shell()
 
Python 3.9.5 (default, Mar 14 2023, 06:58:44) [MSC v.1927 64 bit (AMD64)] on win32
Type quit() or Ctrl-D to exit this shell.
>>>

Quando o Python avalia uma expressão no shell, ele imprime o resultado da expressão no terminal.

>>> 1 + 2

3

É bastante fácil avaliar e imprimir valores sem querer

>>> iris.
0
0 47
Artigo Danusa Calixto · Set. 1, 2023 4m read

Visão geral

Com o cross-skilling do objectScript do IRIS para o Python, ficam claras algumas diferenças fascinantes na sintaxe.

Uma dessas áreas é como o Python retorna Tuplas de um método com desempacotamento automático.

Efetivamente, isso se apresenta como um método que retorna vários valores. Que invenção incrível :)

out1, out2 = some_function(in1, in2)

O ObjectScript tem uma abordagem diferente com o ByRef e os parâmetros de saída.

Do ##class(some_class).SomeMethod(.inAndOut1, in2, .out2)

Onde:

  • inAndOut1 é o ByRef
  • out2 é a saída

O ponto à esquerda (".

0
0 75
Artigo Flávio Lúcio Naves Júnior · Ago. 16, 2023 3m read

Como observado no artigo anterior, a Native API possui algumas limitações.
Portanto, fiz algumas pesquisas sobre uma interface mais semelhante a um terminal que me forneça acesso como um console ou o terminal IRIS para permitir meu $QUERY em um global e outros comandos úteis que não são suportados/mapeados na NativeAPI para ObjectScript.

As ferramentas básicas estão bem preparadas e disponíveis.

  • Connection() cria uma partição totalmente operacional e estável para mim.
  • Function() permite chamar qualquer rotina ou método de que eu preciso.
2
0 82
Artigo Flávio Lúcio Naves Júnior · Ago. 16, 2023 3m read

Esta pergunta originalmente apareceu nos comentários do post: Download globals from a particular server

Este artigo foi inspirado por uma pergunta recente feita por @Evgeny.Shvarov.
Download globals from a particular server
Não se trata de um código de "clique e execute", mas sim de um rascunho que requer ajustes para atender às suas necessidades específicas. Você precisa adicionar.

1
0 78
Artigo Danusa Calixto · Ago. 7, 2023 1m read

InterSystems FAQ

Se o valor de uma variável local é um OREF ou não, pode ser determinado usando $IsObject(). Seja v a variável que você deseja verificar,

$IsObject(v)=1 // v is an OREF
$IsObject(v)=0 // v is not an OREF
$IsObject(v)=-1 // v is an OREF but does not point to a valid object

Observe que $IsObject(v) dará um erro UNDEFINED se v for indefinido.

Para evitar erros UNDEFINED, é recomendado o uso do $Get assim:

$IsObject($Get(v))
0
0 109
Artigo Miqueias Santos · Maio 17, 2023 30m read

Veremos a seguir como o InterSystems IRIS aliado com Machine Learning pode transformar para melhor a educação do Brasil e do mundo

image

. .

O video de apresentação:

Clique na imagem abaixo para ver o video de apresentação. [![Video de Apresentação](https://img.youtube.com/vi/QOY60kRkSnQ/maxresdefault.jpg)](https://www.youtube.com/watch?v=QOY60kRkSnQ) . .

Educação Integrada com InterSystems IRIS

A ideia é integrar a educação usando InterSystems IRIS para permitir a criação de uma plataforma completa para gestão, análise, melhoria e transformação da educação.

6
2 344
Artigo Henrique Dias · Jun. 10, 2023 9m read

20 anos. 

Agora em 2023 eu completo 20 anos trabalhando com tecnologia, desenvolvendo sistemas, implementando, criando novas soluções e posso afirmar que trabalhar com tecnologia InterSystems fez e faz parte da minha vida. Afinal, foram 18 anos trabalhando todos os dias com essa tecnologia.

Comecei a trabalhar com o Caché 4, lá atrás em 2003, vivenciei as mudanças para o Caché 5, Caché e Ensemble 2008, 2010, 2012, 2014, 2017, 2018 e até finalmente chegarmos no InterSystems IRIS.

4
0 220
Artigo Miqueias Santos · Jun. 10, 2023 6m read

Olá!

Eu estava querendo dedicar algum tempo para implementar alguma DLL ou algo que eu pudesse usar do Caché e finalmente tive uma pequena ideia, se você está interessado em poder produzir mensagens que são enviadas para o Kafka rapidamente, você é no lugar certo ;-)

Antes de lhe entregar a ficha com o que vamos ver, vou fazer um resumo para que você decida se tem interesse em ler o artigo.

Neste artigo vamos focar "apenas" na parte de produzir mensagens e enviá-las para Kafka:

Como funciona?

Utilizo uma DLL .Net (Netframework 4.

0
0 289
Artigo Miqueias Santos · Jun. 7, 2023 4m read

Quando você compila rotinas ou classes no terminal, os resultados da compilação são exibidos na tela, portanto, mesmo que ocorra um erro, é fácil verificar.Se você deseja obter apenas informações de erro, precisa planejar um pouco.

O seguinte descreve como obter informações de erro do resultado da compilação em lote de rotinas/classes.

 

para rotinas

Para rotinas de compilação em massa em um namespace no Terminal, o método CompileAll() da classe %Library.Routine. use

O exemplo de execução a seguir é o resultado de rotinas de compilação em lote no namespace USER.

0
0 119