Model 204 installation

From m204wiki
Revision as of 13:07, 24 August 2014 by Dme (talk | contribs)
Jump to navigation Jump to search

This page contains 3 major sections — the instructions are provided for each operating system:

The first sub-sections for each operating system are titled "Important instructions for version m.n", for each of the currently supported versions of Model 204.

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

  • Linking the ONLINE (and, if you use them, IFAM1 and IFAM4) load modules
  • Linking the Model 204 utility load modules — some of these must always be utilized together with the new version
  • Assembling FUNU, if you have user-written $functions

 

Components for installation

When you visit the Model 204 object file download page (need better download page) which has object library, source/macro/copy library, and (need better term) "collection" of Model 204 dump files), you will be able to download the following items for a given version of Model 204:

  • the Model 204 object library - used to link ONLINE and various other load modules
  • the Model 204 source/macro/copy library - used if your installation requires assembing of any z/OS ASSEMBLE files
  • the collection (need a better word - depends on how we package them) of Model 204 procedure files with SOUL programs

z/OS installation

blah blah under construction need some narrative here

Be sure to read the sub-section below titled "Important instructions for version m.n", for the version of Model 204 you are installing.

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

Important instructions for version 7.5

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

  • 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

  • if you have your own user $functions (FUNU),
    • modify FUNU for 64-bit addressing considerations

Downloading the object library in z/OS

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.

FUNU

This section lists installation considerations if you have your own user-written $functions module (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.
  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 an INCLUDE statement for FUNU; there is already one 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:

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.

  • The default ENTER macro (that is, without the ZMODE= operand) will not function in AMODE 64 - it will issue a BUG message (label Bad AMODE, expect 31) and produce a snap.
  • 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.
  • If the $function does not have any arguments or if you will not exploit QTBL above the bar, and if your $function does not access any other data structures which may be above the bar, you can use the ZMODE=31 operand on the ENTER macro. This will cause 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.

Linking the Model 204 ONLINE load module

After downloading the object library, one of the members of ROKOB204 is named JZLONLN - the basic ONLINE link JCL. You can use this 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.

1Only one modification 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.
2The other modification frequently needed is to use an external authorizer such as RACF or ACF2. If you do, you must:
  • Prepare the appropriate xxxPARM object file (e.g., RACFPARM orACF2PARM), adding that to a *different* object library (with the same DCB attributes as ROKOB204). We refer to this as your local object libary (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 ROKOB204 DSN 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

//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

blah blah

The JCL PROC necessary to link these load modules is provided as member JZLALLUT in the downloaded object library; a copy of it is shown here:

Template:JZLALLUT