All SYSMAIN functions can be performed on programming objects. Programming objects that can be maintained with SYSMAIN include the following types of Natural object: program, subprogram, subroutine, copycode, helproutine, map, local data area, global data area, parameter data area, class, text, recording, Natural command processor, dialog, function, ISPF macro, report, adapter and resource.
Programming objects are stored in the system files according to the name of the library in which they are contained: if the library begins with SYS (except for the library SYSTEM), objects are stored in the FNAT system file. In all other libraries, the objects are stored in the FUSER system file.
This section describes menu functions and selection list options provided to perform a SYSMAIN function on programming objects and the syntax that applies when using direct commands.
The Programming Objects menus contain all SYSMAIN functions required for the processing of programming objects. The fields that can be provided in a menu are described in the following table:
Field | Explanation | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Recat: ON | Indicates that the profile parameter
RECAT has been set to ON : see
Using Profile Parameter
RECAT.
|
||||||||||||||||
Code |
|
||||||||||||||||
Sel. List |
|
||||||||||||||||
Name | The name of the object to be processed or a range of names: see
also Specifying a
Range of Names.
The default setting is an asterisk (*) which means that all names are selected. |
||||||||||||||||
New Name | The name to be given to an object when it is renamed with the rename function. | ||||||||||||||||
Type | The code that corresponds to the object type(s) to be processed
such as P for program and M for map: see
TYPE
Specification - Programming Objects.
You can enter one or more codes in any sequence. For example, if
you enter |
||||||||||||||||
Set Number | The number of the retained set created with the Predict XRef
save set option of the LIST XREF command. You can
apply all SYSMAIN processing functions to the objects included in this set.
If any valid number is specified, SYSMAIN assumes a Predict set. If no number is specified, normal object processing is assumed. You can specify a library and a user ID for the Predict set by using the fields Set Library and Set User in the Additional Criteria window described in Specifying Additional Criteria. |
||||||||||||||||
XREF |
|
||||||||||||||||
Library | The name of a source or a target library.
The source library contains the object to be processed. The target library is the library to which the object is to be copied or moved, or where the object is renamed. See also Listing and Selecting Libraries. |
||||||||||||||||
Database | The database ID (DBID) of a source or a target database.
The source database contains the library and system file where the object to be processed is stored. The target database contains the library and system file to which the object is to be copied or moved, or where the object is renamed. Valid database IDs are |
||||||||||||||||
File | The file number (FNR) of a source or a target system file (FNAT
or FUSER).
Valid file numbers are The source file contains the library where the object to be processed is stored. The target file contains the library to which the object is to be copied or moved, or where the object is renamed. |
||||||||||||||||
Replace |
|
||||||||||||||||
Criteria |
|
If the profile parameter RECAT
has been set to
ON
at session start, this is indicated in the
Programming Objects menus and on the
Selection screens.
Using SYSMAIN functions with RECAT=ON
, normal
dynamic recatalog rules apply as described in
RECAT - Dynamic
Recataloging in the Parameter
Reference documentation. This means the following:
If an object exists as both a saved object and a cataloged object, neither the saved object nor the cataloged object can be processed independently.
If an object only exists as a cataloged object, you cannot perform a
SYSMAIN function that only processes cataloged objects (error message
Invalid request with dynamic recatalog
appears) or
select a cataloged object from a Selection screen.
When automated processing is used, any object not satisfying these rules is ignored and processing continues with the next object.
If selective processing has been activated, a selection list of all programming objects that meet the specified selection criteria is displayed on a Selection screen.
This section describes the columns and fields contained on a Selection screen and the line commands provided to further process a programming object:
The following columns and fields are displayed on a Selection screen:
Column/Field | Explanation |
---|---|
C | Input field for line commands (see below). |
Name | The name of the programming object that meets the specified selection criteria. |
Type | The code that corresponds to the type of object as listed in TYPE Specification - Programming Objects. |
S/C | The object that exists for the programming object: a
saved/source (S ) object and/or a cataloged (C )
object.
|
Message | The message that indicates the processing status of a programming object. For possible messages, see Status Messages. |
Listed Library | The name of the library that contains the selected programming object(s). |
One of the following line commands can be entered in the C (Command) column of a Selection screen:
Line |
Function |
---|---|
A
|
Process any object listed in the S/C
(Saved/Cataloged) column; that is, saved/source (S ) objects and/or
cataloged (C ) objects.
This command does not apply to the find or the list function. |
B
|
Delete the cataloged object from the Natural buffer pool.
Deletion of the specified object(s) must be confirmed by entering
DELETE in a window that appears once you have specified the
object(s) and pressed ENTER.
|
C
|
Process only the cataloged object, even if there is a
corresponding saved object. If C is specified for an
object that exists only as a saved object, an error occurs.
This command does not apply to the find or the list function. |
D
|
Only applies to a Library Selection
screen (see also Listing and
Selecting Libraries).
Display a short list of the objects contained in the specified library. The information contained in the list (name, type, source/cataloged object) is identical to the information displayed on the Selection screen shown in Selective Processing in Using Menu Functions and Commands. |
H
|
Produce a hardcopy of the saved (source) object.
The source code of the specified object is printed and displayed on the screen. |
I
|
Display directory information of an object.
This command is similar to the system command |
L
|
Display the source code of a saved (source) object.
This command corresponds to the system command |
On a Library Selection screen (see also
Listing
and Selecting Libraries):
Display an extended list of the objects contained in the library.
In addition to the information displayed by using line command
|
|
R
|
Display the long name of a Natural object of the type resource. |
On a Library Selection
screen (see also Listing and
Selecting Libraries):
Verify use of external subroutines: For the library and object range specified, display the objects for which a cataloged object exists and indicate whether an object references an external subroutine. For each object that references an external subroutine, display the name of the external subroutine and the name of the cataloged object that exists for this subroutine if available. For an object of the type subroutine, the name of its equivalent alias long name is displayed. |
|
S
|
Process only the saved (source) object, even if there is a
corresponding cataloged object. If S is specified
for an object which exists only as a cataloged object, an error occurs.
This command does not apply to the find or the list function. |
On a Library Selection screen (see also
Listing
and Selecting Libraries):
List all external subroutines contained in the specified library by their alias long names and/or the short names of their equivalent cataloged objects. |
|
X
|
Only applies if Natural Connection and Entire Connection are
installed.
Download saved (source) object(s) to a PC: see also Downloading Source Objects to a PC. |
Z
|
Calculate sizes: review the sizes of the saved (source) and
cataloged objects, for example, the DATSIZE , ESIZE
and MCG size.
|
The download option only applies if Natural Connection and Entire Connection are installed.
To download one or more source objects
Before you invoke SYSMAIN:
Define work files 6 and 7 as PC work files.
After session start, activate the PC connection by entering the following terminal command:
%+
(See also Enable/Disable Use of Natural Connection in the Terminal Commands documentation).
Invoke any Selection screen.
Next to the object(s) you want to download, enter the following line command:
X
and press ENTER.
A PC Download Options window similar to the example below appears:
13:23:15 ***** NATURAL SYSMAIN UTILITY ***** 2005-08-10 User SAG - Copy Selection - COPY ALL * WITH XREF N FROM OLDLIB WHERE DBID 10 FNR 32 TO NEWLIB WHERE DBID 10 FNR 32 C Name Type S/C Message C Name Type S/C Message - -------- ------ --- ------------ - -------- ------ --- ------------ X SUB1 Subpgm S X SUB2 Subpgm S/C X SUB3 Subpgm S/C X SUB4 Subpgm S X SUB5 Subpgm S/C X SUB6 Subpgm S/C +----------------- PC Download Options ------------------+ S/C ! Specify the relevant PC options ! S/C ! ! S ! Drive ...... C ! S/C ! Path ....... SOURCES/SUBPROGRAMS ! S/C ! Extension .. NS* ! S ! ! S ! ! S ! ! ed Library: OLDLIB ! Warning: This will overwrite any existing objects with ! ! the same path, name and extension. ! Exit) _ +--------------------------------------------------------+ -PF10--PF11--PF12--- Help Menu Exit Copy Del Find List Move Ren Canc |
In the Drive field, enter the name of the PC
drive to which you want the object(s) to be downloaded. The default setting is
C
.
In the Path field, enter the name of the PC directory/subdirectory to which you want the object(s) to be downloaded (in the example above, subdirectory SUBPROGRAMS in directory SOURCES). Enter a slash (/) as the separator between a directory and subdirectory, and between subdirectories. If the specified directory/subdirectory does not exist, you will receive an appropriate error message.
In the Extension field, enter the extension of
the text file into which the source code of the object is to be loaded. If you
specify NS*
, the asterisk (*) will be replaced by the specified
object type (see TYPE Specification -
Programming Objects).
For example: a subprogram with the name SUB1 will be loaded into a file with the name SUB1.NSN.
Press ENTER to download the object(s).
The following message appears in the message line:
4824:Requested option(s) processed successfully
.
Additionally, if the Message column is
displayed on the screen, the message Exported
appears next to the
object(s) downloaded.
If desired, continue downloading other objects from this selection list.
The PC Download Options window will not appear
again for any further downloads from the current Selection
screen. This window only appears when the line command
X
is issued for the first time after invoking a
Selection screen, or after executing the direct command
SET PC
.
The settings in the PC Download Options window remain active until you terminate SYSMAIN.
All cross-reference (XRef) data stored in the Predict system file can be processed with SYSMAIN. The XREF option indicates whether SYSMAIN should process XRef data. XRef data is always deleted if the delete or replace function is performed on a cataloged object.
If Predict has not been installed, set the XREF option to N
and thus no validation of Predict files is performed. If the XREF option is set
to Y
and the FDIC file(s) being used are not valid Predict files,
an error message is returned.
The rules for setting the XREF option are the same as the ones imposed by Natural Security. However, in a non-security environment there are no restrictions.
This section covers the following topics:
If the XREF option is set to N
, no XRef data is processed,
but in situations where a cataloged programming object is deleted or replaced,
SYSMAIN deletes the XRef data. The target Predict system file is determined
according to the current settings of the source or target FDIC system file. The
default is the value assigned to the profile parameter
FDIC
(see FDIC - Predict System
File in the Parameter Reference
documentation) at the start of the Natural session.
If the XREF option is set to Y
or F
, the
following actions are applied during processing:
SYSMAIN verifies that XRef data already exists in the Predict system source file.
If the replace option is active (set to Y
) and a
programming object is to be deleted from the target environment, XRef data is
deleted from the Predict system target file.
If a programming object is being copied to a new environment, the XRef data of the programming object is copied from the Predict system source file to the Predict system target file. The library name is changed accordingly and in the case of the rename function, the object name is also changed.
If the move function was requested, the XRef data of the programming object is deleted from the Predict system source file.
If the XREF option is set to F
, SYSMAIN additionally
checks that the programming object (program, subroutine, subprogram, map or
helproutine only) has a Predict program entry defined on the Predict system
target file. If not, processing of the object is terminated.
If the XREF option is set to S
, the special case applies
where a range of specified objects is processed with corresponding XRef data
regardless of whether all of the objects have cross-reference data or not: the
objects that have cross-reference data are processed with their cross-reference
data, and the objects that have none are also processed.
If any of the following inconsistencies occur during the SYSMAIN processing of XRef data, all processing for the object or function is terminated and an error message is displayed:
The value of the XREF option in Natural Security is F
or
Y
and you specified a value of Y
or N
respectively.
The XREF option is set to F
and SYSMAIN finds no
documented program entry in Predict for the object being processed.
An invalid Predict file is specified.
The value of the XREF option in Natural Security is F
or
Y
and you specified a value of S
.
In addition to the selection criteria specified in the input fields in a Programming Object menu, you can select objects by a date/time, user ID and terminal ID that relates to their saving or cataloging.
You can also specify the user ID and the library for a Predict set. This option does not apply to the list and find functions.
For example, you can select only those objects that were cataloged on a specific day between 8:00 and 12:00 by a specific user on a specific terminal, which means that the processing of objects according to the selection criteria is based on all selected criteria as a whole, not on each condition.
To specify additional selection criteria
In the Criteria field of a
Programming Objects menu, replace N
(default)
by Y
.
The Additional Criteria window similar to the example below appears:
15:24:55 ***** NATURAL SYSMAIN UTILITY ***** 2006-09-15 User MMO - Copy Programming Objects - +------------------------------------------+ ! --- Additional Criteria --- ! ! ! ! Object Type ..... PN__________________ ! ! Date/Time From .. 2006-01-01 _____ ! ! Date/Time To .... __________ _____ ! ! User ID ......... SAG______ ! ! Terminal ID ..... ________ ! ! Set Library ..... ________ ! ! Set User ........ ________ ! ! ! Code .. ! Command ===> ! Object Name .. ! ! +------------------------------------------+ N Source Library ... SYSTEM__ Database .... 10___ File .. 32___ Target Library ... ________ Database .... 10___ File .. 32___ Options Replace ... N + Criteria .... Y Command ===> Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12--- Help Menu Exit Copy Del Find List Move Ren Fsec Fdic Fnat |
Enter the required selection criteria. If one or more object-type codes have been entered in the Object Type field in the Additional Criteria window, the Type field in the Programming Objects menu is preset to the same object-type codes.
When you return to the Programming Objects
menu, a plus sign (+) in front of the Criteria field
indicates that additional object selection criteria have been specified; in the
example above, user ID SAG
.
The plus character (+) is not displayed if only the Object Type field contains an entry since this entry already appears in the Type field in the Programming Objects menu.
This section shows the syntax that applies when performing a SYSMAIN function for programming objects by using direct commands in either online or batch mode. For general instructions on using direct commands, refer to Executing Commands.
For explanations of the keywords and variable values used in the syntax diagrams below, refer to Keywords and Variables in Direct Commands. The symbols in the syntax diagrams correspond to the syntax symbols used for system commands. These symbols are explained in System Command Syntax in the System Commands documentation.
The syntax of the where-clause and the with-clause are identical for each command.
This section covers the following topics:
name |
FM [LIBRARY ]
lib-name
|
[where-clause] | |||||||||||
TO [LIBRARY ]
|
lib-name [where-clause] [with-clause] |
COPY PROG1 FM TESTORD TO ORDERS DBID 1 FNR 6 REP
C PGM* WITH REP TYPE PNS FM PRODLIB TO TESTLIB
M PROG1 FM OLDLIB TO NEWLIB
MOVE STOWED * TO NEWLIB WHERE DBID 100 FNR 160 FMDATE 2007-01-01 FM OLDLIB WITH XREF Y
DELETE
|
name | IN
[LIBRARY ]
lib-name
|
[where-clause] | [with-clause] |
DELETE C M> IN LIB ORDERS
D * IN TESTLIB DBID 1 FNR 5 NAME SYSNAT
D SA * IN LIBTEST TYPE GLA
D * TYPE PM IN TESTORD FMDATE 2007-01-01 TODATE 2007-04-30
name | IN
[LIBRARY ]
lib-name
|
[where-clause] | [with-clause] |
Note:
The direct command LISTLIB
is only
available in batch mode and is used to obtain a list of library names.
FIND SAVED MENU IN TESTLIB
FIND STOWED MAINMENU IN SYS* WHERE DBID 1 FNR 5
F ALL PROG2 IN PROD* FNR 27 DBID 1
LIST * IN TESTLIB
LIST DT* IN TESTLIB
L SAVED TEST* IN TESTLIB TYPE PNS FNR 6
L SA TEST* TYPE PM IN TESTLIB FNR 6 DBID 2 FMDATE 2007-01-01
LISTLIB ALL MENU IN SYS* DBID 10 FNR 44
RENAME
|
|||||||||||
name AS
new-name
[with-clause]
|
|||||||||||
FM
[LIBRARY ]
lib-name
|
[where-clause] | ||||||||||
TO
[LIBRARY ]
lib-name
|
[where-clause] |
RENAME PGM1 AS PROG1 FM TESTLIB
R PGM1 AS PROG1 FM TESTLIB DBID 1 FNR 5 TO PRODLIB DBID 2 FNR 6
R PGM* TYPE PS RCOP FM TESTLIB TO PRODLIB
[WHERE ] [DBID
dbid]
[FNR fnr]
[NAME
vsam-name]
[CIPHER
cipher]
|
|||||||||||||||||||
|
password | ||||||||||||||||||
[DIC
(dbid,fnr,password,cipher)]
|
|||||||||||||||||||
[SEC
(dbid,fnr,password,cipher)]
|
Commas must be used as separators between the values following the
DIC
and SEC
keywords, or if a value is missing. For
example: DIC (10,,secret,2a)
.
If the session parameter ID
(see
ID - Input Delimiter
Character in the Parameter Reference
documentation) has been set to a comma, use a slash (/) as the separator
between values.
[WITH ]
|
[TYPE
type]
|
[FMDATE date-from]
|
[TODATE date-to]
|
[FMTIME time-from]
|
||||||
[TOTIME
time-to]
|
[USER
user-id]
|
[TID
terminal-id]
|
[XREF xref]
[HELP ]
|
|||||||
[REPLACE ]
|
[RCOP ]
|
[EXTEND ]
|
||||||||
[SETUSER
set-user]
|
[SETNO
set-number]
|
[SETLIBRARY
set-library]
|