Upgrading to Model 204 version 7.5 on IBM z/OS: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
This page describes the installation steps for <var class="product">Model 204</var> on the z/OS operating system.  The information applies to installation of <var class="product">Model 204</var> starting with version 7.5.  In substance the information is very similar to installation of previous versions <var class="product">Model 204</var>, but starting with version 7.5, the installation process is new, and self-contained.  Therefore,
This page describes the installation steps for <var class="product">Model 204</var> on the z/OS operating system.  The information applies to installation of <var class="product">Model 204</var> starting with version 7.5.  In substance the information is very similar to installation of previous versions of <var class="product">Model 204</var>, but starting with version 7.5, the installation process is new, and self-contained.  Therefore,
   
   
<table><tr><td>Do not use the installation process or materials (object files, link edit jobs, documentation, etc.) for previous versions of <var class="product">Model 204</var> when you are installing version 7.5 or later.</td></tr></table>
<table><tr><td>Do not use the installation process or materials (object files, link edit jobs, documentation, etc.) for previous versions of <var class="product">Model 204</var> when you are installing version 7.5 or later.</td></tr></table>
Line 17: Line 17:
Step 2 above, [[#FUNU|assembling FUNU]] (and, of course, any FUNU considerations for the version of <var class="product">Model 204</var> being installed), must be performed <b>before linking the ONLINE/IFAM1/IFAM4</b> load modules.  If there are any other ordering requirements in the installation workflow, they will be described in the section titled "Important instructions for version <i>m.n</i>" for the version you are installing.
Step 2 above, [[#FUNU|assembling FUNU]] (and, of course, any FUNU considerations for the version of <var class="product">Model 204</var> being installed), must be performed <b>before linking the ONLINE/IFAM1/IFAM4</b> load modules.  If there are any other ordering requirements in the installation workflow, they will be described in the section titled "Important instructions for version <i>m.n</i>" for the version you are installing.
   
   
Before performing the above steps, you will need to [[#download|download the components]] for the installation.  Be sure to read and heed the note that the object library is [[#notouch|not to be modified nor extracted]].
Before performing the above steps, you will need to [[#download|download the components]] for the installation.  Be sure to read and heed the note that the object library is [[#notouch|not to be modified]].
   
   
<p>&nbsp;</p>
<p>&nbsp;</p>
Line 30: Line 30:
In addition to the steps performed [[#always|for every version]], installation of version 7.5 requires that:
In addition to the steps performed [[#always|for every version]], installation of version 7.5 requires that:
<ul>
<ul>
<li>if you have your own user $functions (FUNU),
<ul><li>modify [[#FUNU_7.5|FUNU for 64-bit addressing]] considerations (FUNU must be prepared as the first step during installation</li></ul>
   
   
<li>after you [[#lkutils|link the utility load modules]], be sure to use your version 7.5 load library for the OI15OS and OI35OS load modules used in the deferred index sort exits for FLOD
<li>after you [[#lkutils|link the utility load modules]], be sure to use your version 7.5 load library for the OI15OS and OI35OS load modules used in the deferred index sort exits for FLOD
Line 40: Line 43:
or
or
<ul><li>link the [[#link_XDM|XDM load modules]] from the downloaded object library</li></ul>
<ul><li>link the [[#link_XDM|XDM load modules]] from the downloaded object library</li></ul>
<li>if you have your own user $functions (FUNU),
<ul><li>modify [[#FUNU_7.5|FUNU for 64-bit addressing]] considerations</li></ul>
   
   
</ul>
</ul>
Line 92: Line 92:
</p>
</p>
   
   
<li>Allocate <code>M204.V75.LOADLIB</code> <b>(or INSTALL.LOADLIB?)</b> and APF authorize it.
<li>Allocate <code>M204.V75.LOADLIB</code> and APF authorize it.
<p class="note"><b>Note:</b> We need info about allocation (simple, just size info) and APF authorization (maybe link to a page discussing it?)</p>
<p class="note"><b>Note:</b> We need info about allocation (simple, just size info) and APF authorization (maybe link to a page discussing it?)</p>
   
   
<li>Copy member JZLONLN from <code>M204.V75.RKOBJ204.OBJLIB</code> to my TSO libary, and follow instructions there to customize for my site
<li>Copy member LKONLN2 from <code>M204.V75.RKOBJ204.OBJLIB</code> to my TSO libary, and see all <code>&lt;&lt;</code> lines to customize for my site
<ul>
<ul>
<li>only customization I need is for RACF
<li>only customization I need is for RACF
<li>use <code>M204.V75.LOADLIB</code> as SYSLMOD DD
<li>use <code>M204.V75.LOADLIB</code> as SYSLMOD DD
<li>Submit JZLONLN from my TSO library, this creates ONLINE (and BATCH204 alias) in M204.V75.LOADLIB - I don't need IFAM1 nor IFAM4.
<li>Submit LKONLN2 from my TSO library, this creates ONLINE (and BATCH204 alias) in M204.V75.LOADLIB - I don't need IFAM1 nor IFAM4.
</ul>
</ul>
   
   
<li>Simple smoke test - run BATCH204 with 'DISPLAY ZAPS' and 'ROCKET' commands
<li>Simple smoke test - run BATCH204 with 'DISPLAY ZAPS' and 'ROCKET' commands
   
   
<li>Create and submit following jobstream to link the utility load modules:
<li>Copy member LKALLUT2 from <code>M204.V75.RKOBJ204.OBJLIB</code> to my TSO libary, and see all <code>&lt;&lt;</code> lines to customize for my site; submit this jobstream
<p class="code">//name    JOB jobCardParameters
//        JCLLIB ORDER=(M204.V75.RKOBJ204.OBJLIB)
//LKALLUT EXEC LKALLUT,
//        RKOBJ204=M204.V75.RKOBJ204.OBJLIB
//        SYSLMOD=M204.V75.LOADLIB
</p>
   
   
<li>Ensure that any JCL which performs deferred index sorting
<li>Ensure that any JCL which performs deferred index sorting
for <var class="product">Model 204</var> version 7.5 use
for <var class="product">Model 204</var> version 7.5
(typically, file load (FLOD/FILELOD) jobs) uses the new <code>M204.V75.LOADLIB</code> for the E15 (OI15OS)and E35 (OI35OS) sort exits.
(typically, FLOD jobs)
uses the new <code>M204.V75.LOADLIB</code> for the E15 (OI15OS)and E35 (OI35OS) sort exits.  This is automatic with standard FLOD JCL.
   
   
</ol>
</ol>
<table><tr><th>Reminder: the above section is an example for one typical installation workflow; the remainder of this page explains all installation steps in detail</th></tr></table>
   
   
<div id="download"></div>
<div id="download"></div>
==Downloading the object library and other components==
==Downloading the object library and other components==
<!--Caution: <div> above-->
<!--Caution: <div> above-->
Line 129: Line 124:
===Do not modify RKOBJ204===
===Do not modify RKOBJ204===
<!--Caution: <div> above-->
<!--Caution: <div> above-->
Once you have created the object library ("RKOBJ204") on your z/OS system, do not update it in any way (except via a new download for the same version of <var class="product">Model 204</var>).  Also, you will <b>not need to copy</b> any of the members anywhere to submit jobs, with the exception of copying the [[#lkonln|online link step]] (or [[#link_ifam1|IFAM1 link step]] or [[#link_ifam4|IFAM4 link step]]) to modify it for submission.
Once you have created the object library ("RKOBJ204") on your z/OS system, do not update it in any way (unless, in rare circumstances, you download it for the same version of <var class="product">Model 204</var>).
   
   
Also, do not store other members into the object library; it should only contain the members as supplied in a download from the web site.  For those object files which you might assemble (for example, FUNU or RACFPARM), you should place those into a separate object library (also designated for use with version 7.5).  Note that this object library should have the same DCB characteristics as RKOBJ204.
Also, do not store other members into the object library; it should only contain the members as supplied in a download from the web site.  For those object files which you might assemble (for example, FUNU or RACFPARM), you should place those into a separate object library (also designated for use with version 7.5).
   
   
<div id="lkonln"></div>
<div id="lkonln"></div>
Line 161: Line 156:
</td></tr>
</td></tr>
   
   
<tr><th>3</th><td>If you have other programs which you assemble for your Model 204 ONLINE module, for example, [[#FUNU|FUNU]], they should be assembled into your local object library (creating one - with the same DCB attributes as RKOBJ204 - if you have not already created one for the external authorizer xxxxPARM object file).  You do *not* need to add additional INCLUDE statements for FUNU or other locally assembled object files - they are already present in the include streams from RKOBJ204.
<tr><th>3</th><td>If you have other programs which you assemble for your Model 204 ONLINE module, for example, [[#FUNU|FUNU]], they should be assembled into your local object library (creating one, if you have not already done so for the external authorizer xxxxPARM object file).  You do *not* need to add additional INCLUDE statements for FUNU or other locally assembled object files - they are already present in the include streams from RKOBJ204.
</td></tr>
</td></tr>
   
   

Revision as of 03:19, 17 September 2014

This page describes the installation steps for Model 204 on the z/OS operating system. The information applies to installation of Model 204 starting with version 7.5. In substance the information is very similar to installation of previous versions of Model 204, but starting with version 7.5, the installation process is new, and self-contained. Therefore,

Do not use the installation process or materials (object files, link edit jobs, documentation, etc.) for previous versions of Model 204 when you are installing version 7.5 or later.

The steps for installing Model 204 are:

  1. Read the section titled "Important instructions for version m.n", for the version of Model 204 you are installing. This section also contains an example of the complete download/installation workflow. You may wish to consult that first.

In addition to those version-specific considerations, the following items are performed for every version of Model 204:

  1. Assemble FUNU (and optionally MSGU), if you have user-written $functions.
  2. Link the ONLINE (and, if you use them, the IFAM1 and IFAM4) load modules.
  3. Link the Model 204 utility load modules.

Step 2 above, assembling FUNU (and, of course, any FUNU considerations for the version of Model 204 being installed), must be performed before linking the ONLINE/IFAM1/IFAM4 load modules. If there are any other ordering requirements in the installation workflow, they will be described in the section titled "Important instructions for version m.n" for the version you are installing.

Before performing the above steps, you will need to download the components for the installation. Be sure to read and heed the note that the object library is not to be modified.

 

Components for installation

Object library (RKOBJLIB)

The object library is used to link the ONLINE and various other Model 204 load modules.

See the object files download page.

JCL job streams

In addition to the object files, the object library contains a number of z/OS JCL job streams. You will copy each job stream that you need to a local TSO library, modify it according to your system, and submit the job to perform the installation steps.

The job streams in RKOBJLIB all have member names ending in the letter "J."

Macro library (RKMACLIB)

The macro library is used if your installation requires assembling of any ASSEMBLE files.

RKMACLIB contains:

  • Model 204 macros
  • Sample files for: FUNU, MSGU, RACFPARM, ACF2PARM, TOPSPARM, TSFS, ZFIELD proc

See the macro libraries download page.

Important instructions for version 7.5

In addition to the steps performed for every version, installation of version 7.5 requires that:

  • if you have your own user $functions (FUNU),
  • after you link the utility load modules, be sure to use your version 7.5 load library for the OI15OS and OI35OS load modules used in the deferred index sort exits for FLOD
  • if you use XDM CRAM, either:
    • have installed the version V7R4 XDM load modules

    or

    • have installed the version V7R1 XDM load modules, and applied early warnings 710EW168 and 710EW199.

    or

Example of complete download/installation workflow

This is an example for a site which uses the RACF external authorizer, but otherwise requires no customization, e.g., the site does not use MQ/series nor does it have its own FUNU. The following names are chosen arbitrarily:

  • the member name MYBLDOB

and the DSNs

  • M204.V75.RKOBJ204.DISTRIB
  • M204.V75.RKOBJ204.OBJLIB
  • M204.V75.LOCAL.OBJLIB
  • M204.V75.LOADLIB.

Download

  1. Select/copy NEWOBJLB PROC from "Download object files" web page (in "Model 204 object library" section of ".. uploaded to the mainframe" help topic)
    • Then paste that proc into MYBLDOB member of my TSO library, adding, after the bottom (PEND statement):

      //BLDOBJLB EXEC NEWOBJLB, // INP=M204.V75.RKOBJ204.DISTRIB // LIB=M204.V75.RKOBJ204.OBJLIB

  2. Download object file from web site (M204V75.OBJ)
  3. Upload to mainframe, Binary, FB/80/3120, as M204.V75.RKOBJ204.DISTRIB
  4. Run MYBLDOB from my TSO library; this deletes and then creates M204.V75.RKOBJ204.OBJLIB

Assemble and link

  1. Allocate M204.V75.LOCAL.OBJLIB and copy in:
    • RACFPARM

    Note: We need a step to assemble it - or are we going to sleaze out and not instruct them to assemble a new RACFPARM? In any case this requires downloading the source lib.

  2. Allocate M204.V75.LOADLIB and APF authorize it.

    Note: We need info about allocation (simple, just size info) and APF authorization (maybe link to a page discussing it?)

  3. Copy member LKONLN2 from M204.V75.RKOBJ204.OBJLIB to my TSO libary, and see all << lines to customize for my site
    • only customization I need is for RACF
    • use M204.V75.LOADLIB as SYSLMOD DD
    • Submit LKONLN2 from my TSO library, this creates ONLINE (and BATCH204 alias) in M204.V75.LOADLIB - I don't need IFAM1 nor IFAM4.
  4. Simple smoke test - run BATCH204 with 'DISPLAY ZAPS' and 'ROCKET' commands
  5. Copy member LKALLUT2 from M204.V75.RKOBJ204.OBJLIB to my TSO libary, and see all << lines to customize for my site; submit this jobstream
  6. Ensure that any JCL which performs deferred index sorting for Model 204 version 7.5 (typically, FLOD jobs) uses the new M204.V75.LOADLIB for the E15 (OI15OS)and E35 (OI35OS) sort exits. This is automatic with standard FLOD JCL.
Reminder: the above section is an example for one typical installation workflow; the remainder of this page explains all installation steps in detail

Downloading the object library and other components

This section is under construction. It will be cribbed from the instructions on the download page. A key thing mentioned is our use of RKOBJ204 in the documentation to refer to the downloaded object library.

Do not modify RKOBJ204

Once you have created the object library ("RKOBJ204") on your z/OS system, do not update it in any way (unless, in rare circumstances, you download it for the same version of Model 204).

Also, do not store other members into the object library; it should only contain the members as supplied in a download from the web site. For those object files which you might assemble (for example, FUNU or RACFPARM), you should place those into a separate object library (also designated for use with version 7.5).

Linking the Model 204 ONLINE load module

Note: If you have your own FUNU, it must be assembled before linking the ONLINE/IFAM1/IFAM4 load modules.

After downloading the object library, one of the members of RKOBJ204 is named JZLONLN - the basic ONLINE link JCL. You can use copy this into a job to link-edit the Model 204 online. It contains a number of choices which you can make to modify this basic JCL; each choice is indicated in the JCL by a line which ends with <<.

Most of the choices are "optional", in the sense that a working ONLINE does not require the indicated modification, although, for many customers' environments, a modification will be needed, for example, to select an external authorizer.

1One of the modifications is always required, based on whether the ONLINE is to use RSQL (for Connect*) or not:
  • To link an ONLINE which does use RSQL, you must un-comment the INCLUDE RKOBJ204(LKSQLONL) statement.
  • To link an ONLINE which does not use RSQL, you must un-comment the INCLUDE RKOBJ204(LKNOSONL) statement.

Do not un-comment both of them.

2The other modification frequently needed is to use an external authorizer such as RACF or ACF2. If you use and external authorizer, you must:
  • Assemble the xxxPARM for your external authorizer, adding the object file (e.g., RACFPARM or ACF2PARM) to a *different* object library (with the same DCB attributes as RKOBJ204). We refer to this as your local object library (it will also be used for other assemble output, such as your FUNU).
  • In the SYSLIN DD *, un-comment the appropriate INCLUDE statement(s) for your external authorizer.

    Note: If you use ACF2, there are two INCLUDE statements to be un-commented; one refers to your system ACF2 library. You must un-comment the ACF2 DD as well, and fill in the DSN for that library.

3If you have other programs which you assemble for your Model 204 ONLINE module, for example, FUNU, they should be assembled into your local object library (creating one, if you have not already done so for the external authorizer xxxxPARM object file). You do *not* need to add additional INCLUDE statements for FUNU or other locally assembled object files - they are already present in the include streams from RKOBJ204.
4Hence, there are two choices for the RKOBJ204 DD statement:
  • If you have a local object library, fill that in for the first concatenation, and fill in the DSN of the RKOBJ204 library for the second concatenation.
  • If you do not have a local object library, there is only one dataset for the RKOBJ204 DD - your RKOBJ204 library.
5If you have an MQ series load library, you should un-comment the MQOLIB DD statement, and provide the correct DSN. This allows you to use the MQ Series feature of Model 204, either if you are already authorized for it, or to support a trial of it, without requiring re-linking of the load module.
6Finally, change the DSN of the SYSLMOD DD to the load module library you have allocated for it.

The modified JCL is now ready to run.

Notes:

  • There is not a separate link step for BATCH204. It is not maintained as a separate module; the same module as ONLINE is used, with a BATCH204 alias.
  • The object library has the authorization zap pre-applied, so you *do not* need to get a new one from the web site.
  • It also has the maintenance zaps (as of the time the stream was prepared) pre-applied, so you do not need to apply any maintenance.

Basic JCL to link ONLINE

The following exhibits the JCL to link the ONLINE load module; however, since it is present (and up to date) in the object library as member JZLONLN, you should copy it from there to use to submit the ONLINE link job.


//LKM204P PROC HLQ=, High level qualifier(s) of install DSNs // MQ=NULLFILE, IBM MQ series load library // ACF2=NULLFILE ACF2 security interface load/objlib //* //* ******* z/OS JCL PROC to link edit into Model 204 loadlib ****** //* //* ****************************************************************** //* ** Do not copy nor edit this PROC. It is invoked by a ** //* ** jobstream member (such as LKONLNJ, LKIFAM1, etc.) for the ** //* ** particular load module you are linking. You should copy the ** //* ** jobstream member from the downloaded object library and then ** //* ** edit in a local TSO library. The jobstream contains ** //* ** instructions to modify and submit that jobstream. ** //* ****************************************************************** //* //* The first symbolic parameter (HLQ=) is required. //* //* The other two depend on the jobstream being used to invoke this //* PROC, and on your Model 204 configuration. //* //* Detailed explanations are also available for the load module //* you are linking at //* //* http://m204wiki.rocketsoftware.com/index.php/M204_inst_zOS //* //M204LINK EXEC PGM=IEWL,REGION=0M, // PARM='SIZE=(2048K,200K),LIST,LET,NCAL,MAP,AC=1,RMODE=ANY' //SYSPRINT DD SYSOUT=* //* //RKOBJ204 DD DISP=SHR,DSN=&HLQ..M204V75.LOCAL.OBJLIB, // DCB=BLKSIZE=32720 // DD DISP=SHR,DSN=&HLQ..M204V75.RKOBJLIB Downloaded obj lib //* //SYSLMOD DD DISP=SHR,DSN=&HLQ..M204V75.LOADLIB Model 204 modules //* //MQ DD DISP=SHR,DSN=&MQ IBM MQ series load library //* //ACF2 DD DISP=SHR,DSN=&ACF2 ACF2 system load/object library //* // PEND ************** End of LKM204P PROC *************

Linking the Model 204 utility load modules

This section describes how to link edit the Model 204 utilities. This step must be performed whenever installing a new version of Model 204.

Many of the utility load modules are compatible across versions of Model 204; therefore, your z/OS jobs which use older versions of those load modules will continue to perform correctly when used in conjunction with the new version of Model 204, and you do not need to change the JOBLIB nor STEPLIB JCL — for example, you do not need to change any of your batch jobs which have PGM=BATCH204.

However, for some utility load modules, you must use the new version. These modules are:

  1. A few utilities are sensitive to the Model 204 journal and checkpoint format. Therefore, when you are using the following utilities, you must use the version of the utility which is the same as the version of the checkpoint or journal dataset it processes:
    AUDIT204Extract from journal, and report stats and analysis
    MERGEJMerge concurrent journal streams
    UTILCInformation from checkpoint stream
    UTILJInformation from journal stream; add EOF markers

and

  1. In addition to the above utility load modules, be sure to read the sub-section titled "Important instructions for version m.n", for the version of Model 204 you are installing; it may contain instructions for other utility load modules for which you must use a new version.

Utility load modules link job

The downloaded object library contains a member named LKALLUT2, which is a jobstream to link the Model 204 utility load modules. Copy LKALLUT2 into a local TSO library, edit it for you configuration, and submit it to link the utility load modules.

The contents of LKALLUT2 are shown below; other than replacing the first line with a JOB card, the only changes needed are to place your downloadObjectLib and m204LoadLib dataset names on the three lines indicated with <<:


//name JOB jobCardParameters //* // JCLLIB ORDER=(hlq.M204V77.RKOBJLIB) 1 << //* //* Jobstream to link Model 204 utility load modules. //* //* In a copy from the downloaded object library, modify all //* lines marked '<<' on the right, and submit the job: //* //* 1: Change 'hlq' to the same value provided in (2) - the value //* inside parentheses will then be the DSN of the downloaded //* object library //* //* 2: Provide the high level qualifier(s) of all Model 204 //* installation DSNs //* //* For detailed explanations, see //* //* http://m204wiki.rocketsoftware.com/index.php/M204_inst_zOS#lkutils //* //* (-- For Rocket Support only: filename=JZJALLUT 7.7 2016/11/14 --) //* //LKALLUT EXEC LKALLUTP, // HLQ= 2 <<

A prototype copy of the PROC which this JCL invokes is shown below; the download process provides the proper concatenation of RKOBJ204 members for the SYSLIN DD. The included member list depends on the version of Model 204 being installed —

  • you can examine the prototype shown here but you do not need to modify it:

Template:JZLALLUT

FUNU and optional MSGU

This section lists installation considerations if you have your own user-written $functions module (FUNU). These instructions apply to every installation of Model 204.

Notes:

  • If you have your own FUNU, it must be assembled as before linking the ONLINE/IFAM1/IFAM4 load modules.
  • Some customers which have their own FUNU also have their own MSGU module. If so, MSGU must also be assembled before linking ONLINE/IFAM1/IFAM4.

If you have your own FUNU, the following items are required for installation of every version of Model 204:

  1. After making any changes required for the version of Model 204 you are installing, run the job to assemble FUNU into your local object library. (This job will also be used to assemble MSGU, if you have it.)
  2. Be sure that you have modified the JCL to link ONLINE to reference your local object library (the RKOBJ204 DD statement will be the concatenation of your local object library and the downloaded object library).
  3. You do not need to insert any INCLUDE statements for either FUNU nor MSGU; they are already present in the INCLUDE member (LKSQLONL or LKNOSONL) provided in the downloaded object library.

In addition, see additional FUNU considerations as described in the following sections:

FUNU changes for versions 7.5 and later

Starting with version 7.5 of Model 204, all $functions are entered in AMODE 64. This requires you to modify the ENTER macro for each $function, and may require you to modify the code for proper addressing in AMODE 64.

  • In order to exploit QTBL above the 2G bar, any $functions which has arguments must be in AMODE 64. The ENTER macro should use ZMODE=GQ (the AMODE will remain as 64) and the code must be changed for proper addressing.
  • For the ENTER macro, the ZMODE operand default value (for FUNU only) is ZMODE=31. So if the $function does not have any arguments or if you will not exploit QTBL above the bar, and if the $function does not access any data structures above the bar, either specify ZMODE=31 or omit the ZMODE operand. (Note that most Model 204 data structures can be above the bar, including $function arguments.) The ZMODE=31 value will be used, causing your $function to switch to AMODE 31 at entry (and restore the AMODE upon exit).
  • In any case, the AMODE issues need to be accounted for in any routines which your $function routine does a CCALL to.

See also