Nova postagem

Pesquisar

Pergunta
· Fev. 7

Need Help to do a connection Between IRIS and SAP RFC

Hello,

Please we need some help in connecting IRIS to SAP RFC.

We would appreciate if anyone has a detailed documentation for it. 

Thank you

2 Comments
Discussão (2)1
Entre ou crie uma conta para continuar
Anúncio
· Fev. 7

Autores destacados de la Comunidad de Desarrolladores de InterSystems de 2024

¡Hola desarrolladores!

Es hora de anunciar a los Autores Destacados de la Comunidad de Desarrolladores de InterSystems de 2024 🎉

Nos complace premiar a los contribuyentes más activos en todos los sitios regionales de la comunidad (EN, ES, PT, JP, CN y FR):

  • Revelación del Año
  • Autores Best-Seller
  • Top Expertos
  • Líderes de Opinión Más Destacados

¡Echémosle un vistazo al Muro de la Fama 2024 de la Comunidad de Desarrolladores y demos un gran aplauso a todos! 👏

Nombre de la insignia Ganadores DC Ganadores InterSystems
 
Nominación: Revelación del Año
Revelación de 2024

  

@john.smith4237

@Meenakshi Muthu

@Eyal Levin

@Alin Soare

@Veerraju Grandhi

@Takao Otokita

@Maxim Gorshkov

@Nicole Sun

@Brad Nissenbaum

@Shuheng Liu

 
Nominación: Autor Best-Seller
1er lugar
Oro al autor best-seller

  

@Muhammad Waseem

@Luis Angel Pérez Ramos

2do lugar 
Plata al autor best-seller

  

@Robert Cemper

@Megumi Kakechi

3er lugar
Bronce al best seller

  

@Iryna Mykhailova

@Hiroshi Sato

Autor Best Seller

  

@Heloisa Paiva

@Pierre LaFay

@David Hockenbroch

@姚 鑫

@Ron Sweeney

@Kurro Lopez

@Yuri Marx Pereira Gomes

@Mihoko Iijima

@Alberto Fuentes

@Sylvain Guilbaud

@Guillaume Rongier

@Toshihiko Minamoto

@Ricardo Paiva

@Danusa Calixto

 
Nominación: experto InterSystems
1er lugar:
Oro al experto DC

  

@Enrico Parisi

@Luis Angel Pérez Ramos

2do lugar:
Plata al experto DC

  

@Robert Cemper

@Alexander Koblov

3er lugar
Bronce al experto DC

  

@Jeffrey Drumm

@Brett Saviano

Experto DC

  

@Julius Kavay 

 @John Murray

@David Hockenbroch

@Ashok Kumar T

@Robert Barbiaux

@Stephen Canzano

@Yaron Munz

@Eduard Lebedyuk 

@Ben Spead 

@Timo Lindenschmid 

@Guillaume Rongier 

@Timothy Leavitt 

@Sylvain Guilbaud 

@Tani Frankel  

 
Nominación: líder de opinión de IS.
1er lugar:
Oro a líder de opinión

  

@Robert Cemper

@Luis Angel Pérez Ramos

2do lugar:
Plata a líder de opinión

  

@Iryna Mykhailova

@Sylvain Guilbaud

3er lugar:
Bronce a líder de opinión

  

@Enrico Parisi

@Guillaume Rongier

DC Opinion Leader

  

@Muhammad Waseem

@Pierre LaFay

@Heloisa Paiva

@Kurro Lopez

@David Hockenbroch

@John Murray

@Yuri Marx Pereira Gomes

@Julio Esquerdo

@Ben Spead

@Timothy Leavitt

@Danusa Calixto

@Eduard Lebedyuk

@Evgeny Shvarov

@Mihoko Iijima

@Hiroshi Sato

 

Esta lista es una buena razón para empezar a seguir a algunos de los grandes autores de la Comunidad de Desarrolladores ;)

¡UN GRAN APLAUSO A NUESTROS GANADORES!

¡Enhorabuena a todos y gracias por vuestras grandes contribuciones a la Comunidad de Desarrolladores de InterSystems en 2024! 

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Fev. 7 4min de leitura

IRIS %Status and Exceptions

You may encounter errors during any point of program execution, and there are several ways to raise and handle these exceptions. In this article, we'll explore how exceptions are handled efficiently in IRIS.

One of the most commonly used return types is %Status, which is used by methods to indicate success or failure. Let's begin by discussing %Status values.

Working with %Status

The %Status return type is used to represent errors or success. Many system methods return %Status when an error occurs. You can create a similar structure for your application errors, or convert to %Status, even when you raised exceptions  in your code.

Let's start creating the errors

Macros

When we talked about errors the Macros are essential and easy to create Status values in the code. IRIS provides several macros to create and handle errors within your application code.

The most commonly used macro is $$$ERROR.

$$$ERROR

The $$$ERROR macro specifically designed to generate and return a %Library.%Status value. It is your responsibility to check the status before continuing execution in your program. This macro is tightly coupled with general system errors. Keep the following points in mind when using this macro:

- The first argument (error codes) refers to general error codes inside the %occErrors include file.
- If you're using predefined errors from that include file, you can use the macro directly, with or without additional arguments.

Note: Before proceeding $SYSTEM.OBJ.DisplayError(status) or $SYSTEM.Status.DisplayError(status) used to display the error(s) and supports string localization 

Set sc = $$$ERROR($$$NamespaceDoesNotExist,"TEST")
Do $SYSTEM.OBJ.DisplayError(sc)

