I found it!!! My existing code - set up access to passed variables and test if we need to do anything. (modeled from IBM supplied sample).
* Set up access to read-only variables. L ERO,ACSPAERO USING ACERO,ERO Anchor read-only variables * * Set up access to read-write variables. L ERW,ACSPERW USING ACERW,ERW Anchor read/write variables MVC ACERWVAL(L'BLANK8),BLANK8 * * Do we need to do anything. LA WORKREG,ACEROVS Set up test value C WORKREG,ACERODSG Are we VSAM? BNE RETURN If not....ignore LA WORKREG,ACERONUL Set up test value C WORKREG,ACERORCG Do we have a RECORG? BNE RETURN If yes....ignore * We were failing on the "do nothing" path. ie. dataset was either not VSAM or was VSAM and had RECORG set. Then we got validation error on z/OS1.6 and not on z/OS1.4. By moving the read-write addressibility, and especially the initialise ACERWVAL field to after the tests, the code now works. Final code: * Set up access to read-only variables. L ERO,ACSPAERO USING ACERO,ERO Anchor read-only variables * * Do we need to do anything. LA WORKREG,ACEROVS Set up test value C WORKREG,ACERODSG Are we VSAM? BNE RETURN If not....ignore LA WORKREG,ACERONUL Set up test value C WORKREG,ACERORCG Do we have a RECORG? BNE RETURN If yes....ignore * * Set up access to read-write variables. L ERW,ACSPERW USING ACERW,ERW Anchor read/write variables MVC ACERWVAL(L'BLANK8),BLANK8 * Regards Bruce Hewson ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html