Sun Mainframe Batch Manager Software, Release 10.0.0
Updated User Documentation

This file contains updates to the user documentation
released with MBM 10.0.0. If there are no documentation
updates for a patch release, it is so noted.


--------------------------------
MBM 10.0.0p5   -  113826-05
--------------------------------
1. A fix to BugId 4869051, which related to support for concatenated SYSIN
data, resulted in the following new error messages.
       
  MA2560 (S) Invalid arguments to ebmcat.  Should be:  ebmcat <option> <file(s)>
  
    Description: Use of the ebmcat function requires 2 parameters: An option
    parameter and a filename, or file names concatenated together.
    
    Solution: The ebmcat function is an internal Sun MBM function. Therefore, 
    if you receive this message, contact your authorized Sun service provider.

  MA2561 (S) Invalid option to ebmcat. Should be checkfiles or catfiles
  
    Description: The only valid options to the ebmcat function are 'checkfiles'
    or 'catfiles'.
    
    Solution: The ebmcat function is an internal Sun MBM function. Therefore, 
    if you receive this message, contact your authorized Sun service provider.

  MA2562 (S) Error opening file %s.  errno=%d
  
    Description: An attempt was made to open the specified file, but an error
    on the fopen function was returned. The fopen error is the value of errno.
    
    Solution: The errno identifies the Solaris fopen error. Look up the errno 
    to determine why the fopen function failed and take corrective action.

  MA2563 (S) File %s does not have read permissions
  
    Description: The specified file does not have the necessary read 
    permissions for future file I/O. 
     
    Solution: Make sure the appropriate permissions are given to the 
    file at the owner, group, or other level, as required.  

2. Improvements and corrections to the job editor warranted the release of
   a document supplement that replaces the existing "Using the Job Editor"
   chapter in the Sun MBM User's Guide. The supplement is located in the
   docs directory of MBM10.0.0p5 directory. (BugId 4852938)


--------------------------------
MBM 10.0.0p4   -  113826-04
--------------------------------

1. A fix to BugId 4842576, which related to jobs aborting with segmentation
errors when running in validation mode, resulted in two new error messages.
   
     MA2558(I) User utility found in validation mode : %s

       Description: This message informs the job submitter that
       the specified user utility was located while running the job in
       validation mode.

       Solution: No action is required.

     MA2559(I) User utility not found in validation mode : %s

       Description: This message informs the job submitter that the
       specified user utility was not located while running the job in
       validation mode.

       Solution: Verify the location of the utility and ensure that the
       directory is in the PATH variable before executing the job in 
       normal mode.
       
2. A fix to BugId 4813594, which related to the ASSGNDD macro, resulted in 
the following addition to the documentation for the ASSGNDD macro.

     By default, the ASSGNDD disp='o' option erases the output file if it
     exists, and the job continues. To prevent the erasing or overwriting 
     of an existing output file, and to abort the job, you must set the 
     OUTPUT_FILE_EXISTS variable to ABEND in one of the job setup files 
     or in the subsystem's user setup file. The combination of the
     OUTPUT_FILE_EXISTS variable and the disp='o' option causes the 
     job to abend if the output file exists, thus preventing corruption 
     of the file.
     
3. A new error message has been added and several other messages have
been changed relating to support for the DCB parameter of the MVS JCL
DD statement. Note that Sun MBM does not currently support the DCB 
parameter. (BugId 4820779)

   New message:
   
   MV0690(W) DSNAME(%s) parameter of DCB is not supported in this version. 

     Description: This message indicates that the DCB parameter is not
     supported. The %s variable is the dataset name that is coded in the 
     DCB parameter.
     
     Solution: No action is required. However, you might want to examine
     the JCL to determine if the DD statement should be coded differently.


4. The following error messages were changed to reflect that the translation
of special characters has been changed from underscores (_) to /xHH,
where HH is the hexadecimal representation of the ASCII character.
   
   MV0535(I) Line=#%3.3d. Value of symbolic parameter %s of %s has [%s]
   characters replaced by '/xHH'.
   
   MV0536(I) Line=#%3.3d. Value of symbolic parameter %s of %s has [%s]
   characters replaced by '/xHH'. 
   
   MV0537(I) Line=#%3.3d. Value of symbolic parameter %s of %s has [%s]
   characters replaced by '/xHH'.
   
   The description and solution is the same for all three messages:
        
     Description: The mvstrans translator converted the %s characters of 
     the %s symbolic parameter for the %s statement on line %3.3d to 
     /xHH in preparation for execution in the Sun MBM environment. 
     
     Solution: Informational message; no user action is needed.
     

