Why am I getting ERROR DYL-350E NESTED IF NOT ALLOWED?

Document ID : KB000054442
Last Modified Date : 14/02/2018
Show Technical Document Details

DYL-350E NESTED IF NOT ALLOWED issue after r6 installation, but not in the prior release.

The error also frequently occurs after maintenance is applied with SMP/E.

DYL-350E NESTED IF NOT ALLOWED error will issue after r6 is installed even though the same job executes successfully under prior releases if the DYLINSTL parameter SQLIFIF was set to Y in r5. SQLIFIF=Y allows the use of nested IF statements without STRUCTURED or STRUCTURED2 in effect. If STRUCTURED or STRUCTURED2 is not being used, the VISION:Results Interface to DB2 requires SQLIFIF. The default is N, so if it was set to Y previously it must be set to Y in r6 as well.

All DYLINSTL parameters should be evaluated to verify they are matched to the prior release, or changed only after careful consideration, to ensure outcomes consistent with the prior release.

This error also frequently occurs after maintenance is applied. SQLIFIF, and all the site customizable parameters of the DYLINSTL macro, are set via the CUSTMJCL job which creates the DYLPCPS module. The DYLPCPS parameter module is outside of SMP/E, so the SMP/E jobs to APPLY and ACCEPT the maintenance reset the parameter module to default settings. We provide the ZREFRESH job which copies the modules updated by maintenance to the execution loadlib so the parameter module is protected. If the execution loadlib is the SMP/E Target or Distribution loadlib, then the CUSTMJCL job must be rerun to re-establish the customizations.