After upgrading to CA 2E 8.7, there is a difference in how DDS code is generated.
Prior to the CA 2E upgrade, the code in the DDS generation is as follows:
0203.00 * @Number (3,0).USR 0204.00 A #RNUCQ 3 0B 13 2TEXT('@Number (3,0).USR')0205.00 A EDTCDE(4) 0206.00 A 72 DSPATR(PR) 0207.00 A 50 DSPATR(RI PC) 0208.00 A N72N50 DSPATR(UL)
After the CA 2E upgrade, the code in the DDS generation is as follows (pay attention to the indicators):
0203.00 * @Number (3,0).USR 0204.00 A #RNUCQ 3 0B 13 2TEXT('@Number (3,0).USR') 0205.00 A EDTCDE(4) 0206.00 A 72 DSPATR(PR) 0207.00 A 50N72 DSPATR(RI PC) 0208.00 A N72N50 DSPATR(UL)
CA 2E 8.7
"Value Required" Logic Generating in Later 8.5 Releases for DSPFIL and SELRCD Functions' Input User Fields when the Allow Blank or Zero setting is set to "" or "N."
Because of the above problem, customers upgrading from CA 2E 8.5 to later releases can see a change in behavior for DSPFIL and SELRCD.
Some customers would require backward compatibility for the "Value Required" logic generation for DSPFIL and SELRCD functions' input user fields when Allow Blank or Zero is set to "" or "N" because they are used to the CA 2E 8.5 validation logic and many screens are impacted by this behavioral change.
The Y287319100.SAVF fix attached to this article contains a backward compatibility solution for the reported problem.
As part of the solution, a new data area, YVALRQDRFA, can be created in the model library, with the following command:
CRTDTAARA DTAARA(model-library/YVALRQDRFA) TYPE(*CHAR) LEN(4) VALUE(*OLD) TEXT('YVALRQD GEN of "Value Required" for DSPFIL/SELRCD')
This data area controls whether the "Value Required" logic should generate or not in the CA 2E 8.7.3 release for the DSPFIL and SELRCD functions' input user fields when Allow Blank or Zero is set to "" or "N".
If the YVALRQDRFA data area value is set to *OLD, then the "Value Required" logic will not generate in the CA 2E 8.7.3 release for DSPFIL and SELRCD functions' input user fields when Allow Blanks or Zeros is set to "" or "N"
If the YVALRQDRFA data area value is set to *NEW (or other than *OLD), then the "Value Required" logic is generated in the CA 2E 8.7.3 release for the DSPFIL and SELRCD functions' input user fields when Allow Blanks/Zeros is set to "" or "N"
NOTE: This data area will be converted to a model value and defaulted to *NEW in future releases. If you do not want to generate "Value Required" logic for the DSPFIL and SELRCD functions' input user fields when Allow Blank or Zero is set to "" or "N," you must explicitly change the data area to *OLD.
This solution should only be used with CA 2E 8.7.3 GA. This fix is automatically included in subsequent CA 2E 8.7.3 releases.