5. Sun MBM 10.0.0 has been qualified with Oracle 9.2 and the Oracle 32-bit
client libraries. If Oracle 9.2 is not installed with 32-bit client libraries,
the Oracle 9.2 installation default is 64-bit client libraries. Using the
Oracle 64-bit client libraries with Sun MBM will cause unpredictable results
when creating the Sun MBM subsystem binaries. (BugId 4838894)

6. Sun MBM now supports procedure step condition overrides on the MVS JCL 
EXEC statement. To enable this support, the ONRETCODE and ONCONDCODE macros
have two new parameters, which must appear as the last two parameters in the 
macro statement. Note that the poverride parameter must precede the stepname 
parameter. (BugId 4829266)

   poverride='y' - Indicates that this is a procedure override.
   
   stepname='<stepname>' - Indicates that this condition overrides the
     condition code for the specified stepname in the next called
     procedure.
      
   Example 1 - The following MVS JCL EXEC statement:
   
     //JSTP EXEC PNAME,COND.STEP1=(0,NE)
      
   is translated to the following macro statement:
   
     ONRETCODE MAXRC NE 0 BYPASS scope='STEP' poverride='y' stepname='STEP1'
     EXECPROC procname='PNAME' stepname='JSTP'
     
   Example 2 - The following MVS JCL EXEC statement:
   
     //JSTP EXEC PNAME,COND.STEP1=((0,GT),EVEN)
     
   is translated to the following macro statement:
   
     ONCONDCODE NE 0 CONTINUE scope='STEP' poverride='y' stepname='STEP1'  
     ONRETCODE MAXRC LT 0 BYPASS scope='STEP' poverride='y' stepname='STEP1' 
     EXECPROC procname='PNAME' stepname='JSTP'


--------------------------------
MBM 10.0.0p3   -  113826-03
--------------------------------
None


--------------------------------
MBM 10.0.0p2   -  113826-02
--------------------------------

1. Enhancements to the way Sun MBM extracts the current step name resulted
   in the following new error messages. (BugId 4775843)
   
   MA2113(S) System exec failed %d,  status %d
   %s 

     Description: A system fork to start the specified executable failed 
     with the specified system return and errno.

     Solution: Ask your Solaris system administrator to evaluate the return 
     values to determine why the fork failed.

   MA2114(S) System exec failed %d : signal %d
   :%s

     Description: A system fork to start the specified executable failed 
     with the specified system return and signal number.

     Solution: Ask your Solaris system administrator to evaluate the return 
     values to determine why the fork failed.

   MA2115(S) Unable to retrieve current step name
 
     Description: An internal error occurred.

     Solution: Contact your authorized Sun service provider.
     
2. A fix in the REPRO processing logic resulted in a new error message. 
   (BugId 4767735)

   MA2116(S) DD_SYSIN is not assigned
   
   Description: IDCAMS identifies the command to be executed based on the 
   file defined by the variable DD_SYSIN. 

   Solution: Define the IDCAMS command(s) to be executed in a file. Use the
   ASSGNDD macro to associate the ddname SYSIN with the name of the file. 
   Resubmit the job. 

3. EXECPROC did not have a check for calling itself recursively (BugId 4783512). 
   The fix to this bug resulted in a new error message:

   MA3091(S) ERROR   Cannot execute a procedure recursively

   Description: This message is generated when an EXECPROC tries to call 
   itself.
   
   Solution: Verify that the procedure being executed has not been invoked 
   recursively. If the procedure is correctly written, contact your 
   authorized Sun service provider.
   
4. Fix to BugId 4795021, which involved the DOS VSE IF/THEN statement
   resulted in the following new error messages:

   MA3092(S) Invalid Syntax %s
   
     Description: The syntax of the IF macro statement is incorrect.
   
     Solution: Refer to the Sun Mainframe Batch Manager Software
     Reference Guide for the correct syntax of the IF macro.

   MA3093(S) invalid syntax: cannot perform numeric comparison on 
   non-numeric values
   
     Description: The syntax of the IF statement is incorrect. It is
     trying to compare a string and numeric operand with a numeric 
     comparator.
   
     Solution: Refer to the Sun Mainframe Batch Manager Software
     Reference Guide for the correct syntax of the IF macro.
   
   MA3094(S) caught exit status=%d.
   
     Description: The program called by the THEN statement exited 
     abnormally. It was interrupted by a signal. The %d variable 
     will display a numeric value indicating an interrupt.
     
     Solution: Check the history file for other messages that contain
     information about the program that exited abnormally. If you cannot
     resolve the problem, contact your authorized Sun service provider.
     
   MA3095(S) terminated exit status=%d.
   
     Description: The program called by the THEN statement exited 
     abnormally. The %d variable will display a numeric value indicating
     the exit status.
   
     Solution: Check the history file for other messages that contain
     information about the program that exited abnormally. If you cannot
     resolve the problem, contact your authorized Sun service provider.
   
   MA3096(S) error executing %s errno=%d.
   
     Description: An error occurred when executing the program called by 
     the THEN statement. The %s variable will display a string containing 
     the program name, and the %d variable will display the UNIX error number.
   
     Solution: Check the history file for other messages that contain
     information about the program that could not be executed. If you cannot
     resolve the problem, contact your authorized Sun service provider.
   
   MA3097(I) IF/THEN in validation mode, no action taken.
   
     Description: IF/THEN is running in validation mode.
     
     Solution: Informational message; no user action is required.
     
