Downloading and installing Rocket M204 products: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Undo revision 72505 by JDamon (talk))
 
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
__TOC__
This page provides Help for downloading from the "Object files" page that is accessed from the Rocket website [https://m204.rocketsoftware.com/ Rocket M204 Customer Care] page.  
<div id="downloadObject"></div>
==How can the object files be downloaded?==
<!--Caution: <div> above-->
The object files can be downloaded by clicking on the link for the object file with the <b>right</b> mouse button.
This will (on most browsers) bring up a pop-up menu that will have an option <i>Save Link As</i>, <i>Save target As</i>, <i>Save As</i>, or something similar.
Select this option, and then set the appropriate target directory (and name if desired) for the file.
The object file will then be downloaded to the indicated location.
 
Alternatively, click the <b>left</b> mouse button on the link for an object file. This will result in the browser prompting the user whether the file should be saved, where it should be saved, and under what name.
Some browsers prompt for this information before the object file is actually downloaded; others prompt for it after.
Obviously, those that prompt after will present a considerable delay before the prompt.
Opera actually prompts as soon as it receives the file header but continues downloading while waiting for the user response.


==<b id="downloadObject"></b>How can the object files be downloaded?==
An object files can be downloaded by clicking on the "Download object file" link in the right-most column for the object file you want.
Object files are customized for a particular site, simplifying the installation process.
Object files are customized for a particular site, simplifying the installation process.
Because of this, there may be a noticeable delay in processing a download request.
Because of this, there may be a noticeable delay in processing a download request.
In addition, the downloaded object files can range in size from hundreds of kilobytes to perhaps 10 megabytes.
In addition, the downloaded object files can range in size from hundreds of kilobytes to perhaps ten megabytes.


If an e-mail transfer is selected, the object deck will be e-mailed to the indicated e-mail address as an attachment.
If you select an e-mail transfer, the object deck is e-mailed to the indicated e-mail address as an attachment.
The attachment should be saved to a local file and then uploaded to the mainframe exactly as if it had been downloaded directly.
The attachment should be saved to a local file, then uploaded to the mainframe exactly as if it had been downloaded directly.
Receiving the object deck via e-mail might take a little longer than downloading it directly, but it allows you to schedule a set of object to be sent to a different person in your organization.
Receiving the object deck via email might take a little longer than downloading it directly, but it allows you to schedule a set of objects to be sent to a different person in your organization.


<div id="objup"></div>
==<b id="objup"></b>How can the object files be uploaded to the mainframe?==
==How can the object files be uploaded to the mainframe?==
<p>
<!--Caution: <div> above-->
Once the object files are downloaded to the workstation, they must be uploaded to the z/OS, VM, or VSE system on the IBM mainframe.
Any file transfer mechanism can be used, including FTP and IND$FILE, but regardless of the transfer mechanism, some rules must be observed: </p>
<ul>
<li>The object files contain binary data and hence <b>must</b> be transferred as binary.
That is, no translation from ASCII to EBCDIC must occur as a result of the upload. </li>


Once the object files are downloaded to the workstation they must be uploaded to the z/OS, VM, or VSE system on the IBM mainframe.
<li>The format and LRECL of the file must be specified during the upload.
Any file transfer mechanism can be used including FTP and IND$FILE, but regardless of the transfer mechanism some rules must be observed.
This is because most workstation systems (including Windows, Mac OS, and Unix) do not have a concept of file formats and LRECLs.
 
First, the object files contain binary data and hence <b>must</b> be transferred as binary.
That is, no translation from ASCII to EBCDIC must occur as a result of the upload.
 
Second, the format and LRECL of the file must be specified during the upload.
This is because most workstation systems (including Windows, Mac OS and Unix) do not have a concept of file formats and LRECL's.
This information would be lost if it were not specified during the upload.
This information would be lost if it were not specified during the upload.
The format of the uploaded file must be <i>F</i> under VM systems and <i>FB</i> under z/OS and VSE systems. The LRECL must be
<p>
80 on all systems and under z/OS and VSE the blocksize can be any multiple of 80 though 3120 is a common blocksize for object libraries.
The format of the uploaded file must be <code>F</code> under VM systems and <code>FB</code> under z/OS and VSE systems. The LRECL must be
80 on all systems, and under z/OS and VSE the blocksize can be any multiple of 80 (though 3120 is a common blocksize for object libraries). </p></li>


When using FTP, the characteristics (RECFM, LRECL, and BLOCKSIZE) of the uploaded file can be set with the <i>SITE</i> and <i>LOCSITE</i> FTP commands.
<li>When using FTP, the characteristics (RECFM, LRECL, and BLOCKSIZE) of the uploaded file can be set with the <code>SITE</code> and <code>LOCSITE</code> FTP commands.
The SITE command should be used if the FTP client is on the workstation and the server is on the mainframe.
The <code>SITE</code> command should be used if the FTP client is on the workstation and the server is on the mainframe.
In this case the SITE command might have to be sent as a "quote" to the mainframe.
In this case the <code>SITE</code> command might have to be sent as a "quote" to the mainframe.
How this is done depends on your workstation's FTP client.
How this is done depends on your workstation's FTP client.
The LOCSITE command should be used if the FTP client is on the mainframe and the server is on the workstation.
The <code>LOCSITE</code> command should be used if the FTP client is on the mainframe and the server is on the workstation. </li>
</ul>


The next two subsections describe the mainframe datasets which should be used to contain the uploaded object file, for either [[#upldM204|Model 204 installation]] or [[#upldOth|other object files]].
The next two subsections describe the mainframe data sets that should be used to contain the uploaded object file, for either [[#upldM204|Model 204 installation]] or [[#upldOth|other object files]].


<div id="upldM204"></div>
===<b id="upldM204"></b>Model 204 object library===
===Model 204 object library===
The Model 204 installation process entails creating an object library (in z/OS, a library is a Partitioned Data Set, or PDS) and a macro library, which are then used in subsequent steps for Model 204 installation.  After getting the download for both the object and macro libraries, FTP (Binary F 80) them to the mainframe, then use the [[Model 204 installation on IBM z/OS#bldLibs|JCL that creates]] these libraries.
<!--Caution: <div> above-->
The Model 204 installation process entails creating an object library (in z/OS, a library is a Partitioned Data Set, or PDS) and a macro library, which are then used in subsequent steps for Model 204 installation.  After getting the download for both the object and macro libraries and FTPing (Binary F 80) them to the mainframe, use the [[M204_inst_zOS#bldLibs|JCL which creates]] these libraries.


<div id="upldOth"></div>
===<b id="upldOth"></b>Other object files===
 
===Other object files===
<!--Caution: <div> above-->
For products other than Model 204, the downloaded file is a single object file.
For products other than Model 204, the downloaded file is a single object file.
Under z/OS, you can upload an object file either as a member of a Partitioned Data Set (PDS) or as an individual sequential file.
Under z/OS, you can upload an object file either as a member of a Partitioned Data Set (PDS) or as an individual sequential file.
A PDS is recommended as a good way to collect all your Rocket M204 object file uploads in one dataset, using the member name to show the product and version.
A PDS is recommended as a good way to collect all your Rocket M204 object file uploads in one data set, using the member name to show the product and version.


==Should maintenance be applied to the uploaded object files?==
==Should maintenance be applied to the uploaded object files?==
When Rocket M204 products are downloaded, they will contain all of the current maintenance as well as all applicable authorization keys.
When Rocket M204 products are downloaded, they will contain all of the current maintenance as well as all applicable authorization keys.
Thus no additional additional installation steps steps are required to install maintenance or authorization keys.
Thus no additional installation steps are required to install maintenance or authorization keys.
Subsequent fixes can be applied by downloading ZAPs and applying them, or by downloading a replacement object file and re-linking the appropriate load modules.
Subsequent fixes can be applied by downloading ZAPs and applying them, or by downloading a replacement object file and re-linking the appropriate load modules.


<div id="linkM204"></div>
==<b id="linkM204"></b>How should the Model&nbsp;204 load modules be linked under z/OS?==
==How should the Model 204 load modules be linked under z/OS?==
The Model&nbsp;204 object library you created contains object files, JCL, and link-edit control statements so that you can link the Model&nbsp;204 load modules.
<!--Caution: <div> above-->
(This library, of course, has the DSNAME you chose &mdash; but in Model&nbsp;204 documentation, the object library is referred to as <b>RKOBJLIB</b>).


The Model 204 object library you created contains object files, JCL, and link-edit control statements so that you can link the Model 204 load modules.
One of the members of RKOBJLIB is a text file named <code>_README</code> that includes a list of the Model&nbsp;204 load modules and individual instructions for linking them.
(This library, of course, has the DSNAME you chose &mdash; but in our documentation, we refer to the object library as <b>RKOBJ204</b>).


One of the members of RKOBJ204 is a text file named README, which includes a list of the Model 204 load modules, and individual instructions for linking them.
For example, the jobstream to link the ONLINE load module is in a member named <code>LKONLNJ</code>.
 
For example, the jobstream to link the ONLINE load module is in a member named LKONLN2.
To link ONLINE, copy this member to your TSO library, edit it, and submit it.  The jobstream has simple instructions indicating what changes to make.
To link ONLINE, copy this member to your TSO library, edit it, and submit it.  The jobstream has simple instructions indicating what changes to make.
These instructions are complete, but more detail can be found by following the [[M204_inst_zOS#lkonln|link]] in one of the comments in the JCL.
These instructions are complete, but more detail can be found by following the [[Model 204 installation on IBM z/OS#lkonln|link]] in one of the comments in the JCL.


==What are the Sirius Mods?==
==What are the Sirius Mods?==
The <i>Sirius&nbsp;Mods</i> is a collection of functions and enhancements to the core <i>Model&nbsp;204</i> load module.
The <var class="product">Sirius&nbsp;Mods</var> is a collection of functions and enhancements to the core <var class="product">Model&nbsp;204</var> load module.
These enhancements are either products in and of themselves, or they are prerequisites for products which are written in User Language.
These enhancements are either products in and of themselves, or they are prerequisites for products that are written in [[SOUL]].
A site is authorized to download all of the <i>Sirus&nbsp;Mods</i> if it is licensed for any of the products that require these enhancements.
A site is authorized to download all of the <var class="product">Sirus&nbsp;Mods</var> if it is licensed for any of the products that require these enhancements.
Your authorization key will then enable the appropriate set of products.
Your authorization key will then enable the appropriate set of products.


Products that require the <i>Sirius&nbsp;Mods</i> are:
Products that require the <var class="product">Sirius&nbsp;Mods</var> are:


* Fast/Backup
* Fast/Backup
Line 111: Line 93:
* Trusted Login Facility
* Trusted Login Facility


You can determine which of these products your site is authorized for by examining [https://m204.rocketsoftware.com/maint/dlist your customer profile]. After the <i>Sirius&nbsp;Mods</i> are installed, you can verify product authorizations by issuing the <b>SIRIUS</b> command in an Online running a load module that includes the <i>Sirius&nbsp;Mods</i>.
You can determine which of these products your site is authorized for by examining [https://m204.rocketsoftware.com/maint/dlist your customer profile]. After the <var class="product">Sirius&nbsp;Mods</var> are installed, you can verify product authorizations by issuing the <b>SIRIUS</b> command in an Online running a load module that includes the <var class="product">Sirius&nbsp;Mods</var>.


===How should the Sirius Mods object file be linked under z/OS?===
===How should the Sirius Mods object file be linked under z/OS?===
The <i>Sirius&nbsp;Mods</i> object file should be linked ahead of the Model&nbsp;204 object modules from Rocket.
The <var class="product">Sirius&nbsp;Mods</var> object file should be linked ahead of the Model&nbsp;204 object modules from Rocket.
Under z/OS, an object deck can be re-linked with a load module.
Under z/OS, an object deck can be re-linked with a load module.
In theory, this load module can already contain the <i>Sirius&nbsp;Mods</i>.
In theory, this load module can already contain the <var class="product">Sirius&nbsp;Mods</var>.
While this is generally OK if linking over the same release of the <i>Sirius&nbsp;Mods</i>, it is almost certainly a bad idea otherwise.
While this is generally alright if linking over the same release of the <var class="product">Sirius&nbsp;Mods</var>, it is almost certainly a bad idea otherwise.
As such, it is a good idea to keep a load module without the <i>Sirius&nbsp;Mods</i> available for rebuilding a load module with the <i>Sirius&nbsp;Mods</i>.
As such, it is a good idea to keep a load module without the <var class="product">Sirius&nbsp;Mods</var> available for rebuilding a load module with the <var class="product">Sirius&nbsp;Mods</var>.
The non-<i>Sirius&nbsp;Mods</i> load module should have all Rocket ZAPs applied, or these ZAPs should be applied after the re-link with the <i>Sirius&nbsp;Mods</i> object file.
The non-<var class="product">Sirius&nbsp;Mods</var> load module should have all Rocket ZAPs applied, or these ZAPs should be applied after the re-link with the <var class="product">Sirius&nbsp;Mods</var> object file.


Should Rocket provide replacement object files as part of their maintenance, these object files must <b>never</b> be linked ahead of the <i>Sirius&nbsp;Mods</i> object file.
Should Rocket provide replacement object files as part of their maintenance, these object files must <b>never</b> be linked ahead of the <var class="product">Sirius&nbsp;Mods</var> object file.
This also means that replacement Rocket object files cannot simply be linked ahead of a load module containing the <i>Sirius&nbsp;Mods</i> without also linking the <i>Sirius&nbsp;Mods</i> object file ahead of the replacement object files from Rocket.
This also means that replacement Rocket object files cannot simply be linked ahead of a load module containing the <var class="product">Sirius&nbsp;Mods</var> without also linking the <var class="product">Sirius&nbsp;Mods</var> object file ahead of the replacement object files from Rocket.


Both of the next two examples assume you [[#objup|uploaded]] the object file into library SIRIUS.LIB with a member name of SIR80074.
Both of the next two examples assume you [[#objup|uploaded]] the object file into library <code>SIRIUS.LIB</code> with a member name of <code>SIR80074</code>.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after <code>INCLUDE LIB</code>.


The following JCL is an example of how you would link the <i>Sirius&nbsp;Mods</i> object file with a standard <i>Model&nbsp;204</i> load module called ONLINE in
The following JCL is an example of how you would link the <var class="product">Sirius&nbsp;Mods</var> object file with a standard <var class="product">Model&nbsp;204</var> load module called <code>ONLINE</code> in
library M204.V7R4.LOADLIB. The module is linked into library SIRIUS.LOAD.
library <code>M204.V7R4.LOADLIB</code>. The module is linked into library <code>SIRIUS.LOAD</code>.


<code>
<p class="code">//JOB      whatever
//JOB      whatever
//LINK    EXEC PGM=IEWL,REGION=0M,
//LINK    EXEC PGM=IEWL,REGION=0M,
//            PARM='LIST,LET,MAP,SIZE=(2048K,512K),RMODE=ANY,AC=1'
//            PARM='LIST,LET,MAP,SIZE=(2048K,512K),RMODE=ANY,AC=1'
//SYSPRINT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//M204LOAD DD DSN=M204.V7R4.LOADLIB,DISP=SHR
//M204LOAD DD DSN=M204.V7R4.LOADLIB,DISP=SHR
//SYSUT1  DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT1  DD UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD DSN=SIRIUS.LIB,DISP=SHR
//LIB      DD DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD DSN=SIRIUS.LOAD,DISP=SHR
//SYSLMOD  DD DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
//SYSLIN  DD  *
INCLUDE LIB(SIR80074)
  INCLUDE LIB(SIR80074)
INCLUDE M204LOAD(ONLINE)
  INCLUDE M204LOAD(ONLINE)
ENTRY MAINTASK
  ENTRY MAINTASK
NAME ONLINE(R)
  NAME ONLINE(R)
/*
/*
</p>
</code>


The following JCL is an example of how you would link the <i>Sirius&nbsp;Mods</i> object file with a standard <i>Model&nbsp;204</i> load module called ONLINE in
The following JCL is an example of how you would link the <var class="product">Sirius&nbsp;Mods</var> object file with a standard <var class="product">Model&nbsp;204</var> load module called <code>ONLINE</code> in
library M204.V7R4.LOADLIB, along with replacement object decks for EVNU and SBFM, which were provided with Rocket maintenance and are in library M204.V7R4.FIXOBJ.
library <code>M204.V7R4.LOADLIB</code>, along with replacement object decks for <code>EVNU</code> and <code>SBFM</code>, which were provided with Rocket maintenance and are in library <code>M204.V7R4.FIXOBJ</code>.
The module is linked into library SIRIUS.LOAD.
The module is linked into library <code>SIRIUS.LOAD</code>.


<code>
<p class="code">//JOB      whatever
//JOB      whatever
//LINK    EXEC PGM=IEWL,REGION=0M,
//LINK    EXEC PGM=IEWL,REGION=0M,
//             PARM='LIST,LET,MAP,SIZE=(2048K,512K),RMODE=ANY,AC=1'
//           PARM='LIST,LET,MAP,SIZE=(2048K,512K),RMODE=ANY,AC=1'
//SYSPRINT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//M204LOAD DD  DSN=M204.V7R4.LOADLIB,DISP=SHR
//M204LOAD DD  DSN=M204.V7R4.LOADLIB,DISP=SHR
//M204FIX  DD  DSN=M204.V7R4.FIXOBJ,DISP=SHR
//M204FIX  DD  DSN=M204.V7R4.FIXOBJ,DISP=SHR
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
//SYSLIN  DD  *
INCLUDE LIB(SIR80074)
  INCLUDE LIB(SIR80074)
INCLUDE M204FIX(EVFM,SBFM)
  INCLUDE M204FIX(EVFM,SBFM)
INCLUDE M204LOAD(ONLINE)
  INCLUDE M204LOAD(ONLINE)
ENTRY MAINTASK
  ENTRY MAINTASK
NAME ONLINE(R)
  NAME ONLINE(R)
/*
/*
</p>
</code>


===How should the Sirius Mods object file be linked under CMS?===
===How should the Sirius Mods object file be linked under CMS?===
The <i>Sirius&nbsp;Mods</i> object file should be linked ahead of the Model&nbsp;204 object modules from Rocket.
The <var class="product">Sirius&nbsp;Mods</var> object file should be linked ahead of the Model&nbsp;204 object modules from Rocket.
This means, first, that the object file's filetype must conform to CMS conventions for object files.
This means, first, that the object file's filetype must conform to CMS conventions for object files.
The simplest way to ensure this is to use a filetype of TEXT for the object file under CMS.
The simplest way to ensure this is to use a filetype of <code>TEXT</code> for the object file under CMS.


To link with the Rocket-supplied M204GEN utility, the <i>Model&nbsp;204</i> load list must be modified to include the <i>Sirius&nbsp;Mods</i> object file.
To link with the Rocket-supplied M204GEN utility, the <i>Model&nbsp;204</i> load list must be modified to include the <var class="product">Sirius&nbsp;Mods</var> object file.
This can be done by simply inserting a line with an "&1 &2" followed by the filename of the <i>Sirius&nbsp;Mods</i> object file before the name of any other object file in the load list.
This can be done by simply inserting a line with <code>&1 &2</code> followed by the filename of the <var class="product">Sirius&nbsp;Mods</var> object file before the name of any other object file in the load list.
The following is an example of the first few lines of an updated load list, where the <i>Sirius&nbsp;Mods</i> object file is called "SIR80074 TEXT".
The following is an example of the first few lines of an updated load list, where the <var class="product">Sirius&nbsp;Mods</var> object file is called <code>SIR80074 TEXT</code>.


<code>
<p class="code">&#42; LOAD LIST FOR M204ONLN MODULE
* LOAD LIST FOR M204ONLN MODULE
&#42; (&START IN MLNK)
* (&START IN MLNK)
&1 &2 SIR80074
  &1 &2 SIR80074
&1 &2 MLNK
  &1 &2 MLNK
&1 &2 ACF2CMS
  &1 &2 ACF2CMS
&1 &2 ANXV
  &1 &2 ANXV
&1 &2 APSY
  &1 &2 APSY
&1 &2 APSZ
  &1 &2 APSZ
&1 &2 ARTH
  &1 &2 ARTH
...  
  . . . . .
</p>
</code>


Because the <i>Sirius&nbsp;Mods</i> dynamically adds hooks to the load module, Sirius recommends against using shared segments with the <i>Sirius&nbsp;Mods</i>.
Because the <var class="product">Sirius&nbsp;Mods</var> dynamically adds hooks to the load module, using shared segments with the <var class="product">Sirius&nbsp;Mods</var> <b><i>is not recommended</i></b>.
If this is considered essential, contact Sirius Software technical support for help in building a load module with the <i>Sirius&nbsp;Mods</i> and shared segments.
If this is considered essential, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]] for help in building a load module with the <i>Sirius&nbsp;Mods</i> and shared segments.


An exec called LOADCONV is also available to automatically convert the loadlist, it can be [https://m204.rocketsoftware.com/maint/download/loadconv.rex downloaded here].
An exec called <code>LOADCONV</code> is also available to automatically convert the loadlist. It can be [https://m204.rocketsoftware.com/maint/download/loadconv.rex downloaded here].
Note that LOADCONV requires that the filename of the <i>Sirius&nbsp;Mods</i> object file be "SIROBJ" followed by the <i>Model&nbsp;204</i> release to which it
Note that LOADCONV requires that the filename of the <var class="product">Sirius&nbsp;Mods</var> object file be <code>SIROBJ</code> followed by the <var class="product">Model&nbsp;204</var> release to which it
applies, as in "SIROBJ74".
applies, as in <code>SIROBJ74</code>.


If the M204GEN exec is being used, M204CCA PARMS needs to be edited.
If the M204GEN exec is being used, <code>M204CCA PARMS</code> needs to be edited.
First, in the M204GEN/DEFAULTS section, the ldrtbls value might need to be increased:
First, in the M204GEN/DEFAULTS section, the <code>ldrtbls</code> value might need to be increased:


<code>
<p class="code">M204GEN:
M204GEN:
DEFAULTS:
DEFAULTS:
  ldrtbls = 50
  ldrtbls = 50
</p>
</code>


Also, the load module start needs to include the <i>Sirius&nbsp;Mods</i> so in the ONLINE/ONLN section the line
Also, the load module start needs to include the <var class="product">Sirius&nbsp;Mods</var>. So change this line in the ONLINE/ONLN section:


<code>
<p class="code">start.mod  = MLNK$
    start.mod  = MLNK$
</p>
</code>


needs to be changed to
To:


<code>
<p class="code">start.mod  = SLNK$
    start.mod  = SLNK$
</p>
</code>


If you want to be able to generate a load module both with and without the <i>Sirius&nbsp;Mods</i>, you could copy the whole ONLINE section in M204CCA PARMS and call it something else, for example, SIRIUS, and change start.mod in that section.
To be able to generate a load module both with and without the <var class="product">Sirius&nbsp;Mods</var>:
Then, when you want to generate a load module with the <i>Sirius&nbsp;Mods</i> in it you'd simply type
<ol>
<li>Copy the whole <code>ONLINE</code> section in <code>M204CCA PARMS</code> and call it something else, for example, <code>SIRIUS</code>; then change <code>start.mod</code> in that section. </li>


<code>
<li>When you want to generate a load module with the <var class="product">Sirius&nbsp;Mods</var> in it, specify:
M204GEN SIRIUS
 
</code>
<p class="code">M204GEN SIRIUS
</p></li>
</ol>


===How should the Sirius Mods object file be linked under VSE?===
===How should the Sirius Mods object file be linked under VSE?===
The <i>Sirius&nbsp;Mods</i> object file should be linked ahead of the Model&nbsp;204 object files from Rocket. The example below shows an excerpt of the standard Rocket link JCL for an ONLINE.
The <var class="product">Sirius&nbsp;Mods</var> object file should be linked ahead of the Model&nbsp;204 object files from Rocket. The example below shows an excerpt of the standard Rocket link JCL for an Online.
To linkedit the online with the Sirius Mods, you must insert the include statement for the object module immediately after the PHASE statement.
To linkedit the Online with the <var class="product">Sirius Mods</var>, you must insert the include statement for the object module immediately after the <code>PHASE</code> statement.
In this example, the Sirius Mods object is named SIR80074.
 
If the Sirius Mods object module is in a separate library, the JCL should be modified to include that library in the SEARCH= paramter of the LIBDEF OBJ statement.
In this example, the <var class="product">Sirius Mods</var> object is named <code>SIR80074</code>.
If the <var class="product">Sirius Mods</var> object module is in a separate library, the JCL should be modified to include that library in the <code>SEARCH=</code> parameter of the <code>LIBDEF OBJ</code> statement.
 
If you include any other object modules, they also must appear after the Sirius Mods object.
If you include any other object modules, they also must appear after the Sirius Mods object.


<code>
<p class="code"> ...
...
// LIBDEF PHASE,CATALOG=M204LIB.V7R4
// LIBDEF PHASE,CATALOG=M204LIB.V7R4
// LIBDEF OBJ,SEARCH=M204LIB.V7R4
// LIBDEF OBJ,SEARCH=M204LIB.V7R4
// OPTION CATAL
// OPTION CATAL
PHASE ONLINE,* REPLACE=YES
  PHASE ONLINE,* REPLACE=YES
INCLUDE SIR80074
  INCLUDE SIR80074
INCLUDE LKONLN
  INCLUDE LKONLN
INCLUDE
  INCLUDE
ENTRY MAINTASK
  ENTRY MAINTASK
/*
/*
// EXEC LNKEDT
// EXEC LNKEDT
/*
/*
/&
/&
  ...
  ...
</code>
</p>


==How should the Fast/Unload object file be linked?==
==How should the Fast/Unload object file be linked?==
The following z/OS JCL is an example of how one would link the <i>Fast/Unload</i> object file.
The module is linked into library SIRIUS.LOAD.
This example assumes you [[#objup|uploaded]] the object file into library SIRIUS.LIB with a member name of FUN400.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.


<code>
===Under z/OS===
//JOB      whatever
The following z/OS JCL is an example of how one would link the <var class="product">Fast/Unload</var> object file for versions of Model&nbsp;204 and Fast/Unload prior to 7.7.
//LINK    EXEC PGM=IEWL,REGION=0M,
 
//           PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
For version 7.7 and higher of Model&nbsp;204 and Fast/Unload, no link job is necessary: Fast/Unload is integrated with the
//SYSPRINT DD  SYSOUT=*
Model&nbsp;204 Online load module (specified in the Online link job as an alias, like <code>ALIAS FUNLOAD(FUNLPGM)</code>).
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
  INCLUDE LIB(FUN400)
  ENTRY FUNLOAD
  NAME FUNLOAD(R)
/*
</code>


Under CMS, the <i>Fast/Unload</i> object file should be given a filetype of "TEXT".
The pre-7.7 module below is linked into library <code>SIRIUS.LOAD</code>.
The following commands can then be issued either directly or in an EXEC to build a FUNLOAD load module.
This example assumes you [[#objup|uploaded]] the object file into library <code>SIRIUS.LIB</code> with a member name of <code>FUN400</code>.
In this example, it is assumed that the Fast/Unload object file has a filename of FUN400.
If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after <code>INCLUDE LIB</code>.


<code>
<p class="code">//JOB      whatever
  LOAD FUN400 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET FUNLOAD RLDSAVE
//LINK    EXEC PGM=IEWL,REGION=0M,
GENMOD FUNLOAD (FROM FUNL
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
</code>
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
INCLUDE LIB(FUN400)
ENTRY FUNLOAD
NAME FUNLOAD(R)
/*
</p>
 
<blockquote class="warn"><b>Note:</b> If you see the following error message when linking Fast/Unload, you can safely ignore it. This message is erroneous:
<p class="code" style="font-size: 90%">IEW2651W 511C ESD AMODE 24 CONFLICTS WITH USER-SPECIFIED AMODE 31 FOR ENTRY POINT FUN400</p></blockquote>
===Under CMS===
Under CMS, the <var class="product">Fast/Unload</var> object file should be given a filetype of <code>TEXT</code>.
The following commands can then be issued either directly or in an EXEC to build a <code>FUNLOAD</code> load module.
In this example, it is assumed that the <var class="product">Fast/Unload</var> object file has a filename of <code>FUN400</code>.
 
<p class="code">LOAD FUN400 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET FUNLOAD RLDSAVE
GENMOD FUNLOAD (FROM FUNL
</p>


==Why were there three object files for SirTune?==
==Why were there three object files for SirTune?==
Beginning with Version 7.0 of the <i>Sirius&nbsp;Mods</i>, all <i>SirTune</i> functionality has been merged into the <i>Sirius&nbsp;Mods</i> and so the standalone <i>SirTune</i> load modules are obsolete.
Beginning with Version 7.0 of the <var class="product">Sirius&nbsp;Mods</var>, all <var class="product">SirTune</var> functionality has been merged into the <var class="product">Sirius&nbsp;Mods</var>, so the standalone <var class="product">SirTune</var> load modules are obsolete.


Prior to Version 7.0 of the <i>Sirius&nbsp;Mods</i>, however, <i>SirTune</i> consisted of three components.
Prior to Version 7.0 of the <var class="product">Sirius&nbsp;Mods</var>, however, <var class="product">SirTune</var> consisted of three components:
The first component was called the <i>SirTune Data Collector</i> or simply <i>SirTune</i>.
<ul>
This load module runs in the same address space as the <var class="product">Model 204</var> load module and collects data to be analyzed later.
<li>The first component is called the <code>SirTune Data Collector</code> or simply <code>SirTune</code>.
This load module runs in the same address space as the <var class="product">Model 204</var> load module, and it collects data to be analyzed later. </li>


The second component is called the <i>SirTune Report Generator</i>.
<li>The second component is called the <code>SirTune Report Generator</code>.
This load module is run independently of <var class="product">Model 204</var> and summarizes the data collected by <i>SirTune</i> into a report.
This load module is run independently of <var class="product">Model 204</var>, and it summarizes the data collected by <code>SirTune</code> into a report. </li>


The third component is used only under CMS and is called the <i>SirTune Data Logger</i>.
<li>The third component is used only under CMS and is called the <code>SirTune Data Logger</code>.
It communicates with <i>SirTune</i> via IUCV and asynchronously logs <i>SirTune</i> data on a separate virtual machine.
It communicates with <code>SirTune</code> via IUCV, and it asynchronously logs <code>SirTune</code> data on a separate virtual machine.
It is used to get around some of the difficulties of doing asynchronous I/O under CMS.
It is used to get around some of the difficulties of doing asynchronous I/O under CMS. </li>
</ul>


In general, it is a good idea to be using the same versions of all three <i>SirTune</i> components though Sirius makes every effort to allow a newer <i>SirTune Report Generator</i> to produce reports from sample datasets created by older releases of <i>SirTune</i>.
In general, it is a good idea to be using the same versions of all three <var class="product">SirTune</var> components, though Rocket makes every effort to allow a newer <code>SirTune Report Generator</code> to produce reports from sample data sets created by older releases of <var class="product">SirTune</var>.


==How should the SirTune object file be linked?==
===How should the SirTune object file be linked?===
The following z/OS JCL is an example of how one would link the <i>SirTune</i> object file.
The following z/OS JCL is an example of how one would link the <var class="product">SirTune</var> object file.
The module is linked into library SIRIUS.LOAD.
The module is linked into library <code>SIRIUS.LOAD</code>.
This example assumes you [[#objup|uploaded]] the object file into library SIRIUS.LIB with a member name of TUNE104.
This example assumes you [[#objup|uploaded]] the object file into library <code>SIRIUS.LIB</code> with a member name of <code>TUNE104</code>.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.
If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after <code>INCLUDE LIB</code>.


<code>
<p class="code">//JOB      <i>whatever</i>
//JOB      whatever
//LINK    EXEC PGM=IEWL,REGION=0M,
//LINK    EXEC PGM=IEWL,REGION=0M,
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//SYSPRINT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
//SYSLIN  DD  *
INCLUDE LIB(TUNE104)
  INCLUDE LIB(TUNE104)
ENTRY COLLECT
  ENTRY COLLECT
NAME SIRTUNE(R)
  NAME SIRTUNE(R)
/*
/*
</p>
</code>


Under CMS, the <i>SirTune</i> object file should be given a filetype of "TEXT".
Under CMS, the <var class="product">SirTune</var> object file should be given a filetype of <code>TEXT</code>.
The following commands can then be issued either directly or in an EXEC to build a SIRTUNE load module.
The following commands can then be issued either directly or in an EXEC to build a <code>SIRTUNE</code> load module.
In this example, it is assumed that the <i>SirTune</i> object file has a filename of TUNE104.
In this example, it is assumed that the <var class="product">SirTune</var> object file has a filename of <code>TUNE104</code>.


<code>
<p class="code">LOAD TUNE104 (FULLMAP NODUP ORIGIN 400000 AMODE 31 RESET COLLECT
LOAD TUNE104 (FULLMAP NODUP ORIGIN 400000 AMODE 31 RESET COLLECT
GENMOD SIRTUNE (FROM COLL
GENMOD SIRTUNE (FROM COLL
</p>
</code>


==How should the SirTune Report Generator object file be linked?==
===How should the SirTune Report Generator object file be linked?===
The following z/OS JCL is an example of how one would link the <i>SirTune Report Generator</i> object file.
The following z/OS JCL is an example of how one would link the SirTune Report Generator object file.
The module is linked into library SIRIUS.LOAD.
The module is linked into library <code>SIRIUS.LOAD</code>.
This example assumes you [[#objup|uploaded]] the object file into library SIRIUS.LIB with a member name of TUNR104.
This example assumes you [[#objup|uploaded]] the object file into library <code>SIRIUS.LIB</code> with a member name of <code>TUNR104</code>.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.
If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after <code>INCLUDE LIB</code>.


<code>
<p class="code">//JOB      <i>whatever</i>
//JOB      whatever
//LINK    EXEC PGM=IEWL,REGION=0M,
//LINK    EXEC PGM=IEWL,REGION=0M,
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//SYSPRINT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
//SYSLIN  DD  *
INCLUDE LIB(TUNR104)
  INCLUDE LIB(TUNR104)
ENTRY ANALYZE
  ENTRY ANALYZE
NAME SIRTUNER(R)
  NAME SIRTUNER(R)
/*
/*
</p>
</code>


Under CMS, the <i>SirTune Report Renerator</i> object file should be given a filetype of "TEXT".
Under CMS, the SirTune Report Generator object file should be given a filetype of <code>TEXT</code>.
The following commands can then be issued either directly or in an EXEC to build a SIRTUNER load module.
The following commands can then be issued either directly or in an EXEC to build a <code>SIRTUNER</code> load module.
In this example, it is assumed that the <i>SirTune Report Generator</i> object file has a filename of TUNR103.
In this example, it is assumed that the SirTune Report Generator object file has a filename of <code>TUNR103</code>.


<code>
<p class="code">LOAD TUNR103 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET ANALYZE
LOAD TUNR103 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET ANALYZE
GENMOD SIRTUNER (FROM ANAL
GENMOD SIRTUNER (FROM ANAL
</p>
</code>


==How should the SirTune Data Logger object file be linked?==
===How should the SirTune Data Logger object file be linked?===
The <i>SirTune data Logger</i> is not used under z/OS.
The SirTune Data Logger is not used under z/OS.


Under CMS, the <i>SirTune Data Logger</i> object file should be given a filetype of "TEXT".
Under CMS, the SirTune Data Logger object file should be given a filetype of <code>TEXT</code>.
The following commands can then be issued either directly or in an EXEC to build a SIRTUNED load module.
The following commands can then be issued either directly or in an EXEC to build a <code>SIRTUNED</code> load module.
In this example, it is assumed that the <i>SirTune Data Logger</i> object file has a filename of TUND104.
In this example, it is assumed that the SirTune Data Logger object file has a filename of <code>TUND104</code>.


<code>
<p class="code">LOAD TUND104 (FULLMAP NODUP ORIGIN 30000 AMODE 24 RESET OUTCMS
LOAD TUND104 (FULLMAP NODUP ORIGIN 30000 AMODE 24 RESET OUTCMS
GENMOD SIRTUNED (FROM OUTC </p>
GENMOD SIRTUNED (FROM OUTC
</code>


==How should the RockZap object file be linked?==
==How should the RockZap object file be linked?==
The following z/OS JCL is an example of how one would link the <i>RockZap</i> object file.
The following z/OS JCL is an example of how one would link the <var class="product">[[RockZap]]</var> object file.
The module is linked into library SIRIUS.LOAD.
The module is linked into library <code>SIRIUS.LOAD</code>.
This example assumes you [[#objup|uploaded]] the object file into library SIRIUS.LIB with a member name of ZAP106.
This example assumes you [[#objup|uploaded]] the object file into library <code>SIRIUS.LIB</code> with a member name of <code>ZAP106</code>.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.
If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after <code>INCLUDE LIB</code>.


<code>
<p class="code">//JOB      whatever
//JOB      whatever
//LINK    EXEC PGM=IEWL,REGION=0M,
//LINK    EXEC PGM=IEWL,REGION=0M,
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=0'
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=0'
//SYSPRINT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
//SYSLIN  DD  *
INCLUDE LIB(ZAP106)
  INCLUDE LIB(ZAP106)
ENTRY SIRZAP
  ENTRY SIRZAP
NAME ROCKZAP(R)
  NAME SIRZAP(R)
/*
/*
</p>
</code>
<blockquote class="warn"><b>Note:</b> If you see the following error message when linking RockZap, you can safely ignore it. This message is erroneous:
<p class="code" style="font-size: 90%">IEW2651W 511C ESD AMODE 24 CONFLICTS WITH USER-SPECIFIED AMODE 31 FOR ENTRY POINT SIRZAP</p>
</blockquote>


Under CMS, the SirZap object file should be given a filetype of "TEXT".
Under CMS, the RockZap object file should be given a filetype of <code>TEXT</code>.
The following commands can then be issued either directly or in an EXEC to build a SIRZAP load module.
The following commands can then be issued either directly or in an EXEC to build a <code>ROCKZAP</code> load module.
In this example, it is assumed that the SirZap object file has a filename of ZAP106.
In this example, it is assumed that the RockZap object file has a filename of <code>ZAP106</code>.


<code>
<p class="code">LOAD ZAP106 (FULLMAP NODUP ORIGIN 20000 AMODE 31 RESET SIRZAP
LOAD ZAP106 (FULLMAP NODUP ORIGIN 20000 AMODE 31 RESET SIRZAP
GENMOD ROCKZAP (FROM APPL
GENMOD SIRZAP (FROM APPL
</p>
</code>


==How should the SirAud object file be linked?==
==How should the SirAud object file be linked?==
The following z/OS JCL is an example of how one would link the <i>SirAud</i> object file.
The following z/OS JCL is an example of how one would link the <var class="product">SirAud</var> object file.
The module is linked into library SIRIUS.LOAD.
The module is linked into library <code>SIRIUS.LOAD</code>.
This example assumes you [[#objup|uploaded]] the object file into library SIRIUS.LIB with a member name of AUD102.
This example assumes you [[#objup|uploaded]] the object file into library <code>SIRIUS.LIB</code> with a member name of <code>AUD102</code>.
If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.
If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after <code>INCLUDE LIB</code>.


<code>
<p class="code">//JOB      whatever
//JOB      whatever
//LINK    EXEC PGM=IEWL,REGION=0M,
//LINK    EXEC PGM=IEWL,REGION=0M,
//           PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=0'
//           PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=0'
//SYSPRINT DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
//SYSLIN  DD  *
INCLUDE LIB(AUD102)
  INCLUDE LIB(AUD102)
ENTRY JMAIN
  ENTRY JMAIN
NAME SIRAUD(R)
  NAME SIRAUD(R)
/*
/*
</p>
</code>


Under CMS, the SirAud object file should be given a filetype of "TEXT".
Under CMS, the SirAud object file should be given a filetype of <code>TEXT</code>.
The following commands can then be issued either directly or in an EXEC to build a SIRAUD load module.
The following commands can then be issued either directly or in an EXEC to build a <code>SIRAUD</code> load module.
In this example, it is assumed that the SirAud object file has a filename of AUD102.
In this example, it is assumed that the SirAud object file has a filename of <code>AUD102</code>.


<code>
<p class="code"> LOAD AUD102 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET JMAIN
LOAD AUD102 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET JMAIN
GENMOD SIRAUD (FROM JCONF
GENMOD SIRAUD (FROM JCONF
</p>
</code>


==How should the Fast/Cram object files be installed?==
==How should the Fast/CRAM object files be installed?==
Most of the documentation for <i>Fast/Cram</i> installation can be found in the [http://m204wiki.rocketsoftware.com/images/0/0b/CramrNew.pdf Fast/Cram Installation Guide].
Most of the documentation for <var class="product">Fast/CRAM</var> installation can be found in the [[Fast/CRAM#Installation|Fast/CRAM]] page, which is currently not updated to reflect web downloads, so a few things must be kept in mind:
That manual is currently not updated to reflect web downloads, so a few things must be kept in mind.
<ul>
The first is that the first four characters of the download file indicate the module being downloaded, and they correspond to a specific member in SIRIUS.LOAD,
<li>The first four characters of the download file indicate the module being downloaded, and they correspond to a specific member in <code>SIRIUS.LOAD</code>, as described in [[Fast/CRAM#SIRIUS.LOAD|SIRIUS.LOAD]].
as described in the <i>Fast/Cram Installation Guide</i>.
The correspondences between the first four characters in the downloaded object files and the members in SIRIUS.LOAD are:
The correspondences between the first four characters in the downloaded object files and the members in SIRIUS.LOAD are:


<table cellpadding=6>
<table class="thJustBold">
<tr><td><b>FCRM</b></td><td>FASTSVC</td></tr>
<tr><th>FCRM</th>
<tr><td><b>FCRI</b></td><td>IGCLM244</td></tr>
<td>FASTSVC</td></tr>
<tr><td><b>FCRR</b></td><td>FASTREP</td></tr>
<tr><td><b>FCRS</b></td><td>SNAPFAST</td></tr>
</table>


The following example JCL would create SIRIUS.LOAD load modules as described in the <i>Fast/Cram Installation Guide</i>.
<tr><th>FCRI</th>
This example assumes you [[#objup|uploaded]] the object files into library SIRIUS.LIB with member names of FCR*27.
<td>IGCLM244</td></tr>
If you uploaded to non-library datasets (that is, sequential datasets, not Partitioned Data Sets), then you will need a separate DD statement for each object file as well as appropriate INCLUDE statements for them, omitting the parentheses and member names.


<b>Note:</b> The Fast/CRAM modules <b>must</b> be linked using the RENT option.
<tr><th>FCRR</th>
<td>FASTREP</td></tr>


<code>
<tr><th>FCRS</th>
//JOB      whatever
<td>SNAPFAST</td></tr>
//LINK    EXEC PGM=IEWL,REGION=0M,
</table></li>
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
  INCLUDE LIB(FCRM27)
  ENTRY FASTSVC
  NAME FASTSVC(R)
  INCLUDE LIB(FCRI27)
  ENTRY FASTRLD
  NAME IGCLM244(R)
  INCLUDE LIB(FCRR27)
  ENTRY FASTREP
  NAME FASTREP(R)
  INCLUDE LIB(FCRS27)
  ENTRY SNAPFAST
  NAME SNAPFAST(R)
/*
</code>


Unfortunately, the customization job is currently <i>Fast/Cram</i> release specific.
<li>The following example JCL would create <code>SIRIUS.LOAD</code> load modules as described in the "SIRIUS.LOAD" section, referenced above.
The following job is a sample customization job for <i>Fast/Cram</i> V2.7:
This example assumes you [[#objup|uploaded]] the object files into library <code>SIRIUS.LIB</code> with member names of <code>FCR*27</code>.
<p>
If you uploaded to non-library data sets (that is, sequential data sets, not Partitioned Data Sets), then you need a separate DD statement for each object file, as well as appropriate <code>INCLUDE</code> statements for them, omitting the parentheses and member names. </p>


<code>
<p class="note"><b>Note:</b> The Fast/CRAM modules <b>must</b> be linked using the <code>RENT</code> option, except for the SNAPFAST diagnostic utility, which is not reentrant.
  //FASTCUST JOB  ,'Fast/CRAM',CLASS=A,MSGCLASS=A
</p>
//*
<p class="code">//JOB      whatever
//*        Customize FASTCRAM  Version 2.7
//LINK    EXEC PGM=IEWL,REGION=0M,
//*
//            PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//*        Install  FASTCRAM in SYS1.LPALIB,
//SYSPRINT DD  SYSOUT=*
//*        as a Type 3 or type 4 SVC, using an SVC
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//*        number of 250 and a subsystem name of SIRI.
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//*
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//ZAPS    EXEC PGM=SIRZAP,PARM=NOVER
//SYSLIN  DD  *
//SYSPRINT DD  SYSOUT=*
INCLUDE LIB(FCRM27)
//SYSLIB  DD  DISP=SHR,DSN=SIRIUS.LOAD
ENTRY FASTSVC
//SYSIN    DD  *
NAME FASTSVC(R)
INCLUDE LIB(FCRI27)
  ENTRY FASTRLD
NAME IGCLM244(R)
INCLUDE LIB(FCRR27)
ENTRY FASTREP
NAME FASTREP(R)
/*
//LINKU    EXEC PGM=IEWL,REGION=0M,
//            PARM='LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1'
//SYSPRINT DD  SYSOUT=*
//SYSUT1  DD  UNIT=SYSDA,SPACE=(CYL,(2,1))
//LIB      DD  DSN=SIRIUS.LIB,DISP=SHR
//SYSLMOD  DD  DSN=SIRIUS.LOAD,DISP=SHR
//SYSLIN  DD  *
INCLUDE LIB(FCRS27)
ENTRY SNAPFAST
NAME SNAPFAST(R)
/*
//
</p></li>
 
<li>Unfortunately, the customization job is currently <var class="product">Fast/CRAM</var>-release specific.
The following job is a sample customization job for <var class="product">Fast/CRAM</var> V2.7:
 
<p class="code">//FASTCUST JOB  ,'Fast/CRAM',CLASS=A,MSGCLASS=A
//*
//*        Customize FASTCRAM  Version 2.7
//*
//*        Install  FASTCRAM in SYS1.LPALIB,
//*        as a Type 3 or type 4 SVC, using an SVC
//*        number of 250 and a subsystem name of SIRI.
//*
//ZAPS    EXEC PGM=SIRZAP,PARM=NOVER
//SYSPRINT DD  SYSOUT=*
//SYSLIB  DD  DISP=SHR,DSN=SIRIUS.LOAD
//SYSIN    DD  *
  * *********************************************************************
  * *********************************************************************
  *  ZAP THE SVC NUMBER INTO FASTRLD.                                  *
  *  ZAP THE SVC NUMBER INTO FASTRLD.                                  *
  * *********************************************************************
  * *********************************************************************
  NAME FASTRLD  FASTRLD
NAME IGCLM244 FASTRLD
  VER  0184 0A0D
  VER  0184 0A0D
  REP  0184 0AFA      * NEW SVC=250
REP  0184 0AFA      * NEW SVC=250
  * *********************************************************************
  * *********************************************************************
  *  ZAP THE SUBSYSTEM NAME AND SVC NUMBER INTO FASTSVC.              *
  *  ZAP THE SUBSYSTEM NAME AND SVC NUMBER INTO FASTSVC.              *
  * *********************************************************************
  * *********************************************************************
  NAME FASTSVC  FASTSVC
NAME FASTSVC  FASTSVC
  VER  1678 00007FFF
VER  1678 00007FFF
  VER  167C C6C1E2E3  * CURRENT SUBSYSTEM=FAST
VER  167C C6C1E2E3  * CURRENT SUBSYSTEM=FAST
  REP  167C E2C9D9C9  * NEW SUBSYSTEM=SIRI
REP  167C E2C9D9C9  * NEW SUBSYSTEM=SIRI
  VER  1688 0A0D
VER  1688 0A0D
  REP  1688 0AFA      * NEW SVC=250
REP  1688 0AFA      * NEW SVC=250
/*
/*
</code>
</p>
<p>
No matter which subsystem name you choose, this subsystem name must be defined in IEFSSN<i>xx</i> in <code>SYS1.PARMLIB</code>.
It is strongly recommended that subsystem name <code>M204</code> <i>not</i> be used, because that subsystem name is used for the <var class="product">Model&nbsp;204</var> [[Cross-memory facilities CRAM and M204XSVC#Two CRAM types|standard CRAM implementations]].
The subsystem can also be defined dynamically with the <code>SETSSI</code> command: </p>


No matter which subsystem name you choose, this subsystem name must be defined in IEFSSNxx in SYS1.PARMLIB.
<p class="code">SETSSI ADD,SUBNAME=FAST
It is strongly recommended that subsystem name "M204" not be used because that subsystem name is used for <var class="product">Model 204</var>'s standard CRAM implementations.
</p>
The subsystem can also be defined dynamically with the SETSSI command:
<p>
If you are downloading a release for which no sample customization job is listed here, or if you need more help with the installation, [[Contacting Rocket Software Technical Support|contact Rocket M204 support]].</p></li>
</ul>


<code>
==How to apply the CPUID zap==
  SETSSI ADD,SUBNAME=FAST
<p>
</code>
The CPUID zap can be applied to the Model 204 online load module using the IBM utility, IMASPZAP or the Rocket utility, ROCKZAP.  However, if you download the object files for the online load module, the CPUID zap for your site will already have been applied and this job will be unnecessary.  This is an example of what the CPUID zap job might look like using PGM=ROCKZAP. Alternatively, you could use the PGM=IMASPZAP to apply the zap using the IBM utility.
</p>


If you are downloading a release for which no sample customization job is listed here, or if you need more help with the installation, contact Rocket M204 support at +1.800.755.4222, or e-mail us at [mailto:m204support@rocketsoftware.com m204support@rocketsoftware.com].
<p class="code">//CPUIDZAP JOB  ,'CPUIDZAP',CLASS=A,MSGCLASS=A
//ZAP EXEC PGM=ROCKZAP,PARM='MODULE=ONLINE'   
//SYSPRINT DD SYSOUT=*                         
//STEPLIB  DD DSN=DVM204.ROCKZAP.LOAD,DISP=SHR 
//SYSLIB  DD DSN=your.M204.LOADLIB,DISP=SHR 
//SYSIN    DD *                                 
* *********************************************************************
*                                                                    *
*    Note: If applying with SIRZAP 1.04 or earlier, use NOVER parm.  *
*                                                                    *
* *********************************************************************
*                                                                    *
* Sirius mods versions 4.6 through 8.3                                *
* Zap produced 2021/07/07 18:39:36                                    *
*                                                                    *
* Customer  - Customer name                                          *
* Site      - Site ID                                                *
*                                                                    *
* Product  Start date  End date    MaxCon Cpus                        *
*                                                                    *
* M204    04/02/2014  *                  A7572964                    *
*          06/23/2016  06/30/2022        C5B72964                    *
*          07/07/2021  *                  27C78561                    *
* RACF    03/30/2016  *                  A6572964                    *
*          06/23/2016  06/30/2022        A5B72964                    *
* VT75    04/02/2014  *                * A6572964                    *
*          06/23/2016  06/30/2022      * A5B72964                    *
*                                                                    *
* *********************************************************************
* Be sure to zap all load modules containing the
* Sirius Mods, e.g., ONLINE, IFAM4, etc.
NAME ONLINE SIRE2$
* !NOVERIFY        Do not remove this statement
REP 0FF4 0000,F0F6,0000,AD5E,0401,0640,D2C1,C9E2
REP 1004 C5D9,4040,B2E3,FC7A,9015,846A,BEA2,D558
REP 1014 D80C,0822,6CE4,5600,1E9F,6497,16CE,FFD0
REP 1024 A755,47BE,B9A3,9C3D,5AD1,BFB7,19A2,AB6A
REP 1034 72C3,0059,DD4D,2096,E6F0,BD95,EF32,E261
REP 1044 6D8B,FA9A,AB4E,B782,1F48,5D43,324A,3051
REP 1054 4E25,D9AE,71EA,1F39,B0FD,5054,ED1D,5481
REP 1064 850E,1734,0BA7,E96A,D7BD,55C7,4BC1,CA6A
REP 1074 A70C,D460,1287,1FD1,9186,A2C8,282F,8E42
REP 1084 2A92,A512,1088,C7B7,AD78,0E23,9638,4EE9
REP 1094 DA2C,956A,C3CD,2337,C875,11F2,94FB,0B8A
REP 10A4 C599,A0E7,4962,99AA,1549,9F7C,E841,5D87
REP 10B4 CD3C,D63E,3319,0A05,C37B,0FB7,565B,27EF
REP 10C4 7801,928F,D885,2FAC,70E4,9C5B,F4E2,D600
REP 10D4 0000,0000,0000,0000,0000,0000,0000,0000
* !Sirius checksum 0001,1821 Do not remove this statement
</p>


==Where can more documentation be found?==
==Where can more documentation be found?==
The primary source of documentation for Rocket M204 products is this wiki.
The primary source of documentation for Rocket M204 products is this wiki, [[M204wiki main page|M204wiki]].
 
[[Category:Installation]]
[[Category:Installation]]

Latest revision as of 21:01, 2 August 2021

This page provides Help for downloading from the "Object files" page that is accessed from the Rocket website Rocket M204 Customer Care page.

How can the object files be downloaded?

An object files can be downloaded by clicking on the "Download object file" link in the right-most column for the object file you want. Object files are customized for a particular site, simplifying the installation process. Because of this, there may be a noticeable delay in processing a download request. In addition, the downloaded object files can range in size from hundreds of kilobytes to perhaps ten megabytes.

If you select an e-mail transfer, the object deck is e-mailed to the indicated e-mail address as an attachment. The attachment should be saved to a local file, then uploaded to the mainframe exactly as if it had been downloaded directly. Receiving the object deck via email might take a little longer than downloading it directly, but it allows you to schedule a set of objects to be sent to a different person in your organization.

How can the object files be uploaded to the mainframe?

Once the object files are downloaded to the workstation, they must be uploaded to the z/OS, VM, or VSE system on the IBM mainframe. Any file transfer mechanism can be used, including FTP and IND$FILE, but regardless of the transfer mechanism, some rules must be observed:

  • The object files contain binary data and hence must be transferred as binary. That is, no translation from ASCII to EBCDIC must occur as a result of the upload.
  • The format and LRECL of the file must be specified during the upload. This is because most workstation systems (including Windows, Mac OS, and Unix) do not have a concept of file formats and LRECLs. This information would be lost if it were not specified during the upload.

    The format of the uploaded file must be F under VM systems and FB under z/OS and VSE systems. The LRECL must be 80 on all systems, and under z/OS and VSE the blocksize can be any multiple of 80 (though 3120 is a common blocksize for object libraries).

  • When using FTP, the characteristics (RECFM, LRECL, and BLOCKSIZE) of the uploaded file can be set with the SITE and LOCSITE FTP commands. The SITE command should be used if the FTP client is on the workstation and the server is on the mainframe. In this case the SITE command might have to be sent as a "quote" to the mainframe. How this is done depends on your workstation's FTP client. The LOCSITE command should be used if the FTP client is on the mainframe and the server is on the workstation.

The next two subsections describe the mainframe data sets that should be used to contain the uploaded object file, for either Model 204 installation or other object files.

Model 204 object library

The Model 204 installation process entails creating an object library (in z/OS, a library is a Partitioned Data Set, or PDS) and a macro library, which are then used in subsequent steps for Model 204 installation. After getting the download for both the object and macro libraries, FTP (Binary F 80) them to the mainframe, then use the JCL that creates these libraries.

Other object files

For products other than Model 204, the downloaded file is a single object file. Under z/OS, you can upload an object file either as a member of a Partitioned Data Set (PDS) or as an individual sequential file. A PDS is recommended as a good way to collect all your Rocket M204 object file uploads in one data set, using the member name to show the product and version.

Should maintenance be applied to the uploaded object files?

When Rocket M204 products are downloaded, they will contain all of the current maintenance as well as all applicable authorization keys. Thus no additional installation steps are required to install maintenance or authorization keys. Subsequent fixes can be applied by downloading ZAPs and applying them, or by downloading a replacement object file and re-linking the appropriate load modules.

How should the Model 204 load modules be linked under z/OS?

The Model 204 object library you created contains object files, JCL, and link-edit control statements so that you can link the Model 204 load modules. (This library, of course, has the DSNAME you chose — but in Model 204 documentation, the object library is referred to as RKOBJLIB).

One of the members of RKOBJLIB is a text file named _README that includes a list of the Model 204 load modules and individual instructions for linking them.

For example, the jobstream to link the ONLINE load module is in a member named LKONLNJ. To link ONLINE, copy this member to your TSO library, edit it, and submit it. The jobstream has simple instructions indicating what changes to make. These instructions are complete, but more detail can be found by following the link in one of the comments in the JCL.

What are the Sirius Mods?

The Sirius Mods is a collection of functions and enhancements to the core Model 204 load module. These enhancements are either products in and of themselves, or they are prerequisites for products that are written in SOUL. A site is authorized to download all of the Sirus Mods if it is licensed for any of the products that require these enhancements. Your authorization key will then enable the appropriate set of products.

Products that require the Sirius Mods are:

  • Fast/Backup
  • Fast/Reload
  • Fast/Unload User Language Interface
  • Janus Network Security
  • Janus Open Server
  • Janus Open Client
  • Janus SOAP
  • Janus Specialty Data Store
  • Janus TCP/IP Base
  • Janus Web Server
  • Japanese Functions
  • SirDBA
  • SirFact
  • SirFile
  • Sirius Performance Enhancements
  • Sirius Performance Enhancements V2
  • SirLib
  • SirMon
  • SirPro
  • SirSafe
  • SirScan
  • SirTune
  • SirXref
  • Sir2000 Field Migration Facility
  • Sir2000 User Language Tools
  • Trusted Login Facility

You can determine which of these products your site is authorized for by examining your customer profile. After the Sirius Mods are installed, you can verify product authorizations by issuing the SIRIUS command in an Online running a load module that includes the Sirius Mods.

How should the Sirius Mods object file be linked under z/OS?

The Sirius Mods object file should be linked ahead of the Model 204 object modules from Rocket. Under z/OS, an object deck can be re-linked with a load module. In theory, this load module can already contain the Sirius Mods. While this is generally alright if linking over the same release of the Sirius Mods, it is almost certainly a bad idea otherwise. As such, it is a good idea to keep a load module without the Sirius Mods available for rebuilding a load module with the Sirius Mods. The non-Sirius Mods load module should have all Rocket ZAPs applied, or these ZAPs should be applied after the re-link with the Sirius Mods object file.

Should Rocket provide replacement object files as part of their maintenance, these object files must never be linked ahead of the Sirius Mods object file. This also means that replacement Rocket object files cannot simply be linked ahead of a load module containing the Sirius Mods without also linking the Sirius Mods object file ahead of the replacement object files from Rocket.

Both of the next two examples assume you uploaded the object file into library SIRIUS.LIB with a member name of SIR80074. If you uploaded to a non-library dataset (that is, a sequential dataset, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.

The following JCL is an example of how you would link the Sirius Mods object file with a standard Model 204 load module called ONLINE in library M204.V7R4.LOADLIB. The module is linked into library SIRIUS.LOAD.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='LIST,LET,MAP,SIZE=(2048K,512K),RMODE=ANY,AC=1' //SYSPRINT DD SYSOUT=* //M204LOAD DD DSN=M204.V7R4.LOADLIB,DISP=SHR //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(SIR80074) INCLUDE M204LOAD(ONLINE) ENTRY MAINTASK NAME ONLINE(R) /*

The following JCL is an example of how you would link the Sirius Mods object file with a standard Model 204 load module called ONLINE in library M204.V7R4.LOADLIB, along with replacement object decks for EVNU and SBFM, which were provided with Rocket maintenance and are in library M204.V7R4.FIXOBJ. The module is linked into library SIRIUS.LOAD.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='LIST,LET,MAP,SIZE=(2048K,512K),RMODE=ANY,AC=1' //SYSPRINT DD SYSOUT=* //M204LOAD DD DSN=M204.V7R4.LOADLIB,DISP=SHR //M204FIX DD DSN=M204.V7R4.FIXOBJ,DISP=SHR //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(SIR80074) INCLUDE M204FIX(EVFM,SBFM) INCLUDE M204LOAD(ONLINE) ENTRY MAINTASK NAME ONLINE(R) /*

How should the Sirius Mods object file be linked under CMS?

The Sirius Mods object file should be linked ahead of the Model 204 object modules from Rocket. This means, first, that the object file's filetype must conform to CMS conventions for object files. The simplest way to ensure this is to use a filetype of TEXT for the object file under CMS.

To link with the Rocket-supplied M204GEN utility, the Model 204 load list must be modified to include the Sirius Mods object file. This can be done by simply inserting a line with &1 &2 followed by the filename of the Sirius Mods object file before the name of any other object file in the load list. The following is an example of the first few lines of an updated load list, where the Sirius Mods object file is called SIR80074 TEXT.

* LOAD LIST FOR M204ONLN MODULE * (&START IN MLNK) &1 &2 SIR80074 &1 &2 MLNK &1 &2 ACF2CMS &1 &2 ANXV &1 &2 APSY &1 &2 APSZ &1 &2 ARTH ...

Because the Sirius Mods dynamically adds hooks to the load module, using shared segments with the Sirius Mods is not recommended. If this is considered essential, contact Rocket Software technical support for help in building a load module with the Sirius Mods and shared segments.

An exec called LOADCONV is also available to automatically convert the loadlist. It can be downloaded here. Note that LOADCONV requires that the filename of the Sirius Mods object file be SIROBJ followed by the Model 204 release to which it applies, as in SIROBJ74.

If the M204GEN exec is being used, M204CCA PARMS needs to be edited. First, in the M204GEN/DEFAULTS section, the ldrtbls value might need to be increased:

M204GEN: DEFAULTS: ldrtbls = 50

Also, the load module start needs to include the Sirius Mods. So change this line in the ONLINE/ONLN section:

start.mod = MLNK$

To:

start.mod = SLNK$

To be able to generate a load module both with and without the Sirius Mods:

  1. Copy the whole ONLINE section in M204CCA PARMS and call it something else, for example, SIRIUS; then change start.mod in that section.
  2. When you want to generate a load module with the Sirius Mods in it, specify:

    M204GEN SIRIUS

How should the Sirius Mods object file be linked under VSE?

The Sirius Mods object file should be linked ahead of the Model 204 object files from Rocket. The example below shows an excerpt of the standard Rocket link JCL for an Online. To linkedit the Online with the Sirius Mods, you must insert the include statement for the object module immediately after the PHASE statement.

In this example, the Sirius Mods object is named SIR80074. If the Sirius Mods object module is in a separate library, the JCL should be modified to include that library in the SEARCH= parameter of the LIBDEF OBJ statement.

If you include any other object modules, they also must appear after the Sirius Mods object.

... // LIBDEF PHASE,CATALOG=M204LIB.V7R4 // LIBDEF OBJ,SEARCH=M204LIB.V7R4 // OPTION CATAL PHASE ONLINE,* REPLACE=YES INCLUDE SIR80074 INCLUDE LKONLN INCLUDE ENTRY MAINTASK /* // EXEC LNKEDT /* /& ...

How should the Fast/Unload object file be linked?

Under z/OS

The following z/OS JCL is an example of how one would link the Fast/Unload object file for versions of Model 204 and Fast/Unload prior to 7.7.

For version 7.7 and higher of Model 204 and Fast/Unload, no link job is necessary: Fast/Unload is integrated with the Model 204 Online load module (specified in the Online link job as an alias, like ALIAS FUNLOAD(FUNLPGM)).

The pre-7.7 module below is linked into library SIRIUS.LOAD. This example assumes you uploaded the object file into library SIRIUS.LIB with a member name of FUN400. If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(FUN400) ENTRY FUNLOAD NAME FUNLOAD(R) /*

Note: If you see the following error message when linking Fast/Unload, you can safely ignore it. This message is erroneous:

IEW2651W 511C ESD AMODE 24 CONFLICTS WITH USER-SPECIFIED AMODE 31 FOR ENTRY POINT FUN400

Under CMS

Under CMS, the Fast/Unload object file should be given a filetype of TEXT. The following commands can then be issued either directly or in an EXEC to build a FUNLOAD load module. In this example, it is assumed that the Fast/Unload object file has a filename of FUN400.

LOAD FUN400 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET FUNLOAD RLDSAVE GENMOD FUNLOAD (FROM FUNL

Why were there three object files for SirTune?

Beginning with Version 7.0 of the Sirius Mods, all SirTune functionality has been merged into the Sirius Mods, so the standalone SirTune load modules are obsolete.

Prior to Version 7.0 of the Sirius Mods, however, SirTune consisted of three components:

  • The first component is called the SirTune Data Collector or simply SirTune. This load module runs in the same address space as the Model 204 load module, and it collects data to be analyzed later.
  • The second component is called the SirTune Report Generator. This load module is run independently of Model 204, and it summarizes the data collected by SirTune into a report.
  • The third component is used only under CMS and is called the SirTune Data Logger. It communicates with SirTune via IUCV, and it asynchronously logs SirTune data on a separate virtual machine. It is used to get around some of the difficulties of doing asynchronous I/O under CMS.

In general, it is a good idea to be using the same versions of all three SirTune components, though Rocket makes every effort to allow a newer SirTune Report Generator to produce reports from sample data sets created by older releases of SirTune.

How should the SirTune object file be linked?

The following z/OS JCL is an example of how one would link the SirTune object file. The module is linked into library SIRIUS.LOAD. This example assumes you uploaded the object file into library SIRIUS.LIB with a member name of TUNE104. If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(TUNE104) ENTRY COLLECT NAME SIRTUNE(R) /*

Under CMS, the SirTune object file should be given a filetype of TEXT. The following commands can then be issued either directly or in an EXEC to build a SIRTUNE load module. In this example, it is assumed that the SirTune object file has a filename of TUNE104.

LOAD TUNE104 (FULLMAP NODUP ORIGIN 400000 AMODE 31 RESET COLLECT GENMOD SIRTUNE (FROM COLL

How should the SirTune Report Generator object file be linked?

The following z/OS JCL is an example of how one would link the SirTune Report Generator object file. The module is linked into library SIRIUS.LOAD. This example assumes you uploaded the object file into library SIRIUS.LIB with a member name of TUNR104. If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(TUNR104) ENTRY ANALYZE NAME SIRTUNER(R) /*

Under CMS, the SirTune Report Generator object file should be given a filetype of TEXT. The following commands can then be issued either directly or in an EXEC to build a SIRTUNER load module. In this example, it is assumed that the SirTune Report Generator object file has a filename of TUNR103.

LOAD TUNR103 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET ANALYZE GENMOD SIRTUNER (FROM ANAL

How should the SirTune Data Logger object file be linked?

The SirTune Data Logger is not used under z/OS.

Under CMS, the SirTune Data Logger object file should be given a filetype of TEXT. The following commands can then be issued either directly or in an EXEC to build a SIRTUNED load module. In this example, it is assumed that the SirTune Data Logger object file has a filename of TUND104.

LOAD TUND104 (FULLMAP NODUP ORIGIN 30000 AMODE 24 RESET OUTCMS GENMOD SIRTUNED (FROM OUTC

How should the RockZap object file be linked?

The following z/OS JCL is an example of how one would link the RockZap object file. The module is linked into library SIRIUS.LOAD. This example assumes you uploaded the object file into library SIRIUS.LIB with a member name of ZAP106. If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=0' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(ZAP106) ENTRY SIRZAP NAME ROCKZAP(R) /*

Note: If you see the following error message when linking RockZap, you can safely ignore it. This message is erroneous:

IEW2651W 511C ESD AMODE 24 CONFLICTS WITH USER-SPECIFIED AMODE 31 FOR ENTRY POINT SIRZAP

Under CMS, the RockZap object file should be given a filetype of TEXT. The following commands can then be issued either directly or in an EXEC to build a ROCKZAP load module. In this example, it is assumed that the RockZap object file has a filename of ZAP106.

LOAD ZAP106 (FULLMAP NODUP ORIGIN 20000 AMODE 31 RESET SIRZAP GENMOD ROCKZAP (FROM APPL

How should the SirAud object file be linked?

The following z/OS JCL is an example of how one would link the SirAud object file. The module is linked into library SIRIUS.LOAD. This example assumes you uploaded the object file into library SIRIUS.LIB with a member name of AUD102. If you uploaded to a non-library data set (that is, a sequential data set, not a Partitioned Data Set), then you should omit the parentheses and member name after INCLUDE LIB.

//JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=0' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(AUD102) ENTRY JMAIN NAME SIRAUD(R) /*

Under CMS, the SirAud object file should be given a filetype of TEXT. The following commands can then be issued either directly or in an EXEC to build a SIRAUD load module. In this example, it is assumed that the SirAud object file has a filename of AUD102.

LOAD AUD102 (FULLMAP NODUP ORIGIN 30000 AMODE 31 RESET JMAIN GENMOD SIRAUD (FROM JCONF

How should the Fast/CRAM object files be installed?

Most of the documentation for Fast/CRAM installation can be found in the Fast/CRAM page, which is currently not updated to reflect web downloads, so a few things must be kept in mind:

  • The first four characters of the download file indicate the module being downloaded, and they correspond to a specific member in SIRIUS.LOAD, as described in SIRIUS.LOAD. The correspondences between the first four characters in the downloaded object files and the members in SIRIUS.LOAD are:
    FCRM FASTSVC
    FCRI IGCLM244
    FCRR FASTREP
    FCRS SNAPFAST
  • The following example JCL would create SIRIUS.LOAD load modules as described in the "SIRIUS.LOAD" section, referenced above. This example assumes you uploaded the object files into library SIRIUS.LIB with member names of FCR*27.

    If you uploaded to non-library data sets (that is, sequential data sets, not Partitioned Data Sets), then you need a separate DD statement for each object file, as well as appropriate INCLUDE statements for them, omitting the parentheses and member names.

    Note: The Fast/CRAM modules must be linked using the RENT option, except for the SNAPFAST diagnostic utility, which is not reentrant.

    //JOB whatever //LINK EXEC PGM=IEWL,REGION=0M, // PARM='RENT,LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(FCRM27) ENTRY FASTSVC NAME FASTSVC(R) INCLUDE LIB(FCRI27) ENTRY FASTRLD NAME IGCLM244(R) INCLUDE LIB(FCRR27) ENTRY FASTREP NAME FASTREP(R) /* //LINKU EXEC PGM=IEWL,REGION=0M, // PARM='LIST,MAP,NCAL,SIZE=(2048K,512K),AMODE=31,RMODE=24,AC=1' //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)) //LIB DD DSN=SIRIUS.LIB,DISP=SHR //SYSLMOD DD DSN=SIRIUS.LOAD,DISP=SHR //SYSLIN DD * INCLUDE LIB(FCRS27) ENTRY SNAPFAST NAME SNAPFAST(R) /* //

  • Unfortunately, the customization job is currently Fast/CRAM-release specific. The following job is a sample customization job for Fast/CRAM V2.7:

    //FASTCUST JOB ,'Fast/CRAM',CLASS=A,MSGCLASS=A //* //* Customize FASTCRAM Version 2.7 //* //* Install FASTCRAM in SYS1.LPALIB, //* as a Type 3 or type 4 SVC, using an SVC //* number of 250 and a subsystem name of SIRI. //* //ZAPS EXEC PGM=SIRZAP,PARM=NOVER //SYSPRINT DD SYSOUT=* //SYSLIB DD DISP=SHR,DSN=SIRIUS.LOAD //SYSIN DD * * ********************************************************************* * ZAP THE SVC NUMBER INTO FASTRLD. * * ********************************************************************* NAME IGCLM244 FASTRLD VER 0184 0A0D REP 0184 0AFA * NEW SVC=250 * ********************************************************************* * ZAP THE SUBSYSTEM NAME AND SVC NUMBER INTO FASTSVC. * * ********************************************************************* NAME FASTSVC FASTSVC VER 1678 00007FFF VER 167C C6C1E2E3 * CURRENT SUBSYSTEM=FAST REP 167C E2C9D9C9 * NEW SUBSYSTEM=SIRI VER 1688 0A0D REP 1688 0AFA * NEW SVC=250 /*

    No matter which subsystem name you choose, this subsystem name must be defined in IEFSSNxx in SYS1.PARMLIB. It is strongly recommended that subsystem name M204 not be used, because that subsystem name is used for the Model 204 standard CRAM implementations. The subsystem can also be defined dynamically with the SETSSI command:

    SETSSI ADD,SUBNAME=FAST

    If you are downloading a release for which no sample customization job is listed here, or if you need more help with the installation, contact Rocket M204 support.

How to apply the CPUID zap

The CPUID zap can be applied to the Model 204 online load module using the IBM utility, IMASPZAP or the Rocket utility, ROCKZAP. However, if you download the object files for the online load module, the CPUID zap for your site will already have been applied and this job will be unnecessary. This is an example of what the CPUID zap job might look like using PGM=ROCKZAP. Alternatively, you could use the PGM=IMASPZAP to apply the zap using the IBM utility.

//CPUIDZAP JOB ,'CPUIDZAP',CLASS=A,MSGCLASS=A //ZAP EXEC PGM=ROCKZAP,PARM='MODULE=ONLINE' //SYSPRINT DD SYSOUT=* //STEPLIB DD DSN=DVM204.ROCKZAP.LOAD,DISP=SHR //SYSLIB DD DSN=your.M204.LOADLIB,DISP=SHR //SYSIN DD * * ********************************************************************* * * * Note: If applying with SIRZAP 1.04 or earlier, use NOVER parm. * * * * ********************************************************************* * * * Sirius mods versions 4.6 through 8.3 * * Zap produced 2021/07/07 18:39:36 * * * * Customer - Customer name * * Site - Site ID * * * * Product Start date End date MaxCon Cpus * * * * M204 04/02/2014 * A7572964 * * 06/23/2016 06/30/2022 C5B72964 * * 07/07/2021 * 27C78561 * * RACF 03/30/2016 * A6572964 * * 06/23/2016 06/30/2022 A5B72964 * * VT75 04/02/2014 * * A6572964 * * 06/23/2016 06/30/2022 * A5B72964 * * * * ********************************************************************* * Be sure to zap all load modules containing the * Sirius Mods, e.g., ONLINE, IFAM4, etc. NAME ONLINE SIRE2$ * !NOVERIFY Do not remove this statement REP 0FF4 0000,F0F6,0000,AD5E,0401,0640,D2C1,C9E2 REP 1004 C5D9,4040,B2E3,FC7A,9015,846A,BEA2,D558 REP 1014 D80C,0822,6CE4,5600,1E9F,6497,16CE,FFD0 REP 1024 A755,47BE,B9A3,9C3D,5AD1,BFB7,19A2,AB6A REP 1034 72C3,0059,DD4D,2096,E6F0,BD95,EF32,E261 REP 1044 6D8B,FA9A,AB4E,B782,1F48,5D43,324A,3051 REP 1054 4E25,D9AE,71EA,1F39,B0FD,5054,ED1D,5481 REP 1064 850E,1734,0BA7,E96A,D7BD,55C7,4BC1,CA6A REP 1074 A70C,D460,1287,1FD1,9186,A2C8,282F,8E42 REP 1084 2A92,A512,1088,C7B7,AD78,0E23,9638,4EE9 REP 1094 DA2C,956A,C3CD,2337,C875,11F2,94FB,0B8A REP 10A4 C599,A0E7,4962,99AA,1549,9F7C,E841,5D87 REP 10B4 CD3C,D63E,3319,0A05,C37B,0FB7,565B,27EF REP 10C4 7801,928F,D885,2FAC,70E4,9C5B,F4E2,D600 REP 10D4 0000,0000,0000,0000,0000,0000,0000,0000 * !Sirius checksum 0001,1821 Do not remove this statement

Where can more documentation be found?

The primary source of documentation for Rocket M204 products is this wiki, M204wiki.