output: ERROR #5015: Namespace 'TEST' does not exist1
Set sc = $$$ERROR($$$UserCTRLC)
Do $SYSTEM.OBJ.DisplayError(sc)

ouput: ERROR #834: Login aborted1

If you use any other error code not listed in %occErrors, an "Unknown status code" error will be returned. Always use the predefined errorcode $$$GeneralError == 5001 for general error messages.

Unknown status code sample

Set sc = $$$ERROR(95875,"TEST Error")
Do $SYSTEM.Status.DisplayError(sc)

output: ERROR #95875: Unknown status code: 95875 (TEST Error)
Set sc = $$$ERROR($$$GeneralError,"TEST Error")
Do $SYSTEM.OBJ.DisplayError(sc)

output: ERROR #5001: TEST Error

$$$ADDSC

The %Status doesn't necessarily hold only one error. Your program can validate multiple conditions and keep track of all errors in a single status, then use the $$$ADDSC macro. For example, the %ValidateObject() method can return multiple errors in a single response, which uses this functionality.

The $$$ADDSC macro appends one status to another, and the $SYSTEM.Status.AppendStatus method performs the same function.

$$$ADDSC(sc1,sc2) / $SYSTEM.Status.AppendStatus(s1,s2) - append sc2 to sc1 and return a new status code.

ClassMethod AppendErrors()
{
    Set sc1 = $$$ERROR($$$UserCTRLC) 
    Set sc2 = $$$ERROR($$$NamespaceDoesNotExist,"TEST")
    Set sc = $$$ADDSC(sc1,sc2)
    Do $SYSTEM.Status.DisplayError(sc)
    Write !
    Set sc = $$$ADDSC(sc1,sc2)
    Do $SYSTEM.Status.DisplayError(sc)
}
output
LEARNING>do ##class(Learning.ErrorHandling).AppendErrors()
 
ERROR #834: Login aborted
ERROR #5015: Namespace 'TEST' does not exist
 
ERROR #834: Login aborted
ERROR #5015: Namespace 'TEST' does not exist

both results are same!

$$$GETERRORCODE

$$$GETERRORCODE(status) - Returns the error code value from the Status . This macro is belongs from the %occStatus.inc

    Set status = $$$ERROR($$$UserCTRLC) 
    Write $$$GETERRORCODE(status),!
    #;output: 834
    Set status = $$$ERROR($$$GeneralError,"TEST Error")
    Write $$$GETERRORCODE(status)
    #;output: 5001

$$$GETERRORMESSAGE
$$$GETERRORMESSAGE(sc,num) - This macro is returns the portion of the error based on the num in the %Status 
Here is an example.
 

ClassMethod GetErrorMsgMacro()
{
	Set status = $$$ERROR($$$GeneralError,"TEST Error",1,$$$ERROR($$$GeneralError,"TEST Error2"))
	write $$$GETERRORMESSAGE(status),! ; It prints "TEST Error"
	#;
	Set st = $$$GETERRORMESSAGE(status,3) ; it get the "$$$ERROR($$$GeneralError,"TEST Error2")" in 3rd position based on the 2nd argument 
	write $$$GETERRORMESSAGE(st),! ; it prints TEST Error2
}

LEARNING>Do ##class(Learning.myexcept).GetErrorMsgMacro()
TEST Error
TEST Error2

 

Validate Return Status

Now that you've created the error and returned it to your program, the next step is validating whether the return response is successful or erroneous.

The $$$ISERR macro checks whether the status represents an error. It returns 1 if the status indicates an error, otherwise it returns 0. There's another macro, $$$ISOK, which returns 1 when the status is successful.

Displaying Errors

If your program unexpectedly errors out (always expect the unexpected), you need to display the error message. The %SYSTEM.Status class is specifically designed for viewing or creating %Status values (if you prefer not to use macros) and we already seen the samples above.

Here are equivalent methods in %SYSTEM.Status that replace the macros:

Macro Methods
$$$ISERR $SYSTEM.Status.IsError()
$$$ISOK $SYSTEM.Status.IsOK()
$$$ADDSC $SYSTEM.Status.AppendStatus()
$$$ERROR $SYSTEM.Status.Error()
$$$OK $SYSTEM.Status.OK()
$$$GETERRORCODE $SYSTEM.Status.GetErrorCodes()

The Exceptions will be continued in the next article.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Fev. 7 1min de leitura

QuinielaML - Predicción de la 41ª jornada de la Quiniela

Venga que nos vamos acercando ya en aciertos, veamos que tal se da esta 41ª jornada de la Quiniela, con partidos de la jornada 23ª de Primera División y 26ª de Segunda.

Veamos los partidos que entran en esta Quiniela:

Con pleno al 15 del derby madrileño por excelencia.

Aquí están las predicciones de Primera División:

Y las de Segunda:

Dándonos la siguiente Quiniela:

¡Suerte y buen fin de semana a todos!

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Fev. 7 9min de leitura

IRIS et Presto pour des requêtes SQL performantes et évolutives

L'essor des projets Big Data, des analyses en libre-service en temps réel, des services de recherche en ligne et des réseaux sociaux, entre autres, a donné naissance à des scénarios de requête de données massives et très performantes. En réponse à ce défi, la technologie MPP (base de données de traitement hautement parallèle) a été créée et s'est rapidement imposée. Parmi les options MPP open-source, Presto (https://prestodb.io/) est la plus connue.

Discussão (0)0
Entre ou crie uma conta para continuar