5. Sun MBM now allows an output format of VSAM to be processed by the SyncSort 
   sort product. (BudId 4800916) This requires the following documentation
   changes:

   Sun Mainframe Batch Manager Software Migration Guide, Chapter 7
   
   - page 177: In the section "SORTIN_TYPE Environment Variable," the
               paragraph starting "VSAM files" should be changed to: 
               "VSAM files are supported in SyncSort, as of version 3.6.5,
               and in CoSORT, as of version 7.5.3."
   - page 180: Table 7-3, the values for the SYSIN Exists column should be
               changed for VS-VS to "SyncSort supports."
   - page 205: Remove the section "SyncSort Support Sun MTP VSAM Input Files"
               including the sample code.
               
   Sun Mainframe Batch Manager Software Message Guide, Chapter 12
   
   - page 393: Remove ERROR: VSAM to VSAM is not supported for SyncSort.
   
6. Documentation errata in Sun MBM Reference Guide. (BugIds 4786738, 4791140)

   - In Table 3-2, the environment variable for dest='node,userid' should
     be ddname_DEST 'node,userid'.
     
   - In Table 3-2, the environment variable for control=spacing should be
     ddname_CONTROL spacing.
     
   - In Table 3-2, the free option descriptions should be as follows:
   
     END: Deallocate at the end of the job step. The default.
     CLOSE: Deallocate when the program closes the SYSOUT file.
     
   - In Table 3-2, the prmode option descriptions should be as follows:
   
     LINE: Schedule to a line mode printer.
     PAGE: Schedule to a page mode printer.

 7. Documentation errata in Sun MBM Migration Guide (BugId 4753612, 4804740)
 
    - In Chapter 4, the description of the LINES parameter of the
      /*JOBPARM statement should be:
      
        The LINES parameter specified the maximum number of lines to
        spool for sysout datasets in this job. Its value is interpreted
        in thousands of lines.
   
    - Code Example 4-44 should be deleted.
   
    - Code Example 4-91 is incorrect. It should be as follows:
   
      SET statement with parameters set to AA&&A and 'B B&&B':
   
        ...
        //SETPRMS SET PARMA=AA&&A,PARMB='B B&&B'
        ...
     
        is translated to:
   
        ...
        SETPARM parms='PARMA=AA_A,PARMB=B_B/x26/x26B'
        ...
        
    - In Table 5-7, recfm should be recfmt.
    
    - In Table 6-2, the following statements and parameters should be in bold:
      CNTL, DSID, ENDCNTL, DPRTY, DYNAMNBR, and PEND.
    
    - In Chapter 7, the parameter ASCII_ in the section "sortx Control 
      Statement Format" should be ASCII.
      
    - In the section "Sort Examples" in Chapter 7, the original JCL should 
      show the line SORT FIELDS=(1,2,A),FORMAT=CH in bold.
    
8. Documentation errata in the Sun MBM Configuration Guide (BugId 4803417)

   - In Chapter 10, Step 2 of the procedure "To Change the Number of 
     Activities," the word "elect" should be "select."
    
9. Documentation errata in the Sun MBM User's Guide (BugId 4790463)

   - In Chapter 2, Figure 2-11 shows an Active Jobs screen that does not 
     show all the buttons that can be displayed. To display the buttons,
     highlight a job in the list.
    
   - In Chapter 2, Step 1 of the procedure "To Allocate Threads to a Class"
     should say to select class e, not class c.
     
   - In Chapter 3, the following figure captions should be changed as noted:
  
      Figure 3-4 should be Procedures Tab
      Figure 3-12 should be Return Code Tab

   - In Chapter 4, the documentation for the -E option of the dostrans 
     command is incorrect. Delete or ignore it.
    
   - In Chapter 4, the following command formats incorrectly show the -T 
     option as - T: chgjob and unikixjob.
    
   - In Chapter 4, the lstjob command example shows two column headings 
     (X and A) that are not described. The descriptions are as follows:
    
     X: Only used for backward compatibility for jobs that were translated 
     with the haltrans -x command. Values are y or n.
    
     A: Indicates whether the job was submitted for animation. Values are 
     y or n.
    
   - In Chapter 4, the histprt command contains confusing information about 
     how the EBM_DATE_FORMAT and LC_TIME environment variables affect the
     command. The following statement should be added to the histprt command
     description:
    
       The EBM_DATE_FORMAT and LC_TIME environment variables affect the 
       date/time stamp of the histprt entry (the Date column of the 
       histprt output).
      
10. Documentation errata in Sun MBM PPF User's Guide, Release 9.2 
(BugId 4746848).

   - There should be descriptions for the suffixes ..NP and ..SC in File_Map.

     In Chapter 3, the section "Updating the File_Map," append the following
     to the first paragraph:
     
       The suffix "..NP" is used to denote standard named pipe files between 
       two jobs executing on the same local host. The suffix "..SC" denotes 
       a socket being shared between two jobs via a socket connection.

   - In Chapter 3, the section "Updating the Job Control Language (JCL)
     Scripts," contains erroneous examples:
     
      - The first unnumbered example should be a JOB not a PROC, so 
        change the //PROC8  PROC to //JOB8  JOB.
          
      - Code Example 3-1 is a poor example for the XSUBMIT and XWAIT 
        procedures. The XSUBMIT/XWAIT example JCL should be as follows, and
        is associated with the second bullet item above it:

        //JOB8    JOB
        //XSTEP01 EXEC PROC=XSUBMIT
        //SYSIN   DD *
        +/STEP01  EXEC PGM=CB001
        +/INPUT1  DD DSN=HOME.EBMTEST.DATA.AAA,DISP=(OLD,CATLG,CATLG)
        +/OUTPUT1 DD DSN=HOME.EBMTEST.DATA.CCC,DISP=(NEW,PASS,DELETE)
        //STEP02  EXEC PGM=CB002
        //INPUT2  DD DSN=HOME.EBMTEST.DATA.CCC,DISP=(OLD,DELETE,DELETE)
        //OUTPUT2 DD DSN=HOME.EBMTEST.DATA.BBB,DISP=(NEW,CATLG,CATLG)
        //XWAIT01 EXEC PROC=XWAIT,XSTEPNAME=XSTEP01,COND=EVEN
        //STEP03  EXEC PGM=IEBUPDATE
        ........
        ........

      - Code Example 3-2 for RUNPGM should be changed to one which 
        has the RUNPGM utility in it. Replace both sets of JCL with the 
        following:

        //JOB8    JOB
        //STEP102 EXEC PGM=RUNPGM
        //INPUT1  DD   DSN=HOME.EBMTEST.DATA.AAA,DISP=(OLD,CATLG,CATLG)
        //OUTPUT1 DD   DSN=HOME.EBMTEST.DATA.CCC,DISP=(NEW,PASS,DELETE)
        //INPUT2  DD   DSN=HOME.EBMTEST.DATA.CCC,DISP=(OLD,DELETE,DELETE)
        //OUTPUT2 DD   DSN=HOME.EBMTEST.DATA.BBB,DISP=(NEW,CATLG,CATLG)
        //SYSIN   DD   *
        //FUNC=CB001
        //FUNC=CB002
        /*
        //STEP03 EXEC  PGM=IEBUPDATE
        ........
        ........


   - In Chapter 3, the section "What Happens When a Program Execution
     Fails?" contains a typo in the fourth bullet: RUNPBM should be RUNPGM.

   - In Figure 3-1, the colon (:) should be changed to a period (.), as 
     follows:
     
       At the bottom, PRIMER.ACCT.MF:SEQ2
   
       should be:
   
       PRIMER.ACCT.MF.SEQ2


--------------------------------
MBM 10.0.0p1   -  113826-01
--------------------------------

1. The job editor's startup script now verifies that the Java(tm) version is at 
least 1.4. (BugID 4756983)

If the version is lower than 1.4.0, the following message is displayed:

"ERROR - Current java version: '$JAVAVER'  version 1.4.0 or above is required."

where JAVAVER is the current version of Java if the JDKROOT environment variable
is set to a version lower than 1.4.0.

2. IDCAMS Utility Limitations

  Limitation: A comment may not be continued over multiple lines in the 
  IDCAMS SYSIN data using the line continuation character (-) or the string
  continuation character (+).

  Workaround: Remove the comment or make each comment a separate line. 

  Example 1

  REPRO /* my comment +
   continued */ -

  Should be changed to:

  REPRO - 
   /* my comment continued */ -
   
  Example 2 

  REPRO -
    /* my comment -
       continued */ -

  Should be changed to:

  REPRO - 
    /* my comment continued */ -


  Limitation: If a DELETE statement includes a CATALOG parameter, not all 
  cases of embedded spaces are supported.

  Workaround: Remove any spaces within the parentheses.

  Example

  DELETE (MY.DATASET) CATALOG(MYCATLOG/ MYPASSWD)

  Should be changed to:

  DELETE (MY.DATASET) CATALOG(MYCATLOG/MYPASSWD)


  Limitation: A REPRO step where the INFILE or INDATASET parameter specifies 
  a base GDG (the concatenation of all GDG intances) might fail if no
  occurrences exist.
  
  Limitation: The ENVIRONMENT(DUMMY) syntax parameter of REPRO INFILE/INDATASET
  is not supported in the current version. The parameter is ignored by Sun MBM.
  
  Workaround: Remove the ENVIRONMENT subparameter.

  Example

  REPRO INFILE(DD1 ENVIRONMENT(DUMMY)) OUTFILE(DD2)

  Should be changed to:

  REPRO INFILE(DD1) OUTFILE(DD2)
  
