Subprograms for Retrieval

These subprograms can be used to obtain various kinds of information:

Subprogram Description
NSCDA Display library security profile.
NSCDA-C   Display command restrictions of library security profile.
NSCDA-P   Display security options, security limits and session parameters of library security profile.
NSCDA-S   Display statement restrictions of library security profile.
NSCDAU   Display special-link security profile.
NSCDAUC   Display command restrictions of special-link security profile.
NSCDAUP   Display security options, security limits and session parameters of special-link security profile.
NSCDAUS   Display statement restrictions of special-link security profile.
NSCDU   Display user security profile.
NSCONE Display NaturalONE profile.
NSCXR Cross-reference functions.
NSCXRIER Display individual logon error records.
NSCXRUSE Display users with logon error counters and unused user IDs.
NSCXRUTC Display utility functions allowed for a user.
SECNOTE Display security notes of user, library or special-link security profile.
NSCFI, NSCLI, NSCMA, NSCOB, NSCUS, NSCUT The display functions (function code DI - Display security profile) of these subprograms are considered to be retrieval functions.

The use of the subprograms for retrieval is controlled by the general option Free Access to Functions via APIs (described in the section Administrator Services).


NSCDA

The subprogram NSCDA is used to display the security profile of a library.

It is invoked as follows:

CALLNAT 'NSCDA' PAPPLID PPARM PRC PTYPE PPARM1 PPARM2 PPARM3 PTEXT(*) PNSC-MESSAGE

An example program PGMDA of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDA Display the security profile of an application or a private library.

NSCDA-C

The subprogram NSCDA-C is used to display the Command Restrictions part of a library security profile.

It is invoked as follows:

CALLNAT 'NSCDA-C' PAPPLID PRC PTYPE PPARM1 PNSC-MESSAGE

An example program PGMDA-C of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDA-C Display command restrictions in the security definition of a library or private library.

NSCDA-P

The subprogram NSCDA-P is used to display the Security Options, Security Limits and Session Parameters parts of a library security profile.

It is invoked as follows:

CALLNAT 'NSCDA-P' PAPPLID PRC PTYPE PPARM1 POPRBS(*) PNSC-MESSAGE

An example program PGMDA-P of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDA-P Display the security options, limits and session parameters in the security definition of an application or private library.

NSCDA-S

The subprogram NSCDA-S is used to display the Statement Restrictions part of a library security profile.

It is invoked as follows:

CALLNAT 'NSCDA-S' PAPPLID PRC PTYPE PPARM1 PNSC-MESSAGE

An example program PGMDA-S of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDA-S Display the statement restrictions in the security definition of an application or private library.

NSCDAU

The subprogram NSCDAU is used to display the security profile of a special link.

It is invoked as follows:

CALLNAT 'NSCDAU' PAPPLID PUSERID PRC PPARM1 PPARM2 PPARM3 PTEXT(*) PNSC-MESSAGE

An example program PGMDAU of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDAU Display the security profile of a special link.

NSCDAUC

The subprogram NSCDAUC is used to display the Command Restrictions part of a special-link security profile.

It is invoked as follows:

CALLNAT 'NSCDAUC' PAPPLID PUSERID PRC PPARM1 PNSC-MESSAGE

An example program PGMDAUC of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDAUC Display the security profile of a special link.

NSCDAUP

The subprogram NSCDAUP is used to display the Security Options, Security Limits and Session Parameters parts of a special-link security profile.

It is invoked as follows:

CALLNAT 'NSCDAUP' PAPPLID PUSERID PRC PPARM1 POPRBS(*) PNSC-MESSAGE

An example program PGMDAUP of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDAUP Display the security options, limits and session parameters in the security definition of a special link.

NSCDAUS

The subprogram NSCDAUS is used to display the Statement Restrictions part of a special-link security profile.

It is invoked as follows:

CALLNAT 'NSCDAUS' PAPPLID PUSERID PRC PPARM1 PNSC-MESSAGE

An example program PGMDAUS of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDAUS Display the statement restrictions in the security definition of a special link.

NSCDU

The subprogram NSCDU is used to display a user security profile.

It is invoked as follows:

CALLNAT 'NSCDU' PUSERID PPARM PRC PPARM1 PPARM2 PPARM3 PTEXT(*) PNSC-MESSAGE

An example program PGMDU of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMDU Display a user security profile.

NSCONE

The subprogram NSCONE is used to display a NaturalONE profile, that is, the Natural Server view and Eclipse Navigator view options and actions allowed/disallowed for a specific library and user.

It is invoked as follows:

CALLNAT 'NSCONE' PFUNCTION PUSER PGROUP PLIBRARY PFUSER(*) PRC PPARM PPARM1 PPARM2 PPARM3 PNSC-MESSAGE 

An example program PGMONE01 of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description Code
PGMONE01 Display a NaturalONE profile for a specific library ID and user ID. DI
Code Function
DI Display NaturalONE profile.

NSCXR

The subprogram NSCXR is used to perform cross-reference functions for security profiles from outside of library SYSSEC.

It is invoked as follows:

