Generating DDL physical files causes an error since 2E 8.7.3 upgrade
search cancel

Generating DDL physical files causes an error since 2E 8.7.3 upgrade

book

Article ID: 271160

calendar_today

Updated On:

Products

CA 2E

Issue/Introduction

Since upgrading to CA 2E 8.7.3, when compiling a physical file in DDL, receive an error.

Message . . . . : Keyword SIZE not valid for this command.
Cause . . . . . : A keyword was specified on a command that has no corresponding parameter. Recovery . . . : Correct or omit the keyword, and then try the command again.
Message . . . . : Error found on YEXCSQL command.

If you compile the file manually with the YEXCSQL command and do not use SIZE(*NOMAX), the compile works fine. 

This was not working this way in CA 2E 8.7.

Environment

CA 2E 8.7.3

Resolution

With CA 2E 8.7, the SIZE(*NOMAX) in the compiler override Z* line that is specified is not being honored. Due to this, the YEXCSQL was being executed, but without the SIZE keyword. Hence YEXCSQL was running fine and the compile was going through. However, the table would not have had the SIZE(*NOMAX) applied to it.

With CA 2E 8.7.3, the Z* keyword is being identified. However, as it is invalid for the YEXCSQL command, the compile is failing. The behavior in CA 2E 8.7.3 is indeed correct.

As a workaround, you can replace the "Z* SIZE(*NOMAX)" with a post compile directive "Y* CHGPF FILE(&M) SIZE(*NOMAX)". What this will do is, first execute the YEXCSQL command and then carry out the CHGPF command to change the SIZE.

To replace the "Z* SIZE(*NOMAX)" with "Y* CHGPF FILE(&M) SIZE(*NOMAX)", in all source members in a generation library, run the following command.

YSCNRPLSRC SRCFILE(<gen-lib>/QSQLSRC)                
           SRCMBR(*ALL)                             
           SCNVAL('Z* SIZE(*NOMAX)')                
           RPLVAL('Y* CHGPF FILE(&M) SIZE(*NOMAX)')