3. Changes to the sample applications changes the references to the sample
directory in the Sun Mainframe Batch Manager Software Installation Guide 
from oracle 1 to oracle (BugId 4779655). In the section "Using the
Oracle Sample Application," Step 10 on page 44 requires the following
changes: 

   -The path name in substep b should be $EBMHOME/samples/oracle/ish.
   -The path name in substep c should be $EBMHOME/samples/oracle/ishp.
   -The path name in substep d should be $EBMHOME/samples/oracle

4. Fix to BugId 4705343, which allows a VSE job to restart properly and
report if a restart step is not found, resulted in a new error message.
This fix was made to the Sun MBM 10.0.0 release, but the message was not
documented in the Sun MBM Message Guide.

   MA2557 (I) Job submitted in RESTART mode : %s
   
   Description: Informational message indicating the stepname[.pstepname] 
   of the restart.

5. Changes and additions to the documentation in the Sun MBM User's Guide
on the dostrans command. (BugId 4706411)

   The current documentation for the -E option is incorrect and should be
   deleted or ignored.
   
   The new -E option translates '&' to '\$' in instream data. If you do not
   use the -E option, the default behavior of dostrans is to translate the
   '&' to '\&'.
   
   The new -D option does not translate '$' to '\$' in instream data. If you 
   do not use the -D option, the default behavior of dostrans is to change 
   '$' to '\$'.
   
   Note that using the -E and -D options results in non-standard
   mainframe behavior.
   
