Thanks! There's also a trick to create S-type constants with base-displacement values to simplify branching into a patch area at the right spot.
BTW vendor support sees some comments about a patch area but can't find an actual one. Like maybe it got omitted and no one ever complained before. Hrmph. . . J.O.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 323-715-0595 Mobile 626-543-6132 Office ⇐=== NEW [email protected] -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of John Eells Sent: Tuesday, July 24, 2018 9:38 AM To: [email protected] Subject: (External):Re: Adding a patch area Jesse 1 Robinson wrote: > We have a vendor product for which we previously ZAPped some tailored code > into a patch area. The latest upgrade of the product module does not come > with a patch area. I seem to remember a method of adding a patch area to a > module for which no source is available. Using I think ASMH and IEWL. Sound > familiar? Sound doable? Skip, Perhaps the Binder's EXPAND statement will do what you need. Here's the example from the book, MVS Program Management: User's Guide and Reference, which you can find here: https://www-304.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R3sa231392/$file/ieab200_v2r3.pdf: Example In this example, EXPAND statements add a 250-byte patch area (initialized to zeros) at the end of control section CSECT1 and increase the length of named common area COM1 by 400 bytes. //LKED EXEC PGM=IEWBLINK //SYSPRINT DD SYSOUT=* //SYSLMOD DD DSNAME=PROJECT.PROGLIB,DISP=OLD //SYSLIN DD DSNAME=&&LOADSET,DISP=(OLD,PASS) // DD * EXPAND CSECT1(250) EXPAND COM1(400) NAME MOD1(R) /* (Note the caution in the book about addressability.) -- John Eells IBM Poughkeepsie [email protected] ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
