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 13: Line 13:
<li>[[#FUNU|Assemble FUNU]] (and optionally MSGU), if you have user-written $functions.
<li>[[#FUNU|Assemble FUNU]] (and optionally MSGU), if you have user-written $functions.
<li>Link the [[#lkonln|ONLINE]] (and, if you use them, the [[#link_ifam1|IFAM1]] and [[#link_ifam4|IFAM4]]) load modules.
<li>Link the [[#lkonln|ONLINE]] (and, if you use them, the [[#link_ifam1|IFAM1]] and [[#link_ifam4|IFAM4]]) load modules.
<li>Link the <var class="product">Model 204</var> [[#link_utils|utility load modules]].
<li>Link the <var class="product">Model 204</var> [[#lkutils|utility load modules]].
</ol>
</ol>
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.
Line 31: Line 31:
<ul>
<ul>
   
   
<li>after you [[#link_utils|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
   
   
<li>if you use XDM CRAM, either:
<li>if you use XDM CRAM, either:
Line 197: Line 197:
{{Template:JZLONLN}}
{{Template:JZLONLN}}
   
   
<div id="link_utils"></div>
<div id="lkutils"></div>
==Linking the Model 204 utility load modules==
==Linking the Model 204 utility load modules==
<!--Caution: <div> above-->
<!--Caution: <div> above-->

Revision as of 23:19, 2 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 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 nor extracted.

 

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:

  • 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.0D XDM load modules

    or

  • if you have your own user $functions (FUNU),

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.ROKOB204.DISTRIB
  • M204.V75.ROKOB204.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.ROKOB204.DISTRIB // LIB=M204.V75.ROKOB204.OBJLIB

  2. Download object file from web site (M204V75.OBJ)
  3. Upload to mainframe, Binary, FB/80/3120, as M204.V75.ROKOB204.DISTRIB
  4. Run MYBLDOB from my TSO library; this deletes and then creates M204.V75.ROKOB204.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 (or INSTALL.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 JZLONLN from M204.V75.ROKOB204.OBJLIB to my TSO libary, and follow instructions there to customize for my site
    • only customization I need is for RACF
    • use M204.V75.LOADLIB as SYSLMOD DD
    • Submit JZLONLN 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. Create and submit following jobstream to link the utility load modules:

    //name JOB jobCardParameters // JCLLIB ORDER=(M204.V75.ROKOB204.OBJLIB) //LKALLUT EXEC LKALLUT, // ROKOB204=M204.V75.ROKOB204.OBJLIB // SYSLMOD=M204.V75.LOADLIB

  6. Ensure that any JCL which performs deferred index sorting for Model 204 version 7.5 use (typically, file load (FLOD/FILELOD) jobs) uses the new M204.V75.LOADLIB for the E15 (OI15OS)and E35 (OI35OS) sort exits.

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 ROKOB204 in the documentation to refer to the downloaded object library.

Do not modify ROKOB204

Once you have created the object library ("ROKOB204") on your z/OS system, do not update it in any way (except via a new download for the same version of Model 204). Also, you will not need to copy any of the members anywhere to submit jobs, with the exception of copying the online link step (or IFAM1 link step or IFAM4 link step) to modify it for submission.

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 ROKOB204.

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 ROKOB204 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 ROKOB204(LKSQLONL) statement.
  • To link an ONLINE which does not use RSQL, you must un-comment the INCLUDE ROKOB204(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 ROKOB204). 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 - with the same DCB attributes as ROKOB204 - 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 ROKOB204.
4Hence, there are two choices for the ROKOB204 DD statement:
  • If you have a local object library, fill that in for the first concatenation, and fill in the DSN of the ROKOB204 library for the second concatenation.
  • If you do not have a local object library, there is only one dataset for the ROKOB204 DD - your ROKOB204 library.
5Finally, 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 LKLALLUT, which is a JCL PROC to link the Model 204 utility load modules. This PROC is invoked as follows; place your downloadObjectLib and m204LoadLib dataset names on the three lines indicated with <<:

//name JOB jobCardParameters // JCLLIB ORDER=(downloadObjectLib) << //LKALLUT EXEC LKALLUT, // ROKOB204=downloadObjectLib, << // SYSLMOD=m204LoadLib <<

A prototype copy of LKLALLUT in the object library is shown here; the download process provides the proper concatenation of ROKOB204 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 ROKOB204 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