I have an edit record that will not allow me to convert more than one (the first) field as output and ultimately hide the field when another value on the DTL format is true/met. It seems to work on other very similar Edit Records, but not the one I am working with. I also looked at the generated DDS and can see that it appears to be implementing the logic differently or at least from the limited screen DDS I understand synon generates. Any ideas why?!
Unfortunately, you do not describe when you experience the problem. I suppose you are not able to successfully generate the function ?
One reason could be that you are running out of indicators. This happens when a screen contains many fields together with many conditions having been set for fields using F18. You therefore should first drop unneeded fields from the screen in order to reduce the allocated indicators.
In addition, as a workaround, you could temporarily change a data area named YINDPTYSYA (contained in Y2SY, so beware that you are globally changing the value) from default *ERRIND to *ATRIND. It has the effect that indicators for conditions are being allocated prior to indicators for errors.
To temporarily change the mentioned data area to value *ATRIND, use command YEDTDTAARA and then regenerate the function concerned.
Then reset the value to its default value of *ERRIND.
If it solves your problem, since you are globally changing the data area using the above mentioned approach , you could opt to copy the data area to a specific library in your model environment to keep it model specific rather than global.
Perhaps the mentioned workaround is helpful for your scenario.
In addition to Anette-Nicole's comments....
In 2E, we do not know of a method to determine how many indicators a function is using.
There is a limit of 49 indicators (attribute and error indicators). By default, 'error' indicators are allocated first. If you want 'attribute' indicators to be allocated first, then use: CHGDTAARA DTAARA(Y2SY/YINDPTYSYA) VALUE(*ATRIND) so that attribute indicators are allocated before error indicators (set this back to *ERRIND after generation). The other option is to split up busy screens, such that enough indicators are available for use on each screen.
Thanks to both of you. The screen was an edit record and I could not drop fields so I went the route of altering the data area. That seems to have worked. Thanks again.