The unofficial
IBM-MAIN Mailing-List/Newsgroup
FAQ
(Frequently Asked Questions)



Technical question section

Fastpath to the other FAQ pages: [ General // Posting // Technical // Humor // Vendor ]


This page was created to answer commonly asked questions on the IBM-MAIN mailing-list/newsgroup. It is not sanctioned or endorsed by the IBM-MAIN list owner or list provider.
Where is the IBM utility IPOUPDTE documented?

If you don't have an old set of pre-OS/390 CBIPO install datasets available, check out the OS/390 Installation and Ordering page and take the CPPUPDTE link to see the IPOUPDTE documentation.


Why don't I get step and job end messages in my JES2 log after my OS/390 upgrade?

This information is based on OS/390 R6 and is from the FAQ Editor's experience, and not from posts on IBM-MAIN:

IBM ships OS/390 with a sample SMF exit which displays the step and job statistics end messages.
  • OS/390 R6:
    • Source: CPAC.SAMPLIB(SMFACTRT)
    • Executable: CPAC.LINKLIB(IEFACTRT)
    • LPA PARMLIB: CPAC.PARMLIB(IEALPA00) - used to replace the IBM "BR14" SYS1.LPALIB(IEFACTRT).
    • SMF PARMLIB: CPAC.PARMLIB(SMFPRM00)

      Note: The CPAC.** datasets at your shop may not be catalogued but they are usually found on the primary SYSRES. They may be named "SYS1.CPAC.** at your shop.

  • OS/390 R7 and higher:
    • Source: SYS1.SAMPLIB(IEEACTRT)
    • Executable: Assemble SYS1.SAMPLIB(IEFACTRT) into the LNKLST library of your choosing as member name IEFACTRT
    • LPA PARMLIB: No longer supplied by IBM. Kalinich, John contributed this example:

      VIEW       SYS1.PARMLIB(IEALPA00) - 01.00
      Command ===>
      ****** ***************************** Top of Data *
      000001 INCLUDE LIBRARY(SYS1.CPAC.LINKLIB) MODULES(
      000002              IEFACTRT
      000003              )
      
    • SMF PARMLIB: No longer supplied by IBM in CPAC.PARMLIB (on the R7 R/390 I have access to). Here's a sample SYS1.PARMLIB(SMFPRMxx) member that I used on a developer's R/390 to drive the ACTRT exit (you need to write SMF30 records). This is NOT a good parmlib member for a production machine! You need to write other records than SMF30:
      ACTIVE
                                   /* SMF DATA SETS      */
      DSNAME(SYS1.MAN1)
      NOPROMPT                     /* DO NOT PROMPT OPERATOR FOR OPTIONS
      REC(PERM)                    /* TYPE 17 PERM RECORDS ONLY */
      MAXDORM(3000)                /* WRITE AN IDLE BUFFER AFTER 30 MIN *
      STATUS(010000)               /* WRITE SMF STATS AFTER 1 HOUR */
      JWT(2400)                    /* 522 AFTER 24 HOURS    */
      SID(P390)                    /* SYSTEM ID IS P390 */
      LISTDSN                      /* LIST DATA SET STATUS AT IPL */
      /* ------------------------------------------------------------ */
      SYS(TYPE(30),
          INTERVAL(010000),DETAIL)
      SUBSYS(JES2,
             EXITS(IEFACTRT),
                  INTERVAL(010000))
      
      It writes SMF30 records and invokes the IEFACTRT exit for batch jobs.

Checklist:

  • Ensure that your SYS1.PARMLIB(SMFPRMxx) member invokes IEFACTRT. See CPAC.PARMLIB(SMFPRM00) if needed.
  • Edit your SYS1.PARMLIB(IEALPA00) member to include IEFACTRT.

  • Hint: You can install IEFACTRT (and other SMF exits) dynamically via the SETPROG command. See the OS/390 system commands manual.


How do I add and delete LNKLST datasets?

Frank Allan Rasmussen contributed this:
To replace a dataset in the LNKLST, you can do the following:
  • P LLA
  • SETPROG LNKLST,DEFINE,NAME=newlnklst,COPYFROM=CURRENT
  • SETPROG LNKLST,DELETE,NAME=newlnklst,DSNAME=old.dataset.name
  • SETPROG ADD,NAME=newlnklst,DSNAME=new.dataset.name,AFTER=dsname
  • SETPROG LNKLST,ACTIVATE,NAME=newlnklst
  • SETPROG LNKLST,UPDATE,JOBS=*

  • SETPROG LNKLST,DELETE,NAME=oldlnklst,DSNAME=old.dataset.name
  • SETPROG ADD,NAME=newlnklst,DSNAME=new.dataset.name,AFTER=dsname
  • SETPROG LNKLST,ACTIVATE,NAME=oldlnklst
  • SETPROG LNKLST,UPDATE,JOBS=*

  • S LLA,SUB=MSTR
You will need to allocate the new dataset before you can do this.

The last 4 SETPROG's is only needed if you want to run on the 'old' linklist name, it is purely cosmetic.
Is there a ZIP utility for MVS?

Commercial:

Free:

  • Info-ZIP is free and PKZIP compatible. It is ported to lots of platforms, including OS/390, both standard and Unix System Services. Source is also available.
  • jar - OS/390 comes with Java (which may or may not be configured by your systems staff). All standard Java environments have a command line utility called jar which can create zip files and uncompress zip files. By default, jar creates an unnecessary file in the zip file called a manifest file but it can be eliminated with an option. The jar command can also be executed in batch. Even though the output file has a ".jar" extension, it is a PKZIP-compatible file.

    Also check out: Java and the Zip File Format - Dr. Dobb's Journal December 1997

Other MVS compression resources:

  • gzip (GNU zip) is a compression utility designed to be a replacement for compress. See the gzip Executables download area
  • compress and uncompress are two Unix commands that are included in the OS/390 OE/OpenEdition/Unix_System_Services.
  • IBM's CSRCESRV and CSRCMPSC compression Assembler macros. See GC28-1910 OS/390 MVS Programming: Assembler Services Reference.

Note: The information on the UNIX commands compress & uncompress and assembler macros CSRCESRV & CSRCMPSC are not from posts but contributed by the FAQ editor.


How do I get good return codes when running TSO in batch?

Instead of using PGM=IKJEFT01, use PGM=IKJEFT1A

Gregg Sawyer posted this on IBM-Main in response to a question about running an ISPF application in batch TSO:
The JOB STEP COND CODE is 0 because that is the completion code of the ISPSTART command, which completes successfully (barring an intolerable ISPF error) regardless of any subsidiary completion code. Set and VPUT ZISPFRC to exit ISPSTART with a non-zero code.
Here's an example Rexx ISPF application that does this (from the TSO-REXX Frequently Asked Questions). Thanks to Neil Hancock for the URL



This web page was created from posts to the IBM-MAIN mailing-list/NewsGroup (unless noted differently). All dates have been changed to the ISO format: "CCYY-MM-DD". This FAQ is in the Public Domain. It is currently edited by David Alcock. Please feel free to send me any suggestions, spelling corrections, etc.

Return to the FAQ index

LEGAL DISCLAIMER

This article is provided as-is without any expressed or implied warranties. While every effort has been taken to ensure the accuracy of the information contained in this article, the author assumes no responsibility for errors or omissions, or for damages resulting from the use or mis-use of the information contained herein.

Any product or service mentioned in this document does not constitute any kind of recommendation or endorsement by the author. Should you decide to make use of any such product or service mentioned in this document you do so at your own risk.

This article, its associated web site, and its author are in no way affiliated with IBM, the IBM-MAIN list owner or list provider.

All trademarks mentioned in this document are property of their respective owners.


IBM-MAIN FAQ Version 1.4
This page was last updated on 2003-02-21