Multiple PER traps

It is not necessary to set SLIP traps individually and run a failing job multiple times, using one trap for each execution until a dump is taken. You can set SLIP PER traps at multiple points in a load module as follows: use a non-IGNORE PER trap to monitor the range that encompasses all of the points in which you are interested, followed by several IGNORE PER traps to prevent the SLIP action from being taken on the intervening instructions in which you are not interested. For example:
SLIP SET,IF,DISABLE,ACTION=SYNCSVCD,LPAMOD=(load_module_name,58CA4,85440),ID=JW01,
      JOBNAME=jjjjjjjj,END
SLIP SET,IF,DISABLE,ACTION=IGNORE,LPAMOD=(load_module_name,58CA5,5C80B),ID=JW02,END
SLIP SET,IF,DISABLE,ACTION=IGNORE,LPAMOD=(load_module_name,5C80D,5D0B3),ID=JW03,END
SLIP SET,IF,DISABLE,ACTION=IGNORE,LPAMOD=(load_module_name,5D0B5,5DD9D),ID=JW04,END
SLIP SET,IF,DISABLE,ACTION=IGNORE,LPAMOD=(load_module_name,5DD9F,8543F),ID=JW05,END
SLIP MOD,EN,ID=JW0*
In the above example, SLIP ID=JW01 would be set (disabled) first, followed immediately by SLIP IDs JW02, JW03, JW04, and JW05, all of which would also be set disabled. The final SLIP command (SL MOD,EN,ID=JW0*) would then enable all five of the SLIPs, but in reverse order, which is exactly what is required. Thus, the messages issued would be:
IEE727I SLIP TRAP ID=JW01 SET
IEE727I SLIP TRAP ID=JW02 SET
IEE727I SLIP TRAP ID=JW03 SET
IEE727I SLIP TRAP ID=JW04 SET
IEE727I SLIP TRAP ID=JW05 SET

IEE727I SLIP TRAP ID=JW05 ENABLED
IEE727I SLIP TRAP ID=JW04 ENABLED
IEE727I SLIP TRAP ID=JW03 ENABLED
IEE727I SLIP TRAP ID=JW02 ENABLED
IEE727I SLIP TRAP ID=JW01 ENABLED

When the failing job was then executed (only one execution would be necessary) a PER (hardware) interruption would be taken on the execution of every instruction in the specified range (58CA4,85440). At each of those interruptions, the software PER routines would gain control; they would run the chain of enabled SLIP traps to see if there were any IGNORE traps encompassing the specific address at which that particular interruption had occurred.

If the system does find an IGNORE trap, PER processing for that interruption would then be complete and control would return to the application program to continue executing. However, if the system does not find an IGNORE trap, it will take the action specified in the non-IGNORE trap (JW01). This is a dump at exactly the desired point, that is, at the instruction beginning at one of the locations 58CA4, 5C80C, 5D0B4, 5DD9E, or 85440.

For convenience you can enter all of these SLIP traps in an IEASLPxx member and then set (SET SLIP=xx) to that member. That way, if you've made an error in one of the SLIPs you need only correct that one error, add five SLIP DEL,ID=JWxx statements to the beginning of the IEASLPxx member, and then reset to that member. This process is easier than reentering every SLIP trap from the console. If you do this, the above IEE727I message would be preceded by
   SET SLIP=xx

   IEE252I MEMBER IEASLPxx FOUND IN PARMLIB
and followed by
   IEE536I SLIP     VALUE xx NOW IN EFFECT