Skip to main content
Solved

Error message: "abort is not in the set AllIdentifiers".

  • January 16, 2025
  • 4 replies
  • 110 views

Hi everybody, 

 

Recently I updated AIMMS to version 24.6.1.6. Now I get the error message “The element 'abort' is not in the set "AllIdentifiers", see also the option warning_explicit_element_not_in_set.”. Does anyone know how I can solve this error? 

 

It happens when I use a call back function and want to assign “abort” to the CallBackReturnStatus. 

 

Thank you in advance!

Best answer by luispinto

Hello!
From which version of AIMMS are you migrating from?

What I can see for  CallbackReturnStatus is that "The value of the .CallbackReturnStatus suffix is an element in the set ContinueAbort.”

https://documentation.aimms.com/functionreference/suffices/mathematical-program-suffices/callbackreturnstatus.html

Looking at ContinueAbort that it is a subset of AllValueKeyword, which is not a subset of AllSymbols or AllIndenfiers 

https://documentation.aimms.com/functionreference/predefined-identifiers/language-related-identifiers/continueabort.html

If you are using an element parameter to set the callback status, maybe you can change the range of that to ContinueAbort ?

Maybe some code sample can help figure what is going on.

Best regards

4 replies

luispinto
AIMMSian
Forum|alt.badge.img+6
  • Customer Success Manager
  • Answer
  • January 17, 2025

Hello!
From which version of AIMMS are you migrating from?

What I can see for  CallbackReturnStatus is that "The value of the .CallbackReturnStatus suffix is an element in the set ContinueAbort.”

https://documentation.aimms.com/functionreference/suffices/mathematical-program-suffices/callbackreturnstatus.html

Looking at ContinueAbort that it is a subset of AllValueKeyword, which is not a subset of AllSymbols or AllIndenfiers 

https://documentation.aimms.com/functionreference/predefined-identifiers/language-related-identifiers/continueabort.html

If you are using an element parameter to set the callback status, maybe you can change the range of that to ContinueAbort ?

Maybe some code sample can help figure what is going on.

Best regards


MarcelRoelofs
AIMMSian
Forum|alt.badge.img+5

Maybe try to single quote abort, as in ‘abort'. We've been gradually replacing the compiler, and most likely the new compiler is more picky wrt quoting set elements.


  • Author
  • Explorer
  • January 20, 2025

Thank you ​@luispinto and ​@MarcelRoelofs! I had a very old version of AIMMS (4.98). 

 

An example:

if (abs(capacitatedNoSkill.Incumbent - capacitatedNoSkill.Objective) <= 1000) then
    capacitatedNoSkill.CallbackReturnStatus := 'abort';
endif;

 

Best regards

 


Marcel Hunting
AIMMSian
Forum|alt.badge.img+4

@C123 The bug causing this issue has been fixed in AIMMS 25.4.2.


Didn't find what you were looking for? Try searching on our documentation pages:

AIMMS Developer & PRO | AIMMS How-To | AIMMS SC Navigator