This document covers the following topics:
For more information on libraries, see SYSMAIN Utility in the Tools and Utilities documentation.
Libraries are used to store Natural objects such as programs, subprograms, subroutines, helproutines or text.
Some libraries are delivered with Natural, such as libraries beginning with the prefix
"SYS". The library SYSTEM, for example, contains
system-related programs, error messages and DDMs (data definition modules).
When you first logon to Natural, your default library will in most cases be
SYSTEM. Since this library generally contains system-related objects, you
will probably want to use a different library to store your programs. You can add your own
libraries to the Natural environment or use libraries set up for this purpose.
Note
You can alter your default library from SYSTEM to any other library by
specifying the Natural profile parameter INIT-LIB in the Configuration Utility.
A steplib is a Natural user library or system library that is concatenated with the current user or system library. This avoids redundant storage of identical objects and helps organize applications. In addition, if Natural Security is installed, a steplib can be used to restrict access to particular objects.
Natural searches in a steplib when an object is not found in the current library (see
Search Sequence for Object
Execution for further information). The standard steplibs are the
libraries SYSTEM in the FUSER and the FNAT system
files.
If Natural Security is active, you can define additional steplibs in the security profile of each library. The entries in a library security profile override any definitions made outside Natural Security.
If Natural Security is not active, you can specify additional steplibs in the Configuration Utility, with the profile
parameter STEPLIB.
In addition, you can define further steplibs by using one of the application programming
interfaces (for example, USR1025N or USR3025N) that are supplied
for this purpose in the Natural system library SYSEXT.
The additional steplibs are searched for an object before the standard steplibs
SYSTEM (FUSER and FNAT).
The currently active steplibs are shown when you enter the system command TECH.
This section describes the sequence in which Natural libraries and system files are searched for a requested object that is to be executed from either a user library or a system library.
Note
If the profile parameter BPSFI is set to "ON" (the
default setting is "OFF"), objects are searched for in the buffer pool
first. This is the proposed setting in a production environment.
The current library in the FUSER system file as defined by the system variable *LIBRARY-ID.
The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.
The default steplib as defined by the system variable
*STEPLIB.
The library
SYSTEM in the FUSER system file.
The library SYSTEM
in the FNAT system
file.
The current "SYS" library in the FNAT system file as defined by the
system variable *LIBRARY-ID.
The steplibs (in sequence) as specified in the Natural Security profile for the current library or in the steplib table.
The library SYSLIBS
in the FNAT system
file, which contains objects shared by system commands and utilities.
The library SYSTEM in the FNAT system
file.
The library SYSTEM in the FUSER system
file.
Since the FUSER system file is searched last, you
must provide an object that is used in both the FUSER and
the FNAT system files (for example, a user
exit routine for a Natural utility) only in one location, namely in
FUSER.
To log on to a library, select the menu and press ENTER. A window appears showing the command followed by a list of all existing libraries. For example:
+----------+ ¦ <LOGON> ¦ ¦ DEMO1 ¦ ¦ DEMO2 ¦ ¦ DEMO3 ¦ ¦ SAMPLES ¦ ¦ SYSEXPG ¦ ¦ SYSEXSYN ¦ ¦ SYSTEM ¦ +----------+ |
To create a new library, choose the command. A window is then displayed in which you enter the name of the library to be created. See also Library Naming Conventions.
To use an existing library, you can either choose the library from the list, or choose the command and then enter the name of the desired library. The contents of the library are then displayed. For example:
+------------------------------- List * * -------------------------------+ ¦ Cmd Name Type SM S/C User ID SRC Date GP Date ¦ ¦ --- -------- ----------- -- --- -------- -------------- -------------- ¦ ¦ <DIRECT COMMAND> ¦ ¦ ARRAYD Program S S SAGPC 07:45 02-02-07 ¦ ¦ ARRAYE Program S S/C SAGPC 07:45 02-02-07 09:25 02-02-07 ¦ ¦ BREAK1 Program S S/C SAGPC 07:45 02-02-07 09:25 02-02-07 ¦ |
| Field | Explanation | |
|---|---|---|
| Cmd | In this field, you can enter a function code. Enter "?" or press F2 to display the list of the available function codes for the selected object. The function codes are: | |
| C | Check the object's source code for syntax errors. | |
| D | Read the object's source code into work area. | |
| E |
Edit the object's source.
Note |
|
| L | List the object's source code. | |
| I | Display the directory information about the object. | |
| H | Print hardcopy of the object's source. | |
| R | Run (that is, compile and execute) the object's source. | |
| X | Execute the object. | |
| S | Stow the object in source and object form. | |
| U | Scratch (that is, delete) the object's source and object form. | |
| . | End. | |
| Name | Object name. | |
| Type | Object type. | |
| SM | Programming mode: | |
| S | Structured mode. | |
| R | Reporting mode. | |
| S/C | S | The object exists in source form. |
| C | The object exists in object (cataloged) form. | |
| User ID | The ID of the user who saved/cataloged the object. | |
| SRC Date | Source program date. The time and date when the object was last saved. | |
| GP Date | Generated program date. The time and date when the object was last cataloged. | |
Note
It is also possible to enter the system command LOGON library-name
in the Direct
Command window.