Skip to main content
Question

IFSAPP.Error_SYS.Record_General in Aurena

  • 24 July 2024
  • 3 replies
  • 51 views

We use lots of custom events that alert users of input issues.

They work fine in IEE, but in Cloud not the full message is displayed.

Example:

MyErrorMessage_:= 'Not sellable tail parts: ' || catalog_no_;

IFSAPP.Error_SYS.Record_General('', MyErrorMessage_);

will display only the values in catalog_no

3 replies

Userlevel 7
Badge +21

Hi @dominikdurrer 

I believe this is due to the use of : in the error message. since : is used to identify the error message tag for translations.

change your error message to following format

CNOTSELLABLETAILPARTSERR is a unique tag for the error message.

MyErrorMessage_:= 'Not sellable tail parts: ' || catalog_no_;
IFSAPP.Error_SYS.Record_General('LuName', 'CNOTSELLABLETAILPARTSERR: ' || MyErrorMessage_);

Check for some samples here

Hints on Error_SYS tags - Technical Documentation For IFS Cloud

 

Hope it helps!

Damith

Userlevel 4
Badge +9

Hi @dominikdurrer 

I believe this is due to the use of : in the error message. since : is used to identify the error message tag for translations.

change your error message to following format

CNOTSELLABLETAILPARTSERR is a unique tag for the error message.

MyErrorMessage_:= 'Not sellable tail parts: ' || catalog_no_;
IFSAPP.Error_SYS.Record_General('LuName', 'CNOTSELLABLETAILPARTSERR: ' || MyErrorMessage_);

Check for some samples here

Hints on Error_SYS tags - Technical Documentation For IFS Cloud

 

Hope it helps!

Damith

 

This is hundred percent the case. The API for Error Sys checks for the first colon it finds, anything before that it records as the messagekey, and tries to retrieve translations for that message key based on the language your client is set to.

 

 

 

 

 

Now, I believe there is some framework level code in EE when displaying an application error, which automatically removes the lu_name_, the dot, and the MsgKey when displaying the error.

 

So here, EE automatically removed LuName, the Dot, and the MessageKey and the colon from the message being raised through RAISE_APPLICATION_ERROR

 

Aurena might be slightly different in how it approaches colons, but I’ve seen similar issues, that being said the specific code you gave us @dominikdurrer works perfectly fine for me in aurena:

 

 

Are you sure the code you’ve given us is exactly how it’s deployed ?

 

Note that you don’t have to use error_sys.record_general, you can just use RAISE_APPLICATION_ERROR(-20110, ‘YourErrorMessageHere’);

 

Just know that Aurena will remove all the message up to the first colon it finds.

 

 

 

Which you can easily bypass by simply adding a colon at the start of your message:

 

 

 

EE however will NOT behave exactly the same :

 

 

Userlevel 4
Badge +9

 

Are you sure the code you’ve given us is exactly how it’s deployed ?

 

 

 

Sorry, I actually realized I was testing the solution @dsj gave you, not the base code.*

 

So yeah, @dsj ‘s solution using a unique identifier for message key would actually work just fine in both EE and Aurena :)

 

Aurena still removes everything up to and including the first colon, so it will also remove the lu_name and the message key, but leave you with the error message you actually want !

 

Basically, try and take the habit of using messagekeys if you’re going to use error_sys, even if you don’t intend on translating the messages. You can use raise_application_error directly, but if your message contains a colon, it will behave differently in both Aurena and EE :)

 

 

Reply