The title is not the question.
This is the answer to the question of CHANGING 4 lines in a member (VERY OVER-SIMPLIFIED!)
If you are running an EditMacro on the PDS member in question you could do this:
/* get field values into vnnn vars below */
ADDRESS DSNREXX stuff?
ADDRESS ISPEXEC "EDIT DATASET('"libname"') MEMBER("member") MACRO(ADD4FLDS) "
where EditMacro (ADD4FLDS) says something like...
ADDRESS ISPEXEC "CONTROL ERRORS RETURN "
"MACRO NOPROCESS "
PARSE PULL v107
PARSE PULL v108
PARSE PULL v109
PARSE PULL v110
"LINE 107 = (V107) "
"LINE 107 = (V108) "
"LINE 107 = (V109) "
"LINE 107 = (V110) "
but this is a VERY simplified example! No variables. Just add logic!?!
Untested too, no intranet connection here today!
As has been said before on many posts... "SUPPLY YOUR CURRENT CODE"
...however embarrassing it may be.
We all started somewhere?! However long ago ahem!
that may have been!?
If you are doing this for a whole PDS in the outside process then you need to use LM services around the EDITs on the members. Use DATAID instead of DATASET on the EDIT line etc.
Use MODEL with LMINIT, LMOPEN, LMMLIST, LMCLOSE, or failing all else RTFM ...
SC34-4819 z/OS V1R13.0 ISPF Services Guide
SC34-4820 z/OS V1R13.0 ISPF Edit and Edit Macros
I think I coded something like this about 10 years ago at some Customer's requirement.