CALLNAT 'NSCXR' POBJ-TYPE POBJ-ID PLINK-ID PRC SUB-TYPE PPARM PPARM2(*) PNSC-MESSAGE

Example programs PGMXR001 - PGMXR021 of how to invoke this subprogram are provided in source form in the library SYSSEC. They include descriptions of the individual CALLNAT parameters.

Example Program Description Code
PGMXR001 List Natural Security objects in alphabetical order. DS, DD, FI, LI, MA, JB, ND, NV, OP, PR, RP, US, UT, VS, VT
PGMXR002 Get cross-reference data for a library. LI
PGMXR003 Get cross-reference data for users. US
PGMXR004 Get cross-reference data for files and link information. FI
PGMXR005 Get cross-reference data for mailboxes. MA
PGMXR006 List logon records. LR
PGMXR007 List logon error records. LE
PGMXR008 Get cross-reference data for steplibs. ST
PGMXR009 Get a list of users belonging to a batch user ID. US
PGMXR010 Get Xref data for a library ID - user ID (specific link). LI
PGMXR011 Get XRef data for a library. LI
PGMXR012 Get libraries and users where the NCP is defined. CP
PGMXR013 Get cross-reference data for Utility profiles. UT, LI, US
PGMXR014 Translate Natural Security object name to a Natural Security object ID. LI, US
PGMXR015 Find libraries on the current FNAT/FUSER system file which are not defined to Natural Security. SF
PGMXR016 Translate Natural Security 2-character object-type code to the corresponding Natural Security object type. Any 2-character object-type code.
PGMXR017 List for a specified object class: Natural Security object IDs or user IDs with access exceptions. DS, PR
PGMXR018 Get the Xref status of a specified module in a library for all user IDs who may have access to this library. Additionally, an option is provided to list the group members. LI
PGMXR019 Get cross-reference data for users. US
PGMXR020 Get Xref data for time differential and time zone defined in user profiles with type A, G, M, P. US
PGMXR021 Retrieve Natural Security library and Natural Security special link profiles with FDIC and FUSER assignments. LI

The first parameter (POBJ-TYPE) has to be filled with the code for the type of object for which a function is to be performed:

Code Object Type
US   User.
LI Library.
DD DDM (this object type is not available on z/OS).
FI File (this object type is only available on z/OS).
MA   Mailbox.
LE Logon error record.
LR Logon record.
ST Steplib.
UT Utility.
CP Command processor.
PE   Predict external object (this object type is only available if Predict is installed).
PF Predict function (this object type is only available if Predict is installed).
PL Predict 3GL library (this object type is only available if Predict is installed).
PO Predict documentation object (this object type is only available if Predict is installed).
SF System file.

For the individual object types listed above, the following functions can be performed by filling the parameter SUB-TYPE with one of the following function codes:

Function Available for Every Object Type:
Code Function
TR Translate the 2-character object-type code into the corresponding object type.
Functions Available for a User (US):
Code Function
* List all users.
A   List all users of type Administrator.
P   List all users of type Person.
M   List all users of type Member.
T   List all users of type Terminal.
G   List all users of type Group.
B   List all users of type Batch.
GR   List all groups the user belongs to.
GP   List all privileged groups the user belongs to.
GM   List all users contained in the group.
BU List all users in whose security profiles the batch user ID is specified.
NI  Retrieve the user ID belonging to a specified user name.
L* List all users and all libraries to which they are linked directly.
LA   List all libraries available to the user.
LL   List all libraries to which the user is linked.
LD   List all libraries to which the user is linked directly.
LG   List all libraries to which the user is linked by means of a group.
LP   List all libraries to which the user is linked by means of a privileged group.
OW   List all security profiles owned by the user.
DD List all DDMs available to the user (this function is not available on z/OS).
DL List all DDMs available to the user by means of a special link (this function is not available on z/OS).
FI List all files to which the user's private library is linked (this function is only available on z/OS).
UT List all utility profiles which apply to the user.
TD Retrieve the Time Differential and Time Zone settings of the user's security profile.
Functions Available for a Library (LI):
Code Function
*   List all libraries and users' private libraries.
L   List all libraries.
U   List all users' private libraries.
NI   Retrieve the library ID belonging to a specified library name.
DD   List all DDMs to which the library is linked (this function is not available on z/OS).
LD List all DDMs to which the library is linked by means of a special link (this function is not available on z/OS).
FI List all files to which the library is linked (this function is only available on z/OS).
NO List allowed/disallowed modules.
SM Retrieve information on users' access rights to a single module in the library.
US   List all users linked to the library.
UT List all utility profiles which apply to the library.
CP List all command processors for the library that have a specific status.
GL List all library security profiles in which an FDIC or FUSER specification is made.
GD List all library security profiles in which an FDIC specification is made.
GU List all library security profiles in which an FUSER specification is made.
Functions Available for a DDM (DD):
Code Function
*   List all defined DDMs (that is, DDMs for which security profiles exist).
UN List all undefined DDMs (that is, DDMs for which no security profiles exist).
DD List all defined and undefined DDMs.
P List all DDMs with external status PUBLIC.
A List all DDMs with external status ACCESS.
U List all DDMs with external status PRIVATE.
ND List all DDM security profiles for which no corresponding DDMs exist.
LI List all libraries which are linked to the DDM.
US List all users which are linked to the DDM.
SL List all DDM definitions in special-link security profiles.
X List all DDM definitions in library and special-link security profiles.
Functions Available for a File (FI):
Code Function
PU   List files of type PUBLIC.
AC   List files of type ACCESS.
UP   List files of type PRIVATE.
DD   List files with existing DDM.
ND   List files with no DDM.
UN   List undefined files.
LI   List libraries to which the specified file is linked.
US   List users whose private libraries are linked to the specified file.
Functions Available for a Mailbox (MA):
Code Function
LI   List all libraries to which the mailbox is assigned.
US   List all users to which the mailbox is assigned.
Functions Available for Logon Error Records (LE):
Code Function
P List logon error records, in order of TP user IDs.
T List logon error records, in order of terminal IDs.
Functions Available for Logon Records (LR):
Code Function
L List logon records, in order of library IDs.
U List logon records, in order of user IDs.
D List logon records, in order of logon date.
LX List logon records to undefined libraries (in order of library IDs).
UX List logon records of undefined users (in order of user IDs).
Functions Available for Steplibs (ST):
Code Function
*   List all steplibs.
LK   List protected steplibs.
NN List public steplibs.
SL   List special-linked steplibs.
Functions Available for Utilities (UT):
Code Function
LI   List all library-specific utility profiles defined for the utility.
US   List all user-specific utility profiles defined for the utility.
UT List all utility profiles defined for the utility.
blank List all utility profiles defined for all utilities.
Functions Available for Command Processors (CP):
For a command processor, NSCXR will list all libraries and users for the command processor (without any SUB-TYPE specification being required).
Functions Available for Predict Objects (PE, PF, PL, PO):
For each of the four Predict object types, NSCXR will list all objects of that type (without any SUB-TYPE specification being required).
Functions Available for System Files (SF):
Code Function
FN   List all libraries of the current FNAT system file which are not defined in Natural Security.
FU List all libraries of the current FUSER system file which are not defined in Natural Security.
Function Available for External Objects:
Code Function
LU List all users who are linked to the external object.

