Modal popup

We are having a few issues with programs converted from Natural to NatualONE where we are attempting to use modal popups. The basic program structure leading to the issues is below

Process page using Prog adapter….
Value U’eventfromProgpage’
Some code, etc
Criteria met
Fetch Return ‘AnotherProg’

Various code…Criteria evaluated and met
CallNat ‘subprog’ (subprog for all system pop ups)

Identify which pop up required based on parameters passed from ‘AnotherProg’
When Identified…
Process page modal
Pop up window (one warning button - required to be pushed to acknowledge)
Assigns value to parameter to return to ‘AnotherProg’

Return to ‘Another Prog’ from ‘subprog’
Continue through code until…
‘Process page using…AnotherProg’ adapter

Expected result - display page from ‘AnotherProg’, but get…

Multiple Natural syntax errors at this line
- NAT5471 Identifier xyz is not defined in layout /folder/Prog adapter.
…(Where prog adapter is the orignal prog rather than ‘AnotherProg’ as expected)

If the ‘process page modal’ is removed from the subprog, the program behaves as expected but the pop up is full screen. Is there something we are missing here as to what is happening with regards to the various process statements?

Thanks in advance for any help.

I struggle with modal windows quite a bit. Your error is not the same thing I was dealing with but maybe it is the same cause. It seems that if you are on a base page and from that page a modal window is displayed, you must return to that base page before displaying other non-modal windows. For example, the following would error on the next process page using it would hit. The error was something about process page modal not supported:

r1. repeat
process page A
decide on page-event
value ‘a’
process page modal
process page b
escape bottom (r1.)
process page c /
← errors with process page modal not supported

By using XCITRIGGEREVENT, I was able to get around it. What happens is the last page displayed before the modal is redisplayed and immediately exited with the exitloop method.

r1. repeat
process page A
decide on *page-event
value ‘a’
process page modal
process page b
xcitriggerevent := ‘exitloop’
value ‘exitloop’
escape bottom (r1.)
process page c

If I read your explanation right, it sounds like you may not be returning to the page displayed before the modal and this may be the problem. Hope this helps.