The following examples illustrate these changes. The first example shows the
original JCL. The other examples show how the JCL is translated based on the
dostrans options used.
   
Original JCL:
--------------
// JOB tstinstop
// EXEC PGM=IDCAMS,PARM='TEST'
   $dollar test with -E
   &ampersand test with -D
/&


dostrans tstinstop -f
---------------------
BEGINJOB
ASSGNDD ddname='SYSIN' type='INSTREAM' << !
   \$dollar test with -E
   \&ampersand test with -D
!
EXECPGM pgmname='IDCAMS' stepname='STEP0001' parm='TEST'
ENDJOB


dostrans tstinstop -f -E
------------------------
BEGINJOB
ASSGNDD ddname='SYSIN' type='INSTREAM' << !
   \$dollar test with -E
   \${ampersand} test with -D
!
EXECPGM pgmname='IDCAMS' stepname='STEP0001' parm='TEST'
ENDJOB

dostrans tstinstop -f -D
-------------------------
BEGINJOB
ASSGNDD ddname='SYSIN' type='INSTREAM' << !
   $dollar test with -E
   \&ampersand test with -D
!
EXECPGM pgmname='IDCAMS' stepname='STEP0001' parm='TEST'
ENDJOB

dostrans tstinstop -f -D -E
---------------------------
BEGINJOB
ASSGNDD ddname='SYSIN' type='INSTREAM' << !
   $dollar test with -E
   ${ampersand} test with -D
!
EXECPGM pgmname='IDCAMS' stepname='STEP0001' parm='TEST'
ENDJOB