NSCXRIER

The subprogram NSCXRIER is used to display individual logon error records (similar to the Logon/Countersign Errors function Display individual error records).

It is invoked as follows:

CALLNAT 'NSCXRIER' POBJID PPARM PPARM1(*) PRC PNSC-MESSAGE

An example program PGMXRIER of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description
PGMXRIER List Natural Security error records.

NSCXRUSE

The subprogram NSCXRUSE is used in conjunction with the Lock User Option set to X to obtain a list of users whose logon error counters are greater than 0.

It is also is used in conjunction with the general option Record Each User's Logon Daily. When this option is active, NSCXRUSE can be used to display the IDs of users who have not logged on to Natural since a specified date.

NSCXRUSE is invoked as follows:

CALLNAT 'NSCXRUSE' POBJ-TYPE POBJ-ID PRC PSUBTYPE PPARM PPARM2(*) PNSC-MESSAGE

An example program PGMXRUSE of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

See also the subprogram NSC---SP.

Example Program Description Code
PGMXRUSE List Natural Security user profile in alphabetical order where a logon error count is greater 0. US

NSCXRUTC

The subprogram NSCXRUTC is used in to obtain a list of all utility functions which are allowed for a user.

It is invoked as follows:

CALLNAT 'NSCXRUTC' PFUNCTION PUTILITY-ID PUSER PNEXT-VALUE PPARM PPARM-D(*) PRC PNSC-MSG

An example program PGMXRUTC of how to invoke this subprogram is provided in source form in the library SYSSEC. It includes descriptions of the individual CALLNAT parameters.

Example Program Description Code
PGMXRUTC Get a list of all utility functions allowed for a user. DI

SECNOTE

The subprogram SECNOTE is used to display the Security Notes part of a security profile. It can be applied to a user, group, library or special-link security profile.

The object module of SECNOTE is stored in the library SYSTEM. The source code of SECNOTE is not available.

SECNOTE has to be invoked with the following parameters:

Parameter Explanation
PTYPE (A1)

With this parameter, you specify the type of object whose Security Notes are to be read. Valid values for PTYPE are:

  • U = User. The current content of the Natural system variable *USER determines which user's Security Notes will be read.

  • L = Library. The current content of the Natural system variable *APPLIC-ID determines which library's Security Notes will be read.

  • G = Group. The current content of the Natural system variable *GROUP determines which user's/group's Security Notes will be read.

  • S = Special Link. The current contents of the Natural system variables *GROUP and *APPLIC-ID determine which special link's Security Notes will be read.

PNOTES (A60/8) On return from SECNOTE, this parameter contains the Security Notes.
PRC (N4)

This parameter contains the return code from SECNOTE:

  • 0 = Security Notes have been read.

  • 860 = PTYPE contains an invalid code.

  • 806 = Library does not exist (is not defined to Natural Security).

  • 861 = User has no special link to library.

  • 873 = User does not exist (is not defined to Natural Security).

The above-mentioned system variables are described in the Natural System Variables documentation.