Link to home
Start Free TrialLog in
Avatar of qbjgqbjg
qbjgqbjgFlag for United States of America

asked on

AS400 Compile error level has changed

CPD0752 00  No variables declared in program. I am now getting this error. Errors at this level did not previosly cause program not to compile. It had to be at l;east a 20. Where is this set?
ASKER CERTIFIED SOLUTION
Avatar of Member_2_276102
Member_2_276102

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of qbjgqbjg

ASKER

It is something related to my profile. Tis was a cl program. I can still compile it under a different profile.
Avatar of Member_2_276102
Member_2_276102

I can still compile it under a different profile.

What exactly does that mean? Do you sign on under another profile and compile interactively? ...compile in batch? Do you sign on as yourself and submit the compile to batch under a different profile? Do you sign on as yourself and switch to a different profile?

The specific circumstances may indicate where to look.

Also, how did you determine that the CPD0752 was the cause of the compilation failure? Is this OPM CL? What OS version is installed?

Tom
I signed in as a different user and compiled interactively. That error was the cause of the failure.
That error was the cause of the failure.

Yes, but how did you determine that? The compile listing should show a message near the end saying the object was or was not created. It should also state the maximum error severity.

Perhaps more importantly, the joblog should have more explicit messages if the SEV(0) CPD0752 was not the actual cause.

Tom
Sorry I was out for a few days. It was the sev(0) error that caused it to fail. I believe it was the genlvl in my profile.
There is a ENDSEV on the jobd. I believe this was accidently changed when changing the library list. I changed it to 30. At first it still did not work, but after I logged off, then back in it did.
Signing off and back on might have enabled some change, but the ENDSEV() attribute shouldn't have had anything to do with it. I can set ENDSEV(0) and compiles work fine even with non-zero severities in compiler messages. The GENLVL() still controls, before and after signing off/on. Something else must have been missed.

Since ENDSEV() cannot be less than zero, a SEV(0) message won't have a higher severity and won't trigger an ENDSEV() action. Also, compile-time messages aren't *ESCAPE messages, so they have no effect on ENDSEV(). Any *INQ message requiring a reply will be sent as SEV(99), so every such *INQ message would end jobs if that's how ENDSEV() worked.

A closer examination of a joblog of a failed compile should show something more definite.

Tom